Upload
oihane
View
44
Download
0
Embed Size (px)
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
Citation preview
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
Nvertn1, x1, y1, z1
n2, x2, y2, z2
……………
Npoln1, n2, n3
n1, n2, n3
……………
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
Proyección en perspectivaProyección en perspectiva
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
VisibilidadVisibilidad
Como decidimos que se debe ver?
Ray CastingRay Casting
Tirar un rayo y pintar solo el poligono más cercano
Algoritmo del pintorAlgoritmo del pintor
12
5
4
3
6
7
Algoritmo del pintorAlgoritmo del pintor
No siempre funciona!!!
A
B
C
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)
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
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
Funciona en todos los casos!Funciona en todos los casos!
A
B
C