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ácticas
 Algoritmos 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 Computacional
Dominio 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

Introducción a Geometría Computacional

  • 1.
  • 2.
    Ejemplo 1 Proximidad ¿Cuáles el teléfono más cercana? Diagrama Voronoi Geometría Computacional
  • 3.
    ¿Qué es laGeometrí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
  • 4.
    ¿Qué es laGeometrí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
  • 5.
    Creación de imágenesde 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
  • 6.
    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
  • 7.
    ¿Cómo un robotencuentra el camino más cercano evitando todos obstáculos? Robot Ejemplo 2 Planeación de camino Geometría Computacional
  • 8.
    Geometría Computacional Ejemplo 2Planeació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.
  • 9.
    Geometría Computacional Ejemplo 2Planeació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.
  • 10.
     Determinar interseccionesentre capas. Geometría Computacional Ejemplo 3 Solapamientos de Mapa
  • 11.
     Determinar interseccionesentre colecciones de objetos. Geometría Computacional Ejemplo 3 Intersección de Objetos
  • 12.
    Área de estudiosistemá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
  • 13.
     Determinar interseccionesentre colecciones de objetos. Geometría Computacional Ejemplo 3 Intersección de Objetos
  • 14.
     Dividir dominioscomplejos en colecciones de objetos simples. Geometría Computacional Ejemplo 3 Triangulación
  • 15.
     Dividir dominioscomplejos en colecciones de objetos simples. Geometría Computacional Ejemplo 3 Triangulación
  • 16.
     Problemas deoptimización  Ej.: menor circulo que contiene un conjunto de puntos. Geometría ComputacionalGeometría Computacional Ejemplo 4 Prog. Lineal en 2D y 3D
  • 17.
     Problemas deoptimización  Ej.: menor circulo que contiene un conjunto de puntos. Geometría ComputacionalGeometría Computacional Ejemplo 4 Prog. Lineal en 2D y 3D
  • 18.
     Algoritmos yestructuras 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
  • 19.
  • 20.
    ¿Origen de laGeometrí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
  • 21.
    ¿Origen de laGeometrí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
  • 22.
    Objetivos Objetivo: Construcción y análisisde 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
  • 23.
    Propiedades de unalgoritmo  Finitud.  Terminación.  Corrección.  Eficiencia.  No-degeneración.  Robustez. Geometría Computacional
  • 24.
     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
  • 25.
    Limitaciones de laGeometrí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
  • 26.
    Técnicas de diseñode 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
  • 27.
     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ácticas  Algoritmos simples  Frecuentemente aleatorizados.  Tratamiento integral de casos degenerados. Geometría Computacional Tendencias actuales
  • 28.
    Pasos generales parala 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
  • 29.
    Y como lamultitud 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
  • 30.
    Y como lamultitud 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
  • 31.
    Gráficos por Computadoras Modelaciónde Sólidos Diseño Asistido por Computadoras Robótica Procesamiento de Imágenes Sistemas de Información Geográfica Geometría Computacional Dominio de aplicaciones
  • 32.
    Cómo el robotpercibe, 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
  • 33.
    Almacenamiento de datosgeográ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.
  • 34.
    Diseño de productospor 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
  • 35.
    Doblar y desdoblaren 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
  • 36.
  • 37.
  • 38.