La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Graficación IA7200-T Líneas Ocultas.

Presentaciones similares


Presentación del tema: "Graficación IA7200-T Líneas Ocultas."— Transcripción de la presentación:

1 Graficación IA7200-T Líneas Ocultas

2 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 Graficación

3 Segmentos y Triángulos
Graficación

4 Segmentos y Triángulos
Graficación

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); Graficación

6 Detalles de Implementación
Graficación

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

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

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

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) Graficación

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

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

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); Graficación

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

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. Graficación

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

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

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

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

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

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

22 Gráficas de Tortuga Graficación

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

24 Gráficas de Tortuga Ejemplo: Graficación

25 Gráficas de Tortuga Graficación


Descargar ppt "Graficación IA7200-T Líneas Ocultas."

Presentaciones similares


Anuncios Google