1 / 13

Visualización Computacional de Datos I

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.

oihane
Download Presentation

Visualización Computacional de Datos I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Nvert n1, x1, y1, z1 n2, x2, y2, z2 …………… Npol n1, n2, n3 n1, n2, n3 ……………

  3. Rotación • General 0 0 0 1 x y z 1 x' y' z' 1 r11 r21 r31 0 r12 r22 r32 0 r13 r23 r33 0 = V’ = R. V

  4. Proyección en perspectiva

  5. Proyección en perspectiva 0 0 0 0 x y z 1 x' y' z' w’ 1 0 0 0 0 1 0 0 0 0 1 1/d = V’ = P. R. V

  6. Visibilidad • Como decidimos que se debe ver?

  7. Ray Casting • Tirar un rayo y pintar solo el poligono más cercano

  8. Algoritmo del pintor 5 7 3 4 6 2 1

  9. Algoritmo del pintor • No siempre funciona!!!

  10. Ray 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)

  11. Z 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

  12. Z-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]=currentColor zBuffer[x,y]=currentZ

  13. Funciona en todos los casos!

More Related