En gros tu veux un cercle de centre B qui soit sur le plan tangent à la grande sphère au point B, c'est bien ça ? Si c'est ça alors c'est exactement ce que j'ai dis : Tu prends l'équation de la petite sphère de centre B et de rayon R (que tu n'as jamais précisé) et l'équation du plan, et l'équation de ton cercle en est l'intersection (le fait de passer par une petite sphère, je fais ça pour simplifier car je ne connais pas l'équation d'un cercle dans l'espace, je suis même pas sûr qu'il y ait une équation cartésienne pour ça d'ailleurs, à check).
Pour dire ça autrement, ton cercle c'est l'ensemble des points qui satisfont à la fois l'équation du plan et celle de la petite sphère de rayon R. Encore autrement dit, tu poses equationDePetiteSphere = equationDePlanTangentEnB, tu simplifies le système et tu obtiens l'équation de ton cercle.
Maintenant, si tu veux que ta sphère tourne, la seule chose qui change c'est ton point B (et donc ton vecteur AB). Du coup, dynamiquement, tu remplaces ça dans les formules et c'est gagné.
Tu as comme équations :
La grande sphère " S " : (x-a)² + (y-b)² + (z-c)²-R² = 0 avec (a,b,c) son centre, et R son rayon (celui de la grande sphère, donc).
Le plan tangent à la sphère en B " Pi " : ax + by + cz + d = 0 avec (a,b,c) les composantes du vecteur AB, et d qui en est déduit sachant que Pi passe par B (et gaffe, a b et c ne SONT PAS LES MEMES que dans l'équation de " S " !!! Flemme de changer les lettres)
La petite sphère " s " : (x-a)² + (y-b)² + (z-c)²-R² = 0 avec (a,b,c) les coordonnées du point B, et avec R le rayon du cercle que tu cherches
Tu poses s = Pi et tu résous, ça te donnera l'équation de " c ", ton cercle. J'vais pas trop te mâcher le travail, je te laisse le soin de le faire.
Maintenant j'ai toujours pas compris ton histoire de rotation, mais d'une manière générale, tu as A le centre de la grande sphère, B un point sur la grande sphère. Admettons que tu trouves un point B' sur cette sphère, par rotation, eh bien pour trouver l'angle entre B et B' par rapport à A, tu prends les vecteur AB et AB', et grâce au produit scalaire tu en trouves l'angle.
alpha = Arccos((AB*AB')/(||AB||*||AB'||))
Dernière modification par Sergul ; 29/05/2013 à 17h53.
|