begin process at 2012 05 30 05:32:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

Probleme vecteur 3D et projection orthogonale


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme vecteur 3D et projection orthogonale

lundi 3 janvier 2005 à 16:54:50 | Probleme vecteur 3D et projection orthogonale

supergrey

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!
lundi 3 janvier 2005 à 21:29:22 | Re : Probleme vecteur 3D et projection orthogonale

Pamaury

Réponse acceptée !
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
lundi 3 janvier 2005 à 22:06:29 | Re : Probleme vecteur 3D et projection orthogonale

supergrey

Réponse acceptée !

En fait quelqu'un m'a aider, ca ressemble un peu a ce que tu a fait d'ailleur merci,  voila:
k= ((xp*xv)+(yp*yv)+(zp*zv) ) / ( xp²+yp²+zp²)
apres c'est facile de calculer v0 et v1

mardi 4 janvier 2005 à 18:35:53 | Re : Probleme vecteur 3D et projection orthogonale

Pamaury

oui bah çà revient exactement au même puisque DotProduct(p,V)/( xp²+yp²+zp²) donne
(xp*xv)+(yp*yv)+(zp*zv)/( xp²+yp²+zp²) donc c'est pareil

A m a u r y
mardi 4 janvier 2005 à 20:10:19 | Re : Probleme vecteur 3D et projection orthogonale

supergrey

oui oui sans doute, c'est juste que je connaissait pas "DotProduct"

mardi 4 janvier 2005 à 20:51:44 | Re : Probleme vecteur 3D et projection orthogonale

Pamaury

ah ok bah désolé alors . Si tu veux la formule :
DotProdutc(V;P)=P.x*V.x + P.y*V.y + P.z*V.z
DotProdutc(V;P)=||V||*||P||*cos(V;P)

en fait cela correspond à la projection de V sur P donc si V et P sont perpendiculaire alors le dot product(produit scalaire) est nul .

A m a u r y


Cette discussion est classée dans : probleme, 3d, vecteur, projection, v0


Répondre à ce message

Sujets en rapport avec ce message

Modeleur 3d : Probleme de back spin ds l affichage (opengl/Qt) [ par serialtom ] salut a tousje vous ecris car j ai un souci... je realise actuellement un modeleur 3d et j ai un problème avec l une de mes fonctions. je veux effectu forme 2et 3d [ par kohonen_reseau ] slt les jeunes, j'ai un petit probleme et si vous pouvez m'aider merci d'avance, mon probleme est le suivant :je suis entrain de faire un programme en Matrice 3d [ par tarekor31 ] Bonjourj'ai un probleme je doit reflechir a recuperer une matrice 3d depuis un fichier .obj sous C++, il me faut mettre mon objet en forme de tranches affichage 3d [ par Arnaud16022 ] voici le probleme:Soit A un point défini par la ctruct Vecteur3d{float x,x,z;} de coordonées dans l'espace cartésien orienté orthonormé (A.x,A.y,A.z). Probleme vecteur3D, projection sur un plan [ par supergrey ] Salut, voici mon probleme:ce que je connai:    -Pa, Pb, Pc      3points dans une scene 3D   -V             &nb retirer icone taskbar [ par julienbj ] Voila mon probleme!Je cherche à supprimer des icones de la taskbar, mais il me manque un parametreVoici la boucle de suppression:   HWND hIcon;<BR Probleme de tableau [ par manta7 ] Bonjour, j'ai un petit problème avec la compilationde ce code : int *t; t = malloc(B * sizeof (int)); Je suis sous Microsoft Visual C++ 6 mais je pr probleme avec une fonction de log [ par erazor ] bonjourvoila, mon probleme est le suivant: je suis en train de programmer un jeu de stratégie temps réel afin de me former a la prog en cpp et afin d' Probleme superposition static transparent [ par DarkBoss ] j' ai le problème suivant: le fond de mon static se met bien en transparentmais quand je lui envoi du texte grace a setwindowtext(hwnd, "texte");le te lancement d'un .exe externe dans un jeu (3d, fmod) [ par aubry ] Bonjour, j'ai un problème et  c'est assez urgent...c'est pour le collège j'ai un sujet d'arts plastiques ou il faut illustrer l'expression : de bouche


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,774 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales