3D Vector oder 4D Vector?



  • Hi,

    ich habe bisher in meinen 3D Programmen IMMER 3D vectoren benutzt, also

    float X,Y,Z

    jetzt seh ich aber immer öfter ne W variable, also einen 4D Vector?

    Wofür ist dieses W da? Welchen wert hat W normalerweise (ich glaub 1 und die anderen 0)?

    Was kann man mit diesem W alles feines machen?

    Braucht man W überhaupt? 😕



  • google mal nach homogenen Koordinaten.



  • Darauf kann man ziemlich viel erzählen. Wenn man 4D-Vektoren nimmt arbeitet man i.d.R. im projektiven Raum. Du kannst ja mal nach projektive Geometrie googeln. Das ist allerdings schon höhere Mathematik. Die einfachere Vorteile sind:
    Wenn der 4D-Vetor latuet (x, y, z, w) (manche schreiben das w auch in die erste Komponente) lautet der entsprechende 3D-Vektor (x/w, y/w, z/w). Wenn Du hier z.B. w = 0 wählst, kannst Du Fernpunkte darstellen. Das wird manchmal so gemacht.
    Eine weitere nette Eigenschaft ist, wenn Du eine Drehung(und/oder Skalierung) und eine Verschiebung auf einen Punkt anwenden willst, sind das mit 3D-Vektoren eine Matrizenmultiplikation und eine Addition. Mit 4D-Koordinaten hast Du nur noch eine Matrizenmultiplikation.


Anmelden zum Antworten