Bibliotecas de software de teselación Delaunay N-dimensional


10

Tengo un conjunto de puntos / nodos conocidos espaciados irregularmente en el espacio N-Dimensional (N> = 2), y me gustaría una forma de generar la triangulación de Delaunay de estos puntos, y devolver los elementos correspondientes.

¿Existen bibliotecas de mallado existentes que harán una triangulación ND Delaunay?

(Estoy haciendo esto porque quiero usar los elementos de malla como base para la interpolación lineal en cualquier punto del espacio. Mi dimensión actualmente es manejada por una clase C ++ con plantilla sobre la dimensión si eso hace alguna diferencia en las sugerencias ...)


Hola mirams, y bienvenido a scicomp! Te puede interesar esta pregunta: scicomp.stackexchange.com/questions/770/…
Paul

Gracias por el enlace, esperaba evitar escribir mi propio mallador. Tetgen (para 3D) se ejecuta en muchas líneas de código. Parece un problema que debe haber sido resuelto muchas veces.
mirams


La triangulación de Delaunay se deriva típicamente del casco convexo en un espacio dimensional superior. Vea el comentario de qhull a continuación.
meawoppl

3D no es tan difícil, pero para 4D es extremadamente difícil al refinar, hice una pregunta en MathOverflow, pero aún no hay respuesta: mathoverflow.net/questions/130878/…
Shuhao Cao

Respuestas:


4

Creo que puede hacerlo utilizando el software de casco convexo (por ejemplo, QHull) a través del algoritmo de elevación. Al menos, la documentación del comando "delaunayn" de matlab parece indicarlo.


2
Probado 4D, y eso parece funcionar bien en QHull (lo uso a través de scipy.spatial en python).
Ethan Coon

1
No vencerás a qhull. También lo he usado en via Scipy en hasta 6 dimensiones.
meawoppl

Hmmm - esto de qhull.org/news/qhull-news.html no es ideal: "Todos los usuarios en 3-d y superiores, la opción 'Qt' no produce triangulaciones conformes para facetas adyacentes no simpliciales. Por ejemplo, si tiene una matriz regular de sitios de entrada en 3-D, su triangulación de Delaunay consiste en cubos. La opción 'Qt' triangulará cada cubo en tetraedros. Dentro de cada cubo, la triangulación es consistente, pero no necesariamente es consistente entre cubos adyacentes [C. Bertoglio; C. de Visser]. Se desconoce cómo solucionar este problema ". Aunque vale la pena intentarlo, veré cómo me va.
Mirams


0

También he encontrado distmesh en Matlab que parece ser capaz de hacer esto:

Página de Distmesh

Realiza teselaciones para mallas de elementos finitos (a través de QHull) pero con una interfaz agradable para definir áreas / superficies basadas en funciones de distancia. Mejor para casos en los que desea definir una superficie matemáticamente y no le importa dónde están los nodos internos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.