Döşenebilecek bir gürültü işlevi yapmak neden iki kat daha pahalı?


13

Perlin gürültü döngüsünü sorunsuz bir şekilde yapmanın iki farklı şekilde biraz farklı şekillerde hesaplanmasını ve iki sonucu toplamasını gerektiren birkaç yerde gördüm.

Bu Perlin gürültü matematik SSS bir formül verir:

Floop(x,y,z)=(tz)F(x,y,z)+zF(x,y,zt)t

z yönünde bir gürültü fonksiyonu halkası yapmak için . Ayrıca bunu genişletmek, 2 boyutta ilmek yapmanın 4 F değerlendirmesi alacağını ve 3 boyutta ilmek yapmanın 8 F değerlendirmesi alacağını belirtmektedir .FzFF

Bunun sadece sürekli değil, sürekli olarak farklılaşabilen karolar arasında kesintisiz bir birleşim sağladığını anlıyorum, ancak sezgisel olarak, gürültü noktalarının ızgara noktaları ile basitçe bir kez değerlendirildiği durumlarda gerekli karo boyutunu azalttığında sezgisel olarak bekliyorum. Gürültü fonksiyonu sadece hemen çevredeki ızgara noktalarına (2B gürültü için 4, 3B gürültü için 8) dayanıyorsa, hesaplanacak nokta döşemenin sağ kenarını geçince kesinlikle en soldaki ızgara noktalarını kullanmak diğer ızgara noktaları arasındaki gürültü kalitesi?

Bu çoklu hesaplama yaklaşımını birkaç yerde gördüğümden beri, bunun bir avantajı olması gerektiğini varsayıyorum, ancak dezavantajı, çok büyük olduklarında ızgara noktalarını başlangıca geri sarmakla uğraşıyorum. Neyi kaçırıyorum?

Yanıtlar:


19

İnsanların bunu yaygın olarak tavsiye etmesi talihsiz bir durumdur. Bir gürültü işlevinin bu şekilde çevrilmiş iki (veya dört vb.) Kopyası arasında bir araya gelmek oldukça kötü bir fikirdir. Sadece pahalı olmakla kalmaz, doğru görünümlü sonuçlar bile üretmez!

Perlin gürültüsü Karışık Perlin gürültüsü

Solda biraz Perlin gürültüsü var. Sağda, soldan sağa yığınlanmış ve harmanlanmış iki Perlin gürültüsü örneği vardır.

Fark biraz incedir, ancak ikinci görüntünün ortadan aşağıya doğru dikey bir sütunda daha düşük kontrasta sahip olduğunu görebilirsiniz. Bu, gürültü işlevinin iki farklı örneği arasında% 50'lik bir karışımdır. Böyle bir karışım orijinal gürültü işlevine benzemez: sadece çamurlu bir karmaşaya benziyor.

Tamam, bu yüzden sadece ham gürültüye bakmak o kadar da kötü değil ... ama o zaman görüntü üzerinde doğrusal olmayan dönüşümler yaparsanız, düzgün olmayan kontrast sorunlara neden olabilir. Örneğin,% 60 eşikte olan görüntüler. (Örneğin, bir okyanusta adalar oluşturmayı düşünün.)

Eşikli Perlin gürültüsü Eşik karışımlı Perlin gürültüsü

Şimdi sağdaki görüntünün ortasında daha az, daha küçük beyaz alanlara sahip olduğunu açıkça görebilirsiniz.

Bahsettiğiniz gibi, Perlin gibi ızgara tabanlı gürültü için, psödondom degradelerini ızgara noktalarına döşemek daha iyi bir yoldur. Bunu yapmak kolay ve ucuzdur ve daha sonra her zamanki gibi enterpolasyon algoritmasını uygulayabilirsiniz (bir döşeme dokusunun bilinear enterpolasyonuna çok benzer). Bu, garip yapay nesneler olmadan döşeme gürültüsü üretir, çünkü üstünden ziyade altta yatan gürültü algoritması ile çalışır . Temel olarak kullandığı rasgele özellik noktalarını döşeyerek Worley gürültüsü (hücresel gürültü) ile benzer bir strateji kullanabilirsiniz.

Birden fazla oktav gürültüsü ile her zaman bu kadar kolay değildir. Oktavlar arasındaki nispi ölçek (diğer bir deyişle "lacunarity") tamsayı veya basit bir rasyonel sayı değilse, tüm oktavların ızgaralarının eşleştiği uygun bir döşeme noktası bulamayabilirsiniz. Her oktavı bağımsız olarak döşeyebilirsiniz, ancak genel gürültü hala bu durumda tilable olmaz.


4
Yan yana görüntüler , açıklama için sezgisel bir his elde etmek için gerçekten bir fark yaratır. Kendi cevaplarım için bunu göz önünde bulunduracağım.
trichoplax
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.