Noktaları daha yüksek eğrilik alanlarına nasıl yoğunlaştırabilirim?


11

Daha yüksek eğrilikli alanlarda daha yoğun bir şekilde konsantre etmek için noktaları örtük bir yüzey üzerinde nasıl dağıtabilirim?

Rastgele puan eklemeyi ve eğriliğe bağlı olarak gerekli olmayan noktaları reddetmeyi düşündüm, ancak benzer eğrilik alanlarına daha eşit bir dağılım sağlayan daha iyi bir yaklaşım olup olmadığını bilmek isterken, yine de yüksek eğrilik bölgeleri.

Özellikle bu noktaları yüzeyin bir üçgenleme için kullanmaya bakıyorum ve nispeten düz parçalar için ihtiyacımdan daha fazla üçgen oluşturmak istemiyorum.


Bu, bilinen bir türevi olan şekillere uygulanacak, böylece belirli bir noktadaki eğrilik hesaplanabilir.

Bunun gerçek zamanlı bir yaklaşım olması gerekmez.


Bir dağıtımdan örneklemenin daha doğru bir yolunu mu arıyorsunuz, montecarlo testi olmadan yani? Hesaplama yaklaşımı hakkında çok fazla umursamıyorsanız (yani hesaplama çabası yerine doğru bir yaklaşım arıyorsanız) bir çözümüm olabilir, ancak elbette optimize edilebilir.
user8469759

3
Analitik işlevi biliyor musunuz yoksa sadece örnekleyebilir misiniz? Analitik türevini biliyor musunuz?
Julien Guertault

@JulienGuertault Düzenlemem netleşiyor mu?
trichoplax

@Lukkio Önce doğruluk istiyorum, sonra yaklaşım çalıştıktan sonra optimizasyon daha sonra gelebilir.
trichoplax

1
Üçgenleştirme (veya daha genel olarak basitlik) kullanan ve genellikle seçilen bölgelerde daha yüksek bir örnekleme yoğunluğuna ihtiyaç duyma problemiyle karşı karşıya kalan sonlu eleman yöntemlerine bakmak isteyebilirsiniz . Bunun için algoritmalar geliştirmek zorundalar.
Wrzlprmft

Yanıtlar:


11

Uygulamaya çalışacağım fikir şu olurdu: Eğri için örnek oluşturuyorum, ancak yüzey uygulaması için basit olmalıdır.

Diyelim bir eğri var ki tekdüze parametrize. Diyelim ki eğrinin parametresi s . Amacınız , eğriliğin yüksek olacağı şekilde s değerine karşılık gelen noktayı örneklemektir .γss

Eğrilik büyüklüğünü alırsanız , bu da s işlevidir . Yani, işlevi normalleştirirseniz | c | , bir olasılık dağılımı elde edersiniz. Böyle bir dağılımın integralini alırsanız, birikimli dağılımınız olacaktır. Bu kümülatif fonksiyona C ( ler ) diyelim .cs|c|C(s)

Kümülatif fonksiyonu tarafından verilen bir dağılımından örnekleme sorun iyi değerin bir dizi örneklenmiş temelde bir kez, bilinen , bu değer ilgi çekici ile ilgili olacaktır.s0,s1,,sn

Bu yöntemin yüzey durumuna uygulanması düz olmalıdır, çünkü temel olarak iki boyutlu bir kümülatif dağıtım fonksiyonunuz vardır, ancak örnekleme problemi tamamen aynıdır.

Sadece biraz ayrıntı vermek için, kümülatif fonksiyonun iki adım içerdiği göz önüne alındığında, temel olarak bir dağılımdan örnekleme yapmaktır:

  1. aralığında rastgele bir değer al, diyelim k[0,1]k

  2. denklemini çözer .C(s)=k

Bu yaklaşım kesin, elbette pahalı, ancak böyle bir yaklaşımı seviyorsanız optimizasyon üzerinde çalışabilirsiniz.


1
Henüz lateks desteği yok.
joojaa

Parametrelendirmesi olmasa bile, örtük bir yüzeyle kullanılabilecek bir şey arıyordum. Türev biliniyorsa, örtük bir yüzeyi parametrelendirmek her zaman mümkün mü?
trichoplax

MathJax'tan faydalanabilecek sorular, MathJax elde etme şansımızı artırmak için bu meta cevaba eklenebilir. (Bu zaten eklenmiştir.)
trichoplax

İhtiyacınız olan şeyin eğrilikten türetilen dağıtım işlevi olduğunu unutmayın, her şeyi türetebileceğinizi söylediniz (bu şekilde ne tür bir yüzeye sahip oldunuz? Yani denklem). Her neyse ... "bilinen türev" ile ne demek istiyorsun? Türevin açık bir formülünü biliyor musunuz? ya da örtük mü? (yani diferansiyel denklem ile tanımlanmış)?
user8469759

1
Bu arada ... eğri / yüzey cebirsel ise (yani polinom veya rasyonel personel tarafından ifade edilirse), bspline / nurbs'a dayanan, bu tür eğrilerin parametrelendirilmesini nasıl gerçekleştireceğini açıklayan hesaplama yöntemleri vardır. Burada bir bakış vardı docs.lib.purdue.edu/cgi/… , daha fazla yöntem (hatta gelişmiş) Nurbs (Tiller'in NURBS kitabı) üzerinde en sevdiğim kitaplardan birinde bulunabilir.
user8469759

2

İyi bir başlangıç ​​noktası, SIGGRAPH 1994'te yayınlanan örtülü yüzeyleri örneklemek ve kontrol etmek için parçacıklar kullanan klasik kağıttır .

Makalede açıklanan basit bir parçacık simülasyonu Eğriler için fiziksel tabanlı parçacık sistemleri ( Computers ve Graphics , 1996) ile örtük nesnelerin örneklenmesi yüzeyler için de çalışır; örnekler için bkz . Örtük Yüzeyler İçin Dinamik Doku .

Daha yeni bir örnek için bkz . Örtük yüzeyler için şekil ve ton tasviri ( Computers & Graphics , 2011).


2

Aşağıdaki saf yaklaşım muhtemelen Lhf tarafından verilenler kadar güzel dağıtılmış noktalar vermeyecektir , ancak uygulanması çok daha kolay ve hesaplama açısından daha hızlı olmalıdır:

İki nokta için ve y , d ( x , y ) x ve y'nin ortalama eğriliğine sahip noktaların olmasını istediğiniz ortalama mesafeyi belirtir; örneğin, bazılarının x ve y'nin ortalama eğriliğinin tersi ile çarpımı .xyd(x,y)xyxy

Şimdi noktalarının koleksiyonu oluşturmak arda:bir

  1. xd(x,x)

  2. bir

  3. bir

    1. xybir
    2. zd(x,y)bir
    3. zd(x,y)bir

      • evet ise atın.
      • xzyzzbir

bir

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.