Systèmes de coordonnées

En règle générale, les applications graphiques 3D utilisent l’un des deux types de systèmes de coordonnées cartésiens : gaucher ou droitier. Dans les deux systèmes de coordonnées, l’axe x positif pointe vers la droite et l’axe y positif pointe vers le haut.

Coordonnées gauche et droite

Vous pouvez vous souvenir de la direction des points positifs de l’axe z en pointant les doigts de votre main gauche ou droite dans la direction X positive et en les enroulant dans la direction y positive. La direction que pointe votre pouce vers vous ou loin de vous est la direction que l’axe z positif pointe pour ce système de coordonnées. L’illustration suivante montre ces deux systèmes de coordonnées.

illustration des systèmes de coordonnées cartésiens gaucher et droitier

Direct3D utilise un système de coordonnées gaucher. Bien que les coordonnées gaucher et droite soient les systèmes les plus courants, il existe divers autres systèmes de coordonnées utilisés dans les logiciels 3D. Par exemple, il n’est pas rare que les applications de modélisation 3D utilisent un système de coordonnées dans lequel l’axe y pointe vers ou loin de la visionneuse, et l’axe z pointe vers le haut.

Sommets et vecteurs

Étant donné le système de coordonnées, une coordonnée x, y et z peut définir un point dans l’espace (un « vertex ») ou une direction 3D (un « vecteur »).

Une collection de sommets peut être utilisée pour définir des lignes et des formes. Les objets les plus simples définissables par des sommets sont appelés Primitives, et un objet plus complexe défini par un ensemble de primitives est appelé « maillage ».

Les opérations essentielles effectuées sur les maillages définis dans un système de coordonnées 3D sont la traduction, la rotation et la mise à l’échelle. Vous pouvez combiner ces transformations de base pour créer une matrice de transformation. Pour plus d’informations, consultez Transformations.

Lorsque vous combinez ces opérations, les résultats ne sont pas commutatifs ; l’ordre dans lequel vous multipliez les matrices est important.

Portage à partir d’un système de coordonnées droitier

Si vous portez une application basée sur un système de coordonnées droitier, vous devez apporter deux modifications aux données transmises à Direct3D :

  • Retournez l’ordre des sommets triangles afin que le système les traverse dans le sens des aiguilles d’une montre à partir de l’avant. En d’autres termes, si les sommets sont v0, v1, v2, passez-les à Direct3D en tant que v0, v2, v1.
  • Utilisez la matrice d’affichage pour mettre à l’échelle de l’espace mondial de -1 dans le sens z. Pour ce faire, retournez le signe du membre _31, _32, _33 et _34 de la structure matricielle que vous utilisez pour votre matrice d’affichage.

Systèmes de coordonnées et géométrie