İANBUL İCARE ÜNİERİEİ BİLGİAAR MÜHENDİLİĞİ BÖLÜMÜ BİLGİAAR İEMLERİ LABORAUARI ER PERPEKİF DÖNÜŞÜM İLE ÜZE DOKUU ÜREİMİ Bu deneyde, genel haları ile herhangi bir yüzeye bir dokunun kopyalanması üzerinde durulacakır. Deney sonunda öğrencilerin, gerekli maemaiksel ve geomeriksel bilgileri edinmeleri ve bu ür programlar gelişirebilmeleri amaçlanmakadır. 1. Perspekif Dönüşüm Gözlem penceresinden bakan bir gözlemcinin gördüğü nesneler bir görünü düzlemi üzerinde oluşurulabilir. Bu işlem nesneleri oluşuran köşelerden göze gelen ışınların görünü düzlemini kesiği nokaların birleşirilmesi ile yapılır. Bu amaçla Şekil-1'de, görünü düzlemi, ışın haları, nesne ve onun perspekif görünüsü göserilmişir. Bir nesnenin perspekif dönüşümü için öeleme, roasyon, perspekif projeksiyon gibi işlemlerin gerçekleşirilmesi gerekmekedir. (Z) (Z E ) (X ) (X E ) () ( E ) (Z ) O A B C D E Şekil-1 Doğrusal perspekif dönüşüm (X) Bir nokanın cisim koordina siseminden gözlemci koordina sisemine dönüşümü Şekil- yardımı ile açıklanabilir. (X,,Z) cisim koordina siseminde bir P(X,,Z) nokası anımlansın. Bu noka daha sonra, uçakla hareke eden ve uçağın önüne doğru poziif A, sağ kanadı boyunca poziif X A ve uçağın üsünden aşağıya doğru poziif Z A ile anımlanmış eksenlere sahip (X A, A, Z A ) uçak sisemine çevrilir. Basilik için piloun hareke emediği ve gözünün pozisyonunun uçak sisemi ile aynı olduğu varsayılabilir. Gerekli olan dönüşümleri emsil eden eşiliklerin çıkarımı kısaca incelenecekir. 1
(Z) gözlem orijini (O E) (Z E) (Z A) P(X,,Z) ' ( E) (X E) θ O A α (X A) 1 ( A) β uçak orijini 1.1. Öeleme (ranslaion) Şekil- Cisim ve gözlemci koordina sisemleri Önce, manzaradaki her bir noka O A merkezli gözlemci koordina siseminde anımlanmalıdır. Gözlemci ve cismin koordina sisemlerinin eksenlerinin paralel ve aynı doğruluda oldukları ve bir P(X,,Z) nokasının O A (X A, A, Z A ) merkezinden gözlendiği varsayılsın (Şekil-). P nokasının O A merkezine göre yeri vekörü ile ifade edilirse: 1 ( 1 ) yazılabilir. 1 ve vekörleri sırasıyla O A ve P nokalarını cisim koordina siseminde anımlayan vekörlerdir. Eğer 1 ve vekörleri cisim sisemindeki koordinalar cinsinden ifade edilirse, XA X 1 A Z Z A vekörü için aşağıdaki bağını yazılabilir: X X XA A Z Z Z A 1.. Dönme (Roaion) Denklem () ile verilen öeleme dönüşümü yalnızca her iki koordina sisemindeki eksenlerin paralel ve aynı doğruluda olması durumunda geçerlidir. Faka gözlemci koordina siseminin 6-serbeslik derecesine sahip olması bir nokanın dönüşümünde öelemenin yanı sıra dönme dönüşümünü de gerekli kılmakadır. Gözlemci koordina siseminin eksenleri erafındaki dönmeler α, β ve θ ile verilirse, o zaman A ekseni erafında saa ibreleri yönünde β açısı kadar dönme için aşağıdaki bağınılar yazılabilir (Şekil-). P nokası polar koordina siseminde ifade edilirse aşağıdaki eşilikler yazılabilir. X r sin( ) cos( ) r cos( ) Z r sin( ) sin( ) () O(0,0,0) Cisim koordina siseminin orijini (X) ( ) ( )
(Z A) (Z' A) P*(X,0,Z ) β rsinφ 90-φ r P(X,,Z ) O A ρ (X A) φ (X' A) ( A) β Şekil- A ekseni erafında β kadarlık dönme X r sin( ) cos( ) x cos( ) Z sin( ) Z r sin( ) sin( ) Z cos( ) X sin( ) Buradan P nokası marissel olarak aşağıdaki gibi ifade edilebilir. X cos( ) 0 sin( ) X 0 1 0 Z sin( ) 0 cos( ) Z ( 4 ) Gözlemci koordina siseminin X A ve Z A eksenleri erafındaki roasyonları için de denklem (4) e benzer bağınılar yazılabilir. Böylece cisim uzayındaki P nokası dönüşümden sonra P (X,, Z ) olarak denklem (5) ile verilebilir. X cos 0 sin 1 0 0 cos sin 0 X 0 1 0 0 cos sin sin cos 0 Z sin 0 cos 0 sin cos 0 0 1 Z ( 5 ) (5) denklemi daha kısa biçimde (6) denklemi ile verilebilir. X R11 R1 R1 X XA R R R 1 A Z R1 R R Z Z A ( 6 ) Burada, R 11 = cosβ cosθ - sinβ sinα sinθ R 1 = -sinβ cosα R = cosα cosθ R 1 = sinβ cosθ + cosβ sinα sinθ R = cosβ cosα R 1 = -cosβ sinθ - sinβ sinα cosθ R 1 = -cosα sinθ R = sinα R = sinβ sinθ - cosβ sinα cosθ
1.. Perspekif Dönüşüm -boyulu nesnelerin boyulu görünü düzleminde görünülerinin oluşurulmasında - boyu görünümünü vermek için projeksiyona (izdüşüme) gerek duyulur. Bir cismin projeksiyonunda cismin üm nokaları görünü düzlemine projeksiyonlanır. Projeksiyon haları görünü düzlemini keserek gözlem nokasına ulaşır. Görünü koordina siseminin merkezi genellikle görünü düzleminin merkezi ile uyuşacak şekilde ve bakış nokasından bu merkeze gelen ha görünü düzlemine dik olacak şekilde seçilir. P(X,,Z ) ( A) P'(0,,Z ) (Z ) (X ) (Z A) Z X X H Z (X ) D W O A(X A, A,Z A) (Z ) (X A) Şekil-4 Perspekif Projeksiyon Gözlemci, gözlemci koordina siseminin merkezinde ourmaka ve görünü düzleminden D kadar uzaklıka bulunmakadır (Şekil-4). Nesne nokalarına karşı düşen görünü nokaları benzer üçgenler vasıasıyla kolaylıkla belirlenebilir. X Z X D* Z D* ( 7 ) Görünü düzlemi olarak ekranı kullanılırsa görünü nokalarının kolayca hesaplanabilmesi için koordinaların poziif olması gerekmekedir. Ayrıca X ekseninin sağa doğru Z ekseninin de ekranın alına doğru olması görünü nokalarının koordina değerlerinin raser arama kuralına uygun olması için yararlıdır. eni düzenleme il (7) denklemi aşağıdaki gibi yazılabilir. X X D* CX Z Z D* CZ ( 8 ) 4
. Doku Kaplama (exure Mapping) Bilgisayar grafiklerinde bir cismin yüzey ayrınıları doku olarak adlandırılır. uğlalardan örülmüş büyük bir duvara yeerli uzaklıkan bakığımız zaman duvardaki her bir uğlayı bir doku elemanı olarak düşünebiliriz. Ama bu duvara yakından bakıldığında uğlalar arık ayrı cisimlerdir ve cisim üreme eknikleri ile üreilmelidir. Böyle yüzey ayrınılarının cisim üreme eknikleriyle üreilmesi gerçek-zamanlı sisemler için fazla hesaplama gerekirdiğinden uygun değildir. Doku, cisimlere doğal görünüm kazandırır. Doku, cisme yapışırılmalı ve cisimle aynı dönüşümleri geçirmelidir. Dokunun dönüşümü, doku elemanlarının (çimenli oramda oların veya ağaça yaprakların) dönüşümünü gerekirir. Doku -boyulu veri dizileridir. Bu veriler renk veya parlaklık bilgisi olabilir. Doku dizisindeki bireysel elemanlar eksel (exure elemen) olarak anılır. Doku kaplamayı mahareli bir iş yapan asıl konu, dokuların dörgensel olmayan bölgelere de uygulanabilmesi olmuşur. Doku, farklı dönüşümlerin çokgenin görünüşü üzerindeki ekilerini karşılayacak şekilde bozulmaya uğrar. Boyu bir doğruluda uzarken, diğer doğruluda kısalabilir. Döndürüldüğü için orjinalinden farklı görünebilir. Dokunun büyüklüğüne, dörgenin bozulmasına ve ekrandaki görünüye bağlı olarak, eksellerin bazıları bir fragmandan fazlasına eşlenebilir, bazı fragmanlar da birden çok eksel arafından örülebilir. Doku binlerce ekselden oluşuğu için, ekselleri fragmanlara eşlemek için filreleme işlemi gerçekleşirilmelidir. Bu işlemlerin yoğun hesaplamalar gerekirmesi, üs-düzey grafik sisemlerde doku kopyalamanın donanım düzeyinde deseklenmesine sebep olur. Bu yönemin en önemli üsünlüklerinden biri görününün karmaşıklığının hesaplama mikarını değişirmemesidir. Bu yönemin gerçekleşirilmesi ekran üzerindeki her piksele cisim koordina sisemde karşı düşen nokalarının bulunmasını gerekirir. Bu işlem ise perspekif ransformasyonun ersi olan ers perspekif ransformasyonla gerçekleşirilir.. ers Perspekif Dönüşüm ers perspekif dönüşüm, normal perspekif dönüşümün ers yönde uygulanarak, ekran üzerindeki bir nokanın cisim koordina sisemine dönüşümünü gerekirir. Şekil-'deki P(X,, Z) nokası şu şekilde ifade edilebilir: 1 1 vekörü gözlemci koordina sisem merkezinin cisim koordina sisemine göre konumunu belirler. Bu nedenle herhangi bir roasyona uğramaz. vekörü ise P nokasının gözlemci koordina siseminin merkezine göre yeri olduğu için üç ayrı roasyona abidir. r ers ransformasyon uygulanarak şu sonuç elde edilebilir. 1 1 1 r cos 0 sin 1 0 0 cos sin 0 1 1 1 0 1 0 0 cos sin sin cos 0 sin 0 cos 0 sin cos 0 0 1 O zaman vekörü aşağıdaki şekilde yeniden yazılabilir: 1 1 1 r 1 5
r vekörü, ve gözlemci koordina merkezine göre görünü pikselinin yeri P arasında aşağıdaki ilişki oluşurularak ekran koordinaları olarak ifade edilebilir. X r * * K *P, P D Z 1 1 1 1 * K*P X X X A 1 1 1 A K * D Z Z Z A X- düzlemindeki nokaların Z-koordinaı 0 olur. Bu nedenle yukarıdaki denklem akımında Z=0 yazılarak K sabii bulunur. Böylece ekran üzerindeki her bir nokanın cisim koordina sisemdeki yeri bulunmuş olur. üzey dokusu bir doku örünüsünün yüzey boyunca ekrarından ibareir. Bu nedenle doku olarak küçük bir örünü seçilir, ve yüzey bu örünü üzerine izdüşürülür. Bu izdüşüm aşma varsa da bu sorun yüzeyin diğer kısımlarında örünü ekrarlanarak kolayca giderilebilir. Bu nedenle örünü için küçük bir bellek kullanılabilir. X, koordinalarının yalnız anlamsız kısımları bu belleğe uygulanarak doku üreilebilir. 6
. Doku Kaplama Uygulaması ers perspekif ransformasyon yönemiyle doku üreiminde doku örünüsünün karmaşıklığı hesaplama mikarını değişirmez. Hesaplama mikarı görünüleme düzleminin çözünürlüğüne bağlıdır. Bu deneyde düzlem yüzeyler üzerine bazı doku örünülerinin izdüşürülmesi amaçlanmışır. Bu işlem -boyulu nesnenin -boyulu görünü düzlemi üzerinde perspekif projeksiyonu gerekirir. Daha sonra -boyulu uzayda bu nesneyi emsil eden her pikselin gözlemcinin konumuna ve doğrulusuna bağlı olarak doku uzayındaki karşılığı hesaplanır. Bulunan bu X, koordinaları doku deposuna adres bilgisi olarak uygulanarak gerekli renk veya parlaklık değeri okunarak nesnenin görünüsünü oluşuran pikselde görünülenir. Bu eknik bazı örnekleme haaları oluşurur. Şekil 5 ve 6 da üreilen bir yol dokusu örnekleme (aliasing) haası ile birlike göserilmişir. Şekil-5 iyah-beyaz şeri dokusu 7 Şekil-6 Karlı yol dokusu
4. Deneye Hazırlık Roasyonda kullanılan formüllerin çıkarılışını inceleyiniz. Perspekif dönüşüm ve izdüşüm kavramlarını anlamaya çalışınız. Bilgisayar grafiklerinde kullanılan paralel projeksiyon ürlerini araşırınız. Ani-aliasing eknikleri hakkında araşırma yapınız. Doku kaplamada ers perspekif ile perspekif dönüşüm ne gibi farklılıklara sahipir? Kavramları inceleyiniz. 5. Deneyin apılışı Roasyon formüllerinin oluşumunu göseriniz. Paralel projeksiyon ürlerinin nasıl oluşurulduğunu ve nerelerde kullanıldığını kavrayınız. ers perspekif dönüşüm ile yüzey dokusu kaplama kodlarını yazınız. Perspekif dönüşüm manığı ile yüzey dokusu kaplayınız. (x, y, z) cisim uzayındaki bir küre dilimi y ekseni erafında -45 derece ve x ekseni erafında +5 derece döndürüldüken sonra orografik (dik) projeksiyon kullanılarak x piksellik bir (Px, Py) görünü uzayında görünülenmekedir. U, w düzlemindeki 64x64 piksellik basi bir ağ (grid) uygun bir ransformasyon ile bu küre dilimi üzerine yerleşirilmek iseniyor. x piksellik görünü uzayına karşılık düşen cisim uzayı penceresinin 1 x' 1, 1 y ' 1 olduğu varsayılmakadır. Her piksel sol al köşesinin koordinaları ile anımlanmakadır. Px= Py= pikselinin 64x64 piksellik u, w uzayındaki konumunu bulmak için: o (Px, Py) piksel değerleri ile (x, y, z ) koordinaları arasındaki geçişi sağlayan bağınıları bulunuz. o ransformasyon marisini kullanarak (x, y, z) koorinalarını hesaplayınız. o (Px, Py) pikseline ilişkin u, w koordinalarını hesaplayınız. 8