Geometría Computacional: Objetos y problemas básicos.
Maikel Arcia
Miguel Sancho
Temas a tratar
Objetos básicos.
Representación de objetos.
Sentido de giro de un triángulo.
Intersección de 2 Segmentos
Punto dentro de un Polígono
Ejercicios propuestos.
Objetos básicos.
Los objetos geométricos básicos en el plano son:
puntos, líneas, segmentos, polígonos, círculos.
Se pueden definir objetos geométricos en el espacio n-dimensional.
Existen variadas formas de representar los objetos espaciales.
Representación de puntos.
Un punto p se puede representar por un
par (x, y) que representa las coordenadas cartesianas.
Alternativa: representar un punto como la intersección de dos líneas.
6:40PM
Representación de líneas.
Una línea l puede ser representada como un trío (a, b, c), tal que:
ax + by + c=0
Alternativa: l puede especificarse como dos puntos p1 y p2 (p1 ≠ p2). Donde p1 =(x1, y1) de y p2=(x2, y2 ) . La ecuación de l quedaría :
(x- x1)/(x2 - x1) = (y- y1)/(y2 - y1)
Se puede derivar: a= (y2 - y1); b= -(x2 - x1); c= y1(x2 - x1)-x1(y2 - y1)
6:40PM
Representación de Segmentos.
Un segmento s es típicamente representado por el par de puntos extremos:
(p, q).
Alternativa: representar por una línea y el rango de coordenadas x y y que restringen la línea en el segmento s.
(¿Por qué es insuficiente incluir solamente el rango de coordenadas x y y ?).
6:40PM
Representación de polígonos
Un polígono se puede definir como una secuencia de puntos en orden circular, que se denominan vértices de P.
El orden circular puede ser en sentido horario o en sentido antihorario.
Los segmentos entre vértices consecutivos de Pse denoniman aristas de P.
Propiedades de los polígonos
Un polígono se denomina simple si las aristas del polígono sólo se interceptan en los puntos extremos de las aristas.
Un polígono es convexo si es simple y todos los ángulos interiores son menores que π.
Ejemplos de polígonos
Caso General Simple Convexo
Sentido de giro de un triángulo (1)
Podemos calcular el área (con signo) del triángulo a partir del producto vectorial de los vectores (p1, p2) y (p1, p3)
p1
p2
p3
La función “signo de área” ∆(p1, p2, p3):
Su valor absoluto es el doble área del triángulo formado por los puntos p1, p2, p3.
Esta función nos proporciona la solución al problema de la orientación.
Sentido de giro de un triángulo (4)
Sentido de giro de un triángulo (2)
Determinante:
Signo del determinante:
>0 cuando p1,p2 y p3 giro antihorario o la izquierda
<0 cuando p1,p2 y p3 giro horario o la derecha
=0 cuando p1,p2 y p3 son colineales
Sentido de giro de un triángulo (3)
Ejemplo:
p1 = (1,1); p2 = (1,3); p3 = (3,1)
Intersección de dos segmentos
Proposición: sea s1= p1q1 y s2 = p2q2 dos segmentos en el plano, s1 y s2 se interceptan ssi los puntos cumplen con una de las siguientes condiciones:
1. (a) (p1, q1, p2) y (p1, q1, q2) diferente orientación y (b) (p2, q2, p1) y (p2, q2, q1) diferente orientación.
2. (a) (p1, q1, p2), (p1, q1, q2) y (p2, q2, q1) son colineales y (b) las proyecciones de las x-coordenadas se interceptan y (c) las proyecciones de las y-coordenadas.
Análisis de la condición 1q1
p1
s2
s1
p2
q2
a)
q1
p1
s2
s1
p2
q2
b)
q1
p1
s2
s1
p2
q2
c)
q1
p1
s2
s1
p2
q2
d)
• SH: Sentido Horario
•SAH: Sentido Antihorario
•COL: Colineales
q1
p1
s2
s1
p2
q2
Análisis de la condición 2
q1
p1
s2
s1
p2
q2
a) b)
Intersección de N- segmentos
Este problema será abordado en profundidad en la próxima
discusión en la conferencia.
Punto dentro de un triángulo
¿Cómo saber si un punto p arbitrario está en el
interior de un Triángulo?
p4
p1
p2
p3
Punto dentro de un Polígono
Punto dentro de un Polígono
Punto dentro de un Polígono
Punto dentro de un Polígono (2)
Trazar un rayo horizontal desde el punto hacia el infinito (positivo).
Si el rayo intercepta la primera arista de P estaremos afuera de P, luego de la segunda intersección estaremos dentro de P, en la tercera de nuevo afuera, así sucesivamente.
Si el número de intersecciones es impar, esto significa que qes un punto interior de P, en otro caso q es exterior a P.
Punto dentro de un Polígono (1)- Problema en posición general.
Punto dentro de un Polígono (1)- Problema en posición general.
Punto dentro de un Polígono (1)- Problema en posición general.
Punto dentro de un Polígono (1)
Punto dentro de un Polígono (1)
p
Punto dentro de un Polígono (1)
p
Punto dentro de un Polígono (1)
p
Geometría Computacional: Objetos y problemas básicos.
Algoritmo Punto Interior Polígono (q,P):
Entrada: Un punto q y un polígono P
Salida: indica si q es interior o exterior a P.
Buscar la máxima x-coordenada xM de los vértices de
P.
Sea s el segmento de extremos q y el pto(xM,y(q))
i = 0
Para cada segmento e de P hacer
Si el segmento s y e interceptan entonces
i = i + 1
Si i es impar entonces
Retornar “adentro”
Sino
Retornar “afuera”
Casos degenerados ¡Ejercicio!
Desarrollo un algoritmo de decisión con complejidad temporal O(n), que determine si un punto q es interior a un polígono P con n vértices, considerando que puede haber vértices con igual y-coordenada
1. Sea S una colección de segmentos. Desarrolle un algoritmo que determine si los segmentos de S forman un polígono. Se permite que el polígono tenga intersecciones entre las aristas, no se permiten que dos vértices del polígono sean coincidentes.
2. Diseñar una estructura de datos para polígonos convexos que cuente con la operación de inclusión de un punto.
3. Dado un conjunto P de n puntos, diseñar un algoritmo eficiente que permita construir un polígono simple cuyos vértices son los puntos de P.
Ejercicios
4. Diseñe un algoritmo de tiempo O(n) que determine si un punto p es interior a un polígono P convexo. Valore usar la estrategia “Divide y Vencerás”. - se efectuó en clase.
5. Diseñe un algoritmo de tiempo O(n2) para saber si un polígono P es simple. Asuma que el polígono esta dado como una secuencia de vértices
Ejercicios
Top Related