Bonjour,
J'aimerais bien savoir comment retrouver les paramètres ab c du plan qui passe par 3 points de coordonnées connues xA yA ZA, xB yB zB et xC yC zC.
J'ai un peu recherché sur le net et j'ai eu cette réponse :
L'équation générale d'un plan est ax + by + cz + d = 0
Si le plan passe par 3 points A, B et C alors si M appartient à ce plan le vecteur AM doit être une combinaison linéaire des vecteurs AB et AC. Ce qui entraine (AB ^ AC) . AM = 0 autrement écrit : (AB, AC, AM) = 0 (produit mixte).
N.B. le produit mixte de 3 vecteurs est le volume du parallélogramme engendré par eux. La forumule c'est (u, v, w) = det(u, v, w)
En résultat final on a:
a = (yB - yA)(zC - zA) - (zB - zA)(yC - yA)
b = - ( (xB - xA)(zC - zA) - (zB -zA)(xC - xA) )
c = (xB - xA)(yC - yA) - (yB - yA)(xC - xA)
d = - (a.xA + b.yA + c.zA)
Cependant en remplaçant mes coordonnées avec l'équation du plan, je n'obtiens pas 0 pour les 3 points. Y a-t-il une faute ci desuus?
Merci pour votre réponse !
Oui en effet, je viens de réaliser l'opération sur Excel et le résultat pour les trois points est bien nul...
Mon problème doit se situer au niveau de la précision des calculs dans Matlab.
Merci pour votre réponse !
Cette hypothèse m'étonne... Vérifie tes écritures dans Matlab !
Je t'en prie et à une prochaine fois !
X1 = 105.561786
Voici mes lignes Matlab
Y1 = 106.2054
Z1 = 61.469106
X2 = 105.579786
Y2 = 106.25987
Z2 = 61.470425
X3 = 105.581786
Y3 = 106.042025
Z3 = 61.50602
a = (Y2 - Y1)*(Z3 - Z1) - (Z2 - Z1)*(Y3 - Y1)
b = (-1)*((X2 - X1)*(Z3 - Z1) - (Z2 -Z1)*(X3 - X1))
c = (X2 - X1)*(Y3 - Y1) - (Y2 - Y1)*(X3 - X1)
d = (-1)*(a*X1 + b*Y1 + c*Z1)
Comme réponses, j'obtiens :
a b c d
0.00220000 -0.00063807 -0.00400000 0.08050000
alors que les bonnes valeurs sont :
a b c d
0.002225877 -0.000638072 -0.004030132 0.080527773
Sans doute un problème d'option pour la précision dans MatLab...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :