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

MATLAB Discussion :

Distance point/projection orthogonale d'un point sur une droite


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut Distance point/projection orthogonale d'un point sur une droite
    Bonjour, je vais essayer d'expliquer clairement mon problème.

    J'ai en ma possession un vecteur directeur (an), et un point (A). Je peut donc créer une droite ayant comme vecteur directeur an et passant par A.
    A coté de ça j'ai une multitude d'autre point. Mon objectif est de calculer la distance entre le point A et la projection orthogonale de tous les autres points sur la droite. Peut être existe-i-il une fonction ou un moyen rapide de le faire sur Matlab, sinon je pensais calculer la distance point/point, puis la distance orthogonale point/axe, et enfin résoudre le tout à l'aide de Pythagore.

    J'espère m'être fait comprendre ^^

    Merci d'avance !!

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur en analyse décisionnelle
    Inscrit en
    Juin 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en analyse décisionnelle

    Informations forums :
    Inscription : Juin 2013
    Messages : 113
    Points : 133
    Points
    133
    Par défaut
    À l'aide du produit scalaire :

    Code : 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
    22
    23
    24
    25
    26
    close all;
    clear all;
    clc;
     
    A = [-1;0;1]; % Point A
    an = [-1;3;-2]; % Vecteur directionnel
    p = randn(3,10); % Points
    % Pour chaque point "p", on soustrait "A" pour les ramener selon "A"
    % Ensuite, on normalise "an" et on effectue le produit scalaire
    t = dot(bsxfun(@minus,p,A),(an/norm(an))*ones(1,size(p,2))); % Distance avec sens
    d = abs(t); % Distance absolue
     
    figure;
    quiver3(A(1),A(2),A(3),an(1),an(2),an(3),0,'b'); hold all;
    plot3(p(1,:),p(2,:),p(3,:),'.r');
    for i = 1:size(p,2);
        tmp = A + t(i)*(an/norm(an));
        plot3([p(1,i),tmp(1)],[p(2,i),tmp(2)],[p(3,i),tmp(3)],'-g');
        tmp = p(:,i) + t(i)*(-an/norm(an));
        plot3([p(1,i),tmp(1)],[p(2,i),tmp(2)],[p(3,i),tmp(3)],'-m');
    end
    [x,y] = meshgrid(-3:3);
    z = -an(1)/an(3)*x + -an(2)/an(3)*y;
    surf(x+A(1),y+A(2),z+A(3));
    alpha(0.5);
    axis equal;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup !! C'est parfait !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Projection d'un point sur une droite 3D (et distance)
    Par doom* dans le forum Mathématiques
    Réponses: 2
    Dernier message: 28/03/2012, 17h40
  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