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 1441 sujets 11339 messages | Dernier membre inscrit: Saidov17 79 invités en ligne membre en ligne: - RSS Feed |