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

3D Java Discussion :

[Java3d] Triangulation Delaunay


Sujet :

3D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut [Java3d] Triangulation Delaunay
    Bonjour à tous,

    Voilà je développe acvtuellement un programme en java3d qui doit pouvoir modéliser une forme complexe quelconque à partir d'un ensemble de points la constituant. Après de nombreuses recherches, j'en ai déduit que la meilleure solution était d'utiliser la Triangulation de Dealaunay. Seulement, l'algorithme n'est pas simple. Je me demandais donc s'il n'existait pas déjà une implémentation optimisée en java3d de cet algorithme ?

    Merci.
    [Nean]

  2. #2
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut QuickHull
    Bonjour,

    Il semblerait que ce qui corresponde le mieux à mon problème (un nuage de point dont je veux l'enveloppe convexe) soit l'algorithme appelé "QuickHull". J'en ai trouvé une implémentation ici seulement elle ne fonctionne pas toujours correctement avec les points que je lui donne. Il semble parfois en ignorer.

    Si quelqu'un connaît une autre implémentation en java du QuickHull ?

    [Nean]

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut Ayé
    Pour les intéressés, j'ai trouvé une API qui réalise l'algorithme QuickHull en 3D:
    http://www.cs.ubc.ca/spider/lloyd/java/quickhull3d.html

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Est-ce que cette lib sait-elle gérer (temps acceptables pour une ihm) un bon paquet de points, genre un noyau de cellule segmenté en microscopie confocale soit dans les 100 000 points ?

    Si oui, comment affiches-tu le résultat de cette librairie dans une scene 3d ?
    Question basique de débutant en 3d ... merci

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut
    Est-ce que cette lib sait-elle gérer (temps acceptables pour une ihm) un bon paquet de points, genre un noyau de cellule segmenté en microscopie confocale soit dans les 100 000 points ?
    Moi je l'utilise sur des nuages de points de 15 à 20 000 points, et le temps d'exécutuion est inférieur à une seconde.

    Si oui, comment affiches-tu le résultat de cette librairie dans une scene 3d ?
    Alors en java3d voilà comment je procède :
    1) J'effectue la recherche de l'enveloppe convexe par l'algo QuickHull et j'effecu une triangulation pour que toutes les faces soient des triangles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     QuickHull3D hull = new QuickHull3D();
    hull.build (pointsd, nbPoints);
    hull.triangulate();
    2) Je récupère tous les points de l'enveloppe convexe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    quickhull3d.Point3d[] vertices = hull.getVertices();
    Point3f pts[] = new Point3f[hull.getNumVertices()];
    for (int i = 0; i < vertices.length; i++)
       pts[i] = new Point3f((float) vertices[i].x, (float) vertices[i].y, (float) vertices[i].z);
    3) Ensuite je récupére les faces de l'enveloppe (chaque face faisant référence à 3 points récupérés précédemment) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int[][] faceIndices = hull.getFaces();
    4) je contruit une nouvelle forme géométrique à l'aide d'une classe dérivée de TriangleArray que j'ai écrite en lui passant l'ensemble des points que j'ai réuni dans un tableau (pour chaque face j'ajoute les 3 points de la face).

    Voilà j'espère avoir été clair...

    [Nean]

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    On ne peut plus clair!! merci bien
    Ayant suivi une petite formation (1/2 journée) de java 3D, j'ai avancé un peu sur ma problématique :
    -Ayant comme source des nuages de points contigus (formes pleines), je pense pouvoir supprimer les contenu des nuages et garder uniquement les contours 3D (érosion + différence sur chaque slice source). Ca devrait accelérer le calcul de la surface vu qu'il ne restera plus que la surface.
    -je suis assez tenté par le passage par du VRML, histoire de récupérer un browser 3d existant a intégrer dans mon appli java et disposer d'une persistance de ma scene sur le disque dur sans pour autant coder une persistance ad-hoc.

    Si tu as des conseils, je suis prenneur !
    merci

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

Discussions similaires

  1. Question sur Propriété Triangulation Delaunay
    Par b_reda31 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 23/02/2014, 18h15
  2. Application Triangulation Delaunay
    Par callofduty dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 21/08/2013, 19h04
  3. Delaunay Triangulation Algo 3D
    Par Husqvarna dans le forum C++
    Réponses: 4
    Dernier message: 31/03/2006, 23h27
  4. Triangulation de Delaunay pour des carreaux troués
    Par Laurent Gomila dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 27/07/2005, 22h14
  5. triangulation de delaunay
    Par Smuk dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/04/2005, 14h15

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