Bu sayfadaki yazılar
Sayfanın metni
Sayfa 79
Kursu - 2
Kürşad 'Hydrogen' Karamahmu-
toğlu
Çok
renk çizim teknikleri
Plazma'nın ilk sayısında çok renk çizim tekniklerine giriş yapmıştık. Bu sayıda C64'de pikselleme dersine biraz ara verecek ve iyi dijital resim çizebilmemiz için gerekli olan bazı temel bilgilerin üzerinden geçmeye başlayacağız. Hepimizin bildiği gibi görüntüyü oluşturan kavram ışık olduğu için, işe ışığın karakterini incelemekle başlamamız faydalı olacaktır.
Işığın
cisimler üzerindeki etkileri
Aydınlatma etkisi
Gerçek yaşamda masamızın üzerinde duran düz, yeşil bir örtüyü ele alalım. Bu örtü pencereden giren ışıkla aydınlansın. Bildiğimiz gibi üzerine ışık düşmeyen cisim siyah görünür. Üzerine düşen ışık miktarı arttıkça, cisimlerin renk özellikleri ön plana çıkmaya başlar. Ve çok kuvvetli ışıklara doğru gidildikçe bu renk beyaza yakınlaşır. Cisimlere vuran beyaz ışık, bir cismin gerçek rengini ortaya çıkarır. Gelen ışığın rengine göre, materyalin rengi de değişim gösterir. Masa örtümüz düzgün bir şekilde masa yüzeyine yayılmış olsaydı ve ışık kaynağımız masa yüzeyine oldukça uzak bir yerden homojen ve yüzeye dik olarak gelseydi (gün ışığı gibi) o takdirde, biz masamızın düz yeşil rengini örtünün her bölgesinde eş şiddette görebilecektik. Eğer aynı ışık kaynağı, dik olarak değil de mesela 45 derece açıyla vursaydı masaya, bu takdirde yüzeye vuran toplam ışık miktarı azalacağından dolayı örtü biraz daha koyu yeşil bir renkte görünecekti.
Eğer ışık kaynağımız masayla paralel yerleşseydi, o zaman yüzey hiç ışık alamayacağından dolayı örtü siyah görünecekti.
Şekil 1. Işığın yönüne göre aydınlanma
Sizlere kendi çektiğim fotoğraflardan örnek verebilmek için, yazıdaki homojen yayılımlı beyaz güneş ışığını, homojen olmayan sarımtırak masa lambası ile değiştirmek durumunda kaldım. Masa lambasının aydınlatma şiddeti yönlendirildiği noktalardan kenarlara doğru azalsa da, bu örneğimiz için çok büyük bir sorun teşkil etmeyecek.
A fotoğrafında yüzeye dik vuran sarı masa lambası ışığı, B fotoğrafında yüzeye 45 derece açı yapacak şekilde çevrilmiş. A fotoğrafındaki aydınlanma miktarının B'ye göre daha fazla olduğuna ve ışığın renginin A fotoğrafında daha belirgin olduğuna dikkat çekiyoruz. C fotoğrafında ise, ışık masaya paralel yerleştirilmiş. Işık, yüzeyle kesişmediği için örtü hemen hemen hiç ışık almıyor. (çevreden yansıyan bir miktar ışık, masa yüzeyini az bir miktar aydınlatıyor)
Şimdi bu örtüyü biraz kırıştırarak masamızın üzerine serelim. Işık kaynağımızı yine çok uzaktan masaya dik olarak vuracak şekilde ayarlayalım. Üzerindeki kırışıklıklardan dolayı örtümüzün birçok bölgesi farklı açılardan ışık alacak. Ve farklı şiddetlerde aydınlanacak. Bu da örtü üzerinde yeşilin, açıktan koyuya birçok tonunun oluşmasına neden olacak. Işığa dik konumlanan yüzeylerde aydınlanma etkisi maksimuma ulaşacak, yüzey ile yapılan açı azalmaya başladığında ise, aydınlanma etkisi de azalmaya başlayacak. Işığın doğrultusunun yüzeye paralel olduğu yerler ise, yüzey hiç ışık almayacağından ötürü, karanlıkta kalacak.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 78
Bu programın çıktısı da 8 olacaktır. Dikkat ettiyseniz "topla()" fonksiyonu parametre almıyor ve $sayi1 ve $sayi2'nin değerlerini fonksiyon dışında tanımlanan global değişken değerlerinden alıyor.
PHP'de fonksiyonlar değer döndüren ve değer döndürmeyen şeklinde ikiye ayrılmazlar. Yani tanımlanışları açısından bir fark bulunmamaktadır. Eğer siz bir fonksiyonda "return" komutunu kullanır ve yanında bir değer ya da değişken yazarsanız bu fonksiyon bir değer döndürecektir. "return" komutu bulunmayan fonksiyonlar ise bir değer döndürmezler, sadece fonksiyon bloğunda yer alan programı çalıştırıp çağırıldıkları yere geri dönerler.
Bu Bölümün Değerlendirmesi
Şekil 5.
Bu ilk bölümde PHP dilinin genel yapısına bir göz attık, değişkenler ve fonksiyonlar konusuna giriş yaptık. Önümüzdeki bölümlerde PHP'nin daha güzel özelliklerine göz atacağız ve yavaştan PHP'yi işe yarar biçimde kullanmaya başlayacağız. Şimdilik editörüm Nightlord'a bir iyilik yaparak yazıyı daha uzatmıyor ve burada noktalıyorum. Gelecek sayıda görüşmek üzere.
emir (at) akaydin (nokta) com