bonjour,
voila le lien où je suis tombé sur une fonction inconnue,
c'est la fonction clamp .
http://jeux.developpez.com/faq/matqu...ransformations
Elle est utilisée dans un algo qui permet de retrouver les angles d'euler à partir d'une matrice de rotation.
L'algo est le suivant:
bon , c 'est pas trop parlant le code mais si qqn peut aller voir où est utilisée la méthode clamp dans le lien que j'ai donné plus haut et me dire à quoi sert cette fonction, ca serait cool,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 angle_y = D = -asin(mat[2]); /* Calcul de l'Angle Y */ C = cos(angle_y); angle_y *= RADIANS; if (fabs(C) > 0.005) /* Gimbal lock ? */ { trx = mat[10] / C; /* Non, donc calcul de l'angle X */ try = -mat[6] / C; angle_x = atan2(try, trx) * RADIANS; trx = mat[0] / C; /* Calcul de l'angle Z */ try = -mat[1] / C; angle_z = atan2(try, trx) * RADIANS; } else /* Gimbal lock */ { angle_x = 0; /* Angle X à 0 */ trx = mat[5]; /* Calcul de l'angle Z */ try = mat[4]; angle_z = atan2(try, trx) * RADIANS; } angle_x = clamp(angle_x, 0, 360); /* Modulo ;) */ angle_y = clamp(angle_y, 0, 360); angle_z = clamp(angle_z, 0, 360);
merci,
Xavier
Partager