Geometra Computacional - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Geometra Computacional

Description:

... para representar el espacio ocupado/libre de la escena ... parcialmente ocupado por un objeto (color gris) totalmente ocupado por un objeto (color negro) ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 36
Provided by: wwwdi2
Category:

less

Transcript and Presenter's Notes

Title: Geometra Computacional


1
Geometría Computacional
2
Índice
Visibilidad, Trayectorias y Colisiones
3
Introducción
Supongamos que una sala se acondiciona para dar
conferencias, dónde se colocaría el interlocutor
para que fuera visible por el mayor número de
asistentes?
Problemas de Visibilidad
zona visible
interlocutor
zonas no visibles
applet disponible en http//web.informatik.uni-bo
nn.de/I/GeomLab/ VisPolygon/index.html.enVisPolyg
on1Applet
4
Introducción
Qué partes de una estancia quedan iluminadas al
colocar una fuente de luz?
Problemas de Visibilidad
5
Introducción
Cómo será capaz de moverse un robot por una
escena con obstáculos para alcanzar un objetivo?
Problemas de Visibilidad
applet disponible en http//web.informatik.uni-bo
nn.de/I/GeomLab/
6
Definiciones
Los puntos a y b son visibles si el segmento ab
no intersecta con ningún otro objeto o aristas
del polígono
b
a
c
Problemas de Visibilidad
d
7
Definiciones
El núcleo (kernel) de un polígono S, K(S), es el
lugar de los puntos de dicho polígono desde
donde se ven todos los vértices de S, K(S)x ? S
?y? S, x ve a y
Problemas de Visibilidad
8
Definiciones
El polígono de visibilidad V(p) de un punto p en
el polígono S es el lugar de los puntos de S
visibles desde el punto p. V(p)x ? S p ve a
x
V(p) es estrellado,
Problemas de Visibilidad
ejemplo para polígono con agujeros
V(p) para un cto de segmentos
puede ocurrir que V(p) no sea un polígono
9
Definiciones
El grafo de visibilidad VG(S) del polígono S
establece una relación de visibilidad entre los
vértices del polígono. Tiene un nodo por cada
vértice de S y un eje por cada par de vértices
visibles entre sí
7
8
Problemas de Visibilidad
6
9
0
5
3
1
2
4
10
Problema de la Galería de Arte
  • Cuantas cámaras habría que colocar en una
    estancia de
  • un museo para que todas las paredes estén
    vigiladas en todo
  • momento?
  • Dónde habría que colocarlas?

Problemas de Visibilidad
Colocando una cámara en algún punto del núcleo se
controlan todos los vértices, pero no al mismo
tiempo
Este problema está muy relacionado con problemas
de iluminación, cualquier punto de luz situado
en el núcle ilumina toda la estancia (luz no
dirigida)
11
Problema de la Galería de Arte
  • No todos los polígonos tienen un núcleo

Problemas de Visibilidad
El número de guardias depende de la posición
12
Problema de la Galería de Arte
  • También es depediente de la
  • forma de las las salas, en salas
  • rectangulares con n estancias se
  • pueden vigilar exactamente con
  • ?n/2?

R1
R2
R4
R3
R5
R6
Problemas de Visibilidad
R8
R7
  • También es depediente del tipo
  • de vigilante, es decir, si puede
  • considerarse un punto, debe
  • estar en un vértice, en una arista,
  • se pueden mover o si tienen
  • tan sólo cierto ángulo de visión
  • (cámara)

13
Problema de la Galería de Arte
Supongamos ahora que los guardias son cámaras
fijas que deben posicionarse en los vértices del
polígono
1.- triangulamos 2.- coloreamos en
blanco/gris/negro 3- pongo cámaras en los
vértices de un mismo color
Problemas de Visibilidad
necesito O?n/3? cámaras
El problema de colocar el mínimo número de
vigilantes en los vértices es un problema
np-duro
14
Problema de la Galería de Arte
Cualquier polígono con n vértices y h huecos
puede ser vigilado con ?(n2h)/3? vigilantes,
aunque existe una conjetura que indica que en
realidad es ?(nh)/3?
En el ejemplo, n10 y h7, salen 5 vigilantes
como mínimo.
Problemas de Visibilidad
15
Planificación de Trayectorias
  • La Planificación de Movimientos (Motion Planning)
    estudia
  • métodos con los cuales capacitar a un robot para
    moverse
  • autónomamente entre un conjunto de obstáculos,
  • decidiendo la trayectoria a seguir
  • evitando colisionar con ningún otro objeto o
    haciéndolo de
  • forma controlada para cumplir algún objetivo

Visibilidad y Planificación de trayectorias
Ejemplo un robot con brazos articulados en una
línea de fabricación de coches
16
Planificación de Trayectorias
La Planificación de Trayectorias (Path Planning)
es un apartado de la planificación de movimientos
que estudia el desplazamiento autónomo de un
objeto móvil (un robot) en una escena con
obstáculos desde un punto origen a un punto
destino sin colisionar con ninguno de ellos.
Visibilidad y Planificación de trayectorias
  • La dificultad del problema
  • está en
  • los grados de libertad del robot
  • (si gira, si tiene brazos articulados)
  • la dificultad de la escena
  • (2D/3D, etc.)

17
Planificación de Trayectorias
Modelos simplificados
Podemos decir que el robot se mueve en un espacio
de configuración (representación de la escena
real) que a veces es modificado construyendo un
espacio de configuración por simplificación del
problema.
Visibilidad y Planificación de trayectorias
  • En un modelo simplificado
  • los robots son considerados
  • objetos puntuales en vez de
  • polígonos
  • además los espacios de
  • configuración se representan
  • en EEDD adecuadas

18
Planificación de Trayectorias
Estructuras de datos Mapas trapezoidales
Los mapas trapezoidales (Tema 4) construyen una
partición del espacio libre en una escena.
  • Cada trapecio corresponde a una región libre de
    obstáculos de la
  • cual sabemos sus dimensiones y las regiones
    adyacentes que
  • están o no están libres de obstáculos.
  • Se crea un camino libre de
  • obstáculos uniendo puntos en
  • el interior de cada trapecio.
  • El objeto móvil solo debe seguir
  • estos caminos pre-calculados.

Visibilidad y Planificación de trayectorias
  • Tiempos
  • mapa trapezoidal O(n log n)
  • encontrar posición inicial y
  • final O(log n)
  • encontrar camino O(n)

19
Planificación de Trayectorias
Estructuras de datos Grafo de visibilidad
Usando mapas trapezoidales no encontramos el
camino mínimo, ni por la estrategia ni discurrir
el camino por puntos centrales de los trapecios
En los grafos de visibilidad, cada vértice está
conectado con todos sus vértices visibles
pudiendo elegir el más conveniente, es decir, el
camino más corto usando el algoritmo de
Dijkstra.
Visibilidad y Planificación de trayectorias
Teorema el camino más corto uniendo los puntos
origen y destino es una polilínea del grafo de
visibilidad
20
Planificación de Trayectorias
Estructuras de datos Grafo de visibilidad
Algoritmo para encontrar el camino mínimo 1.-
Construir el grafo de visibilidad del conjunto S
de objetos junto con los puntos o y d 2.- El
peso entre dos vértices en el grafo de
visibilidad, VG (sv,sw), se inicializa con la
longitud de la diagonal entre los vértices sv y
sw
Visibilidad y Planificación de trayectorias
21
Planificación de Trayectorias
Estructuras de datos Grafo de visibilidad
Algoritmo para encontrar el camino mínimo 3.-
Utilizar el algoritmo de Dijkstra para encontrar
el camino mínimo entre los puntos o y d.
El algoritmo de Dijkstra encuentra todos los
caminos posibles desde el punto origen al
destino, sumando las aristas y
quedándose finalmente con el camino más corto
Visibilidad y Planificación de trayectorias
  • Tiempos
  • paso 1 (grafo de visibilidad)
  • O(n log n)
  • paso 2 O(n2)
  • paso 3 (Dijkstra) O((nk)logn)
  • kO(n2) ? O(n2logn)

22
Detección de Colisiones
En Detección de Colisiones (Collision Detecion)
se estudian métodos para conocer el/los
obstáculo/s con lo que colisiona un objeto móvil
moviéndose por una escena compuesta de otra serie
de objetos móviles o estáticos, y la respuesta
que se produce tras la colisión (trayectoria de
salida, deformación de dichos objetos, etc.)
Visibilidad y Detección de Colisiones
C1
C2
C3
C4
23
Detección de Colisiones
Fases en la detección de colisiones
  • Fase ancha si empleamos un algoritmo exhaustivo
    con n objetos
  • móviles y m objetos estáticos encontramos
    fácilmente un algoritmo
  • trabajando en tiempo O(n2nm).
  • Sería preferible utilizar otro mecanismo que
    descartara aquellos
  • obstáculos situados muy lejos como para
    colisionar (aunque deban
  • tenerse en cuenta para el futuro) ? mecanismo
    de poda

Visibilidad y Detección de Colisiones
Fase estrecha aquellos objetos no descartados
en la primera fase son la entrada a esta fase.
La salida es el objeto que realmente colisiona,
las áreas de impacto, las deformaciones de dichos
objetos, las trayectorias de salida, etc.
24
Detección de Colisiones
Estrategias utilizadas en la fase estrecha
Simplificando los objetos involucrados
  • Volúmenes envolventes (3D)
  • ? Esferas
  • ? Cajas envolventes alineadas con los ejes,
    AABB
  • ? Cajas envolventes alineadas con el objeto,
    OBB

Visibilidad y Detección de Colisiones
  • Ventajas
  • La operación de intersección caja-caja es mucho
    más fácil de realizar que con la figura que
    envuelve.
  • Sólo hay interección objeto-objeto si
  • existe intersección caja-caja (la otra
  • implicación no es cierta)

25
Detección de Colisiones
Desventajas Existe más posibilidad de que
intersecten unas cajas con otras vecinas
Visibilidad y Detección de Colisiones
26
Detección de Colisiones
  • Soluciones similares en 2D

Envolvente convexa
Visibilidad y Detección de Colisiones
Círculo
AABB
OOB
27
Detección de Colisiones
Representación del entorno (Descomposición
espacial)
Se utilizan estructuras de datos arbóreas para
representar el espacio ocupado/libre de la
escena ? División uniforme ?
Quadtree(2D)/Octree(3D) ? BSP ? KD-Tree
Visibilidad y Detección de Colisiones
28
Detección de Colisiones
BSP (Binary Space Partition)
1.- La escena queda representada en un árbol
binario BSP 2.- Las hojas de dicho árbol
representan a un objeto, mientras que los nodos
no-hojas representan planos-ejes separadores 3.-
Un eje/semiplano divide la subdivisión
representada por el padre en dos partes, una a
la izquierda y otra a la derecha (considerando el
semieje con base en el semieje padre, por ejemplo)
Visibilidad y Detección de Colisiones
A
A
C
-

C
B
-
B
-


29
Detección de Colisiones
4.- Cuando un eje/plano separador intersecta con
otro objeto de la escena, el objeto opción a se
duplica, colocándose tanto a izquierda como
derecha del eje/plano
Visibilidad y Detección de Colisiones
Ventajas/inconvenientes Es menos costoso
construir el árbol aunque lo será el test de
colisión estático
30
Detección de Colisiones
4.- Cuando un eje/plano separador intersecta con
otro objeto de la escena, el objeto opción b se
divide colocándose a izquierda y derecha cada uno
de los trozos.
O
D
E
O
A,B,C,D,E,F
Visibilidad y Detección de Colisiones
F
C
A
B
O1
O2
A,T,S,E,F
B,C,D,S,T
Ventajas/inconvenientes Más costoso, sobre todo
para objetos complejos, aunque mejora el test de
colisión estático
31
Detección de Colisiones
Algoritmo de Detección de Colisiones usando BSP
  • Entrada BSP de la escena
  • Vector desplazamiento pq
  • Salida Objeto que colisiona con pq
  • INICIO
  • REPETIR
  • Localizar a p en una región r del árbol
  • Comprobar si colisiona con el objeto
  • asociado a r, sino pq debe intersectar
  • con algún eje ancestro en el punto t
  • p ? t
  • HASTA encontrar intersección o salir de escena

p
Visibilidad y Detección de Colisiones
Tiempos Para cada una de las m regiones
visitadas 2O(logn) O(k), siendo O(k) el tiempo
de colisión estático
32
Detección de Colisiones
Quadtrees/Octrees
  • 1.- Quadtrees se emplean en escenas 2D y Octrees
    en escena 3D
  • 2.- Un quadtree/octree es un árbol en el que cada
    nodo tiene
  • cuatro/ocho hijos representando cada una de las
    subdivisiones de
  • igual tamaño de la/del superficie/volumen
    cuadrada/cúbico
  • 3.- Los nodos no-hoja representan estas
    subdivisiones y los nodos
  • hoja representan una/un superficie/espacio
  • vacío (color blanco)
  • parcialmente ocupado por un objeto (color gris)
  • totalmente ocupado por un objeto (color negro)

Visibilidad y Detección de Colisiones
33
Detección de Colisiones
  • 4.- Si la trayectoria del objeto móvil alcanza
  • una casilla blanca, entonces no hay colisión
  • una casilla negra, entonces hay colisión
  • una casilla gris, entonces puede que sí o puede
    que no haya
  • colisión, habría que averiguarlo

Visibilidad y Detección de Colisiones
34
Detección de Colisiones
Algoritmo de Detección de Colisiones
usando Octrees/Quadtrees
  • Entrada Quadtree/Octree de la escena
  • Vector desplazamiento pq
  • Salida Objeto que colisiona con pq
  • INICIO
  • REPETIR
  • Localizar a p, en una región r del árbol
  • En caso de que la casilla sea
  • 1.- negra existe colisión con el objeto
    asociado a r
  • 2.- blanca ir a r', la región adyacente de r en
    dirección pq
  • 3.- gris si hay colisión devolver el objeto
    asociado a r, sino ir a r', la región adyacente
    a r en dirección pq
  • Sea p un punto en la frontera de r'
  • HASTA encontrar intersección o salir de escena

Visibilidad y Detección de Colisiones
p
35
Bibliografía
OROURKE Joseph. Computational Geometry in C.
Cambridge University Press. 1998 (capítulo 8
) BERG, KREVELD, OVERMARS, SCHWARZKOPF.
Computational Geometry, Algorithms and
Applications. Springer. 1997 (capítulos 12, 13,
14 y 15) SACK, URRUTIA (editores). Handbook of
Computational Geometry, Elsevier. 2000 (capítulos
15, 17 y 19)
Visibilidad y Detección de Colisiones
Write a Comment
User Comments (0)
About PowerShow.com