Probleme vecteur 3D et projection orthogonale

Résolu
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010 - 3 janv. 2005 à 16:54
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 - 4 janv. 2005 à 20:51
Salut, voila le probleme:
J'ai deux vecteurs 3D, V(xv,yv,zv) et P(xp,yp,zp), et je voudrais calculer les vecteurs v0 et v1 de sorte que:
v0+v1=V (somme vectoriel)
v0=k*P (k: un coeff)
v0 perpendiculaire à v1
Merci!
A voir également:

5 réponses

Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
3 janv. 2005 à 21:29
bonjour,

je ne pense pas dire de bétises en disant que c'est pas possible pour tous V et P .

Maintenant une piste :

v0 = k * P donc:



v0.x = k * xp;

v0.y = k * yp;

v0.z = k * zp;



Ensuite :

v1 + v0 V donc v1 V - v0 d'où :



v1.x = xv - k * xp

v1.y = xv - k * yp

v1.z = xv - k * zp



ensuite pour que v0 et v1 soit perpendiculaire bah le coefficient k ne
change rien puisque deux vecteur dont l'un est k fois l'autre n'ont que
leur norme de différentes donc tout dépend de V et P .



Une autre piste : si le dot product deux vecteur est nul alors c'est
deux vecteurs sont perpendiculaire donc si v0 perpendiculaire v1 alors
DotProduct(v0, v1)=0

soit :



v0.x * v1.x + v0.y * v1.y + v0.z * v1.z = 0



on développe avec les vrai coeff:



k * xp * ( xv - k * xp ) + k * yp * ( yv - k * yp ) + k * zp * ( zv - k * zp ) =0

k en facteur :

k * ( xp * ( xv - k * xp ) + yp * ( yv - k * yp ) + zp * ( zv - k * zp ) ) =0

donc c'est frai si k=0 ce qui logique mais inconcevable donc on peut ignorer k et chercher à annuler le reste !



xp * ( xv - k * xp ) + yp * ( yv - k * yp ) + zp * ( zv - k * zp ) =0

on développe

-k * xp² + xp * xv + -k * yp² + yp * yv + -k * zp² + zp * zv = 0

ici on factorise un petit peu

-k * ( xp² + yp² + zp²) + xp * xv + yp * yv + zp * zv =0

xp * xv + yp * yv + zp * zv = k * ( xp² + yp² + zp²)

DotProduct(V,P) = k * ( xp² + yp² + zp²)

DotProduct(V,P) / ( xp² + yp² + zp²) = k

voilà je sais pas si c'est juste mais à mon avis çà marche pas pour tout V et P



çà c'est si tu connait pas k et dans ce cas çà devrait(là encore je
suis pas sûr) marcher sauf pour xp² + yp² + zp² = 0 soit xp=0 ET yp=0
ET zp=0 donc impossible



Voilà en espérant avoir répondu à ta question

SI QUELQU'UN PEUT VERIFIER ????

A m a u r y
3
Rejoignez-nous