petite question pour les matheux...

petite question pour les matheux... - Programmation

Marsh Posté le 13-02-2002 à 16:54:24    

Salut à tous, il va falloir se sortir les doigts du :blood127001  
 
Au boulot, j'ai besoin de faire un truc que je savais faire dans ma jeunesse (en prépa) mais dont je ne me rapelle plus !
 
Sans trop rentrer dans le détail,le calcul des déformations d'une pièce m'a donné 16 points (Xi,Yi,Zi) qui décrivent "à peu prés" un cercle dans l'espace en 3D.
 
Je voudrait définir le plan P(A,u,v), passant par A(Xa,Ya,Za) et de vecteurs de base u(u1,u2,u3) et v(v1,v2,v3), qui s'approche le plus (-->moindres carrés ?) de mes 16 points.
 
Pour cela j'ai besoin de calculer la distance entre mes points et le plan que je cherche.
 
si je me rappelle bien c'est un truc qui ne fait intervenir que les 9 paramètres de A de u et de v, du genre :
 
distance[P(A,u,v);M(x,y,z)] = abs(i.Xa + j.Ya + k.Za)/(u1² + u2² + u3²)^(0,5)
 
Ensuite le solveur d'excel se démmerde de faire varier les 9 paramètres Xa,Ya,Za,u1,u2,u3,v1,v2 et v3 pour minimiser la somme des distances au carré.
 
Voilà, pour résumer donc je voudrait calculer la distance entre un plan P(A,u,v)et un point M(x,y,z) dans un espace 3D.
 
Désolé pour ceux à qui j'ai foutu la migraine (surtout qu'il doit y en avoir pas mal en vacances en ce moment--> mais pas moi!)
 
Merci à celui ou celle qui pourra me répondre (ne vous emmerdez pas pour la démonstration de la formule je n'en ait pas besoin !)


---------------
Shérida(n)² 19-148
Reply

Marsh Posté le 13-02-2002 à 16:54:24   

Reply

Marsh Posté le 13-02-2002 à 17:30:13    

merci !
--> je vais voir...  :)


---------------
Shérida(n)² 19-148
Reply

Marsh Posté le 13-02-2002 à 18:27:23    

> on trouve un vecteur unitaire normal au plan en faisant :
 
w = u vec v (produit vectoriel)
si :
u(x1,y1,z1)
v(x2,y2,z2)
alors :
W(y1.z2-z1.y2,z1.x2-x1.z2,x1.y2-y1.x2)=W(X,Y,Z)
 
on rend w unitaire :
 
w=W/||W||=(X/Sqrt(X²+Y²+Z²),Y//Sqrt(X²+Y²+Z²),Z/Sqrt(X²+Y²+Z²))
 
on calcule ensuite le produit scalaire entre le vecteur AM et le vecteur w pour avoir la distance de M au plan [A,u,v]
 
A(x0,y0,z0)
M(x,y,z)
 
d= (AM|w) = [(x-x0).X+(y-y0).Y+(z-z0).Z]/[Sqrt(X²+Y²+Z²)]
 
finalement : voilà la formule bourrin (sauf erreur de ma part) :
 
[(x-x0).(y1.z2-z1.y2)+(y-y0).(z1.x2-x1.z2)+(z-z0).(x1.y2-y1.x2)]/[Sqrt(X²+Y²+Z²)]
 
Voilà, j'espère ne pas avoir commis d'erreur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed