Bibliothèques logicielles Na-Delaunay Tesselation

10

J'ai un ensemble de points / nœuds connus espacés de manière irrégulière dans l'espace N-dimensionnel (N> = 2), et je voudrais un moyen de générer la triangulation Delaunay de ces points, et de retourner les éléments correspondants.

Existe-t-il des bibliothèques de maillage existantes qui effectueront une triangulation ND Delaunay?

(Je fais cela parce que je veux utiliser les éléments maillés comme base pour une interpolation linéaire à n'importe quel point de l'espace. Ma dimension est actuellement gérée par une classe C ++ basée sur un modèle si cela fait une différence dans les suggestions ...)

mirams
la source
Salut mirams, et bienvenue sur scicomp! Vous pouvez être intéressé par cette question: scicomp.stackexchange.com/questions/770/…
Paul
Merci pour le lien, j'espérais éviter d'écrire mon propre maillage. Tetgen (pour 3D) fonctionne sur de nombreuses lignes de code. Cela semble être un problème qui a dû être résolu plusieurs fois.
mirams
question populaire ... aussi scicomp.stackexchange.com/questions/7664/…
clipper
La triangulation de Delaunay est généralement dérivée de la coque convexe dans un espace de dimension supérieure. Voir la remarque qhull ci-dessous.
meawoppl
La 3D n'est pas si difficile, mais pour 4D, c'est extrêmement difficile lors du raffinage, j'ai posé une question sur MathOverflow, mais pas encore de réponse: mathoverflow.net/questions/130878/…
Shuhao Cao

Réponses:

4

Je pense que vous pouvez le faire en utilisant un logiciel de coque convexe (par exemple QHull) via l'algorithme de levage. Au moins, la documentation de la commande "delaunayn" de matlab semble en indiquer autant.

rchilton1980
la source
2
Testé en 4D, et cela semble bien fonctionner dans QHull (je l'utilise via scipy.spatial en python).
Ethan Coon
1
Vous ne battrez pas qhull. J'ai également utilisé dans via Scipy jusqu'à 6 dimensions.
meawoppl
Hmmm - ceci sur qhull.org/news/qhull-news.html n'est pas idéal: "Tous les utilisateurs En 3D et plus, l'option 'Qt' ne produit pas de triangulations conformes pour les facettes adjacentes non simplificatrices. Par exemple, si vous disposez d'un réseau de sites d'entrée en 3D, leur triangulation Delaunay se compose de cubes. L'option 'Qt' triangulera chaque cube en tétraèdres. Dans chaque cube, la triangulation est cohérente, mais pas nécessairement cohérente entre les cubes adjacents [C. Bertoglio; C. de Visser]. La manière de résoudre ce problème est inconnue. " Cela vaut la peine d'essayer, je vais voir comment je m'en sors.
mirams
5

Cette fonctionnalité semble être disponible dans CGAL

Juan M. Bello-Rivas
la source
Cela semble également bon. Je vais essayer à la fois Qhull et ça. Merci pour les suggestions.
mirams
0

J'ai également trouvé du distmesh dans Matlab qui semble pouvoir faire ceci:

Page d'accueil de Distmesh

Il fait des tesselations pour les maillages par éléments finis (via QHull) mais avec une belle interface pour définir des zones / surfaces en fonction des fonctions de distance. Mieux pour les cas où vous souhaitez définir une surface mathématiquement et ne vous souciez pas de l'emplacement des nœuds internes.

mirams
la source