glRotate(angle,x,y,z), qu'est-ce que x,y,z dans ce cas?
J'ai lu la documentation ici: http://www.opengl.org/sdk/docs/man2/xhtml/glRotate.xml
Il spécifie que l'angle est en degrés. Il est dit que X,Y,Z sont des vecteurs. Si je dis glRotate(2,1,0,0) qui dit que je vais tourner de 2 degrés autour de l'axe X.
Ce qui se passe si je dis glRotate(2,0.5,0,0) et glRotate(2,0.0174524,0,0)
Je ne comprends pas ce qui se passe réellement dans cette situation, quelqu'un peut-il aider à m'expliquer?
Fait tourner comme un pourcentage de l'angle?
OriginalL'auteur Joseph Astrahan | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Il va encore tourner 2 degrés autour de l'axe X. Cette page vous lié également dit ce qui suit:
Sens du vecteur (x,y,z) est un vecteur unitaire (de longueur 1), et si elle ne l'est pas, GL normalise le vecteur (en la divisant par sa longueur, le rendant de longueur 1).
Conclusion: x,y et z des paramètres définissent un vecteur dont la direction est la seule partie, la longueur sera traitée par la fonction. Ainsi, vous pouvez en toute sécurité à mettre dans un vecteur et il va tout simplement tourner sur ce vecteur.
||(x,y,z)||=1
, mais, apparemment, votre navigateur n'est pas MathML-capable.OriginalL'auteur Invalid
Cela ne veut pas dire que
x
,y
etz
sont des vecteurs. Si vous ouvrez la page avec MathML navigateur capable, vous verrez quelque chose commeI. e.
x
,y
,z
sont les composantes d'un vecteur unique. De même, il ne dit pas "x y z = 1 (si pas, le GL se normalise ce vecteur)": au lieu de cela, il dit:Donc,
(x,y,z)
est le vecteur rotation autour de laquelle la fonction produit. Si le vecteur d'approvisionnement n'est pas normalisée, le GL reviendra à la normale, de sorteglRotate(2,0.5,0,0)
etglRotate(2,0.0174524,0,0)
sont équivalentes.OriginalL'auteur Ruslan