1. MANUAL DE USUARIO En esta sección explicaremos de manera detallada cómo utilizar el software implementado en este proyecto. En primero lugar haremos una explicación de cómo funciona la operativa de manera genérica. Luego haremos un repaso por cada una de las funcionalidades de la aplicación. 1.1. Funcionamiento general El objetivo de este software es resolver problemas relacionados con el posicionamiento de guardias en un terreno poliédrico. Cómo se ha explicado con anterioridad, en lo que concierna a la resolución de este tipo de problemas, se puede partir de una representación del terreno consistente en la proyección de este terreno sobre un plano. La resultante de proyectar el terreno sobre un plano es un grafo triangulado. Por tanto, el primer paso para poder resolver los diferentes problemas de posicionamiento de guardias es partir de un grafo triangulado. Una vez generado el grafo triangulado, el usuario podrá la problemática de posicionamiento de guardias sobre él. La operativa genérica del software implementado es la siguiente: 1. Añadir, mover y eliminar puntos. El usuario podrá generar una nube de puntos manualmente o podrá generar una de una manera aleatoria, simplemente suministrando a la aplicación el número de puntos que se quieren generar. 2. Partiendo de esa nube de puntos el usuario podrá realizar un grafo triangulado, eligiendo uno de los siguientes algoritmos de triangulación: a. Algoritmo de Greedy b. Algoritmo de Dalaunay c. Algoritmo de Capas d. Algoritmo Incremental 3. Una vez obtenido el grafo triangulado, el usuario podrá resolver cada uno de los siguientes problemas de posicionamiento de guardias, que a su vez se corresponden con funcionalidades de la aplicación: a. Posicionar un guardia de vértice y visualizar cuales de los triángulos del grafo están vigilados. b. Buscar un posicionamiento de guardias vértice que garantice que todos los triángulos del grafo triangulado están vigilados mediante una estrategia de Greedy.
c. Buscar un posicionamiento de guardias arista que garantice que todos los triángulos del grafo triangulado estén vigilados. d. Buscar un posicionamiento de guardias aristas abiertos que garantice que todos los triángulos del grafo triangulado estén vigilados. e. Permitir el posicionamiento manual de los guardias abiertos. El software irá informando según se vayan posicionamientos, que triángulos están vigilados, mostrándolos de diferente color. También indicará el número de triángulos que faltan por vigilar. 1.2. Interfaz de usuario En esta sección se va a describir el interfaz de usuario. En que áreas se compone y se explicará en detalle que acciones se pueden iniciar desde cada parte de cada área. El interfaz de usuario se puede dividir en cinco zonas: Menús verticales Barra de operaciones Área de representación gráfica Barra informativa Consola informativa FIGURA 1 - INTERFAZ DE USUARIO
Menús verticales: Es una barra de menús verticales que contiene los siguientes elementos: File: Opciones relativas a ficheros o New: Reiniciar el área de representación gráfica o Open: Abrir un fichero de la aplicación que previamente ha sido salvado. o Save: Salvar el estado actual del área de representación gráfica en un fichero. Help: Información sobre la aplicación o User s manual: Visualiza este manual en una versión HTML. o About : Información sobre la versión y el estado de la aplicación. Barra de operaciones FIGURA 2 - IU - BARRA DE OPERACIONES En la barra de operaciones el usuario puede usar todas las acciones disponibles en la aplicación. La barra de operaciones se divide en cuatro áreas intercaladas por separadores. Las cuatro áreas a las que nos referimos son las siguientes: Opciones de fichero: Son las mismas opciones que pueden ser accionadas desde el menú vertical: o Icono nuevo: Al accionarlo se reinicia el área de representación gráfica o Icono abrir: Al accionarlo se abre un fichero de la aplicación que previamente ha sido salvado. o Icono guardar: Al accionarlo se salva el estado actual del área de representación gráfica en un fichero. Opciones de vértices: Es un conjunto de icono que representan una serie de acciones que el usuario puede utilizar para crear, seleccionar y borrar vértices. o Icono añadir vértice: Cambia la herramienta que esta seleccionada y que se acciona mediante el ratón. La herramienta seleccionada es añadir vértice. Se añadirá un vértice a cada clic del ratón.
o Icono vértices aleatorios: Permite al usuario crear un conjunto de vértices o nube de puntos aleatorios. El usuario tiene que seleccionar el número de vértices que quiere generar aleatoriamente. o Icono eliminar vértice: Al accionarlo se elimina el vértice que esté seleccionado en ese momento. o Icono seleccionar vértice: Cambia la herramienta que está seleccionada y que se acciona mediante el ratón. La herramienta seleccionada es seleccionar vértice. Se seleccionará el vértice cuando se haga clic sobre el que esté situado el puntero. Opciones de triangulaciones: Es un conjunto de iconos que representan una serie de acciones para realizar triangulaciones con el conjunto de vértices que hay creados en el área de representación gráfica. o Icono triangulación Incremental: Realiza una triangulación siguiendo el algoritmo de triangulación Incremental. Previamente el usuario debe haber generado al menos tres vértices. o Icono triangulación Delaunay: Realiza una triangulación siguiendo el algoritmo de triangulación Delaunay. Previamente el usuario debe haber generado al menos tres vértices. o Icono triangulación greedy : Realiza una triangulación siguiendo el algoritmo de triangulación greedy. Previamente el usuario debe haber generado al menos tres vértices. o Icono triangulación por Capas: Realiza una triangulación siguiendo el algoritmo de triangulación por Capas. Previamente el usuario debe haber generado al menos tres vértices. Opciones de operaciones de búsqueda de guardias: Es una lista seleccionable con las operaciones de búsqueda de guardias que el usuario puede hacer sobre las triangulaciones. Para que este seleccionable se visible se tiene que cumplir la precondición de que exista una triangulación. o Añadir guardia en vértice: Se añade un guardia en el vértice seleccionado. Por otro lado, se colorean los triángulos que están vigilados. Se cambia la herramienta seleccionada a una nueva herramienta que surge mientras esta opción esta seleccionada. Esta herramienta está representada por un nuevo botón que Añadir Guardia. Mientras esta herramienta esté seleccionada, el usuario con el ratón podrá cambiar al guardia de vértice. o Calcular guardias vértice: Posiciona en la triangulación los guardias vértice necesarios para que todos los triángulos estén vigilados. o Calcular guardias arista: Posiciona en la triangulación los guardias arista necesarios para vigilar todos los triángulos.
o Calcular guardias arista abiertos: Posiciona en la triangulación los guardias arista abiertos necesarios para vigilar todos los triángulos. o Calcular guardias arista abiertos manual: Permite al usuario ir posicionando guardias arista abiertos manualmente. Se cambia la herramienta seleccionada a una nueva herramienta que está disponible mientras esta acción esta seleccionada. Esta herramienta está representada por un nuevo botón Añadir Guardia Arista. Área de representación gráfica Es el área donde se visualizan las acciones que va tomando el usuario. En ella el usuario puede: Agregar nuevos vértices Mover los vértices de ubicación. Seleccionar vértices Eliminar vértices Visualizar las triangulaciones Visualizar las operaciones de búsqueda de guardias Barra informativa La barra informativa consta a su vez de otras dos zonas. Una zona, alineada a la izquierda, donde informa sobre la herramienta que esta seleccionada. También informa sobre la posición del vértice que está seleccionado. Otra zona, alineada a la derecha, que informa sobre la posición actual del puntero del ratón. Consola informativa La consola informativa es una ventana donde la aplicación mostrara un detalle descriptivo de cada una de las operaciones realizadas. En concreto dará el detalle de: Los vértices existentes Las aristas existentes Los triángulos existentes en las triangulaciones Los guardias existentes en las triangulaciones El número de triángulos vigilados por los guardias
FIGURA 3 - OPERATIVAS - CONSOLA INFORMATIVA La consola informativa aparecerá automáticamente siempre y cuando se visualicen nuevos mensajes. 1.3. Descripción de las diferentes operativas En esta sección se van a describir cada una de las operativas disponibles en el software implementado. La descripción consistirá en una guía de los pasos que tiene que ir ejecutando el usuario para llevar a cabo la operativa. Generar una nube de puntos o vértices Existen dos maneras de generar una nube de puntos. Se puede hacer manualmente posicionando cada vértice arbitrariamente con el puntero del ratón o automáticamente. De manera automática, el usuario tan sólo tiene que elegir el número de vértices a posicionar y esto se posicionarán en una posición aleatoria. Posicionamiento manual: En primer lugar, elegir la herramienta Añadir vértice. FIGURA 4 - OPERATIVAS - AGREGAR VÉRTICE El puntero del ratón adoptará la forma de una cruz. El usuario podrá elegir arbitrariamente en que posición agregar el vértice, posicionando el puntero del ratón en el lugar elegido del área de representación gráfica. En la parte derecha de la barra de información, serán visibles las coordenadas donde está situado el puntero del ratón. El usuario puede añadir tantos vértices cómo considere necesario.
FIGURA 5 - OPERATIVAS - POSICIONAR VÉRTICES Seleccionar vértices: En primer lugar, se debe cambiar la herramienta seleccionada a Seleccionar vértice. FIGURA 6 - OPERATIVA - HERRAMIENTA SELECCIONAR VÉRTICE El puntero del ratón adoptará la forma de una flecha. El usuario elegir el vértice a seleccionar posicionando el ratón sobre él y haciendo clic izquierdo lo seleccionará. Visualmente aparecerá una circunferencia azul alrededor del vértice y en la barra informativa en la parte izquierda, aparecerán las coordenadas del vértice seleccionado.
FIGURA 7 - OPERATIVAS - VÉRTICE SELECCIONADO Eliminar y mover un vértice: Primero el usuario debe tener seleccionado un vértice. Una vez seleccionado el vértice pulsamos en el icono eliminar vértice y este se elimina. FIGURA 8 - OPERATIVAS - ELIMINAR VÉRTICE Una vez seleccionado el vértice también es posible moverlo a otra posición. El usuario deberá hacer un clic prolongado y arrastrar el vértice arbitrariamente donde quiera. Generar un grafo triangulado Es prerrequisito para iniciar esta operativa que al menos haya 3 vértices en el área de representación gráfica. Si se pulsa sobre alguno de los iconos de triangulación sin haber posicionado un mínimo de tres vértices, se visualizará un mensaje advirtiéndolo. FIGURA 9 - OPERATIVAS - MÍNIMO DE VÉRTICES Una vez que el usuario ha generado una nube de puntos ya es posible iniciar la operativa de generar un grafo triangulado. Existen 4 operativas que generan grafos triangulados siguiendo 4 algoritmos diferentes. Para iniciar estas operativas: Triangulación Incremental Triangulación Delaunay Triangulación greedy Triangulación por capas
FIGURA 10 - OPERATIVAS - TRIANGULACIÓN INCREMENTAL FIGURA 11 - OPERATIVAS - TRIANGULACIÓN DELAUNAY FIGURA 12 - OPERATIVAS - TRIANGULACIÓN GREEDY FIGURA 13 - OPERATIVAS - TRIANGULACIÓN POR CAPAS Una vez seleccionada la triangulación a realizar con una nube de puntos en el área de representación gráfica, la aplicación realizará el algoritmo correspondiente y visualizará la representación de la triangulación. FIGURA 14 - OPERATIVAS - TRIANGULACIÓN GENERADA Modificar una triangulación Las triangulaciones pueden ser modificadas en tiempo real. Esto significa varias cosas. Una es que el usuario puede cambiar el algoritmo con el cual realizar la triangulación, y
la aplicación automáticamente redibujará el grafo triangulado, utilizando este algoritmo. Por otro lado, el usuario podrá seguir modificando la nube de puntos en la que está basada la triangulación, borrando o añadiendo vértices, y el grafo triangulado se recalculará utilizando el algoritmo seleccionado. Añadir guardia en vértice El usuario previamente a iniciar esta operativa tiene que haber generado un grafo triangulado. Una vez hecho esto, el usuario tendrá disponible una lista seleccionable en el interfaz, las opciones de operaciones de búsqueda de guardias. El usuario podrá seleccionar la operación de búsqueda de guardias que quiera realizar. El usuario selecciona la operativa Añadir guardia en vértice La aplicación posicionara un guardia en el vértice que esté seleccionado. La aplicación mostrará un nuevo botón que permitirá elegir una nueva herramienta Añadir guardia que estará seleccionada por defecto. Mientras esta herramienta esté seleccionada el usuario podrá modificar la ubicación del guardia. Al posicionar el guardia, la aplicación mostrará que triángulos son los vigilados rellenando su fondo. FIGURA 15 - OPERATIVAS - AÑADIR GUARDIA EN VÉRTICE El usuario podrá cambiar la herramienta si lo desea a seleccionar vértice o añadir vértice. Por lo tanto, podrá modificar la triangulación existente, la cual se recalculará automáticamente adicionalmente se recalculará los triángulos vigilados por el guardia. Calcular guardias en vértice El usuario previamente a iniciar esta operativa tiene que haber generado un grafo triangulado. Una vez hecho esto, el usuario tendrá disponible una lista seleccionable
en el interfaz, las opciones de operaciones de búsqueda de guardias. El usuario podrá seleccionar la operación de búsqueda de guardias que quiera realizar. El usuario selecciona la operativa Calcular guardia vértice. La aplicación calculará los guardias vértices necesarios para vigilar el grafo triangulado y los representará como puntos rojos gruesos. FIGURA 16 - OPERATIVAS - CALCULAR GUARDIAS VÉRTICES El usuario podrá cambiar la herramienta si lo desea a seleccionar vértice o añadir vértice. Por lo tanto, podrá modificar la triangulación existente, la cual se recalculará automáticamente adicionalmente se recalculará los guardias necesarios para vigilar todo el grafo triangulado. Calcular guardias arista El usuario previamente a iniciar esta operativa tiene que haber generado un grafo triangulado. Una vez hecho esto, el usuario tendrá disponible una lista seleccionable en el interfaz, las opciones de operaciones de búsqueda de guardias. El usuario podrá seleccionar la operación de búsqueda de guardias que quiera realizar. El usuario selecciona la operativa Calcular guardia arista. La aplicación calcula los guardias arista necesarios para vigilar el grafo triangulado y lo muestra representándolo como dos aristas rojas con un grosor mayor al resto de aristas
FIGURA 17 - OPERATIVAS - CALCULAR GUARDIAS ARISTAS El usuario podrá cambiar la herramienta si lo desea a seleccionar vértice o añadir vértice. Por lo tanto, podrá modificar la triangulación existente, la cual se recalculará automáticamente adicionalmente se recalculará los guardias necesarios para vigilar todo el grafo triangulado. Calcular guardias arista abierto El usuario previamente a iniciar esta operativa tiene que haber generado un grafo triangulado. Una vez hecho esto, el usuario tendrá disponible una lista seleccionable en el interfaz, las opciones de operaciones de búsqueda de guardias. El usuario podrá seleccionar la operación de búsqueda de guardias que quiera realizar. El usuario selecciona la operativa calcular guardias arista abierto La aplicación calcula los guardias aristas abiertos necesarios para vigilar la totalidad del grafo triangulado. Lo muestra representándolo como dos aristas rojas con un grosor mayor al resto de aristas FIGURA 18 OPERATIVAS- CALCULAR GUARDIAS ARISTAS ABIERTO
El usuario podrá cambiar la herramienta si lo desea a seleccionar vértice o añadir vértice. Por lo tanto, podrá modificar la triangulación existente, la cual se recalculará automáticamente adicionalmente se recalculará los guardias necesarios para vigilar todo el grafo triangulado. Calcular guardias arista abierto manual El usuario previamente a iniciar esta operativa tiene que haber generado un grafo triangulado. Una vez hecho esto, el usuario tendrá disponible una lista seleccionable en el interfaz, las opciones de operaciones de búsqueda de guardias. El usuario podrá seleccionar la operación de búsqueda de guardias que quiera realizar. El usuario selecciona la operativa Calcular guardias aristas abierto manual La aplicación mostrará un nuevo botón que permitirá elegir una nueva herramienta Añadir guardia arista que estará seleccionada por defecto. Mientras esta herramienta esté seleccionada el usuario podrá añadir nuevos guardias o quitarlos haciendo clic en la arista que él quiera. Al posicionar el guardia, la aplicación mostrará que triángulos son los vigilados rellenando su fondo. FIGURA 19 - OPERATIVAS - CALCULAR GUARDIAS ARISTA MANUAL La consola informativa mostrará la información relativa a los triángulos vigilados. Este es un ejemplo: Triángulos de la triangulación:
Triángulo 1 [ 295 : 164 ] [ 196 : 276 ] [ 272 : 113 ] Triángulo 2 [ 295 : 164 ] [ 518 : 57 ] [ 272 : 113 ] Triángulo 3 [ 196 : 276 ] [ 386 : 370 ] [ 295 : 164 ] Triángulo 4 [ 461 : 316 ] [ 386 : 370 ] [ 295 : 164 ] Triángulo 5 [ 461 : 316 ] [ 518 : 57 ] [ 295 : 164 ] Triángulo 6 [ 461 : 316 ] [ 510 : 412 ] [ 386 : 370 ] Triángulo 7 [ 510 : 412 ] [ 518 : 57 ] [ 461 : 316 ] Número de guardias arista abierta: 2 Guardias colocados en las aristas: Guardia arista 1 [ 295 : 164 ] [ 461 : 316 ] Guardia arista 2 [ 196 : 276 ] [ 295 : 164 ] Número de triángulo vigilados: 4 Triángulo 1 [ 461 : 316 ] [ 386 : 370 ] [ 295 : 164 ] Triángulo 2 [ 461 : 316 ] [ 518 : 57 ] [ 295 : 164 ] Triángulo 3 [ 295 : 164 ] [ 196 : 276 ] [ 272 : 113 ] Triángulo 4 [ 196 : 276 ] [ 386 : 370 ] [ 295 : 164 ] No todos los triángulos están vigilados. Faltan 3 por vigilar El usuario podrá cambiar la herramienta si lo desea a seleccionar vértice o añadir vértice y modificar la triangulación existente, la cual se recalculará automáticamente. Adicionalmente se recalculará los guardias necesarios para vigilar todo el grafo triangulado. Reiniciar el área de representación gráfica El usuario puede reiniciar el área de representación gráfica. Al hacer esto desaparecerán todas las representaciones gráficas y por tanto todos los guardias de los
grafos triangulados, todas las triangulaciones y todas las nubes de puntos (conjunto de vértices). En resumen, el área quedará totalmente en blanco para que el usuario comience de nuevo a generar una nueva nube de puntos. Para realizar esta acción el usuario debe activar el icono Nuevo. FIGURA 20 - OPERATIVAS - REINICIAR