Modellezési transzformáció: [r lokális,1] T M = [r világ,1] Nézeti transzformáció: [r világ,1] T v = [r képernyo,1]

Hasonló dokumentumok
Transzformációk. Szécsi László

Hajder Levente 2016/2017.

Tartalom. Hajder Levente 2016/2017. I. félév

Tartalom. Tartalom. Hajder Levente 2018/2019. I. félév

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja Teljesítménykövetelmények:

2D képszintézis. Szirmay-Kalos László

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

Maga a tématerület így nagyon nagy. A fények pontos fizikai szimulációja kimondottan számításigényes

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

Klár Gergely

Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció.

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Látható felszín algoritmusok

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Láthatósági kérdések

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D

SZE, Doktori Iskola. Számítógépes grafikai algoritmusok. Összeállította: Dr. Gáspár Csaba. Felületmegjelenítés

Direct3D pipeline. Grafikus játékok fejlesztése Szécsi László t03-pipeline

Algoritmusok raszteres grafikához

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Máté: Számítógépes grafika alapjai

Szirmay-Kalos László. L(x, ω)=l e (x,ω)+ L(h(x,-ω),ω) f r (ω,x, ω) cos θ dω A jobb oldali radiancia:

Máté: Számítógépes grafika alapjai

3D koordináta-rendszerek

Máté: Számítógépes grafika alapjai

dimenziója Szirmay-Kalos László N= 1/r D D= (logn) / (log 1/r) D= (log4) / (log 3) = 1.26 N = 4, r = 1/3 Vonalzó ( l ) db r =1/3 N = 4 r 2 N 2 N m r m

Tartalom. Tartalom. Raycasting. Hajder Levente 2017/2018. II. félév. Raycasting. Raycasting. Sugár és háromszög metszéspontja

Máté: Számítógépes grafika alapjai












Mechanika. III. előadás március 11. Mechanika III. előadás március / 30

Máté: Számítógépes grafika alapjai

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Hajder Levente 2017/2018. II. félév

BME MOGI Gépészeti informatika 15.

1. Fénysugár követő és festő algoritmus (3p) fénysugárkövető módszer Festő algoritmus: 2. Fények, fény, fény az opengl-ben, anyagtulajdonság (12pt)

Hajder Levente 2018/2019. II. félév

Geometriai modellezés. Szécsi László

Hajder Levente 2014/2015. tavaszi félév

Textúrák. Szécsi László

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI

A Számítógépek hardver elemei

A táblázatkezelő mérnöki alkalmazásai. Számítógépek alkalmazása előadás nov. 24.

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához

Zmin. Pmax Zmax. A helyes működéshez még be kell állítanunk a tengelyek érzékenységét is. Ezt mindhárom tengelyre Step/mm dimenzióban kell megadni.

Robottechnika II. 1. Bevezetés, ismétlés. Ballagi Áron Automatizálási Tanszék

Számítógépes Grafika mintafeladatok

Számítási feladatok a Számítógépi geometria órához

12. MECHANIKA-SZILÁRDSÁGTAN GYAKORLAT (kidolgozta: dr. Nagy Zoltán egy. adjunktus; Bojtár Gergely egy. Ts.; Tarnai Gábor mérnöktanár.

Máté: Számítógépes grafika alapjai

Számítógépes Grafika SZIE YMÉK

3D Grafika+képszintézis

Máté: Számítógépes grafika alapjai

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Klár Gergely 2010/2011. tavaszi félév

Számítógépes grafika

HLSL programozás. Grafikus játékok fejlesztése Szécsi László t06-hlsl

1. Bevezetés 1. Köszönetnyilvánítás A számítógépes játékfejlesztésről 3

2. Generáció ( ) 3. Generáció (2001) NVIDIA TNT2, ATI Rage, 3dfx Voodoo3. Klár Gergely

A számítógépes grafika alapjai kurzus, vizsgatételek és tankönyvi referenciák 2014

ANALÍZIS II. Példatár

Felügyelt önálló tanulás - Analízis III.

Numerikus matematika

PovRay. Oktatási segédlet

Szelekció. Döntéshozatal

Bevezetés a programozásba. 12. Előadás: 8 királynő

Az egyenes és a sík analitikus geometriája

Érettségi feladatok: Koordináta-geometria 1/5

Bevezetés a CGI-be. 1. Történelem

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

MATEMATIKA GYAKORLÓ FELADATGYŰJTEMÉNY

Érettségi feladatok Koordinátageometria_rendszerezve / 5

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Feladatok az 5. hétre. Eredményekkel és teljesen kidolgozott megoldásokkal az 1,2,3.(a),(b),(c), 6.(a) feladatokra

Panorámakép készítése

Matlab alapok. Baran Ágnes. Grafika. Baran Ágnes Matlab alapok Grafika 1 / 21

Haladó lineáris algebra

3D számítógépes geometria és alakzatrekonstrukció

Analitikus térgeometria

Virtuális Egér. Horváth Zsolt, Schnádenberger Gábor, Varjas Viktor március 20.

SCARA robot munkatere és pályagenerálás

Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály, középszint

Alapfokú barlangjáró tanfolyam

Vektorok. Wettl Ferenc október 20. Wettl Ferenc Vektorok október / 36

Direkt térfogat-vizualizáció

Fraktálok és káosz. Szirmay-Kalos László

Átírás:

Inkrementális képsintéis Inkrementális 3D képsintéis Sirma-Kalos Lásló Árnalás, láthatóság nehé, különösen általános heletu objektumokra koherencia: oldjuk meg nagobb egségekre feleslegesen ne sámoljunk: vágás transformációk: minden feladatho megfelelo koordinátarendsert vágni, transformálni nem lehet akármit: tesselláció 3D inkrementális képsintéis tesseláció T M T V Tesselláció felületi pontok kijelölése: r n,m = r(u n,v m ) felületi pontok össekötése: háromsögháló, hualvá Lokális k.r. Világ k.r. Képerno k.r. vágás takarás vetítés Transformációk Modelleési transformáció: [r lokális,] T M = [r világ,] Néeti transformáció: [r világ,] T v = [r képerno,] Össetett transformáció: [r lokális,] T M T v = [r lokális,] T C = [r képerno,] Néeti transformáció: Kamera modell ee vup fov x aspect vrp (lookat)

ee Néeti transformáció lépései 2. Kamera 90 látósög 4. Normaliált képerno ee w vup v u x Kamera transformáció glulookat(ee,vrp,vup) vrp w = (ee-vrp)/ vrp-ee u = vup x w/ w x vup v = w x u T uvw [x,,,] = [U,V,W,] u x u u 0 v x v v 0 w x w w 0 ee. Világ x 3. Normaliált kamera 5. Képerno [U,V,W,] = [x,,,] T uvw - Normaliálás *tg(fov/2) Perspektív transformáció: gluperspective(fov, aspect,, ) [-mx*, -m*, ] [mx, m, -] [mx, m, ] 90 látósög T norm /(tg(fov/2) aspect) 0 0 0 0 /tg(fov/2) 0 0 0 0 0 0 0 0 [mx*, m*, -] [mx, m, - ] [mx*, m*, -] [mx, m, ] [mx*, m*, -, ] [mx, m, -, ] [mx*, m*, -, ] [mx, m,, ] [mx*, m*, -, ] [mx*, m*, -, ] [mx*, m*, -, ] [mx*, m*,, ] 90 látósög Perspektív transformáció -*t33+t43 = - -*t34+t44 = T persp t t2 t3 t4 t2 t22 t23 t24 t3 t32 t33 t34 t4 t42 t43 t44 ] ] [mx*,m*,-,] * [mx*, m*, -, [mx* m*,-,]*[mx*, m*,, Perspektív transformáció: gluperspective(fov,asp,,) /(tg(fov/2) asp) 0 0 0 0 /tg(fov/2) 0 0 0 0 -(+)/(-) - 0 0-2*/(-) 0, -*t33+t43 = -*t34+t44 = 0 0 0 0 0 0 0 0 -(+)/(-) - 0 0-2*/(-) 0 [X h,y h,z h,h] = [xc,c,c,] T persp [X,Y,Z,] = [X h /h, Y h /h, Z h /h,]

Néeti csoveeték Mélségi vágás a homogén ostás elott kell x,, T M T uvw - T persp [,,2] [,,-2] Vágás = =3 Rastertár: Vetítés Takarás Néet transf Homogén ostás -(+)/(-) -2*/(-) 0 0 0 0 0 0 0 0-2 - 0 0-3 0 Homogén ostás: [X,Y,Z,] = [X h /h, Y h /h, Z h /h,] Hualvá képsintéis esetén kimaradhat [,,-2, ] * [ 2] [/2 /2 /2 ] [,, 2, ] * [ -7-2] [-/2 -/2 7/2 ] Vágás homogén koordinátákban Cél: Xmin = - < X = X h /h< = Xmax Ymin = - < Y = Y h /h< = Ymax Zmin = - < Z = Z h /h < = Zmax Vegük hoá: h > 0 (h = - a kamera koordinátarendserben) Sakas/poligon vágás Xmin h < X h < Xmax h Ymin h < Y h < Ymax h Zmin h < Z h < Zmax h Xmin h = X h [Xh,Y h,z h,h ] X min h = X min (h (-t)+h 2 t) = = X h = X h (-t) + X h2 t Xmin h < X h < Xmax h Ymin h < Y h < Ymax h Zmin h < Z h < Zmax h Belül Xmin h = X h Xmin = [3, 0, 0, 2] X min h = 2 < X h = 3 Kívül [2, 0, 0, 3] X min h = 3 > X h = 2 [X h2,y h2,z h2,h 2 ] X h = X h (-t) + X h2 t Y h = Y h (-t) + Y h2 t Z h = Z h (-t) + Z h2 t h = h (-t) + h 2 t t = Hualvá képsintéis (X h,y h,z h,h) Hátsó vágósík Mélségi vágás (X h,y h,z h,h) x,, T M T V Vágás x,, T M T V Vágás Sín T C (X,Y,Z) Homogén ostás T C (X,Y,Z) Homogén ostás Rastertár: 2D sakas rajolás Néet transf (Bresenham ) Vetítés (X,Y) Rastertár: 2D sakas rajolás Néet transf (Bresenham ) Vetítés (X,Y)

Mélségi intenitásmoduláció x,, Rastertár: T C T M T V Vágás I Homogén l =Sín ostás Modulált Vetítés sín Z in [0,] (X,Y,Z) I = I l /(+az) 2D sakas rajolás sín interpolációval (X h,y h,z h,h) Néet transf (X,Y) R, (G, B) Intenitás Σ (I2-I)/pixelsám Tömör képsintéés Képerno koordinátarendserben, a sem a iránba né Objektumtér algoritmusok: láthatóság sámítás nem függ a felbontástól Képtér algoritmusok: mi látsik eg pixelben Hátsólab eldobás: back-face culling Takart él n < 0 n > 0 Láthatósági gráf Festo algoritmus Warnock algoritmus 3. 2.. Triviális esetek: nincs él a ablakban láthatóság homogén Baj: takarás nem rendeési reláció A nem takarja B-t:. Zmin(A) > Zmax(B ) VAGY 2. A és B vetületének nincs köös rése VAGY 3. A a B semen túli félterében VAGY 4. B a A semmel megegeo félterében VAGY B A Warnock(X,Y,X2,Y2) { if van él a ablakban && ablak pixelnél nagobb { Xm =(X+X2)/2; Ym=(Y+Y2)/2 Warnock(X,Y,Xm,Ym); Warnock(Xm,Y,X2,Ym) Warnock(X,Ym,Xm,Y2); Warnock(Xm,Ym,X2,Y2) } else { P = ablak köepén látható poligon Ablak kitöltése P sínével } }

Z-buffer algoritmus 2.. 3. Z-koordináta: lineáris interpoláció (X 2,Y 2,Z 2 ) Z Z(X,Y) = ax + by + c 628 325 325 628 3325 (X 3,Y 3,Z 3 ) Y (X,Y,Z ) Z(X,Y) X Z(X+,Y) = Z(X,Y) + a Z-interpolációs hardver Árnalás CLK X X sámláló a Z(X,Y) Z register Σ Koherencia: ne pixelenként kelljen a árnalási egenletet megoldani Háromsögenként: -ser sem: saját sínnel árnalás -ser: konstans árnalás csúcspontonként -ser, belül lineáris interpoláció: Gouraud árnalás pixelenként, de legalább a normál (view, light, reflection) vektort interpoláljuk: Phong árnalás Árnalás saját sínnel Konstans árnalás

R,G,B Gouraud árnalás (X 2,Y 2,R 2 ) R(X,Y) = ax + by + c Gouraud árnalás (X 3,Y 3,R 3 ) Y (X,Y,R ) R(X,Y) X R(X+,Y) = R(X,Y) + a diffú spekuláris ambiens L N Phong árnalás V Illumináció: világkoordinátarendserben Néeti transformáció Y X N(X,Y) N(X,Y) = A X + BY + C L(X,Y) =... V(X,Y) =... Pixelenként: vektorok lin. interpolációja vektorok normaliálása illuminációs képlet Phong árnalás Gouraud Gouraud, Phong Gouraud Phong Phong

Egseru síklapra vetített árnék Árnék térkép Árnéktest Lág árnékok Árnékok l p S = [A,B,C,D] [q h, h] = [p, ] Síklapra vetített árnék q [q,] S T = 0, q = l + (p-l)t t = ([l,] S T )/([l-p,0] S T ) = d/h h = d [p, ] S T q(p) NEM LINEÁRIS [q,] = [l + (p-l) d/h, ] [q h, h] =[l h + (p-l) d, h]= = [-l ([p,] S T )+p d, d [p,] S T ] q h és h a p-ben LINEÁRIS d-lx A -l A -l A -A -lx B d-l B -l B -B -lx C -l C d-l C -C -lx D -l D -l D d-d Árnék térképek T l T v Fénforrásból megkeressük a tárg körvonal éleit Kihúuk a körvonal éleket Árnéktest alapján árnékolás Árnéktestek [x,,,] T v - T l = [X h,y h,z h,h] [X,Y,Z,] = [X h /h,y h /h,z h /h, ] if (Z depth[x,y]) Fénforrás hatása Körvonal él visgálat