Sunteți pe pagina 1din 14

ESCUELA SUPERIOR DE INGENIERIA

MECANICA Y ELECTRICA

UNIDAD CULHUACAN

CARRERA: INGENIERIA EN COMPUTACION

ASIGNATURA: ANÁLISIS DE ALGORITMOS

TRABAJO ESCRITO
ALGORITMOS GEOMETRICOS

PROFESORA: DRA. GUARDIAN SOTO BEATRIZ DOLORES

GRUPO: 5CM23

ALUMNOS:
ANTONIO NORIEGA ALFREDO
LECHUGA ORTEGA JESÚS ALEJANDRO
OSNAYA ARRIETA JOSÉ DANIEL
SILVA ROBLES ARI RAÚL

ENTREGA: 7 DE NOVIEMBRE DEL 2018

1
Contenido
Objetivo ....................................................................................................3
Introducción .............................................................................................3
Teoría ........................................................................................................4
Ejemplos ...................................................................................................7
Algoritmos geométricos .........................................................................7
Búsqueda Geométrica .............................................................................8
Inclusión de polígonos ............................................................................9
Intersección de polígonos .....................................................................10
Aplicaciones ............................................................................................13
Algoritmos geométricos .......................................................................13
Búsqueda Geométrica ...........................................................................13
Inclusión de polígonos ..........................................................................13
Intersección de polígonos .....................................................................13
Trabajos citados.....................................................................................14

2
Objetivo
La finalidad de este informe es detallar a grandes rasgos los algoritmos geométricos
presentados, el cómo son aplicables y su definición.

Introducción
Los algoritmos geométricos o la geometría computacional como es mejor conocida es
una rama de la ciencia de la computación que estudia algoritmos para resolver
problemas geométricos. Dentro de los algoritmos geométricos son utilizadas técnicas
como la de búsqueda geométrica la cual como dice su nombre , analizara a partir de un
espacio geométrico alguna característica o punto clave necesario, mientras que
también será utilizada la inclusión de polígonos que será dada un figura geométrica
plana que está limitada por tres o más rectas y tiene tres o más ángulos y vértices se
realizara alguna búsqueda o se relacionaran polígonos entre si dando paso a la
intersección de polígonos en donde será la unión de tomar más de un polígono siendo
a grandes rasgos temas que conforma un los algoritmos geométricos y ver que son
muy aplicables y de aquí deriva algunos de los algoritmos como el de Voronoi, Marcha
de Javis y el de Scan de Graham.

Figura 1. Representación Geométrica

Fuente: M. Macho.: Posts Tagged 'geometría computacional'

3
Teoría
Si bien la Geometría Computacional surgió a finales de los 70s especializada en el área
de diseño y análisis de algoritmos.
Con enfoques en los cuales se buscaba:

• Estudio sistemático de algoritmos y estructuras de datos de objetos geométricos,


con un enfoque en algoritmos exactos (deterministas).

• Reúne problemas matemáticos y de ciencias de la computación.

• Aplicaciones a numerosas áreas como: gráficos por computadora, sistemas de


información geográficos, robótica, visión por computadora, etc.

• Una buena solución al problema de Geometría Computacional requiere de una


buena comprensión de la estructura geométrica del problema y conocimiento
profundo de algorítmica y estructuras de datos.

Los algoritmos geométricos operan sobre objetos geométricos tales como puntos,
segmentos o polígonos.
Analizaremos algoritmos en dos dimensiones en los que cada objeto geométrico es
representado como un conjunto de puntos {𝑝𝑖} 𝑑𝑜𝑛𝑑𝑒 𝑝𝑖 = (𝑥𝑖, 𝑦𝑖) 𝑐𝑜𝑛 𝑥𝑖, 𝑦𝑖 ∈ 𝑅

Figura 2. Construcción Geométrica a partir de puntos

Fuente: Miguel Sancho.: Geometría Computacional

Hay quien dice que el primer algoritmo de Geometría Computacional nace cuando una
serie de pasos correctos no ambiguos y con un final resuelven un problema
geométrico, el precursor: Euclides, pero es solo a principios de 1970 que Michael
Shamos comienza un estudio sistematizado de problemas, obsesionado con la idea de
crear una nueva disciplina de las ciencias de computación, a la cual llamo Geometría
Computacional

4
Imagen 1. Michael Shamos padre de la Geometría Computacional

La investigación en esta área ha encontrado muchas aplicaciones en la vida real:


Robótica, reconocimiento de voz y de patrones, diseño gráfico, sistemas de información
geográfica, etc.

En la geometría computacional se busca distintos parámetros para ejemplos aplicables,


pues bien esta búsqueda se da a partir de una serie de datos geométricos se observara
y analizara si se cumplen una determinada condición geométrica en los datos, esa
condición es propuesta de acuerdo a problema propuesto además de buscar se pude
localizar puntos o figuras, dada una partición del espacio geométrico, se calcula
eficientemente en qué celda se localiza el punto.

Figura 3. Búsqueda en espacio geométrico

Fuente: Pablo Brasero Moreno.: Conjunto de puntos

Considerando la partición del plano determinada por un polígono simple (región interior
y exterior). Es la definición de la inclusión de polígonos pero antes debemos detallar lo
que es un polígono, pues bien un polígono es aquella figura geométrica plana que está
limitada por tres o más rectas y tiene tres o más ángulos y vértices

5
Figura 4. Características de un polígono

Fuente: s/autor.: Elementos de un polígono


Estos polígonos pueden enfrentarse a ser relacionado o unido a otro polígono a esto lo
conocemos como una intersección donde dados 2 o más polígonos interactúan
 Donde no pueden ocupar el mismo lugar al mismo tiempo

 No hay puntos de intersección

 Existen puntos de intersección entre distintos objetos geométricos

 Extensión natural de problemas de localización y búsqueda geométrica

 Eliminación de líneas ocultas en diseño grafico

Figura 5. Intersección de 2 polígonos

Fuente: M. Sepúlveda: Polígonos Convexos:

6
Ejemplos
Algoritmos geométricos
1er Ejemplo
Inicio
Lee a, b, c
Calcular perímetro = a+b+c
Escribir perímetro
Fin.
2do Ejemplo

3er Ejemplo

7
Calcular la distancia entre dos puntos

Formula=

Búsqueda Geométrica
1er Ejemplo
 Dada una región del espacio, pre-procesar un conjunto de figuras localizar
donde se encuentra el punto a, b y c de acuerdo a la representación

El punto a se encuentra fuera de cualquier región


de alguna figura
El punto b se encuentra en la región del
decágono.
El punto c se encuentra en la región del
heptágono

2do Ejemplo
• Dada una región del espacio, pre-procesar un conjunto de puntos para contar de
manera eficiente cuántos hay en la región.

Puntos dentro de la región triangular = 5

Puntos fuera de la región triangular = 11

8
3er Ejemplo
• Si pensamos en los jugadores sobre el terreno de juego como puntos sobre un
plano, podemos buscar cuál será su región de voronoi para cada uno de ellos
que estará formada por los puntos del terreno de juego que están más cerca de
cada jugador que del resto.

Inclusión de polígonos
1er Ejemplo
• Un polígono convexo P dado por las coordenadas cartesianas de sus vértices
según aparece al recorrer P en sentido contrario a las agujas del reloj.

P={(x0,y0),(x1,y1),…,(xn,yn)= (x0,y0)}
Paso 1:
Hallar el punto O, baricentro del triangulo de vértices (x0,y0).(x1,y1).(x2,y2).
Paso 2:
Hallar la lista de las coordenadas polares de los vértices de P, respecto del
punto O y la dirección positiva del eje OX.
P = {(m0,a0),(m1,a1),…,(mn,an) = (m0,a0)}
Paso 3 :
Hallar el mínimo, a2, de los valores
{a0,a1,….,an-1}.

Paso 4:
Reordenar los vértices de P de la siguiente forma

P = {(mk,ak),(mk+1,ak+1),…,(mn,an)
= (m0,a0), (m1,a1),…, (mk,a)}
2do Ejemplo
• Si un Polígono simple cualquiera, vamos a dar un algoritmo para localizar un
punto x respecto de P que no requiere proceso alguno. Para claridad de
algoritmo se supondrá que el la ordenada del punto X es distinta de todas las
ordenadas de los vértices del polígono
P = {(x0,y0),(x1,y1),…,(xn,yn) = (x0,y0)}
X = (x,y)
Paso 1:
i <= 0 , c<=0
Paso 2:
Si i = n ir al paso 6
9
Paso 3:
Si yi<y<yi+1 ó yi>y>yi+1
Y además el punto X esta a la izquierda del segmento dextremos, entonces c =
c+1
Paso 4:
I = i+1
Paso 5:
Volver al paso 2
Paso 6:
Si c es impar, la respuesta es, el punto es interior, en caso contrario el punto es
exterior.

Intersección de polígonos
1er Ejemplo
Dado un conjunto P de puntos en el plano definimos la envolvente convexa de P y la
llamamos EC(P), como el menor conjunto convexo que lo contiene
Sabemos que el conjunto Pi = (Xi,Yi), con i = 1,…,N enseñar al ordenador a calcular la
envolvente convexa, como en la figura

1er Ejemplo Algoritmo Marcha de Javis


• Calcular un punto que sepamos seguro que esta en la envolvente convexa (El
punto con la coordenada Y mas baja) Tiempo de operación O(N)
• Calcular el ángulo que forman los N – 1 puntos restantes con el y con la
horizontal, y elegir el mas pequeño Tiempo de operación O(N)
• Calculo de P0 a P1


10
• Seguimos el mismo procedimiento de P0 a P1


• Para P3


2do Ejemplo Algoritmo Scan de Graham
• Calcular un punto EC(P), por ejemplo, el mas bajo P0
• Ordenar angularmente los N – 1 restantes respecto de P0
Costo de operación O(N*log(N))
• Comenzando en P0 y siguiendo la lista ordenada, comprobamos cada 3 puntos
si el giro por ellos es horario o antihorario y en función de ese signo decidimos si
borrar el central o no
Costo de operación O(N) comprobaciones
• Elegido P0, etiquetamos los demás puntos siguiendo el orden angular, tal y
como se ve en la figura anterior. A continuación, comprobamos el sentido del
giro de la primera terna (P0, P1 y P2):


• Como el giro es positivo, antihorario, avanzamos y consideramos la siguiente
terna (P0, P1, P2)

11

• Otra vez el giro es positivo, seguimos con (P2, P3, P4):


• Cuando el giro es negativo, como en la figura anterior, eliminamos el punto
central de la terna que por tanto no formara parte de la envolvente convexa,
retrocedemos un punto y volvemos a empezar


3er Ejemplo
• En una galería de arte se quiere colocar cámaras de seguridad de forma que
abarque la mayor cantidad de área posible, eso si ocupando la menor cantidad
de cámaras posibles, ¿Cuántas cámaras serán necesarias para cualquier tipo de
sala?, ¿En que lugar de la sala se tienen que poner estas cámaras?

12

Aplicaciones
Algoritmos geométricos
Computación gráfica, Robótica, diseño de circuitos integrados. Los algoritmos
geométricos operan sobre objetos geométricos tales como puntos, segmentos o
polígonos.
Búsqueda Geométrica
Este proceso tiene un mayor interés en áreas geográficas, estadísticas y de diseño
automático que es donde mayormente se aplican para resolver problemas
Inclusión de polígonos
Reconocimiento de formas
Diseño de circuitos
Programación lineal
Estadística
Intersección de polígonos
Reconocimiento de formas que intervienen en la intersección
Diseño de circuitos
Programación lineal
Estadística

13
Trabajos citados
M.Macho. (11 de Agosto de 2012). Posts Tagged 'Geometría Computacional'. Obtenido de
https://ztfnews.wordpress.com/tag/geometria-computacional/
Mendoza, F. R. (2018). Geometría Computacional. Universidad de Los Andes, -.
Sancho, M. (13 de Julio de 2013). Geometría Computacional. Obtenido de
https://es.slideshare.net/sanchocuba/geometra-computacional-solapamiento-de-
subdivisiones
Sepúlveda, m. (25 de Junio de 2012). Polígonos Convexos:. Obtenido de Método de los Calibres
Giratorios:
http://www.dma.fi.upm.es/personal/gregorio/geometria_computacional/web/calibres_gira
torios/teoria/interseccion.html

14