Ana Sayfa

Julia'da L-Sistemleri: Lindenmayer.jl ile Özyinelemeli Desenler Modelleme

1 dk okuma

Lindenmayer.jl, Julia programlama dilinde L-Sistemleri (Lindenmayer sistemleri) oluşturmak için tasarlanmış basit ve kullanışlı bir pakettir. Bu sistemler, 1968 yılında Macar teorik biyolog Aristid Lindenmayer tarafından özyinelemeli desenleri tanımlamak amacıyla geliştirilmiştir. Başlangıçta bitki hücrelerinin davranışlarını ve bitki gelişim süreçlerini modellemek için kullanılan L-Sistemleri, günümüzde çeşitli organizmaların morfolojisini modellemenin yanı sıra Sierpinski üçgeni gibi kendi kendine benzer fraktalları üretmek için de yaygın olarak kullanılmaktadır.

Paket, bir L-Sistemini tanımlamak için bir veya daha fazla arama ve değiştirme kuralı ile bir başlangıç durumu (aksiyom) gerektirir. Her kural, tek bir karakteri bir veya daha fazla karakterden oluşan bir dizeyle değiştirir. Örneğin, Sierpinski üçgeni, iki kural ve 'G' başlangıç durumuyla tanımlanabilir. Sistem, bu kuralları her iterasyonda uygulayarak durumunu geliştirir ve başlangıçta basit olan bir dizeyi binlerce talimat içeren karmaşık bir yapıya dönüştürebilir.

Lindenmayer.jl, oluşturulan L-Sistemlerini görselleştirmek için Luxor.jl paketini kullanır. drawLSystem() fonksiyonu, kurallardaki karakterleri Luxor.jl'nin "turtle graphics" (kaplumbağa grafikleri) komutları olarak yorumlayarak desenleri çizer. Bu sayede, soyut kurallar görsel olarak çekici ve karmaşık fraktal şekillere dönüştürülerek hem bilimsel modelleme hem de sanatsal tasarım alanlarında geniş bir kullanım alanı sunar.

İçgörü

Lindenmayer.jl, karmaşık doğal desenleri ve fraktalları basit kurallar aracılığıyla modelleyerek bilimsel görselleştirme ve algoritmik sanat alanlarında yeni kapılar açıyor.

Kaynak