GEOMETRIA COMPUTACIONAL
SISTEMA COMPUTACIONAL PARA OBTENER LA ILUMINACIÓN Y VIGILANCIA ÓPTIMA DE CENTROS COMERCIALES MEDIANTE ALGORITMOS GEOMÉTRICOS RESUMEN: En el presente proyecto se intenta hacer una transferencia tecnológica de unos nuevos conceptos en el estudio de la iluminación, visualización y vigilancia. Gracias a los diferentes algoritmos que se implementan, basados todos ellos en La Geometría Computacional, se trata de dar solución a diversos escenarios en lo referente a la iluminación, visualización y vigilancia. Teniendo en cuenta la disposición de los focos, en sitios cerrados o con obstáculos que dificulten la propagación de la luz, se debe tener una manera matemática y procedural de poder calcular la calidad de la iluminación para su respectiva visibilidad y por consiguiente poder poner en puntos específicos las cámaras para su vigilancia. El planteamiento y objetivo inicial es, además de tener una herramienta de cálculo de la calidad de la iluminación, de la visualización y su vigilancia, cuya complejidad NP-duro. Por ello no permite el diseño de algoritmos que encuentran soluciones exactas u optimas en tiempo razonable, se propone una solución aproximada utilizando las siguientes técnicas: t-buena iluminación para el concepto de iluminación y visualización, y la galería de arte para el concepto de vigilancia.Con dicho planteamiento, se ha desarrollado una herramienta gráfica en lenguaje Java, donde se exponga un escenario donde sea capaz mediante algoritmos, calcular las propiedades de iluminación, las regiones visibles y de vigilancia.
GEOMETRIA COMPUTACIONAL ABSTRACT: In this project we seek to make technology transfer a few new concepts in the study of lighting, visualization and monitoring. Thanks to the different algorithms that are implemented, all based on computational geometry, it is a solution to various scenarios in terms of lighting, visualization and monitoring. Given the arrangement of bulbs, in enclosed or obstacles to the propagation of light, must be a mathematical way of calculating and procedural quality lighting to their respective visibility and therefore be able to take points specific cameras for surveillance. The initial objective approach and is, in addition to having a tool for calculating the quality of lighting, visualization and monitoring, the complexity of NP-hard. Why not allow the design of algorithms that are exact or optimal solutions in reasonable time, we propose an approximate solution using the following techniques: t-good illumination for the lighting concept and visualization, and art gallery to the concept of surveillance. With this approach, we have developed a graphical tool in Java, where exposed a scenario where you can algorithmically, calculate the properties of light, the visible and surveillance.
2
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL INDICE I. II. III. IV. V. VI.
VII.
3
INTRODUCCIÓN. ………………………………………..………………………..5 ANTECEDENTES. …………………………………….….……………………….6 REALIDAD PROBLEMÁTICA…………………………………….…………………….7 JUSTIFICACIÓN. .………………………………….……….…………………...9 OBJETIVOS. ……………………………….…………….……….............9 MARCO TEÓRICO ………………………………….…………….………………10 1. CONCEPTOS GENERALES DE ILUMINACIÓN. ………………………….……10 2. VISIBILIDAD DE ALCANCE LIMITADO. ………………………………….…..11 2.1. ILUMINACIÓN DE ALCANCE LIMITADO EN ESCALERAS …….….….11 2.1.1. ALCANCE MÍNIMO. …………………………………………………...12 2.1.2. LUCES VÉRTICE CON ALCANCE L …………………………………..12 2.2. ILUMINACIÓN DE ALCANCE LIMITADO EN PIRÁMIDES ……………..13 2.2.1. ALCANCE MÍNIMO. …………………………………………………...14 2.2.2. LUCES VÉRTICE CON ALCANCE L …………………………………15 3. T-BUENA ILUMINACIÓN. …………………………………………………...…...15 3.1. T−BUENA ILUMINACIÓN SIN OBSTÁCULOS …………………….........15 3.2. T−BUENA ILUMINACIÓN EN UN POLÍGONO ………………………….16 3.2.1. POLÍGONO CONVEXO ………………………………………………...16 3.2.2. POLÍGONO NO CONVEXO……………………………………………..16 3.3. 1−BUENA ILUMINACIÓN CON OBSTÁCULO CONVEXO………………18 4. ILUMINACIÓN MÚLTIPLE EN UN POLÍGONO……..………………………….20 4.1. DEFINICIONES Y PROPIEDADES …………………………………….…20 4.2. ALGORITMO INCREMENTAL …………………………………………….21 4.2.1. ALGORITMO DE INTERSECCIÓN…………………………………….21 5. VISIBILIDAD ………………………………..…………………….. ..23 5.1. GALERÍAS DE ARTE…………………………………….......…..…………...23 6. Procesamiento de Imágenes. …………………………………….......…..………….. 6.1 Adquisición de la Imagen…………………………………….......…..…………. 6.2 Pre procesamiento de la Imagen…………………………………….......…..…… 6.2.1 Pasos…………………………………….......………………….. 6.2.2 Obtencion del Borde…………………………………….......….. 7. METODOLOGÍA DE DESARROLLO DEL SOFTWARE: ……………………….. KENDALL & KENDAL………………………………………………………..28 7.1. IDENTIFICACION DE PROBLEMAS, OPORTUNIDADES Y OBJETIVOS 28 7.2. DETERMINACION DE LOS REQUERIMIENTOS DE INFORMACION.... 28 7.3. ANALISIS DE LAS NECESIDADES …………………………………….. 29 7.4. DISEÑO DEL SISTEMA RECOMENDADO ………………………………. 30 7.5. DESARROLLO Y DOCUMENTACION DEL SOFTWARE ………………. 31 7.6. PRUEBA Y MANTENIMIENTO DEL SISTEMA …………………………. 32 7.7. IMPLEMENTACION Y EVALUACION DEL SISTEMA ………………… 32 DESARROLLO…………………………………….......…..……………………………. 1. ANÁLISIS DE LA SOLUCIÓN…………………………………….......…..……… 2. DISEÑO DE LA SOLUCIÓN…………………………………….......…..………… INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL VIII. IX.
4
REFERENCIAS BIBLIOGRÁFICAS…………………………………….......…..…… ANEXOS…………………………………….......…..…… 1. CRONOGRAMA DE ACTIVIDADES. …………………………………….......
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL I.
INTRODUCCIÓN: La visibilidad es un fenómeno natural en la vida cotidiana. Las personas observan los objetos ubicados a su alrededor y luego deciden cómo moverse en ese entorno. Observar un objeto significa identificar sus partes visibles desde una posición establecida. Un objeto puede no ser completamente visible, algunas de sus partes pueden estar ocultas. Durante la observación se determinan las formas y el tamaño de las partes visibles de los objetos, las cuales pueden cambiar cuando el observador cambia de una posición a otra. Incluso, desde una posición se pueden observar varios objetos ubicados en diferentes lugares de modo tal que las partes visibles de estos objetos conforman un entorno para el observador. Este es un procedimiento natural para el observador humano y su sistema visual realiza esta tarea sin ningún esfuerzo. El problema de calcular las porciones visibles de un objeto desde una posición determinada se ha estudiado ampliamente en informática gráfica. En este ámbito, la construcción de un entorno puede involucrar la identificación de miles de objetos de diferentes formas y tamaños ubicados en distintas posiciones. Ésta sí es una tarea compleja desde el punto de vista computacional. Uno de los principales problemas que se había encontrado, en su afán por la investigación en los conceptos de iluminación y vigilancia para la resolución de problemas de ingeniería y la física, era que los resultados hasta ahora obtenidos no reflejaban totalmente circunstancias reales, y por tanto no eran normalmente aplicables. En el intento de buscar unas definiciones más próximas a la realidad en los campos de iluminación y vigilancia, se define el concepto de t-buena iluminación y el de galería de arte. La idea de la que parten los postulados de la t-buena iluminación son las de estudiar la iluminación y la calidad de la misma en puntos y áreas del espacio bidimensional, para poder así tener unos conceptos claros de las propiedades de iluminación. El otro problema en la geometría computacional es el concepto de la vigilancia de galerías de arte. En 1973, V. Klee propuso el problema original de la “Galería de Arte” a través del siguiente planteo: ¿Cuántos guardias son suficientes para vigilar completamente el interior de una galería de arte? Éste problemas abrieron un nuevo campo de investigación en el ámbito de la Geometría Computacional, donde se engloban todos los problemas que están relacionados con la iluminación y vigilancia de cualquier estructura o elemento geométrico. Estos problemas están presentes en multitud de campos, tales como la Robótica, Planificación de Trayectorias, Visión Artificial, Informática Gráfica, Diseño y Fabricación Asistidas por Computadora, entre otros. Sin embargo en ocasiones, los resultados obtenidos en Geometría Computacional no pueden ser utilizados de forma práctica en estos campos al no reflejar totalmente circunstancias reales.
5
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL II.
ANTECEDENTES: 1. MÉTODOS HEURÍSTICOS EN PROBLEMAS GEOMÉTRICOS VISIBILIDAD, ILUMINACIÓN Y VIGILANCIA. UNIVERSIDAD POLITÉCNICA DE MADRID - FACULTAD DE INFORMÁTICA TESIS DOCTORAL AUTOR: SANTIAGO CANALES CANO - LDO. EN CIENCIAS MATEMÁTICAS 2004. Resumen: En este trabajose presentan resultados combinatorios y algorítmicos utilizando dos definiciones de iluminación que añaden condiciones a los conceptos de vigilancia utilizados tradicionalmente: la primera de estas se denomina visibilidad de alcance limitado y añade una restricción a la distancia máxima de iluminación desde un determinado punto; la segunda que hemos denominado t−buena iluminación, se basa en que una estructura geométrica sólo está bien iluminada si todos los puntos que la iluminan están “bien distribuidos” alrededor de ella. Respecto a la visibilidad de alcance limitado presentamos resultados combinatorios para polígonos escalera y polígonos pirámide, mientras para la t−buena iluminación se presentan resultados algoritmos que permiten calcular las regiones iluminadas con esta definición, por luces situadas en diferentes posiciones respecto a un polígono P. Aporte: Cabe destacar que esta tesis muestra de manera ordenada y concisa los temas relacionados con la t-buena iluminación. Es a partir de esos temas que rescatamos los conceptos e ideas generales sobre la t-buena iluminación que utilizaremos en el presente proyecto. Además de los conceptos aportados de esta tesis, también aprovechamos los algoritmos y la gran variedad de soluciones que se dan a los diferentes tipos de problemas sobre iluminación. 2. T-Buena Iluminación en el Plano. UNIVERSIDAD PONTIFICIA COMILLAS - ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) - INGENIERO EN INFORMÁTICA AUTOR: RODRIGO ECHÁVARRI YEPES - MADRID, JUNIO DE 2007. Resumen:En el presente proyecto se intenta hacer una transferencia tecnológica de unos nuevos conceptos en el estudio de la iluminación. Se trata de dar solución a diversos escenarios en lo referente a la iluminación. Teniendo en cuenta la disposición de los focos, en sitios cerrados o con obstáculos que dificulten la propagación de la luz, se debe tener una manera matemática y procedural de poder calcular la calidad de la iluminación. También se trata de poder contrastar de una manera fidedigna los resultados obtenidos por los diferentes algoritmos de la t-buena iluminación (entendiendo “t” como una variable que mide la calidad de la iluminación en un punto) desarrollados conceptualmente con los resultados reales de la definición de la t-buena iluminación.
6
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL Aporte: En ese proyecto se presenta la definición practica y aplicable de la t-buena iluminación, es decir, nos ayudara a plasmar y aplicar de los conceptos de dicho tema de manera practica y eficaz, en nuestro proyecto. Con todo esto podemos afirmar que las aplicaciones que se muestran en ese proyecto se pueden hacer propias ya que sus ejemplos se orientan hacia temas como nuestro proyecto. 3. El Problema de la Galería del Arte. UNIVERSIDAD AUTÓNOMA DE QUERÉTARO ESTUDIANTE DE POSGRADO, FACULTAD DE INFORMÁTICA QUERÉTARO, MÉXICO GONZALO MENA MENDOZA Resumen:Se describe el problema de encontrar el número deguardias necesarios para vigilar un polígono simple. Sepresenta el problema original, los resultados actualessobre la familia de problemas relacionados, sus variantes,los problemas abiertos y sus posibles aplicaciones. Aporte: En nuestro proyecto también se aplica a problemas sobre triangulación, es por ello que este proyecto sobre el problema de la galería del arte es apropiado para la conceptualización y aplicación de temas referentes a este tipo de problema, ya que nos ayudara en gran manera en el tema de la vigilancia del centro comercial.
III.
REALIDAD PROBLEMÁTICA: Actualmente se ha acrecentado en gran medida el porcentaje de robos en los centros comerciales, por ejemplo, a continuación se muestran algunos índices alarmantes sobre los delitos en centros comerciales: El promedio de incidentes relacionados con hurtos en tiendas es de 550.000 por día, En los Estados Unidos, se roban mercaderías por mas de 25.000.000 de dólares diarios, El año pasado, los comerciantes de Estados Unidos perdieron un estimado de 37.400 millones de dólares (19,5 mil millones de libras) en mercaderías, lo cual representa el 1,6 por ciento del total de las ventas. Estas perdidas son habitualmente conocidas como “shrinkage”. Resulta muy difícil comparar las tendencias en los diferentes países del mundo porque las personas encargadas de recolectar y publicar la información utilizan distintos métodos y criterios. Pero este año, por primera vez, el Informe Barométrico de Hurtos en Tiendas Minoristas de Europa ha podido efectuar estas comparaciones. Los resultados obtenidos de estas investigaciones incluyen a 24 países y representan el 18 por ciento de los comercios minoristas de Europa. Del informe surge que el costo de estas perdidas por hurtos en los últimos doce meses en Europa ha sido de 32.867 millones de euros (22.000 millones de libras). Esta cifra combina el valor de los objetos robados con los costos de seguridad asociados.
7
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL El porcentaje de perdidas por hurtos en Europa es inferior al mismo porcentaje en los Estados Unidos de América, en un 1,24 por ciento y, el año pasado cayó aproximadamente un 0,01. El Reino Unido, por segundo año consecutivo registró la caída más grande, por debajo del 1,77 por ciento en 2002 a 1,33 por ciento en 2006, pero aun continúa por encima del promedio. Suiza, Irlanda y Suecia, por otro lado, registraron significativos aumentos en este tipo de delitos. Muchos gerentes de centros comerciales al observar estos índices alarmantes sobre robos y hurtos en tales, se han convencido que la vigilancia en sus locales debe ser máxima, es decir que no debe quedar ni un solo punto en todo el centro comercial sin ser observado ni correctamente iluminado. Estos son algunos de los temas que nos motivan a proyectarnos hacia una solución para este tipo de problemas, por ello hacemos un estudio para la solución mas optima que podamos realizar, pero no todos los centros comerciales constan de un solo patio el cual se deba vigilar, y esto nos lleva a otros problemas de la realidad. Hoy en día las salas de los nuevos museos, galerías, centros comerciales, etc.No tienen, en general, formas que regularicen sus plantas, lo que da lugar a interesantes problemas de iluminación. Si laplanta fuera un polígono convexo, una única fuente de iluminación bastaría parailuminar toda la sala, pero la irregularidad impide esta solución económica. Asíse plantea el problema de minimizar el nº de luces que son necesarias parailuminar la planta entera. Los problemas de iluminación han atraído la mirada de los matemáticos desdehace tiempo. Mencionemos aquí tres de ellos: Problema de la Galería de Arte. La cuestión fueplanteada por V. Klee en 1973 en estos términos: Determinar el mínimo númerode puntos de un polígono suficientes para ver a todos los restantes. Se puedeinterpretar también en términos de vigilancia de una sala poligonal: ¿Cuántosguardias (o cámaras de vigilancia que cubran 360º) son suficientes para vigilar elinterior de un polígono de n lados? Problema de Hadwiger,¿Cuántos reflectores se necesitan para iluminar el contorno exterior de una figuraplana, compacta, convexa y de borde liso? Boltyanski probó en 1960 que tresreflectores son siempre suficientes. Problema de Strauss, Pensemos en una sala de planta poligonal cuyas paredes son espejos. ¿Es ciertoque basta colocar una fuente luminosa en cualquier punto de la sala para iluminarla completamente?, ¿Habrá siempre un punto con esa propiedad? Recientemente Tokarsky [To] ha probado que la respuesta a la primera preguntaes negativa. Pero la segunda parte de la conjetura permanece abierta. Proponemos para ello utilizar métodos geométricos primero tenemos que realizar una buena iluminación, utilizaremos el método de t-Buena Iluminación, luego verificaremos que dicha iluminación sea la correcta, y por último se colocaran las cámaras de vigilancia utilizando la triangulación de polígonos y el coloreado de grafos.
8
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL IV.
JUSTIFICACIÓN:
Justificación Social: Este proyecto servirá de ayuda donde se requiera aplicar iluminación y vigilancia ya sea para cualquier centro comercial, empresas, etc. Y en la reducción de robos y hurtos que actualmente existen, en centros comerciales como el que se trata en este proyecto, muchas veces por falta una buena vigilancia.
Justificación Académica: Servirá de apoyo para posteriores proyectos similares que deseen desarrollar tanto en esta universidad como en otras instituciones, ya sean publicas o privadas, para estudiantes o para trabajadores.
Justificación Económica: El presente proyecto se justifica económicamente porque ayudará a reducir el gasto en la compra de productos de iluminación (focos) y colocación de cámaras de vigilancia, porque utilizaremos métodos (Algoritmos) eficientes que ubicaran de forma correcta y utilizando la menor cantidad de dichos elementos a comparación con otros métodos. Justificación Técnica: El presente proyecto se justifica técnicamente porque va a proporcionar una herramienta de apoyo a los especialistas aplicados en esta rama, constituyéndose en una importante ayuda para ellos y para el avance tecnológico.
V.
OBJETIVOS: 1. Objetivo General: Desarrollo de un Sistema computacional para obtener la iluminación y vigilancia optima de centros comerciales mediante algoritmos geométricos. 2. Objetivos Específicos:
Analizar y adquirir conocimientos del tema a investigar, revisar los planos, imágenes del local para extraer el polígono de la parte del techo.
Diseñar el software y los algoritmos, en base a los datos obtenidos sobre el tema, estructurarlo y formalizarlo de manera que pueda
ser usado
correctamente.
Implementar el software que nos permita realizar una adecuada iluminación y vigilancia del local.
Verificar y realizar pruebas al software
de tal manera que funcione
correctamente.
9
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL VI.
Marco Teórico: 1. Conceptos Generales de Iluminación: Uno de los campos más estudiados en la Geometría Computacional es el de la Visibilidad, es decir, el conjunto de problemas que están relacionados con los conceptos de iluminación y vigilancia en su concepción más general. Existe una gran variedad de problemas en este sentido respecto a la zona a iluminar: polígonos convexos, polígonos monótonos, polígonos generales, semiplanos etc., y también respecto a los objetos que iluminan: luces vértice, luces-punto, luces-lado, etc. La Visibilidad es una disciplina en la que se combinan la geometría, la informática y la combinatoria y cuyos resultados tienen aplicaciones en multitud de campos como la robótica, planificación de trayectorias, visión por ordenador, gráficos y arquitectura asistida por ordenador. Básicamente la idea de visibilidad mantiene el concepto clásico del mismo. Dado un conjunto D en se dice que dos puntos x, y pertenecientes a D son visibles en D cuando el segmento que une x e y está completamente contenido en D. El conjunto D se llamará convexo si cualquier par de puntos del mismo se ven. Un conjunto se dice estrellado si existe un punto que ve a todos los demás. El conjunto de puntos con tal propiedad es el núcleo del mismo. Por tanto un conjunto es estrellado si tiene núcleo no vacío. Se puede entender el concepto de visibilidad de puntos a conjuntos: si U y V son regiones contenidas en D, se dirá que U ve fuertemente a V si todo punto de V es visible desde todo punto de U; se dirá que U ve débilmente a V si todo punto de V es visible desde algún punto de U. El concepto de visibilidad clásico en el que aparece el segmento que une dos puntos puede generalizarse o variarse cambiando dicho segmento por otros conjuntos. Asimismo una variante importante del concepto de visibilidad es la visibilidad según cadenas de k eslabones, denominada Lk-visibilidad: dos puntos x e y son Lk-visibles en D si existe una poligonal de k lados contenida en D que conecta ambos puntos. Una parte importante dentro de la Visibilidad es la que se ha venido llamando Galerías de Arte y que se inicia en 1973 con un problema planteado por Víctor Klee: determinar el mínimo número de puntos de un polígono suficientes para ver a todos los demás. Considerando el polígono como planta de una galería de arte y los puntos buscados como guardias o focos, se tiene el nombre de esta importante rama de la Geometría Computacional. Chvátal obtiene la primera respuesta en 1975: [n/3] es el número de guardias a veces necesarios y siempre suficientes para iluminar un polígono P con n vértices. Este resultado se conoce como Teorema de Galerías de Arte y el primer tratado monográfico fue presentado por O’Rourke en 1987. Por tanto [n/3] luces son siempre suficientes para iluminar un polígono P de n vértices, pero en muchas ocasiones basta con menos. Así tiene sentido plantear el problema algorítmico siguiente: dado un polígono calcular el mínimo número de luces que lo vigilan. Este problema fue estudiado por Lee y Lin.
10
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2.
Visibilidad de Alcance Limitado: 2.1. Definiciones: Definiremos en primer lugar lo que se entiende por puntos visibles con alcance L y después daremos algunas definiciones particulares para polígonos escalera, que nos ayudaran en el desarrollo de este capítulo respecto a este tipo de polígonos. a) Definición Visibilidad de Alcance L: Dos puntos x e y se dicen visibles con alcance L en un polígono P, si el segmento xy está contenido completamente en P y la distancia d (x, y) ≤ L, (ver Figura 3). Una vez que conocemos el concepto de visibilidad limitada o de alcance limitado veamos las definiciones propias de los polígonos escalera.
Figura 3: Visibilidad de alcance L
b) Definición Polígono escalera: Se denomina polígono escalera a todo polígono ortogonal P, tal que existe un lado horizontal h, (respectivamente vertical v), cuya longitud es igual a la suma de las longitudes de los restantes lados horizontales, (respectivamente verticales). Designaremos con la notación P(V, a1, a2,...., am), al polígono escalera en el que V es la intersección de h y v y a1, a2,...., am son los restantes vértices convexos. Así si llamamos bi, i = 1, 2,...,m− 3 al vértice cóncavo cuya abscisa es la abscisa del vértice ai−1 y cuya ordenada es la del vértice ai+2, se tiene: a1a2 + mP−3 i=1 biai+2 = V am y mP−3 i=1 biai+1 + am−1am = V a1 (3.1.1)como se muestra en la Figura 4.
11
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL c) Definición Radio de una escalera: Dado un polígono escalera P (V, a1, a2,...., am) se llaman radios exteriores de P y se denotan por rk a los segmentos V ak∀ k = 1, 2,..., m. Se llama radio de P y se denota por r al máximo de los radios exteriores de P. r = max (rk) ∀k = 1, 2,..., m. (3.1.2) Para comprender bien la definición anterior podemos ver la Figura 4, donde se dibujan los radios exteriores de un polígono escalera. Pasemos a estudiar ahora la iluminación de alcance limitado en este tipo de polígonos, considerando que las luces se sitúan sobre los vértices, es decir considerando luces-vértice y no luces punto.
Figura 4: Polígono Escalera. 2.2. Iluminación de Alcance Limitado en Escaleras El problema combinatorio que planteamos en este capítulo respecto a los polígonos, escalera consiste básicamente en encontrar el número mínimo de luces-vértice necesarias para iluminar el polígono. Evidentemente, dado que estamos estudiando la visibilidad de alcance limitado, esta cota dependerá del alcance L de iluminación. Formalmente el problema se puede enunciar de la siguiente manera: Número de luces-vértice de alcance L que iluminan un polígono escaleraCombN-v-Es (P,L): ENTRADA: Un polígono P de n vértices y un alcance de iluminación L. PREGUNTA: ¿Cuál es el número mínimo k de luces-vértice de alcance L necesarias para iluminar el polígono P? Es evidente que si el alcance de iluminación L es suficientemente grande el polígono se podrá iluminar con una sola luz. Así si tomamos L ≥ r, donde r es el radio del polígono, 12
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL colocando una luz en el vértice V tendremos iluminado todo el polígono. Planteamos ahora otro problema distinto, permitiendo colocar una luz en cada vértice y preguntándonos por el mínimo alcance de iluminación, (Lmin), necesario para iluminar todo el polígono.
2.2.1. Alcance Mínimo: Dado un polígono P, se define Lmin como el valor más pequeño para el que colocando luces de alcance Lmin en todos los vértices del polígono P, éste quede totalmente iluminado. Por tanto,el intervalo de valores significativos para el alcance L resulta ser [Lmin, r]. El primer problemaque se plantea es el cálculo de Lmin. Damos respuesta a esta cuestión en la siguiente proposición. 2.2.2. Luces Vértice con alcance L: Todo polígono escalera P con n vértices, se puede iluminar con una sola luz de alcance r. ¿Qué ocurre si disminuimos una cantidad pequeña el alcance L? Esta cuestión la estudiaremos en el Lema 1. Lema 1: Los vértices V, a1 y am son necesarios en algunos casos para iluminar el polígono P con luces de alcance r/2. Lema 2: Si ε es suficientemente pequeño, n ≥ 8 y L = r − ε, entonces existe un polígono escalera P (V, a1, a2,...., am) de n vértices que necesita [n/4] + 2 luces de alcance L para ser iluminado. Lema 3: Si L = r/2, entonces existe un polígono escalera P (V, a1,..., am) de n vértices que necesita [n/4] +4 luces de alcance L para ser iluminado. Teorema 1: Para todo polígono escalera P con n vértices, el número de luces vértice de alcance L, a veces necesarias y siempre suficientes para iluminarlo son:
13
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2.3. Iluminación de Alcance Limitado en Pirámides: Un polígono pirámide puede considerarse una generalización de un polígono escalera. Por tanto, tiene sentido plantearse el mismo problema combinatorio estudiado para escaleras. Formalmente el problema que nos planteamos en esta sección es el siguiente: Número de luces-vértice de alcance L que iluminan un polígono pirámide CombN-vPi(P,L): ENTRADA: Un polígono P pirámide de n vértices y un alcance de iluminación L.. PREGUNTA: ¿Cuál es el número mínimo k de luces-vértice de alcance L necesarias para iluminar el polígono P? Para atacar este problema necesitamos también un conjunto de definiciones similares a las dadas para polígonos escalera, tales como el radio de una pirámide. Estas definiciones se exponen en la sección siguiente. a) Definición Polígono Pirámide: Se denomina polígono pirámide a todo polígono ortogonal tal que existe un lado horizontal cuya longitud es igual a la suma de las longitudes de losrestantes lados horizontales. Si a1,..., am son los vértices convexos de un polígono pirámideP, lo designaremos por P (a1, a2,...., am).
Figura 5: Un polígono y su grafo de visibilidad.
De forma análoga a como definíamos el concepto de radio en un polígono escalera, definiremos radio de una pirámide. Para ello utilizamos el concepto de grafo de visibilidad de un polígono pirámide. b) Definición Grafo de Visibilidad de una Pirámide: Dado un polígono pirámide P (a1, a2,...., am) se llama grafo de visibilidad de P y de denota por GVP (a1, a2,...., am) al grafo cuyas aristas unen los vértices visibles de P. Se llama radio de P y se denota r al máximo de la longitud de la aristas del grafo de visibilidad GVP (a1, a2,...., am).
14
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2.3.1. Alcance Mínimo: Dado un polígono escalera P, se define Lmin como el valor más pequeño para el que colocando luces de alcance Lmin en todos los vértices del polígono P, éste quede totalmente iluminado. Veremos más adelante que el intervalo de valores significativos para el alcance L resulta ser [Lmin, r]. También se verifica ahora que Lmin = 1 2r, como probamos a continuación. Proposición 2.3.1: Dado un polígono pirámide P(a1, a2,...., am) de radio r, se tiene que Lmin = (½) r.
2.3.2. Luces Vértice con Alcance L: Igual que se estudió en los polígonos escalera, analizamos a continuación el número de luces necesarias y suficientes para iluminar el polígono pirámide. En este caso nos restringimos a luces vértice con alcance L ≥ r. Proposición 2.3.2: Para todo polígono pirámide P con n vértices, el número de luces vértice de alcance L ≥ r, a veces necesarias y siempre suficientes para iluminarlo es [n/6]. Proposición 2.3.3: Todo polígono pirámide P de n vértices se puede iluminar con n luces de alcance r/2. Por otra parte, como todo polígono escalera se puede considerar un caso particular de polígono pirámide, tomando el ejemplo descrito en el Lema 3.2.3 es evidente que: Proposición 2.3.4:Si ε es suficientemente pequeño y L = r − ε, entonces existe un polígono pirámide P de n vértices que necesita [n/4] + 2 luces de alcance L para ser iluminado. 3. T-Buena Iluminación: Sea F = {f1, f2,..., fk} un conjunto de k luces o focos en el plano y O un conjunto de obstáculos. Un punto p está t−bien iluminado por L, 1 ≤ t ≤ k/2, si todo semiplano con borde en p contiene al menos t focos de L que lo iluminan. Como se puede observar en la Figura 6 el punto p está 1−bien iluminado por los focos f1, f2 y f3, ya que ninguno de los obstáculos evita que cualquier semiplano que pasa por p deje focos a ambos lados del mismo. Sin embargo, el punto q no está 1−bien iluminado ya que dibujando un semiplano con borde en q que deje a los focos f2 y f3 a un lado y f1 al otro, éste no iluminará a q. Según la definición anterior puede darse el caso que un foco fi pertenezca a la recta que genera los semiplanos. En este caso consideraremos que fi ilumina ambos semiplanos.
15
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 6: Un ejemplo de 1-buena iluminación El conjunto de puntos del plano t−bien iluminados por F en presencia de un conjunto de obstáculos O lo llamaremos región t−bien iluminada por F con respecto a O y lo denotaremos con Wt (F, O). Evidentemente la región t−bien iluminada puede ser no conexa. Por tanto hablaremos indistintamente de las regiones o la región t−bien iluminada por un conjunto F de focos. Ahora bien, ¿qué forma tienen las regiones t−bien iluminadas? En la siguiente proposición demostramos que estas regiones son siempre convexas, independientemente de la posición de los focos, si el conjunto de obstáculos O es vacío. 3.1. T-Buena Iluminación sin Obstáculos: Si no hay obstáculos, o los obstáculos no intersecan al cierre convexo de F, CH (F), la región t−bien iluminada coincide con el nivel de profundidad t del conjunto F, (también llamados niveles de profundidad de Tukey, (depthlevels); ver [98] para los artículos originales de Tukey). En la Figura 4.3 mostramos un ejemplo de esta región.
Figura 7: Zona 3−bien iluminada por focos en posición general.
16
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL Claverol en [1] demostró que se pueden calcular los niveles de profundidad en tiempo óptimo O (n2). Podemos aplicar este resultado para calcular las regiones t−bien iluminadas por F, cuando el conjunto de obstáculos O no intersecan a CH (F), en tiempo óptimo O (k^2).
3.2. T-Buena Iluminación en un Polígono: Consideremos un polígono P con un foco en cada uno de sus vértices {v1, v2,..., vn} y supongamos que queremos calcular la región de P t−bien iluminada por esos focos. Distinguiremos dos casos: que P sea un polígono convexo o que no lo sea. Veremos en el caso convexo que la región t−bien iluminada coincide con el (t − 1)-núcleo de P y por tanto se podrá calcular en tiempo Θ(n).
3.2.1. Polígono Convexo: Nos planteamos ahora la búsqueda de un algoritmo para el problema Bt−ICon (P), es decir, buscamos la región t−bien iluminada por un conjunto F de focos situados en los vértices de un polígono convexo P. En [1] se define el r-núcleo de un polígono convexo P de n vértices en los siguientes términos: Definición 3.3.1: Si P es un polígono convexo de vértices V = {v1,..., vn} y r ∈ Z, 0 ≤ r ≤ n, llamamos r-núcleo de P y lo designamos por Kerr (P) al conjunto
donde la intersección recorre todos los subconjuntos de r elementos de {1, ..., n} y CH(A) indica el cierre convexo de A. 3.2.2. Polígono No Convexo: Si el polígono P no es convexo y t = 2 debemos sustituir la diagonal vivi+2 por el camino geodésico que une vi con vi+2 en el interior de P. Los puntos de la región poligonal Hi determinada por el camino geodésico de vi a vi+2 y el vértice vi+1no están 2−bien iluminados, (ver Figura 8). Si z ∈ Hi, un semiplano cuyo borde pasa por z y no corta al camino geodésico de vi a vi+2 contiene menos de 2 focos, por lo que no está 2−bien iluminado.
17
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 8: Región Hi sin 2−buena iluminación.
Así, la región 2−bien iluminada está contenida en la intersección de las regiones P \Hi para i = 1, 2,..., n. Pero no coincide con ella según muestra el siguiente ejemplo: en el polígono de la Figura 4.6, tomando z un punto del triángulo Δ (axd), el semiplano determinado por la recta paralela a da que pasa por z solamente contiene al foco x, por lo que z no es un punto 2−bien iluminado. Un triángulo no bien iluminado aparece en cada lado del polígono incidente con el vértice cóncavo. Algoritmo de 2−buena iluminación en un polígono no convexo ENTRADA:Un polígono P con n vértices y un conjunto F = {f1,..., fn} de n focos situados en los vértices de P. SALIDA:La región 2−bien iluminada en el interior de P por F, W2 (F, P). 1. Construcción de las regiones Hi. Para cada vértice i trazamos las diagonales correspondientes al camino mínimo desde i al vértice i + 2. La región comprendida entre el camino y el vértice i +1 no está 2−bien iluminada, (ver Figura 4.6). 2. Construcción de triángulos asociados a lados cóncavos. Por cada arista ax incidente en el vértice cóncavo x se elimina una zona no 2−bien iluminada construida del siguiente modo, (ver Figura 4.6): Prolongando el lado ax hacia el interior del polígono cortará a un lado de P en un punto t. Girando los segmentos at con centro en a y xt con centro en x y en sentidos contrarios, encontramos los primeros vértices visibles en ambos casos, que llamaremos i y j respectivamente. Si calculamos ahora el punto de intersección d de las rectas xj y ai, podemos construir el triángulo Δ (adx) que según se justifico anteriormente es una región no bien 2−iluminada. En la figura se muestra también la otra región no bien 18
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2−iluminada que se obtiene con el otro lado incidente en el vértice cóncavo x. 3. Eliminación de las regiones no 2−bien iluminadas. Eliminar de P las regiones Hi construidas en el Paso 1 y los dos triángulos adyacentes a cada vértice cóncavo de P, construidos en el Paso 2.
3.3. T-Buena Iluminación con Obstáculo Convexo: Todo polígono convexo tiene buenas propiedades respecto a la iluminación o vigilancia. En este sentido podemos aprovechar dichas propiedades en el diseño de un algoritmo que calcule la zona 1−bien iluminada por k focos exteriores a él.
Figura 9: Pre proceso para un convexo
Figura 10: Buena 1−iluminación con un obstáculo convexo
19
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Algoritmo de 1−buena iluminación para un convexo. ENTRADA:Un polígono convexo C con n vértices y un conjunto F = {f1, ...,fn} de n focos
exteriores a él. SALIDA:La región 2−bien iluminada por F, W1(F,C). 1. Pre proceso. Determinar las cuñas que producen la prolongación de los lados del convexoy estudiar los focos que pertenecen a cada cuña. Este pre proceso se debe realizar tanto enlas cuñas hacia la derecha como las cuñas hacia la izquierda, (es decir, cuando recorremosC en sentido derecho e izquierdo). En la Figura 9presentamos un ejemplo de ordenaciónde focos alrededor del convexo en sentido derecho. Obsérvese que una vez realizada las dos ordenaciones, (en sentido derecho e izquierdo),quedan determinados los focos que vamos encontrando y abandonando al realizar unbarrido por una recta que contiene a cualquier lado de C y gira en sentido negativo alrededor de él. Los focos que aparecerán vienen dados por la ordenación de las cuñas derechasy los que desaparecerán por la ordenación de las cuñas izquierdas. 2. Cálculo: El algoritmo consta de dos partes. La primera de ellas consiste en el cálculo deuna zona poligonal A, que es la unión de los cierres convexos dinámicos de los subconjuntosde F linealmente separados de C. La segunda parte consiste en completar A con sectoresinternos de buena iluminación Si, que no aparecen en la unión de los cierres convexos. Así,la zona bien iluminada por los focos de F = {f1, f2,..., fk} será .Detalladamenteestos son los pasos de esta parte de cálculo. (a) Construcción del primer convexo: – Trazar una recta t que contiene a un lado cualquiera de C. – Construir el cierre convexo de todos los puntos exteriores a t. (b) Cálculo de A. Unión de los cierres convexos dinámicos –Girar en sentido negativo la recta t y construir de forma dinámica la unión delos cierres convexos que irán apareciendo en sentido negativo y desapareciendoen sentido izquierdo, (ver Figura 10). (c) Completar con sectores internos S^i: Para cada foco fi construir su recta soporte ri a C. Girar ri en sentido negativo alrededor de C hasta encontrar el primer foco queaparece, fj . Calcular lar recta soporte rj de fj a C. Hallar el sector Si y unirlo a la zona bien iluminada A.
20
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 4. Iluminación Múltiple en un Polígono: 4.1. Definiciones y Propiedades: Damos a continuación las definiciones básicas sobre visibilidad que nos ocuparán en el transcurso de este capítulo. Definición 4.1.1: Dado un conjunto D de
Figura 11: (a) Polígono de visibilidad (b) Polígono de visibilidad con mástil
La definición anterior de polígono de visibilidad puede producir regiones de visibilidad que no son polígonos simples, como se muestra en la Figura 5.1 (b). Estos polígonos los llamaremos polígonos de visibilidad con mástiles y se considerarán situaciones degeneradas. Ni esta situación ni aquella en la que dos focos estén alineados con un vértice de P se considerarán en este trabajo. En el lema siguiente se exponen algunas propiedades básicas de los polígonos de visibilidad. Lema 4: Si P es un polígono de n vértices, el polígono de visibilidad de un punto t, V (P, t), es un polígono estrellado con, a lo sumo, n vértices. Los lados de V (P, t) o bien están contenidos en los lados de P o son cuerdas que unen un vértice de P con un punto de otro lado de P.
21
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 4.2.
Algoritmo Incremental:
Presentamos a continuación un algoritmo incremental de complejidad O (kn). Este algoritmo es óptimo si se procesan los focos al vuelo (según van llegando). Analizamos en primer lugar el caso en que tenemos únicamente dos focos t1 y t2, generalizando a continuación a k focos. 4.2.1.1.
Algoritmo de Intersección:
Dado un polígono P y dos puntos interiores t1 y t2 a P, cuyos polígonos de visibilidad son V (P, t1) y V (P, t2), describimos un algoritmo para el cálculo de la polígona intersección, (que denotaremos con VI (P, t1, t2), distinguiendo dos casos: que t1 y t2 sean visibles o que no lo sean. Si son visibles, el cálculo de VI (P, t1, t2) se reducirá a calcular el polígono de visibilidad de t1 dentro de V (P, t2), (es decir, VI (P, t1, t2) = V (V (P, t2), t1)), o a calcular el polígono de visibilidad de t2 dentro de V (P, t1). Si los puntos t1 y t2 no son visibles podemos distinguir dos sub casos: el primero de ellos es que no exista un punto c que vea a ambos puntos t1 y t2, en cuyo caso VI (P, t1, t2) = ∅; por el contrario, si existe un punto c que vea a t1 y t2, VI (P, t1, t2) = V (V (P, t1), c) ∩ V (V (P, t2), c). Además el polígona solución será estrellado desde este punto c. A continuación describimos con detalle los pasos del algoritmo que se ilustra en la Figura 12, estudiando los casos posibles.
Algoritmo de intersección de dos polígonos de visibilidad. ENTRADA: Dos polígonos de visibilidad V (P, t1) y V (P, t2). SALIDA: El polígono intersección VI (P, t1, t2) = V (P, t1) ∩V (P, t2). 1. Caso A. t1 y t2 visibles. Calcular V (P, t1). VI (P, t1, t2) = V (V (P, t1), t2). 2. Caso B – t1 y t2 no son visibles. El segmento t1t2 corta a ∂P. Consideramos las cadenasde∂P que empiezan y terminan en dicho segmento, como se muestra en la Figura 5.2 yse calcula el cierre convexo H de la unión de dichas cadenas. Los pasos son: . Si t1 ó t2 están contenidos en H entonces VI (P, t1, t2) = øy fin. . En caso contrario, se trazan las semirrectas soporte de H desde t1 y t2 y se calculasu punto de intersección c1. Si c1 no existe, VI (P, t1, t2) = øy fin. . Si t1c1 o t2c1 6⊂P entonces VI (P, t1, t2) = øy fin. En otro caso VI (P, t1, t2) = V (V (P, t1), c1) ∩V (V (P, t2), c1).
22
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL Siguiendo la misma idea de este algoritmo para la intersección de dos polígonos de visibilidad, podemos diseñar el siguiente algoritmo para calcular la intersección de k polígonos de visibilidad. a) Intersección de k polígonos de visibilidad: Realizar la intersección de k polígonos de visibilidad, correspondientes a los focos t1,..., tk, se puede realizar de forma incremental utilizando como caso básico el algoritmo anterior. Describimos el paso k para la intersección de VI (P, t1,..., tk−1) con V (P, tk).
Algoritmo de intersección de k polígonos de visibilidad ENTRADA: El polígono VI(P, t1,..., tk−1) estrellado desde ck−1 y V (P, tk). SALIDA: El polígono intersección VI (P, t1,..., tk) = V (P, t1) ∩…∩V (P, tk). 1. Caso A - ck−1 y tk visibles. VI (P, t1,..., tk) = V (V (P, tk), ck−1)∩VI (P, t1,..., tk−1). 2. Caso B - ck−1 y tk no son visibles. El segmento ck−1tk corta a ∂P. Consideramos lascadenas de ∂P determinadas por dicho segmento, como se ha explicado en el algoritmoanterior, y se calcula el cierre convexo H de la unión sde dichas cadenas. 2.1. Si ck−1 ó tk están contenidos en H entonces VI (P, t1,..., tk) = ∅y fin. 2.2. En caso contrario, hallar la recta soporte desde tk a H y calcular, si existe, el punto deintersecciónck con VI (P, t1,..., tk−1) más cercano a tk. Si ck no existe VI (P, t1,..., tk) =∅y fin. 2.3. Si tkck 6⊂P entonces VI (P, t1,..., tk) = ∅y fin. En caso contrario VI(P, t1,..., tk) =V (VI (P, t1,..., tk−1), ck) ∩V (V (P, tk), ck).
b) Estudio de la Complejidad: La complejidad del algoritmo es O (kn) ya que es un proceso incremental en el que cada inserción se realiza en O(n). Efectivamente, en el Caso A se calcula un polígono de visibilidad y una intersección de dos polígonos estrellados desde un mismo punto. Ambas operaciones se calculan en O(n). En el Caso B el cálculo del cierre convexo H se realiza en tiempo lineal ya que las cadenas están ordenadas. El paso 2.1. se realiza en O(log n) y el 2.2. en O(n). Un argumento similar al del Caso A prueba que el apartado 2.3. se realiza en tiempo lineal.
23
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 5.
Visibilidad Para tener una noción de la definición de visibilidad, nosotros podemos decir que el punto x puede ver al punto y (o y es visible por x) dentro de un polígono P, si el segmento cerrado xy no corta en ningún punto los límites del polígono P. 5.1. Galerías de Arte Supongamos que usted tiene su propia galería de arte o museo con las pinturas más caras y cotizadas del mercado colgadas de las paredes de la misma y las esculturas más valoradas del mundo en su suelo. Usted estaría especialmente interesado en instalar un sistema de seguridad tal que estuviera compuesto por una colección de cámaras que se fijen en localizaciones establecidas pero que a su vez puedan rotar un giro de 360º, de forma que éstas puedan vigilar la galería en todas las direcciones. Se asume por simplicidad que nos movemos en un espacio dimensional, de forma que las cámaras se colocarán en un suelo plano de la galería. A la colección de localizaciones en una galería estrellada donde se pueda colocar una única cámara de forma que se pueda observar la galería completa, se le denomina núcleo de la galería. Asumiremos que contamos con una amplia y complicada galería de n paredes, cuyo valor n es bastante grande. Imaginémonos ahora que el plano de una galería de arte viene representado por un polígono y es preciso iluminar su interior colocando guardias en sus vértices.
Figura 12. Vigilando una galería de arte.
24
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL La cuestión trata de averiguar el número de guardias suficientes para iluminar completamente el polígono y dónde colocarlos. Evidentemente colocando un guardia en cada vértice del polígono el problema estaría resuelto, pero se trata de optimizar la iluminación. Para realizar esta optimización se puede enfocar de diferentes maneras. La primera trataría de dado un polígono, encontrar el menor número de reflectores que se necesitan para iluminar su interior y la colocación de estos dentro del polígono. Este es un problema sumamente complicado, de hecho está catalogado entre los problemas computacionalmente intratables (NP-duro). La segunda forma de enfocar el problema de optimización, consistiría en encontrar el número de reflectores que siempre son suficientes para vigilar todo el polígono de n lados. Este problema se ha venido llamando problema de la galería de arte y fue propuesto por V. Klee en 1973. Dos años más tarde V. Chvátal lo resolvió. A continuación enunciamos el teorema que recoge el resultado obtenido, si bien hemos preferido mostrar aquí la elegante demostración dada posteriormente por S. Fisk.
A) Teorema de la Galería de Arte N/3 guardias colocados en determinados vértices del polígono son siempre suficientes y ocasionalmente necesarios, para vigilar el interior de cualquier polígono simple de n lados. B) Demostración:Consideremos un polígono simple P de n vértices:
Figura 13. Polígono P Primer Paso. Triangulamos P, es decir, descomponemos P en triángulos cuya unión es P, con interiores disjuntos y cuyos vértices son vértices de P. Observamos que un guardia situado en cualquier vértice de un triángulo vigila completamente dicho triángulo. 25
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 14. Triangulación T.
Segundo Paso. La triangulación anterior es un grafo plano. El Teorema de los cuatro colores, probado en 1976 por Appel y Haken, asegura que todo grafo plano puede colorearse utilizando sólo cuatro colores. Pero podemos colorear los vértices de una triangulación T de un polígono utilizando sólo tres colores. (Una coloración de un grafo es una asignación de colores a los vértices del grafo de modo que dos vértices adyacentes reciben diferente color) En esta 3-coloración de T cada triángulo tiene un vértice de cada color.
Figura 15. 3-coloración de T Tercer Paso.
26
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL Cada triángulo de T tiene un vértice rojo. Si colocamos un guardia en cada vértice rojo, vigilarán todos los triángulos y, por tanto, todo el polígono. Lo mismo sucederá si colocamos guardias en todos los vértices negros o si los colocamos en todos los azules.
Figura 16. Asignación de guardias El polígono tiene n vértices y disponemos de 3 colores. Por tanto, alguno de los tres colores, rojo,negro o azul se utiliza en, a lo más, [n/3] vértices. (Esto es una aplicación inmediata del Principio del palomar o de Dirichlet: Si cada color se utilizara en más de [n/3] vértices, sumando los vértices de cada color tendríamos más de n vértices). Basta pues, colocar los guardias en los vértices con el color menos utilizado para garantizar que [n/3] guardias son siempre suficientes para vigilar cualquier polígono de n vértices. Cuarto Paso. Para comprobar que este número de guardias es a veces necesario, basta considerar el polígono “peineta” con n=3k vértices de la Figura 14. Es fácil observar que para vigilar este polígono se necesitan al menos k guardias, uno por cada púa de la peineta.
27
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 17. Polígono “peineta”
Para terminar esta demostración vamos a justificar las afirmaciones que hemos utilizado. Propiedad 1. Todopolígono se puede triangular. a) Demostración. Por inducción sobre n, nº de vértices del polígono. Si n=3, el polígono ya es un triángulo. Si n>=4, se traza una diagonal cualquiera que descompone el polígono P en otros dos con menor nº de vértices. Por hipótesis de inducción cada uno de estos polígonos admite una triangulación lo que proporciona una triangulación de todo P. Lema 5. Todo polígono de n vértices, n>=4 admite una diagonal interna. a) Demostración. En primer lugar observamos que todo polígono tiene algún vértice convexo (por ejemplo, el situado más a la izquierda). Llamemos A a dicho vértice y B y C a sus adyacentes. Si el segmento BC está contenido en el polígono P será la diagonal buscada. Si no es así, en el triángulo ABC habrá vértices de P. Tomamos el más alejado X de la recta BC. Así AX está contenido en P y es la diagonal buscada. Propiedad 2.Cualquier triangulación de un polígono es un grafo plano 3-coloreable. a) Demostración. Sea P un polígono y T(P) una triangulación de P. Demostraremos el resultado por inducción sobre n, número de vértices de polígono P. Si n=3, la triangulación coincide con P y la 3-coloración es obvia. Si n>3 se toma una diagonal uv que parte T(P) en dos polígonos triangulados T(P´) y T(P´´) cuyo nº de vértices es menor que n. Por inducción podemos
28
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL colorear las triangulaciones de P´y P´´ asignando en ambas el color 1 al vértice u y el color 2 a v. Así tenemos una 3-coloración de T(P). Este tipo de problema para los diferentes tipos de guardias (cámaras) y los diferentes tipos de polígonos (galerías) pertenece al área de estudio conocida como Teoremas y Algoritmos de las Galerías de Arte. 6. PROCESAMIENTO DE IMÁGENES. 6.1. Adquisición de la Imagen. Para la adquisición de imágenes se utilizan diversos dispositivos como cámaras fotográficas, cámaras de video, satélites, entre otros, dependiendo del tamaño, resolución de la imagen que necesitamos.
Figuras 18. Instrumentos de captura de de Imágenes Una imagen natural capturada con una cámara, un telescopio, un microscopio o cualquier otro tipo de instrumento óptico presenta una variación de sombras y tonos continua. Imágenes de este tipo se llaman imágenes analógicas. Para que una imagen analógica, en blanco y negro, en escala de grises o a color, pueda ser "manipulada" usando un ordenador, primero debe convertirse a un formato adecuado. Este formato es la imagen digital correspondiente.
Figura 19. Transformación de Imagen Analógica a Digital.
29
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL La transformación de una imagen analógica a otra discreta se llama digitalización y es el primer paso en cualquier aplicación de procesamiento de imágenes digitales. 6.2. Pre procesamiento de la Imagen 6.2.1. Casi todas las imágenes al momento de ser convertidas en Imágenes digitales, poseen una cierta distorsión, ruido para ello se utilizan métodos de eliminado de ruido, entonces tenemos que hacer un pre procesado de la imagen para dejarla lista solo para utilizar, en nuestro proyecto necesitaremos obtener los bordes de una imagen, entonces cualquier ruido puede modificar la estructura que deseamos. 6.2.2. Obtención de Bordes. Dada una imagen con la (p,q)-adyacencia (p-adyacencia para negro y qadyacencia para blanco). El borde de la imagen (en negro) es el conjunto de píxeles en negro que tienen, al menos un q-vecino en blanco. Análogamente, el borde de la imagen (en blanco), es el conjunto de píxeles en blanco que tienen, al menos, un p-vecino en negro, algunos tipos son: a) Borde ideal: forman un camino de un píxel de ancho, los que se produce, perpendicularmente, una un cambio en el nivel de gris. b) Borde “rampa”: forman un conjunto de píxeles conexos en los que se produce, en una determinada dirección, variación gradual en el nivel de gris. Un punto se dice que es del borde si su derivada primera es mayor que un cierto valor umbral. La idea que subyace en la mayor parte de las técnicas de detección de bordes es el cálculo de un operador local de derivación ya que un píxel pertenece a un borde si se produce un cambio brusco entre niveles de grises con sus vecinos. Incidiremos en las propiedades de los operadores de derivación que vimos para realce de la imagen, para con la detección de bordes y estudiaremos otros no vistos hasta ahora. Un problema a tener en cuenta es que en la búsqueda de los cambios bruscos para detectar los bordes, también se detectará, colateralmente, el ruido. En general, podemos decir que los pasos fundamentales en la detección de bordes son: Realizar un suavizado de la imagen para reducir el ruido; Detectar los posibles candidatos a ser puntos del borde; Seleccionar, de entre los candidatos, aquéllos que pertenecen realmente al borde. En general, no hay forma de conocer si los píxeles detectados como parte del borde son correctos o no (intuitivamente hablando). Es lo que se llama falso positivo (el detector devuelve un píxel cuando en realidad no pertenecía a ningún borde) y falso negativo (el detector no devuelve un píxel cuando en realidad pertenecía a un borde). Una manera posible de evaluar si un detector de bordes es bueno o no sería comparando el borde obtenido por el detector con el borde real de la imagen (para lo que, evidentemente, necesitamos conocerlo de antemano). Existen parámetros, como el denominado Figure of Merit, que miden la bondad de un detector de bordes en este sentido. Existen otras aproximaciones que se basan en la "coherencia local". En este
30
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL caso, no se compara con el borde real de la imagen, sino que se compara cada píxel detectado con sus vecinos. A) Detección de bordes en imágenes en escala de grises: Canny Es el detector de bordes más potente que existe actualmente. Los pasos principales del algoritmo son: 1. Se realiza una convolución con un filtro gaussiano. De esta forma la imagen se suaviza (eliminación de ruidos). 2. Se calcula el gradiente de la imagen suavizada, para determinar los píxeles donde se produce máxima variación (mayor módulo del vector gradiente). También se determina la dirección del vector gradiente. 3. La matriz M correspondiente al módulo del gradiente de la función gaussiana tendrá valores grandes donde la variación de la intensidad sea grande. Se eliminan (igualan a cero) aquellos píxeles que no son máximos locales en la dirección del gradiente (que es perpendicular al borde). 4. Se realiza un proceso de doble umbralización para determinar los píxeles del borde: se marcan los píxeles con valor por encima de un umbral T1; se marcan aquellos píxeles conectados a los primeros cuyo valor esté por encima de un segundo umbral T2 (T2
Figura 20. Detección de Bordes Aplicando Canny 7. METODOLOGÍA DE DESARROLLO DEL SOFTWARE: KENDALL & KENDALL Esta metodología consta de siete partes: 7.1. IDENTIFICACION DE PROBLEMAS, OPORTUNIDADES Y OBJETIVOS En la primera fase el analista es el encargado de identificar los problemas de la organización, detallarlos, examinar, evaluar las oportunidades y objetivos. El analista debe de identificar y evaluar los problemas existentes en la organización de manera crítica y precisa. Mayormente los problemas son detectados por alguien más y es cuando el analista es solicitado a fin de precisarlos. Las oportunidades son situaciones que el analista considera susceptibles de mejorar utilizando sistemas de información computarizados, lo cual le da mayor seguridad y eficacia a las organizaciones, además de obtener una ventaja competitiva. El analista debe de identificar los objetivos, esto es, debe de averiguar lo que la empresa trata de conseguir, se podrá determinar si algunas funciones de las aplicaciones de los sistemas de
31
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL información pueden contribuir a que el negocio alcance sus objetivos aplicándolas a problemas u oportunidades específicos. Los usuarios, los analistas y los administradores de sistemas que coordinan el proyecto son los involucrados en la primera fase. Las actividades de esta fase son las entrevistas a los encargados de coordinar a los usuarios, sintetizar el conocimiento obtenido, estimar el alcance del proyecto y documentar los resultados. El resultado de esta fase debe de estar en un informe de viabilidad que incluye la definición del problema y un resumen de los objetivos. La administración debe decidir si se sigue adelante o si se cancela el proyecto propuesto. En esta fase se debe de tomar en cuenta lo siguiente: -
Observación directa del entorno. Aplicación de la entrevista para recolectar información. Sintetizar la información recolectada para construir objetivos. Estimar el alcance del proyecto. Identificar si existe una necesidad, problema u oportunidad argumentada. Documentar resultados. Estudiar los riesgos del proyecto. Presentar un informe de viabilidad.
7.2. DETERMINACION DE LOS REQUERIMIENTOS DE INFORMACION En esta fase el analista se esfuerza por comprender la información que necesitan los usuarios para llevar a cabo sus actividades. Entre las herramientas que se utilizan para determinar los requerimientos de información de un negocio se encuentran métodos interactivos como las entrevistas, los muestreos o la investigación de datos impresos y la aplicación de cuestionarios: métodos que no interfieren con el usuario como la observación del comportamiento de los encargados de tomar las decisiones y sus entornos de oficina, al igual que métodos de amplios alcance como la elaboración de prototipos. Esta fase es útil para que el analista confirme la idea que tiene la organización y sus objetivos. Los implicados en esta fase son el analista y los usuarios, por lo general los trabajadores y gerentes del área de operaciones. El analista necesita conocer los detalles de las funciones del sistema actual: El quien (la gente involucrada), el qué (la actividad del negocio), el dónde (el entorno donde se desarrollan las actividades), el cuándo (el momento oportuno) y el cómo (la manera en que se realizan los procedimientos actuales) del negocio que estudia. Al término de esta fase, el analista debe de conocer el funcionamiento del negocio y poseer información muy completa acerca de la gente, los objetivos, los datos y los procedimientos implicados. En esta fase se debe de tomar en cuenta lo siguiente: 32
Revisión de los objetivos. INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Identificar el dominio. Investigar la razón por la cual se implementa el sistema actual. Recolectar información sobre los procedimientos y operaciones que se desempeñan actualmente. Detallar específicamente: Quienes son los involucrados, cual es la actividad, regla y restricciones del negocio, entorno de desarrollo de las actividades, momentos oportunos de desarrollo de cada función, la manera en que se desempeñan los procedimientos actuales. Elaborar una lista detallada y organizada de todos los procedimientos. Separar requerimientos funcionales y no funcionales. Adicionar al informe de la primera fase, esta nueva información.
7.3. ANALISIS DE LAS NECESIDADES En esta fase el analista evalúa las dos fases anteriores, usa herramientas y técnicas como el uso de diagramas de flujo de datos para graficar las entradas, los procesos y las salidas de las funciones del negocio en una forma grafica estructurada. A partir de los diagrama de flujo de datos se desarrolla un diccionario de datos que enlista todos los datos utilizados en el sistema así como sus respectivas especificaciones. El analista prepara en esta fase, una propuesta de sistemas que sintetiza sus hallazgos, proporciona un análisis de costo/beneficio de las alternativas y ofrece, en su caso, recomendaciones sobre lo que se debe de hacer. Se debe de tomar en cuenta lo siguiente: -
Evaluar las dos fases anteriores. Modelar las entradas, los procesos y las salidas de las funciones ya identificadas. Elaborar diccionario de datos y sus especificaciones. Elaborar diagramas de procesos de cada función. Elaborar propuesta del sistema con todos los diagramas de operaciones y de procesos. Realizar el análisis de riesgo sobre el realizado en las fases anteriores, tomando en cuenta el aspecto económico, técnico y operacional (estudio de factibilidad). Estimar en un diagrama de Gantt el tiempo que tomara desarrollar el sistema.
7.4. DISEÑO DEL SISTEMA RECOMENDADO En esta fase el analista utiliza la información recopilada en las primeras fases para realizar el diseño lógico del sistema de información. Diseña los procedimientos precisos para la captura de datos que aseguran que los datos que ingresen al sistema de información sean correctos. Se facilita la entrada eficiente de datos al sistema de información mediante técnicas adecuadas de diseño de formularios y pantallas. La concepción de la interfaz de usuario forma parte del diseño lógico del sistema de información.
33
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL La interfaz conecta al usuario con el sistema y por tanto es sumamente importante. También incluye el diseño de archivos o bases de datos que almacenaran gran parte de los datos indispensables para los encargados de tomar las decisiones en la organización. En esta fase el analista interactúa con los usuarios para diseñar la salida (en pantalla o impresa) que satisfaga las necesidades de información de estos últimos. Finalmente, el analista debe diseñar controles y procedimientos de respaldo que protejan al sistema y a los datos y producir paquetes de especificaciones de programa para los programadores. Cada paquete debe contener esquemas para la entrada y salida, especificaciones de archivos y detalles del procesamiento. En esta etapa se debe de tomar en cuenta: -
Evaluar las tres fases anteriores Realizar el diseño lógico de todo el sistema Elaborar procedimientos precisos para la captura de los datos que van a ingresar al sistema de información Elaborar el diseño de la base de datos Diseñar las diferentes interfaces de usuarios de cada operación, procedimiento y/o función. Diseñar controles y procedimientos de respaldos que protejan al sistema y a los datos. Producir los paquetes específicos de programas para los programadores Elaborar una lista de las funciones genéricas y de las que será obligatorio crear.
7.5. DESARROLLO Y DOCUMENTACION DEL SOFTWARE En la quinta fase del ciclo de desarrollo de sistemas, el analista trabaja de manera conjunta con los programadores para desarrollar cualquier software original necesario. Entre las técnicas estructuradas para diseñar y documentar software se encuentran los diagramas de estructuras, los diagramas de Nassi - Shneiderman y el pseudocódigo. Durante esta fase l analista trabaja con los usuarios para desarrollar documentación efectiva para el software, como manuales de procedimientos, ayuda en línea y sitios web que incluyan respuestas a preguntas frecuentes en archivos “leame” que se integraran al nuevo software. La documentación indica a los usuarios como utilizar el sistema y que hacer en caso de que surjan problemas derivados de este uso. Los programadores desempeñan un rol clave en esta fase porque diseñan, codifican y eliminan errores sintácticos de los programas de cómputo. En esta etapa debemos considerar: 34
Evaluar los procedimientos que va a ser desarrollados por el programador Mostrar y explicar cada procedimiento, función y operación al programador Elaborar manuales de procedimientos internos del sistema Elaborar manuales externos de ayuda a los usuarios del sistema Elaborar demostraciones para los usuarios y la interacción con distintas interfaces INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL -
Elaborar actualizaciones para los diferentes procedimientos Elaborar un informe con el tiempo que se llevo construir cada procedimiento.
7.6. PRUEBA Y MANTENIMIENTO DEL SISTEMA Antes de poner en funcionamiento el sistema es necesario probarlo: es mucho menos costoso encontrar los problemas antes que el sistema se entregue a los usuarios. Una parte de las pruebas la realizan los programadores solos, y la otra la llevan a cabo de manera conjunta con los analistas de sistemas. Primero se realizan las pruebas con datos de muestra para determinar con precisión cuales son los problemas y posteriormente se realiza otra con datos reales del sistema actual. El mantenimiento del sistema de información y su documentación empiezan en esta fase y se llevan de manera rutinaria durante toda su vida útil. En esta se etapa se debe de considerar: -
Realizar la programación de las pruebas del sistema. Realizar un instrumento para evaluar el sistema de información. El programador deberá elaborar un resumen de las pruebas del sistema. El analista deberá realizar un informe de sus pruebas y discutirlo con el programador. Elaborar la planificación de las horas de mantenimiento del sistema. Elaborar la lista de las operaciones que pudieran sufrir modificaciones de códigos.
7.7. IMPLEMENTACION Y EVALUACION DEL SISTEMA Esta es la ultima fase del desarrollo de sistemas, y aquí el analista participa en la implementación del sistema de información. En esta fase se capacita a los usuarios en el manejo del sistema. Parte de la capacitación la imparten los fabricantes, pero la supervisión de esta es responsabilidad del analista de sistemas. Se menciona la evaluación como la fase final del ciclo de vida del desarrollo de sistemas principalmente en áreas del debate. En realidad, la evaluación se lleva a cabo durante cada una de las fases. El trabajo de sistemas es cíclico, cuando un analista termina una fase del desarrollo de sistemas y pasa a la siguiente, el surgimiento de un problema podría obligar a regresar a la fase previa y modificar el trabajo realizado. En esta fase se debe de tomar en cuenta: -
35
Planificar gradualmente la conversión del sistema anterior Instalar los equipos de hardware necesarios para el funcionamiento del software creado. Capacitar por medio de talleres a los usuarios en el manejo de equipos y software creados. Evaluar la adaptabilidad de los usuarios al sistema.
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL VII.
DESARROLLO:
Empezaremos describiendo cada una de las Fases de la metodología de Kendall& Kendall, que se desarrollará a lo largo del ciclo de vida del software que tiene como objetivo principal nuestro proyecto.
7.1 FASE I: IDENTIFICACION DE PROBLEMAS, OPORTUNIDADES Y OBJETIVOS En esta fase intervienen los analistas, o sea nosotros y los responsables del área administrativa del centro comercial que se esté tratando. Las actividades que dieron inicio esta fase fueron las entrevistas a los responsables de el área administrativa., para esto utilizamos las técnicas e instrumentos de recolección de datos.
A) Recolección de datos: Las técnicas referentes a la forma en que se tuvo acceso a la información son: • La entrevista, permitió conocer según los responsables lo referente al cumplimiento de sus funciones y tareas relacionadas con su cargo, además que nos permitió recabar información más precisa. • Observación directa del entorno. B) Instrumentos: Referente al dispositivo o formato utilizado para registrar y/o almacenar la información que se obtuvo a través de la técnicas. •
Guía para las entrevistas, sinopsis de los tópicos relativos a los procedimientos, preguntas abiertas, para permitir que el entrevistado aportara respuestas amplias.
•
Uno de los recursos más utilizados fueron los planos del centro comercial.
•
Fotos e imágenes del local completo.
Con la información recogida, logramos sintetizarla para construir objetivos, estimar el alcance de nuestro proyecto y documentar los resultados.
36
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL Después de establecer los objetivos, logramos definir el nivel de nuestra investigación y el estudio de la factibilidad de nuestro proyecto.
C) El nivel de la investigación: Es descriptivo, el siguiente trabajo se sitúa en la modalidad de investigación descriptiva, sirve para analizar cómo es y cómo se manifiesta un fenómeno y sus componentes. Permiten detallar el fenómeno estudiado básicamente a través de la medición de uno o más de sus atributos. Estos estudios describen la frecuencia y las características más importantes de un problema.
D) Estudio de factibilidad: Puede establecerse como un proyecto factible, puesto que el resultado es una propuesta para el mejoramiento de los procedimientos de visualización, iluminación y vigilancia del local. La implantación de los correctivos recomendados escapa del alcance del trabajo. 7.2
ANALISIS DE LA SOLUCION Abarca la Fase II y III de la metodología de Kendall &Kendall. 7.2.1 FASE II: DETERMINACION DE REQUERIMIENTOS 7.2.1.1 REQUERIMIENTOS FUNCIONALES
El sistema deberá mostrar una lista de todos los puntos específicos del centro comercial.
El sistema deberá permitir interactuar con cada opción elegida, de modo que puedan elegirse distintos casos en el transcurso del mismo.
Cada opción que corresponda a una solución de la buena vigilancia e iluminación del local, debe ser resuelta utilizando los métodos tratados en el presente proyecto.
Simular el funcionamiento de los procesos y resultados obtenidos al aplicar los métodos utilizados.
Verificar su concordancia con las disposiciones ubicadas en el centro comercial y la solución dada.
37
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 7.2.1.2 REQUERIMIENTOS NO FUNCIONALES
Usabilidad: El sistema deberá tener una forma sencilla de uso.
Seguridad: El sistema deberá mostrar seguridad al trabajar con los datos e imágenes del centro comercial, así como con la solución al problema.
Estabilidad: El sistema deberá mostrarse estable y robusto frente a fallas.
Mantenibilidad: El sistema deberá permitir mantenimiento así como actualización cada periodo de tiempo.
Interfaz: Deberá tener una interfaz sencilla y manejable, con las opciones que el usuario requiera.
7.3 DISEÑO DE LA SOLUCION 7.3.1 FASE IV: DISEÑO DE SISTEMA En esta fase hemos utilizado la información recopilada de las primeras fases para realizar el diseño lógico del sistema de información. Se ha diseñado los procedimientos que nos permitirá simular desde la captura de datos, hasta la verificación de los procedimientos. La interfaz conecta al usuario con el sistema y por tanto es sumamente importante. En esta fase también hemos interactuado con los usuarios para diseñar la salida (en pantalla) que satisfaga las necesidades de información de estos últimos. Se modelaron las distintas áreas del centro comercial, así como los detalles internos del mismo.
38
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL a. Proceso del Sistema: Proceso que se realizara para cumplir con los objetivos planteados, primero debemos obtener las imágenes o planos del local, luego mediante el método de t-Buena Iluminación colocamos los focos, luego verificamos que local este bien iluminado o sea que debe haber una buna visibilidad, por ultimo colocamos las cámaras de vigilancia, todo este proceso entrara en la simulación
Inicio
1. Imagen o Plano del Local
2. Formar el Polígono a partir de la Imagen o plano
3. Ubicar Mediante el método de t-Buena Iluminación los focos No 4. Verificar que se haya realizado una buena Iluminación si
5. Colocar las cámaras de vigilancia, utilizando el método de triangulación y coloración de grafos
Fin
Figura 20. Proceso del Sistema 39
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 1. Obtención de la imagen.
Figura 21. Imagen de un Techo a Procesar
Figura 22. Plano de un local
40
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2. Formar el polígono del local mediante las imágenes obtenidas en el paso 1 Después de obtener la imagen real, tenemos que pasar a pre procesarla. Para esto primeramente binarizaremos la imagen siguiendo los pasos del siguiente algoritmo.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
function y = Binarizacion(imagen,umbral) im=imread(imagen); imD=double(im); [f,c]=size(imD); for i=1:f for j=1:c if imD(i,j)<=umbral nuevaI(i,j) = 0; else nuevaI(i,j) = 255; end end end imB = uint8(nuevaI); imshow(imB); y = nuevaI;
Luego de haber binarizado la imagen procederemos a filtrarla. Mediante la aplicación de alguna función de detección de bordes, como el Método de Canny, ya que es utilizado en procesamiento de imágenes, especialmente en algoritmos de detección de bordes. Lograremos tener lista la imagen para procesar y aplicar los métodos estudiados en el presente proyecto.
41
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 23. Forma de polígono del local(parte del techo Bordes)
Luego de haber pre-procesado la imagen, vamos a proceder a darle una buena iluminación y buena vigilancia mediante los métodos mencionados anteriormente. Los métodos a utilizar serán aplicados en el siguiente orden:
42
T-buena iluminación. Verificar que todo el local este bien iluminado. Colocar las cámaras de vigilancia.
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 3. Colocar los focos mediante el método de t-Buena Iluminación Siguiendo el orden de los métodos. A continuación mencionaremos los algoritmos que se utilizaran en este método.
Algoritmo para la t-buena para un polígono convexo
Algoritmo de 1−buena iluminación para un convexo ENTRADA: Un polígono convexo C con n vértices y un conjunto F = {f1,..., fn} de n focos
exteriores a él. SALIDA: La región 2−bien iluminada por F, W1 (F, C). 1. Pre proceso. Determinar las cuñas que producen la prolongación de los lados del convexo y estudiar los focos que pertenecen a cada cuña. Este pre proceso se debe realizar tanto en las cuñas hacia la derecha como las cuñas hacia la izquierda, (es decir, cuando recorremos C en sentido derecho e izquierdo). En la Figura 9presentamos un ejemplo de ordenación de focos alrededor del convexo en sentido derecho.
2. Cálculo: El algoritmo consta de dos partes. La primera de ellas consiste en el cálculo de una zona poligonal A, que es la unión de los cierres convexos dinámicos de los subconjuntos de F linealmente separados de C. La segunda parte consiste en completar A con sectores internos de buena iluminación Si, que no aparecen en la unión de los cierres convexos. Así, la zona bien iluminada por los focos de F = {f1, f2,..., fk} será .Detalladamente estos son los pasos de esta parte de cálculo. (a) Construcción del primer convexo: – Trazar una recta t que contiene a un lado cualquiera de C. – Construir el cierre convexo de todos los puntos exteriores a t. (b) Cálculo de A. Unión de los cierres convexos dinámicos –Girar en sentido negativo la recta t y construir de forma dinámica la unión delos cierres convexos que irán apareciendo en sentido negativo y desapareciendo en sentido izquierdo, (ver Figura 10). (c) Completar con sectores internos S^i: Para cada foco fi construir su recta soporte ri a C. Girar ri en sentido negativo alrededor de C hasta encontrar el primer foco que aparece, fj . Calcular la recta soporte rj de fj a C. Hallar el sector Si y unirlo a la zona bien iluminada A.
43
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Algoritmo de t-buena para un polígono No Convexo
Algoritmo de 2−buena iluminación en un polígono no convexo ENTRADA: Un polígono P con n vértices y un conjunto F = {f1,..., fn} de n focos situados en los vértices de P. SALIDA: La región 2−bien iluminada en el interior de P por F, W2 (F,P). 1. Construcción de las regiones Hi. Para cada vértice i trazamos las diagonales correspondientes al camino mínimo desde i al vértice i + 2. La región comprendida entre el camino y el vértice i +1 no está 2−bien iluminada, (ver Figura 4.6). 2. Construcción de triángulos asociados a lados cóncavos. Por cada arista ax incidente en el vértice cóncavo x se elimina una zona no 2−bien iluminada construida del siguiente modo, (ver Figura 4.6): Prolongando el lado ax hacia el interior del polígono cortará a un lado de P en un punto t. Girando los segmentos at con centro en a y xt con centro en x y en sentidos contrarios, encontramos los primeros vértices visibles en ambos casos, que llamaremos i y j respectivamente. Si calculamos ahora el punto de intersección d de las rectas xj y ai, podemos construir el triángulo Δ (adx) que según se justificó anteriormente es una región no bien 2−iluminada. En la figura se muestra también la otra región no bien 2−iluminada que se obtiene con el otro lado incidente en el vértice cóncavo x. 3. Eliminación de las regiones no 2−bien iluminadas. Eliminar de P las regiones Hi construidas en el Paso 1 y los dos triángulos adyacentes a cada vértice cóncavo de P, construidos en el Paso 2.
Gracias a los algoritmos utilizados para la buena iluminación se obtiene imágenes como la siguiente.
Figura 24. Iluminación del Local 44
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 4.
Verificar que todo el local este bien iluminado o Algoritmo de doble barrido para la verificación de la buena iluminación obtenida
Algoritmo I: Región de visibilidad de un punto por doble barrido ENTRADA: Un polígono P de n vértices y una luz-punto q en su interior. SALIDA: El polígono de visibilidad V (P, q). Básicamente recorremos el polígono P eliminando todos los puntos de giro hacia afuera. • Dado v un punto de giro hacia afuera puede ocurrir que exista un punto a (v) tal que se dan las siguientes circunstancias: 1. a (v) está en la intersección del borde de P con la recta que une a q con v. 2. v está entre a (v) y q 3. No existe ningún punto del borde de P entre v y a (v). • Si recortamos P trazando cuerdas entre v y a (v) para todo punto de giro hacia afuera v para el cual existe a (v) conseguimos un polígono P0 sin puntos de giro hacia afuera. La determinación de los puntos v y a (v) se puede realizar en tiempo lineal haciendo un recorrido de los vértices vi de P en el que en cada paso se calcule el ángulo ∠vi−1qvi (por ello el nombre de barrido) mientras se mantienen unas estructuras con los candidatos a a (vi). Ahora basta con cambiarle la orientación a P0 y aplicarle el barrido anterior para conseguir un polígono sin giros, ni hacia afuera ni hacia adentro, que es el polígono de visibilidad V (P, q).
Figura 25. Verificar que todo este bien Iluminado
45
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 5. Colocar las cámaras de vigilancia
Prosiguiendo con el orden los métodos, se mencionará el ultimo a utilizar.
A continuación se mencionaran los algoritmos que se detallan en el siguiente esquema:
Y ahora pasemos a la explicación.
Primer paso. (Triangulación) Triangulamos P, es decir, descomponemos P en triángulos cuya unión es P, con interiores disjuntos y cuyos vértices son vértices de P. Observamos que un guardia situado en cualquier vértice de un triángulo vigila completamente dicho triángulo.
Segundo paso. (Coloración) La triangulación anterior es un grafo plano. El Teorema de los cuatro colores, probado en 1976 por Appel y Haken, asegura que todo grafo plano puede colorearse utilizando sólo cuatro colores. Pero podemos colorear los vértices de una triangulación T de un polígono utilizando tan sólo tres colores. (Una coloración de un grafo es una asignación de colores a los vértices del grafo de modo que dos vértices adyacentes reciben diferente color) En esta 3-coloración de T cada triángulo tiene un vértice de cada color.
Tercer paso. (Colocación de guardias) Cada triángulo de T tiene un vértice rojo. Si colocamos un guardia en cada vértice rojo, vigilarán todos los triángulos y, por tanto, todo el polígono. Lo mismo sucederá si colocamos guardias en todos los vértices negros o si los colocamos en todos los vértices azules. El polígono tiene n vértices y disponemos de 3 colores. Por tanto, alguno de los tres colores, rojo, negro o azul se utiliza en, a lo más, [n/3] vértices. (Esto es una aplicación inmediata del Principio del palomar o de Dirichlet: Si cada color se utilizara értices, sumando los vértices de cada color tendríamos más de n vértices). Basta pues, colocar los guardias en los vértices con el color menos utilizado para garantizar que [n/3] guardias son siempre suficientes para vigilar cualquier polígono de n vértices.
Cuarto paso (Necesidad de los [n/3] guardias) Para comprobar que este número de guardias es a veces necesario, basta considerar el polígono "peineta" con n=3k vértices de la Figura 4. Es fácil observar que para vigilar este polígono se necesitan al menos k guardias, uno por cada púa de la peineta.
46
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Triangular (P) 1. 2. 3. 4.
Mientras que P tenga más de 3 lados Buscar vértice oreja Pi Añadir arista (Pi-1, Pi+1) a la triangulación Eliminar Pi de P // Cortar oreja
BuscarOreja (P) 1. Desde i=1 hasta n 2. Si (Pi-1, Pi+1) es una diagonal devolver Pi
BuscarOreja (P) 1. i:= 0 2. Mientras que Pi no es una oreja 3. Si Pi es convexo 4. Desde j=0 hasta k recorremos todos los vértices cóncavos 5. Si no hay ningún Pj interior al triángulo (Pi-1, Pi, Pi+1) 6. Pi es una oreja 7. Si Pi no es una oreja 8. i:= i+1 Coste de comprobar si un segmento es diagonal = O(n) Coste O(n)*O(n) = O (n2) k= número de vértices cóncavos, calculados en pre proceso.
47
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
TriangularPolígono(P) // P debe ser monótono con respecto al eje y 1. Ordenar los vértices de arriba abajo 2. ListaVérticesSuperiores = ø 3. Mientras que queden vértices por tratar 4. Sea v el vértice con mayor coordenada y 5. Conectar v con todos los vértices de ListaVérticesSuperiores con los que sea posible definir una diagonal interior, y eliminar la parte del polígono triangulada. Si no fuera Posible trazar ninguna diagonal, añadir v a ListaVérticesSuperiores.
TriangularPolígonoMasDetallado(P) 1. Ordenar los vértices de arriba abajo 2. Inicializar Cadena Cóncava a los dos vértices sup. y v al siguiente 3. Mientras que v " vértice inferior 4. Caso 1 (v está en la cadena opuesta a la Cadena Cóncava) Trazar la diagonal de v al segundo vértice de cadena Eliminar el comienzo de la cadena Si la cadena tiene 1 elemento añadir v y avanzar v 5. Caso 2 (v es adyacente al último vértice de Cadena Cóncava) 6. Caso 2a (v+ es convexo) Trazar la diagonal de v al segundo vértice de cadena Eliminar el final de la cadena Si la cadena tiene 1 elemento añadir v y avanzar v 7. Caso 2b (v+ es cóncavo) Añadir v al final de Cadena Cóncava y avanzar v Algoritmo basado en un barrido de vertical del plano Coste lineal O(n)
48
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura 26. Colocación de cámaras de Vigilancia
49
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL VIII.
REFERENCIASBIBLIOGRÁFICAS:
[1] Clacerol, M.: .Geometric Problems on Computational Morphology., Ph. D. Thesis inpreparation. [2] Berg de, M.; Kreveld van, M.; Overmars, M.; Schwarzkopf, O.: .Computational Geometry. Algorithms and Applications., Springer, 1997. [3] El Problema de la Galería de Arte Gonzalo Mena Mendoza Estudiante de Posgrado, Facultad de Informática Universidad Autónoma de Querétaro Querétaro, México. [4] Métodos Heurísticos en Problemas Geométricos Visibilidad, Iluminación y Vigilancia. TESIS DOCTORAL. Santiago Canales Cano Ldo. en Ciencias Matemáticas 2004. [5] Iluminación y vigilancia en las Galerías de Arte. Gregorio Hernández Peñalver. Facultad de Informática, Universidad Politécnica de Madrid. [6] http://bo.tatoo.ws/posts/node?id=1369
50
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
IX.
ANEXO. 1. FIGURAS
Figura a. Datos de medición de focos más comunes.
Figura. Área iluminada de por un foco.
51
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura b. Iluminación de un local
Figura c. Cono de Iluminación formado por un foco
Figura d. Cámara de Video Vigilancia
52
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL
Figura f: T-buena iluminación
Figura g: Resultados obtenidos en t−buena iluminación
53
INFORMATICA-UNT
GEOMETRIA COMPUTACIONAL 2. CRONOGRAMA DE ACTIVIDADES