23 Nisan 2014 Çarşamba

İz düşüm Dönüşümleri(Ortografik izdüşüm) (2)

İz düşüm Dönüşümleri(Ortografik izdüşüm) (2)

Ortografik izdüşüm
Ortografik izdüşümün görüntüleme hacmi dikdörtgen bir paralel hatlı veya daha gayri resmi anlamda, bir kutudur.



Perspektif izdüşümün tersine, görüntü hacminin büyüklüğü bir uçtan bir uca değişmez dolayısıyla kameradan uzaklık bir nesnenin ne kadar büyük görüneceğini etkilemez. Bu tip projeksiyon, nesnelerin gerçek boyutları ile aralarındaki açıların planlandıkları gibi sürdürülmelerinin önemli olduğu mimari planlar ve bilgisayar-destekli tasarımlara dair uygulamalar için kullanılır.glOrtho() komutu bir ortografik paralel görüntü hacmi yaratır. glFrustum() ile olduğu gibi yakın kırpıcı düzlemin köşeleri ile uzak kırpıcı düzlemin uzaklığını belirler.Başka hiçbir dönüşüm olmaksızın, izdüşümün doğrultusu z-eksenine paraleldir ve görüş-noktası negatif z-eksenine doğru bakar.
glOrtho()
void glOrtho(GLdouble left, GLdouble right,GLdouble bottom, GLdouble top,GLdouble near, GLdouble far);

Ortografik paralel görüntü hacmi için bir matris tanımlar ve onu geçerli matris ile çarpar. (left, bottom, -near) ile (right, top, -near), görüş penceresinin sırasıyla sol alt ile üst sağ köşelerine haritalanan yakın kırpma düzlemi üzerindeki noktalardır. (left, bottom, -far) ile (right, top, -fear) görüş penceresinin aynı ilgili köşelerine haritalanan uzak kırpma düzlemi üzerindeki noktalardır. Hem near hem de far pozitif, negatif ve hatta sıfır olabilir. Bununla birlikte near ve far aynı değerlere sahip olmamalıdır.
Üç boyutlu görüntüler için ortografik izdüşüm komutu (glOrtho()) kullanıldıgı gibi openglde iki boyutlu ortografik izdüşüm komutu(gluOrtho2D()) belirlenmiştir.
gluOrtho2D()
Bu rutin, ekrandaki nesneler için tüm z koordinatlarının -1.0 ila 1.0 arasında bulunduğunu varsayması dışında glOrtho() üç boyutlu versiyonuna özdeşidir. Eğer iki-boyutlu nesneleri iki boyutlu köşe komutları kullanarak çiziyorsanız tüm z koordinatları sıfırdır, dolayısıyla hiçbir nesne z-koordinat değeri nedeniyle kırpılmaz.
void gluOrtho2D(GLdouble left, GLdouble right,GLdouble bottom, GLdouble top);

gluOrtho2D İki-boyutlu koordinatları ekran üzerine yansıtmak için bir matris yaratır ve bu matrisi geçerli izdüşüm matrisi ile çarpar. Kırpıcı düzlem sol alt köşesi (left, bottom) ve sağ üst köşesi (right, top) ile belirlenen bir dikdörtgendir.

Hiç yorum yok:

Yorum Gönder