La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seminario de graficación

Presentaciones similares


Presentación del tema: "Seminario de graficación"— Transcripción de la presentación:

1 Seminario de graficación
Clipping (recorte) Seminario de graficación

2 3.1 Introducción Matemáticamente, “recortar (to clip) un conjunto contra otro” = “encontrar la intersección entre ambos conjuntos”. Tipos de recorte: De línea (contra un rectángulo o región convexa) De polígono (contra otro polígono)

3 Algoritmos de recorte de línea
Categoría Polígono Commentario Cohen-Sutherland No el mejor pero aún muy usado. rectangular Algoritmo clásico, popular porque es fácil de implementar. Cyrus-Beck Interesante pero no recomendado convexo Más rápido que el anterior. Liang-Barsky Aún popular, fácil de implementar. Nicholl-Lee-NIcholl Uno de los mejores en su tipo. Bidimensional únicamente.

4 Algoritmos de recorte de polígono
Categoría Polígono Commentario Sutherland-Hodgman Histórico y fácil convexo Weiler Histórico, fácil, interesante, pero no recomendado arbitrario Liang-Barsky Interesante pero no recomendado rectangular Maillot Uno de los mejores en su tipo. Vatti Rápido, versátil, y puede generar descomposición trapezoidal de la intersección Greiner-Hormann Tan general como el Vatti. Más simple y potencialmente rápido, pero no tiene descomposición trapezoidal.

5 ...Introducción En ocasiones se requiere introducir vértices cuando se hace recorte de polígonos. Esquinas introducidas puntos de vuelta (turning points)

6 3.2.1 Recorte de línea Cohen-Sutherland
Resuelve el problema de recorte planar: Dado un segmento [P1,P2], recortarlo contra una ventana rectangular y retornar el segmento recortado [Q1, Q2] (puede ser vacío).

7 Codificación de regiones
Se definen 9 regiones con respecto a las líneas del rectángulo, y se define c(P)=x3x2x1x0, que son dígitos binarios definidos con referencia a las líneas: x0: derecha x1: arriba x2: izquierda X3: abajo 0110 0010 0011 0100 0000 0001 1100 1000 1001

8 Paso 1 Codificar c1=c(P1) y c2(P2)

9 Paso 2 Comprobar si el segmento ya está resuelto: c1 or c2 = 0
Completamente contenido, se devuelve Q1 = P1 y Q2 = P2 c1 and c2 <> 0 Completamente excluido, se devuelve un segmento vacío

10 Paso 3 Puesto que no se resolvió, se debe cortar con el límite apropiado y se regresa al paso 2. Buscar el extremo P que determinará la línea contra la cual cortar Si c1 = 0000, P1 no debe ser cortado, por lo que P es P2 y Q es P1 Si c1 <> 0000, entonces P es P1 y Q es P2 La línea cortadora es determinada por el bit “1” más a la izquierda, en c(P). Sea A la intersección de [P,Q] con esa línea. Repetir pasos 1-3 para el segmento [A,Q].

11 Ejemplo A B D C


Descargar ppt "Seminario de graficación"

Presentaciones similares


Anuncios Google