İki resim arasındaki farklar

İki resim arasında ki 23176856 farkı bulun.

farkEvrimsel algoritmalar dersimin ilk sonucu, ikinci resmin birinciye benzemesi gerekiyordu. Amaç üçgenler ile ilk resme ulaşmak. Resim 512×512 olduğu için oldukça yüklü bir işlem istiyor. Algoritma’mız pek iyi olmadığı için bir yerden sonra tıkanmış ve bu sonuçtan ileri gidememiş (Yaklaşık bir 5-6 saatlik işlemin sonucu). Lakin yine de yaratıcı olursanız benzerlikleri yakalayibilirsiniz =)

İşin ilginci resimler düşündüğünüzden daha benzer. Şöyle ki her pixel için 3 renk düşünün, 0-255 arasında bir sayı. Tüm pixellerin renklerinin birbirinden çıkarınca ortaya çıkan sonuç 2317685. Bunuda 512*512*3 e bölünce yaklaşık 30 çıkıyor. Yani 30/256 ~= %12 lik bir hata var. Ama göze çok çok daha fazla geldiği kesin =)
İlerde resmin aynısını çıkarmayı ummuyorum ama benzetebileceğime inanıyorum, bakalım bir kaç fikir daha var aklımda onları ekleyince ne olacak.

Sevgili İzzet

Uykusuz 2009/10 sayısında Uğur Gürsoy’un köşesinden bir mektup.

Sevgili İzzet

Uzun araştırmalarım sonucu senin niçin kızlarla çiftleşemediğini buldum sevgili dostum.

Sevgili İzzet, doğanın zayıf ve çelimsiz genlere sahip canlıları yeryüzünden silmeye çalıştığını keşfetmiş bulunmaktayım… Senin sahip olduğun kötü genler, binlerce yıl önce buzul çağından kurtuldu, arslandan kaplandan bir şekilde kaçtı ama oyunun sonuna geldin sevgili dostum. Doğa senin çiftleşmeni engelleyerek kötü genlerin bir sonraki kuşağa aktarmanı engelliyor… Bu iş burayaya kadar dostum, oyun bitti…

En iyi arkadaşın
C. Darwin
Galapagos adaları

Not: Bu durumdan kötü saç kesiminin de payı olabilir, onu gelince konuşalım.

Gönül ister resimleri de koyabilseydim.

Aradığım mutluluğu açık kaynakta buldum

İlk açık kaynak kodumu yayınlıyorum, buyrunuz:

[sourcecode language=’cpp’]
unsigned int tay[] = {2942066556, 2959137644, 2193827523, 2210048174, 2501139473, 2398640398, 2147848541, 0};
unsigned int *t = ((unsigned int*)tay)+1, a=0, y=0;
char yat[24]={0};

while(*t){
printf(“%c”, yat[y++]=*t&1?*tay>>(*t>>1&3)*8&127:32);
t+=(*t>>=*t&1?3:1)&~7?0:1;
a++-22?0:printf(“%sn”, yat,y=a=0);
}[/sourcecode]

(bu kod hakikaten çalışıyor, hatta güzel bir output u var söyleyeyim =))