Vetítések Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D
Vetítések fajtái - 1 perspektívikus A párhuzamos A A' B A' B A vetítés középpontja B' Vetítési sík A vetítés középpontja a végtelenben van B' Vetítési sík
Vetítések fajtái - 2 Perspektívikus Vetítési középpont közel áll a látásunkhoz általában: nem mérhetők a távolságok (rövidülés) és szögek Párhuzamos Vetítési irány kevésbé realisztikus mérhető távolságok a szögek változnak
Perspektív vetítések - 1 A vetítési síkkal nem, de egymással párhuzamos egyenesek vetületei egy pontban metszik egymást = távlatpont Elsődleges távlatpont: valamelyik fő(tengely) irányhoz tartozó távlatpont.
Perspektív vetítések - 2 Perspektív vetítések osztályozása: az elsődleges távlatpontok száma szerint: 1, 2, 3
Perspektív vetítések - 3 1.) Egypontos perspektív vetítés Z-tengely távlatpont Vetítési középpont Vetítési irány
Párhuzamos vetítések A párhuzamosság megmarad. Osztályozásuk a vetítési irány és a vetítési sík egymáshoz viszonyított helyzete szerint: 1. Merőleges (ortografikus) 2. Tetszőleges irányú
Merőleges (ortografikus) vetítés - 1 A párhuzamosság megmarad, a távolságok megmaradnak, vagy számíthatók.
Példa merőleges vetítésre
Példa merőleges vetítésre Amfiteátrum Jerash-ban
Merőleges (ortografikus) - 2 Axonometrikus nem merőleges egyik tengelyre sem, szög nem marad meg, távolságok számíthatók Izometrikus a vetítési irány (d x, d y, d z ) minden tengellyel ugyanakkora szöget zár be, azaz d x = d y = d z, ±d x = ±d y = ±d z (8 ilyen irány létezik)
Példa izometrikus vetítésre
Tetszőleges irányú vetítés - 1 A vetítési sík normálisa és a vetítési irány nem párhuzamos. Leggyakoribb fajtái: kavalier kabinet
Tetszőleges irányú vetítés - Kavalier a vetítési irány és a vetítési sík szöge = 45
Tetszőleges irányú vetítés - Kabinet a vetítési irány és a vetítési sík szöge = arctg(2) = 63,4
3D megjelenítés specifikálása - 1 Szükséges megadni: a látóteret a vetítést Vetítési sík megadása: egy pontjával (referencia pont (VRP)) és normálusával (VPN) v a fölfelé mutató vektor (VUP) vetülete rányába mutat
3D megjelenítés specifikálás - 2 3D referencia koordináta rendszer (VRC) megadása: Origó = VRP Tengelyek: n = VPN, v = VUP-nek a vetítési síkra eső vetülete u = olyan, hogy u, v, n jobb-kezes derékszögű koordinátarendszert határozzon meg
3D megjelenítés specifikálása - 3 Ablak : Téglalap a vetítési síkon. Ami azon belül van, az megjelenik a többi nem. Az ablak közepe CW.
3D megjelenites specifikálása - 4 PRP: vetítési referencia pont: (párhuzamos és perspektív vetítésre is) Perspektív vetítésnél
3D megjelenítés specifikálása - 5 DOP: vetítési irány
Látótér meghatározása elülső és hátulsó vágósíkokkal - 1 Fajtái: párhuzamos (ortografikus) párhuzamos (tetszőleges irányú) perspektív
Látótér meghatározása elülső és hátulsó vágósíkokkal - 2
Látótér meghatározása elülső és hátulsó vágósíkokkal - 3
Látótér meghatározása elülső és hátulsó vágósíkokkal - 4
Vetítések matematika leírása
Perspektívikus vetítések - 1 Az egyszerűség kedvéért tegyük fel, hogy: a) A vetítési sík merőleges a z-tengelyre z = d-nél, PRP = 0
Perspektívikus vetítések - 2 Hasonló háromszögekből: x p d = x z, y p d = y z, z 0 x p = x z/d, y p = y z/d, vetületi síkok
Perspektíviks vetítések - 3 Hasonló háromszögekből: x p d = x z, y p d = y z, z 0 x z/d, y p = y z/d, x p = x x z/d y y z = z/d d = P p, mivel ez homogén koordináta, z/d 1 1 0 0 0 x tehát M per = 0 1 0 0 0 0 1 0, mert M per y z = 0 0 1/d 0 1 x z/d y z/d d 1
Perspektívikus vetítések - 4 Másik lehetőség b) A vetítési skí merőleges a z-tengelyre z = 0-ban x p d = x z + d, y p d = y z + d x p = x z/d + 1, y p = y z/d + 1,
Perspektívikus vetítések - 5 x p d = x p = x z + d, y p d = y z + d x z/d + 1, y y p = z/d + 1, 1 0 0 0 ezért M per = 0 1 0 0 0 0 0 0 0 0 1/d 1 tehát P per = x z/d+1 y z/d+1 0 1 x = y 0 z/d + 1
Párhuzamos ortografikus vetítés x P = y z M ort 1 x p y p z p 1 x = y 0 = P p 1 1 0 0 0 ahol M ort = 0 1 0 0 0 0 0 0 (határérétéke M per-nek a d ). 0 0 0 1
Vetítések általános alakja - 1 Vetítési sík merőleges a z-tengelyre z = z p -ben, COP Q távolságra van a (0, 0, z p )-től
Vetítések általános alakja - 2 Parametrikus alak: P = COP + t (P COP ), t [0, 1] másrészt COP = (0, 0, z p ) + Q (d x, d y, d z )
Vetítések általános alakja - 3 P = COP + t (P COP ), t [0, 1] COP = (0, 0, z p ) + Q (d x, d y, d z ) így x = Q d x + (x Q d x ) t y = Q d y + (y Q d y ) t z = (z p + Q d x ) + (x (z p + Q d x )) t Innen z = z esetén t = z p (z p + Qd z ) z (z p + Qd z ) = Qd z z p + Qd z z
Vetítések általános alakja - 4 Behelyettesítve és átalakítva x = x p = y = y p = z = z p = x z d x d x + z p d z d z z p z, + 1 Q d z y z d y d y + z p d z d z z p z, + 1 Q d z z zp Qd z + z2 p + z p Qd z Qd z z p z Qd z + 1
3D megjelenítés implementálása - 1 Objektumok a VK-ban normalizálás 3D objektumok kanonikus látótérben 3D vágás 2D vetített objektumok transzformáció 2D megjelenített objektumok
3D megjelenítés implementálása - 2 A 3D végés drága művelet, ezért érdemes előtte a 3D objektumokat ún. kanonikus látótérbe transzformálni (normalizálás), ahol a vágás egyszerűbb és gyorsabb.
3D megjelenítés implementálása - 3 x vagy y elüls vágási sík 1-1 1 hátulsó vágási sík -z Kanonikus látótér síkjai: x = 1, x = 1 y = 1, y = 1 z = 0, z = 1 párhuzamos vetítésnél
3D megjelenítés implementálása - 4 x vagy y elüls vágási sík 1-1 hátulsó vágási sík -z Kanonikus látótér síkjai: x = z, x = z y = z, y = z z = z min, z = 1 perspektív vetítésnél