Bir tetrahedronun bir Polihedron içinde olup olmadığını test etme


15

Bir tetrahedron ve bir polihedron p var . t , tüm köşelerini her zaman p ile paylaşacak şekilde kısıtlanmıştır . I olup olmadığını belirlemek için isteyen t yalan içinde p .t ptpt p

Çözüme katkıda bulunması durumunda soruna bir ayrıntı eklemek istiyorum: bir Delaunay tetrahedron ve p'nin yüzleri üçgen ve p'nin köşeleri açısından kuvvetli Delaunay . Bir dörtyüzlü olan Delaunay eğer circumsphere kendi noktaların içindeki başka hiçbir köşe içerir. Yüzünde o yüzün köşelerini içeren ancak üzerinde veya içinde başka tepe noktası bulunmayan bir durum varsa , bir yüz kesinlikle Delaunay'dır .tpp

Aşağıdaki şekiller içinde aynı sorunu göstermek alanı: 2D

Orijinal çokgen p :

resim açıklamasını buraya girin

Delaunay köşelerinin üçgenlenmesip :

resim açıklamasını buraya girin

Ve sonuç iç / dış üçgenler üzerinde testi t (Gölgeli üçgenler içinde ve geri kalan dış ):p

resim açıklamasını buraya girin

İstenen sonuç ( üçgenlerin dışında budama ) :

resim açıklamasını buraya girin


Benim asıl sorunum 3B uzayda bu yüzden yukarıdaki şekillerde üçgenler tetrahedronlara ve poligon p rasgele bir polihedron p'ye çeviriyor . Bu sorunun bazı formülasyonlarını anladım:tpp

Formülasyon 1 t'nin p dışında olabilen
tek parçaları kenarları ve üçgen yüzleridir, ancak genel olarak yüzeyinde t dışında tüm kenarları olan bir p olabilir, bu nedenle alternatif olarak bu problem, tetrahedron t için p dışında bir yüz olup olmadığını test edin ?tpp tt p

Formülasyon 2
: Başka bir olası bu soruna yönelik bir bakış açısı ama herhangi bir resmi fikrin eksik olması
durumunda, geometrik olarak sonra herzaman olacaktır dışında yapışmasını üzerinde dış yüzeyinde p . Biz hesaplamak girerse hatlarını (gayri dış sınırı) V ve Cı- V s şekilde V = V tV p ve V t , V s bir köşe kümeleridir t , s , sonra sırasıyla, tpCVCVpV=VtVpVt,Vpt,p ifftpiçinde yer alır. CV=CVp tp

Bilmek isterim:

  • Formülasyon 1 veya Formülasyon 2'yi nasıl çözebilirim ?
  • Veya bunu çözmek için tamamen farklı bir yaklaşım var mı?

Güncelleme:
Artık bu sorunun çokyüzlülük probleminde Point'e indirgenebileceğini anlıyorum . Bir dış tetrahedron , p dışında uzanan en az bir yüze sahip olacağından , bu yüzdeki herhangi bir keyfi nokta (genel olarak köşeleri hariç) her zaman p dışında kalır . Bu nedenle, t'nin her yüzü için, keyfi bir nokta alıp o noktanın p dışında olup olmadığını test etmem gerekir .tp pt p

Gönderen çokgen noktaya makalesinde Bilmem geldi algoritma döküm Ray ve sayı algoritması Sargı . Işın dökümü, p'nin yüzeyinde noktanın bulunduğu durumlarda sayısal olarak kararlı değildir . Ancak Sargı numarası algoritmasının sayısal sağlamlığı burada ele alınmamıştır. p

Yukarıdakilere dayanarak, temel sorunum şimdi görünüyor (lütfen ayrı bir soru olarak sorulup sorulmayacağını belirtin): Çokgen problemi
için sayısal olarak sağlam bir algoritma var mı ?


Açıklığa kavuşturmak için: 1) Polihedron dışbükey olmayabilir ve 2) t ve p iseptptptp

@IlmariKaronen 1) Evet 2). Hayır, bildiğim kadarıyla tahmin edebileceğiniz gibi, arasındaki tek fark ve dış tetrahedron onun paylaşılmayan yüz / kenar yalan olacağıdır dışında eğertptp

1
İki eş düzlemli yüz veya eşdoğrusal kenarlar yalnızca kısmen çakışabilir. Bu durum, kendisinin, iki veya daha fazla eş düzlemli köşeden daha fazla olduğu sürece, çakışan yüzleri veya kenarları olmasa bile olabilir . p
Ilmari Karonen

1
dışbükeylik, tüm köşelerin polihedron içinde olabileceği tuhaflığına sahiptir ve yine de tetrahedron dışarıda olabilir (çünkü bir kenarın bir bütün olarak içeride olması gerekmez). Olası algoritma, kenarların (polihedron ve tetrahedron arasında) kavşaklara sahip olup olmadığına bakın => tetrahedronun dışarıda kalması harika
Nikos M.

1
Gilbert – Johnson – Keerthi mesafe algoritmasını gördünüz mü? Önce çokgen / polihedronu dışbükey şekillere ayırmanız gerekir (belirttiğiniz gibi, basit bir kompleks işi yapar). GJK'nın çok kararlı ve çok hızlı olduğu bilinmektedir.
Takma ad

Yanıtlar:


2

Geçenlerde, ve diğerleri Alec Jacobson 'genelleştirilmiş sargı numaralarını kullanarak Sağlam iç-dış segmentasyon' bir gazetenin içinde bu soruna bir çözüm bulduk burada . Genelleştirilmiş sarım sayısı kavramını kullanarak bir noktanın isteğe bağlı (kendiliğinden kesişme, manifold olmayan, açık yüzeyler vb.) Poligonal ağın içinde (veya dışında) bulunması sorununu çözer .

tp


ptpptppttp
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.