visualización computacional de datos i

13
Visualización Computacional Visualización Computacional de Datos I de Datos I Graficando objetos 3D en el monitor

Upload: oihane

Post on 14-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Visualización Computacional de Datos I. Graficando objetos 3D en el monitor. Nvert n 1 , x 1 , y 1 , z 1 n 2 , x 2 , y 2 , z 2 ……………. Npol n 1 , n 2 , n 3 n 1 , n 2 , n 3 ……………. Rotación. General. 0 0 0 1. x y z 1. x' y' z' 1. r 11 r 21 r 31 0. r 12 r 22 r 32 0. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Visualización Computacional de Datos I

Visualización Computacional de Visualización Computacional de Datos I Datos I

Visualización Computacional de Visualización Computacional de Datos I Datos I

Graficando objetos 3D en el monitor

Page 2: Visualización Computacional de Datos I

Nvertn1, x1, y1, z1

n2, x2, y2, z2

……………

Npoln1, n2, n3

n1, n2, n3

……………

Page 3: Visualización Computacional de Datos I

RotaciónRotación

General

x'

y'

z'

1

=

x

y

z

1

r12

r22

r32

0

0

0

0

1

r11

r21

r31

0

r13

r23

r33

0

V’ = RR . V

Page 4: Visualización Computacional de Datos I

Proyección en perspectivaProyección en perspectiva

Page 5: Visualización Computacional de Datos I

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 6: Visualización Computacional de Datos I

VisibilidadVisibilidad

Como decidimos que se debe ver?

Page 7: Visualización Computacional de Datos I

Ray CastingRay Casting

Tirar un rayo y pintar solo el poligono más cercano

Page 8: Visualización Computacional de Datos I

Algoritmo del pintorAlgoritmo del pintor

12

5

4

3

6

7

Page 9: Visualización Computacional de Datos I

Algoritmo del pintorAlgoritmo del pintor

No siempre funciona!!!

A

B

C

Page 10: Visualización Computacional de Datos I

Ray CastingRay Casting

Pseudocódigo:

Para cada píxel hacer:

Construir un rayo desde el ojo

Para cada objeto en la escena hacer:Calcular intersección con el rayo

Retornar en la primera intersecció (objeto + cercano)

Page 11: Visualización Computacional de Datos I

Z bufferZ buffer

Ademas del frame buffer (R, G, B)

Almacenar la distancia a la cámara (z-buffer)

Pixel es pintado solo si el nuevo z es más alto que el valor en el z-buffer value

Page 12: Visualización Computacional de Datos I

Z-buffer pseudo codeZ-buffer pseudo code

For every triangle

Compute Projection, color at vertices

Setup line equations

Compute bbox, clip bbox to screen limits

For all pixels in bbox

Increment line equations

Compute curentZ

Increment currentColor

If all line equations>0 //pixel [x,y] in triangle

If currentZ<zBuffer[x,y] //pixel is visible

Framebuffer[x,y]=currentColorzBuffer[x,y]=currentZ

Page 13: Visualización Computacional de Datos I

Funciona en todos los casos!Funciona en todos los casos!

A

B

C