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

Algorithmes et structures de données Discussion :

Tester si un point est à l'intérieur d'une forme 3D définie par des triangles


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Août 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Tester si un point est à l'intérieur d'une forme 3D définie par des triangles
    Bonjour à tous,
    la question est dans le titre.
    La forme est définie par un ensemble de triangles orientés, certains forment des "pyramides" (donc forme localement convexe ou concave).
    Intuitivement j'aurais envie de lancer des rayons dans "toutes" les directions d'espace et si tous les rayons interceptent un triangle, c'est qu'on est dedans.

    Mais y a t-il des alternatives plus rapides en calcul, car mes triangles sont de l'ordre de 50 000, et ce test doit être fait pour un ordre de 1000 points à chaque ite de calcul (plusieurs milliers d'ité aussi).
    Merci pour votre aide !

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Dans le cas général, il suffit que tu traites une direction (la verticale par exemple).
    Si le nombre de triangles croisés par le demi-verticale vers le haut est impair, et idem pour la demi-verticale vers le bas, alors ton point est à l'intérieur du volume (et la réciproque est également vraie).
    Attention à bien gérer les cas où la droite choisie coupe une des arêtes , ou passe par un sommet. Risque de double-compte.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Août 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Effectivement, ça simplifie beaucoup ... merci !

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    ne serait il pas plus simple de verifier que le point est dans le triangle bien évidement et que celui-ci est coplanaire ?
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2013, 15h08
  2. tester si un point est à l'intérieur d'un polygone
    Par zemblamoh dans le forum Mathématiques
    Réponses: 4
    Dernier message: 11/03/2010, 16h25
  3. Calcul vectoriel (savoir si un point est à l'intérieur d'un triangle)
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/10/2008, 22h46
  4. Tester si un point est dans une région
    Par mimile87 dans le forum SDL
    Réponses: 3
    Dernier message: 06/06/2008, 15h39
  5. Tester si un point est présent dans un polygone
    Par habasque dans le forum 2D
    Réponses: 11
    Dernier message: 26/09/2007, 16h00

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