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

DirectX Discussion :

Lister les vertices adjacents à chaque vertice ?


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Par défaut Lister les vertices adjacents à chaque vertice ?
    Bonjour, je cherche à lister pour chaque vertice d'un mesh, les vertices qui sont "à 1 edge" tout autour (je ne sais pas si le terme adjacent convient).
    Est-ce qu'il y aurait un méthode simple, en fait je vois bien un moyen un moyen mais je galère un peu du fait que le nombre peu varier, il faudrait d'abord compter le nombre et ensuite les lister...

    Merci

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Tout dépend des structures de données que tu utilises ..

  3. #3
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Ceci peut-être ?

    Bakura, le roi des papiers et des ressources en tout genre .

  4. #4
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Ah, mais pour faire ça de manière simple et efficace, il faut changer de structures de données, qui soient adaptées au problème.

    Plusieurs structures de données pour les maillages 3D existent : le directed-edge mesh, halfedge-mesh, winged-edge mesh.

    Par contre, pour trouver une documentation simple et gratuite expliquant le fonctionnement des 2 premiers...
    En effet, maintenir les invariants du maillage n'est pas évident du tout pour halfedge et directed edge (qui est une spécialisation des halfedge mesh) ; malheureusement, LA référence pour les deux premiers que tous les articles scientifiques citent est payante.

    Winged-edge mesh est en quelque sorte un ancêtre.

    Le plus simple, c'est d'utiliser l'une des deux bibliothèques suivantes, spécialisées pour le calcul géométrique :
    - CGAL
    - OpenMesh

    Sinon ce que tu peux faire, c'est pour chaque sommet, associer les sommets/triangles adjacents, la méthode bourrin quoi, comme dans le lien de Bakura.
    Et idem pour les triangles (mais c'est facultatif, parce qu'on peut avoir accès à ces informations indirectement en passant par les sommets composant le triangle).

    J'ai aussi une implémentation de cette dernière structure en C++ templatisée, pas totalement finie (il manque les operations d'Euler par exemple), mais très utilisable.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Par défaut
    Bon, je n'ai pas tout compris les histoire de direct edge, half edge etc. je pense que je vais opter pour la méthode bourin, je m'en sortirai bien.
    Merci pour vos réponses.

  6. #6
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    De toute façon, c'est le genre de choses que tu peux pré-calculer je pense. En utilisant la structure de données que je t'ai passé dans le lien, tu lances lien une fois au début pour chaque mesh, tant pis si ça prends du temps.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2015, 17h19
  2. Réponses: 2
    Dernier message: 28/02/2014, 16h55
  3. [Drupal] lister les marques de voitures et les types de chaque marque
    Par gdhia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 07/12/2012, 14h45
  4. Réponses: 2
    Dernier message: 07/03/2007, 16h30
  5. [TP]Lister les fichiers d'un répertoire
    Par nvtitan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 21/06/2002, 11h22

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