Warum ist 4×4 Matrizen benutzt, um Dinge in 3D zu verwandeln?
Grund für die Verwendung von 4×4 Matrizen in 3D Aktivitäten Trans
Beispielsweise, Rotation wird in der Regel eine Matrix durchgeführt unter Verwendung von, so, um mit mehreren Transformationen umgehen (Rotation / Translation / Skalierung / Projektion…usw) in einer einheitlichen Art und Weise, Sie müssen sie in einer Matrix kodieren.
Gut, mehr technisch gesehen; eine Transformation Zuordnen einen Punkt / Vektor zu einem anderen Punkt / Vektor.
p` = T(p);
wo P` wird der transformierte Punkt T und(p) Funktion ist die Transformation.
Da wir nicht über eine Matrix verwenden wir müssen dies tun, mehrere Transformationen zu kombinieren:
p1 = T(p);
pFinale = M.(p1);
Nicht nur kann eine Matrix mehrere Arten von Transformationen zu einer einzigen Matrix kombinieren (z.B.. affine, linear, projektive).
eine Matrix gibt uns die Möglichkeit Ketten von Transformationen zu kombinieren und dann Batch multiplizieren sie. Das spart uns eine Menge von Zyklen in der Regel von der GPU (dank @ChristianRau für den Hinweis it out).
TFinale = T. * R * P; // ÜbersetzendrehenProjekt
pFinale = T.Finale*p;
Es ist auch gut, darauf hinzuweisen, dass GPUs und sogar einige CPUs für Vektoroperationen optimiert werden; SIMD CPUs und GPUs sind datengesteuerte Parallelprozessoren von Design mit, so Matrizen passt perfekt mit Hardware-Beschleunigung (tatsächlich, GPUs wurden fit Matrix / Vektor-Operationen entworfen).
KREDIT:
https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-Matrizen-to-Transform-Dinge-in-3D?answertab = aktiv # tab-top
Lassen Sie eine Antwort
Sie müssen Anmeldung oder registrieren um eine neue Antwort hinzuzufügen.