par abel » 19 Avr 2006, 11:07
- Déjà il faut que tu crées une base de ton plan pr trouver des coordonnées car il en existe une infinité, prends une base orthonormée directe : pour cela, prends un vecteur (nimporte lequel) orthogonal au vecteur normal (faire en sorte que leur produit scalaire soit nul) puis, norme le (c à d divise chq coordonée par sqrt(x²+y²+z²)), ensuite prends comme autre vecteur le produit vectoriel des 2 autres (le normal et le celui que tu viens de fabriquer). Ainsi on a une nouvelle base de l'espace (f1,f2,f3) (on notera e1,e2,e3 pr l'ancienne base). Avec f1, la normale au plan (il faut aussi normer f1). Ensuite il faut changer d'origine : il suffit de prendre le point A(a,b,c) qu'on t'a donné pr nouvelle origine.
- Pour projeter un point X(x,y,z) : il faut retrancher (a,b,c) à (x,y,z) (pr prendre en compte le décallage du au changement d'origine) puis mettre ses coordonnées dans la nouvelle base : X=P*X' (où P est la matrice de passage entre e et f (qui est une matrice de rotation), pr faire cette matrice il suffit d'écrire en collone les coordonnées des fi en fonction des ei) donc du coup X'=Q*X (où Q est l'inverse de P qui correspond à la matrice de passage entre les bases f et e qui est aussi la transposée de P).
Mainteant qu'on a les X', il suffit pr projeter de mettre 0 à la 1ere cordonnée de garder les autres coordonnées telle quelle. Maintenant on a les coordonées des projetés dans la nouvelle base. Pr se remettre dans la base de départ, il suffit de faire X=P*X' puis d'ajouter (a,b,c) aux coordonnées ainsi obtenues.
PS : je viens de voir ton dernier post : si tes points sont sur le plan, le travail est déjà fait, il sont leur propre projeté !!! dans ce cas il suffit de faire un changement de repere (celui que j'ai proposé convient)) : il suffira de renvoyer les 2 dernieres coordonnées car la 1ere sera nulle.