2010-10-02 14 views
9

Pourquoi y a-t-il un terme W dans beaucoup de classes Vector API 3D (c'est-à-dire Vector4 (x, y, z, w))? Existe-t-il des opérations mathématiques qui nécessitent absolument le terme W?4 Eléments vectoriels (Maths 3D)

Répondre

19

Ceci est une représentation spéciale d'un point dans l'espace 3D, appelé coordonnées homogènes.

Ils sont juste une autre façon de décrire un point dans l'espace 3D. Ils sont beaucoup utilisés dans les graphiques 3D car ils ont quelques avantages: ils simplifient certaines formules, et permettent de représenter un "point à l'infini" (ou "ligne à l'infini" etc. selon la dimension).

Voir par exemple. cet article pour une explication:

http://andrewharvey4.wordpress.com/2008/09/29/xyzw-in-opengldirect3d-homogeneous-coordinates/

Wikipédia donne également un bon aperçu (avertissement, amusement mais sérieux mathématiques là-bas):

http://en.wikipedia.org/wiki/Homogeneous_coordinates

http://en.wikipedia.org/wiki/Projective_geometry

(géométrie projective est la théorie sous-jacente pour les coordonnées homogènes)

Bonus fait:

La raison pour laquelle les transformations d'objets de notre familier espace 3D sont en coordonnées homogènes en fait plus facile parce que, contrairement à l'intuition, la géométrie projective évite certains des cas particuliers que vous avez besoin en géométrie euclidienne. Pour plus de détails, voir les articles ci-dessus, ou tout livre de mathématiques décent sur la géométrie projective :-).