visualización computacional ii. quienes somos? profesor: dr. marcelo javier vénere:...

52
Visualización Computacional Visualización Computacional II II

Upload: eulalio-forero

Post on 18-Apr-2015

7 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Visualización Computacional IIVisualización Computacional IIVisualización Computacional IIVisualización Computacional II

Page 2: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Quienes somos?Quienes somos?

Profesor:

Dr. Marcelo Javier Vénere: [email protected]

Ayudantes:

Ing. Juan P. D’Amato: [email protected]

Ing. Cristian García Bauza: [email protected]

Edificio PLADEMAEdificio PLADEMA

Page 3: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Logística Logística (o como va a ser la cosa…)(o como va a ser la cosa…)

Seis clases teóricas repartidas entre esta semana y la que viene.

Dos prácticas (a confirmar) para explicación de conceptos (OpenGL) y uso de tutoriales.

Tres prácticas adicionales

Forma de evaluación:

Cursada y Final con un trabajo. Una entrega a corto plazo (antes de fin de año) y entrega final posterior.

http://www.exa.unicen.edu.ar/catedras/visdat2/index.htmlhttp://www.exa.unicen.edu.ar/catedras/visdat2/index.html

Page 4: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Horarios y LugaresHorarios y Lugares

Martes 21/10: Aula 2 (Facultad) 19-22 hs.Miércoles 22/10: Aula 2 (Facultad) 19-21 hs.Viernes 24/10: Aula 1 (Facultad) 18-21 hs.Lunes 27/10: Aula 3 (Facultad) 19-22 hs.Martes 28/10: Aula 2 (Facultad) 19-22 hs.Miércoles 29/10: A confirmar

Teórica:

Page 5: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

InformaciónInformación

Bibliografía:

Foley, van Dam, Feiner, Hughes “Computer Graphics: Principles and Practice”.

Woo, Neider, Davis, Shreiner: “OpenGL Programming Guide”.

Alan Watt “3D Computer Graphics”.

IEEE Computer Graphics an applications.

Page 6: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

ObjetivoObjetivo

Idea: Entender los principios y metodologías para lograr efectos especiales en aplicaciones 3D.

Page 7: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Resumen de la materiaResumen de la materia

Iluminación y transformaciones.

Texturas.

Raycasting, Raytracing y Radiosity.

Sombras.

Animación y comportamiento físico.

Optimizaciones.

Page 8: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

TransformacionesTransformaciones

P1

P2

Pi

Pi = (px, py)

Las transformaciones se aplican sobrelos puntos que definen el objeto

Page 9: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Transformaciones SimplesTransformaciones Simples

Escala isotrópica

Pi = S.Pi

Pi = (px, py)

sx 00 syS =

Page 10: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Transformaciones SimplesTransformaciones Simples

Traslación

Pi = Pi + D

Pi = (px, py)

D = (dx, dy)

dxdy

Page 11: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Transformaciones SimplesTransformaciones Simples

Rotación

Pi = R.Pi

Pi = (px, py)

cos -sin sin cos R =

Page 12: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Como representar las transformaciones?Como representar las transformaciones?

x' = ax + by + c

y' = dx + ey + f

x'

y'

a b

d e

c

f=

x

y+

p' = M p + t

Page 13: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Coordenadas homogeneasCoordenadas homogeneas

Se agrega una dimensión extraen 2D, se usa 3 x 3 matrices

en 3D, se usa 4 x 4 matrices

Cada punto tiene entonces un valor extra, w

x'

y'

z'

w'

=

x

y

z

w

a

e

i

m

b

f

j

n

c

g

k

o

d

h

l

p

p' = M p

Page 14: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Pasar a coordenadas homogeneasPasar a coordenadas homogeneas

x' = ax + by + c

y' = dx + ey + f

x'

y‘

1

a b

d e

0 0

c

f

1

=x

y

1

p' = M p

x'

y'

a b

d e

c

f=

x

y+

p' = M p + t

Forma Afín Forma Homogénea

Page 15: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Traslación (Traslación (ttxx, t, tyy, t, tzz))

Por que utilizar coordenadas homogéneas?Porque ahora las traslaciones se expresan como matriz!

x'

y'

z'

0

=

x

y

z

1

1

0

0

0

0

1

0

0

0

0

1

0

tx

ty

tz

1

x'

y'

z'

1

Page 16: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Escala (Escala (ssxx, s, syy, s, szz))

Isotrópica (uniforme) scaling: sx = sy = sz

x'

y'

z'

1

=

x

y

z

1

sx

0

0

0

0

sy

0

0

0

0

sz

0

0

0

0

1

Scale(s,s,s)

x

p

p'

qq'

y

Page 17: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

RotaciónRotación

Sobre eje z

x'

y'

z'

1

=

x

y

z

1

cos θ

sin θ

0

0

-sin θ

cos θ

0

0

0

0

1

0

0

0

0

1

ZRotate(θ)

x

y

z

p

p'

θ

Page 18: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

RotaciónRotación

General

x'

y'

z'

1

=

x

y

z

1

r12r22r320

0

0

0

1

r11r21r310

r13r23r330

V’ = RR . V

Page 19: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Proyección en perspectivaProyección en perspectiva

x'

y'

z'

w’

=

x

y

z

1

0

1

0

0

0

0

0

0

1

0

0

0

0

0

1

1/d

V’ = P. RP. R . V

Page 20: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Necesidad de un modelo de iluminaciónNecesidad de un modelo de iluminación

Page 21: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Difusor perfectoDifusor perfecto

Asumimos que la superficie refleja igual en todas las direcciones.

Ejemplo: tiza, arcilla, algunas pinturas

Superficie

R = I.KrG = I.KgB = I.Kb

I

Page 22: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Cantidad de luz recibidaCantidad de luz recibida

n

Surface

n

nI0

I0I = I0.cos

R = I0.cos .KrG = I0.cos .KgB = I0.cos .Kb

Page 23: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

ReflejosReflejos

Reflexión ocurre solo en la dirección especular.

Depende de la posición relativa de la fuente de luz y el punto de vista

Surface

l

n

r

Page 24: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Reflectores no idealesReflectores no ideales

Materiales reales no son como espejos.

Brillos no son puntuales sino borrosos

Page 25: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Reflectores no idealesReflectores no ideales

Modelo empírico simple:Se supone que la luz se reflejará en la dirección del rayo ideal.

Sin embargo, debido a imperfecciones microscópicas de la superficie, algunos rayos reflejados se apartarán un poco de la dirección ideal.

Page 26: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

El modelo PhongEl modelo Phong

Parámetros

ks: coeficiente reflexión especular

q : exponente reflexión especular

Surface

L

nr

Cámara

V

I = I0.Ks.cosq

Page 27: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

El modelo PhongEl modelo Phong

Efecto del coeficiente q

Page 28: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Cálculo de la dirección especularCálculo de la dirección especular

Surface

L

n

r

r

LnLnr

nLr

)(2

cos 2

R = I0.((1-Ks).Kr. L.n + Ks. (V.r)q)G = I0.((1-Ks).Kg. L.n + Ks. (V.r)q)B = I0.((1-Ks).Kb. L.n + Ks. (V.r)q)

Page 29: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Surface

Modelo de iluminación simpleModelo de iluminación simple

R =Ia.Kr + I0.((1-Ks).Kr. L.n + Ks. (V.r)q)G = Ia.Kg + I0.((1-Ks).Kg. L.n + Ks. (V.r)q)B = Ia.Kb + I0.((1-Ks).Kb. L.n + Ks. (V.r)q)

Page 30: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Modelos de iluminación (resumen)Modelos de iluminación (resumen)

R = Ia.Kr + Σ Ii.((1-Ks).Kr. Li.n + Ks. (V.ri)q)G = Ia.Kg + Σ Ii.((1-Ks).Kg. Li.n + Ks. (V.ri)q)B = Ia.Kb + Σ Ii.((1-Ks).Kb. Li.n + Ks. (V.ri)q)

Surface

LV

r n

Kr, Kg, Kb Ks, q

Propiedadesdel cuerpo

Page 31: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Intensidad de la luzIntensidad de la luz

Decae como 1/r2

Misma energía en todas las direcciones

En realidad se usa 1/r

Page 32: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Modelo de iluminación simpleModelo de iluminación simple

Flat shadingGourard shading

Page 33: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Gourard shadingGourard shading

Ir1 , Ig1 , Ib1 Ir2 , Ig2 , Ib2

Ir3 , Ig3 , Ib3

Irpixel= (Ir1.A1+Ir2.A2+Ir3.A3)/A

n1 , n2 , n3

A1

A3

A2

1

2

3

Page 34: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Phong shadingPhong shading

n1 , n2 , n3

npixel

Ir , Ig , Ib

Page 35: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Modelo de iluminación simpleModelo de iluminación simple

Page 36: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Modelo de iluminación simpleModelo de iluminación simple

Page 37: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Que falta tener en cuenta?Que falta tener en cuenta?

Texturas

Sombras

Transparencias

Reflexiones

Refracciones

Fuentes no puntuales

Iluminación proveniente de otros objetos

Para obtener imágenes realistas

Page 38: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Resumen - Resumen - TexturasTexturas

•Por qué usar texturas•Conceptos básicos•Mapeo y Tiling•Filtros y Mipmapping•Lightmaps y efectos.•Environment Mapping

Page 39: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Resumen - Resumen - SombrasSombras

•Fake shadows•Planar & Projective•Shadow Mapping•Shadow volumes

Page 40: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

TransparenciasTransparencias

Page 41: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Refracción Refracción

Page 42: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

ReflexionesReflexiones

Page 43: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Ray TracingRay Tracing

I = Ilocal + Ireflejada + Irefractada

Page 44: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Sombras difusasSombras difusas

Page 45: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

RadiosityRadiosity

Page 46: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar
Page 47: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar
Page 48: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Que falta tener en cuenta?Que falta tener en cuenta?

Para lograr realidad virtual

Matrix

Inmersión

Comportamientos realistas

Page 49: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Efectos físicosEfectos físicos

Page 50: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar

Efectos físicosEfectos físicos

Page 51: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar
Page 52: Visualización Computacional II. Quienes somos? Profesor: Dr. Marcelo Javier Vénere: venerem@exa.unicen.edu.ar Ayudantes: Ing. Juan P. DAmato: jpdamato@exa.unicen.edu.ar