2011-01-26 6 views
0

Comment modifier/faire pivoter un angle d'axe entre des coordonnées mondiales et des coordonnées d'objet?Axe du monde à l'axe local

Voir ci-dessous:

void RotateMatrix4(float *m, float angle, float *axis); 
//This function rotates a matrix in object space 

void RotateLocal(float angle, float *axis) { 
    RotateMatrix4(m, angle, axis) 
} 

void RotateGlobal(float angle, float *axis) { 
    //Do something to axis here 
    RotateMatrix4(m, angle, axis) 
} 

Répondre

1

Vous trouvé la réponse vous-même - qui est simplement une multiplication entre une matrice de tranformation et un vecteur - vous transformez simplement le vecteur d'axe dans coords objet.

Voir Transformation Matrix pour plus d'informations sur les matrices de transformation.

(Je commenterais votre réponse - mais mon rang n'est pas encore assez élevé ...)

Questions connexes