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

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

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?

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]

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

Plakátok, részecskerendszerek. Szécsi László

Hajder Levente 2016/2017.

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

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

Számítógépes Grafika mintafeladatok

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

3D koordináta-rendszerek

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

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

Érettségi feladatok Koordinátageometria_rendszerezve / 5

KOVÁCS BÉLA, MATEMATIKA I.

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

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

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

Árnyalás, env mapping. Szécsi László 3D Grafikus Rendszerek 3. labor

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

Térbeli transzformációk, a tér leképezése síkra

Koordináta-geometria feladatok (középszint)

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL

Transzformációk síkon, térben

Lin.Alg.Zh.1 feladatok

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

Vektorok összeadása, kivonása, szorzás számmal, koordináták

Számítógépes Grafika mintafeladatok

Lin.Alg.Zh.1 feladatok

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

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

Tartalom. Nevezetes affin transzformációk. Valasek Gábor 2016/2017. tavaszi félév

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

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

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

Koordinátageometriai gyakorló feladatok I ( vektorok )

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk

Skaláris szorzat: a b cos, ahol α a két vektor által bezárt szög.

Valasek Gábor Informatikai Kar. 2016/2017. tavaszi félév

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Számítógépes látás alapjai

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Koordináta-geometria

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT. Koordináta-geometria

Koordinátageometria. M veletek vektorokkal grakusan. Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1

VEKTOROK. 1. B Legyen a( 3; 2; 4), b( 2; 1; 2), c(3; 4; 5), d(8; 5; 7). (a) 2a 4c + 6d [(30; 10; 30)]

Koordináta-geometria feladatok (emelt szint)

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

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

17. előadás: Vektorok a térben

Koordináta-geometria feladatgyűjtemény

SDL_Universe SDL, C++, 3D szoftver renderelő

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Függvények Megoldások

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

2014/2015. tavaszi félév

Számítógépes látás alapjai

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

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

OpenGL és a mátrixok

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

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

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

Vektorterek. =a gyakorlatokon megoldásra ajánlott

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

egyenletrendszert. Az egyenlő együtthatók módszerét alkalmazhatjuk. sin 2 x = 1 és cosy = 0.

1. zárthelyi,

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

Haladó lineáris algebra

Mérnöki létesítmények geodéziája Mérnöki létesítmények valósághű modellezése, modellezési technikák, leíró nyelvek

Denavit-Hartenberg konvenció alkalmazása térbeli 3DoF nyílt kinematikai láncú hengerkoordinátás és gömbi koordinátás robotra

Robotika. Kinematika. Magyar Attila

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

Számítógépes geometria

Feladatok. Tervek alapján látvány terv készítése. Irodai munka Test modellezés. Létező objektum számítógépes modelljének elkészítése

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Koordináta-geometria

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

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

Koordinátageometria Megoldások

5 1 6 (2x3 + 4) 7. 4 ( ctg(4x + 2)) + c = 3 4 ctg(4x + 2) + c ] 12 (2x6 + 9) 20 ln(5x4 + 17) + c ch(8x) 20 ln 5x c = 11

M/D/13. Szorozzuk meg az egyenlet mindkét oldalát a közös nevezővel, 12-vel; így a következő egyenlethez jutunk: = 24

Síkbeli egyenesek. 2. Egy egyenes az x = 1 4t, y = 2 + t parméteres egyenletekkel adott. Határozzuk meg

Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK EMELT SZINT Koordinátageometria

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

Geometria II gyakorlatok

A játékfejlesztés több területből áll. A kódolás csupán egy része a munkáknak.

= Y y 0. = Z z 0. u 1. = Z z 1 z 2 z 1. = Y y 1 y 2 y 1

Mat. A2 3. gyakorlat 2016/17, második félév

8. előadás. Kúpszeletek

Érettségi feladatok: Egyenletek, egyenlőtlenségek 1 / május a) Melyik (x; y) valós számpár megoldása az alábbi egyenletrendszernek?

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Koordináta-geometria II.

Vektorok, mátrixok, lineáris egyenletrendszerek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

Grafikonok automatikus elemzése

Alkalmazott algebra. Lineáris leképezések EIC. Wettl Ferenc ALGEBRA TANSZÉK BMETE90MX57 (FELSŐBB MATEMATIKA INFORMATIKUSOKNAK )

SZERKEZETFÖLDTANI OKTATÓPROGRAM, VETŐMENTI ELMOZDULÁSOK MODELLEZÉSÉRE. Kaczur Sándor Fintor Krisztián

Átírás:

Transzformációk Szécsi László

A feladat Adott a 3D modell háromszögek csúcspontjai [modellezési koordináták] Háromszögkitöltő algoritmus pixeleket színez be [viewport koordináták] A feladat: számítsuk ki a csúcspont modellezési koordinátáiból, melyik pixelre kerül

Mi befolyásolja ezt? Hova, hogyan helyezzük el a modellt a virtuális világban modellezési trafó, model, world Hol van, merre néz a kamera kamera trafó, view Mekkora a látószög (és képméretarány) perspektív projekció Hányszor hány pixel az ablak és hol van viewport trafó

Bónusz feladat: takarás takarási probléma a 2D pixel koordináták mellett kell egy mélységértéket is számolni fix pontos z-buffer [0, 1]-beli értékeket tud összehasonlítani a távolság, amihez a 0-t rendeljük: első vágósík amihez az 1-et: hátsó vágósík

Bónusz feladat: árnyalás Felületi pont, fények koordinátái, szempozíció, felületi normálisok... ugyanabban a 3D koordináta rendszerben legyenek logikusan a modellezési transzformáció után de a kamera trafó szög és távolságtartó

Nézeti transzformáció: Kamera modell fp vup eye z FOV y aspect vrp (lookat) bp x

A transzformációs csővezeték model trafó view trafó proj trafó modellezési koordináták model space világkoordináták world space kamera koordináták camera space norm. képernyő koordináták clip space norm. device space modellezés viewport trafó pixel koordináták viewport space

Koordináta-rendszerek Egy pont valamilyen viszonyítási ponthoz képest (origó) adható meg kitüntetett vektorok lineáris kombinációjaként (bázisvektorok, koordinátatengely-irányok) Más origóval és irányokkal ugyanannak a pontnak mások a koordinátái Más számításokhoz más bázisok előnyösek

Modellezési: ebben adottak a koordináták [3 4] P = O M + 3M x + 4M y M y O M origó M x

Világ: kitüntetett fő-rendszer ebben legyen minden az árnyaláshoz modell origo itt van [3 3] Lokális Model M x = 3/25 W x 4/25 W y M y = 4/25 W x + 3/25 W y [3 4] P = O M +3M x + 4M y Ezekkel adjuk meg az objektum elhelyezkedését W y O W origó W x P = O M + 3M x + 4M y P = O w +3 W x + 3 W y + 3 (3/25 W x 4/25 W y )+ 4 (4/25 W y + 3/25 W y ) = O w +3 W x + 3 W y + (9 + 16)/25 W x + (12-12) W y = O w + 4W x + 3W y

Ez a számítás mátrix formában (modellezési transzformáció) P = 3 W x + 3 W y + 3 (3/25 W x 4/25 W y )+ 4 (4/25 W y + 3/25 W y ) [4 3] = [3+3*3/25+4*4/25 3-3*4/25+4*3/25] mindig fix [4 3 1] = [3 4 1] 3/25-4/25 0 4/25 3/25 0 M x M y mindig fix 3 3 1 O M

Árnyalás világ-koordinátákban L = (S-X)/ S-X V = (E-X)/ E-X X árnyalt felületi pont L megvilágítás iránya [4 3] V nézeti irány V L E szem pozíciója [6 3] W y [4 1] S fényforrás pozíciója O W origó W x Minden világ-ban adott

Hova kell ezt rajzolni a képernyőn? Az összes többi transzformáció ennek a kiszámolására megy kamera transzformáció hol van a pont a kamerához képest vetítési transzformáció hova vetül ez az ablak téglalapjára viewport transzformáció melyik pixel [0 0] [-1-1] [345 234] [1 1]

Kamera koordináta rendszer C x = [-1 1] kamera koordináták [4 3] = E + x C *C x + z C *C z egyenletrendszer x,z-re [4 3] E [6 3] C z = [-1-1] W y 4 = 6 + x C *(-1) + z C *(-1) 3 = 3 + x C *(-1) + z C *(1) x C = 1, z C = 1 O W origó W x

Kamera koordináta egyenlet mátrix formában (NEM a kamera trafó mátrix) [4 3] = E + x C *C x + z C *C z [4 3] = E + x C *[-1-1] + z C *[-1 1] mindig fix [4 3 1] = [1 1 1] -1-1 0-1 1 0 C x C z mindig fix 6 3 1 E

Kamera trafó mátrix -1-1 0 [4 3 1] = [1 1 1] -1 1 0-1 -1 0 6 3 1-1 [4 3 1] -1 1 0 = [1 1 1] 6 3 1

Képernyő koordináta rendszer hova vetül a képernyőn milyen messze (takaráshoz kell) J x x J z J 1 J z W y ablak a virtuális világra O W origó W x

Képernyőkoordináta számítása hasonló háromszögek x C = x J * z C x J x J = x C / z C J x x C zc 1 z J J z ablak a virtuális világra

Ha a látószög nem 90 fok hasonló háromszögek itt van az 1.0 J x így ez 0.5 x C = x J * z C x J = x C / z C x C zc J x az egység Osztani kell az ablakunk fél szélességével x J z J FOV 1 x J = (x C / z C ) / tan(fov/2) J z ablak a virtuális világra Ha FOV = 90 fok akkor ez 1 FOV látószög

Perspektív transzformáció A vetítés is homogén linearis transzformáció: ezt is lehet mátrixszorzással DE nem affin: utolsó oszlop nem [0 0 1] homogén koordinátákban kapjuk meg az eredményt, és h általában nem 1 utána osztani kell h-val hogy rendes Descartes koodinátákat kapjunk x Jhomo / h Jhomo = (x C / z C ) / tan(fov/2)

Perspektív trafó mátrix x Jhomo / h Jhomo = (x C / z C ) / tan(fov/2) ez a képernyő-pozíció szempontjából nem érdekes 1/tan(FOV/2)? 0 [x Jhomo? h Jhomo ] = [x C z C 1] z C 0? 1 0? 0 x C / tan(fov/2)

Mi legyen a Z? A takaráshoz kell Tartsa meg a kamera koordinátarendszerbeli sorrendet (legyen monoton a látható objektumok részén) Ha [0 A 0] lenne a mátrixban: kell valamit ide is írni 1/tan(FOV/2) 0 0 [x Jhomo? h Jhomo ] = [x C z C 1] 0 A 1 A*z C z C = A 0 0 0 mindig A: elveszne a mélység info

0 < Z J <1 tartomány legyen fp < Z C < bp 1/(tg(fov/2)) 0 0 0 (fp+bp)/(bp-fp) 1 0-2fp*bp/(bp-fp) 0 3D ben, asp a képernyő magassága a szélességhez képest (a függőleges és vízszintes FOV nem ugyanakkora ) 1/(tg(fov/2)*asp) 0 0 0 0 1/(tg(fov/2)) 0 0 0 0 (fp+bp)/(bp-fp) 1 0 0-2fp*bp/(bp-fp) 0

Miért jó, hogy minden számítás mátrix-szorzás? (((r M 1 ) M 2 ) M 3 ) = r (M 1 M 2 M 3 ) több lépést is lehet egyetlen mátrixszorzással, ha a szorzatmátrixot használjuk LINEÁRIS: háromszögből háromszög lesz 3Dben érintkező háromszögekből 2Dben illeszkedő hszek nemlineárisnál a hszből valami más lesz, mi meg csak hszet tudunk hatékonyan rajzolni pixelekből