Was Unity über Punkte im Vergleich zu Vektoren sagt, ist auf lange Sicht bedeutungslos, da Geometrie-APIs nur bestimmte Definitionen auswählen, um den Zugriff auf das Werkzeug zu erleichtern. Schauen Sie sich die Implementierungen der Klassen an, wenn Sie können. Weil es willkürlich ist, zu wissen, wie es definiert ist, ist die einzige Möglichkeit, das Konzept zu verstehen. Vollständige Offenlegung, ich habe keine Erfahrung mit Unity.
Ein Vektor ist ein Punkt in einem Vektorraum , indem das Konzept eines Punkts in der Geometrie durch Elemente der zugrunde liegenden Menge codiert wird. Ein Vektorraum hat einen definierten Vektor, der als Ursprung oder 0 bezeichnet wird . Die lineare Algebra ist ein Versuch, ein Fragment der euklidischen Geometrie mit einem Ursprung algebraisch zu codieren.
Der Pfeil und seine Länge
Bewegungen über einen Raum von Punkten werden häufig als alle Pfeile von den Quell- / Vorher-Punkten zu ihren Ziel- / Nachher-Punkten interpretiert .
Eine Funktion von zwei Argumenten kann auf ein Argument angewendet werden, um eine Funktion von einem Argument zu erzeugen - wir können von x + sprechen , der Funktion, die jeden Vektor y zum Vektor x + y führt . Dies ist die mit x verbundene Übersetzung . Die zugehörigen Pfeile verlaufen von Punkt y zu Punkt x + y . Siehe: Teilbewerbung , Currying .
Also warum verwenden wir nur den einen Pfeil ? Der Pfeil vom Ursprung zeigt auf einen bestimmten Vektor, das x in x + - der Ursprung ist die Identität der Vektoraddition. Wir können also die Übersetzung x + nur aus ihrem Wert x +0 = x wiederherstellen .
Als grafische Darstellung des Raums hat die Pfeildarstellung mit unserer Fähigkeit zu tun, den Effekt einer Übersetzung aus dem sie bestimmenden Wert visuell oder physikalisch zu extrapolieren. Wann haben wir diese Fähigkeit?
Um dem Vektorraum eine Norm zu geben, die ihn zu einem normierten Vektorraum macht, muss ein Begriff der Länge eines Vektors angegeben werden, der als Abstand von 0 sinnvoll ist starke Einschränkung, wie sich die Längen zweier Vektoren auf die ihrer Summe beziehen. Ausgehend von der Länge können wir die Entfernung definieren , um daraus einen metrischen Raum zu machen , und eine Geodätische ist ein Pfad, der an sich gerade ist und so kurz wie möglich ist. Die euklidische Norm induziert eine euklidische Distanz und die Geodäten sind die Liniensegmente der Pfeile, wenn Sie die Pfeile jedoch als Geodäten zeichnen unterschiedlichen Normenkönnen Sie den geometrischen Effekt der Übersetzung aus der Geodätik extrapolieren, um mehr über die Geometrie zu erfahren.
Die Bedeutung von Punkt und Vektor
In einigen Fällen ist beim Ausführen von Spielegeometrie der Punktebereich kein Vektorbereich . Ein affiner Raum der Dimension n kann in einen projektiven Raum der Dimension n eingebettet werden . Affine Maps reduzieren sich auf Projektivitäten. Projektivitäten lassen Sie auch FOV tun, w / c denke ich, ist nicht affin. Projektivitäten haben Vorteile:
Der projektive n- Raum über einem Feld kann aus dem linearen ( n + 1) -Raum (Vektorraum) konstruiert werden , indem die Punkte des projektiven Raums als Linien durch den Ursprung des linearen Raums behandelt werden. Ebenen durch den Ursprung geben wiederum projektive Linien. Das Multiplizieren von Vektoren mit einer festen Matrix ist eine lineare Abbildung . Dies ist der Zweck der Matrixmultiplikation. Lineare Karten behalten den Ursprung bei und sind mit der Inzidenz kompatibel. Insbesondere wenn f ein linearer Automorphismus ist ( entsprechend einer invertierbaren ( n + 1) x ( n + 1) Matrix) und zwei Linien L, M durch den Ursprung eine Ebene A überspannen , dannf L, f Msind Linien durch den Ursprung, die f A überspannen , so dass f auch den Einfall auf den projektiven Raum beibehält - eine invertierbare Matrix hat eine zugehörige Projektivität. Die Matrixmultiplikation codiert die Zusammensetzung der linearen Abbildungen und damit der Projektivitäten.
Wenn Sie den Ursprung aus dem linearen Raum entfernen, sind alle Punkte auf einer bestimmten Linie durch den Ursprung skalare Vielfache voneinander. Unter Ausnutzung dieser Tatsache wählt die Homogenisierung einen linearen Punkt für jeden Projektionspunkt und eine invertierbare Matrix für jede Projektionstransformation (wie in diesem 2D -> 2D affinen Karten als 3D -> 3D linearen Kartenvideo ) Art und Weise, dass die Vertreter unter Matrix-Matrix- und Matrix-Vektor-Produkten geschlossen sind und durch einzigartige projektive Dinge geben und gegeben sind. Diese Beschreibung der Konstruktion der projektiven Ebene aus der linearen Ebene verbindet einige Dinge miteinander.
In der Modellansicht-Projektionsmatrix-Pipeline verwenden wir Vektoren, um die Punkte unseres projektiven Raums darzustellen, aber der projektive Raum ist kein Vektorraum, und nicht alle Vektoren im Vektorraum, den wir verwenden, repräsentieren Punkte unserer Geometrie (siehe Bild der affinen Ebene rechts ). Wir verwenden Übersetzungsmatrizen anstelle von Vektorsummen, wenn wir Übersetzungen wünschen. Manchmal werden projektive oder affine Punktvektoren genannt, insbesondere wenn ein Setup in diesem Sinne verwendet wird.