Ich lese ein Buch über 3D-Konzepte und OpenGL. Das Buch spricht immer über den Weltraum , den Augenraum und so weiter.
Was genau ist eine Welt auf dem Computerbildschirm?
Was ist der Weltraum?
Was ist Augenraum? Geht es auch um Projektion?
Ich lese ein Buch über 3D-Konzepte und OpenGL. Das Buch spricht immer über den Weltraum , den Augenraum und so weiter.
Was genau ist eine Welt auf dem Computerbildschirm?
Was ist der Weltraum?
Was ist Augenraum? Geht es auch um Projektion?
Antworten:
Bevor Sie verstehen, was die Welt oder der Augenraum ist, was ist ein Raum?
In einem abstrakten Sinne ist ein geometrischer Raum (zB der euklidische Raum) eine grenzenlose Ausdehnung, in der Objekte dazu neigen, zu existieren. Der Raum definiert grundlegende Eigenschaften, die in diesem Raum lebende Objekte erfüllen sollten. Beispielsweise ist im euklidischen Raum die Entfernung definiert als Sqrt( vector dot product with itself)
.
Die meisten Menschen neigen dazu, zwischen der Definition von Raum und Koordinatensystem zu mischen. Ein Raum als euklidischer Raum definiert die Eigenschaften, aber nicht das Koordinatensystem. Ich würde sagen, "Augenraum" heißt besser "Augenkoordinaten".
In der Computergrafik beschäftigen wir uns fast ausschließlich mit dem euklidischen Raum. Wenn Sie einen Vertex von (X, Y, Z) im euklidischen Raum definieren, hat dies für uns keine Bedeutung.
Eine greifbarere Definition wäre, sie relativ zu einem Koordinatensystem zu definieren. Zum Beispiel ist ein Scheitelpunkt (X, Y, Z) relativ zu den Augenkoordinaten. Also, wenn Vertex = (0,2,3) relativ zu den Augenkoordinaten. es bedeutet, dass dieser Eckpunkt ist:
- 0 in X-Richtung von der X-Position des Auges.
- 2 in Y-Richtung von der Y-Position des Auges.
- 3 in Z-Richtung von der Augen-Z-Position.
- Der Scheitelpunktabstand zum Auge beträgt sqrt (0 ^ 2 + 2 ^ 2 + 3 ^ 2) = sqrt (13).
Aber was sind Augenkoordinaten und wie definieren wir ein Koordinatensystem?
Wir definieren ein Koordinatensystem, indem wir drei orthogonale Basisvektoren (gelesen: Einheitslänge und Senkrechte), die der Orientierung ähneln, und eine Position (Translation) bereitstellen .
Wenn also die Kamera in openGL definiert wurde (beachten Sie, dass dies relativ zu den Weltkoordinaten ist):
- Position (0,3,10)
- Up (0,1,0)
- Forward (0,0,-1)
- Right (1,0,0)
Dies bedeutet, dass sich der Betrachter in einem Abstand von (0,3,10) von der Welt (0,0,0) befindet und sein Recht auf die X-Achse der Welt ausgerichtet ist und sein Vorwärtslauf auf die Z-Achse der Welt und sein Aufwärtslauf ausgerichtet sind zur Welt Y.
Aber Sie haben zu viel über die Augenkoordinaten gesprochen. Was sind die Weltkoordinaten?
Weltkoordinaten sind nur ein festes übergeordnetes Koordinatensystem. Die Augenkoordinaten selbst sollten relativ zu etwas sein. Dies ist das globale Koordinatensystem, zu dem alles relativ definiert ist.
Die Weltkoordinate hat ein festes i = (1,0,0) in X-Richtung, j = (0,1,0) in Y-Richtung, k = (0,0,1) in Z-Richtung. Dies sind die Vektoren, die das kartesische Koordinatensystem definieren .
Das ergibt aber keinen Sinn! Zu welchen Koordinaten ist die Weltkoordinate relativ definiert?
Ich würde sagen, es ist relativ zu sich selbst, in Wirklichkeit wäre es das Zentrum des Universums (aber das ist zu simpel).
Aber im praktischen Sinne würde ich sagen, dass es in der Computergrafik praktisch ist, den Weltraum als das Zentrum des Universums (Spielwelt) zu definieren, damit wir uns vorstellen können, wie sich die Dinge zueinander verhalten können.