www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenLineare Algebra - Moduln und VektorräumeVerschieben in Kugelkoordinate
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Lineare Algebra - Moduln und Vektorräume" - Verschieben in Kugelkoordinate
Verschieben in Kugelkoordinate < Moduln/Vektorraum < Lineare Algebra < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra - Moduln und Vektorräume"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Verschieben in Kugelkoordinate: Idee
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 11:43 Mi 10.02.2010
Autor: ommi

ich habe gerade einen extremen durchhänger und hoffe mir kann hier jemand wieder auf die sprünge helfen.

für mein 3D-informatikprojekt möchte ich ein objekt um einen bestimmten winkel um die kamera "drehen", d.h. der winkel zur kamera soll sich um beispielsweise 5 grad vergrößern, allerdings soll sich das objekt nur auf der x-achse bewegen, wenn ich das objekt nur drehe verändern sich ja u.U. auch die Y- und Z-Koordinaten.
meine begabung in linearer algebra ist nur sehr beschränkt, es wäre schön, wenn mir jemand bei der entwicklung eines geeigneten algorithmus zur "drehung" bzw. verschiebung unter die arme greifen könnte.
ich arbeite derzeit mit kugelkoordinaten, eine umsetzung in kartesischen koordinaten wäre aber auch kein problem, wünschenswert ist natürlich immer der weg mit dem geringsten rechenaufwand für das programm.

danke schon im voraus


Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Verschieben in Kugelkoordinate: Antwort
Status: (Antwort) fertig Status 
Datum: 12:01 Mi 10.02.2010
Autor: leduart

Hallo
Du beschreibst dein Projekt zu ungenau.
Wo in deinem System sitzt die Kamera?
Um die Kamera drehen ist keine Beschreibung, man kann nicht um einen Punkt drehen, nur un ne Achse.
Du sagst, das objekt muss auf der x- Achse bleiben, rechnest aber in Kugelkoordinaten? usw.
Bitte mach dein Problem etwa klarer, evt. mit nem Beispiel.
Gruss leduart

Bezug
                
Bezug
Verschieben in Kugelkoordinate: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:35 Mi 10.02.2010
Autor: ommi

tut mir leid, wenn meine beschreibung zu ungenau war.

zu deinen 3 punkten/fragen:

- die kamera ist an einem vordefinierten punkt fixiert (um genau zu sein in kartesischen koordinaten (0, 200, 200)) und visiert das objekt zu anfang genau an, dieses sitzt zu beginn im ursprung (0,0,0).

- es geht mir darum, dass das objekt bei einem "schritt" nach rechts/links eine bestimmte entfernung auf dem bildschirm (also aus sicht der kamera) zurücklegt, später soll die kamera dann auch weiter weg oder näher ran bewegt werden, aber z.b. 30 "schritte" sollen immer bedeuten, dass das objekt ganz am rand des bildschirms erscheint, egal wie weit die kamera weg ist
das objekt zu "drehen" war sicher der falsche ausdruck, ich hoffe jetzt ist das problem etwas besser zu verstehen, ich weiß auch nicht genau wie ich es anders beschreiben soll, ohne es vorzuführen

-das objekt soll logischerweise in kartesischen koordinaten auf der x-achse bleiben

danke für die schnelle reaktion

Bezug
                        
Bezug
Verschieben in Kugelkoordinate: Antwort
Status: (Antwort) fertig Status 
Datum: 15:27 Mi 10.02.2010
Autor: leduart

Hallo
ich weiss nicht, ob ich dein Problem richtig verstanden habe.
Was ich verstanden habe, hab ich mal 2d aufgemalt.
die Kameraöffnung ist bei A, der Aufnahmeebene BC
(0,0) hat sein Bild in der Mitte, (0,4,5) am Rand, also wären das für dich 30 Schritte.
Dann hab ich das Bild bei 10 Schritten am Punkt F. entsprechen kannst du für einen Schritt vorgehen.
alle Winkel und Grössen und Beziehungen sollte man dann in dem Bild ablesen könne,
Kannst du daran dein Problem schildern?
oder hab ich was völlig falsch verstanden?

[Dateianhang nicht öffentlich]

Gruss leduart


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                                
Bezug
Verschieben in Kugelkoordinate: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:44 Mi 10.02.2010
Autor: ommi

deine zeichnung ist schon sehr gut, sie zeigt, dass wir uns doch nicht komplett missverstanden haben
leider trifft diese zeichnung nur auf den von mir beschriebenen spezialfall zu, ich dachte, dass ich es damit leicht verallgemeinern kann

ich habe heute leider keine zeit mehr, morgen mache ich ein paar bilder fertig, um das problem anschaulicher zu machen und hoffe, dass ich hier dann auch noch hilfe finde

danke für die mühe bis hierhin

Bezug
                                        
Bezug
Verschieben in Kugelkoordinate: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 09:48 Do 11.02.2010
Autor: ommi

ich habe mal ein paar screenshots von einer testszene gemacht um mein problem besser zu verdeutlichen.

[Dateianhang nicht öffentlich]

das ist die ausgangsstellung, das objekt (das wir hier vereinfacht mal als ebene betrachten) ist im ursprung des koordinatensystems und liegt in der x-z-ebene, die kamera ist im punkt (0, 200, 200) und ist direkt auf den ursprung gerichtet. die sichtbare normale des objekts ist die positive y-achse des systems, die x-achse verläuft aus dieser sicht von links nach rechts, und die positive z-richtung verläuft in richtung der kamera.
der bildschirm hat eine auflösung von 640*480.

[Dateianhang nicht öffentlich]

[Dateianhang nicht öffentlich]

hier ist der mittelpunkt des objekts am oberen bzw. am rechten rand.
der neigungswinkel und die position der kamera bleiben während der ganzen zeit unverändert. das objekt soll in der x-z-ebene beweglich sein, allerdings nicht in y-richtung. die bewegung erfolgt in "schritten", bei einem schritt in x-richtung soll das objekt auf dem bildschirm genau 1 pixel nach rechts (bzw. links) zurücklegen, d.h. von der ausgangsstellung aus braucht das objekt genau 320 schritte um an den rechten rand des bildschirms zu gelangen (bild 3), in z-richtung bräuchte es 240 schritte um den oberen rand zu erreichen (bild 2).

gesucht ist jetzt ein algorithmus der das objekt an jeder beliebigen position im sichtfeld der kamera um genau 1 pixel auf dem bildschirm zurücklegt. der sichtbereich (field of view) der kamera sei bekannt.

ich hoffe diesmal ist mein problem verständlicher und anschaulicher

Dateianhänge:
Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
Anhang Nr. 2 (Typ: JPG) [nicht öffentlich]
Anhang Nr. 3 (Typ: JPG) [nicht öffentlich]
Bezug
                                                
Bezug
Verschieben in Kugelkoordinate: Antwort
Status: (Antwort) fertig Status 
Datum: 00:46 Fr 12.02.2010
Autor: felixf

Moin!

Also, ich fasse das mal zusammen. Du hast einen Punkt $P$ im Raum auf der x-z-Ebene, der in Bildschirmkoordiaten die Position $(x', y')$ (bzw. $(x', y', 1)$ in homogenen Koordinaten) hat. Jetzt willst du wissen, welcher Punkt $P'$ in der x-z-Ebene die Position $(x' + a, y' + b)$ in Bildschirmkoordinaten hat. Richtig?

Fuer den Uebergang von Weltkoordinaten $(x, y, z, 1)$ (ich nehme mal an, du verwendest homogene Koordinaten) in Bildschirmkoordinaten $(x', y', w')$ (welches dem Punkt $(x'/w', y'/w')$ entspricht) hast du doch eine Matrix $A$ der Groesse $4 [mm] \times [/mm] 3$ (oder $4 [mm] \times [/mm] 4$, wenn du Bildschirmkoordiaten der Form $(x', y', 0, w')$ hast) mit $A [mm] \vektor{ x \\ y \\ z \\ 1 } [/mm] = [mm] \vektor{ x' \\ y' \\ w' }$. [/mm]

Jetzt willst du irgendwelche Bildschirmkoordinaten $(x', y', 1)$ vorgeben und wissen, welcher Punkt $(x t, 0, z t, t)$ (dies entspricht dem Punkt $(x, 0, z, 1)$) der x-z-Ebene darauf abgebildet wird.

Dazu schreibst du das Gleichungssystem $A [mm] \vektor{ X \\ 0 \\ Y \\ T } [/mm] = [mm] \vektor{ x' \\ y' \\ 1 }$ [/mm] hin mit den Unbestimmten $X, Y, T$, und loest es, etwa mit []Gauss-Elimination oder etwas numerisch leicht besseren. Die Loesungen werden wohl einen eindimensionalen Vektorraum bilden, nimm dir einfach ein Element [mm] $\neq [/mm] 0$ raus (also einen Basisvektor); dieser erfuellt dann $T [mm] \neq [/mm] 0$, womit du $x = [mm] \frac{X}{T}$, [/mm] $z = [mm] \frac{Z}{T}$ [/mm] waehlen kannst und dann den Punkt $(x, 0, z, 1)$ in der x-z-Ebene hast.

Das ist dein gesuchter Punkt.

Ich hoffe das hilft dir weiter...

LG Felix



Bezug
                                                        
Bezug
Verschieben in Kugelkoordinate: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:09 Fr 12.02.2010
Autor: ommi

super! das hilft mir sicher weiter
da hätte ich eigentlich auch selbst draufkommen können (müssen), aber ich habe mich wohl zu sehr auf eine geometrische lösung konzentriert

vielen dank für die ausführliche antwort

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra - Moduln und Vektorräume"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]