3. vetületi ábrázolások számítási eljárásai
DESCRIPTION
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 . . . - PowerPoint PPT PresentationTRANSCRIPT
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 . . .
• 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.
Bevezetés
Kisebb tárgyaknál:
a tárgyat kézben tartva,
a perspektíva nem érvényesül,
párhuzamos vetítés,
a nézet áll, a tárgy forog
Nagyobb tárgyaknál:
messziről nézzük a tárgyat,
perspektíva,
középpontos vetítés,
a tárgy áll, a nézet változik
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’ = MM P; 3D 3D, a VKR
MM 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 + d
a = du / dx
c = dv / dy
Kba Mba
b = . . .
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: MM affin transzformáció
• középpontos vetítés: MM 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
3.1. Párhuzamos vetítés
Párhuzamos vetítés
1. Merőleges vetítés koordinátasíkra
2. Ferde vetítés koordinátasíkra
3. Leképezés a képernyőre
4. Leképezés a KKR-be (a képernyőre)
5. Transzformációk a vetítés előtt
6. Vetítés általános helyzetben
7. Áttérés TKR-ről KKR-re
1. Merőleges vetítés koordinátasíkra
• Párhuzamos és merőleges vetítés
MM = EE
• 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íkon
z’ = 0 : t = -pz / vz (>0) és
x’ = px+ t · vx = px - vx / vz · pz
y’ = py - vy / vz · pz
Ferde vetítés mátrixal:
• Nyírással merőleges vetítéssé:
P’ = NN xy · P ; (3D3D)
= ( 1 0 -vx/vz 0)·(px)
| 0 1 –vy/vz 0| |py| | 0 0 1 0| |pz| ( 0 0 0 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
1. A tárgy jellemző KR-e: TKR;
megadása VKR-ben: R, u, v, w
2. áttérés: VKR TKR –be:
P’ = ( T T B B ) P
3. 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 + d
a = du / dx
c = dv / dy
Kba Mba
b = . . .
d = . . .
Párhuzamos vetítés - összefoglalás
1) Merőleges vetítés koordinátasíkra
2) Ferde vetítés koordinátasíkra
3) Párhuzamos vetítés
a tárgyhoz viszonyított paraméterekkel
4) 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’= MM 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
MM : a határozatlan együtthatók módszerével
Egy projektív leképezést 5-5
„független” pontpár határoz meg
A tárgy és a néző helyzete:
Kisebb tárgyaknál:
kézben tartott tárgy,
a távlat nem érvényesül,
párhuzamos vetítés,
a nézet állandó,
a tárgy foroghat
Nagyobb tárgyaknál:
messziről nézett tárgy,
perspektíva,
középpontos vetítés,
a tárgy áll,
a nézet változhat
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
A Z-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 P pont X vetülete:
x’ = px · c / (c - pz); c > pz
y’ = 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 kamera koordináta-rendszerében
A leképezés 5-5 pontja
X = [ 1, 0, 0, 0 ]; X’ = X X,Y tengely
Y = [ 0, 1, 0, 0 ]; Y’ = Y
C = [ 0, 1, 0, 1 ]; C’ = [ 0, 0, 1, 0 ] kamera
T = [ 0, 0, t*, 1 ] ; T’ = [ 0, 0, 1, 1 ] távolsík
E = [ 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 | 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:
1. TKR megadása VKR-ben: R, u, v, w
2. M = TB: VKR TKR transzf.
3. 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, z
z : = n
„fölfele” y; de merre?
f kb. fölfele; n és y síkjában
ebből: x = f z, és y = z x
Áttérés TKR-ről SzKR-re
TKR SzKR báziscsere:
X’ = (T2 · B2) · X
B2 := B2 (x, y, z,)
| x | = | y | = | z | = 1
T2 := T2(- RC)
Például: egy sínpár perspektívája
X = [ 1, 0, 0, 0 ]; X’ = X X,Y tengely
Y = [ 0, 1, 0, 0 ]; Y’ = Y
Z = [ 0, 0, 1, 0 ] ; Z’ = [ 0, 0, 1, 1 ] Z tengely
C = [ 0, 1, 0, 1 ]; C’ = [ 0, 0, 1, 0 ] kamera
F = [ 1, 2, 1, 1 ]; F’ = [ -1, 1, 0, 1] a kép sarka
A sínpár perspektívája
M44 · [ X Y Z C F ] = [ X’ Y’ Z’ C’ F’ ]
(m11 m12 m13 m14) · ( 1 0 0 0 1 ) = ( 0 0 0 - )| m21 m22 m23 m24| | 0 1 0 0 2 | | 0 0 0 || m31 m32 m33 m34| | 0 0 1 0 1 | | 0 0 0 |(m41 m42 m43 m44) ( 0 0 0 1 1 ) ( 0 0 0 )
20 egyenlet, 21 ismeretlen: , , , , , és 16 mik
de egy választható, pl. := 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
1. Áttérés VKR-ről TKR-re: X’ = (T1B1)X
2. A vetítés megadása a tárgyhoz viszonyítva
3. Áttérés TKR-ről PKR-re X’ = (T2B2)X
4. Vetítés a PKR-ben: X’ = (PNxyTM)X
5. Leképezés PKR-ből a KKR-be: X’ = (T5S)X
X’ = [ (T5S)PP(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’= MM P
3D 3D leképezés,
utána: láthatóság (z),
végül: a z koordináta elhagyása
Az MM mátrix geometriai szemlélettel fölépíthető