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

Macros et VBA Excel Discussion :

Intersection de 2 plans dans l'espace


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut Intersection de 2 plans dans l'espace
    Bonjour à tous,

    Je suis nouveau sur le forum et je débute en programmation.

    Mon problème est le suivant:

    J'ai deux plans qui s'intersectent dans l'espace pour former une droite.

    J'ai l'équation cartésienne de chacun de ses plans:
    Ux+Vy+Wz+d=0
    U'x+V'y+W'z+d'=0

    Je voudrais résoudre le système afin d'avoir l’équation paramétrique de la droite formée par l'intersection de ces 2 plans. Sur le papier c'est facile car on joue avec x, y et z, mais dans mon programme mes variables ne sont que les coefficients directeur des droites normales à ces deux plans et d soit U, V, W, d et U', V', W', d'.

    J'ai commencé comme çà mais c'est vraiment fastidieux, je pense qu'il y a une meilleure méthode.

    Quelqu'un peut il m'aider?

    Merci d'avance.

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Je me demande si tu cherches comment on calcule l'équation paramétrique (pb de math) ou comment on code cela en VBA.

    La partie VBA étant vraiment élémentaire, je pense que ta question est du domaine des maths et il y a des forums spécialisés.

    Mais si je ne déraille pas : soit 2 plans :
    • ux + vy + wz + k = 0
    • u'x + v'y + w'z + k' = 0

    Leur intersection est une droite si et seulement si ils ne sont pas parallèles (intersection nulle) ou confondus (intersection = ce plan). On peut écarter ces 2 cas en vérifiant que l'on n'a pas :
    u/u' = v/v' = w/w'

    Ceci étant fait, il faut réaliser que dans une repère 3D, une droite n'a géréralement pas la forme habituelle du repère 2D, à savoir : y = ax + b

    C'est pour cela qu'on parle d'équation paramétrique qui est en fait un système de 3 équations linéaires x= f(t), y=g(t), z = h(t).

    Si on pose
    • x = at + b
    • y = ct + d
    • z = t


    l'équation du premier plan donne
    • (ua + vc + we)t + ub + vd + w + k = 0 et
    • (u'a + v'c + w'e)t + u'b + v'd + w' + k' = 0


    En considérant pour ces 2 équations les cas t = 0 et t = 1, on en déduit :
    • ub + vd + w + k = 0
    • u'b + v'd + w' + k' = 0

    et
    • ua + vc + we = 0
    • u'a + v'c + w'e = 0


    On en déduit
    • b = (k'u - ku') / (uv' - u'v)
    • d = (k'v - kv') / (vu' - v'u)

    et
    • a = (w'v - wv')/(uv' - u'v)
    • c = (w'u - wu')/(vu' - v'u)


    Tu vérifieras ces calculs...
    Après, je ne vois pas de difficulté pour coder cela.

    Cordialement,

    PGZ

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Bonsoir pgz,

    Non comme j'ai voulu le dire en disant "sur le papier c'est facile", ce qui me pose problème c'est le code.

    Je vais examiner de près ton calcul, en attendant je voulais répondre.

    Pour les maths j'essayais de reproduire ce qui figure sur cette page: http://homeomath.imingo.net/geoesp6.htm

    Ta version a quand même l'air plus simple. J'examine tout çà plus tard et je vous répond.

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Bonjour pgz,

    je ne comprend pas d'où vient "e"

    As tu voulu poser z = et+k ?

    Mais dans ce cas lors de la factorisation w serai facteur de k...

    Peut tu m'éclairer?

    Merci

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour Gualino.

    Au temps pour moi!
    Au départ, j'avais posé z = et + f et on a alors 6 inconnues pour 4 équations. Et c'est trop d'inconnues. En fait par homothétie, on peut poser z = t.

    Donc les e et f qui traîneraient sont à ignorer. Les équations à corriger :

    (ua + vc + w)t + ub + vd + w + k = 0 et
    (u'a + v'c + w')t + u'b + v'd + w' + k' = 0
    et
    ua + vc + w = 0
    u'a + v'c + w' = 0
    Le reste devrait être correct.

    Désolé de ce doute instillé.

    PGZ

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Bonsoir pgz,

    donc on a:
    (ua + vc + w)t + ub + vd + k = 0

    Pour t=0
    ub + vd + k = 0 ok


    Mais je ne comprend pas pourquoi dans le cas
    t=1
    "ub + vd + k" disparait?

    et qu'il reste alors ua + vc + w = 0


    Ensuite pour comprendre b = (k'u - ku') / (uv' - u'v) j'ai essayé de revenir à une forme antérieur, mais je ne vois pas.

    Pourrais-tu détailler le calcul, car les maths ne sont pas mon fort.

    Merci

  7. #7
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Ca tourne vraiment au forum math !

    Bon on reprend.

    L'équation de P1 donne
    (at+b)u + (ct + d)v + wt + k = 0, soit (au + cv + w)t + bu + dv + k = 0
    L'équation du deuxième plan donne de façon analogue
    (au' + cv' + w')t + bu' + dv' + k' = 0

    Ces deux équations sont vraies quelques soit t, chacune pour les points du plan correspondant, et les deux à la fois pour les points de la droite d'intersection.

    Elles sont vraies pour t = 0 donc :
    bu + dv + k = 0 (I)
    et bu' + dv' + k' = 0 (II)

    Mais (bu + dv + k) et (bu' + dv' + k') ne dépendent pas de t et ces sommes sont nulles quelque soit t.

    On a donc :
    (au + cv + w)t = 0
    et (au' + cv' + w')t = 0
    là encore quelque soit t et donc

    au + cv + w = 0 (III)
    et au' + cv' + w') = 0 (IV)

    Cela devrait répondre à ta première question.

    Pour la suivante, (I) et (II) forment un sytème de 2 équations à 2 inconnues b et d que l'on devraient pouvoir calculer si les 2 équations sont indépendantes. Mais on a déjà signalé qu'il fallait d'abord vérifier que les 2 plans n'étaient pas parallèles ni confondus!

    Le système (III) et (IV) permettent de calculer a et c.

    C'est élémentaire, mais bon allons-y courageusement, pour b par exemple.

    on a :
    bu + dv + k = 0 (I)
    et bu' + dv' + k' = 0 (II)

    Si on calcule (I) - v/v'(II) on obtient :
    (u - u'v/v')b + (v - v'v/v')d + k - v/v'k = 0
    soit (uv' - u'v)b/v' + 0 + (kv' - k'v)/v' = 0
    ou (uv' - u'v)b + (kv' - k'v) = 0
    et donc b = (k'v - kv') / (uv' - u'v)

    Tu pourras ainsi calculer d avec (I) - u/u' (II)

    et a avec (III) - v/v' (IV)
    et c avec (III) - u/u' (IV)

    J'espère que comme cela c'est plus clair.

    Cordialement,

    PGZ

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/06/2015, 15h57
  2. Déterminer l'équation d'un plan dans l'espace
    Par tunsty dans le forum Mathématiques
    Réponses: 10
    Dernier message: 04/05/2010, 10h06
  3. Angle orienté entre 2 plans dans l'espace
    Par Shayä dans le forum Mathématiques
    Réponses: 0
    Dernier message: 10/02/2010, 05h50
  4. plan dans un espace 3d
    Par eclipse2007 dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/04/2009, 22h01
  5. Intersection surface et droite dans l'espace
    Par yabbiyou dans le forum Mathématiques
    Réponses: 7
    Dernier message: 22/05/2007, 22h42

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