Message #5792
Sujet: Faire avancer un node selon sa rotation
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 19-01-2009 10:52:21 | johnplayer |
Bien, sinon on peut faire comme ça aussi :
Le vecteur direction dépend seulement de Y donc on peut utiliser la trigonométrie, seulement il y a un problème. Il faut envisager 8 cas car cos et sin sont impaire et paire respectivement. Donc on se retrouve avec cos(x) = cos(-x) et sin(x) = -sin(-x). Donc les 8 cas sont : (en degree) Y=0 0>Y>90 Y=90 90>Y>180 Y=180 180>Y>270 Y=-270 270>Y>360 Cela nécessitera de "normaliser" les angles car l'angle de rotation peut etre egal à (n*360 + teta) avec n appartenant à l'ensemble N (entier naturel). Donc ensuite suffit de coder mais si quelqu'un a une méthode moins "barbare" qu'il fasse part de son idée. En fait, je viens de voir dans la doc qu'il y a : vector3d< T > rotationToDirection (const vector3d< T > &forwards=vector3d< T >(0, 0, 1)) const Builds a direction vector from (this) rotation vector. Donc faut voir. |
| Création du message | 19-01-2009 10:44:14 | johnplayer |
Bien, sinon on peut faire comme ça aussi :
Le vecteur direction dépend seulement de Y donc on peut utiliser la trigonométrie, seulement il y a un problème. Il faut envisager 8 cas car cos et sin sont impaire et paire respectivement. Donc on se retrouve avec cos(x) = cos(-x) et sin(x) = -sin(-x). Donc les 8 cas sont : (en degree) Y=0 0>Y>90 Y=90 90>Y>180 Y=180 180>Y>270 Y=-270 270>Y>360 Cela nécessitera de "normaliser" les angles car l'angle de rotation peut etre egal à (n*360 + teta) avec n appartenant à l'ensemble N (entier naturel). Donc ensuite suffit de coder mais si quelqu'un a une méthode moins "barbare" qu'il fasse part de son idée. En fait, je viens de voir dans la doc qu'il y a : vector3d< T > rotationToDirection (const vector3d< T > &forwards=vector3d< T >(0, 0, 1)) const Builds a direction vector from (this) rotation vector. Donc faut voir. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 142 invités en ligne membre en ligne: - RSS Feed |