Processing’te Loop (döngü)

Döngü anlamına gelen Loop, hayati önem taşımakta. İlk başta anlaşılması biraz karmaşık gibi görünüyor ama tekrar tekrar yazılması gereken kodu kısalttığı için, çok pratik. Örneğin farklı boyutlarda, giderek büyüyen üçgenler çizmek istediğimizi varsayalım. Daha önce çizgi ve dörtgenlerle çalıştığım için örneğimi üçgen seçmek istedim. Mimari projelerde tekrar eden herhangi bir birim için kullanılabilir.

Öncelikle, büyük bir eskiz kağıdı açarak 1 üçgen çizelim.

size(900, 800);
strokeWeight(10);

int i =30;
triangle(i, 2*i, 2*i, i-10, 3*i, 2*i);

//bu bölümde i, 2*i : x1, y1 olmak üzere 1. ; 2*i, i-10 : x2, y2 olarak 2. noktanın ; 3*i, 2*i ise 3. noktanın koordinatlarını belirtmekte.

Şimdi üçgenlerimizi, her seferinde yeni bir üçgen tanımlamadan büyüterek çoğaltalım.

size(900, 800);
strokeWeight(10);

for (int i = 30; i < 300; i += 20) {
triangle(i, 2*i, 2*i, i-10, 3*i, 2*i);
}

Kodda görüldüğü gibi, tanımladığım i değişkeninin yeri ve kullanılma biçimi farklılaştı. { } Parantezler içinde belirtilen bölümün içine yazılan koda blok ismi verilmekte. Bu bölüm kullanıcının belirttiği özelliklere göre, tekrarlanmakta. Noktalı virgül ile ayrılmış içerikte, 3 tanım bulunuyor. Bu ifadeler, başlatma anlamına gelen initialization, test, ve güncelleme anlamına gelen update. Burada, int i = 30; diyerek i’nin ilk başlayacağı noktayı tanımlıyoruz. Test bölümüne, i < 300 yazarak 300'den küçük olması gerektiğini belirtiyoruz. Güncelleme bölümünde ise i’nin her seferinde 20 arttırılarak kullanılacağını belirtiyoruz. Sonrasında, bu tanımlamalara göre tekrarlanmasını istediğimiz (örnekte triangle(i, 2*i, 2*i, i-10, 3*i, 2*i) yazdık); birim ya da görevleri parantezler içinde belirtiyoruz.

Biraz daha detaya inersek, döngülerin test bölümü, aslında 2 ifadeyi doğru ya da yanlış olarak değerlendirmekte. Örneğin bu örnekte, biilgisayar i’nin 300'den küçük olup olmamasına bakarak karar vermekte. Eğer i 300'den küçük ise belirttiğimiz ifade (i < 300) doğrudur ve döngü devam eder. Daha yüksek rakamlara i’nin ulaşması ile döngünün test bölümünde belirttiğimiz ifade yanlış olur ve bilgisayar döngüyü sonlandırır.

Mimar Sinan Fine Arts University, Acoustic Consultant in Glass & Sabah / www.akustikmimar.com