recherche de fonction de transformation
Salut TLM
Je recherche une fonction qui permet de transformer les valeurs d'un vecteur en x y z d'un system de coordonné à un autre.
une fonction qui aurai à peut pres cette tete :
vecteur = TFormVector(float x#, float y#, float z#,vecteur source_system, vecteur destination_system)
Cette fonction existe sous blitz3D mais je trouve pas l'equivalant en c++
http://www.blitzbasic.com/b3ddocs/command.php?name=TFormVector&ref=goto
ca va me permetre de resoudre mon problem sur un moteur physique Newton
Dans ce moteur il ya une fonction qui permet d'appliquer une force de rotation sur un objet en sur l'axe des x y z mais en system de coordonné global
Code:
1 2 3
|
float omega[3] = {0.3f, 0.0f, 0.0f};
NewtonBodySetOmega (boxBody , &omega); |
Dans cette exemple j'applique une force de rotation sur l'axe des X = 0.3 sur un objet boxBody par rapport au system global.
Mais j'aimerai le faire sur l'axe local de l'objet
la fonction TFormVector resoudrait le problem comme ca:
Code:
1 2 3 4
|
Vec = TFormVector(0.3f, 0.0f, 0.0f,vecteur_boxBody , vecteur_global)
float omega[3] = {Vec.x,Vec.y, Vex.z};
NewtonBodySetOmega (boxBody , &omega); |
http://abdelatifbk.free.fr/images_te...l%20global.JPG