Librerie di software di tesselazione Delaunay N-dimensionale


10

Ho un insieme di punti / nodi noti spaziati irregolarmente nello spazio N-dimensionale (N> = 2) e vorrei un modo per generare la triangolazione Delaunay di questi punti e restituire gli elementi corrispondenti.

Esistono librerie di mesh esistenti che eseguiranno una triangolazione ND Delaunay?

(Lo sto facendo perché voglio usare gli elementi mesh come base per l'interpolazione lineare in qualsiasi punto dello spazio. La mia dimensione è attualmente gestita da una classe C ++ modellata sulla dimensione se questo fa differenza nei suggerimenti ...)


Ciao miram, e benvenuto su scicomp! Potresti essere interessato a questa domanda: scicomp.stackexchange.com/questions/770/…
Paul

Grazie per il link, speravo di evitare di scrivere il mio mesher. Tetgen (per 3D) viene eseguito su molte righe di codice. Sembra un problema che deve essere stato risolto molte volte.
mirams,


La triangolazione Delaunay è tipicamente derivata dallo scafo convesso nello spazio dimensionale superiore. Vedi l'osservazione qhull di seguito.
meawoppl,

Il 3D non è così difficile, ma per la 4D è estremamente difficile durante la raffinazione, ho fatto una domanda su MathOverflow, ma ancora nessuna risposta: mathoverflow.net/questions/130878/…
Shuhao Cao,

Risposte:


4

Penso che puoi farlo usando il software dello scafo convesso (ad es. QHull) tramite l'algoritmo di sollevamento. Almeno, la documentazione del comando "delaunayn" di matlab sembra indicare altrettanto.


2
Testato 4D, e sembra funzionare bene in QHull (lo uso tramite scipy.spatial in Python).
Ethan Coon,

1
Non batterai qhull. Ho usato via Scipy e fino a 6 dimensioni.
meawoppl,

Hmmm - questo da qhull.org/news/qhull-news.html non è l'ideale: "Tutti gli utenti In 3-d e superiore, l'opzione 'Qt' non produce triangolazioni conformi per sfaccettature adiacenti, non semplici. Ad esempio, se disponi di una serie regolare di siti di input 3-d, la loro triangolazione Delaunay è composta da cubi. L'opzione 'Qt' triangolerà ogni cubo in tetraedri. All'interno di ciascun cubo, la triangolazione è coerente, ma non è necessariamente coerente tra i cubi adiacenti [C. Bertoglio; C. de Visser]. Come risolvere questo problema non è noto. " Vale la pena provare, vedrò come vado avanti.
mirams,


0

Ho anche trovato distmesh in Matlab che sembra essere in grado di fare questo:

Homepage di Distmesh

Fa tessellazioni per maglie di elementi finiti (via QHull) ma con una bella interfaccia per la definizione di aree / superfici basate su funzioni di distanza. Meglio per i casi in cui si desidera definire matematicamente una superficie e non preoccuparsi di dove siano i nodi interni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.