1/3

Oyun Hazırlıyorum - 5

Serkan Birkan 3.06.2010 - 12:31
Oyun hazırlamak isteyenler için teknikleri anlattığımız yazı dizimiz devam ediyor.

3 Boyutlu Uzay ve Üçgenler

3 boyutlu bir obje çizmek için önce bunu 3 boyutlu olarak tanımlamamız gerekir. 2 boyutlu işlemler için x ve y eksenlerinden oluşan basit bir şekil kullanırız.

Oyun Hazırlıyorum - 5
Eğer şekildeki gibi 3 nokta tanımlar ve bunları 3 doğruyla birleştirirseniz 2 boyutlu düzlemsel bir üçgeniniz olur.

Oyun Hazırlıyorum - 5

Şekildeki gibi x ve y eksenlerinden oluşan bir grafiğimiz var. Burada eksenlerin kesiştiği yer merkezdir ve koordinatları (0,0)’dır. X ekseni üzerinde merkezin sol tarafı negatif sağ tarafı pozitiftir. Benzer şekilde y ekseninde merkezin altında kalan kısımlar negatif üstünde yer alan kısım pozitiftir. Bir nokta tanımlarken noktanın önce x eksenindeki yeri sonra y eksenindeki yeri verilir. Koordinatlar genellikle parantez içinde ve virgülle ayrılmış olarak yazılır. Örn: (2,3) ya da (-4,8) vb.

İki boyutta noktaların ve şekillerin nasıl temsil edildiğini öğrendik. Peki ama 3 boyutlu bir ortam için ne gerekli? Bunun için z eksenini kullanacağız. Öncelikle x ve y eksenlerinin ekran düzlemi üzerinde olduğunu düşünün. Yani x ekseni soldan sağa, y ekseni ise yukarıdan aşağıya doğru gidiyor. Merkez de ekranın tam ortası. Bu durumda z ekseni monitöre baktığınız doğrultudadır. Gözünüzden çıkıp ekranın ortasındaki diğer eksenlerin kesiştiği noktadan giren bir ışın düşünün. İşte bu z ekseni oluyor. Eksende monitörün içine doğru girmiş olan kısım pozitif, monitörden size doğru gelen kısım negatif değer alıyor.

Şimdi 3 ekseni de kullanarak 3 boyutta bir nokta tanımlayabiliriz, örn. (1,5,-6). Bu örnekte noktamız, ekranınızın ortasında olduğunu varsaydığımız merkezden x ekseninde 1 (sağ), y ekseninde 5 (yukarı) ve z ekseninde –6 (geri) birim uzakta bulunuyor.

3 eksenimizle 3 nokta tanımlayarak ve bunları hayali çizgilerle birleştirerek uzayda bir üçgen tanımlayabiliriz. Ama burada bizim için asıl önemli olan yarattığımız bu üçgeni 2 boyutlu ekranımızda nasıl göstereceğimizdir.