bilmece bulmaca algoritlama yapmaca

Başlatan Karamel, 16 Eylül 2014, 02:05:53

Karamel

merhaba. z hocam suan foruma pek giremediginden bu adeti bizler ustlenelim. daha onceden 1-2 bilmece bulmaca sorulari gelmisti. bende birtane sorayim ve adet yerini bulsun.

oncelikle yasim kucuk oldugundan z hocam gibi matematik sorulari soramayabilirim ama algoritma sorusu sorabilirim diye dusundum. bu yuzden ortaya asagidaki soru cikti.




1. asama - simdi elimizde coznurlugu farketmeyen renki yada renksiz olmasi farketmeyen bir lcd ekranimiz oldugunu hayal edelim. tanimlamadan olmaz derseniz. 240x240 pixelli tek renkli(siyah beyaz) bir lcd ekranimiz var olsun.

2. asama - bir programimiz olsun ki (bu kisimla daha ilgimiz yok) ekrana bizim girdigimiz kordinatlara noktalar koysun. mesela atiyorum. (x,y) seklinde (28, 45) kordinatina bir nokta koy. aynen asagidaki resimdeki gibi.



3. asama - yukarida bahsettigimiz ve bizim ilgilenmeyecegimiz program ekrana maximum 6 nokta koyabilsin ve ekrana koyulan noktalarin koyulma sirasini aklinda tutsun.(sayi arttirilabilir ayada azaltilabilirde. sayiyi rastgele sectim) mesela ilk nokta su, ikinci su, ucuncu su, dorduncu su vs. ayni asagidaki resimdeki gibi.



4. asama - yine bizim ilgilenmedigimiz program artik ekrandaki noktalarin yerlerini biliyor. bunlari cizgi cizerek birbirine baglayabilir ve aynende oyle yapsin. noktalari birbirine baglasin. ayni asagidaki gibi.



5. asama - artik nihayet bizim ilgilendigimiz asamaya geldik. yukaridaki noktalari rastgele olarak sectim. noktalar birlesti ve ortaya geometrik bir cisim cikti. kose kordinatlarimiz belli. sinir cizgilerimiz belli. haydi bu cismin icersini boyayalim. tipki painteki gibi. ayni asagidaki gibi.





sorumuz 5. asama nin matematiksel algoritmalari...... :)


son olarak belirtmek isterim ki bu soru paint in boyama aracini kullanirken ortaya cikti. hicbir ticari amac icermiyor. zaten forumdaki buyuklerimde beni az cok taniyorlar.

herkese basarilar dilerim. ::)


X-Fi

Sınırları belli olduğu için bir eksende tarama yapıp boyayabilirsiniz.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

engerex


anon

boyamanin sartininin ayni paintteki gibi cisim icine tiklama oldugunu farzedersek. bi tane recursive fonksiyon is gorur.

renkDoldur(koordinat, renk, hedef renk)
"hedef renk", "renk" e esitse don
koordinattaki pikselin rengi "hedef renk" degilse don
koordinattaki pikselin rengini "renk" olarak degistir
    doldur(kuzey komsu koordınat);
    doldur(guney komsu koordinat);
    doldur(dogu komsu koordınat);
    doldur(bati komsu koordinat);
don

bu sekilde tikladigin noktnin sagina soluna baka baka cisim sinirina kadar istenen renkte doldurur

Karamel

#5
soru cokmu basitti kimse ilgilenmedi. yada cok mu zordu kimse yapmak istemedi. anlamadim  :-\ (kimse derken yukarida ilgilenen buyuklerimi kastetmiyorum) bunu mantiksal olarak bir ucundan bir ucuna boyarim seklinde değilde matematiksel olarak yapmak gerekli. cunku sorunun daha sormadigim ikinci asamasi var. duz mantik ikinci asamada ise yaramaycaktir.

Tagli

Öncelikle 4. aşamanın sonuna kadar ne şekilde geleceğimizi netleştirmek gerekiyor. Fazla kasmaya gerek yok aslında, 1962'de Brehensam amcamız bu olayı çözmüş zaten.

5. aşamayla ilgili de zaten pek çok yöntem var gibi. Google'da "area filling algorithm" yazmak yeterli. Adet olduğu üzere çıkan ilk Wikipedia başlığına tıkladığımız zaman ufkumuz genişliyor.
Gökçe Tağlıoğlu