1 / 25

Graficaci ón IA7200-T

Graficaci ón IA7200-T. Líneas Ocultas. Introducción Visibilidad Representación 3D Figuras con hoyos Caras y líneas (estructura de datos) Interfaz gráfica Gráficas de Tortuga. Líneas Ocultas. Segmentos y Triángulos. Segmentos y Triángulos. Visibilidad.

kynan
Télécharger la présentation

Graficaci ón IA7200-T

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. GraficaciónIA7200-T Líneas Ocultas

  2. Introducción Visibilidad Representación 3D Figuras con hoyos Caras y líneas (estructura de datos) Interfaz gráfica Gráficas de Tortuga Líneas Ocultas

  3. Segmentos y Triángulos

  4. Segmentos y Triángulos

  5. Visibilidad lineSegment(line PQ, S set of triangles)In set S, try to find a triangle ABC that obscures PQ (or part of it) If no such triangle found, Draw PQ Else If triangle ABC leaves part PI of PQ visible lineSegment(PI, the remaining triangles of s); If triangle ABC leaves JQ of PQ visible lineSegment(JQ, the remaining triangles of s);

  6. Detalles de Implementación

  7. Caso 1 (2D) • Minimax Test • Max(P,Q)<=Min(A,B,C) • ABC no obstruye a PQ • = para el caso simétrico

  8. Caso 2 (3D) • Igualdad de vértices • ABC no obstruye a PQ • Comparación por # vértice - eficiente • No siempre es posible

  9. Caso 3 (3D) • Minimax 3D en z • Min(P,Q)<=Max(A,B,C) • ABC no obstruye a PQ • = para el caso simétrico

  10. Caso 4 (2D) • PQ en un lado de AB • C en el otro lado • Si ABC es CCW y ABP y ABQ son CW • ABC no obstruye a PQ • (= para lados BC y CA)

  11. Caso 5 (2D) • PQA = área del tríangulo PQA • PQA < 0 si PQA es CW • ABC no obstruye a PQ

  12. Caso 6 (3D) • Funciona cuando el caso 3 falla • ABC no obstruye a PQ

  13. Caso 7 (2D) • PQ dentro de ABC • Si todos los demás casos no decidieron, ABC oculta completamente a PQ • boolean pInside = Tools2D.insideTriangle(aScr, bScr, cScr, pScr);boolean qInside = Tools2D.insideTriangle(aScr, bScr, cScr, qScr);

  14. Caso 8 (3D) • P más cerca que ABC (o Q) • pNear: hP > hqNear: hQ > h • pNear && pInside || qNear && qInside • ABC no obstruye a PQ

  15. Caso 9 (3D) • ABC obstruye parcialmente a PQ • Calcular (las proyecciones 2D de) I y J en la pantalla. • Calcular los valores z de I y J (interpolación lineal de 1/z). • Calcular distancia de I y J en dirección del plano.

  16. Caso 9-1 • Esto se cumple para dos lados • u=PQ, v=AB, w=A-P B A C

  17. Caso 9-2 • Se debe usar 1/z en lugar de z

  18. Caso 9-3 • n = (a,b,c) – normal al triángulo • P dentro de ABC? • Q dentro de ABC? • P y Q dentro de ABC?

  19. lineSegment • void lineSegment(Graphics g, Point3D p, Point3D q, Point2D PScr, Point2D QScr, int iP, int iQ, int iStart) • Si no se cuenta con número de vértice (iP, iQ), se usa -1 • iStart indica el índice del triángulo donde comenzamos

  20. Gráficas de Tortuga • Mostrar Gráficas de Tortuga en Java

  21. Gráficas de Tortuga • 3D: 3 ángulos para especificar la dirección (H, L, U) • 6 Comandos de Giro

  22. Gráficas de Tortuga

  23. Gráficas de Tortuga • Comandos de Tortuga 3D

  24. Gráficas de Tortuga • Ejemplo:

  25. Gráficas de Tortuga

More Related