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 :

Calculer le vecteur normal a un plan formé par trois points.


Sujet :

Mathématiques

  1. #1
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut Calculer le vecteur normal a un plan formé par trois points.
    Bonjour, je travail sous VB6 avec la librairie de visualisation 3D vtk, je souhaite calculer un vecteur normal à un plan grâce a trois point qui forme ce plan.

    j'ai par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim p1(0 To 2) As Single
    p1(0) = 1
    p1(1) = 0
    p1(2) = 0.5
     
    Dim p2(0 To 2) As Single
    p2(0) = 0
    p2(1) = 0.5
    p2(2) = 1
     
    Dim p3(0 To 2) As Single
    p2(0) = 0.5
    p2(1) = 1
    p2(2) = 0
    Comment d'une facon simple (si possible) puis je calculer le vecteur normale au plan formé par ces points.

    Nous prendrons si vous le souhaitez comme points d'ancrage a ce vecteur normal, un des points!

    Voila en esperant avoir été un peu prêt clair!

    Merci de vos réponses futures.
    Cordialement.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  2. #2
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    Bonjour,

    Une façon simple tus as trois A B C apppartenant au plan P:

    N vecteur normale unitaire à P.

    Vn = produitvectoriel( vecteur(A,B),vecteur(B,C) )
    N = Vn/norme(Vn)

    prodtuit vectoriel: http://fr.wikipedia.org/wiki/Produit_vectoriel
    Si tu ne te plantes pas, comment veux tu pousser?

  3. #3
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Merci Ronan!

    Je vais essayer ta solution. Sinon j'avais trouver au facon de faire avec les 3 points!

    J'essaye si je n'y arrive pas je reviens a la charge.
    Fichiers attachés Fichiers attachés
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  4. #4
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Citation Envoyé par une archive DVP
    Le calcul de la norme d'un vecteur est reès simple, il s'agit simplement de sa distance heuclidienne qui se calcul comme ceci :
    norme = sqrt(v.x*v.x + v.y*v.y + v.z*v.z)
    Donc pour trouver la norme je n'ai qu'a élever chaque composante au carrée en faire la somme et en extraire la racine?

    C'est tout?
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  5. #5
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    Oui, c'est exact.
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    et d'ailleurs... c'est Euh.... clide qui l'a dit
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Citation Envoyé par souviron34
    et d'ailleurs... c'est Euh.... clide qui l'a dit
    Je dirais pis ... Taghore
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Zavonen
    et d'ailleurs... c'est Euh.... clide qui l'a dit
    Citation Envoyé par souviron34
    Je dirais pis ... Taghore
    Les 2 mon general...

    Pi.Thagore l'a dit pour les triangles (2D)
    E.uclide l'a dit pour les espaces affines euclidiens (et donc pour la 3D)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    mais c'est docepseu ki termine :-(

    Comme on dit au Québec, hier soir "t'avais les mains pleines de pouces"
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Euh j'ai des resultat mais je ne sais pas du tout s'il sont correct. Est ce que vous connaissais un soft type Macsima pour faire ce type de calcul? Ou si je mets mes résultats quelqu'un aurait le temps de vérifié? Merci!


    Par exemple pour les points :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pt1 = 0.5 , 0 , 1
    pt2 = 0.8 , 0.8 , 1
    pt3 = -0.2 , 0.8 , 1
     
    Il me retourne comme vecteur normal: -0.704 , -0.616 , 0.35
    Les deux première valeurs ca m'est égale mais la dernière devrait être proche de 1 puisque tous mes plans sont dans le même plan Z


    Une question que peut permettre de déquanté le problème :

    Quand A = x1,y1,z1 et B= x2,y2,z2

    AB = (x1-x2,y1-y2,z1-z2)

    Pas sur, mais vraiment pas sur du tout!
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  11. #11
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Si A = (xa,ya,za) et B = (xb,yb,zb), alors AB = (xb-xa, yb-ya, zb-za )

    Si AB = (xba,yba,zba) et AC = (xca, yca, zca), alors

    N = AB^AC = ( yba*zca - zba*yca, zba*xca - xba*zca, xba*yca - yba*xca)


    pt1 = 0.5 , 0 , 1
    pt2 = 0.8 , 0.8 , 1
    pt3 = -0.2 , 0.8 , 1

    Les deux première valeurs ca m'est égale mais la dernière devrait être proche de 1 puisque tous mes plans sont dans le même plan Z
    Exact.
    Tes 2 vecteurs s'ecrivent P12=(?,?,0) et P13=(?,?,0).

    Donc ton vecteur normal s'ecrit N=P12^P13=(0,0,?).

    Une fois normalisé, ton vecteur normal est (0,0,1)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #12
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Merci pseudocode, j'ai reprogrammer le tout car j'avais programmer un peu comme un cochon. Enfin au lieu de créer des variable vecteur, j'appelais directement mes points faisait la soustraction suivie de la mutliplication ... Enfin un vrai foutoir pour relire, la preuve j'ai tout retapé.

    Au lieu d'avoir un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pscal(0) = V12(1) * V13(2) - V12(2) * V13(1)
    pscal(1) = V12(2) * V13(0) - V12(0) * V13(2)
    pscal(2) = V12(0) * V13(1) - V12(1) * V13(0)
    J'avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vect(0) = ((p1(1) - p2(1)) * (p2(2) - p3(2))) - ((p1(2) - p2(2)) * (p2(1) - p3(1)))
    'vect(1) = ((p1(2) - p2(2)) * (p2(0) - p3(0))) - ((p1(0) - p2(0)) * (p2(2) - p3(2)))
    'vect(2) = ((p1(0) - p2(0)) * (p2(1) - p3(1))) - ((p1(1) - p2(1)) * (p2(0) - p3(0)))
    A pas peur ! Merci bien!
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut vecteur normal d un plan dans une image omnidirectionnelle
    bonjour;
    j'ai une camera de repère (u,v) embarquée sur un robot mobile de repère (X,Y,Z)
    ce robot se déplace vers une surface plane d’équation aX+bY+cZ+d=0
    comment dans ce cas puis-je déterminer le vecteur normal (a,b,c) de cette surface plane.
    au fait j'ai appliqué ma méthode qui estime le vecteur normal de cette surface en utilisant un traitement sur l'image. maintenant je cherche le vecteur normal réel pour comparer mes résultats.

    je sais pas comment mesurer ce vecteur réel ?

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

Discussions similaires

  1. Équation d'un plan défini par N points
    Par KeV31 dans le forum Mathématiques
    Réponses: 7
    Dernier message: 28/01/2020, 00h01
  2. Afficher un plan passant par 3 points
    Par quoi_godard dans le forum MATLAB
    Réponses: 6
    Dernier message: 04/07/2013, 08h27
  3. [Débutant] Calcul du vecteur normal intérieur à une b-spline
    Par gwal21 dans le forum MATLAB
    Réponses: 5
    Dernier message: 23/07/2012, 09h30
  4. Calcul axe [x,y,z] d'un plan à partir du vecteur normal
    Par tortue3600 dans le forum Mathématiques
    Réponses: 5
    Dernier message: 11/05/2010, 10h47
  5. Calcul vecteur normal à un plan
    Par tortue3600 dans le forum Mathématiques
    Réponses: 4
    Dernier message: 03/03/2010, 10h21

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