360 likes | 514 Views
3. Vetületi ábrázolások számítási eljárásai. A középpontos és a párhuzamos vetítés Párhuzamos vetítés axonometria Középpontos vetítés – perspektív képek. 3.0. Bevezetés. Bevezetés. tárgyak vetítése síkra: 3D 2D. Pontokat vetítünk . . .
E N D
3. Vetületi ábrázolások számítási eljárásai A középpontos és a párhuzamos vetítés Párhuzamos vetítés axonometria Középpontos vetítés – perspektív képek
Bevezetés • tárgyak vetítése síkra: 3D 2D. • Pontokat vetítünk . . . • Párhuzamos vetítés: a vetítősugarak egy adott iránnyal párhuzamosak. • Középpontos vetítés: a vetítősugarak egy pontból indulnak ki.
A teljes igazság . . . • GM : a tárgyak térbeli geometria adatai • Vetületi kép a síkban: { P’’ = (p’x, p’y, 0) } • (1. lépés) P’ = MP; 3D 3D, a VKR M olyan legyen, hogy: • (3.lépés) z: = 0; 3D2D: VKR-XY, a „vetületi kép” • (4.lépés) Leképezés: VKR-XY KKR-UV, képtér • (2. lépés) 3. előtt: Láthatóság z’ szerint,
4. lépés: Leképezés: VKR-XY KKR-UV VKR - xy: tárgytér, méretek: mm, inch, km, stb. KKR - uv: képtér, képpont-méretek TKR KKR, képkeret képmező: 2D 2D u = a x + b v = c y + da = du / dxc = dv / dy Kba Mbab = . . .d = . . .
Bevezetés • Pontokat vetítünk • vonalak, felületek, tárgyak vetítése: jellemző pontjaik vetítése. • Párhuzamos vetítés: M affin transzformáció • középpontos vetítés: M projektív transzformáció
Bevezetés • „Nézet” (a vetítés paraméterei): vetítési középpont, vagy a vetítés iránya vetületi sík, képkeret • Rossz paraméterek: rossz kép (kilóg a keretből) !!! • A paraméterek megválasztása: szemléletesen, a tárgyakhoz viszonyítva • Műszaki hagyomány: kézi rajz, rajzolási szabályok: könnyen rajzolható és jól „olvasható”
Bevezetés ---|l • Vetítések koordináta-rendszerei • VKR • TKR • SZKR • és KKR, KKR-3D
Párhuzamos vetítés Merőleges vetítés koordinátasíkra Ferde vetítés koordinátasíkra Leképezés a képernyőre Leképezés a KKR-be (a képernyőre) Transzformációk a vetítés előtt Vetítés általános helyzetben Áttérés TKR-ről KKR-re
1. Merőleges vetítés koordinátasíkra • Párhuzamos és merőleges vetítésM = E • A tárgy az XY síkon áll, erre merőlegesen vetítünk: a z -t elhagyjuk • Más helyzetű tárgy esetén: eltolás-forgatással erre visszavezetjük
2. Ferde vetítés koordinátasíkra • A vetítés iránya: v=(vx, vy, vz); vz< 0. • A P pont vetítő egyenese:X(x, y, z)=P + t ·v x = px + t · vx y = py + t · vy z = pz + t · vz • A vetületi síkonz’ = 0 : t = -pz/ vz (>0) ésx’ =px+t · vx=px- vx / vz·pzy’=py- vy / vz·pz
Ferde vetítés mátrixal: • Nyírással merőleges vetítéssé:P’ = N xy·P ; (3D3D)= ( 1 0 -vx/vz 0)·(px)| 0 1 –vy/vz0| |py|| 0 0 1 0| |pz|( 0 00 1|(1 )= [px - vx/vz· pz, py - vy/vz· pz, pz, 1] • A nyírástól a 3D alak torzul, de ettől jó a 2D vetület
Transzformációk a vetítés előtt, 1 • „Modell-transzformáció”,„elhelyező transzformáció” • „SKR”-ben adott minta, „elhelyezése” a TKR-ben; • méretezés, forgatás, elhelyezés;hasonlósági transzformációk
Transzformációk a vetítés előtt, 2 • A VKR-ben adott test vetítése a test fő sikjára • A tárgy jellemző KR-e: TKR;megadása VKR-ben: R, u, v, w • áttérés: VKR TKR –be:P’ = ( T B) P • Ezután vetítés a TKR-ben
4. lépés: Leképezés: VKR-XY KKR-UV VKR - xy: tárgytér, méretek: mm, inch, km, stb. KKR - uv: képtér, képpont-méretek TKR KKR, képkeret képmező: 2D 2D u = a x + b v = c y + da = du / dxc = dv / dy Kba Mbab = . . .d = . . .
Párhuzamos vetítés - összefoglalás Merőleges vetítés koordinátasíkra Ferde vetítés koordinátasíkra Párhuzamos vetítés a tárgyhoz viszonyított paraméterekkel Leképezés a képernyőre
3.3. Középpontos vetítés • Bevezetés • Középpontos vetítés egyszerű helyzetben • Középpontos vetítés a KKR-ben • Transzformációk a vetítés előtt, 1 • Középpontos vetítés általános helyzetben • Példa: egy sínpár perspektívája • Középpontos vetítés az OpenGL-ben
Bevezetés • Számítási módszerek: • P’= M P ; 3D 3D • láthatóság-takarás z’ szerint • 3D 2D: az XY síkra (z elhagyása) • VKR-keret KKR-képmező • A középpontos vetítés: projektív transzformációval • M : a határozatlan együtthatók módszerével • Egy projektív leképezést 5-5 „független” pontpár határoz meg
Középpontos vetítés egyszerű helyzetben • a Z tengely egy pontjából az XY síkra • a kamera koordináta-rendszerében • A bonyolultabb helyzeteket ezekre vezetjük vissza
AZ-tengely egy pontjából az XY síkra • Térbeli tárgyak a VKR-ben,az XY síkon „ülnek”, a Z tengely körül, • Vetületi sík: XY (z = 0), vetítési középpont:C = (0, 0, c), • A Ppont X vetülete: x’ = px ·c / (c - pz); c > pzy’ = py ·c / (c - pz) z’ = 0
A kamera koordináta-rendszerében • C az origóban • A vetületi sík: z = d || XY • A tárgy P= (x, y, z, 1) pontjának • P’ vetületére:x’ = x d / z; z > 0,y’ = y d / z[ z’ = (z-d) / z ] • M = ( d 0 0 0 ) | 0 d 0 0 | | 0 0 1 –d |( 0 0 1 0 )
A leképezés 5-5 pontja • X = [ 1, 0, 0, 0 ]; X’ = X X,Y tengelyY = [ 0, 1, 0, 0 ]; Y’ = YC = [ 0, 1, 0, 1 ]; C’ = [ 0, 0, 1, 0 ] kameraT = [ 0, 0, t*, 1 ] ; T’ = [ 0, 0, 1, 1 ] távolsíkE = [ k*,k*,k, 1 ]; E’ = [ -1, 1, 0, 1] a kép sarka
Az előírásoknak megfelelő mátrix (l. jegyzet):M = ( s/k* 0 0 0 ); s = -1/k+t* | 0 s/k* 0 0 |; k* = k·tg a | 0 0 -1/k 1 | ( 0 0 s 0 ) • Egy P = [x, y, z, h] pontot ezzel transzformálva: P' = M·P = [s · x / k*, s · y / k*, - z / k + h, s · z] és ha z nem nulla, akkor P' = ( x / (z·k*), y / (z·k*), -1 / (s·k) + h / (s·z) )
Transzformációk a vetítés előtt, 1 • „Modell-transzformáció”,„elhelyező transzformáció”: hasonlósági tr. • „SKR”-ben adott minta,„elhelyezése” a TKR-ben:méretezés, forgatás, elhelyezés
Transzformációk a vetítés előtt, 2 • Test a VKR-ben • képe: a test fő síkjára vetítve • TKR: a tárgy jellemző KR-e • áttérés: VKR TKR –be: • TKR megadása VKR-ben: R, u, v, w • M = TB: VKR TKR transzf. • Ezután vetítés a TKR-ben
Középpontos vetítés általános helyzet (olv) • Rossz paraméterek: rossz kép (kilóg a keretből)Jó paraméterek: a tárgyhoz viszonyítva, szemléletesen • Vetítési középpont: C • Vetületi sík: R-ből n és d; a vetületi síkon: O • SzKR: C, x, y, zz : = n„fölfele” y; de merre?f kb. fölfele; n és y síkjábanebből:x=fz, és y=zx
Áttérés TKR-ről SzKR-re • TKR SzKR báziscsere:X’ = (T2 ·B2) · XB2 := B2(x, y, z,)| x | = | y | = | z | = 1T2 := T2(- RC)
Például: egy sínpár perspektívája • X = [ 1, 0, 0, 0 ]; X’ = X X,Y tengelyY = [ 0, 1, 0, 0 ]; Y’ = YZ = [ 0, 0, 1, 0 ] ; Z’ = [ 0, 0, 1, 1 ] Z tengelyC = [ 0, 1, 0, 1 ]; C’ = [ 0, 0, 1, 0 ] kameraF = [ 1, 2, 1, 1 ]; F’ = [ -1, 1, 0, 1] a kép sarka
A sínpár perspektívája • M44 · [ XYZCF ] = [ pX’ rY’ zZ’ sC’ eF’ ] (m11 m12 m13 m14) · ( 1 0 0 0 1 ) = ( p 0 0 0 - e )| m21 m22 m23 m24| | 0 1 0 0 2 | | 0 r 0 0 e || m31 m32 m33 m34| | 0 0 1 0 1 | | 0 0 zs0 |(m41 m42 m43 m44)( 0 0 0 1 1 ) ( 0 0 z 0 e ) • 20 egyenlet, 21 ismeretlen: p, r, z, s, e, és 16 mik de egy választható, pl. p := 1 (nem lehet 0)
Középpontos vetítés - összefoglalás (Az átalakítások egy lehetséges módja) Az elhelyező-transzformációk után a tárgyak: VKR-ben • Áttérés VKR-rőlTKR-re:X’ = (T1B1)X • A vetítés megadása a tárgyhoz viszonyítva • Áttérés TKR-rőlPKR-reX’ = (T2B2)X • Vetítés a PKR-ben:X’ = (PNxyTM)X • Leképezés PKR-ből a KKR-be: X’ = (T5S)XX’ = [ (T5S)P(NxyTM)(T2B2)(T1B1) ] X
Összefoglalás • Vetítés: 3D 2D • A párhuzamos vetítés: affin transzformáció • A középpontos vetítés: projektív transzformáció • Mindkettőnek vannak egyszerű esetei • Általános esetben: P’= M P • 3D 3D leképezés, utána: láthatóság (z), végül: a z koordináta elhagyása • Az M mátrix geometriai szemlélettel fölépíthető