Clipping ( recorte )

24
Tomado de: Tomado de: Prof. M Prof. M öller et al. Universidad Simon öller et al. Universidad Simon Fraser Fraser http http ://www.cs.sfu.ca/~torsten/Teaching ://www.cs.sfu.ca/~torsten/Teaching /Cmpt361 /Cmpt361 Capitulo 7 – Angel Edward Capitulo 7 – Angel Edward Capitulo 3 – Foley et al. Capitulo 3 – Foley et al. Clipping (recorte) Clipping (recorte)

description

Clipping ( recorte ). Tomado de: Prof. M öller et al. Universidad Simon Fraser http ://www.cs.sfu.ca/~torsten/Teaching/Cmpt361 Capitulo 7 – Angel Edward Capitulo 3 – Foley et al. Motivación. Disminuir o por lo menos evitar costo computacional elevado Iluminación - PowerPoint PPT Presentation

Transcript of Clipping ( recorte )

Page 1: Clipping ( recorte )

Tomado de:Tomado de:Prof. MProf. Möller et al. Universidad Simon Fraseröller et al. Universidad Simon Fraserhttphttp://www.cs.sfu.ca/~torsten/Teaching/Cmpt3://www.cs.sfu.ca/~torsten/Teaching/Cmpt36161

Capitulo 7 – Angel EdwardCapitulo 7 – Angel EdwardCapitulo 3 – Foley et al.Capitulo 3 – Foley et al.

Clipping (recorte)Clipping (recorte)

Page 2: Clipping ( recorte )

Motivación

Disminuir o por lo menos evitar costo computacional elevadoIluminación Determinación de visibilidad Rasterización (scan conversion)

Tambien es usado para:Suavisar límites de los objetosModelado de sólidosExtraer partes de una imagen (borrar,

mover o copiar)

Page 3: Clipping ( recorte )

Recorte (Clipping)

Recorte bidimensional: una ventanaRecorte tridimensional: recorte de volumenNo es complicado para los casos de líneas o

polígonosDificil en caso de curvas y letras

Se convierten a poligonos

Page 4: Clipping ( recorte )

Recorte de puntos

Definidas las fronteras del rectángulo de recorteXmin, Xmax, Ymin, YmaxXmin <= x <= XmaxYmin <= y <= Ymax

Page 5: Clipping ( recorte )

Recorte de líneas

AB se aceptan trivialmenteCD un punto extremo dentro otro fueraEF, GH e IJ Los puntos extremos caen fuera

Page 6: Clipping ( recorte )

Métodos de Recorte de Línea

Analítico (Ecuaciones simultáneas)Cohen-SutherlandLiang-Barsky

Page 7: Clipping ( recorte )

Analítico

Fuerza brutaIntersectar la línea con cada uno de los cuatro

bordes de recorte(Xmin, Xmax, Ymin, Ymax)

Chequear los puntos de intersección y verificar si caen dentro o fuera del área de recorte

Si u esta entre [0, 1] existe una intersecciónEste método es ineficiente

)( 010 ppupp

Page 8: Clipping ( recorte )

Cohen-Sutherland

Ejecuta el chequeo de los puntos extremosSi la línea no es rechazada o aceptada

trivialmente, se subdivideTrivialmente aceptada: ambos puntos

extremos caen en el área de recorteTrivialmente rechazada: ambos puntos

extremos caen fuera del plano medio de los bordes del área de recorte

Page 9: Clipping ( recorte )

Cohen-Sutherland

Caso 1: ambos puntos extremos caen dentro del área de recorteTrivialmente aceptada

Caso 2: ambos puntos extremos caen fuera de las líneas del área de recorte y en un mismo lado de una de las líneas del área de recorteTrivialmente rechazada

Page 10: Clipping ( recorte )

Cohen-Sutherland

Caso 3: uno de los puntos extremos cae dentro y otro fuera del área de recorteDebe haber al menos una intersección

Caso 4: ambos puntos extremos caen fuera de las del área de recortePueden estar dentro o fuera

Page 11: Clipping ( recorte )

Cohen-Sutherland

ABRLA := y > YmaxB := y < YminR := x > XmaxL := x < Xmin

Page 12: Clipping ( recorte )

Cohen-Sutherland

Si los dos extremos de una línea tienen código cero, la línea está totalmente dentro del rectángulo.

Si los puntos extremos están fuera del rectángulo de recorte, entonces, tendrán códigos con 1’s intercalados y al aplicar la operación lógica and debe ser cero, sino se rechaza trivialmente.

Page 13: Clipping ( recorte )

Cohen-Sutherland

D: 1001A: 0000A (AND) D :

0000E: 1010I: 0100E (AND) I: 0000

J

K

J: 0101K: 0110J (AND) K : 0100

Page 14: Clipping ( recorte )

Cohen-Sutherland en 3D

Se usan codigos de 6 bits

Page 15: Clipping ( recorte )

Liang-Barsky

Sea la forma paramétrica de un segmento de recta

Page 16: Clipping ( recorte )

Liang-Barsky

En (a): α4 > α3 > α2 > α1Intersecta el lado inferior, el derecho, el tope, el izquierdo (no se puede rechazar)

En (b): α4 > α2 > α3 > α1Intersecta el lado inferior, el tope, el derecho y el izquierdo (se rechaza)

Page 17: Clipping ( recorte )

Recorte de polígonos

Puede ser bastante complejoMultiples componentesconcavo con muchos bordes exterioresConvexo simple

Page 18: Clipping ( recorte )

Recorte de polígonos

Se deben probar cada arista contra cada borde del área de recorteSe pueden agregar nuevas aristasAristas existentes pueden ser eliminadas,

retenidas o divididasPueden resultar en uno o más polígonos

Page 19: Clipping ( recorte )

Sutherland-Hodgman

Se usa la estrategia de divide y conquistarás

Recortar el poligono contra una línea borde del área de recorte

Sucesivamente se va recortando el polígono contra cada línea borde del área de recorte

El algoritmo es más general y puede ser aplicado para recortar cualquier polígono contra cualquier área convexa de recorte

Page 20: Clipping ( recorte )

Sutherland-Hodgman

Entrada: una lista de vertices que definen las líneas de de las aristas del polígono

Salida: Despues de cada pasada por cada arista del poígono, retorna una lista de vertices definiendo un polígono parcialmente recortado

Page 21: Clipping ( recorte )

Sutherland-Hodgman

Page 22: Clipping ( recorte )

Sutherland-Hodgman

Examina sucesivos pares de vertices etiquetados como s y p (por ejemplo)

0, 1, o 2 vertices se suman a la salida de cada paso, de acuerdo a 4 casos

Page 23: Clipping ( recorte )

Sutherland-Hodgman

El algoritmo puede agregar vertices que luego pueden ser eliminados en la fase de post-procesamiento

Page 24: Clipping ( recorte )

Recorte de Caracteres

Se define una curva de orden alto (cubico): se recorta la curva

Se define como un bitmap: se van eliminando punto por punto o pixel por pixel

Más rápido: se dibuja el caracter completo o no