Mandelbrot kümesi

Sonunda daha önce Julia kümeleri üzerine yazdığım bir yazıda da kısaca bahsettiğim Mandelbrot kümesi programını da hallettim. Aslında sonuçlar Julia kümesindeki kadar ilginç olmadığı için (Meşhur Mandelbrot şeklini kim bilmez ki?) programlara zoomlama eklerini de daha sonra eklemeyi düşünüyorum.

Bu programda Julia kümesinden tek fark \(z_{n+1} = z_n^2 + c \) dönüşümünde \(z_{0} = 0 \) başlangıç durumunu almak ve grafiğin noktalarına göre c sabitini belirlemek. Yeni algoritma bu durumda aşağıdaki gibi olacaktır:

Algoritma:

  1. \(z=0 \) olacak şekilde kompleks değişkenimize ilk değer atanır.
  2. Çizim yapılacak ekranın her noktası için: Seçilen nokta bir \(c \) kompleks sayısına dönüştürülür.
  3. Her adımda elde edilen kompleks sayı yarı çapı 2 olan dairenin dışına düşmediği ve maksimum adım sayısına erişilmediği sürece dönüşüm uygulanır.
  4. Seçilmiş nokta için elde edilen adım sayısına göre bir renk üretilir.
  5. Seçilmiş nokta ekran üzerinde bu renge boyanır.

Program Julia kümesindeki programa çok benzediğinden daha fazla açıklama yapmayacağım. Programa aşağıdaki bağlantı üzerinden açılan sayfada erişebilirsiniz. Sağ fare tuşuyla sayfa kodunu ve sayfa içindeki javascript programını indirebilirsiniz.

yilmazaksoy.com/apps/Mandelbrot.html

Conway’in Hayat Oyunu

Conway’in hayat oyunu‘nu oynamak için basit bir javascript programı yazdım. Oyun, canlı ve cansız hücrelerden oluşan bir ızgara ve hücrelerde ölüm ve doğumu tanımlayan bir dizi kuraldan oluşuyor. Başlangıç durumu tanımlandıktan sonra oyun, daha doğrusu simülasyon, başka etkileşim olmadan bu kurallar doğrultusunda işlemeye başlıyor.

Oyun aslında sonsuz büyüklükte bir ızgara için tanımlanmış ama ben programda 20×20 büyüklüğünde ızgara kullandım ve ızgaranın dışındaki bölgede sadece ölü hücreler varmış gibi hesap yaptım. Programda canlı hücreler içi dolu siyah kareler, ölü hücreler de içi boş beyaz kareler şeklinde gösteriliyor.

Standart kurallara göre bir canlı hücrenin çevresinde eğer bir ya da daha az canlı hücre varsa o hücre ölüyor (aşırı yalnızlık). Eğer dört veya daha fazla canlı hücre varsa yine ölüyor (aşırı kalabalık). Eğer iki ya da üç canlı hücre varsa o zaman hücre canlı kalıyor. Ölü bir hücrenin etrafında eğer tam üç canlı hücre varsa o hücre canlanıyor (üreme). Bu kurallardaki sayılar programdaki bazı ayarlarla değiştirilebiliyor. Bu ayarların açıklamaları ayrıca program sayfasında bulunmaktadır.

Örnekler:

Hücrenin ölmesi:

İkinci sıra ve ikinci sütunda görülen canlı hücrenin çevresindeki sekiz hücre de ölü, yani doğrudan komşuluğundaki canlı hücre sayısı aşırı yalnızlıktan ölme sınırı olan birden az. Bu nedenle bir sonraki nesilde bu hücre de ölecektir.

single          →       empty

Hücrenin canlı kalması:

Aşağıdaki dört canlı hücrenin her birinin üç tane canlı komşusu var. Aşırı yalnızlık sınırından fazla aşırı kalabalık sınırından da daha az canlı komşu olduğundan bu hücreler bir sonraki nesilde yine canlı kalacaktır.

square       →       square

Hücrenin doğumu:

Aşağıdaki üç canlı hücrenin her birinin iki adet canlı komşusu var. Bu üç hücre de bir sonraki nesilde canlı kalacaktır. Bu üçlü grubun sol altındaki ölü hücrenin ise üç canlı komşusu var. Dolayısıyla bu hücre bir sonraki nesilde canlanacaktır. Diğer bütün ölü hücrelerin en fazla iki canlı komşusu olduğundan bu hücrelerde canlanma doğum olmayacaktır.

birth        →      square

Hepsi bir arada:

Ortadaki canlı hücrenin iki canlı komşusu var. Bu yüzden bu hücre bir sonraki nesilde canlı kalacak. En alttaki ve en üstteki canlı hücrelerin ise yalnızca bir canlı komşusu var. Dolayısıyla bu hücreler aşırı yalnızlıktan bir sonraki nesilde ölecek. Ortadaki canlı hücrenin solundaki ve sağındaki ölü hücrelerin ise üçer adet canlı komşusu bulunduğundan bu hücreler bir sonraki nesilde canlanacak, diğer bütün ölü hücreler ise ölü kalacak, çünkü hepsinin de en fazla iki tane canlı komşusu var. Bu yeni nesil de aynı mantıkla değişip bir sonraki nesilde ilk nesle dönüşecek.

vbar      →      hbar         →      vbar

 

Bu bağlantı üzerinden oyunu kendiniz de deneyebilirsiniz. Program javascript ile yazılmıştır ve kaynak kodu tarayıcı yardımıyla alınabilir.

yilmazaksoy.com/apps/GameOfLife.html

Origami

Sosyete ünlülerinden Tuğçe Helikoptercan tatilini bahçede geçirirken  paparazzilere yakalandı
Sosyete ünlülerinden Tuğçe Helikoptercan tatilini bahçede geçirirken paparazzilere yakalandı

 

Ünlü model kendisi ile ilgli çıkan aşk dedikodularını sert bir dille yalanladı
Ünlü model kendisi ile ilgli çıkan aşk dedikodularını sert bir dille yalanladı

 

Büyük din alimi Demircan Allah'ın en büüyük nimetlerinden olan güneşten faydalanarak büyük sevap kazandğını da sözlerine ekledi
Büyük din alimi Demircan Allah’ın en büüyük nimetlerinden olan güneşten faydalanarak büyük sevap kazandğını da sözlerine ekledi

 

IMG_0762
Ünlü spor yorumcusu ayrıca dolardaki artışın önemli olmadığını ve merkez kankasının piyasaya süreceği şehitlerle olası bir krizin önünün alınacağını da ifade etti.