Universidad Politécnica de Madrid

Facultad de Informática

 

Trabajo Fin de Carrera

Iluminación de polígonos con reflectores

Autor: Bassam Al-Zarif Zabala

Tutor: Gregorio Hernández

 

Inserción reflectores

Al pulsar sobre el botón Place Guards hemos pasado a la segunda fase de la aplicación la inserción y manipulación de reflectores. Podemos ver en la figura inferior la pantalla que nos aparece:

Sobre la pantalla podemos apreciar los siguientes objetos:

Start angle. Valor inicio ángulo incidencia del reflector /es. Este valor es independiente para cada reflector.

Radius. Radio de amplitud de la incidencia del reflector /es. Este valor es global para todos los reflectores.

Extent angle. Extensión del ángulo en grados desde el Start angle. Este valor es independiente para cada reflector.

Move Guard. Modo desde el que se puede mover un reflector

Change Polygon . Modo desde el que se puede mover un polígono.

Place Guard. Modo desde el que se pueden insertar reflectores dentro del polígono.

Desde esta pantalla podemos tanto modificar el polígono creado como insertar y manipular reflectores. Para que no haya posible confusión entre todas las acciones que se pueden realizar se han dividido estas en tres modos:

Move Guard . Modo en el que podemos mover de sitio los reflectores ya introducidos.

Change Polygon. Modo en el que podemos cambiar de forma el polígono creado.

Place Guard. Modo en el que podemos insertar reflectores dentro del polígono.

De tal forma que únicamente podremos realizar las acciones descritas en cada modo. Por ejemplo si estamos en modo Move Guard no podremos insertar nuevos reflectores. Así mismo si estamos en modo Place Guard no podremos mover guardias o modificar el polígono.

Pasemos a ver en detalle que podemos hacer:

Si seleccionamos el modo Place Guard, y pinchamos con el botón izquierdo del ratón dentro del polígono insertaremos un reflector en la posición elegida.

En la figura inferior podemos ver el resultado:

Se pueden insertar reflectores en los vértices del polígono,(pinchando sobre ellos en el modo Place Guard)  de tal forma que si después modificamos el polígono (pasando al modo Change Polygon) , el reflector permanece en el vértice del polígono en el que se había insertado.

Podemos ver un ejemplo de esto en las siguientes figuras (en la primera aparece un reflector insertado en un vértice y en la siguiente como hemos modificado el polígono moviendo el vértice donde estaba situado el reflector y este ha continuado en él):

Una vez que tenemos introducido uno (o varios) reflectores podemos empezar a simular cual sería la visibilidad de estos en la superficie creada “jugando” con los valores de los controles Radius, Start angle y Extent angle.

Como podemos ver en la figura inferior hemos seleccionado un Radio de 50 para los reflectores del dibujo.

Ahora vamos a pasar a modificar el ángulo de inicio y la extensión de este en ambos reflectores. Para ello introducimos en las casillas correspondientes el valor deseado y una vez introducido en cada una de ellas pulsamos la tecla “Intro” del teclado.

En nuestro ejemplo hemos elegido los valores Start angle=30 y Extent angle = 120.

Como podemos apreciar en la figura superior el reflector situado sobre el vértice al cambiar los valores de Start angle y Extent angle no ilumina nada sobre la superficie dibujada.

Además de las opciones que tenemos con los botones que aparecen en pantalla se nos presentan más si pulsamos el botón derecho del ratón sobre la pantalla.

Como vemos tenemos las siguientes opciones:

Remove Guard. Con esta opción borramos el reflector sobre el que se ha situado el puntero del ratón.

Select Guard. Con esta opción seleccionamos el reflector sobre el que tenemos situado el puntero del ratón.

Remove all Guards. Con esta opción borramos todos los reflectores insertados.

Select all Guards. Con esta opción volvemos a seleccionar todos los reflectores, quitando la selección (si la hubiese) de un reflector aplicando a partir de ahora los cambios a de las variables Start Angle y Extent Angle a todos los reflectores.

Si lo que queremos es que un (o varios) reflectores tengan un valor distinto en las variables Start angle y/o Extent angle deberemos en primer lugar seleccionar el reflector. Para ello situamos el cursor del ratón sobre el y pulsamos el botón derecho del ratón sobre el seleccionando a continuación la opción Select Guard. En la figura siguiente podemos ver como hemos seleccionado un reflector, y como este a pasado a estar coloreado en rojo.

Ahora lo que hacemos es variar los valores Start angle y Extent angle, apreciando que solo son variados para el reflector seleccionado. En la figura inferior lo podemos ver:

Si queremos restaurar la situación inicial con todos los reflectores seleccionados, solo tenemos que pulsar sobre el botón derecho del ratón en algún punto de la pantalla y seleccionar la opción Select all Guard. Sin embargo hasta que no se apliquen cambios a los valores del Start amgle y/o Extent angle cada reflector mantendrá los introducidos para el individualmente. Apareciendo en pantalla en los campos de Start y Extent angle los últimos introducidos.

Por ultimo si lo que queremos es eliminar un reflector lo que tenemos que hacer es situar el cursor del ratón sobre el reflector a eliminar, pulsar el botón derecho del ratón y seguidamente seleccionar la opción Remove Guard.

 

Si pasamos la selección de Place Guard a Move Guard , ahora podremos mover los reflectores de sitio. Para ello solo tendremos que situar el cursor del ratón sobre el reflector que queremos mover, manteniendo pulsado el botón izquierdo del ratón, arrastrar el cursor hasta la posición elegida soltado en ese punto el botón izquierdo del ratón. Vemos un ejemplo en la figura inferior.

Como podemos ver en la figura anterior en los campos Start angle y Extent angle aparecen unos valores que o tiene que ver con el único reflector que esta introducido, estos valores corresponden con los últimos introducidos par uno o todos los reflectores.

Si queremos saber de un reflector que valores tiene de Start angle y Extent angle solo tenemos que seleccionarlo. En la figura inferior se puede ver:

Ahora los campos Start angle y Extent angle han pasado a tener los valores 30 y 120 respectivamente.


Índice