Izgara Tarama (Raster Scan)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir şeklin ekranda gösterilmesi sırasında kullanılan yöntemin ismidir. Basitçe ekranı imgecik (pixel) matrisinden oluşan bir ızgara gibi düşünebiliriz. Örneğin 1024 x 768 boyutlarındaki bir ekranın yine aynı boyutlardaki bir ızgara olarak düşünülmesi mümkündür. Izgara (raster) kullanılarak şekiller üzerindeki dönüşüm işlemleri yapılabilir. Örneğin şeklin taşınması işlemi için basit hafızada […]

Devam

Şeklin Eğilmesi (Shearing)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir şeklin herhangi bir eksende eğilmesine verilen işlemdir. Temel şekil değiştirme (Transformation) işlemlerinden birisidir. Aşağıdaki temsili şekilde gösterilmiştir: Yukarıdaki ilk şekilde olan kare, ikinci şekilde gösterildği üzere eğilmiştir. Eğme işlemini aşağıdaki dönüşüm matrisi (transformation matrix) ile yapabiliriz. Yukarıdaki bu dönüşüm matrisini (x,y) kartezyen koordinatlarına sahip temsili bir noktaya […]

Devam

Yansıma (Reflection)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde, kartezyen uzayda (cartesian space) bulunan bir noktanın herhangi bir eksene veya doğruya göre yansımasını almak mümkündür. Örneğin aşağıdaki üçgeni ve x eksenine göre yansımasını ele alalım: Yukarıdaki üçgen aslında üçgeni oluşturan 3 noktanın teker teker yansımalarının alınması ve sonuçta elde edilen 3 ayrı yansımış noktanın yeniden üçgen oluşturması […]

Devam

Ters Şekil Değiştirme Matrisleri

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde kullanılan ve bir şeklin değişmesine (transformation) yarayan matrisleri üç grupta toplayabiliriz: İçerik Taşıma işleminin geri alınması Döndürme işleminin geri alınması Ölçekleme işleminin geri alınması Örnek uygulama Taşıma (Translation) Döndürme (Rotation) Ölçekleme (Scaling) Bu üç gruptaki matrislerin aynı zamanda tersini almak da mümkündür. Yani herhangi bir değişim işlemine maruz […]

Devam

Homojen Koordinatlarla Şekil Değiştirm

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir şeklin değşitirilmesi aşağıdaki işlemlere indirgenebilir: Taşıma (Translation) Döndürme (Rotation) Ölçekleme (Scaling) Bu işlemlerin hepsi kendisine özgü masfuf (Matris) işlemleri olarak görülebilir. Örneğin taşıma işlemi 2 boyutlu kartezyen uzaydan (cartesian space) bir noktanın verilen x ve y değişimi kadar taşınması demektir. Yukarıdaki şekilde verilen x,y değerlerine sahip nokta […]

Devam

OpenGL İsim Dizisi

Yazan : Şadi Evren ŞEKER OpenGL programlaması sırasında ekrandaki bir nesnenin seçilmesi mümkündür. Bu seçme işlemi sırasında sanki ekranda verilen bir (x,y) koordinatından (ekran 2 boyutlu olduğu için görüntüler 3 boyutluda olsa sonuçları 2 boyutludur (detayı için izdüşüm (projection) konusunu okuyunuz) dolayısıyla sadece x ve y koordinatlarından) ekranda bir ışın fırlatılmış gibi, ışının geçtiği bütün […]

Devam

OpenGL Nesne Seçimi (Object Picking)

Yazan : Şadi Evren ŞEKER Bu yazının amacı bilgisayar grafiklerinde kullanılan OpenGL kütüphanesi marifetiyle ekranda bulunna 3 boyutlu nesnelerden birisinin fare ile tıklandığında nasıl algılandığını anlatmaktır. Ekrandan seçme işlemi yapılabilmesi için aşağıdaki 6 adımın izlenmesi gerekir: Öncelikle ileride kullanılmak üzere seçilen nesneleri tutan ve glSelectBuffer isimli fonksiyon ile ilk değerini alacak olan bir dizinin tanımı […]

Devam

OpenGL ile Bağıl Hareket

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir nesnenin diğer nesnelere bağlı olarak hareket etmesi mümkündür. Bunu sağlamak için bir varlık ağaç yapısı üzerinden bütün nesneler birbirine bağlanır. Ardından bağlı nesneleri çağıran bir dolaşma (traverse) fonksiyonu özyineli (recursive) olarak çalışır ve bütün nesneleri doğru sıra ile ve doğru şekil dönüşümleri ile (transformation) çizer. Bu ağaç […]

Devam

OpenGL ile Malzeme Özellikleri (Material Properties)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir nesnenin görüntüsünün oluşmasını belirleyen iki temel unsurdan birisi ışık kaynağı iken diğeri de görüntülenecek olan nesnenin ışığı yansıtma özelliğidir. OpenGL içinde bu özelliği belirlemeye yarayan glMaterial fonksiyonu bulunmaktadır ve alabileceği parametreler aşağıda listelenmiştir: Parametre ismi İlk Değeri Açıklama GL_AMBIENT (0.2, 0.2, 0.2, 1.0) Malzemenin eşit yansıma (ambient) […]

Devam

OpenGL ile Aydınlatma (Lighting)

Yazan : Şadi Evren ŞEKER Bilgisayar grafiklerinde bir nesnenin görülmesini ve görüntülenirkenki aydınlığını iki unsur belirler. Bunlardan birincisi ortamın aydınlık miktarı ve aydınlatılma şekli iken ikincisi nesnenin malzemesinin ışığı yansıtma oranı ve şeklidir. OpenGL programlama ortamında bu iki özellik için de fonksiyonlar bulunur. Aşağıda OpenGL’de tanımlı ışıklandırma seçenekleri verilmiştir: Parametre ismi İlk  değeri Anlamı GL_LIGHT_MODEL_AMBIENT […]

Devam