fbpx
Wikipedia

Geometría computacional

La geometría computacional es una rama de las ciencias de la computación dedicada al estudio de algoritmos que pueden ser expresados en términos de la geometría. Algunos de los problemas puramente geométricos surgen del propio estudio de dichos algoritmos, y este tipo de problemas también se considera parte de la geometría computacional.[1]​ También se considera una rama gráfica del ordenador.

Cilindro renderizado mediante un programa de ordenador.

Introducción

Una parte significativa del crecimiento que la Matemática Discreta, como un todo, ha experimentado en los últimos años, ha consistido en un desarrollo sustancial de la Geometría Discreta. Esto ha sido impulsado, en parte, por el desarrollo de ordenadores cada vez más potentes, y por la reciente explosión de actividad en el campo relativamente joven de la Geometría Computacional.

¿Y qué es la Geometría Computacional? En pocas palabras, es el arte de resolver problemas conceptualmente sencillos usando los menos recursos posibles y empleando el mínimo tiempo posible. La Geometría Computacional surgió a finales de los 70s del área de diseño y análisis de algoritmos. La mayoría de los estudios algorítmicos que abordaban estos problemas han ido apareciendo a lo largo de los últimos 150 años, aunque sobre todo en los últimos treinta. De todas formas, sólo muy recientemente han sido realizados estudios sistemáticos de algoritmos geométricos y cada día más investigadores se sienten atraídos por la disciplina que fue bautizada en 1975 por Shamos.

Hasta hace poco, Geometría Computacional se refería al diseño y análisis de algoritmos geométricos, pero en los últimos años ha ampliado su campo, y ahora también incluye el estudio de problemas geométricos desde un punto de vista computacional, incluyendo también convexidad computacional, topología computacional y complejidad combinatorial de disposiciones de poliedros.

En los últimos años ha aumentado el número de áreas en las que se aplican los resultados de esta disciplina. Entre las mismas se incluyen la ingeniería, cristalografía, diseño asistido por computador, sistemas de posicionamiento global, robótica, sistemas de detección de errores, modelado geométrico, gráficos por ordenador, optimización combinatorial, visión por ordenador, reconocimiento de patrones y modelado sólido.

Descripción

Es una disciplina constructiva, de carácter abstracto, que utiliza técnicas de la geometría clásica, la topología, la teoría de grafos, la teoría de conjuntos y el álgebra lineal. La geometría computacional es independiente de la tecnología de las máquinas de computación, si bien pone atención en proporcionar soluciones que se comporten de forma computacionalmente robusta.

La complejidad computacional es fundamental para la geometría computacional, con un enorme significado práctico si los algoritmos se usan en grandes conjuntos de datos que contienen decenas o cientos de millones de puntos. Para tales conjuntos, la diferencia entre O(n^2) y O(n logn) puede ser la diferencia entre días o segundos de computación.

El principal impulso para el desarrollo de la geometría computacional se lo dio el avance de la computación gráfica y el diseño asistido por ordenador (CAD/CAM), que hacen uso intensivo de las técnicas de esta disciplina. Otras aplicaciones importantes de la geometría computacional incluyen la robótica (planificación de movimientos y problemas de visualización), los sistemas de información geográfica (SIG) (localización y búsqueda geométrica, planificación de rutas), diseño de circuitos integrados (diseño geométrico y verifición de CI), ingeniería asistida por computadora (CAE) (programación de máquinas controladas numéricamente).

Las principales ramas de la geometría computacional son:

  • Geometría computacional combinatoria, también llamada geometría algorítmica, que trata de objetos geométricos como entidades discretas. Un libro sobre el tema por Preparata y Shamos fecha la primera utilización del término "geometría computacional" en este sentido en 1975.[2][1]
  • Geometría computacional numérica, que trata principalmente con la representación de objetos del mundo real en la forma adecuada para ser almacenada en un ordenador. Esta rama puede ser vista como un desarrollo de la geometría descriptiva y es a menudo considerada como una rama de los gráficos por ordenador o CAD. El término "geometría computacional", en este sentido ha estado en uso desde 1971.[3]

Complejidad algorítmica

Frecuentemente se tiene que un mismo problema puede resolverse mediante distintos algoritmos y es preciso establecer criterios que nos permita decidir cuál es mejor. En general se atiende a razones de economía en cuanto al número de operaciones que necesita el algoritmo para resolver el problema.

La complejidad de un algoritmo no es sino una medida del coste que supone su ejecución tanto en tiempo (o número de operaciones "elementales" que ha de realizar) como en espacio (o unidades de memoria requeridas para almacenar y manipular los datos a lo largo de la ejecución) y vendrá dada en función del número de datos de entrada.

El estudio de la complejidad de un algoritmo puede llevarse a cabo principalmente bajo dos puntos de vista:

      * Complejidad en el peor de los casos.

      * Complejidad en media (o esperada).

La primera consiste en medir la complejidad del algoritmo atendiendo a su ejecución cuando trata los datos del problema en el caso más desfavorable, entendiéndose por desfavorable el más costoso.

La segunda consiste en medir la complejidad haciendo un promedio entre todos los casos (favorables y no favorables) atendiendo a la probabilidad de que aparezcan como entrada. Para ello se supone que los datos de entrada vienen dados conforme a cierta distribución de probabilidad y se estudia cuál es el tiempo esperado de ejecución.

Si n es el tamaño del conjunto de datos de entrada de un determinado algoritmo, sus complejidades en tiempo y en espacio son funciones positivas de n y, en cuanto a su análisis, se está especialmente interesado en su comportamiento asintótico, es decir, en saber cómo se comportan para valores grandes de n.

La notación que utilizaremos en el estudio asintótico de estas funciones es la estándar propuesta por Knuth:

Si f(n) y g(n) dos funciones positivas se dirá que

1. "f es o grande de g" y se notará f(n) = O(g(n)) si existen una constante C > O y un número natural n0 > O tales que

f(n) menor Cg(n) para todo n > n0

2. "f es omega de g" y se notará f(n) Q(g(n)) si g(n) = O(f(n))

3. "f es theta de g" y se notará f(n) = O(g(n)) si f(n) = O(g(n)) y f(n) = Q(g(n)).

Geometría computacional combinatoria

 
Triangulación de un polígono. 1. Abanico. 2. Mínimo peso 3. Delaunay
 
Cálculo del cierre convexo de un conjunto de puntos por el Método de Graham.
 

El objetivo principal de la geometría computacional combinatoria es el desarrollo de algoritmos y estructuras de datos eficientes para resolver problemas basado en términos de objetos geométricos: puntos, segmentos, polígonos, poliedros, etc...

Algunos de estos problemas parecen tan simples que no fueron considerados como tal hasta la llegada de los ordenadores. Por ejemplo, la determinación del cierre convexo de un conjunto de puntos puede ser realizada de forma intuitiva sobre un papel utilizando una regla, pero no es tan evidente dar las instrucciones a un ordenador para que lo resuelva. Otro problema, el de encontrar el par de puntos más cercanos puede ser implementado de forma sencilla mediante una búsqueda por fuerza bruta, calculando la distancia entre las n(n-1)/2 combinaciones posibles de pares de puntos y eligiendo la menor, pero esta solución no es aplicable para conjuntos con un elevado número de puntos. [4][5]

Algunos problemas clásicos

A continuación se enumeran algunos problemas clásicos que han sido estudiados en el campo del la Geometría computacional combinatoria:[6][7][8][9]

Problemas dinámicos

Otra gran clase es la de los problemas dinámicos, en la cual el objetivo es encontrar un algoritmo eficiente para encontrar la solución repetidamente tras cada modificación incremental de los datos de entrada (adición o supresión de los elementos geométricos de entrada). Los algoritmos para los problemas de este tipo típicamente supone estructuras dinámicas de datos. Cualquiera de los problemas de geometría computacional puede ser convertido en uno dinámico, con el coste de incrementar el tiempo del proceso. Por ejemplo, el problema de la búsqueda de rango provisto de adición y/o supresión de los puntos. El problema de la Envolvente convexa dinámica es mantener un seguimiento de la envolvente convexa; por ejemplo, para los conjuntos de datos que cambian dinámicamente, o mientras que los puntos de entrada son insertados o suprimidos. La complejidad computacional para esta clase de problemas se estima mediante:

  • El tiempo y espacio requeridos para construir la estructura de datos que se va a buscar.
  • El tiempo y espacio para modificar la estructura de datos buscada después de un cambio incremental en el espacio de búsqueda.
  • El tiempo (y a veces un extra de espacio) para responder la consulta.

Sistemas de Geometría Dinámica (SGD/DGS) el término sistema aludiendo a un conjunto integrado de componentes como principal elemento un núcleo o kernel de geometría dinámica computacional con interfaz gráfica de usuario (GUI) y en algunos casos incluye scripts para automatizar procedimientos como lo realiza la aplicación GeoGebra

Variantes

Algunos problemas pueden ser tratados bajo el punto de vista estático y dinámico dependiendo del contexto. Por ejemplo, considerando el siguiente problema:

  • Punto en un polígono: Decide si un punto está dentro o fuera de un polígono dado.

Muchas de las puestas en práctica de este problema dan resultados con un único intento, esto es, perteneciendo a la primera clase. Por ejemplo, en muchas aplicaciones de la computación gráfica, un problema común es encontrar en qué área de la pantalla se hace clic con el cursor. Sin embargo, en algunas aplicaciones el polígono en cuestión es invariante, mientras que el punto representa una consulta. Por ejemplo, el polígono de entrada puede representar la frontera de un país y el punto es la posición de un avión, y el problema es determinar si el avión ha violado la frontera. Finalmente, el ejemplo anteriormente mencionado de la computación gráfica, en aplicaciones CAD los datos de entrada que cambian son usualmente almacenados en estructuras de datos dinámicas, lo cual puede ser explotado para agilizar las consultas de punto en un polígono. En algunos contextos de problemas de consultas hay expectativas razonables en la secuencia de las consultas, la cual puede ser aprovechada ya sea por estructuras de datos eficientes o por estimaciones de la complejidad computacional más ajustadas. Por ejemplo, en algunos casos es importante saber el peor caso para el tiempo total de la secuencia de N consultas antes que el de una única consulta.

Aplicaciones de la geometría computacional

Uno de los aspectos más interesantes de la Geometría Computacional es la gran aplicabilidad de sus resultados.

El significado del término computación se ha expandido notoriamente desde la introducción de los ordenadores, hará ahora unos cincuenta años.

Atendiendo a los objetos que procesan, destacan tres tipos de aplicaciones de los ordenadores. La primera generación va a ser la de los cálculos numéricos, aplicados sobre todo a problemas científicos y técnicos. La segunda, propiciada por necesidades más comerciales y administrativas, incorporaba largas listas de datos (por ejemplo alfabéticos), con vistas a cómo leer, almacenar, modificar, seleccionar, e imprimir esos datos.

Todo esto naturalmente pervive, y con fuerza, pero vivimos una tercera generación de aplicaciones dominada por el procesamiento de información geométrica y gráfica, presente en áreas tan diversas como son la medicina, la cartografía, el control de robots o el diseño artístico. La Geometría Computacional ha emergido, ciertamente, por la necesidad de dar respuesta a esta nueva y creciente demanda.

Se podría decir que las aplicaciones van a preceder la disciplina, y ahora que ésta tiene ya un núcleo teórico sólidamente constituido, como sus vertientes prácticas corresponden a tecnología de máxima vanguardia, la demanda de resultados continúa con la misma fuerza y exigencia que al principio. Por eso diremos que, en Geometría Computacional, las aplicaciones tienen un protagonismo esencial.

Dentro de los campos de aplicación más directamente relacionados con la disciplina se destacan:

    La Informática Gráfica

    El Diseño y Fabricación Asistida por Ordenador (CAD/CAM)

    La Caracterización y Reconocimiento Automático de Formas (Pattern Recognition)

    El Diseño VLSI

    La Visión Artificial

    La Cartografía

    La Robótica

A continuación se muestran algunos problemas particulares que se plantean en algunas de estas áreas, y en las que se han realizado contribuciones (en algunos casos, muy importantes) por parte de la Geometría.

Gráficos por ordenador

Lo que se entiende hoy por Gráficos por Ordenador (o Informática Gráfica), pese a ser una rama de Informática que también se ocupa de los fenómenos geométricos desde el punto de vista del cálculo, es un área bien distinta de la Geometría Computacional.

Mientras que ésta se ocupa de proporcionar los fundamentos teóricos involucrando el estudio de algoritmos y de estructuras de datos para hacer cálculos geométricos, la Informática Gráfica se ocupa del desarrollo práctico del software, hardware y algoritmos necesarios para crear gráficos en la pantalla del ordenador.

Sin embargo, ambas tienen algunas técnicas similares (otras muy distintas), y sin duda alguna, se influencian mutuamente. Desde el ámbito de los informática gráfica se dan a conocer problemas prácticos a la comunidad de estudiosos de la Geometría Computacional, y la Geometría Computacional aporta algoritmos rápidos que los resuelven. Se espera que la Geometría Computacional haga grandes mejoras a los algoritmos estándar usados en gráficos por ordenador.

La Geometría Computacional también proporciona nuevas maneras de pensar los problemas a los programadores de gráficos.

Una cuestión muy importante en informática gráfica es la representación realista de escenas complejas. Uno de los requisitos es la eliminación de líneas y superficies ocultas a partir de un modelo tridimensional. Las primeras soluciones razonablemente satisfactorias van a iniciar áreas importantes de investigación dentro de la geometría computacional, concretamente los problemas de intersección. Los resultados de estas investigaciones han dado nuevas aplicaciones en informática gráfica. De modo que hay una interacción continua en este problema como en otros muchos otros.

Otros problemas fundamentales que aparecen en Gráficos son: el trazado de rayos, la aproximación de contornos mediante poligonales y la triangulación de polígonos. En todos ellos la Geometría Computacional ha realizado recientemente contribuciones significativas.

En una habitación poligonal (galería de arte) en el plano se colocan cuatro cámaras de manera que se pueda vigilar con ellas toda la sala. Si se está interesado en averiguar cuál es la región que es visible por una sola cámara esto es equivalente a eliminar las porciones del polígono que quedan ocultas. Uno de los algoritmos estándar usado para resolver este problema de líneas ocultas en el plano es el debido a Freeman y Loutrel hace más de diez años antes de lo que se atribuye como el nacimiento de la Geometría Computacional. Dicho algoritmo corre en tiempo 0(n2) donde n es el número de lados del polígono.

Utilizando técnicas desarrolladas para el diseño de algoritmos en Geometría Computacional, ElGindy y Avis consiguieron un algoritmo para este problema que corre en tiempo (óptimo) 0(n), cuando n es grande esto supone una mejora sustancial en la velocidad de ejecución.

Fabricación industrial

A continuación, algunos ejemplos en este campo.

Modelado por inyección

Una de las técnicas utilizadas en la fabricación industrial de objetos consiste en utilizar moldes en los que se inyectan ciertos materiales líquidos que al solidificar dan lugar al objeto requerido con la forma imprimida por el molde.

Durante la inyección del líquido, el molde es colocado en una posición favorable de manera que no aparezcan defectos en la superficie tales como burbujas de aire y se garantice un llenado completo. Dos de los problemas que surgen en este contexto son: dado un objeto tridimensional como molde , establecer si existe una orientación que permite el llenado del molde usando sólo un punto de inyección y determinar una orientación que permita el llenado más completo.

Habitualmente en la práctica se sigue un proceso de prueba y error utilizando ciertas técnicas intuitivas.

Robótica

Una de las principales aplicaciones de Geometría Computacional tiene que ver con problemas de robótica. Dos ejemplos de ellos: la planificación de movimientos y el ensamblaje automático.

En el primero, el problema típico involucra un robot, generalmente modelizado como un punto, un disco, o un polígono en dos dimensiones, o bien como un poliedro en tres dimensiones que ha de moverse en el espacio entre una colección de obstáculos. Una de las preguntas usuales es ¿puede moverse el robot desde un punto A a otro B sin colisionar con los obstáculos?

Si es así, se deberá encontrar la trayectoria más corta. Localización de una trayectoria libre de colisiones.

El ensamblaje automático es un caso especial de problema de planificación de movimientos en el que consideramos una colección de objetos y la pregunta es si puede ser separada en partes o unir en una configuración determinada, y si es así, qué tipo de movimientos (giros, traslaciones, etc.) garantizan esa respuesta.

Estructuras de datos clásicas

Algunas estructuras empleadas en la resolución de problemas de forma eficiente:

  • Diagrama de Voronoi : Dado un conjunto de puntos, crear una partición del plano de acuerdo al punto más cercano.
  • Triangulación de Delaunay : Dado un conjunto de puntos, crear la mejor triangulación para interpolar valores en su interior.
  • Octree y Árbol kd : Organizar el espacio para realizar búsquedas geométricas de forma efectiva.

Geometría computacional numérica

 
Pieza modelada en Software CAD

Esta rama también llamada geometría máquina, diseño geométrico asistido por computador (CAGD), o modelado geométrico, trata principalmente del estudio de modelado y representación de curvas y superficies por ordenador. Para ello, emplea elementos como curvas y superficies paramétricas, (tipo curvas de Bézier o Splines) o curvas no paramétricas (como conjuntos de nivel).

Las áreas de aplicación incluyen industrias como diseño de naves, aeronaves y automóviles, diseño de escenarios y personajes de videojuegos, o animación por computadora, entre otras.

Bibliografía

http://www.dma.fi.upm.es/personal/gregorio/geometria_computacional/web/shortest_path/html/Geometria_Computacional.htm

https://personal.us.es/almar/docencia/practicas/

Referencias y enlaces externos

  1. Shamos, Michael (1978). «Computational Geometry» (PDF). Yale University. 
  2. Franco P. Preparata and Michael Ian Shamos (1985). Computational Geometry - An Introduction. Springer-Verlag. 1st edition: ISBN 0-387-96131-3; 2nd printing, corrected and expanded, 1988: ISBN 3-540-96131-3. 
  3. Forrest, A. (1971). «Computational geometry». Proc. Royal Society London 321 (1545). doi:10.1098/rspa.1971.0025. 
  4. Khuller, Samir; Matias, Y. (1995). «A simple randomized sieve algorithm for the closest-pair problem». Information and Computation 118 (1): 34-37. doi:10.1006/inco.1995.1049. 
  5. Fortune, Steve; Hopcroft, J.E. (1979). «A note on Rabin's nearest-neighbor algorithm». Information Processing Letters 8 (1): 20-23. 
  6. Morales, Miguel Ángel (27 de junio de 2011). «Una interesante introducción a la Geometría Computacional». Gaussianos. Consultado el 1 de marzo de 2017. 
  7. Rivero, Francisco. «Geometría Computacional». Consultado el 1 de marzo de 2017. 
  8. Grima, Clara (2011). «Cada uno en su región y Voronoi en la de todos». Naukas. 
  9. O'Rourke, Joseph. Computational Geometry in C (2 edición). Cambridge University Press. ISBN 9780521649766. 

Otros recursos

  •   Datos: Q874709
  •   Multimedia: Computational geometry

geometría, computacional, geometría, computacional, rama, ciencias, computación, dedicada, estudio, algoritmos, pueden, expresados, términos, geometría, algunos, problemas, puramente, geométricos, surgen, propio, estudio, dichos, algoritmos, este, tipo, proble. La geometria computacional es una rama de las ciencias de la computacion dedicada al estudio de algoritmos que pueden ser expresados en terminos de la geometria Algunos de los problemas puramente geometricos surgen del propio estudio de dichos algoritmos y este tipo de problemas tambien se considera parte de la geometria computacional 1 Tambien se considera una rama grafica del ordenador Cilindro renderizado mediante un programa de ordenador Indice 1 Introduccion 2 Descripcion 3 Complejidad algoritmica 4 Geometria computacional combinatoria 4 1 Algunos problemas clasicos 4 2 Problemas dinamicos 4 3 Variantes 5 Aplicaciones de la geometria computacional 5 1 Graficos por ordenador 5 2 Fabricacion industrial 5 2 1 Modelado por inyeccion 5 2 2 Robotica 5 3 Estructuras de datos clasicas 6 Geometria computacional numerica 7 Bibliografia 8 Referencias y enlaces externos 8 1 Otros recursosIntroduccion EditarUna parte significativa del crecimiento que la Matematica Discreta como un todo ha experimentado en los ultimos anos ha consistido en un desarrollo sustancial de la Geometria Discreta Esto ha sido impulsado en parte por el desarrollo de ordenadores cada vez mas potentes y por la reciente explosion de actividad en el campo relativamente joven de la Geometria Computacional Y que es la Geometria Computacional En pocas palabras es el arte de resolver problemas conceptualmente sencillos usando los menos recursos posibles y empleando el minimo tiempo posible La Geometria Computacional surgio a finales de los 70s del area de diseno y analisis de algoritmos La mayoria de los estudios algoritmicos que abordaban estos problemas han ido apareciendo a lo largo de los ultimos 150 anos aunque sobre todo en los ultimos treinta De todas formas solo muy recientemente han sido realizados estudios sistematicos de algoritmos geometricos y cada dia mas investigadores se sienten atraidos por la disciplina que fue bautizada en 1975 por Shamos Hasta hace poco Geometria Computacional se referia al diseno y analisis de algoritmos geometricos pero en los ultimos anos ha ampliado su campo y ahora tambien incluye el estudio de problemas geometricos desde un punto de vista computacional incluyendo tambien convexidad computacional topologia computacional y complejidad combinatorial de disposiciones de poliedros En los ultimos anos ha aumentado el numero de areas en las que se aplican los resultados de esta disciplina Entre las mismas se incluyen la ingenieria cristalografia diseno asistido por computador sistemas de posicionamiento global robotica sistemas de deteccion de errores modelado geometrico graficos por ordenador optimizacion combinatorial vision por ordenador reconocimiento de patrones y modelado solido Descripcion EditarEs una disciplina constructiva de caracter abstracto que utiliza tecnicas de la geometria clasica la topologia la teoria de grafos la teoria de conjuntos y el algebra lineal La geometria computacional es independiente de la tecnologia de las maquinas de computacion si bien pone atencion en proporcionar soluciones que se comporten de forma computacionalmente robusta La complejidad computacional es fundamental para la geometria computacional con un enorme significado practico si los algoritmos se usan en grandes conjuntos de datos que contienen decenas o cientos de millones de puntos Para tales conjuntos la diferencia entre O n 2 y O n logn puede ser la diferencia entre dias o segundos de computacion El principal impulso para el desarrollo de la geometria computacional se lo dio el avance de la computacion grafica y el diseno asistido por ordenador CAD CAM que hacen uso intensivo de las tecnicas de esta disciplina Otras aplicaciones importantes de la geometria computacional incluyen la robotica planificacion de movimientos y problemas de visualizacion los sistemas de informacion geografica SIG localizacion y busqueda geometrica planificacion de rutas diseno de circuitos integrados diseno geometrico y verificion de CI ingenieria asistida por computadora CAE programacion de maquinas controladas numericamente Las principales ramas de la geometria computacional son Geometria computacional combinatoria tambien llamada geometria algoritmica que trata de objetos geometricos como entidades discretas Un libro sobre el tema por Preparata y Shamos fecha la primera utilizacion del termino geometria computacional en este sentido en 1975 2 1 Geometria computacional numerica que trata principalmente con la representacion de objetos del mundo real en la forma adecuada para ser almacenada en un ordenador Esta rama puede ser vista como un desarrollo de la geometria descriptiva y es a menudo considerada como una rama de los graficos por ordenador o CAD El termino geometria computacional en este sentido ha estado en uso desde 1971 3 Complejidad algoritmica EditarFrecuentemente se tiene que un mismo problema puede resolverse mediante distintos algoritmos y es preciso establecer criterios que nos permita decidir cual es mejor En general se atiende a razones de economia en cuanto al numero de operaciones que necesita el algoritmo para resolver el problema La complejidad de un algoritmo no es sino una medida del coste que supone su ejecucion tanto en tiempo o numero de operaciones elementales que ha de realizar como en espacio o unidades de memoria requeridas para almacenar y manipular los datos a lo largo de la ejecucion y vendra dada en funcion del numero de datos de entrada El estudio de la complejidad de un algoritmo puede llevarse a cabo principalmente bajo dos puntos de vista Complejidad en el peor de los casos Complejidad en media o esperada La primera consiste en medir la complejidad del algoritmo atendiendo a su ejecucion cuando trata los datos del problema en el caso mas desfavorable entendiendose por desfavorable el mas costoso La segunda consiste en medir la complejidad haciendo un promedio entre todos los casos favorables y no favorables atendiendo a la probabilidad de que aparezcan como entrada Para ello se supone que los datos de entrada vienen dados conforme a cierta distribucion de probabilidad y se estudia cual es el tiempo esperado de ejecucion Si n es el tamano del conjunto de datos de entrada de un determinado algoritmo sus complejidades en tiempo y en espacio son funciones positivas de n y en cuanto a su analisis se esta especialmente interesado en su comportamiento asintotico es decir en saber como se comportan para valores grandes de n La notacion que utilizaremos en el estudio asintotico de estas funciones es la estandar propuesta por Knuth Si f n y g n dos funciones positivas se dira que1 f es o grande de g y se notara f n O g n si existen una constante C gt O y un numero natural n0 gt O tales quef n menor Cg n para todo n gt n02 f es omega de g y se notara f n Q g n si g n O f n 3 f es theta de g y se notara f n O g n si f n O g n y f n Q g n Geometria computacional combinatoria Editar Triangulacion de un poligono 1 Abanico 2 Minimo peso 3 Delaunay Calculo del cierre convexo de un conjunto de puntos por el Metodo de Graham Triangulacion de Delaunay y Diagrama de Voronoi de un conjunto de puntos El objetivo principal de la geometria computacional combinatoria es el desarrollo de algoritmos y estructuras de datos eficientes para resolver problemas basado en terminos de objetos geometricos puntos segmentos poligonos poliedros etc Algunos de estos problemas parecen tan simples que no fueron considerados como tal hasta la llegada de los ordenadores Por ejemplo la determinacion del cierre convexo de un conjunto de puntos puede ser realizada de forma intuitiva sobre un papel utilizando una regla pero no es tan evidente dar las instrucciones a un ordenador para que lo resuelva Otro problema el de encontrar el par de puntos mas cercanos puede ser implementado de forma sencilla mediante una busqueda por fuerza bruta calculando la distancia entre las n n 1 2 combinaciones posibles de pares de puntos y eligiendo la menor pero esta solucion no es aplicable para conjuntos con un elevado numero de puntos 4 5 Algunos problemas clasicos Editar A continuacion se enumeran algunos problemas clasicos que han sido estudiados en el campo del la Geometria computacional combinatoria 6 7 8 9 Cierre convexo Dado un conjunto de puntos encontrar el poligono convexo de menor area que los contenga Triangulacion de un poligono Descomponer un poligono en una serie de triangulos que lo recubran Problema del par de puntos mas cercanos Dado un conjunto de puntos encontrar el par de puntos mas proximos entre si Diametro de un conjunto de puntos Dado un conjunto de puntos encontrar el par de puntos mas alejados entre si Problema del mayor circulo vacio Dado un conjunto de puntos encontrar el mayor circulo con centro dentro del cierre convexo y que no contenga ningun punto Interseccion de segmentos de recta Dado un conjunto de segmentos en el plano encontrar todos los puntos de interseccion en segmentos Operaciones booleanas sobre poligonos Calcular de forma eficiente uniones intersecciones entre poligonos Problema de la galeria de arte Determinar el minimo numero de puntos de un poligono que son suficientes para ver a todos los restantes Busqueda de rango Dado un conjunto de puntos encontrar aquellos en el interior de una figura geometrica dada Problemas dinamicos Editar Otra gran clase es la de los problemas dinamicos en la cual el objetivo es encontrar un algoritmo eficiente para encontrar la solucion repetidamente tras cada modificacion incremental de los datos de entrada adicion o supresion de los elementos geometricos de entrada Los algoritmos para los problemas de este tipo tipicamente supone estructuras dinamicas de datos Cualquiera de los problemas de geometria computacional puede ser convertido en uno dinamico con el coste de incrementar el tiempo del proceso Por ejemplo el problema de la busqueda de rango provisto de adicion y o supresion de los puntos El problema de la Envolvente convexa dinamica es mantener un seguimiento de la envolvente convexa por ejemplo para los conjuntos de datos que cambian dinamicamente o mientras que los puntos de entrada son insertados o suprimidos La complejidad computacional para esta clase de problemas se estima mediante El tiempo y espacio requeridos para construir la estructura de datos que se va a buscar El tiempo y espacio para modificar la estructura de datos buscada despues de un cambio incremental en el espacio de busqueda El tiempo y a veces un extra de espacio para responder la consulta Sistemas de Geometria Dinamica SGD DGS el termino sistema aludiendo a un conjunto integrado de componentes como principal elemento un nucleo o kernel de geometria dinamica computacional con interfaz grafica de usuario GUI y en algunos casos incluye scripts para automatizar procedimientos como lo realiza la aplicacion GeoGebra Variantes Editar Algunos problemas pueden ser tratados bajo el punto de vista estatico y dinamico dependiendo del contexto Por ejemplo considerando el siguiente problema Punto en un poligono Decide si un punto esta dentro o fuera de un poligono dado Muchas de las puestas en practica de este problema dan resultados con un unico intento esto es perteneciendo a la primera clase Por ejemplo en muchas aplicaciones de la computacion grafica un problema comun es encontrar en que area de la pantalla se hace clic con el cursor Sin embargo en algunas aplicaciones el poligono en cuestion es invariante mientras que el punto representa una consulta Por ejemplo el poligono de entrada puede representar la frontera de un pais y el punto es la posicion de un avion y el problema es determinar si el avion ha violado la frontera Finalmente el ejemplo anteriormente mencionado de la computacion grafica en aplicaciones CAD los datos de entrada que cambian son usualmente almacenados en estructuras de datos dinamicas lo cual puede ser explotado para agilizar las consultas de punto en un poligono En algunos contextos de problemas de consultas hay expectativas razonables en la secuencia de las consultas la cual puede ser aprovechada ya sea por estructuras de datos eficientes o por estimaciones de la complejidad computacional mas ajustadas Por ejemplo en algunos casos es importante saber el peor caso para el tiempo total de la secuencia de N consultas antes que el de una unica consulta Aplicaciones de la geometria computacional EditarUno de los aspectos mas interesantes de la Geometria Computacional es la gran aplicabilidad de sus resultados El significado del termino computacion se ha expandido notoriamente desde la introduccion de los ordenadores hara ahora unos cincuenta anos Atendiendo a los objetos que procesan destacan tres tipos de aplicaciones de los ordenadores La primera generacion va a ser la de los calculos numericos aplicados sobre todo a problemas cientificos y tecnicos La segunda propiciada por necesidades mas comerciales y administrativas incorporaba largas listas de datos por ejemplo alfabeticos con vistas a como leer almacenar modificar seleccionar e imprimir esos datos Todo esto naturalmente pervive y con fuerza pero vivimos una tercera generacion de aplicaciones dominada por el procesamiento de informacion geometrica y grafica presente en areas tan diversas como son la medicina la cartografia el control de robots o el diseno artistico La Geometria Computacional ha emergido ciertamente por la necesidad de dar respuesta a esta nueva y creciente demanda Se podria decir que las aplicaciones van a preceder la disciplina y ahora que esta tiene ya un nucleo teorico solidamente constituido como sus vertientes practicas corresponden a tecnologia de maxima vanguardia la demanda de resultados continua con la misma fuerza y exigencia que al principio Por eso diremos que en Geometria Computacional las aplicaciones tienen un protagonismo esencial Dentro de los campos de aplicacion mas directamente relacionados con la disciplina se destacan La Informatica Grafica El Diseno y Fabricacion Asistida por Ordenador CAD CAM La Caracterizacion y Reconocimiento Automatico de Formas Pattern Recognition El Diseno VLSI La Vision Artificial La Cartografia La RoboticaA continuacion se muestran algunos problemas particulares que se plantean en algunas de estas areas y en las que se han realizado contribuciones en algunos casos muy importantes por parte de la Geometria Graficos por ordenador Editar Lo que se entiende hoy por Graficos por Ordenador o Informatica Grafica pese a ser una rama de Informatica que tambien se ocupa de los fenomenos geometricos desde el punto de vista del calculo es un area bien distinta de la Geometria Computacional Mientras que esta se ocupa de proporcionar los fundamentos teoricos involucrando el estudio de algoritmos y de estructuras de datos para hacer calculos geometricos la Informatica Grafica se ocupa del desarrollo practico del software hardware y algoritmos necesarios para crear graficos en la pantalla del ordenador Sin embargo ambas tienen algunas tecnicas similares otras muy distintas y sin duda alguna se influencian mutuamente Desde el ambito de los informatica grafica se dan a conocer problemas practicos a la comunidad de estudiosos de la Geometria Computacional y la Geometria Computacional aporta algoritmos rapidos que los resuelven Se espera que la Geometria Computacional haga grandes mejoras a los algoritmos estandar usados en graficos por ordenador La Geometria Computacional tambien proporciona nuevas maneras de pensar los problemas a los programadores de graficos Una cuestion muy importante en informatica grafica es la representacion realista de escenas complejas Uno de los requisitos es la eliminacion de lineas y superficies ocultas a partir de un modelo tridimensional Las primeras soluciones razonablemente satisfactorias van a iniciar areas importantes de investigacion dentro de la geometria computacional concretamente los problemas de interseccion Los resultados de estas investigaciones han dado nuevas aplicaciones en informatica grafica De modo que hay una interaccion continua en este problema como en otros muchos otros Otros problemas fundamentales que aparecen en Graficos son el trazado de rayos la aproximacion de contornos mediante poligonales y la triangulacion de poligonos En todos ellos la Geometria Computacional ha realizado recientemente contribuciones significativas En una habitacion poligonal galeria de arte en el plano se colocan cuatro camaras de manera que se pueda vigilar con ellas toda la sala Si se esta interesado en averiguar cual es la region que es visible por una sola camara esto es equivalente a eliminar las porciones del poligono que quedan ocultas Uno de los algoritmos estandar usado para resolver este problema de lineas ocultas en el plano es el debido a Freeman y Loutrel hace mas de diez anos antes de lo que se atribuye como el nacimiento de la Geometria Computacional Dicho algoritmo corre en tiempo 0 n2 donde n es el numero de lados del poligono Utilizando tecnicas desarrolladas para el diseno de algoritmos en Geometria Computacional ElGindy y Avis consiguieron un algoritmo para este problema que corre en tiempo optimo 0 n cuando n es grande esto supone una mejora sustancial en la velocidad de ejecucion Fabricacion industrial Editar A continuacion algunos ejemplos en este campo Modelado por inyeccion Editar Una de las tecnicas utilizadas en la fabricacion industrial de objetos consiste en utilizar moldes en los que se inyectan ciertos materiales liquidos que al solidificar dan lugar al objeto requerido con la forma imprimida por el molde Durante la inyeccion del liquido el molde es colocado en una posicion favorable de manera que no aparezcan defectos en la superficie tales como burbujas de aire y se garantice un llenado completo Dos de los problemas que surgen en este contexto son dado un objeto tridimensional como molde establecer si existe una orientacion que permite el llenado del molde usando solo un punto de inyeccion y determinar una orientacion que permita el llenado mas completo Habitualmente en la practica se sigue un proceso de prueba y error utilizando ciertas tecnicas intuitivas Robotica Editar Una de las principales aplicaciones de Geometria Computacional tiene que ver con problemas de robotica Dos ejemplos de ellos la planificacion de movimientos y el ensamblaje automatico En el primero el problema tipico involucra un robot generalmente modelizado como un punto un disco o un poligono en dos dimensiones o bien como un poliedro en tres dimensiones que ha de moverse en el espacio entre una coleccion de obstaculos Una de las preguntas usuales es puede moverse el robot desde un punto A a otro B sin colisionar con los obstaculos Si es asi se debera encontrar la trayectoria mas corta Localizacion de una trayectoria libre de colisiones El ensamblaje automatico es un caso especial de problema de planificacion de movimientos en el que consideramos una coleccion de objetos y la pregunta es si puede ser separada en partes o unir en una configuracion determinada y si es asi que tipo de movimientos giros traslaciones etc garantizan esa respuesta Estructuras de datos clasicas Editar Algunas estructuras empleadas en la resolucion de problemas de forma eficiente Diagrama de Voronoi Dado un conjunto de puntos crear una particion del plano de acuerdo al punto mas cercano Triangulacion de Delaunay Dado un conjunto de puntos crear la mejor triangulacion para interpolar valores en su interior Octree y Arbol kd Organizar el espacio para realizar busquedas geometricas de forma efectiva Geometria computacional numerica Editar Pieza modelada en Software CAD Articulo principal Diseno asistido por computadora Esta rama tambien llamada geometria maquina diseno geometrico asistido por computador CAGD o modelado geometrico trata principalmente del estudio de modelado y representacion de curvas y superficies por ordenador Para ello emplea elementos como curvas y superficies parametricas tipo curvas de Bezier o Splines o curvas no parametricas como conjuntos de nivel Las areas de aplicacion incluyen industrias como diseno de naves aeronaves y automoviles diseno de escenarios y personajes de videojuegos o animacion por computadora entre otras Bibliografia Editarhttp www dma fi upm es personal gregorio geometria computacional web shortest path html Geometria Computacional htmhttps personal us es almar docencia practicas Referencias y enlaces externos Editar a b Shamos Michael 1978 Computational Geometry PDF Yale University Franco P Preparata and Michael Ian Shamos 1985 Computational Geometry An Introduction Springer Verlag 1st edition ISBN 0 387 96131 3 2nd printing corrected and expanded 1988 ISBN 3 540 96131 3 Forrest A 1971 Computational geometry Proc Royal Society London 321 1545 doi 10 1098 rspa 1971 0025 Khuller Samir Matias Y 1995 A simple randomized sieve algorithm for the closest pair problem Information and Computation 118 1 34 37 doi 10 1006 inco 1995 1049 Fortune Steve Hopcroft J E 1979 A note on Rabin s nearest neighbor algorithm Information Processing Letters 8 1 20 23 Morales Miguel Angel 27 de junio de 2011 Una interesante introduccion a la Geometria Computacional Gaussianos Consultado el 1 de marzo de 2017 Rivero Francisco Geometria Computacional Consultado el 1 de marzo de 2017 Grima Clara 2011 Cada uno en su region y Voronoi en la de todos Naukas O Rourke Joseph Computational Geometry in C 2 edicion Cambridge University Press ISBN 9780521649766 Otros recursos Editar Wikimedia Commons alberga una categoria multimedia sobre Geometria computacional Journal of Computational Geometry Consultado el 1 de marzo de 2017 International Symposium on Computational Geometry Consultado el 1 de marzo de 2017 The Computational Geometry Algorithms Library CGAL Datos Q874709 Multimedia Computational geometry Obtenido de https es wikipedia org w index php title Geometria computacional amp oldid 137465220, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos