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 :

Détection de segment passant dans un plan


Sujet :

Mathématiques

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Détection de segment passant dans un plan
    Voila mon soucis.
    J'ai un plan connu dans un espace 3D (x,y,z) et 2 points dans ce même espace égalements connus. J'aimerai pouvoir déterminer si oui ou non le segment formé par les 2 points coupe le plan.

    Alors oui j'ai recherché dans le forum déjà et j'ai trouvé des réponses, seulement moi et le langage purement mathématique ce n'est pas l'entente parfaite. Je sais ce qu'est un vecteur et tout ce qui reste "simple", par contre quand je vois des termes comme "Gauss", je decroche... J'ai essayé de me replonger dedans mais ce n'était pas ma tasse de thé déjà à l'époque.

    Je voudrait coder cette vérification dans un programme java. Donc si quelqu'un peut m'aguiller sur une solution "programmable" simplement sans utiliser de librairie type opengl/directX. Même si vous avez une solution type C++ / C# / VB, je peux adapter le langage ca me dérange moins que d'essayer de me replonger dans des cours de math d'il y a plus de 10 ans

    Ou si on veut bien m'expliquer avec des opérations mathématiques retranscriptibles facilement en prog (les produits scalaires ), cela m'aiderai beaucoup.

    Merci d'avance

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    J'aimerai pouvoir déterminer si oui ou non le segment formé par les 2 points coupe le plan.
    ce qui revient à savoir si tes deux points sont du même côté du plan ou non.

    Soient x1, y1, z1 et x2, y2, z2 les coordonnées de tes deux points, et A*x + B*y + C*z + D = 0 l'équation de ton plan. Tu calcules K = (A*x1 + B*y1 + C*z1 + D = 0)*(A*x2 + B*y2 + C*z2 + D = 0). Si K est positif, les deux points sont du même côté et le segment ne coupe pas le plan. Si K est négatif, les deux points sont de part et d'autre et le segment coupe le plan.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    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
    La méthode de Jean-Marc Blanc est effectivement et de loin, la meilleure pour ce problème.
    On peut rajouter "et si K=0, l'une au moins des deux extrémités est dans le plan", mais avec la représentation des réels en machine la probabilité pour que cela arrive (je veux dire K=0) même si l'une des extrémités est dans le plan est quasiment nulle.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    si oui ou non le segment formé par les 2 points coupe le plan.
    Tu peux aussi calculer si la droite est parallèle au plan. Si oui, elle ne coupe pas le plan :
    Si Ax+By+Cz+D=0 est l'équation du plan, alors le vecteur n(A,B,C)est normal au plan. Si ta droite est le vecteur MP[(x2-x1), (y2-y1),(z2-z1)] alors le produit scalaire n.MP est nul.

  5. #5
    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,

    pourquoi ne pas utiliser la distance entre les points et le plan.
    Si pour les deux points, la distance entre le point et sont projeté orthogonal sur le plan est la même, alors cela signifie que la droite passant par les points est parallèle au plan.
    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.

  6. #6
    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
    Pour Toto13 et Phryte:
    Il s'agit ici d'un segment et non d'une droite.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par phryte Voir le message
    Salut.

    Tu peux aussi calculer si la droite est parallèle au plan. Si oui, elle ne coupe pas le plan :
    Si Ax+By+Cz+D=0 est l'équation du plan, alors le vecteur n(A,B,C)est normal au plan. Si ta droite est le vecteur MP[(x2-x1), (y2-y1),(z2-z1)] alors le produit scalaire n.MP est nul.
    Je me suis peut être mal exprimé en utilisant "couper", j'aurai du dire "passe au travers". Pour expliquer à quoi cela va servir, c'est pour un tir à travers un orifice dans un mur. Donc il faut que le segment passe par le rectangle donné, je n'ai pas besoin de connaitre le point de passage mais juste savoir s'il passe dedans.
    Je n'aurai peut être pas du utiliser le mot plan, cela vous a peut être induit en erreur sur la finalité de la chose, je m'en excuse.

    J'avais pensé à une chose pour cela, c'est de projeter dans chaque repère 2D (oXY, oZX, oYZ) le rectangle et la droite et voir s'il se coupent dans les 3 vues et si c'est le cas, le test est vérifie. Mais je ne sais pas si c'est plus compliqué que de trouver une solution "3D".

  8. #8
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Je n'aurai peut être pas du utiliser le mot plan
    Effectivement, il s'agit d'un rectangle plan et non d'un plan. Je te suggère de procéder comme suit: choisis ton repère de coordonnées de manière que les sommets de ton rectangle soient (X, Y, 0), (X, -Y, 0), (-X, -Y, 0) et (-X, Y, 0).
    Tu calcules ensuite les coordonnées des intersections des 4 droites passant par (x1, y1, z1) avec le plan z=z2. Il ne te reste plus qu'à résoudre le problème plan consistant à déterminer si le point 2 est à l'intérieur de ce rectangle.
    Jean-Marc Blanc

    Ah! la belle époque où la géométrie descriptive faisait partie du programme obligatoire du baccalauréat.
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  9. #9
    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
    A mon avis, même avec ces précisions, la meilleure méthode reste celle proposée par J-M Blanc.
    Il suffit simplement pour finir, de tester l'appartenance du point d'intersection à l'intérieur du rectangle (4 inégalités à vérifier).
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je n'ai pas bien saisi l'histoire des 4 droites et de ce plan z=z2 dont tu parles.
    Sinon oui il devait y en avoir au bac mais je préférais les moteurs, les condensateurs et me prendre chataignes de 380V

  11. #11
    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
    Citation Envoyé par Zavonen Voir le message
    Pour Toto13 et Phryte:
    Il s'agit ici d'un segment et non d'une droite.
    Autant pour moi...

    Donc il suffit juste d'utiliser l'inéquation du plan et de vérifier que les des points produisent le même signe.
    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.

  12. #12
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Effectivement, il manquait un bout de phrase. J'aurais dû écrire:
    Tu calcules ensuite les coordonnées des intersections des 4 droites passant par (x1, y1, z1) et chacun des sommets du rectangle avec le plan z=z2. Il ne te reste plus qu'à résoudre le problème plan consistant à déterminer si le point 2 est à l'intérieur de ce rectangle.
    Ton premier point (le tireur) a pour coordonnées x1, y1, z1 et ton second x2, y2, z2; tu peux d'ailleurs les permuter, mais à la fin, ce n'est pas le même qui est mort.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  13. #13
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Pour ton information, selon les normes internationales de la CEI, la valeur assignée de la tension triphasée est de 400 volts et non 380 volts. Peut-être étais-tu en bout de ligne.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. Détection position des yeux dans une image
    Par Morvan Mikael dans le forum Traitement d'images
    Réponses: 16
    Dernier message: 24/12/2008, 23h09
  2. Pas de détections des disques durs dans le bios
    Par rub091 dans le forum Composants
    Réponses: 10
    Dernier message: 13/06/2006, 17h59
  3. [Conception] Détection d'opérations mathématiques dans un textfield
    Par lynal dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/06/2006, 08h20
  4. Représentation d'une sphère dans un plan...
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/01/2006, 17h05
  5. Dessin de la partie d'une ligne passant dans un rectangle
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 13/06/2005, 09h35

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