5 Temmuz 2009 Pazar

Processing Ders Notları - Temel

Processing de ekrana birşeyler çizmek için birçok komut vardır. Şu ana kadar olan çalışmalarımda karşılaştığım komutlardan bazıları şunlar.

rect(0,0,50,50);

ellipse(0,0,50,50);

line(10,20,60,90);

Şimdi bu komutlardan birine yakından bakalım.

rect(0,10,50,60);
Bu komut şunu söylüyor. Ekranın soldan 0. pixel i ve üstten 50 pixelinden başlayıp, genişliği 50 pixel, yüksekliği 60 pixel olan bir dikdörtgen çiz. Burada unutulmaması gereken; rect(x,y,w,h) dizilimi.
x = x eksenindeki yer.
y = y eksenindeki yer.
w = genişlik ( width ).
h = yükseklik ( height ).

x,y,w,h sabit bir sayı ( 10, 15, 17 vb. ) olabildiği gibi değişkenlerde olabilir.
Örneğin ;

rect(50,50,random(60-90),50);

Burdaki w, yani genişlik değerindeki random(60-90) komutu, program her çalıştırıldığında 60 ile 90 arasında rasgele bir sayı üretip w değerine atar. Kafanız karıştı ise burayı es geçebilirsiniz.

Ekrana birşey çizdiğinizde processing sizden neyi baz alıp çizimi gerçekleştireceği bilgisini ister. Eğer belirtmezseniz, çizilen şeyin sol üst köşesini baz alarak çizimi gerçekleştirir. ( c_1a )
Örneğin ;

size(200,200);
rect(100,100,50,50);

c_1a

Bu iki satırın anlamı şudur;
- 200 x 200 pixellik bir kadraj oluştur.
- 200 x 200 pixellik bu kadrajın, x ve y aksisinden 100 pixel ara verip, 50 x 50 pixellik bir
dörtgen çiz.

Peki, diyelim belirttiğimiz noktayı çizeceğimiz objenin merkezi olarak almak istiyorsak ne yapacağız. (c_1b) Şöyle;

size(200,200);
rectMode(CENTER);
rect(100,100,50,50);

c_1b

Bu satır ile x ve y de verilen değerleri merkez noktası olarak aldık ve 50 x 50 pixellik bir dörtgen oluşturmuş olduk. Hemen önemli bir detay vereyim. Processing büyük küçük harf ayrımı yapan bir programlama dili. Yani rectMode(CENTER); yerine rectmode(center) veya varyasyonlarını yazarsak programımız hata verir. Zaten kodu yazarken renkler ile uyarır. Eğer bir kod ( rect, rectMode, size gibi ( sayılar dahil değil bu duruma ) ) siyah renkli ise muhtemelen bir problem vardır. Dikkat etmekte fayda var.

Hiç yorum yok:

Yorum Gönder