geometría computacional: objetos y problemas básicos

Post on 03-Jul-2015

242 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introducción a los objetos geométricos básicos, como determinar un giro a la derecha o a la izquierda en un orden circular. Problema de determinar un punto dentro de un polígono.

TRANSCRIPT

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