Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2...

5
1 Graficación Proyección 3D 2 Proyección 3D De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección transformación 3 Proyección 3D Una proyección es una reducción del dominio P n R n P m R m , con m < n Típicamente: n = 3 y m = 2 Un proyector es un segmento que une P n con un centro de proyección paralela perspectiva 4 Proyección 3D La intersección de un proyector con la superficie de proyección corresponde a P m La superficie de proyección puede ser plana se habla de proyección plana O tener otra forma: Ojo de pez Cilíndrica Cuberender ... Propuesto: Investigue al menos otras tres otras formas de proyección 5 Tipos de proyección 3D Ojo de Pez 6 Tipos de proyección 3D Cilíndrica

Transcript of Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2...

Page 1: Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2 Proyección 3D • De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección

1

Graficación

Proyección 3D

2

Proyección 3D• De la 3D a la 2D

Mundo 3D Mapeo a 2D

Reconstrucción

clipping proyección transformación

3

Proyección 3D• Una proyección es una reducción del dominio

– Pn ∈ Rn �Pm ∈ Rm , con m < n

– Típicamente: n = 3 y m = 2

• Un proyector es un segmento que une Pn con un centro de proyección

paralela perspectiva 4

Proyección 3D• La intersección de un proyector con la superficie

de proyección corresponde a Pm

• La superficie de proyección puede ser plana– se habla de proyección plana

• O tener otra forma:– Ojo de pez– Cilíndrica– Cuberender– ...

• Propuesto: Investigue al menos otras tres otras formas de proyección

5

Tipos de proyección 3D• Ojo de Pez

6

Tipos de proyección 3D• Cilíndrica

Page 2: Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2 Proyección 3D • De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección

2

7

Tipos de proyección 3D• Cuberender

8

Proyección 3D

• Las proyecciones planas se dividen en:– Proyección paralela– Proyección en perspectiva

9

Proyección paralela

• El centro de proyección está ubicado en el infinito• Los proyectores son paralelos entre ellos• Líneas paralelas en 3D son paralelas en la proyección

• Dirección de proyección ≠ Normal de plano de proyección

10

Proyección paralela ortográfica

• Si el plano de proyección es normal a la dirección de proyección, la matriz de proyección es:

1 0 0 0Ppar = 0 1 0 0

0 0 0 00 0 0 1

11

Proyección paralela oblicua

• La normal del plano de proyección no está alineada con la dirección de proyección

• Matriz de proyección:

1 0 cot(α)cos(φ) 0Ppar = 0 1 cot(α)sin(φ) 0

0 0 0 00 0 0 1

Proyección en perspectiva• El centro de proyección está a una distancia finita• Las líneas paralelas en 3D pueden no serlo en la

proyección• Entre más próximo esté el objeto del centro de

proyección, mayor es su tamaño

• Si el centro de proyección está en el infinito, se obtiene una proyección paralela

Page 3: Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2 Proyección 3D • De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección

3

13

Proyección perspectiva (simple)

P(x, y, z)

Pp(xp, yp, d)

Z

X

Y

P(x, 0, z)

P(0, y, z)d

Plano deproyección

Centro deproyección

d

14

Proyección perspectiva (simple)• Utilizando la regla de triángulos semejantes:

xp / d = x / z � xp = x / (z/d)

yp / d = y / z � yp = y / (z/d)

Pp(xp, 0, d)

P(x, 0, z)

dCentro deproyección

X

Z

Pp(0, yp, d)

P(0, y, z)

dCentro deproyección

Y

Z

15

Proyección perspectiva (simple)

• Si el plano de proyección es ubicado en z=0

1 0 0 0Mproj = 0 1 0 0

0 0 0 00 0 1/d 1

• Notar que si d es ubicado en el infinito, se obtiene una proyección paralela

16

Pirámide de visión1.Clipping con seis planos que definen el volumen de

visión2.La proyección sobre la ventana se realiza con los

‘sobrevivientes’ del clipping3.Transformación a las coordenadas de despliegue

17

Volumen canónico de visión• El clipping con planos arbitrario puede tener un

alto costo computacional• Solución: llevar la pirámide de visión a una forma

canónica– El clipping se simplifica

X o Y

-1 0

1

Z

planoposterior

planofrontal

PARALELO

X o Y

-1 0

1

Z

planoposterior

planofrontal

PERSPECTIVA

-1 -1

18

Proyección 3D: Nomenclatura

• VRP: view reference point– Punto en el plano de visión

• VPN: view-plane normal– Normal de plano de visión donde reposa la ventana 3D

• PRP: projection reference point– Punto por donde pasa todos los proyectores– Puede estar en el infinito– DOP = (CW – PRP): dirección de proyección

• CW: center of the window– Centro de la ventana rectangular

Page 4: Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2 Proyección 3D • De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección

4

19

Proyección 3D: Nomenclatura

20

Proyección paralela: sistema de coordenadas

21

Transformaciones para una proyección paralela

1. Traslación del punto de referencia del plano (VRP) hacia el origen:

T(–VRP)

2. Alineamiento de la ventana, de forma que:

r1x r2x r3x 0A = r1y r2y r3y 0

r1z r2z r3z 00 0 0 1

Rz: VPN � Z

Rx: u � X

Ry: v � Y

(r1x, r2x, r3x) = VPN .|| VPN ||

(r1y, r2y, r3y) = Rz × Rx.

(r1z, r2z, r3z) = VUP × Rz .|| VUP × Rz ||

22

Transformaciones para una proyección paralela

3. Aplicar shearing para lograr que la dirección de proyección sea paralela al eje Z

dopxdopydopz

0

umax + umin2

vmax + vmin201

prpuprpvprpn

1

= –

00

dopz0

1 0 shx 00 1 shy 00 0 1 00 0 0 1

dopxdopydopz

0

=

dopxdopzshx = –

dopydopzshy = –

0

X ó Y

X ó Y

FB

umax ó vmax

umin ó vmin

Z

Z

dop

23

Transformaciones para una proyección paralela

4. Traslación y cambio de escala a la forma canónica

–(umax + umin) , –( vmax + vmin) ,2 2

2 , 2 , 1umax – umin vmax – vmin F – B

–FTpar

Spar

Npar = Spar Tpar Shpar A T(–VRP)

X ó Y

+1

–1

Z

–1

24

Proyección perspectiva: sistema de coordenadas

Page 5: Reconstrucción Graficación Mundo 3D ... - Genaro Mendez · 1 Graficación Proyección 3D 2 Proyección 3D • De la 3D a la 2D Mundo 3D Mapeo a 2D Reconstrucción clipping proyección

5

25

Transformaciones para una proyección perspectiva

1. Traslación del punto de referencia del plano (VRP) hacia el origen:

T(–VRP)2. Alineamiento de la ventana, de forma que:

r1x r2x r3x 0A = r1y r2y r3y 0

r1z r2z r3z 00 0 0 1

Rz: VPN � Z

Rx: u � X

Ry: v � Y

(r1x, r2x, r3x) = VPN .|| VPN ||

(r1y, r2y, r3y) = Rz × Rx.

(r1z, r2z, r3z) = VUP × Rz .|| VUP × Rz ||

26

Transformaciones para una proyección perspectiva

3. Traslación del centro de proyección hacia el origen:T(–PRP)

4. Aplicación de shearing para que la línea central (PRP – CW) se alinee sobre el eje Z:

00

dopz0

1 0 shx 00 1 shy 00 0 1 00 0 0 1

dopxdopydopz

0

=

dopxdopzshx = –

dopydopzshy = –

0

X ó Y

Z

dopcw

27

Transformaciones para una proyección perspectiva

5. Escalamiento a la forma canónica

(umax – umin)2

–2 vrpz’ , –2 vrpz’ , 1umax – umin vmax – vmin

= vrpz’

Sper

pendiente = ±1 �

0

X ó Y

cw

vrpz’

Z

(umax – umin)2

x =

– (umax – umin)2

x =

28

Transformaciones para una proyección perspectiva

5. Escalamiento a la forma canónica

–1 , –1 , –1vrpz’ + B vrpz’ + B vrpz’ + BSvrpz’ + B � –1

Nper = Sper Shper T(–PRP) A T(–VRP)

0

X ó Y

cw

vrpz’

Z

vrpz’

– vrpz’

vrpz’ + B

vrpz’ + F

29

Transformación a la forma canónica

1 0 0 00 1 0 0

0 0

0 0 –1 0

11 + zmin

zmin1 + zmin

para zmin ≠ –1

0

X ó Y

Z-1

zmin

0

X ó Y

Z-1

+1

-1

30

Clipping en la forma canónica

• Cohen-Sutherland en 3D (6 bits)x < –1 ; x > 1y < –1 ; y > 1z < –1 ; z > 0