TreeGrow
Retro bilgisayarSOFT, (C) 1992, FREEWARE Fraktallar, son günlerde bilgisayar kullanıcıları arasında oldukça revaçta. Ama TreeGrow, fraktal mantığını Mandelbrot ya da Lyapunov grafikleri gibi anlamsız şekiller üretmek yerine, hepimizin çok daha yakından tanıdığı ağaçları üretmek için kullanıyor. Tree Grow, verilen basit bir kuralı tekrar tekrar kullanarak yaprakları ve çiçekleri olan bir ağaç yaratıyor. Bu basit kuralı tanımlamak için, aşağıdaki karakterleri kullanıyorsunuz: "0": Düz bir çizgi çizer. "1": Düz çizgi çizer ve ucuna bir yaprak yerleştirir. "2": Düz çizgi çizer ve ucuna kırmızı çiçek çizer. "3": Düz çizgi çizer ve ucuna sarı çiçek çizer. "[": Sağa döner ve yeni bir dala başlar. "]": Sola döner ve yeni bir dala başlar. "{": Sağa ya da sola döner ve yeni bir dala başlar. "}": O anki dalı bitirir ve dalın başladığı yerden çizmeye devam eder. Bu karakterleri 0, 1, 2 ve 3 nolu kutucuklara (string gadget'larına) yazıyorsunuz. Ağaç çizilmeye başlandığında, kutucuğun içinde yazılı olan kuralda rastlanan "0", "1", "2" ve "3" yerine, aynı numaralı kutucukta yer alan yazı yerleştiriliyor.
İşleme, INIT adlı kutucukta yer alan numaralar serisiyle başlanır. Sanırım buraya kadar kafanız karışmadan gelememişsinizdir. En iyisi bir örnek yardımıyla olayı açmaya çalışayım: INIT, 01 olsun ve kutucuklara şu değerleri girmiş olun: 0: 1:'12' 3:'3' Ağacınız ilk iterasyon sonunda şu şekilde tanımlanacaktır: 01-> İlk dokuz karakter 0. kutuda bulunan, son iki karakter ise 1. kutuda yer alan yazıya aittir. İkinci iterasyon sonunda ise ağacınızın tanımı aşağıdaki gibi olacaktır: Gördüğünüz gibi sadece iki iterasyonla bile oldukça karmaşık bir ağaç tanımı elde ettik. Genelde yedi iterasyondan aşağı kullanmayacağınız göz önüne alınırsa, gerçekleri kadar karmaşık ağaçlar elde edeceğiniz neredeyse garantilidir. Şu anda anlattıklarımı kullanarak yaratacağınız ilk ağacın güzel olacağını sanmıyorum. İyi bir şeyler yaratabilmek için, öncelikle programda yer alan örnek ağaçları incelemeli, sonra da kendi ağaçlarınızı yapmaya başlamalısınız. Ağaç tanımı için kullanılan beş kutucuğun altında yer alan diğer kutucuklar ise şu işlere yararlar: SIZE: Çizilen ilk dalın uzunluğu (pixel olarak). RATE: Çizilen dalın, bir öncekine oranla ne uzunlukta olacağını, yüzde olarak belirler. 100 dediğinizde, bütün dallar eşit uzunlukta çizilir. 50 ile her dalın, bir öncekinin yarısında olmasını sağlayabilirsiniz. ANGLE: Sağa veya sola dönecek olan dalın açısının ne olacağını belirlemek için kullanılır. Dalın açısı, bu iki kutucukta yazılan değerler arasında rastlantısal olarak bulunur. GENERATIONS: Ağacı tanımlayacak olan kuralın kaç iterasyon sonunda bulunacağını belirler. START: Ağacı çizmeye başlar. SAVE: Çizilmiş olan ağacı IFF formatında kaydeder. NAME: Ağacın tanımını listeye eklemeden önce adını bu kutucuğa girmelisiniz. SAVE: Ağaç tanımları listesini kaydeder. ADD: Kullanılmakta olan ağaç tanımını listeye ekler. DEL: Seçili ağacı listeden siler. USE: Seçili ağacın parametrelerini yukarıdaki kutulara yerleştirir.