Alfredo Weitzenfeld Gráfica: Recortes 1

Documentos relacionados
EL MÉTODO DE DIFERENCIAS FINITAS POR GUILLERMO HERNÁNDEZ GARCÍA

Vectores VECTORES 1.- Magnitudes Escalares y Magnitudes Vectoriales. Las Magnitudes Escalares: Las Magnitudes Vectoriales:

Organización y resumen de datos cuantitativos

Cinemática del Brazo articulado PUMA

ACTIVIDADES INICIALES

Apéndice A: Metodología para la evaluación del modelo de pronóstico meteorológico

Relaciones entre variables

Capítulo V. Teoremas de Fermat, Euler y Wilson

ANEXO B SISTEMAS NUMÉRICOS

1. Lección 7 - Rentas - Valoración (Continuación)

Métodos específicos de generación de diversas distribuciones discretas

Tema 4: Variables aleatorias

CÁLCULO DE INCERTIDUMBRE EN MEDIDAS FÍSICAS: MEDIDA DE UNA MASA

Primer Parcial 2000: ( n ) 2. Introducción a la Optica (Agrimensura)

Simulación y Optimización de Procesos Químicos. Titulación: Ingeniería Química. 5º Curso Optimización.

Leyes de tensión y de corriente

TERMODINÁMICA DEL EQUILIBRIO CAPÍTULO V. EQUILIBRIO DE REACCIÓN QUÍMICA

Optimización no lineal

UNIVERSIDAD DE GUADALAJARA, CUCEI DEPARTAMENTO DE ELECTRÓNICA LABORATORIO DE ELECTRÓNICA II

Algoritmo para la ubicación de un nodo por su representación binaria

Números complejos. Actividades. Problemas propuestos. Matemáticas 1 Bachillerato? Solucionario del Libro

Tema 1: Análisis de datos unidimensionales

GUIAS DE ACTIVIDADES Y TRABAJO PRACTICO Nº 22

Pronósticos. Humberto R. Álvarez A., Ph. D.

REGRESION LINEAL SIMPLE

IES Menéndez Tolosa (La Línea) Física y Química - 1º Bach - Gráficas

TEMA 8: PRÉSTAMOS ÍNDICE

Reconocimiento de Locutor basado en Procesamiento de Voz. ProDiVoz Reconocimiento de Locutor 1

Consideremos un sólido rígido sometido a un sistema de fuerzas en equilibrío, es decir

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 17

Dicha tabla adopta la forma del diagrama de árbol del dibujo. En éste, a cada uno de los sucesos A y A c se les ha asociado los sucesos B y B c.

5ª Lección: Sistema de fuerzas gravitatorias. Cálculo de centros de gravedad de figuras planas: teoremas de Guldin.

Teoría de Modelos y Simulación Enrique Eduardo Tarifa Facultad de Ingeniería - Universidad Nacional de Jujuy. Generación de Números Aleatorios

Análisis de Weibull. StatFolio de Muestra: Weibull analysis.sgp

Tema 1.3_A La media y la desviación estándar

Media es la suma de todas las observaciones dividida por el tamaño de la muestra.

UNA FORMA GRÁFICA DE ENSEÑANZA: APLICACIÓN AL DUOPOLIO DE. Dpto. de Métodos Cuantitativos e Informáticos. Universidad Politécnica de Cartagena.

CAPÍTULO IV: MODELOS MATEMÁTICOS Y MODELOS EN RED

CESMA BUSINESS SCHOOL

TEMA 4. TRABAJO Y ENERGIA.

Grafos. Conceptos básicos

2.2 TASA INTERNA DE RETORNO (TIR). Flujo de Caja Netos en el Tiempo

Cálculo y EstadísTICa. Primer Semestre.

Matemáticas Discretas

NÚMEROS COMPLEJOS. y sabemos que no podemos calcular raíces de números negativos en R. Para resolver este problema introduciremos el valor i = 1

Además podemos considerar diferentes tipos de medidas de resumen. Entre ellas tenemos:

ESTADÍSTICA (GRUPO 12)

Modelos triangular y parabólico

Comparación entre distintos Criterios de decisión (VAN, TIR y PRI) Por: Pablo Lledó

Investigación y Técnicas de Mercado. Previsión de Ventas TÉCNICAS CUANTITATIVAS ELEMENTALES DE PREVISIÓN UNIVARIANTE. (IV): Ajustes de Tendencia

6.1 EN QUÉ CONSISTEN LOS NÚMEROS COMPLEJOS

Mecánica Clásica ( Partículas y Bipartículas )

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA ANTONIO JOSÉ DE SUCRE VICERRECTORADO BARQUISIMETO DEPARTAMENTO DE INGENIERÍA QUÍMICA. Ingeniería Química

1.- Objetivo Alcance Metodología...3

Medidas de centralización

OPERACIONES ARMONIZACION DE CRITERIOS EN CALCULO DE PRECIOS Y RENDIMIENTOS

Capitalización y descuento simple

1. GENERALIDADES DEL ÁLGEBRA GEOMÉTRICA. Definición del álgebra geométrica del espacio-tiempo

COLECCIÓN DE PROBLEMAS SOBRE BUSES

Equilibrio y elasticidad

ALN - SVD. Definición SVD. Definición SVD (Cont.) 29/05/2013. CeCal In. Co. Facultad de Ingeniería Universidad de la República.

Fugacidad. Mezcla de gases ideales

ALINEAMIENTO DE DOS SECUENCIAS (pairwise alignment)

B3 A2 B3 B2 C1 A2 B3 B2 C1 C2 B1 A2 B1 B2 A2 A2 B3 A2 B3 B2 A2 B3 B2 A2 B1 B2 B3 B4 C1 C2 B3 B2 C3

DEPARTAMENTO DE INDUSTRIA Y NEGOCIO UNIVERSIDAD DE ATACAMA COPIAPO - CHILE

SISTEMAS COMBINACIONALES

MÉTODOS PARA PROBAR NUMEROS

APLICACIÓN DEL ANALISIS INDUSTRIAL EN CARTERAS COLECTIVAS DE VALORES

CANTIDADES VECTORIALES: VECTORES

Problemas donde intervienen dos o más variables numéricas

III. <<Insertar Cita>> <<Autor>>

Pruebas Estadísticas de Números Pseudoaleatorios

INSTITUTO DE FÍSICA FACULTAD DE INGENIERÍA

Modelos unifactoriales de efectos aleatorizados

Hidrología superficial

Electricidad y calor

Histogramas: Es un diagrama de barras pero los datos son siempre cuantitativos agrupados en clases o intervalos.

LECTURA 07: MEDIDAS DE TENDENCIA CENTRAL (PARTE II) LA MEDIANA Y LA MODA TEMA 17: LA MEDIANA Y LA MODA

Electricidad y calor. Un repaso... Temas. 4. Primera ley de la Termodinámica. Webpage: Algunas definiciones

GANTT, PERT y CPM INDICE

TEMA 6 AMPLIFICADORES OPERACIONALES

La clasificación de métodos de registro propuesta por Maintz [1998] utiliza las siguientes categorías:

DELTA MASTER FORMACIÓN UNIVERSITARIA C/ Gral. Ampudia, 16 Teléf.: MADRID

Guía de Electrodinámica

Tipología de nudos y extremos de barra

Trabajo y Energía Cinética

MÉTODO DEL CENTRO DE GRAVEDAD

APENDICE A. El Robot autónomo móvil RAM-1.

Nuevo método de aproximaciones sucesivas para obtención de raíces de polinomios

TÉCNICAS AUXILIARES DE LABORATORIO

En un mercado hay dos consumidores con las siguientes funciones de utilidad:

PROBLEMAS DE ELECTRÓNICA ANALÓGICA (Diodos)

Medidas de Tendencia Central y de Variabilidad

TEMA 3. VARIABLE ALEATORIA

Aplicación de la termodinámica a las reacciones químicas Andrés Cedillo Departamento de Química Universidad Autónoma Metropolitana-Iztapalapa

CALCULO DE CENTROS DE MASA ! =

(p +Q 222 P +Q P +Q )

Ecuaciones diferenciales ordinarias

CARTAS DE CONTROL. Han sido difundidas exitosamente en varios países dentro de una amplia variedad de situaciones para el control del proceso.

12-16 de Noviembre de Francisco Javier Burgos Fernández

Transcripción:

Alfredo Wetzenfeld Gráfca: Recortes 1 3 Recortes (Clppng)... 1 3.1 Recorte de Puntos... 1 3.2 Recorte de íneas... 2 3.3 Recorte de Polígonos... 14 3.4 Recorte de Curvas... 17

Alfredo Wetzenfeld Gráfca: Recortes 1 3 Recortes (Clppng) Por lo general, cualquer procedmento que dentfca las partes de una magen que se encuentran ya sea adentro o afuera de una regón especfca del espaco se denomna algortmo de recorte o solo recorte. a regón contra la cual se recorta un objeto se llama ventana de recorte. as aplcacones de recorte ncluyen: la extraccón de parte de una escena defnda para verla; el desplegue de ventanas múltples; y operacones de pntura y dbujo que permten selecconar partes de una magen para coparlas, moverlas, suprmrlas o duplcarlas. Dependendo de la aplcacón, la ventana de recorte puede ser un polígono general o ncluso puede tener fronteras curvas. Se consderaran prncpalmente métodos de recorte que emplean regones rectangulares de recorte. En el caso de una magen, se desea desplegar aquellas partes de la magen que se localzan dentro del área de la ventana. Se elmna cualquer parte que se encuentre afuera de la ventana. Exsten varas metodologías para el recorte de una magen: Recorte analítco en coordenadas mundales: Se pueden aplcar los algortmos de recorte en coordenadas mundales, de modo que solo el contendo de la ventana se mapea a coordenadas de dspostvo. Recorte durante la conversón de línea de rastreo en coordenadas de dspostvo: Es posble mapear toda la magen en coordenadas mundales prmero a coordenadas de dspostvo, para recortarlas después contra las fronteras del puerto de vstas. a meta es hacer los recortes de la forma mas efcente posble, lo cual depende del tpo de magen a desplegarse. as rutnas de recorte de líneas y polígonos son componentes estándares de los paquetes gráfcos, y muchos paquetes manejan ncluso objetos curvos, los cuales aveces se pueden manejar con aproxmacones a segmentos de línea recta. 3.1 Recorte de Puntos S se supone que la ventana de recortes es un rectángulo en una poscón estándar, como se muestra a contnuacón y max y mn x mn x max se guarda un punto P = (x,y) para desplegarlo s se satsfacen las desgualdades sguentes: x mn x x max y mn y y max donde las arstas de la ventana de recorte (x mn, x max, y mn, y max ) pueden ser ya sea las fronteras de la ventana en coordenadas mundales o las fronteras del puerto de vsta. S no satsface cualquera de estas cuatro desgualdades, se recorta el punto (no se guarda para desplegue). Aunque es recorte de puntos se utlza con menor frecuenca que el recorte de líneas o de polígonos, algunas aplcacones pueden requerr un procedmento de recorte de puntos.

Alfredo Wetzenfeld Gráfca: Recortes 2 Por ejemplo, es posble aplcar el recorte de puntos en escenas que mplcan explosones o espumas de mar que se modelaron con partículas (puntos) que se dstrbuyen en alguna regón de la escena. 3.2 Recorte de íneas as líneas ntersectando una regón rectangular de recorte (o cualquer polígono convexo) sempre se recortan a una solo segmento de línea. as líneas que yacen sobre el borde del rectángulo se consderan adentro y se desplegan. a sguente fgura muestra ejemplos de líneas recortadas: P 9 P 4 P 2 0 P 8 P 6 P 3 P 5 P 7 (a) antes del recorte P 2 P 6 P 8 P 5 P 7 (b) recortadas 3.2.1 Recorte Analítco Se puede probar un segmento de línea dado para determnar s cae por completo dentro del ventana de recorte. S no es así, se determna s cae por completo fuera de la ventana. Por ultmo, s no se puede dentfcar una línea que se localce por completo adentro o afuera, se debe realzar cálculos de nterseccón con una o mas fronteras de recorte. Se procesa las líneas medante las pruebas nterna y externa al verfcar los extremos de la línea. Se guarda una línea que tene ambos extremos adentro de todas las fronteras de recorte, como la línea de a P 2. Una línea cuyos extremos se localzan afuera de cualquera de las regones de recorte, como la línea de P 3 a P 4, esta afuera de la ventana. Todas las otras líneas cruzan una o mas fronteras y pueden mplcar el calculo de múltples puntos de nterseccón. Con el fn de reducr los cálculos, se trata de establecer algortmos de recorte que dentfquen de manera efcente las líneas exterores y reduzcan los cálculos de nterseccón. Para un segmento de línea con los extremos (x 1, y 1 ) y (x 2, y 2 ) y uno o ambos extremos afuera del rectángulo de recorte, la representacón paramétrca, para 0 u 1, x = x 1 + u(x 2 -x 1 ) y = y 1 + u(y 2 -y 1 ) puede servr para determnar los valores del parámetro u para una nterseccón con las coordenadas de la frontera de recorte.

Alfredo Wetzenfeld Gráfca: Recortes 3 S el valor de u para una nterseccón con una arsta de frontera del rectángulo esta fuera del rango 0 a 1, la línea no se encuentra en el nteror de la ventana en esa frontera. S el valor de u esta en el rango de 0 a 1, de hecho, el segmento de línea cruza el área de recorte. Se puede aplcar este método en cada arsta de frontera de recorte a su vez, para determnar s se debe desplegar cualquer parte del segmento de línea. os segmentos de línea para lelos a la ventana se pueden manejar como casos especales. El recorte de segmentos de línea con estas pruebas paramétrcas requere una gran cantdad de cálculos y se pueden aplcar procedmentos mas rápdos para el recorte. 3.2.2 Recorte de íneas de Cohen-Sutherland Este es uno de los procedmentos de recorte de líneas mas antguo y común. Por lo general, el método acelera el procesamento de segmentos de línea al realzar pruebas ncales que reducen el numero de nterseccones que se deben calcular. A todos los extremos de línea de una magen se asgna un códgo bnaro de cuatro dígtos, que se conoce como códgo de regón, el cual dentfca la localzacón del punto con respecto de las fronteras del rectángulo de recorte. Como se muestra en la sguente fgura, las regones se determnan en relacón con las fronteras. 1001 1000 1010 0001 0000 0010 0101 0100 0110 Se utlza cada poscón de bt en el códgo de regón para ndcar una de las cuatro poscones de coordenadas relatvas del punto con respecto de la ventana de recorte: a la zquerda, a la derecha, arrba o abajo. Al numerar las poscones de bt en el códgo de regón como 1 a 4 de derecha a zquerda, se pueden correlaconar las regones de coordenadas con las poscones de bt como bt 1: zquerda bt 2: derecha bt 3: abajo bt 4: arrba Un valor de 1 en cualquer poscón de bt ndca que el punto esta en poscón relatva; de otro modo se establece como 0 la poscón de bt. S un punto esta adentro del recorte del rectángulo, tene un códgo de regón 0000. Un punto que se halla abajo y a la zquerda del rectángulo tene un códgo de 0101. Se determnan los valores de bt en el códgo de regón al comparar los valores de las coordenadas de los extremos (x,y) con las fronteras de recorte. Se especfca el bt 1 como 1 s x < wx mn, donde x es el extremo de la línea. Se pueden determnar los otros tres valores de bt al utlzar comparacones smlares. En el caso de los lenguajes que permten el manejo de bts, se pueden determnar los valores de bt del códgo de regón con los dos pasos sguentes: 1. Se calculan las dferencas entre las coordenadas de los extremos de la línea y las fronteras de recorte. 2. Se utlza el bt del sgno resultante de cada calculo de dferencas para establecer el valor correspondente en el códgo de regón. El bt 1 es el bt de sgno de x - wx mn. El bt 2 es el bt de sgno de wx max - x. El bt 3 es el bt de sgno de y - yw mn. El bt 4 es el bt de sgno de yw max - y.

Alfredo Wetzenfeld Gráfca: Recortes 4 Cuando se establecen los códgos de regón para todos los extremos de línea se puede determnar con rapdez que líneas se localzan por completo dentro de la ventana de recorte y que líneas se hallan fuera en su totaldad. Cualquer línea que se encuentre por completo dentro de las fronteras de la ventana tene un códgo de regón de 0000 para ambos extremos y se aceptan estas líneas en forma común. Cualquer línea que tenga un 1 en la msma poscón de bt en los códgos de bt para cada extremo se halla por completo afuera del rectángulo de recorte y se rechazan estas líneas en forma común. Se elmnaría la línea que tene un códgo de regón 1001 para un extremo y un códgo de 0101 para el otro. os dos extremos de esta línea están a la zquerda del rectángulo de recorte como lo ndca el 1 en la prmera poscón de bt de cada códgo de regón. Un método que se puede emplear para probar estas líneas para el recorte total consste en realzar la operacón lógca and con ambos códgos de regón. as líneas que no se pueden dentfcar como completamente adentro o completamente afuera de la ventana de recorte medante estas pruebas se verfcan para saber s ntersectan las fronteras de la ventana. Como se muestra en la sguente fgura, estas líneas pueden o no cruzar haca el nteror de la ventana. P 2 P 2 P 2 P 3 P 3 P 1 P 4 Se nca el proceso de recorte para una línea al comparar un extremo que se halla fuera con una frontera de recorte para determnar el porcentaje de la línea que se puede elmnar. Así se verfca la parte restante de la línea contra las demás fronteras y se contnua ya sea hasta que se elmne por completo la línea o hasta que se localce una seccón dentro de la ventana. Se establece el algortmo para verfcar los extremos de la línea contra las fronteras de recorte en el orden zquerda, derecha, abajo, arrba. Con objeto de lustrar los pasos específcos en el recorte de líneas contra fronteras rectangulares al utlzar el algortmo de Cohen-Sutherland, se demuestra como se podrían procesar las líneas de la fgura anteror. 1. Al ncar con el extremo de abajo de la línea de a P 2, se verfca contra las fronteras zquerda, derecha e nferor a su vez, y se encuentra el punto de nterseccón P 1 con la frontera nferor y se elmna la seccón de la línea de a P 1. Ahora, se ha reducdo la línea a la seccón de P 1 a P 2. 2. Puesto que P 2 esta fuera de la ventana de recorte, se verfca esta tabla contra las fronteras y se encuentra que se localza a la zquerda de la ventana. Se calculo el punto de nterseccón P 2, pero este punto esta arrba de la ventana. 3. De esta manera, el calculo fnal de la nterseccón da como resultado P 2 y se guarda la línea de P 1 a P 2. 4. Con esta operacón se concluyen el procesamento de esta línea, entonces se guarda esta línea y se contnua con la sguente. 5. El punto P 3 en la sguente línea esta a la zquerda del rectángulo de recorte, se determna la nterseccón P 3 y se elmna la seccón de la línea de P 3 a P 3. 6. Al verfcar los códgos de regón para la seccón de la línea de P 3 a P 4, se encuentra que el resto de la línea se halla abajo de la ventana de recorte y tambén se puede elmnar.

Alfredo Wetzenfeld Gráfca: Recortes 5 Se pueden calcular los puntos de nterseccón con una frontera de recorte al utlzar la forma de nterseccón de la pendente de la ecuacón de líneas. Para una línea con coordenadas de extremo (x 1, y 1 ) y (x 2, y 2 ), la coordenada de y del punto de nterseccón con una frontera vertcal se puede calcular como y = y 1 + m(x - x 1 ) donde se asgna el valor de x ya sea x mn o x max, y se calcula la pendente de la línea como m = (y 2 - y 1 ) / (x 2 - x 1 ). De modo smlar, s se busca la nterseccón con una frontera horzontal, se puede calcular la coordenada de x como x = x 1 + (y - y 1 ) / m ya sea con y como y mn o y max. 3.2.3 Recorte de íneas de ang-barsky El algortmo de Cohen-Sutherland es probablemente el algortmo de recorte de línea mas comúnmente utlzado ya que es el que mas tempo ha estado y ha sdo publcado extensvamente. En 1978, Cyrus y Beck publcaron un algortmo que toma un enfoque para recorte de línea fundamentalmente dferente y generalmente mas efcente. a técnca de Cyrus y Beck se puede utlzar para recortar una línea de 2D contra un rectángulo o un polígono convexo arbtraro en un plano, o una línea de 3D contra un poledro convexo arbtraro en 3D. En 1984, ang y Barsky desarrollaron de forma ndependente un algortmo para recorte de línea paramétrca mas efcente que es especalmente rápdo en el caso de regones de recorte horzontales y vertcales de 2D y 3D. Además de aprovechar estos bordes de recorte smples, ntrodujeron pruebas trvales de rechazo mas efcentes que trabajan para regones de recorte generales. Además de tomar provecho de estos bordes sencllos de recorte, ntrodujeron pruebas de rechazo trvales mas efcentes que trabajan para regones de recorte generales. Aquí se sgue el desarrollo orgnal de Cyrus-Beck para ntroducr el concepto de recorte paramétrco. Como estamos nteresados solo con rectángulos de recorte horzontales y vertcales, se reduce haca el fnal la formulacón de Cyrus-Beck a la mas efcente formulacón de ang-barsky. En el algortmo de Cohen-Sutherlan, para las líneas que no pueden aceptarse o rechazarse trvalmente, se calcula la nterseccón (x,y) de un segmento de línea con un arsta de recorte susttuyendo el valor conocdo de x o y del arsta de recorte vertcal u horzontal, respectvamente. El algortmo de línea paramétrca, sn embargo, encuentra el valor del parámetro u en la representacón paramétrca del segmento de línea para el punto donde el segmento ntersecta la línea nfnta del arsta de recorte. Como todas las arstas de recorte son, en general, ntersectadas por la línea, cuatro valores de u se calculan. Una sere de comparacones sencllas se usan para determnar cual (s alguno) de los cuatro valores de u corresponde a las nterseccones actuales. Solo entonces se calculan los valores (x,y) para una o dos nterseccones reales. En general, este enfoque ahorra tempo sobre el algortmo de calculo de nterseccón de Cohen-Sutherland ya que evta el cclo repettvo necesaro para recortar sobre múltples arstas. Tambén, cálculos en un espaco de parámetro de 1D son mas sencllos que aquellos en coordenadas de 3D. ang y Barsky mejoran sobre Cyrus-Beck al examnar cada valor de u según se genera, rechazando algunos segmentos de línea antes de haber calculado los cuatro valores de u. El algortmo de Cyrus-Beck se basa en la sguente formulacón de la nterseccón entre dos líneas. a sguente fgura muestra un arsta E de la regón de recorte y la normal N haca afuera de la arsta, al gual que una línea de a P 2 que debe recortarse a la arsta.

Alfredo Wetzenfeld Gráfca: Recortes 6 a arsta o el segmento de línea podrían ser extenddos para encontrar el punto de nterseccón. Fuera de la regón de recorte Dentro de la rectángulo de recorte Arsta E P E P -P E P 2 N. [P-PE ] < 0 N. [P-PE ] > 0 N. [P-PE ] = 0 N os segmentos de línea expresados de forma paramétrca como, para 0 u 1, o x = x 1 + u(x 2 -x 1 ) = x 1 + u x y = y 1 + u(y 2 -y 1 ) = y 1 + u y P = + u(p 2 - ) = + u P donde P = (x,y), = (x 1,y 1 ) y P 2 = (x 2,y 2 ). Se escoge un punto arbtraro P E sobre el arsta E y se consderan los tres vectores P - P E de P E a los tres puntos desgnados en la línea de a P 2 : el punto de nterseccón a ser determnado, un extremo de la línea en el plano nterno, y un extremo de la línea en el plano externo. Se puede dstngur en que regón esta un punto vendo el valor del producto de punto N [ P PE ]. Este valor es negatvo para un punto está en el plano nteror, ya que el ángulo entre los dos vectores está dentro del ntervalo de 90 a 180 grados ( a b cosθ ), sendo cosθ negatvo en tal ntervalo. cero para un punto en la línea contenendo el arsta ( a b cosθ ), ya que el ángulo entre los dos vectores sera 90 grados, y cos 90 = 0. postvo para un punto que esta en el medo plano exteror, ya que el ángulo entre los dos vectores está dentro del ntervalo de 0 a 90 grados ( a b cosθ ), sendo cosθ postvo en tal ntervalo. Ahora se puede resolver el valor de u en la nterseccón de P 2 con el arsta: [ E ] N P P = 0 Prmero se susttuye por P:

Alfredo Wetzenfeld Gráfca: Recortes 7 [ ( ) E ] N P + u P P P = 1 2 1 0 uego, se agrupan térmnos y se dstrbuye el producto punto: [ ] [ ] N P P + N u P P = 1 E 2 1 0 S D = (P 2 - ) es el vector de a P 2, y se resuelve para u: (100) N [ P1 PE ] u = N D Esto da un valor valdo para u solo s el denomnador de la expresón no es cero. Para que esto sea certo, el algortmo verfca que: N 0 (o sea, la normal no debe ser 0; esto solo puede ocurrr por un error) D 0 (o sea, P 2 ) N.D 0 (N.D = N D cosθ, donde cosθ = 0 para los ángulos de 90 y 270, o sea, N y la línea de a P 2 no son perpendculares, o, dcho de otro modo, el arsta E y la línea de a P 2 no son paralelas. S fueran paralelas, no habría una sola nterseccón para esta arsta, por lo cual el algortmo se mueve al sguente caso) (Para dos vectores partendo del orgen, V 1 y V 2, el producto punto de V 1.V 2 = x 1 x 2 + y 1 y 2 ) a ecuacón (100) puede utlzarse para encontrar las nterseccones de P 2 y cada arsta del rectángulo de recorte. 1. Se hace este calculo determnando la normal y un punto arbtraro P E - por ejemplo, un extremo del arsta - para cada arsta de recorte, y aplcando estos cálculos y valores para todas los segmentos de línea. 2. Dado los cuatro valores de u para un segmento de línea (uno por cada arsta), el sguente paso es determnar cual (s hay) de los valores corresponde a nterseccones nternas del segmento de línea con arstas del rectángulo de recorte. 3. Como un prmer paso, cualquer valor de u fuera del ntervalo [0 1]puede descartarse, ya que esta fuera de P 2. uego, se necesta determnar s la nterseccón yace en el borde de recorte. Podríamos smplemente tratar de clasfcar los valores restantes de u, dentro del ntervalo [0 1], escogendo los valores ntermedos de u para puntos de nterseccón, como se muestra en la sguente fgura para el caso de la línea 1. P 2 t=0 PS t=0 PE PE PE ínea2 ínea1 ínea3 t=1 PS t=1 P2 PS PS t=1 P 2 t=0 PE Pero como dstngumos este caso del caso de la línea 2, donde nnguna porcón del segmento de línea yace en el rectángulo de recorte y los valores ntermedos de u corresponden a puntos no sobre el borde de recorte? Tambén, cual de las cuatro nterseccones de la línea 3 son las que están en el borde de recorte?

Alfredo Wetzenfeld Gráfca: Recortes 8 as nterseccones en la fgura anteror se caracterzan como potencalmente entrando (PE) o potencalmente salendo (PS) el rectángulo de recorte, como sgue: S el movmento de a P 2 causa cruzar una arsta partcular para entrar al plano nterno del arsta, la nterseccón es PE; s causa salr del plano nterno, es PS. Con esta dstncón, dos puntos de nterseccón nterores de una línea ntersectando el rectángulo de recorte tenen etquetas opuestas. Formalmente, las nterseccones pueden clasfcarse como PE o PS en la base del ángulo entre de P 2 y N : S el ángulo es menor que 90, la nterseccón es PS; s es mayor que 90, es PE. N P 2 PS N PE a nformacón se contene en el sgno del producto de punto de N y P 2 : N.D < 0 PE (ángulos mayor a 90 ) o N.D > 0 PS (ángulos menor a 90 ) -N.D > 0 PE (ángulos mayor a 90 ) -N.D < 0 PS (ángulos menor a 90 ) N.D es smplemente el denomnador de la ecuacón (100), lo que sgnfca que, en el proceso de calcular u, la nterseccón puede categorzarse trvalmente. Con esta categorzacón, la línea 3 en la fgura sugere el ultmo paso en el proceso. 1. Se debe escoger un par (PE,PS) que defna la línea recortada. 2. a porcón de línea nfnta a través de P 2 que esta dentro de la regón recortada se lmta por la nterseccón de PE con el mayor valor de u (en el caso de que exstan varas PEs), el cual se llama u E, y la nterseccón de PS con el menor valor de u (en el caso de que exstan varas PSs) el cual se llama u S. El segmento de línea ntersectante se defne entonces por el rango (u E, u S ). 3. Pero como estamos nteresados en ntersectar P 2, no la línea nfnta, la defncón del rango debe ser modfcada para que u=0 sea un lmte nferor para u E y u=1 sea un lmte superor para u S. Que ocurre s u E > u S? Este es exactamente el caso para la línea 2, y se rechaza. Valores de u E y u S que corresponden a nterseccones actuales se usan para calcular las coordenadas correspondentes de x y y.

Alfredo Wetzenfeld Gráfca: Recortes 9 a sguente tabla muestra para cada arsta los valores de N, un punto canónco sobre la arsta, P E, el vector - P E y el parámetro u dado. (PE o PS se dan de acuerdo a que x 2 > x 1 y y 2 > y 1 ) Arsta de Recorte Normal N P E - P E N [ P PE ] u = N D 1 PE o PS zquerda: x = x mn (-1,0) (x mn, y) (x 1 - x mn, y 1 - y) - (x 1 - x mn ) / (x 2 - x 1 ) PE derecha: x = x max (1,0) (x max, y) (x 1 - x max, y 1 - y) (x 1 - x max ) / - (x 2 - x 1 ) PS abajo: y = y mn (0,-1) (x, y mn ) (x 1 - x, y 1 - y mn ) - (y 1 - y mn ) / (y 2 - y 1 ) PE arrba: y = y max (0,1) (x, y max ) (x 1 - x, y 1 - y max ) (y 1 - y max ) / - (y 2 - y 1 ) PS Como una de las coordenadas de cada normal es 0, no es necesaro obtener la coordenada correspondente en P E (denotada por una x o y ntermeda). N P P determnando s el extremo esta dentro o fuera de Se ve de la tabla que el numerador, el producto [ ] 1 E un arsta especfcado, se reduce a la dstanca horzontal o vertcal del punto al arsta. El producto punto del denomnador N.D, que determna s la nterseccón es potencalmente entrante o salente, se reduce a ± x o y ( x = x 2 - x 1, y = y 2 - y 1 ); s x es postva, la línea se mueve de zquerda a derecha y PE se ubca en el arsta zquerdo, y PS en el arsta derecho. (os casos alternos son análogos.) Fnalmente, el parámetro u, la razón entre el numerador y el denomnador, se reduce a la dstanca a una arsta dvdda por x o y, exactamente la constante de proporconaldad que se puede calcular drectamente de la formulacón de la línea paramétrca. Es mportante preservar los sgnos del numerador y denomnador en lugar de cancelar sgnos de menos, ya que el denomnador y numerador mantenen nformacón sobre la dreccón de las dstancas, sendo mportante para el algortmo. Por ejemplo, para una ventana de recorte dada por x mn = 10, x max = 20, y mn = 15, y max = 20 Consderamos el segmento de línea: = (0,12), P 2 = (30,22) os cuatro parámetros u se muestran en la sguente tabla: Arsta de Recorte Normal N N [ P1 PE ] u = N D zquerda: x mn = 10 (-1,0) - (x 1 - x mn ) / (x 2 - x 1 ) = - (0-10)/(30-0) = 1/3 (PE) derecha: x max = 20 (1,0) (x 1 - x max ) / - (x 2 - x 1 ) = (0-20)/ -(30-0) = 2/3 (PS) abajo: y mn = 15 (0,-1) - (y 1 - y mn ) / (y 2 - y 1 ) = - (12-15)/(22-12) = 3/10 (PE) arrba: y max = 20 (0,1) (y 1 - y max ) / - (y 2 - y 1 ) = (12-20)/-(22-12) = 8/10 (PS) Utlzando la ecuacón paramétrca para la línea dada por x = x 1 + u(x 2 -x 1 ) y = y 1 + u(y 2 -y 1 ) Se obtene las nterseccones para el mayor PE dado por u = 1/3 x E = 0 + (1/3)(30) = 10 y E = 12 +(1/3)(10) = 15 1/3

Alfredo Wetzenfeld Gráfca: Recortes 10 y para el menor PS dado por u = 2/3 x S = 0 + (2/3)(30) = 20 y S = 12 +(2/3)(10) = 18 2/3 as otras dos nterseccones dan, para u = 3/10 y para u = 8/10 x E = 0 + (3/10)(30) = 9 y E = 12 +(3/10)(10) = 15 x S = 0 + (8/10)(30) = 24 y S = 12 +(8/10)(10) = 20 a línea se muestra en la sguente fgura: t=1 P 2 = (30,22) y max =20 PS = (x S,y S ) PS= (x S,y S ) t=0 PE = (x E,y E ) PE= (x E,y E ) y mn =15 = (0,12) x mn =10 x max =20 El algortmo se puede resumr smplfcando las ecuacones como se muestra a contnuacón. as condcones de recorte de puntos se descrbe de forma paramétrca: x mn x 1 + u x x max y mn y 1 + u y y max Cada una de estas cuatro desgualdades se puede expresar como up k q k, k = 1, 2, 3, 4 donde los parámetros p y q se defnen como p 1 = - x q 1 = x 1 - wx mn p 2 = x q 2 = wx max - x 1 p 3 = - y q 3 = y 1 - wy mn p 4 = y q 4 = wy max - y 1 a correspondenca con el análss anteror es: q k = - P Ek y p k = P 2 -, y la relacón u = q k / p k corresponde al resultado obtendo anterormente para

Alfredo Wetzenfeld Gráfca: Recortes 11 [ 1 E ] N P P u = N D 3.2.4 Recorte de íneas de Ncholl-ee-Ncholl Al crear mas regones alrededor de la ventana de recorte, el algortmo de Ncholl-ee-Ncholl (NN) evta los recortes múltples de un segmento de línea ndvdual. Por ejemplo, en el método de Cohen-Sutherland las nterseccones múltples se pueden calcular a lo largo de la trayectora de una sola línea antes de calcular una nterseccón con el rectángulo de recorte o rechazar por completo la línea. Estos cálculos extras de nterseccón se elmnan en el algortmo de NN al realzar mas pruebas de regón antes de calcular las poscones de las nterseccones. Comparado con los algortmos de Cohen-Sutherland y de ang-barsky, el algortmo Ncholl-ee-Ncholl lleva a cabo menos comparacones y dvsones. a defcenca del algortmo NN es que solo puede aplcarse al recorte bdmensonal, en tanto que los métodos de Cohen-Sutherland y de ang-barsky se extenden fáclmente a escenas trdmensonales. Para una línea con extremos y P 2, prmero se determna la poscón del punto para las nueve regones posbles relatvas al rectángulo de recorte. Solo es necesaro consderar las regones que se muestran en la sguente fgura: en la ventana en regón de arsta en regón de esquna S se encuentra en cualquer otra de las ses regones, se le puede mover a una de las tres regones de la fgura anteror utlzando una transformacón de smetría. Por ejemplo, la regón que se halla drectamente arrba de la ventana de recorte se puede transformar en la regón a la zquerda de la ventana de recorte utlzando una reflexón con respecto de la línea y = -x, o se puede emplear una rotacón de 90 en sentdo del reloj. A contnuacón, determnamos la poscón de P 2 en relacón con. Para hacer esto, creamos algunas regones nuevas en el plano, dependendo de la ubcacón de. as fronteras de las nuevas regones son segmentos de línea medo nfntos que empezan en la poscón de y pasan a través de las esqunas de la ventana. S se halla adentro de la ventana de recorte y P 2 se encuentra afuera, establecemos las cuatro regones que se muestran en la sguente fgura: T R B Así, se realza la nterseccón con la frontera de ventana apropada, dependendo de cual de las cuatro regones (, T, R o B) contene P 2.

Alfredo Wetzenfeld Gráfca: Recortes 12 Desde luego, s tanto como P 2 se encuentran adentro del rectángulo de recorte, smplemente guardamos la línea completa. S se halla en la regón a la zquerda de la ventana, establecemos las cuatro regones,, T, R y B, que se muestran en la sguente fgura: T R B Estas cuatro regones determnan una frontera únca para el segmento de línea. Por ejemplo, s P 2 se encuentra en la regón, recortamos la línea en la frontera zquerda y guardamos el segmento de línea desde este punto de nterseccón hasta P 2. Pero s P 2 se halla en la regón T, guardamos el segmento de línea desde la frontera zquerda de la ventana hasta la frontera superor. S P 2 no esta en nnguna de estas cuatro regones,, T, R y B, se recorta la línea completa. Para el tercer caso, cuando se halla a la zquerda y arrba de la ventana de recorte, utlzamos las regones de recorte que se muestran en la sguente fgura: T T TR T TR R B TB B (a) (b) En este caso, tenemos las dos posbldades que se muestran, dependendo de la poscón de con respecto a la esquna superor zquerda de la ventana. S P 2 se encuentra en una de las regones T,, TR, TB, R o B, determna una arsta únca de recorte de ventana para los cálculos de las nterseccones. De otra manera, se rechaza la línea completa. Para determnar la regón en la cual se localza P 2, comparamos la nclnacón de la línea con las nclnacones de las fronteras de las regones de recorte. Por ejemplo, s se encuentra a la zquerda del rectángulo de recorte, como se muestra en la sguente fgura:

Alfredo Wetzenfeld Gráfca: Recortes 13 P T T P TR R B entonces P 2 esta en la regón T s o nclnacón P TR < nclnacón P 2 < nclnacón P T (y T - y 1 ) / (x R - x 1 ) < (y 2 - y 1 ) / (x 2 - x 1 ) < (y T - y 1 ) / (x - x 1 ) Y se recorta toda la línea s o (y 2 - y 1 ) / (x 2 - x 1 ) > (y T - y 1 ) / (x - x 1 ) (y T - y 1 ) (x 2 - x 1 ) < (x - x 1 ) (y 2 - y 1 ) a dferenca de coordenadas y los cálculos de producto que se utlzan en las pruebas de nclnacón se guardan y se utlzan tambén en los cálculos de las nterseccones. A partr de las ecuacones paramétrcas x = x 1 + u(x 2 - x 1 ) y = y 1 + u(y 2 - y 1 ) una poscón de nterseccón de x en la frontera zquerda de la ventana es x = x, con u = (x - x 1 ) / (x 2 - x 1 ), de modo que la poscón de la nterseccón de y es y = y 1 + (y 2 - y 1 ) (x - x 1 ) / (x 2 - x 1 ) Y una poscón de nterseccón en la frontera superor tene y = y T, con u = (y T - y 1 ) / (y 2 - y 1 ), de modo que la poscón de la nterseccón de x es x = x 1 + (x 2 - x 1 ) (y T - y 1 ) / (y 2 - y 1 ) 3.2.5 Recorte de íneas para ventanas de recorte no rectangulares os algortmos que se basan en ecuacones paramétrcas de línea, como el método de ang-barsky y el planteamento de Cyrus-Beck, se pueden extender con facldad a ventanas de polígonos convexos. Esto se logra medante la modfcacón del algortmo para nclur las ecuacones paramétrcas para las fronteras de la regón de recorte.

Alfredo Wetzenfeld Gráfca: Recortes 14 El desplegue prelmnar de los segmentos de línea se puede lograr medante el procesamento de líneas contra las extensones de las coordenadas del polígono de recorte. Para las regones cóncavas de recorte de polígono, aun se puede aplcar estos procedmentos paramétrcos de recorte s prmero se dvde el polígono cóncavo en un conjunto de polígonos convexos. as crcunferencas u otras regones de recorte con fronteras curvas tambén son posbles. os algortmos de recorte para estas áreas son mas lentos porque los cálculos de las nterseccones comprenden ecuacones curvas no lneales. En el prmer paso, las líneas se pueden recortar contra el rectángulo de la frontera (extensones de coordenadas) de la regón curva de recorte. as líneas que se pueden dentfcar como totalmente afuera del rectángulo de frontera se elmnan. Para dentfcar las líneas nternas, se puede calcular al dstanca de los extremos de la línea desde el centro de la crcunferenca. S el cuadrado de esta dstanca para ambos extremos de una línea es menor o gual al rado al cuadrado, podemos guardar la línea completa. Después se procesan las líneas restantes medante los cálculos de las nterseccones, que deben resolver ecuacones lneales de crcunferenca smultáneas. 3.3 Recorte de Polígonos Para recortar polígonos se necesta modfcar los procedmentos de recorte de líneas analzados anterormente. Una frontera de polígono procesada con un algortmo de recorte de líneas se puede desplegar como una sere de segmentos de línea sn conectar dependendo de la orentacón del polígono con respecto a la ventana de recorte, como se muestra en la sguente fgura: Antes del recorte Después del recorte o que en realdad deseamos desplegar es una área lmtada después del recorte, como se ve en la sguente fgura: Antes del recorte Después del recorte

Alfredo Wetzenfeld Gráfca: Recortes 15 Para el recorte de polígonos, requermos de un algortmo que genere una o mas áreas cerradas que después se converten por rastreo en el área de llenado apropada. a salda de un algortmo de recorte de polígonos debe ser una secuenca de vértces que defne las fronteras de los polígonos recortados. 3.3.1 Recorte de Polígonos de Sutherland-Hodgeman El algortmo de recorte de polígonos de Sutherland y Hodgeman (1974) utlza una estratega de dvde y conqusta: Resuelve una sere de problemas sencllos déntcos que, cuando se combnan, resuelven el problema total. El problema sencllo es recortar un polígono contra un solo arsta de recorte nfnto. Cuatro arstas de recorte, cada uno defnendo un borde del rectángulo de recorte, recortan sucesvamente un polígono contra un rectángulo de recorte. Polígono orgnal Recorte zquerdo Recorte derecho Recorte abajo Recorte arrba El algortmo acepta una sere de vértces de polígono v 1, v 2,..., v n. En 2D (el algortmo tambén se aplca a 3D), los vértces defnen los arstas del polígono de v a v +1, y de v n a v 1. Se procesan todos los vértces del polígono contra cada una de las fronteras nfntas del rectángulo de recorte. Empezando por el conjunto ncal de vértces del polígono, se recortaría el polígono contra la frontera zquerda, derecha, abajo, y arrba, del rectángulo para producr una nueva secuenca de vértces. En cada paso, cero, uno, o dos vértces se agregan a la lsta de salda de vértces que defne el polígono recortado. Hay cuatro casos posbles al procesar los vértces en secuenca, como se muestra a contnuacón: Dentro Fuera Dentro Fuera Polígono sendo recortado p: salda s Caso 1 Borde de recorte s : salda Caso 2 p Dentro Fuera p Dentro : prmera salda Fuera s s p: segunda salda Caso 3 (sn salda) : salda Caso 4

Alfredo Wetzenfeld Gráfca: Recortes 16 Consderemos el arsta de polígono del vértce s al vértce p, en la fgura anteror. Asumamos que ya se ha manejado el punto ncal s en la teracón preva. Conforme cada par de vértces del polígono se pasa a un algortmo de recorte de la frontera de la ventana, se realzan las sguentes pruebas: En el caso 1, cuando el arsta del polígono esta completamente dentro del borde de recorte, el vértce p se agrega a la lsta de vértces. En el caso 2, el punto de nterseccón se agrega como vértce ya que el arsta ntersecta el borde. En el caso 3, ambos vértces están fuera del borde, por lo cual no se agregan vértces a la lsta de salda. En el caso 4, el punto de nterseccón y el vértce p se agregan ambos a la lsta de salda. Una vez que se procesan todos los vértces para una frontera de ventana de recorte, la lsta de salda de vértces se recorta contra la frontera de ventana sguente. a sguente fgura lustra el algortmo: 2 3 2 1 1 3 4 6 5 4 5 Ventana Se encuentra que los vértces 1 y 2 se hallan afuera de la frontera. Al desplazarnos a lo largo del vértce 3, que se encuentra adentro, calculamos la nterseccón y guardamos tanto el punto de nterseccón como el vértce 3. Se determna que los vértces 4 y 5 se encuentran adentro y tambén se guardan. El vértce 6 se halla afuera, de modo que encontramos y guardamos el punto de nterseccón. Al utlzar los cnco punto que guardamos, repetremos el proceso para la sguente frontera de la ventana. Implementar el algortmo según se descrbó requere establecer el almacenamento para una lsta de salda de vértces conforme un polígono se recorta contra cada frontera de ventana. Podemos elmnar las lstas ntermedas de salda de vértces smplemente con recortar vértces ndvduales en cada paso y pasar los vértces recortados al algortmo de recorte de la frontera sguente. os polígonos convexos se recortan de manera correcta medante el algortmo de Sutherland-Hodgeman, pero los polígonos cóncavos se pueden desplegar con líneas ajenas, como se muestra en la sguente fgura: (a) (b)

Alfredo Wetzenfeld Gráfca: Recortes 17 Esto ocurre cuando el polígono recortado debe tener dos o mas seccones separadas. Pero debdo a que exste solo una lsta de saldas de vértces, el ultmo vértce en la lsta se une sempre al prmer vértce. Hay varas cosas que podríamos hacer para desplegar en forma correcta los polígonos cóncavos. Para uno, podríamos dvdr el polígono cóncavo en dos o mas polígonos convexos y procesar cada uno de estos por separado. Otra posbldad es modfcar el planteamento de Sutherland-Hodgeman para verfcar la lsta fnal de vértces para puntos de vértces múltples a lo largo de cualquer frontera de ventana de recorte y unr de manera correcta los pares de vértces. Por ultmo, podríamos utlzar un algortmo de recorte de polígonos mas general, como el algortmo de Weler- Atherton, el cual se descrbe a contnuacón. 3.3.2 Recorte de Polígonos de Weler-Atherton Aquí, los procedmentos de procesamento de vértces para las fronteras de ventana se modfcan de modo que los polígonos cóncavos se desplegan en forma correcta. Este procedmento de recorte se desarrollo como un método para dentfcar las superfces vsbles y, por tanto, se puede aplcar con regones arbtraras de recorte de polígonos. a dea básca en este algortmo es que en lugar de procesar sempre alrededor de las arstas del polígono como se procesan los vértces, en ocasones deseamos segur las fronteras de la ventana. a trayectora que segumos depende de la dreccón del procesamento del polígono y de s el par de vértces del polígono que se presenta en ese momento representa un par del exteror al nteror o un par del nteror al exteror. Para el procesamento de vértces de polígonos en sentdo del reloj, utlzamos las sguentes reglas: Para un par de vértces del exteror al nteror, sga la frontera del polígono. Para un par de vértces del nteror al exteror, sga la frontera de la ventana en la dreccón del reloj. En la sguente fgura se muestra la dreccón del procesamento en el algortmo de Weler-Atherton y el polígono recortado que resulta para un ventana de recorte rectangular: V 2 V 2 (alto) V 1 (resumen) V 3 V 3 V 4 V 4 V 5 (resumen) V 6 V 7 V 6 (a) (b) 3.4 Recorte de Curvas as áreas con fronteras curvas se pueden recortar con métodos smlares a aquellos anterores. Sn embargo, los procedmentos de recorte de curvas comprenden ecuacones no lneales y esto requere mas procesamento que para los objetos que tenen fronteras lneales. El rectángulo de entrelazado para una crcunferenca u otro objeto curvo se puede utlzar prmero para probar la superposcón con una ventana de recorte rectangular. S el rectángulo de entrelazado para el objeto esta por completo adentro de la ventana, guardamos el objeto.

Alfredo Wetzenfeld Gráfca: Recortes 18 S se determna que el rectángulo esta por completo fuera de la ventana, elmnamos el objeto. En cualquer caso, no es necesaro nngún otro calculo. Pero s la prueba del rectángulo de entrelazado fracasa, podemos buscar otros planteamentos que reducen los cálculos. Para un crcunferenca, podemos utlzar las extensones de las coordenadas de los cuadrantes ndvduales y después octantes para la prueba prelmnar antes de calcular las nterseccones de la ventana con la curva. Para una elpse, podemos probar las extensones de las coordenadas de los cuadrantes ndvduales. Se pueden aplcar procedmentos smlares cuando se recorta un objeto curvo contra una regón de recorte de polígono general. En el prmer paso, podemos recortar el rectángulo de entrelazado del objeto contra el rectángulo de entrelazado de la regón de recorte. S las dos regones se superponen, será necesaro resolver las ecuacones smultáneas de líneas y curvas para obtener los puntos de nterseccón del recorte.