-
1 pièce(s) jointe(s)
Les axes en openGL
Bonjour,
Je suis novice en OpenGL, juste une question simple, est-ce la manière de me représenter les trois axes sur un graphique en 3d comme ci-dessous est correcte et correspond bien au système américain utilisé par OpenGL ?
Pièce jointe 255582
Merci pour votre aide.
-
salut je connais plutôt Direct 3d que Open GL mais je pense que les systèmes sont très similaires
Pour ce qui est de la représentation et normalisation selon les axes x,y,z, il n' y pas de système américain mais plutôt de système main gauche ( D3d) et main droite (Open GL) ;regarder cette discussion
Chercher dans Google coordinate systems Open GL
-
Il m'a été dit que je pouvais me baser en fait là-dessus :
https://learnopengl.com/img/getting-...ght_handed.png
-
Ce n'est pas un "système américain", c'est juste un système right handed, c'est à dire que tu définis, sur ta main droite, l'axe X comme ton pouce, l'axe Y comme ton index, et l'axe Z comme ton majeur.
A partir de là, tu verras que ça correspond effectivement à ce que tu as sur ton image.
Par contre, cette limitation n'est vraie que si tu utilises les fonctions matricielles du pipeline fixe.
En effet le pipeline programmable te permet, en tant que développeur, de choisir le système de coordonnées que tu veux, qui est déterminé par la matrice de projection et l'ordre de multiplication des matrices.
-
D'accord, par contre je ne vois aucun rapport avec la main droite et le fait que le Z soit le majeur et non l'indexe ou avec le fait que le z soit la lettre qui correspond à l'axe qui pointe vers le sud plutôt que la lettre x.
-
Ce sont des maths, une aide pour la définition de produit vectoriel.
En fait tu utilises le pouce et l'index pour définir 2 vecteurs, et le troisième vecteur est défini par le majeur (ça te donne la direction vers laquelle ce 3ème vecteur pointe).
Ce qui, appliqué à un repère orthonormé, te donne X pour le pouce, Y pour l'index, et Z pour le majeur.
Mais tu pourrais tout aussi bien défini X pour l'index, Y pour le majeur et l'axe Z sera alors défini par le pouce, le principal est de garder l'ordre.
-
Est-ce que c'est via gluLookAt que l'on passe du système main gauche à main droite et vice-versa ? Comment passer de l'un à l'autre ?
-
En utilisant l'antique pipeline fixe d'OpenGL (déprécié depuis environ 11 ans), on ne passe pas d'un système main gauche à un système main droite.
Il n'y a que le système main droite, pour ce pipeline fixe.