Bu sayfadaki yazılar
Sayfanın metni
Sayfa 2
Herkese selam. Üçüncü boyuttaki ilerleyişimize kaldığımız yerden devam ediyoruz. Geçen yazımızda, C64'te 3D efektleri yapmakla ilgili bazı felsefi soruları yanıtlamaya çalışmış, ardından vektörlerin ne olduğu ve üzerlerinde toplama ve çıkarma işlemlerinin nasıl yapıldığını konuşmuştuk. Bu sayıda ise şu konulara değineceğiz:
.Vektör İşlemleri
..Vektörlerin boyu ..Vektör ile skaler çarpımı ..Vektörlerin nokta çarpımı (dot product)
.Vektörlerin 3D efektleri ile ne ilgisi var
..Objelerin vektör kullanılarak ifade edilmesi ..Doğrusal kenarlar ve yüzeyler ..Eğrisel kenarlar ve yüzeyler
.Vektör Dönüşümleri
..Dönüşüm kavramına giriş ..Yer değiştirme (translation) ..Dönme (rotation) ..Ölçekleme (scaling)
Dönüşümlerin birleştirilmesi. Bu yazıya başlamadan hemen önce geçen yazıyı bir kez daha okumanızı tavsiye ederim.
Vektör İşlemleri
Vektörlerde toplama ve çıkarma işlemlerinden bahsettikten sonra sıra çarpma işlemine geldi. Fakat vektörler söz konusu olduğunda çarpma işleminin üç değişik versiyonundan bahsedebiliriz.
Bir skaler ile bir vektörün çarpımı, İki vektörün nokta çarpımı (dot product), İki vektörün çapraz çarpımı (cross product)
Çapraz çarpım konusuna bu yazıda değinmeyeceğiz. Vektörlerde çarpma işlemlerinden bahsederken ihtiyacımız olacak olan bir kavram daha var: Vektörlerin boyu. Bu konuyu kısaca açıkladıktan sonra skaler çarpıma geçebiliriz.
Vektörün Boyu
Vektörleri ilk başta tanımlarken bir büyüklük ve bir yön ifade ettiklerini söylemiştik. İşte bu büyüklüğü vektör koordinatlarından elde etmenin yolundan bahsetmenin zamanı geldi. Aslında bir vektörün boyunu bulmak için Pisagor teoremini kullanmamız yeterlidir. P vektörünün boyunu |P| diye gösterirsek:
P(x1,y1) olsun
|P| = √(x1² + y1²)
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 3
Vektör ile skaler çarpımı
Hatırlarsanız vektörler için çok boyutlu büyüklükler, skalerler için ise tek boyutlu büyüklükler demiştik. Bir skaler ile bir vektörün çarpımı tanımlı bir işlemdir ve sonucu da bir vektördür. Bütün yapmamız gereken skaler ile vektörün tüm bileşenlerini teker teker çarpıp sonuçlardan yeni bir vektör oluşturmaktır:
n skaler bir sayı olsun. P(x1,y1) vektörünü n ile çarparsak:
n * P(x1,y1) = (n*x1, n*y1) n pozitif bir sayı ise bu yaptığımız çarpım, vektörün yönünü değiştirmeden boyunu n oranında uzatır. n negatif ise yönü tam olarak tersine çevirip n'nin mutlak değeri oranında boy uzatılır. Uzatılır diyorsak da unutmayın n eğer 0 ile 1 arasında bir değere sahipse o zaman vektörün boyu kısalmış olur.