Outils pour utilisateurs

Outils du site


doc:images:3d

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:images:3d [2019/03/13 11:57] – Correction de la formule pour "Matrice de rotation pour mettre un point sur l'axe X" rootdoc:images:3d [2019/10/23 10:37] (Version actuelle) – mhtml -> html root
Ligne 16: Ligne 16:
 </code> </code>
  
-<note+Seconde solution : utiliser directement les quaternions. 
-Si on souhaite regrouper plusieurs matrices de rotation dans une seule, il faut : $R = R_2 * R_1 $ + 
-</note>+<code cpp> 
 +Eigen::Affine3f transform = Eigen::Affine3f::Identity(); 
 +Eigen::Quaternionf rotAxe; 
 +rotAxe.setFromTwoVectors(Eigen::Vector3f(rx, ry, rz), Eigen::Vector3f(1, 0, 0)); 
 +transform.prerotate(rotAxe); 
 +</code> 
 +===Matrice de rotation sur la base d'un vecteur unitaire=== 
 +$$R = 
 +\pmatrix{ 
 +—\mathbf u_1—\\ 
 +—\mathbf u_2—\\ 
 +—\mathbf u_3—} = 
 +\pmatrix{ 
 +{n_y\over\sqrt{n_x^2+n_y^2}}    & {-n_x\over\sqrt{n_x^2+n_y^2}}   & 0 \\ 
 +{n_xn_z\over\sqrt{n_x^2+n_y^2}} & {n_yn_z\over\sqrt{n_x^2+n_y^2}} & -\sqrt{n_x^2+n_y^2} \\ 
 +n_x                             & n_y                             & n_z}$$ 
 + 
 +[[https://math.stackexchange.com/questions/1956699/getting-a-transformation-matrix-from-a-normal-vector|Getting a transformation matrix from a normal vector]] {{ :doc:images:3d:matrices_-_getting_a_transformation_matrix_from_a_normal_vector_-_mathematics_stack_exchange_2019-10-23_10_36_29_.html |Archive le 06/10/2016 le 23/10/2019}} 
 + 
 +===Fusion de plusieurs matrices de rotation / translation=== 
 +Si on souhaite regrouper plusieurs matrices de rotation et de translation dans une seule, il faut : $R = R_3 * R_2 * R_1 $ 
 + 
doc/images/3d.1552474673.txt.gz · Dernière modification : 2019/03/13 11:57 de root