IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Projection d'un point sur une droite 3D (et distance)


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Projection d'un point sur une droite 3D (et distance)
    Salut,

    J'ai pas mal galéré sur ce point, mais j'ai l'impression d'avoir résolu mon truc. J'espère que cela vous aidera.

    Attention ça commence. Soyez attentifs !

    @+ doom*

    ________________________________________________________

    soit une droite (D) définie par un point A(xa,ya,za) et un vecteur directeur u(dx,dy,dz)
    Soit P(xp,yp,zp) le point dont on cherche le projeté et la distance à la droite.

    Juste pour la distance, il y a une méthode sur wikipedia (section dans l'espace) : http://fr.wikipedia.org/wiki/Distanc...%A0_une_droite

    cela donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
           (dz(yp-ya)-dy(zp-za))²+(dx(zp-za)-dz(xp-xa))²+(dy(xp-xa)-dx(yp-ya))²
    d²= ----------------------------------------------------------------------
                                          dx²+dy²+dz²
    Application numérique (exemple provenant d'ici:http://wims.unice.fr/wims/wims.cgi?s...efdistortho.fr):
    A=(29,-13,26) u=(8,-7,4) P=(-4,-3,-3)

    d=(((4*(-3--13)--7*(-3-26))^2+(8*(-3-26)-4*(-4-29))^2+(-7*(-4-29)-8*(-3--13))^2)/(8^2+7^2+4^2))^0.5
    d ~ 21.45


    Sinon, autre méthode qui permet en même temps de connaitre le projeté:
    Soit M appartenant à (D), vecteur AM = k . vecteur u
    donc
    {xm-xa=k.dx
    {ym-ya=k.dy
    {zm-za=k.dz

    {xm=k.dx+xa
    {ym=k.dy+ya
    {zm=k.dz+za

    calculons la distance MP²
    MP²=(xm-xp)²+(ym-yp)²+(zm-zp)²
    MP²= ...
    MP²= (dx²+dy²+dz²).k² + 2[dx(xa-xp)+dy(ya-yp)+dz(zp-za)].k + [(xa-xp)²+(ya-yp)²+(za-zp)²]
    MP²= a.k²+b.k+c (equation du second degré)

    MP² est mini pour M=projeté de P sur (D)

    MP² est mini en -b/2a (voir cours de maths)

    MP² mini pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                  dx(xp-xa)+dy(yp-ya)+dz(zp-za)
    k = kmini = ---------------------------------
                           dx²+dy²+dz²
    calculer kmini (ici avec l'appli num kmini=-450/129)

    donc
    MP=(129*((450/129)^2)-900*450/129+2030)^0.5
    MP ~ 21.45

    pour avoir le point M projeté de P sur (D), il suffit de faire
    {xm=k.dx+xa
    {ym=k.dy+ya
    {zm=k.dz+za

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    il suffit de calculer les coordonnées de M, tel que AM.MP = 0.
    Et on sait que M est de la forme A+ku.
    Voilà la solution en dimension N, cela revient à calculer le coefficient kmini de ta deuxième égalité.

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    /** Methode qui calcule la projection orthogonale du point P sur une droite D representee par un point X et un vecteur V (P = X + kV).
     *  ATTENTION : cette methode renvoit le coefficient k.  
     * @param X Un point de la droite D.
     * @param V Le vecteur directeur de la droite D.
     * @param P Le point dont on souhaite connaitre le projete sur la droite D.
     * @return Le coefficient de k de P = X + kV.*/
    public static double IntersectionCoef(Point X, Vector V, Point P)
    	{
    	int Size = V.Dimension() ;
    	double num = 0.0, den = 0.0 ;
     
    	for (int i=0 ; i < Size ; i++)
    		{
    		num += V.get(i) * (P.get(i)-X.get(i)) ;
    		den += Math.pow(V.get(i), 2.0) ;
    		}
     
    	if ( Math.abs(den) < Epsilon ) throw new ArithmeticException("Denominator equal to zero => Vector V is a vector null.") ;
    	return num / den ;
    	}
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 107
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Juste une petite précision sur la méthode de ToTo13,
    je suis d'accord avec l'algorithme, mais attention, P != X + kV, car c'est le projeté du point P sur la droite D qui est égal à X + kV, contrairement à ce qui est indiqué sur les commentaires au dessus de la signature de la méthode.

    Sinon la méthode est parfaite

    Algernon

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2014, 19h27
  2. [Débutant] Répartition de points sur une droite
    Par elirgume dans le forum MATLAB
    Réponses: 1
    Dernier message: 29/04/2011, 17h10
  3. projection d'un point sur une droite
    Par azertyuio dans le forum Mathématiques
    Réponses: 8
    Dernier message: 29/03/2010, 10h20
  4. Projection d'un point sur une droite en dimension N
    Par ToTo13 dans le forum Mathématiques
    Réponses: 3
    Dernier message: 10/01/2009, 17h42
  5. Projection d'un point sur une droite.
    Par méphistopheles dans le forum Mathématiques
    Réponses: 9
    Dernier message: 27/05/2007, 23h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo