3. vetületi ábrázolások számítási eljárásai

35
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

Upload: rebecca-patterson

Post on 30-Dec-2015

103 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 2: 3. Vetületi ábrázolások   számítási eljárásai

3.0. Bevezetés

Page 3: 3. Vetületi ábrázolások   számítási eljárásai

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.

Page 4: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 5: 3. Vetületi ábrázolások   számítási eljárásai

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,

Page 6: 3. Vetületi ábrázolások   számítási eljárásai

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 = . . .

Page 7: 3. Vetületi ábrázolások   számítási eljárásai

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ó

Page 8: 3. Vetületi ábrázolások   számítási eljárásai

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ó”

Page 9: 3. Vetületi ábrázolások   számítási eljárásai

Bevezetés ---|l

• Vetítések koordináta-rendszerei

• VKR• TKR• SZKR

• és KKR, KKR-3D

Page 10: 3. Vetületi ábrázolások   számítási eljárásai

3.1. Párhuzamos vetítés

Page 11: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 12: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 13: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 14: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 15: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 16: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 17: 3. Vetületi ábrázolások   számítási eljárásai

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 = . . .

Page 18: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 19: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 20: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 21: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 22: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 23: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 24: 3. Vetületi ábrázolások   számítási eljárásai

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 )

Page 25: 3. Vetületi ábrázolások   számítási eljárásai

A kamera koordináta-rendszerében

Page 26: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 27: 3. Vetületi ábrázolások   számítási eljárásai

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) )

Page 28: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 29: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 30: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 31: 3. Vetületi ábrázolások   számítási eljárásai

Á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)

Page 32: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 33: 3. Vetületi ábrázolások   számítási eljárásai

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)

Page 34: 3. Vetületi ábrázolások   számítási eljárásai

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

Page 35: 3. Vetületi ábrázolások   számítási eljárásai

Ö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ő