Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.