Introducción a Geometría Computacional
-
Upload
miguel-sancho -
Category
Education
-
view
902 -
download
4
description
Transcript of Introducción a Geometría Computacional
Geometría Computacional: Introducción
Maikel Arcia
Miguel Sancho
Ejemplo 1 Proximidad
¿Cuál es el teléfono más cercana?
Diagrama Voronoi
Geometría Computacional
¿Qué es la Geometría Computacional?
Proporciona criterios para detectar y organizar estructuras de datos geométricos, así como para facilitar su visualización en pantalla.
Desarrolla herramientas computacionales para el análisis de problemas geométricos.
Propone estrategias para implementar algoritmos que faciliten la resolución efectiva de estos problemas computacionalmente.
Geometría ComputacionalGeometría Computacional
¿Qué es la Geometría Computacional?
Campo de la teoría de algoritmos
Las entradas son colecciones de objetos geométricos Normalmente, objetos del plano:
puntos, líneas, segmentos, polígonos, redes, etc.
Las salidas son estructuras de datos geométricos
Las colecciones de objetos geométricos pasan a ser estructuras de datos.
Las metodologías clásicas de resolución de problemas se transforman en algoritmos eficientes.
Geometría ComputacionalGeometría Computacional
Creación de imágenes de escenas por computadora.
Intersección de primitivas geométricas (líneas, polígonos, poliedros, etc.)
Determinar las primitivas que están en una región
Ocultar y remover superficies– determinar las partes visibles de una escena 3D a partir de un punto de vista mientras se ocultan las otras.
Creación realista tomando una cantidad de luz y computando la sombra.
Tratar objetos en movimiento y detectar colisiones.
Geometría Computacional
Aplicaciones a Gráficos por Computadoras
Ejemplo 1 Proximidad
Entrada: Conjunto de localizaciones (sitios).
Salida: Una subdivisión en celdas. Cada celda contiene los puntos más cercanos al sitio.
Aplicación: preguntas de proximidad.
Diagrama Voronoi
Geometría Computacional
¿Cómo un robot encuentra el camino más cercano evitando todos obstáculos?
Robot
Ejemplo 2 Planeación de camino
Geometría Computacional
Geometría Computacional
Ejemplo 2 Planeación de camino
Encontrar el camino más corto en un grafo ( grafo de visibilidad).
Se resuelve con algoritmos no geométricos
Ex. Algoritmo de Dijkstra.
Algoritmos geométricos pueden dar una solución más eficiente.
Geometría Computacional
Ejemplo 2 Planeación de camino
Encontrar el camino más corto en un grafo ( grafo de visibilidad).
Se resuelve con algoritmos no geométricos
Ex. Algoritmo de Dijkstra.
Algoritmos geométricos pueden dar una solución más eficiente.
Determinar intersecciones entre capas.
Geometría Computacional
Ejemplo 3 Solapamientos de Mapa
Determinar intersecciones entre colecciones de objetos.
Geometría Computacional
Ejemplo 3 Intersección de Objetos
Área de estudio sistemático de algoritmos para objetos geométricos, búsqueda de algoritmos exactos asintóticamente rápidos.
Dos claves para el éxito de lograr buenos algoritmos:
Adecuada comprensión del problema geométrico.
Correcta aplicación de técnicas algorítmicas y estructuras de datos.
Geometría Computacional
Determinar intersecciones entre colecciones de objetos.
Geometría Computacional
Ejemplo 3 Intersección de Objetos
Dividir dominios complejos en colecciones de objetos
simples.
Geometría Computacional
Ejemplo 3 Triangulación
Dividir dominios complejos en colecciones de objetos
simples.
Geometría Computacional
Ejemplo 3 Triangulación
Problemas de optimización
Ej.: menor circulo que contiene un conjunto de
puntos.
Geometría ComputacionalGeometría Computacional
Ejemplo 4 Prog. Lineal en 2D y 3D
Problemas de optimización
Ej.: menor circulo que contiene un conjunto de
puntos.
Geometría ComputacionalGeometría Computacional
Ejemplo 4 Prog. Lineal en 2D y 3D
Algoritmos y estructuras de dados para responder consultas geométricas. Ej:
Todos los objetos que interceptan una región
Rectángulo, Polígono, Círculo.
Par de puntos más próximos
Vecino más próximo
Camino más corto
Geometría ComputacionalGeometría Computacional
Ejemplo 5 Búsqueda Geométrica
G
F
D
B
C
E
A
{A,E}
{G}
{B,C,D}
{F}
Ejemplo 5 Búsqueda Geométrica
¿Origen de la Geometría Computacional?
Antigua Grecia y Egipto. El 1er algoritmo de G.C. nace cuando una serie de pasos correctos, no ambiguos y con un final resuelven un problema geométrico. Precursor: Euclides de Alejandría.
Las grandes capacidades de computo a nivel de memoria y de potencia de cálculo, son aprovechadas por muchas disciplinas a partir de la segunda mitad del siglo XX.
Geometría ComputacionalGeometría Computacional
¿Origen de la Geometría Computacional?
Surgió del campo de los algoritmos discretos
Énfasis en problemas de matemática discreta (conjuntos de objetos, grafos).
La componente geométrica puede ofrecer soluciones más eficientes.
Origen del término
(?) Libro “Perceptron” de Marvin Minsky Usado para denotar algoritmos de modelación de sólidos.
Geometría ComputacionalGeometría Computacional
Objetivos
Objetivo:
Construcción y análisis de algoritmos y estructuras de datos para solucionar problemas Geométricos.
Estudiar Estructuras de Datos y algoritmos tipos.
Dominar las técnicas de diseño de algoritmo básicas para la Geometría Computacional.
Dominar criterios de optimalidad y calidad, tales como la complejidad, robustez, corrección, ect.
Nos proponemos:
Geometría Computacional
Propiedades de un algoritmo
Finitud.
Terminación.
Corrección.
Eficiencia.
No-degeneración.
Robustez.
Geometría Computacional
Casos Degenerados.
Propiedades especiales de las entrada de datos geométricos.
Ej.: 3-vertices colineales, 4-vertices sobre un circular.
Si necesariamente se incrementa el tiempo por la degeneración.
Se asumen Posición General, Perturbación…
Robustez
En la situación de la implementación actual
Ej.) Aritmética de punto flotante
Degeneración y Robustez
Geometría Computacional
Limitaciones de la Geometría Computacional
Datos discretos
Aproximaciones de fenómenos continuos
Funciones que aproximan funciones continuas.(ej. imágenes)
Objetos geométricos “planos”
Aproximaciones geométricas “curvas”
Dimensionalidades
Normalmente, 2D en ocasiones 3D.
Problemas n-dimensionales poco abordados.
Geometría Computacional
Técnicas de diseño de algoritmos usadas
Técnicas convencionales :
Divide y vencerás.
Programación dinámica.
Algoritmos aleatorios
Glotón
Técnicas propias de algoritmos geométricos:
Barrido del Plano
Algoritmos Aleatorias Incrementales.
Transformaciones duales.
Cascada Fraccionaria.
Geometría Computacional
Muchas soluciones “óptimas” son inadecuadas implementaciones prácticas ...Muy complicadas
No sensibles a casos degenerados
Problemas de precisión
Complejidad inaceptable para problemas pequeños
Poca obtención de soluciones prácticasAlgoritmos simples
Frecuentemente aleatorizados.
Tratamiento integral de casos degenerados.
Geometría Computacional
Tendencias actuales
Pasos generales para la solución Adecuada comprensión geométrica.
Solucionar el problema de manera simplificada. (sin casos degenerados).Ej:
Sin 3 puntos colineales.
Sin 2 puntos con la misma coordenada x, etc.
Se asume Posición general.
Extender a todos los casos:
Tratar de integrar al algoritmo los casos degenerados.
Revisar la corrección y robustez.
Revisar si mantiene la misma complejidad.
Geometría Computacional
Y como la multitud de leyes sirve muy a menudo de disculpa a los
vicios, siendo un Estado mucho mejor regido cuando hay pocas, pero
muy estrictamente observadas, así también, en lugar del gran número
de preceptos que encierra la lógica, creí que me bastarían los cuatro
siguientes, supuesto que tomase una firme y constante resolución de
no dejar de observarlos una vez siquiera:
Fue el primero, no admitir como verdadera cosa alguna, como no
supiese con evidencia que lo es; es decir, evitar cuidadosamente la
precipitación y la prevención, y no comprender en mis juicios nada
más que lo que se presentase tan clara y distintamente a mí
espíritu, que no hubiese ninguna ocasión de ponerlo en duda.
El segundo, dividir cada una de las dificultades, que examinare, en
cuantas partes fuere posible y en cuantas requiriese su mejor solución.
El tercero, conducir ordenadamente mis pensamientos, empezando
por los objetos más simples y más fáciles de conocer, para ir
ascendiendo poco a poco, gradualmente, hasta el conocimiento de los
más compuestos, e incluso suponiendo un orden entre los que no se
preceden naturalmente.
Y el último, hacer en todo unos recuentos tan integrales y unas
revisiones tan generales, que llegase a estar seguro de no omitir nada.
Discurso del método
Geometría Computacional
31 de marzo, 1596- 11 de febrero 1650
Réne Descartes
Y como la multitud de leyes sirve muy a menudo de disculpa a los
vicios, siendo un Estado mucho mejor regido cuando hay pocas, pero
muy estrictamente observadas, así también, en lugar del gran número
de preceptos que encierra la lógica, creí que me bastarían los cuatro
siguientes, supuesto que tomase una firme y constante resolución de
no dejar de observarlos una vez siquiera:
Fue el primero, no admitir como verdadera cosa alguna, como no
supiese con evidencia que lo es; es decir, evitar cuidadosamente la
precipitación y la prevención, y no comprender en mis juicios nada
más que lo que se presentase tan clara y distintamente a mí
espíritu, que no hubiese ninguna ocasión de ponerlo en duda.
El segundo, dividir cada una de las dificultades, que examinare, en
cuantas partes fuere posible y en cuantas requiriese su mejor
solución.
El tercero, conducir ordenadamente mis pensamientos, empezando
por los objetos más simples y más fáciles de conocer, para ir
ascendiendo poco a poco, gradualmente, hasta el conocimiento de los
más compuestos, e incluso suponiendo un orden entre los que no se
preceden naturalmente.
Y el último, hacer en todo unos recuentos tan integrales y unas
revisiones tan generales, que llegase a estar seguro de no omitir
nada.
Discurso del método
Geometría Computacional
31 de marzo, 1596- 11 de febrero 1650
Réne Descartes
Gráficos por Computadoras
Modelación de Sólidos
Diseño Asistido por Computadoras
Robótica
Procesamiento de Imágenes
Sistemas de Información Geográfica
Geometría ComputacionalDominio de aplicaciones
Cómo el robot percibe, comprende y actúa sobre el ambiente
Geometría Computacional
Aplicaciones en Robótica
Planificación de movimiento
Comprensión de ambiente
Orientación de partes
Optimización de movimientos
Almacenamiento de datos geográficos(contornos de países, alturas de montañas, cursos de ríos, población, calles, líneas eléctricas, etc.)
Geometría Computacional
Aplicaciones sobre GIS
Grandes volúmenes de datos– se requiere de algoritmos
Representación de los datos geográficos(ej., visualización en el display de mapas de calles según posición del carro).
Interpolación de una muestras de puntos cercanos
Solapamientos múltiple de mapas.
Diseño de productos por computadoras
Geometría Computacional
Aplicaciones en CAD/CAM
Intersección, unión, y descomposición de objetos.
Pruebas sobre especificación de productos
Pruebas de diseño y funcionalidad
Diseño por ensamblaje– modelación y simulación de ensamblaje
Doblar y desdoblar en Geometría Computacional
1D: Enlazados
2D: Papel
3D: Poliedro
Preservar longitud de aristas
No se pueden cruzar las aristas
Preservar distancias
No se puede cruzar a si mismo
Corte de superficies mientras se combinan y conectan
Geometría Computacional
M. Sancho UCI, La Habana, Cuba, Marzo de 2009
Doblado de Proteinas
Geometría Computacional
Doblado de Proteinas
Geometría Computacional
Geometría Computacional: Introducción