Bonjour à tous,
Alors voila, je suis sur l'intersection 3D d'un cylindre avec un rayon(P + tD). Le problème étant que tous les calculs proposés supposent généralement avec l'origine du cylindre en (0,0,0) et l'axe du cylindre confondu avec un axe du repère global.
En regardant un peu sur le net et sur la FAQ des matrices, il faudrait faire un changement de base pour passer du repere global au repere local, faire le calcul simplifier et ramener le résultat dans le repere global.
Pour les notations, on pose 0(0,0,0),i(1,0,0),j(0,1,0),k(0,0,1) pour le repère global,
O'(Ox,Oy,Oz),i'(Ix,Iy,Iz),j'(Jx,Jy,Jz),k'(Kx,Ky,Kz) les coordonnées du repère local dans la base globale.
De ce que j'ai compris, il faudrait passer par les coordonnées homogènes donc une matrice 4x4 et la où j'ai un sérieux doute, c'est sur la forme de la matrice. Je crois que la matrice de passage(M) serait de cette forme :
[Ix Jx Kx Ox]
[Iy Jy Ky Oy]
[Iz Jz Kz Oz]
[0 0 0 1 ]
Le point d'origine du rayon serait alors :
P' = [Ix Jx Kx Ox] x [Px]
[Iy Jy Ky Oy] [Py]
[Iz Jz Kz Oz] [Pz]
[0 0 0 1 ] [1]
De même avec le vecteur direction et avec ces nouvelles informations, on fait le calcul habituel.
Puis pour repasser le résultat dans le repère global, il "suffirait" de multiplier le résultat par la matrice inverse de passage?
J'ai de sérieux doutes car dans pas mal de tuto on voit qu'il faudrait faire un série de transformations pour le changement de repère alors que dans le cas présent je fournis les coordonnées du nouveau repère au lieu des angles de rotation pour passer au nouveau repère.
Question subsidiaire pour la matrice de passage inverse : il faut appliquer l'inversion matricielle usuelle ou il y a une forme prédéterminée? J'en ai bien vu une ici (http://fr.wikipedia.org/wiki/Coordon...homog%C3%A8nes) mais il parlent de sous matrices de rotation la où j'ai des vecteurs du nouveau repère.
Voila, si quelqu'un pourrait confirmer (ou pas ) cette approche!
D'avance merci
Partager