Frage zu homogenen Koordinaten < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 06:34 Mi 23.01.2013 | Autor: | samMumm |
Hallo,
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Wir haben vor kurzen an der Uni das Thema projektive Geometrie angeschnitten. Da ich Informatik studiere und homogene Koordinatensysteme gerade in der 3d-Modellierung verwendet werden (wie meine Recherchen ergeben haben) und die Einführung leider recht kurz war, sind bei mir ein paar Fragen offen geblieben die ich gerne hier ins Forum stellen würde in der Hoffnung das sich jemand die Geduld und Zeit aufbringt meine Denkfehler (die mit sicherheit an der einen oder anderen Stelle vorliegen) korriegeren mag.
Da wir in den Übungsaufgaben nur den [mm] R^2 [/mm] betrachtet haben dachte ich mir formuliere ich auch die Fragen dafür und gehe einfach davon aus alles für den [mm] R^3 [/mm] analog folgt.
(1)
Die homogenen Koordinaten werden offenbarum einen Dimension erweitert. so das ein Vektor (x,y) zu (x,y,1) wird. Nun frage ich mich warum ausgerechnet 1? Meine Überlegungen sind 1 weil es das neutrale Element der Multiplikation sein ist, den jeder Vektor und sein vielfaches davon stellen den gleichen Punkt da.
(2)
In den homogenen Koordinaten werden Translationen ebenso wie bei "normalen" linearen Abbildungen mittels Matrizen durchgeführt. eine solche Matrix hat für den [mm] R^2 [/mm] den Aufbau:
[mm] \pmat{ A_n & ~ & 0\\ ~ & ~ & 0\\ 0 & 0 & 1}
[/mm]
[mm] A_n [/mm] gibt an wie z.B. ein Punkt verschoben werden soll. Aber ich werde ehrlich gesagt aus der letzten Spalte und der letzten Zeile nicht so ganz schlau. Wenn ich die Aufgabe richtig verstanden habe (und meine Überlegungen stimmen) kann ich die letzte Spalte dazu verwenden ein Gerade oder einen Punkt zu verschieben (z.B. in den Koordinatenursprung). Während die letzte Zeile dazu dient in irgendeiner Weise Einfluß auf die Perspektive zu nehmen, leider konnte ich bis jetzt noch nicht zu 100% klären ob das stimmt und wenn ja wie das von statten geht.
Was mich auch noch etwas verwirrt hier[1] steht das die letzte Zeile Transformationsmittelpunkt fest legt während die letzte Spalte die Perspektivprojektion verändert. Also quasi genau umgekehrt zu meinen Überlegungen. Was mich ehrlich gesagt ein klein bißchen verwirrt.
Ich gebe gerne zu das die Seite die ich oben verlinkt habe, vielleicht nicht gerade das ist was man als mathematisches Standardwerk bezeichnen würde. Aber da ich denke das man zu den technischen Anwendungen (wie auf der Seite) erst gehen sollte, wenn man die Grundlagen verstanden hat dachte ich mir wäre das ein guter Einstieg, da es beides versucht in Einklang zu bringen.
Ich würde mich freuen wenn sich jemand die Zeit nehmen würde um meine Fragen zu beantworten.
Viele Grüße
Dan
PS
Wenn ich in diesem Unterforum mit meiner Frage falsch bin, möchte ich mich entschuldigen und einen der Moderatoren bitte meinen Thread in das entsprechende Unterforum zu verschieben
[1] http://www.eleqtriq.com/de/2010/05/css-3d-matrix-transformations/
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:07 Fr 25.01.2013 | Autor: | felixf |
Moin!
> Wir haben vor kurzen an der Uni das Thema projektive
> Geometrie angeschnitten. Da ich Informatik studiere und
> homogene Koordinatensysteme gerade in der 3d-Modellierung
> verwendet werden (wie meine Recherchen ergeben haben)
Ja, werden sie. Sehr intensiv sogar.
> und die Einführung leider recht kurz war, sind bei mir ein
> paar Fragen offen geblieben die ich gerne hier ins Forum
> stellen würde in der Hoffnung das sich jemand die Geduld
> und Zeit aufbringt meine Denkfehler (die mit sicherheit an
> der einen oder anderen Stelle vorliegen) korriegeren mag.
> Da wir in den Übungsaufgaben nur den [mm]R^2[/mm] betrachtet haben
> dachte ich mir formuliere ich auch die Fragen dafür und
> gehe einfach davon aus alles für den [mm]R^3[/mm] analog folgt.
Ja, im dreidimensionalen geht's genauso.
> (1)
> Die homogenen Koordinaten werden offenbarum einen
> Dimension erweitert. so das ein Vektor (x,y) zu (x,y,1)
> wird. Nun frage ich mich warum ausgerechnet 1? Meine
> Überlegungen sind 1 weil es das neutrale Element der
> Multiplikation sein ist, den jeder Vektor und sein
> vielfaches davon stellen den gleichen Punkt da.
Nunja, die homogenen Koordinaten haben keine eindeutige Darstellung. Im Prinzip stellt jeder Vektor $(x, y, z)$ eine homogene Koordinate dar, solange nicht $x = y = z = 0$ ist. Zwei Vektoren $(x, y, z)$ und $(x', y', z')$ stellen dieselbe homogene Koordinate dar, wenn es ein Element [mm] $\lambda \in \IR$, $\lambda \neq [/mm] 0$ gibt mit [mm] $\lambda [/mm] x = x'$, [mm] $\lambda [/mm] y = y'$, [mm] $\lambda [/mm] z = z'$, wenn also die beiden Vektoren $(x, y, z)$ und $(x', y', z')$ auf der gleichen Ursprungsgerade im [mm] $\IR^3$ [/mm] liegen.
Da man lieber eine eindeutige Darstellung haben moechte, kann man folgendes machen: bei Vektoren $(x, y, z)$ mit $z [mm] \neq [/mm] 0$ betrachtet man $(x/z, y/z, z/z) = (x/z, y/z, 1)$, bei Vektoren $(x, y, z)$ mit $z = 0$ und $y [mm] \neq [/mm] 0$ betrachtet man $(x/y, y/y, z/y) = (x/y, 1, 0)$, und bei Vektoren $(x, y, z)$ mit $y = z = 0$ muss $x [mm] \neq [/mm] 0$ sein und man betrachtet $(x/x, y/x, z/x) = (1, 0, 0)$.
Die projektiven Koordinaten $(x, y, 1)$ kann man auch einfach mit den affinen Koordinaten $(x, y) [mm] \in \IR^2$ [/mm] identifizieren, da sie sich genauso verhalten.
Die projektiven Koordinaten der Form $(x, y, 0)$ (also entweder $(x, 1, 0)$ oder $(1, 0, 0)$, wenn man normiert) sind die sogenannten unendlichen Punkte. Die moechte man in der Computergrafik eigentlich gern vermeiden :) Sie sind allerdings der Grund, warum man sich ueberhaupt zuerst homogene Koordinaten angeschaut hat.
> (2)
> In den homogenen Koordinaten werden Translationen ebenso
> wie bei "normalen" linearen Abbildungen mittels Matrizen
> durchgeführt. eine solche Matrix hat für den [mm]R^2[/mm] den
> Aufbau:
> [mm]\pmat{ A_n & ~ & 0\\ ~ & ~ & 0\\ 0 & 0 & 1}[/mm]
Diese Matrix macht keine Verschiebung, sondern nur eine normale Transformation, die man im [mm] $\IR^2$ [/mm] auch ohne homogene Koordinaten machen kann.
Interessant wird es erst, wenn du manche der Nullen durch etwas [mm] $\neq [/mm] 0$ ersetzt. Dann bekommst du etwas, was im [mm] $\IR^2$ [/mm] nicht so einfach geht.
> [mm]A_n[/mm] gibt an wie z.B. ein Punkt verschoben werden soll. Aber
> ich werde ehrlich gesagt aus der letzten Spalte und der
> letzten Zeile nicht so ganz schlau. Wenn ich die Aufgabe
> richtig verstanden habe (und meine Überlegungen stimmen)
> kann ich die letzte Spalte dazu verwenden ein Gerade oder
> einen Punkt zu verschieben (z.B. in den
> Koordinatenursprung).
Ja.
Wenn du die Matrix $A = [mm] \pmat{ a & b & c \\ d & e & f \\ 0 & 0 & 1 }$ [/mm] hast und den Punkt $P = [mm] \pmat{ x \\ y \\ 1 }$, [/mm] dann ist $A [mm] \cdot [/mm] P = [mm] \pmat{ x' \\ y' \\ 1 }$ [/mm] mit [mm] $\pmat{x' \\ y'} [/mm] = [mm] \pmat{ a & b \\ d & e } \pmat{x \\ y} [/mm] + [mm] \pmat{c \\ f }$.
[/mm]
> Während die letzte Zeile dazu dient
> in irgendeiner Weise Einfluß auf die Perspektive zu
> nehmen, leider konnte ich bis jetzt noch nicht zu 100%
> klären ob das stimmt und wenn ja wie das von statten geht.
Wenn du einen Punkt $(x, y, 1)$ in homogenen Koordinaten transformierst und in der letzten Zeile nicht $0, 0, 1$ steht, hat das Ergebnis nicht die Form [mm] $(\ast, \ast, [/mm] 1)$, sondern sowas wie $(x', y', z')$ mit $z' [mm] \neq [/mm] 0$. Um jetzt wieder einen "normalen" affinen Punkt im [mm] $\IR^2$ [/mm] zu erhalten, musst du normalisieren: $(x', y', z')$ entspricht als projektiver Punkt gleich $(x'/z', y'/z', z'/z') = (x'/z', y'/z', 1)$.
Die untere Zeile der Matrix erlaubt dir also, Divisionen zu machen, was ja eigentlich mit Matrizen nicht geht.
> Was mich auch noch etwas verwirrt hier[1] steht das die
> letzte Zeile Transformationsmittelpunkt fest legt während
> die letzte Spalte die Perspektivprojektion verändert. Also
> quasi genau umgekehrt zu meinen Überlegungen. Was mich
> ehrlich gesagt ein klein bißchen verwirrt.
Nun, dort multiplizieren sie den Punkt $P$ von rechts mit der Matrix, also $P A$. Du (und ich oben auch) machen es umgekehrt: $A P$.
Wenn du die Reihenfolge wechselst, wechseln Spalten und Zeilen die Rolle. (Stichwort: transponierte Matrix.)
> PS
> Wenn ich in diesem Unterforum mit meiner Frage falsch bin,
> möchte ich mich entschuldigen und einen der Moderatoren
> bitte meinen Thread in das entsprechende Unterforum zu
> verschieben
So ganz passt es nicht, ich wuerde es eher unter projektiver Geometrie einordnen als Teilgebiet der Geometrie oder linearen Algebra. Da es ein solches Forum nicht gibt verschiebe ich den Thread gleich in's Geometrie-Forum :)
LG Felix
|
|
|
|