Graficacin IA 7200 T Lneas Ocultas Lneas Ocultas

  • Slides: 25
Download presentation
Graficación IA 7200 -T Líneas Ocultas

Graficación IA 7200 -T Líneas Ocultas

Líneas Ocultas • • Graficación Introducción Visibilidad Representación 3 D Figuras con hoyos Caras

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

Segmentos y Triángulos Graficación 3

Segmentos y Triángulos Graficación 3

Segmentos y Triángulos Graficación 4

Segmentos y Triángulos Graficación 4

Visibilidad line. Segment(line PQ, S set of triangles) In set S, try to find

Visibilidad line. Segment(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 line. Segment(PI, the remaining triangles of s); If triangle ABC leaves JQ of PQ visible line. Segment(JQ, the remaining triangles of s); Graficación 5

Detalles de Implementación Graficación 6

Detalles de Implementación Graficación 6

Caso 1 (2 D) • Minimax Test • Max(P, Q)<=Min(A, B, C) • ABC

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

Caso 2 (3 D) • • Graficación Igualdad de vértices ABC no obstruye a

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

Caso 3 (3 D) • Minimax 3 D en z • Min(P, Q)<=Max(A, B,

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

Caso 4 (2 D) • • PQ en un lado de AB C en

Caso 4 (2 D) • • 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) Graficación 10

Caso 5 (2 D) • PQA = área del tríangulo PQA • PQA <

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

Caso 6 (3 D) • Funciona cuando el caso 3 falla • ABC no

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

Caso 7 (2 D) • PQ dentro de ABC • Si todos los demás

Caso 7 (2 D) • PQ dentro de ABC • Si todos los demás casos no decidieron, ABC oculta completamente a PQ • Graficación boolean p. Inside = Tools 2 D. inside. Triangle(a. Scr, b. Scr, c. Scr, p. Scr); boolean q. Inside = Tools 2 D. inside. Triangle(a. Scr, b. Scr, c. Scr, q. Scr); 13

Caso 8 (3 D) • P más cerca que ABC (o Q) • p.

Caso 8 (3 D) • P más cerca que ABC (o Q) • p. Near: h. P > h q. Near: h. Q > h • p. Near && p. Inside || q. Near && q. Inside • ABC no obstruye a PQ Graficación 14

Caso 9 (3 D) • ABC obstruye parcialmente a PQ 1. Calcular (las proyecciones

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

Caso 9 -1 • Esto se cumple para dos lados B A • u=PQ,

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

Caso 9 -2 • Se debe usar 1/z en lugar de z Graficación 17

Caso 9 -2 • Se debe usar 1/z en lugar de z Graficación 17

Caso 9 -3 • n = (a, b, c) – normal al triángulo •

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? Graficación 18

line. Segment void line. Segment(Graphics g, Point 3 D p, Point 3 D q,

line. Segment void line. Segment(Graphics g, Point 3 D p, Point 3 D q, Point 2 D PScr, Point 2 D QScr, int i. P, int i. Q, int i. Start) • Si no se cuenta con número de vértice (i. P, i. Q), se usa -1 • i. Start indica el índice del triángulo donde comenzamos Graficación 19

Gráficas de Tortuga • Mostrar Gráficas de Tortuga en Java Graficación 20

Gráficas de Tortuga • Mostrar Gráficas de Tortuga en Java Graficación 20

Gráficas de Tortuga • 3 D: 3 ángulos para especificar la dirección (H, L,

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

Gráficas de Tortuga Graficación 22

Gráficas de Tortuga Graficación 22

Gráficas de Tortuga • Comandos de Tortuga 3 D Graficación 23

Gráficas de Tortuga • Comandos de Tortuga 3 D Graficación 23

Gráficas de Tortuga • Ejemplo: Graficación 24

Gráficas de Tortuga • Ejemplo: Graficación 24

Gráficas de Tortuga Graficación 25

Gráficas de Tortuga Graficación 25