![]() |
Bu kısa eğitim, bir .ass dosyası aracılığıyla Mandelbulb’un nasıl oluşturulacağını ele almaktadır. Mandelbrot ve Julia kümelerinin 3 boyutlu bir “Mandelbulb” versiyonunu oluşturuyoruz. Mandelbulb’un nasıl oluşturulacağı hakkında daha fazla bilgi için, “Prosedürlerden Büyük Veri Kümeleri” eğitimine bakın.
![]() |
Mandelbulbun yakından görünümü. Binlerce minik küreden oluştuğunu açıkça görebilirsiniz.
Julia kümesi, karmaşık düzlemde, kareleri alındığında ve bir sabite (C) yinelemeli olarak eklendiğinde, ‘tutuklu’ noktaların 2 yarıçaplı bir çemberden ayrılmadığı noktalar kümesidir. C’nin tüm olası değerleri için tam bir Julia kümesi vardır; C, karmaşık düzlemde 2 boyutlu bir değerdir.
Julia setleri 2 farklı türde mevcuttur:
- Tamamen bağlantılı.
- Birbirinden kopuk Cantor toz noktaları (Cantor tozu hakkında daha fazla bilgi için – http://en.wikipedia.org/wiki/Cantor_set)
Bir Julia kümesinin merkez noktası (0,0) bir tutsak nokta ise, Julia kümesi tamamen bağlantılıdır; tutsak nokta değilse, Julia kümesi bir Cantor tozudur.
Mandelbrot kümesi, tüm tam bağlantılı Julia kümelerinin kümesidir. Tüm olası Julia kümelerinin merkez noktasının örneklenmesiyle oluşturulur. Yani, bir Mandelbrot kümesindeki her nokta için bir Julia kümesi oluşturabilirsiniz. Her iki küme de karmaşık düzlemde sürekli fonksiyonlar olmasına rağmen, genellikle çift bir ızgara (piksel) örneklenerek oluşturulurlar ve eğer nokta bir “tutuk nokta” ise siyah olarak gösterilir.
Mandelbulb bu matematiği üç boyuta genişletir. Bu jeneratör, düzenli bir ızgaradaki tüm noktaları örnekleyerek çalışır ve eğer nokta bir “tutuklu nokta” ise, onu işleme için bir AiPoints geometri düğümüne ekler.
Mandelbulb’u oluşturmak ve render etmek için aşağıdaki dosyalara ihtiyacınız olacak:
Derlenmiş Mandelbulb prosedürü
Arnold 6: Tüm platformlar
Bu eğitime başlamadan önce Arnold’un güncel bir sürümünü kullandığınızdan emin olun. Aksi takdirde, Mandelbulb’u oluştururken sorunlarla karşılaşabilirsiniz.
.ass dosyası #
- Öncelikle bir yedek nesne (diğer adıyla Arnold prosedürü) oluşturarak başlayın. Arnold > Yedek Nesne > Oluştur’a gidin. Yedek nesneyi seçin ve öznitelik düzenleyicisinde Mandelbulb.ass dosyasını bulun.
Mandelbulb prosedürel eklentisini yüklemek için, onu eklenti arama yoluna eklemeniz gerekir (ARNOLD_PLUGIN_PATH ortam değişkenini kullanın veya kick -l komutunu çalıştırın). Eklenti yüklendiğinde, sahnede Mandelbulb adlı Arnold prosedürel düğümünü kullanabilirsiniz.
Mandelbulb Arnold Prosedürel (yedek) modeline bir gölgelendirici atayabilirsiniz. Bir ışık oluşturun ve sahneyi render edin. Render işleminden önce Mandelbulb’un oluşturulması biraz zaman alacaktır.
Örnek için bu .ass dosyasına bakın.
Arnold prosedüründe mandelbulb.dll dosyasını doğrudan ayarlayabilir ve Kullanıcı Seçenekleri alanını kullanarak özel parametreler tanımlayabilirsiniz.
Izgara boyutu #
Izgara boyutu, ızgaradaki hücre sayısıdır, yani 800 x 800 x 800.
Mandelbulb’un çözünürlüğünü artırmak için ızgara boyutunu artırmanız gerekecektir. Daha yüksek sayılar daha fazla küre oluşturacaktır. Bu sayıyı artırırken dikkatli olun, çünkü bellek kullanımı ve işleme süreleri artacaktır.
![]() |
![]() |
| Izgara boyutu: 400 | Izgara boyutu: 800 |
Maksimum yineleme sayısı #
Denenebilecek maksimum yineleme sayısı. Bu yineleme sayısından sonra nokta hala 2 yarıçaplı bir kürenin içindeyse, o noktanın “tutuk nokta” olduğu kabul edilir.
![]() |
![]() |
| Maksimum yineleme sayısı: 3 | Maksimum yineleme sayısı: 9 |
Güç #
İki boyutta, Julia kümeleri ve Mandelbrot kümeleri, Z’nin 2. kuvvetinin C’ye eklenmesiyle hesaplanır. Üç boyutta, 8. kuvvete yükseltmek daha ilginç sonuçlar verir, ancak istenirse bunu değiştirmeyi denemek için bir kontrol mekanizması mevcuttur.
![]() |
![]() |
![]() |
| Güç: 4 | Güç: 8 | Güç: 12 |
Spheremult #
Bu, her hücredeki kürelerin yarıçapları için bir çarpan; daha büyük küreler daha iyi kaynaşacak ancak görüntüyü “şişkin” hale getirecek, daha küçük küreler ise ızgarayı daha belirgin gösterecektir.
![]() |
![]() |
| Spheremult: 1 | Spheremult: 2 |
Orbitthresh #
Bir nokta bu mesafeden daha öteye ilerlemiyorsa, Mandelbulb’un içinde olduğu varsayılır ve render işlemine eklenmez; bu, Mandelbulb’un merkezindeki geniş bir boş alanı temizleyerek geometriyi biraz daha hafifletir.
![]() |
![]() |
| Orbitthresh: 0.05 | Obritthresh: 2 |
Parçalar #
Bu, Mandelbulb’u bölmek için kullanılacak parça sayısıdır; böylece tüm seti aynı anda RAM’de oluşturmazsınız. Daha yüksek sayılar daha az RAM kullanır ve yaklaşık 30 civarında bir doygunluk noktasına ulaşılır.
Konular #
Izgaradaki değerleri örneklerken oluşturulacak iş parçacığı sayısı.
Julia #
Mandelbulb veya Julia kümesi olarak görüntülemeyi değiştiren bir anahtar.
![]() |
![]() |
| Julia: Kapalı | Julia: Evet |
Cval #
Julia kümesi oluşturmak için kullanılan C değeri; julia == off ise göz ardı edilir.
Bu eğitim burada sona eriyor. .ass dosyasında ızgara boyutunu artırmayı ve daha ilginç aydınlatma efektleri eklemeyi deneyin.
![]() |
![]() |
![]() |
![]() |
![]() |




















