introducción a geometría computacional

38
Geometría Computacional: Introducción Maikel Arcia Miguel Sancho

Upload: miguel-sancho

Post on 03-Jul-2015

901 views

Category:

Education


4 download

DESCRIPTION

Introducción a las técnicas básicas de resolución de problemas de la Geometría Computacional. Análisis de la Envoltura Convexa como un problema tipo, a través del cual presentaremos los elementos fundamentales que se deben tener en cuenta para la solución eficiente de un problema.

TRANSCRIPT

Page 1: Introducción a  Geometría Computacional

Geometría Computacional: Introducción

Maikel Arcia

Miguel Sancho

Page 2: Introducción a  Geometría Computacional

Ejemplo 1 Proximidad

¿Cuál es el teléfono más cercana?

Diagrama Voronoi

Geometría Computacional

Page 3: Introducción a  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

Page 4: Introducción a  Geometrí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

Page 5: Introducción a  Geometrí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

Page 6: Introducción a  Geometría Computacional

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

Page 7: Introducción a  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

Page 8: Introducción a  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.

Page 9: Introducción a  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.

Page 10: Introducción a  Geometría Computacional

Determinar intersecciones entre capas.

Geometría Computacional

Ejemplo 3 Solapamientos de Mapa

Page 11: Introducción a  Geometría Computacional

Determinar intersecciones entre colecciones de objetos.

Geometría Computacional

Ejemplo 3 Intersección de Objetos

Page 12: Introducción a  Geometría Computacional

Á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

Page 13: Introducción a  Geometría Computacional

Determinar intersecciones entre colecciones de objetos.

Geometría Computacional

Ejemplo 3 Intersección de Objetos

Page 14: Introducción a  Geometría Computacional

Dividir dominios complejos en colecciones de objetos

simples.

Geometría Computacional

Ejemplo 3 Triangulación

Page 15: Introducción a  Geometría Computacional

Dividir dominios complejos en colecciones de objetos

simples.

Geometría Computacional

Ejemplo 3 Triangulación

Page 16: Introducción a  Geometría Computacional

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

Page 17: Introducción a  Geometría Computacional

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

Page 18: Introducción a  Geometría Computacional

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

Page 19: Introducción a  Geometría Computacional

G

F

D

B

C

E

A

{A,E}

{G}

{B,C,D}

{F}

Ejemplo 5 Búsqueda Geométrica

Page 20: Introducción a  Geometría Computacional

¿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

Page 21: Introducción a  Geometrí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

Page 22: Introducción a  Geometrí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

Page 23: Introducción a  Geometría Computacional

Propiedades de un algoritmo

Finitud.

Terminación.

Corrección.

Eficiencia.

No-degeneración.

Robustez.

Geometría Computacional

Page 24: Introducción a  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

Page 25: Introducción a  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

Page 26: Introducción a  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

Page 27: Introducción a  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

Page 28: Introducción a  Geometría Computacional

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

Page 29: Introducción a  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

Page 30: Introducción a  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

Page 31: Introducción a  Geometría Computacional

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

Page 32: Introducción a  Geometría Computacional

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

Page 33: Introducción a  Geometría Computacional

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.

Page 34: Introducción a  Geometría Computacional

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

Page 35: Introducción a  Geometría Computacional

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

Page 36: Introducción a  Geometría Computacional

Doblado de Proteinas

Geometría Computacional

Page 37: Introducción a  Geometría Computacional

Doblado de Proteinas

Geometría Computacional

Page 38: Introducción a  Geometría Computacional

Geometría Computacional: Introducción