3B Bilgisayar Grafikleri

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Trkiye Biliim Ansiklopedisi

Boyutlu Bilgisayar Grafikleri


1. Boyutlu Nesne Tanmlama Yntemleri Bilgisayar grafiklerinde boyutlu nesneleri tanmlamak iin birok yntem gelitirilmitir. Hangi tanmlama yntemin avantajl olduu boyutlu uygulamann ama ve gereksinimleri, modellenme yntemleri ve kullanlan modelleme programna gre farkllk gsterir. Nesne tanmlama yntemlerini iki snfta incelemek mmkndr: Bu yntemlerin ilkinde nesnenin i ksmn d ortamdan ayran snr (nesnenin yzeyi) tanmlanr. Bu yntemin belirgin rnekleri arasnda poligonsal nesneler ve parametrik yzeyler bulunur. kinci yntemde ise nesnenin uzayda kaplad hacim gz nnde bulundurulur ve genellikle bu yntem nesnenin snr bilgisinin uygulama iin yetersiz kald durumlarda kullanlr. 1.1 Poligonsal Nesneler Poligonsal nesneler en yaygn kullanlan nesne tanmlama yntemidir. Poligonsal tanmlama yntemlerinde, birbirlerine komu birok boyutlu poligon nesnenin yzeyini oluturur. Poligonsal nesnelerin dier nesne tanmlama yntemlerine gre ok daha yaygn olarak kullanlmasnn balca nedenleri, poligonsal tanmlama yntemlerinin hzl, kolay ve esnek olmasdr. Ancak ayrntl bir nesneyi tanmlamak iin yksek sayda poligon kullanlmas gereklilii, poligonsal nesnelerin nemli bir dezavantajdr. rnein, bir Boeing-777 uann boyutlu modeli yaklak olarak 500,000,000 adet poligon ierebilir [1]. Bu kadar fazla sayda poligon ile almak fazla bellek, yksek ilemci gc ve hzl veri yollar gerektirecektir [2]. ekil 1'de baz nesneler ve poligonlarla tanmlanm halleri gsterilmektedir. Kullanlan poligon says arttrldka, tanmlamadaki hatalar (gerek nesne ile poligonlarla tanmlanm hali arasndaki fark) o kadar azalacaktr. Bu tr hatalar grsel olarak azaltmak iin Gouraud [3] ve Phong [4] tonlandrma yntemleri gelitirilmitir. Poligonsal nesneler birbirlerine komu birok poligondan oluturulduu iin, herhangi bir ke koordinat bilgisi birok poligon tarafndan paylalr. Eer poligonlar birbirinden bamsz olarak kabul edilirse, paylalan kelerin koordinatlar veri yaps iinde gerei olmad halde defalarca saklanr ve gereksiz bellek kullanm sorunuyla karlalr. Bu tr bir soruna neden olmamak iin kullanlabilecek basit yntemlerden birisi, poligonsal nesneyi saklamak iin kullanlacak veri yapsn iki ayr listeden oluturmaktr: x x Ke listesi: Ke listesinde, nesneyi oluturan poligon kelerinin boyutlu koordinatlar saklanr. Poligon listesi: Poligon listesinde, poligonun her kesi iin nokta listesine bir indis (ya da iareti) saklanr.

Bir kp nesnesini saklamak iin oluturulan veri yaps ekil 2de gsterilmitir. Ke Listesi Poligon Listesi v3 v7 v6 v2 v0(-1, -1, -1) v1(1, -1, -1) v2(1, 1, -1) v3(-1, 1, -1) v0 v4 v5 v1 v4(-1, -1, 1) v5(1, -1, 1) v6(1, 1, 1) v7(-1, 1, 1) ekil 2. Bir kp nesnesini poligonlar (drtgenler) kullanarak tanmlamak iin kullanlabilecek veri yaps 1.2 Eriler ve Yzeyler Ayrltl bir nesneyi tanmlamak iin yksek sayda poligon kullanlmas gereklilii, poligonsal nesnelerin en nemli dezavantajdr. rnein, basit kahve kupasnn poligonsal gsterimi binlerce poligon ierebilir ve kupa zerinde ufak bir deiiklik yapmak [0, 3, 2, 1] [2, 3, 7, 6] [0, 4, 7, 3] [1, 2, 6, 5] [4, 5, 6, 7] [0, 1, 5, 4]

ekil 1. Poligonsal nesneler

Nesne Tanmlama Yntemleri

iin bile birok koordinatn deitirilmesi gereklidir. Dolaysyla, ayrntl nesnelerin gsterimi iin hem daha az bellek ihtiyac olan hem de modelleme yapan kiiye kolaylklar salayacak daha esnek yaplara ihtiya duyulur. 1.2.1 Kapal ve Parametrik Fonksiyonlar Eri ve yzeyleri tanmlamak iin kapal ya da parametrik fonksiyonlar kullanlabilir. Kapal fonksiyonlara rnek vermek gerekirse, dzlemin kapal formda gsterimi

katsaylarn hesaplayacak yntemler gelitirilmitir. Bu yntemler arasnda en yaygn kullanm alan bulan Bezir erileridir. 1.2.2 Bzier Erileri Bu yntem, bir Fransz mhendis olan Pierre Bzier tarafndan otomobil tasarmnda kullanmak amacyla gelitirilmitir1. Bzier erilerinin sahip olduu zellikler, onlar eri ve yzey tasarmnda bir hayli kullanl ve uygun hale getirmektedir. Ayrca, Bzier erilerinin programlanmas da olduka kolaydr. Bu tr zelliklerinden dolay, Bzier erileri bilgisayar grafiklerinde yaygn olarak kullanlr. Pierre Bzier, n+1 adet pi kontrol noktas tarafndan kontrol edilen p(u) erisini aadaki gibi tanmlamtr:

f ( x, y , z )

ax  by  cz  d

olarak belirtilirken, kre yzeyi ise


f ( x, y , z ) x2  y2  z 2  r 2 0

p (u )

p B
i i 0

i,n

(u )

olarak belirtilir. Ancak kapal fonksiyonlar kullanlarak tanmlanan yzeylerin (ya da erilerin) zerinde bulunan noktalarn koordinatlarnn hesaplanmas zor ve uzun sren ilemler gerektirir. Baz durumlarda da zm imkansz ya da kullanlamayacak derecede kark olur. Bundan dolay, eri ve yzeyleri tanmlamak iin parametrik fonksiyonlar ok daha kullanldr ve daha yaygn olarak kullanlr. boyutlu erilerin parametrik gsteriminde, eri zerinde bulunan noktalarn x, y ve z koordinatlar, bir dier u deikenine bal fonksiyonlar olarak tanmlanr:

Denklemde bulunan Bi,n(u) fonksiyonu Bernstein polinomlar olarak adlandrlr.

Bi , n (u )

n! u i (1  u ) n  i i !(n  i )!

p(u )

( x(u ), y (u ), z (u ))

Bu gsterimde u deikenine parametre, x(u), y(u) ve z(u) denklemlerine de erinin parametrik denklemleri ad verilir. Parametrik gsterim, eri zerindeki her noktann u parametresi cinsinden hesaplanmasna olanak salar. Yzeylerin parametrik gsterimi ise iki parametreye (u ve v) bal olarak belirtilir:
p(u , v)

Bernstein polinomlar Bzier erilerinin temelini oluturur. ekil 3de drt kontrol noktasna sahip Bzier erisinin drt Bernstein polinomu gsterilmektedir. Bernstein polinomlar, u parametresinin deiik deerleri iin, kontrol noktalarnn Bzier erisi zerindeki etkilerini belirtir. lk kontrol noktasnn (p0) Bzier erisine olan etkisi u=0 olduu zaman en st dzeydedir. Bunun yannda, dier kontrol noktalarnn (p1, p2 ve p3) u=0 olduu zaman eri zerinde bir etkisi yoktur nk o kontrol noktalarna ait Bernstein polinomlarnn (B1,3, B2,3 ve B3,3) deeri sfrdr. 1

B0,3(u)

B1,3(u)

B2,3(u)

B3,3(u)

( x(u , v), y (u , v), z (u , v))

Parametrik eri ve yzeylerin tanmlanmas srecinde, parametrik fonksiyon olarak ounlukla polinomlarn kullanlmas tercih edilir. Her ne kadar polinomlar gibi basit fonksiyonlar kullanlsa da, polinomlarn katsaylarn deitirerek istenilen erinin ya da yzeyin oluturulmas olduka zordur. Bunun yerine, tasarmcnn belirleyecei kontrol noktalarnn koordinatlarna gre parametrik fonksiyonun

ekil 3. 4 kontrol noktasna sahip (n=3) Bezir erisine ait Bernstein polinomlarnn grafikleri
1 Bzier erileri, Paul de Casteljau ve Pierre Bzier tarafndan birbirlerinden bamsz olarak gelitirilmitir. Paul de Casteljau, gelitirdii yntemle ilgili teknik raporunu [5] Pierre Bzierden nce yazm olmasna ramen, Pierre Bzier konuyla ilgili almalarn daha nce halka ak hale getirdii iin bu yntem Bzier erileri olarak adlandrlmtr [6].

Trkiye Biliim Ansiklopedisi

Tm kontrol noktalarnn az veya ok eri zerinde bir etkisi vardr. nk Bernstein polinomlarnn deeri sadece u=0 ve u=1 dnda sfrdan farkldr. Kontrol noktalarnn says ne olursa olsun bu durum deimez. Kontroln geni apl olup, kontrol noktalarnn tm eri zerinde etkili olmas Bzier erilerinin dezavantajlarndan birisi olarak kabul edilebilir. Ayrntl Bzier erilerini tanmlamak iin birok kontrol noktas kullanmak mmkndr. Fakat Bzier erilerinde kontroln geni apl olmas ve polinomun derecesi arttka matematiksel hesaplamalarnn karmaklamas yznden kontrol noktalarnn saysnn fazla olmas tercih edilmez. Bunun yerine drt kontrol noktasna sahip Bzier erilerinin arka arkaya birletirilmesiyle daha ayrntl eriler oluturulur. Bu nedenden dolay, kbik Bzier erileri (4 kontrol noktasna sahip Bezir erileri) dier dereceden Bzier erilerine gre daha yaygn olarak kullanlr.

1.2.3 Bezier Yzeyler boyutlu Bezir yzeylerinin (dier adyla Bezir yamalarnn) tanmlanmas iin Bezir erilerinin gsteriminin genelletirilmesi mmkndr. Matematiksel olarak, boyutlu yzeyler iki erinin kartezyen arpmndan elde edilebilir. Dolaysyla, (m+1)(n+1) kontrol noktas tarafndan belirtilen Bezir yzeyinin gsterimi yle olacaktr:

p (u , v )

p
i 0 j 0

i, j

Bi , n (u ) B j , m (v)

ekil 5de 16 kontrol noktas ile tanmlanm bir Bezir yzeyi gsterilmektedir. p23 p03 p02 p13 p22 p00 p10 p21 p20 p31 p30 p32

p1

p2

p01 p11

p12

p33

p0

p3

ekil 4. Bir kbik Bezir erisi ve onu tanmlamak iin kullanlan drt kontrol noktas Aada kbik Bzier erilerine ait polinomlarnn denklemi gsterilmektedir: Bernstein

B0,3 B1,3 B2,3 B3,3

(1  u )3 3u (1  u ) 2 3u 2 (1  u ) u3
ekil 5. 16 kontrol noktasyla tanmlanm boyutlu Bezir yzeyi Bezir erileri dnda yaygn olarak kullanlan dier yntemler arasnda Hermite, B-Spline, Cardinal, Kochanek-Bartels ve Catmull-Rom erileri [7] sayilabilir. Ayrica Loop [8], Butterfly [9], CatmullClark [10], Doo-Sabin [11] ve 3 [12] gibi yaygn olarak kullanlan yzey blmlendirme yntemleri de vardr.

Buna gre, kbik Bzier erisinin denklemi aadaki gibi olacaktr:


P(u ) p 0 (1  u )3  p1 3u (1  u ) 2  p 2 3u 2 (1  u )  p 3u 3

Drt kontrol noktasna sahip Bzier erilerinin gsterimi nc dereceden (kbik) bir polinom olmaktadr. Polinomun derecesi her zaman kontrol noktalarnn saysndan bir eksiktir.

Nesne Tanmlama Yntemleri

2. Grnr Yzey Tespit Algoritmalar (Visible Surface Detection / Hidden Surface Removal Algorithms) boyutlu grafik uygulamalarnda, sahnenin ve sahnedeki nesnelerin hangi ksmlarnn grld, gerekletirilmesi gereken nemli saptamalardan birisidir. Nesnelerin hangi ksmlarnn grldnn (dolaysyla ekranda grntlenmesi gerektiinin) ve hangi ksmlarnn sakl kaldnn (dolaysyla elenmesi gerektiinin) saptanmas amacyla gelitirilmi birok yntem olup, bu yntemlere grnr yzey tespit algoritmalar ad verilir.

u ana kadar gelitirilmi birok yntem olmasna ramen grnr yzey tespit problemine tek bir mkemmel zm yoktur. Tm grnr yzey tespit algoritmalarnn birbirlerine gre birok avantaj ve dezavantajlar vardr: hz, bellek ihtiyac, yntemin gelitirme zorluklar veya sadece belirli nesneler zerine uygulanabilirlik gibi. Bunun yannda gerek zamanl grntler elde etmek amacyla kullanlan yntemler ile yksek derecede gereki grntler elde etmek amacyla kullanlan yntemler de farkllklar gsterecektir. Bu konuda yaplan en nemli almalardan birisi Ivan E. Sutherland, Robert F. Sproull ve Robert A. Schumacker tarafndan 1974 ylnda tamamlanm ve A Characterization of Ten Hidden-Surface Removal Algorithms ad altnda yaymlanmtr [13]. Bu makale yaynland zamann en nemli 10 grnr yzey tespit algoritmasn detayl olarak incelemi ve karlatrmtr.
2.1 Ressam Algoritmas (Painters Algorithm) Ressam Algoritmas [14], en basit grnr yzey tespit algoritmalarndan birisidir. Bu yntemde ekranda grntlenecek yzeyler derinliklerine gre arkadan ne doru sralanr ve bu sralamaya gre ekrana baslr. Bu yntem bir bakma ressamn resim yapmasna benzer. Nasl bir ressam sra ile nce en arkadaki dalar, ovalar, sonra gerideki aalar, evleri, en sonra da en nde oynayan ocuklar boyarsa, bu yntemde de en arkadaki yzeyden balayarak yzeyler srayla izilir (ekil 6). ekil 6. Ressam Algoritmas: yzeyler arkadan ne doru sralanr ve bu sraya gre ekranda grntlenir.

bak noktas

z1

z2

z ekseni

ekil 7. Yzeyleri orta noktalarna gre sralamak her zaman dzgn sralamay vermez.

Ancak, bu algoritmann basitlii yannda baz nemli dezavantajlar da vardr. ekil 7de gze daha yakn gen olan byk genin nde olmas gerekirken, genler, orta noktalarn derinliklerine gre sraland zaman kk genin daha nde olduu sonucuna varlr ve bu da yanl sonutur.

Bunun yannda, birbiriyle kesien yzeyler (ekil 8.a) ve srayla birbirlerinin zerini rten yzeyler (ekil 8.b) iin ressam algoritmas dzgn sonular vermez. nk ressam algoritmasna gre yzeylerin birbirlerine gre ya btnyle nnde, ya da btnyle arkasnda olduu kabul edilir. Yaplacak baz testler ve yzeylerin alt yzeylere blnmesiyle hatalarn nne geilmesi mmkndr. rnein, ekil 8.cde gsterilen P ve Q yzeyleri hangi srayla gsterilirse gsterilsin yanl sonu elde edilecektir. Ancak Q yzeyi Qa ve Qb olmak zere iki paraya blnrse Qa, P, Qb grntlenme sras dzgn sonucu salar.

Trkiye Biliim Ansiklopedisi

ekranda dzgn grntlenebilmesi iin yalnzca n yzlerin (A, E, F, H) dikkate alnmas yeterlidir. Qa P Arka yz tespiti tek bana kullanld zaman grnr yzey tespit yntemi olarak yeterli deildir. Bu nedenle baka bir grnr yzey yntemi ile desteklenmelidir. Ancak basitlii ve hz nedeniyle, dier grnr yzey tespit yntemlerinin uygulanmasndan nce bir n algoritma olarak ileme konulur.
2.2 Z-tamponu (Z-buffer) Ed Catmull tarafndan 1974 ylnda ortaya atlan Ztamponu algoritmas [15], basit bir grnr yzey tespit yntemi olmasna ramen dier birok grnr yzey tespit algoritmasnn dezavantajlarna sahip deildir. Bu zellikleri Z-tamponu algoritmasn bilgisayar grafiklerinde en yaygn kullanlan grnr yzey tespit algoritmas olmasn salamtr. Birok grafik uygulamas ve grafik hzlandrc donanm grnr yzey tespit algoritmas olarak Z-tamponu veya Ztamponuna benzeyen yntemler kullanr.

(a)

(b)

(c)

ekil 8. Birbirleriyle kesien ya da srayla birbirlerinin zerini rten yzeyler iin ressam algoritmas dzgn sonular vermez. 2.2 Arka Yz Tespiti (Back-Face Detection) Arka yz tespiti, poligon tabanl grafik uygulamalarnda grntlenmesi gereken poligon saysn yaklak olarak yarya indiren basit ve hzl bir yntemdir. Ancak arka yz tespitinin dzgn sonular verebilmesi iin baz artlarn salamas gereklidir.

1.

2. 3.

Nesneler kapal olmaldr. Bir baka deyile, nesneler ii grlebilen boluklar iermemelidir. Nesneler effaf ya da yar geirgen olmamaldr. Nesneyi oluturan yzeylere ait normal vektrleri darya doru tanmlanm olmaldr.

Yukarda bulunan koullarn salanmas durumunda, normal vektrleri bak noktasna ynelmemi yzeyler dier yzeyler tarafndan btnyle rtlr (ekil 9). Bu nedenle, arka yz ad verilen ve grnmeyecek olan bu yzeyler gzard edilebilir.

Z-tamponu algoritmasnn arkasnda yatan temel fikir ekranada gsterilecek olan piksellerden (grnt eleman) bak noktasna en yakn olanlar (en kk z koordinatna sahip olanlar) bulmaktr. Bunun iin, ekrandaki tm pikseller iin iki adet iki boyutlu dizi kullanlr. lk dizi noktalarn rengini, ikincisi de noktalarn derinliini saklar. Renk dizisi arka plan rengiyle, derinlik dizisi de mmkn olan en byk deer ile doldurulur. Ekranda grntlecek tm pikseller iin pikselin z koordinat hesaplanr. Hesaplanan z deeri derinlik dizinde ayn piksele karlk gelen deerden daha kkse (bir baka deyile, piksel daha yakndaysa), derinlik dizisindeki pikselin eski z deeri, hesaplanan yeni z deerine, renk dizisindeki pikselin deeri de grntlenecek pikselin rengine eitlenir. ounlukla, Z-tamponu yntemi, poligonlar kullanlarak oluturulmu sahneler iin kullanlr. nk, dorusal interpolasyon yntemleri, poligonu oluturan piksellerin z koordinatlarnn hzlca bulunmasn salar. Ancak Z-tamponu algoritmasnn nemli avantajlarndan bir dieri de dzlemsel olmayan yzeyler iin de uygulanabilir olmasdr. boyutlu nesnenin tanmlanma biimi ne olursa olsun, nesne z koordinat zerinde bulunan noktalarn hesaplanabildii srece, Z-tamponu algoritmas kullanlabilir.

H G

F C bak noktas A B

ekil 9. Gri tonlarda gsterilen arka yzler (B, C, D ve G), dier yzeyler tarafndan btnyle rtldnden dolay gzard edilir. Bu nesnenin

Nesne Tanmlama Yntemleri

3. Ik ve Aydnlanma Modelleri Ik-nesne etkileimleri, gereki grntlerin elde edilmesinin arkasnda yatan en nemli etkenlerden birisidir. Bu nedenle doada gerekleen k-nesne etkileimleriyle ilgili birok aratrma yaplmtr. Aydnlanma modeli belirli zelliklere sahip nesne ve k kaynann birbirleriyle olan etkileiminin tanmland matematiksel modeldir. Aydnlanma modelinin sunduu matematiksel denklemler, yzey zerinde bulunan bir noktann aydnlanma deerinin doru ve gereki olarak hesaplanmasna olanak salar.

dank yansma ve dzgn yansma ad verilen temel bileenden oluur. 3.1.1 Ortam I (Ambient Light) Bir k kaynandan direk olarak k almayan yzeyler, sahnede bulunan dier yzeylerden yansyan fotonlar tarafndan aydnlatlabilir. Bir baka deyile, sahnede bulunan yzeyler hem k kaynaklar tarafndan dorudan (direct lighting) hem de dier yzeyler tarafndan yanstlan fotonlar tarafndan dolayl olarak (indirect lighting) aydnlatlr.

Bu konunun detayna inildike ok karmak ve matematiksel modellere oturtulmas bir hayli g knesne etkileimleriyle kar karya kalnr. Dolaysyla, olas tm k-nesne etkileimlerini yakalayabilen mkemmel bir matematiksel modelin oluturulmas hi de kolay deildir. Karmak k-nesne etkileimlerinin zlebileceini ve matematik ile tanmlanabilir hale getirilmesinin olas olduunu kabul etsek bile, hesaplamalar iin gereken srenin makul snrlar ierisinde olacan sylemek olduka zor olacaktr. Ayrca deneyimsiz bir kullanc karmak bir aydnlanma modelini anlamak ve istedii grsel amalar dorultusunda kontrol etmekte zorlanacaktr. Bu tr nedenlerden dolay, aratrmaclar ya baz varsaymlar yaparak, ya da baz k etkileimlerini gzard ederek daha basit ve hesaplanmas imkanlar dahilinde olan aydnlanma modelleri gelitirmilerdir. u ana kadar gelitirilen birok aydnlanma modeli vardr ve kullanlacak aydnlanma modeli boyutlu uygulamann ama ve gereksinimlerine gre seilir. Ulalmak istenilen gerekilik dzeyi arttka, daha karmak ve daha uzun ilemler gerektiren aydnlanma modellerinin kullanlmas gerekir. rnein, bir uu simlasyonunda ok gereki ama yava grntlerin yerine, hzl ve akc bir grnt tercih edilir. Bu sebepten dolay, fazla ilemci gc gerektirmeyen basit aydnlanma modelleri kullanlr. Bununla birlikte, bilgisayarla kullanlarak yaplm film hilelerinde en gereki grntye ulamak birincil amatr. Bu tr uygulamalarda ileri dzeyde aydnlanma modelleri kullanlr ve grntlerinin oluturulmas uzun zaman alr.
3.1 Phong Aydnlanma Modeli Ne halen zerinde aratrmalarn devam etti aydnlanma modelleri kadar kark, ne de uu simulasyonlarnda kullanlan aydnlanma modelleri kadar basit bir aydnlanma modeli Bui-Tuong Phong tarafndan 1975 ylnda gelitirilmitir [4]. Phong aydnlanma modeli gelitirildii yllardan beri bilgisayar grafiklerinde ok yaygn olarak kullanlmtr. Phong aydnlanma modeli ortam ,

nesne 1 nesne 2
p

k kayna

nesne 3
ekil 10. p noktas, nesne 2 ve nesne 3ten yansyan fotonlar tarafndan aydnlatlmaktadr.

ekil 10de nesne 1in yzeyinde bulunan p noktas k kaynandan direk olarak k almamasna ramen, nesne 2 ve nesne 3ten yansyan fotonlar p noktasnn aydnlatlmasna yol amaktadr. Bu aydnlanma deerinin tam olarak hesaplanmas, sahnede bulunan nesnelerin birbirleri arasndaki k etkileimlerinin hesaplanmasn gerektirdiinden, zor ve uzun zaman alan bir sretir2. Ayrca Phong aydnlanma modeli yerel bir modeldir. Yerel aydnlanma modellerinde, aydnlanma hesaplamalar yaplrken k kaynaklar ve aydnlatlan noktann zellikleri dnda hibir etken gz nnde bulundurulmaz. Phong aydnlanma modelinde, nesneler aras k etkileimleri nedeniyle oluan aydnlanma miktar ortam (sahne , arkaplan ) ad verilen sabit bir bileenle taklit edilmeye allr. Ortam nn yzeyin her noktasna eit miktarda dt kabul edilir ve hi bir yn zellii yoktur. Ia ortam k kaynann iddeti ve ka yzeyin ortam k katsays olmak zere bir yzeyin ortam ndan dolay kaynaklanan aydnlanma miktar
2 lk olarak 1984 ylnda Goral, Torrance, Greenberg ve Battaile tarafndan ortaya atlan yaylm (radiosity) yntemi tm yzeyler arasndaki k etkileimlerinin hesaplanp son derece gereki grntlerin oluturulmasna olanak salamtr [16].

Trkiye Biliim Ansiklopedisi

I ortam

I a ka

doru olan vektr arasndaki a olmak zere dank yansma miktar


I dank Ikd cosT

olarak hesaplanr.
3.1.2 Dank Yansma (Diffuse Reflection) Kuma, kat, tahta, tebeir gibi mat ve przl yzeylere hangi ynden baklrsa baklsn ayn aydnlkta gzlenir. Phong aydnlanma modelinin ikinci bileeni olan dank yansma, yzeylerin zerine gelen n belirli bir miktarn her yne eit iddette yanstmasndan dolay ortaya kar (ekil 11). Bu tr yzeylerin aydnlanma deeri, zerine gelen k enerjisinin miktarna ve yzeyin yanstma zelliklerine baldr. Hesaplamalarda bak noktasnn konumu dikkate alnmaz.

denklemine gre hesaplanr.


3.1.3 Dzgn Yansma (Specular Reflection) Birok durumda gereki aydnlanma sonular elde etmek iin ortam ve dank yansma bileenleri yetersiz kalr. Bunun balca nedeni ou yzeyin zerlerine gelen her yne eit iddette yanstmamasdr. rnein, dzgn, przsz ve cilal yzeyler sz konusu olduu zaman, bak dorultusunun alglanan k iddeti zerinde etkisi vardr ve bak noktasnn konumunun deimesiyle yzey zerinden alglanan k iddeti de deiir. nk dzgn yzeyli nesneler bir bakma ayna gibi davranr ve zerlerine gelen n byk ounluunu yansma dorultusunda yanstr.

gelen k

ekil 11. Kuma, kat, tahta, tebeir gibi mat ve przl yzeyler, zerine gelen her yne eit iddette yanstrlar. Bu nedenle bu tr yzeylere hangi dorultudan baklrsa baklsn ayn aydnlkta gzlemlenir.

Phong, bu olguyu gzledikten sonra aydnlanma modeline dzgn yansma ad verilen nc bir bileen eklemitir. Phong aydnlanma modelinin temelini dzgn yansma bileeni oluturur. Zaten sadece ortam ve dank yansma bileenleri ile oluturulan basit aydnlanma modelleri, Phong aydnlanma modeli ortaya atlmadan nce de kullanlmaktayd [17]. Phong aydnlanma modelinin dayand hibir matematiksel ya da fiziksel kuram yoktur. Btnyle Bui-Tuong Phong tarafndan yaplan gzlemler sonucu elde edilmi ampirik (bir kurama deil de yalnzca deneye, gzleme dayanan) bir modeldir. Ancak gereki sonular elde edilmesinin yannda hesaplanmasnn kolay olmas, Phong aydnlanma modelinin bilgisayar grafiklerinde ok geni bir yer edinmesine olanak salamtr. Ayrca bilgisayar grafiklerinde kullanlan birok geleneksel aydnlanma modeli teoride yeri olmayan ok sayda varsaym, hile ve basitletirme ierir. Ancak, bunlar pratikte olduka dzgn sonular verir. Dzgn yansma bileeninin deeri, bak noktasna doru olan v (viewing) vektr ile yansma dorultusunu belirten r (reflection) vektr arasndaki aya baldr (ekil 13).

Dank yansma bileeni Lambert teoremine gre hesaplanr. Bu teoreme gre bir yzeyin dank yansma nedeniyle kaynaklanan aydnlanma miktar, yzeyin normal vektr n ile k kaynana doru olan l (light) vektr arasndaki ann kosins ile orantldr (ekil 12).

n l

T
ekil 12. Dank yansma bileeni Lambert teoremine gre hesaplanr. I k kaynann iddeti, kd yzeyin dank yansma katsays ve T yzey normal vektr ile k kaynana

Nesne Tanmlama Yntemleri

n l
T T I

r v

3.2 Poligonsal Nesneler in Tonlandrma Yntemleri Yzey zerinde bulunan noktalara aydnlanma modelinin uygulanmasi srecine tonlandrma (shading) ad verilir. Poligonsal nesneler iin kullanlan temel tonlandrma yntemi vardr: dz, Gouraud ve Phong. 3.2.1 Dz Tonlandrma (Flat Shading / Constant Shading) En hzl ve basit tonlandrma yntemi olan dz tonlandrma (flat shading, constant shading) ynteminde ekranda grntlecek poligon iin bir kere aydnlanma modeli hesaplanr ve poligon elde edilen aydnlanma deeri ile doldurulur. 3.2.2 Gouraud Tonlandrma (Gouraud Shading) Poligonsal tanmlama yntemleri eri yzeyleri belirtmek iin yetersiz kalr. Nesneyi oluturan poligon saysn artrmak soruna bir zm oluturmasna ramen, bu tr bir zme gitmek daha fazla bellek ve ilemci gc gerektirecektir. 1971 ylnda Gouraud tarafndan ortaya atlan Gouraud tonlandrma yntemi, poligonsal nesnelere ait dezavantajlar grsel olarak azalmak amacyla gelitirilmitir [3].

ekil 13. Dzgn yansma bileeni, r ve v vektrleri arasndaki aya baldr.

Bu iki vektr arasndaki a I ile belirtilirse, Bui-Tuong Phong, modelinin en nemli ksmn oluturan dzgn yansma bileenini
W (T )cos ns I

fonksiyonunu temel alarak modellemitir. Fonksiyonda bulunan ns katsays yzeyin dzgnlyle balantldr: Bu katsay bydke daha keskin, kk alanl ve odaklanm yansmalar elde edilir. W (T ) ise yzeyin kendine has optik zelliklerine bal yansma fonksiyondur. Birok durumda bu fonksiyonun sabit bir ks katsaysna eit olduunun kabul edilmesi istenilen grsel sonular elde etmek iin yeterlidir. Phong aydnlanma modeli, kendisini oluturan bileenin (ortam , dank yansma ve dzgn yansma) toplamna eittir:
I I a ka  I (kd cosT  k s cos ns I )

Gouraud tonlandrma algoritmasnn ilk adm ke normal vektrlerinin hesaplanmasdr. Gouraud, ke normal vektrlerini hesaplamak iin yzeyin analitik tanmnndan yararlanmtr. Kre, silindir ya da parametrik yzeyler gibi matematiksel denklemleri bilinen yzeylerde, yzey zerinde bulunan her noktann normal vektrnn hesaplanmas mmkndr. Ancak ayrntl poligonsal nesnelerde bu tr bir yaklam ya ok zor ya da imkanszdr. Bu nedenle Gouraud, herhangi bir poligonsal nesnenin ke normal vektrlerini yaklak olarak hesaplamak iin daha kolay bir zm sunar: Bu yntemde, normal vektrnn bulunmas istenilen keyi paylaan poligonlarn normal vektrlerinin ortalamas hesaplanr (ekil 15).

ekil 14. Phong aydnlanma modeli ortam , dank yansma ve dzgn yansma bileenlerinin toplamna eittir.

Phong aydnlanma modeli dnda yaygn olarak kullanlan dier baz aydnlanma modelleri Cook ve Torrance [18], Blinn [19], Oren ve Nayar [20], Ward [21] ve Lafortune [22] tarafindan gelitirimitir.
ekil 15. Bir keye ait normal vektr, keyi paylaan poligonlarn normal vektrlerinin ortalamasnn hesaplanmasyla elde edilir.

Trkiye Biliim Ansiklopedisi

Ke normal vektrlerinin bulunmasnn ardndan, her keye ait aydnlanma deeri hesaplanr ve poligonu oluturan piksellerin aydnlanma deeri dorusal interpolasyon yntemi kullanlarak elde edilir.
3.2.3 Phong Tonlandrma (Phong Shading) Gouraud tonlandrma yntemi basit ve hzl bir yntemdir. Bundan dolay, birok grafik hzlandrc donanm Gouraud tonlandrma yntemini destekler. Ancak, Gouraud tonlandrma yntemi kullanld zaman karlalan baz sorunlar vardr. Bu tr sorunlarn balca nedeni dorusal interpolasyon yntemlerinin ani aydnlanma deiimlerini yakalayamamasdr. rnein, Gouraud tonlandrma yntemi kullanld zaman dzgn ve przsz yzeylerde gzlenen dzgn yansma bileeni ounlukla yanl hesaplanr. Sonu olarak yanl grntler ve canlandrmalarda rahatsz edici aydnlk deiimleri gzlenir.

Phong, 1975 ylnda, hem kendine ait aydnlanma modelini gelitirmi hem de Gouraud tonlandrma ynteminin dezavantajlarnn stesinden gelebilecek yeni bir tonlandrma yntemi ortaya atmtr [4]. Phong tonlandrma ynteminin ilk admn oluturan ke normal vektrlerinin hesaplanmas Gouraud tonlandrma yntemi ile ayndr. Ardndan poligonu oluturan piksellere ait normal vektrleri dorusal interpolasyon yntemi kullanlarak elde edilir ve her piksel iin aydnlanma modeli uygulanr.

n0

N1/4

N1/

N3/4

ekil 16da nokta k kayna le aydnlatlan bir yzeyin ortam , dank yansma ve dzgn yansma bileenlerinin dalm fonksiyonlar grlmektedir. Ortam ve dank yansma bileenleri dorusal fonksiyonlarla yeterli dereceye kadar belirtilebilse de dzgn yansma bileeni iin ayn eyleri sylemek olas deildir. Bundan dolay, Gouraud tonlandrma ancak dzgn yansma bileeni gz ard edilebilecek kadar kk olduu zaman kullanldr.

ekil 17. Phong tonlandrma yntemi

Phong tonlandrma yntemi Gouraud tonlandrma yntemine gre ok daha dzgn ve kaliteli sonular verir. Ancak grntlenen her piksel iin aydnlanma modelinin uygulanmas, Phong tonlandrma ynteminin ok daha yava olmasna neden olur.
3.3 Doku Kaplama (Texture Mapping) In yzey ile etkileimini tanmlayan aydnlanma modeli, yzeyin optik zellikleriyle ilgili olarak birok paramatreye baldr. rnein, Phong aydnlanma modelininin davran ka ortam , kd dank yansma ve ks dzgn yansma katsaylar ile belirtilir. Ancak bu parametrelerin tm yzey boyunca sabit olmas ayrntl yzeylerin tanmlanmasn gletirir. Doku kaplama olarak adlandrlan yntemle, aydnlanma modelinin bal olduu parametrelerin doku ad verilen yaplardan alnmas fikri ortaya atlmtr. Bu yntem ilk olarak 1974 ylnda Catmull tarafndan bulunmu [15], ardndan 1976 ylnda Blinn ve Newell tarafndan geniletilmitir [23]. Doku kaplama yntemi kullanlarak, iki boyutlu resimlerin ya da prosedrel yntemlerle tanmlanm dokularn yzey zerine kaplanmas yoluyla ayrntl yzeylerin oluturulmas mmkndr. rnein, tulalardan olumu bir duvarn her ayrntsn birok poligonla modellemek yerine, bir duvar resmi tek bir poligonun zerine kaplanabilir. Bylece daha gereki sonular daha hzl, daha kolay ve daha az bellek kullanlarak elde edilir.

yzey

ortam

dank yansma

dzgn yansma
ekil 16. Ortam ve dank yansma bileenleri dorusal fonksiyonlarla belirli bir dorulua kadar ifade edilebilir. Ancak dorusal interpolasyon yntemleri dzgn yansma bileenini belirtmek iin yetersiz kalr.

Nesne Tanmlama Yntemleri

Doku kaplama yntemi iki temel admdan oluur (ekil 18). lk adm, ekranda grntlenecek pikselin drt kesinin yzey zerine izdmnn alnmasdr. Ardndan, piksel keleri, dokunun tanmland iki boyutlu (u, v) koordinat sistemine tanr. Drt (u, v) koordinat doku zerinde bir drtgeni belirtir ve bu drtgenin iinde bulunan doku elemanlarnn ortama deeri aydnlanma modelinde kullanlr. v

3.5 evresel Kaplama (Environment Mapping) evresel kaplama, yzeyler zerinde oluan yansmalar elde etmek iin kullanlan basit ve etkili bir yntemdir. Blinn ve Newell tarafndan 1978 ylnda ortaya atlan bu yntemde [23], bak noktasndan yzeye doru olan n yzey normaline gre yanstlr. Yansma ynne doru olan n evresel kaplama le kesitirilir ve kesiim noktasndaki doku eleman aydnlanma modelinde kullanlr. evresel kaplama basit bir yntem olduu iin, hemen hemen tm grafik hzlandrc donanmlar evresel kaplamay destekler. Referanslar [1] Brian E. Cripe ve Thomas A. Gaskins. The DirectModel Toolkit: Meeting the 3D Graphics Needs of Technical Applications. Hewlett-Packard Journal. 1998.

piksel yzey
ekil 18. Doku kaplama 3.4 Ptr Kaplama (Bump Mapping) Bilgisayar grafiklerinde gerekilii engelleyen nemli etkenlerden birisi, oluturulan grntlerin gereinden fazla dzgn gzkmesidir. Doada bulunan nesneler mkemmel dzgnlkte deildir. Anma, izilme, paslanma ya da yzeyin kendi doal yaps nedeniyle, yzey stnde birok girinti knt bulunur. rnein, portakal gibi ptrl bir yzeye sahip bu tr nesneler, poligonlar kullanarak modellenebilmesine ramen, yzeyin ptrl yapsn belirtmek iin ok fazla sayda poligon kullanlmas gereklidir. Blinn, 1978 ylnda, nesnenin geometrik yapsn deitirmeden nesneye ptrl, girintili kntl ya da krm grnm vermek iin bir yntem gelitirmitir [24]. Ptr kaplama ad verilen bu yntemde, aydnlanma hesaplamalarnda kullanlan normal vektr, nesneye kaplanan dokuya bal olarak deitirilir. Ptr kaplama ynteminin nemli bir dezavantaj, nesnenin siluetinin dzgn gzkmesidir. Ptr kaplama nesnenin geometrisini deitirmediinden dolay, nesnenin siluet grnts de deimez.

doku

[2] Michael Deering. Data Complexity for Virtual Reality: Where do all the Triangles Go? IEEE Virtual Reality Annual International Symposium (VRAIS), 1993. [3] Henry Gouraud. Continuous Shading of Curved Surfaces. IEEE Transactions on Computers, 20(6): 623-629, 1971. [4] Bui-Tuong Phong. Illumination for Computer Generated Pictures. Communications of the ACM, 18(6): 311-317, 1975. [5] Gerald Farin. Curves and Surfaces for Computer Aided Design A Practical Guide. Academic Press Inc., 1996. [6] Thomas Akenine-Mller ve Eric Haines. Real Time Rendering. A.K. Peters, 2002 [7] Donald Hearn ve Pauline Baker. Computer Graphics. Prentice-Hall. Second Edition, C Version, 1997. [8] Charles Loop. Smooth Subdivision Based on Triangles. Yksek Lisans Tezi. Matematik Blm, Utah niversitesi. 1987. [9] Nira Dyn, David Levin ve John A. Gregory. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Transactions on Graphics, 9(2): 160-169, 1990. [10] Ed Catmull ve James Clark. Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes. Computer Aided Design, 10(6): 350-355, 1978.

ekil 19. Ptr kaplama

Trkiye Biliim Ansiklopedisi

[11] D. Doo ve M. Sabin. Analysis of the Behaviour of Recursive Division Surfaces near Extraordinary Points. Computer Aided Design, 10(6): 356-360, 1978. [12] Leif Kobbelt. 3 -Subdivision. SIGGRAPH2000 Proceedings. 103-112, 2000. [13] Ivan E. Sutherland, Robert F. Sproull ve Robert F. Schumacker. A Characterization of Ten Hidden-Surface Removal Algorithms. ACM Computing Surveys, 6(1): 1-55, 1974. [14] M. G. Newell, R. G. Newell ve T. L. Sancha. A Solution to the Hidden-Surface Problem. Proceedings of the 1972 ACM National Conference. 443-450, 1972. [15] Ed Catmull. A Subdivision Algorithm for Computer Display of Curved Surfaces. Doktora Tezi. Utah niversitesi. 1974. [16] C. Goral, K. Torrence, D. Greenberg ve B. Battaile. Modeling the Interaction of Light Between Diffuse Surfaces. SIGGRAPH84 Proceedings, 213-222, 1984. [17] W.J. Bouknight ve K.C. Kelly. An Algorithm for Producing Half-tone Computer Graphics Presentations with Shadows and Movable Light Sources. Proceedings of SJCC. 1-10, AFIPS Press, Montvale, NJ, 1970. [18] Robert L. Cook ve Kenneth E. Torrance. A Reflectance Model for Computer Graphics. ACM Transactions on Graphics, 1(1): 7-24, 1982. [19] James F. Blinn. Models of Light Reflection for Computer Synthesized Pictures. SIGGRAPH77 Proceedings, 192-198, 1977. [20] Michael Oren ve Shree K. Nayar. Generalization of Lamberts Reflectance Model. SIGGRAPH94 Proceedings, 239-246, 1994. [21] Gregory Ward. Measuring and Modeling Anisotropic Reflection. SIGGRAPH92 Proceedings. 265272, 1992. [22] Eric P. F. Lafortune, Sing-Choong Foo, Kenneth E. Torrance ve Donald P. Greenberg. Non-Linear Approximation of Reflectance Functions. SIGGRAPH97, 117-126, 1997. [23] James F. Blinn ve M. E. Newell. Texture and Reflection in Computer Generated Images. Communications of the ACM, 19(10): 542-547, 1976.

[24] James F. Blinn. Simulation of Wrinkled Surfaces. SIGGRAPH78 Proceedings, 286-292, 1978.

Atlm etin, Uur Gdkbay

[Bilkent niversitesi, Ankara]

You might also like