Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información...

20
Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias

Transcript of Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información...

Page 1: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Desarrollo de Videojuegos

Ma.Elena Melón Jareda

ITESM-CEM Departamento de Sistemas de Información y Computación

Colocación de guardias

Page 2: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Introducción

Victor Klee alguna vez preguntó: ¿Cuántos guardias estacionarios (o cámaras) se requieren para vigilar una sala de exposiciones?

Claro está que los guardias no pueden ver a través de las paredes… por si alguien tenía duda…

Page 3: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Introducción

Para solucionar el problema daremos por hecho dos cosas:

La planta de la sala de exposiciones es un polígono cualquiera.

Las paredes de la sala son completamente verticales (forman un ángulo de 90° con el piso).

Page 4: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Se dice que x puede ver a y si todos los puntos del segmento xy están dentro del polígono.

Cada guardia se representaría con un punto. Un conjunto de guardias cubre la vigilancia de la sala si todos los puntos del polígono son visibles para al menos 1 guardia.

Visibilidad

x y

Page 5: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Mínimos

¿Cuántos guardias se requieren para un polígono de n vértices?

¿Hay una función en términos de n?

¿Podría haber un número infinito de guardias?

Page 6: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Mínimos

Al menos se requiere 1 guardia.

N guardias vigilarían todo el polígono, uno en cada vértice (se cumple en 2D).

Cada triángulo requiere 1 guardia.

¿Cuántos en un cuadrilátero, etc.?

Page 7: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Vértices “cóncavos” y “convexos”

Un vértice es “cóncavo” o “reflex” si su ángulo interno es mayor que pi, de lo contrario es “convexo”.

vértice cóncavo

vértice convexo

Page 8: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Vértices “cóncavos” y “convexos”

Un cuadrilátero puede tener 1 vértice “cóncavo” y por lo tanto 1 guardia colocado en él.

Un pentágono puede tener 2 vértices “cóncavos” y sólo necesitar 1 guardia.

Un hexágono puede requerir 2 guardias.Siguiendo la experimentación…Se requieren siempre n/3 (a continuación la

demostración)

Page 9: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 1

La prueba de Fisk comienza dividiendo un polígono en triángulos (trazando diagonales).

Una diagonal es un segmento de línea que va de un vértice a a un vértice b de modo que cada uno sea claramente visible al otro.

Page 10: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 1

Dos diagonales no se cruzan si comparten a lo más sus puntos extremos.

Si se añaden tantas diagonales que no se crucen como sea posible, entonces el polígono queda particionado en triángulos.

En general, hay varias maneras de triangular un polígono.

Page 11: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 1

Es un hecho que todos los polígonos pueden ser triangulados, no importa que tan complejos sean.

Un polígono P de n vértices usa n-3 diagonales y consiste de n-2 triángulos.

Page 12: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 1

Paso 1 – Triangular el polígono

Page 13: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 2

Una vez dividido un polígono se trabaja con el grafo G asociado con la triangulación.

Los arcos de G son las aristas y las diagonales del polígono.

Los nodos de G son los vértices del polígono.

Page 14: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 2

Lo que hay que hacer ahora con el grafo G es asignar k colores a los nodos del grafo sin que dos nodos conectados por un arco tengan el mismo color.

Fisk afirma que cualquier grafo de una triangulación debe poderse colorear con 3 colores.

Page 15: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 2

Paso 2 – Colorear el grafo

Page 16: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 3

Si se coloca 1 guardia en cada vértice del mismo color se cubre todo el polígono.

Con esto se asegura que se tiene 1 guardia por triángulo.

Page 17: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 4

“Si n objetos son colocados en k cajas, al menos una caja debe contener no más de n/k objetos.”

En este caso los n objetos son los n nodos y k son los 3 colores.

Un color no puede ser usado más de n/3 veces.

Page 18: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 4

Finalmente:

Coloca guardias en los vértices coloreados con el color menos usado.

Con esto se garantiza que se tendrá el menor número de guardias que pueden vigilar todo el polígono.

Page 19: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

La prueba de Fisk—Paso 3 y 4

Pasos 3 y 4 – Colocar guardias en el color menos usado

Page 20: Desarrollo de Videojuegos Ma.Elena Melón Jareda ITESM-CEM Departamento de Sistemas de Información y Computación Colocación de guardias.

Ejemplo

Sala vigilada por 4 cámaras