N-boyutlu Delaunay Tesselation Yazılım Kütüphaneleri


10

N-boyutlu uzayda (N> = 2) düzensiz aralıklı bilinen bir dizi nokta / düğüm var ve bu noktaların Delaunay üçgenleme oluşturmak ve karşılık gelen öğeleri döndürmek için bir yol istiyorum.

ND Delaunay üçgenleme yapacak mevcut ağ kütüphaneleri var mı?

(Bunu yapıyorum, çünkü kafesli elemanları uzayda herhangi bir noktada doğrusal enterpolasyon için bir temel olarak kullanmak istiyorum. Boyutum şu anda öneri üzerinde herhangi bir fark yaratıyorsa boyut üzerinde şablonlanmış bir C ++ sınıfı tarafından işleniyor ...)


Merhaba mirams ve scicomp'a hoş geldiniz! Bu soru ilginizi çekebilir: scicomp.stackexchange.com/questions/770/…
Paul

Bağlantı için teşekkürler, kendi mesher yazmaktan kaçınmayı umuyordum. Tetgen (3D için) birçok kod satırında çalışır. Birçok kez çözülmesi gereken bir sorun gibi görünüyor.
mirams


Delaunay üçgenleme tipik olarak daha yüksek boyutlu uzayda dışbükey gövdeden türetilir. Aşağıdaki qhull açıklamasına bakın.
meawoppl

3D o kadar da zor değil, ancak 4D için rafine ederken son derece zor, MathOverflow ile ilgili bir soru sordum, ancak henüz cevap vermedim: mathoverflow.net/questions/130878/…
Shuhao Cao 17:13

Yanıtlar:


4

Bunu kaldırma algoritması ile dışbükey gövde yazılımı (örneğin QHull) kullanarak yapabilirsiniz düşünüyorum. En azından, matlab'ın "delaunayn" komutunun belgelenmesi çok fazla gibi görünüyor.


2
4D'yi test etti ve QHull'da iyi çalışıyor gibi görünüyor (python'da scipy.spatial aracılığıyla kullanıyorum).
Ethan Coon

1
Qull'u yenmeyeceksin. Scipy ile 6 boyuta kadar kullandım.
meawoppl

Hmmm - bu qhull.org/news/qhull-news.html adresinden ideal değil: "Tüm kullanıcılar 3-d ve daha yüksek sürümlerde, 'Qt' seçeneği bitişik, basit olmayan yönler için uygun üçgenlemeler üretmez. Örneğin, Eğer düzenli, 3 boyutlu giriş siteleriniz varsa, Delaunay üçgenleme küplerden oluşur: 'Qt' seçeneği her bir küpü tetrahedeye üçgenleyecektir.Her küp içinde üçgenleme tutarlıdır, ancak bitişik küpler arasında tutarlı olması gerekmez. [C. Bertoglio; C. de Visser] .Bu sorunun nasıl çözüleceği bilinmiyor. " Yine de denemeye değer, nasıl geçtiğimi göreceğim.
mirams


0

Ben de bunu yapabiliyor gibi görünen Matlab distmeh bulduk:

Distmesh Ana Sayfası

Sonlu eleman ağları için (QHull aracılığıyla) tesselasyonlar yapar, ancak mesafe fonksiyonlarına dayalı alanları / yüzeyleri tanımlamak için güzel bir arayüze sahiptir. Bir yüzeyi matematiksel olarak tanımlamak istediğiniz ve iç düğümlerin nerede olduğu önemli değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.