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