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 :

Intersection surface et droite dans l'espace


Sujet :

Mathématiques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut Intersection surface et droite dans l'espace
    Bonjour a tous,

    J'ai une surface definie par des altitudes dans une matrice carré (je connais le pas en x et y, dailleur dx=dy).

    Existe-t-il une méthode me permettant de calculer les coordonnées du point d'intersection d'une droite de l'espace et de cette surface? (peut importe a vrai dire le mode d'interpolation )

    Dans le meme ordre d'idée, comment determiner les angles (teta et phi) que forment la droite considerée avec la facette qu'elle intercepte?

    merci d'avance
    pierre

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Es-tu sur que cette intersection est unique ?
    La droite pourrais couper la surface en plusieurs points

    Peux-tu nous montrer l'allure de la surface ? Est-elle plus ou moins plane ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut je n'avais pas assez detaillé
    effectivement "cette" intersection n'est pas forcement unique, l'ideal etant de pouvoir determiner tout les points de croisement entre ma surface et la droite considerée.
    En fait j'essaie de modeliser la reflection lumineuse sur une surface de metal dont je connais la topographie.
    Donc si je projette un rayon au centre de cette surface avec des angles teta et phi il faut que je determine d'abord ou va se stopper ce rayon. Ensuite j'ajoute une loi de comportement et je dois affectuer le meme calcul pour le rayon emergent.
    En gros ca semblait pas trop complexe et la je suis un peu plus perplexe...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Le plus simple consiste à prendre le problème à l'envers... effectue un changement de repère, du repère initiale vers un repère dont l'axe z est la droite (une multiplication de matrices instantanée sous Matlab)

    Ensuite, pour chaque "petit carré" de la surface, il suffit de faire un test sur le signe des nouvelles valeurs x et y des 4 coins dans le nouveau repère. Si toutes les valeurs sont de même signe, la droite n'intersecte pas le "carré". Si les valeurs sont de signes différents, les 4 points "encadrent" la droite donc elle intersecte bien cette partie de la surface.

    Le plus simple, c'est de se faire un dessin

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    je crois que j'ai le concept!
    par contre concretement j'ai une matice Z=(100,100) remplie de valeur, comment je change de repere???

    j'ai oublie de te remercier

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Il faut écrire tes valeurs en colonnes, sous Matlab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [X,Y]=meshgrid(1:1:100);
    pts=[X(:) Y(:) Z(:)]
    Ensuite tu multiplies tout ça par la matrice de passage 3x3 entre les deux repères.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut desolé d'etre lourd....

    Ca fait longtemps que j'ai pas données dans l'algebre...
    En fait ma droite de l'espace est definie comme l'interesction de deux plan.
    Je pense pouvoir sans trop de probleme trouver un repere dans lequelle l'axe des z est colineaire a la droite. par contre comment on determine la matrice de passage?
    merci d'avance

  8. #8
    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
    Méthode Bourin:
    Supposons que la surface soit donnée par une suite de points
    Pij (xi,yj,zij)
    0<=i<100
    o<=j<100
    On fait une triangulation
    Tijk k=0 ou 1
    ou Tij0 est le triangle Pij,Pi+1jPi+1j+1
    et Tij1 est le triangle Pij,Pij+1Pi+1j+1
    Déterminer l'intersection de la droite avec chaque plan déterminé par un triangle et vérifier si cette intersection est intérieure au triangle.
    Ca fait 20000 calculs et autant de vérifs consistant à vérifier un système de 3 inéquations
    Si c'est bon on garde. Pour l'angle d'incidence prendre l'angle fait par la droite avec la normale au plan.

Discussions similaires

  1. Intersection entre une surface et une droite dans l'espace
    Par Tartarpion dans le forum Mathématiques
    Réponses: 11
    Dernier message: 19/02/2015, 11h07
  2. [Débutant] droit dans l'espace
    Par soltanexlim dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/02/2015, 10h27
  3. [XL-2007] Intersection de 2 plans dans l'espace
    Par Gualino dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/06/2011, 00h27
  4. calcul de l'angle formé par deux droites dans l'espace
    Par liogo dans le forum Mathématiques
    Réponses: 2
    Dernier message: 30/03/2011, 16h32
  5. intersection d'une droite avec un triangle dans l'espace
    Par mylace dans le forum Mathématiques
    Réponses: 3
    Dernier message: 07/02/2009, 14h12

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