GEOMETRIA DE FIGURAS

32
GEOMETRIA DE FIGURAS

description

GEOMETRIA DE FIGURAS. ÍNDICE. Geometría de Interacción con Figuras. 1.1 Análisis de Conversión 1.2 Distancia de un punto a un objeto 1.3 Límites de un objeto 1.4 punto más cercano a un objeto. 1.5 Intersecciones 1.6 Interior/Exterior. 2. Ecuaciones geométricas: - PowerPoint PPT Presentation

Transcript of GEOMETRIA DE FIGURAS

Page 1: GEOMETRIA DE FIGURAS

GEOMETRIA DE FIGURAS

Page 2: GEOMETRIA DE FIGURAS

ÍNDICE1. Geometría de Interacción con Figuras.

1.1 Análisis de Conversión1.2 Distancia de un punto a un objeto1.3 Límites de un objeto1.4 punto más cercano a un objeto.1.5 Intersecciones1.6 Interior/Exterior.

2. Ecuaciones geométricas:2.1 Implícitas.2.2 Paramétricas

3. Figuras de Trayectorias Definidas 3.1 Líneas. 3.2 Círculos 3.3 Arcos 3.4 Elipses y Arcos Elípticos. 3.5 Curvas 3.6 Figuras de trayectorias troceadas

4. Figuras Rellenas. 4.1. Rectángulos. 4.2.Círculos y Elipses. 4.3. Pie Shapes. 4.4 Figuras de Límite definido.

Page 3: GEOMETRIA DE FIGURAS

1.Geometría de Figuras.Introducción:

• La parte central de la mayoría de las aplicaciones consiste en el despliegue de objetos que el usuario está intentando manipular.

• Necesitamos entender la geometría de esos objetos, para escribir código que interactúe con esas figuras:– Hablaremos sobre las ecuaciones geométricas para figuras primitivas.

– Veremos los tipos de problemas geométricos a los que nos enfrentaremos cuando interactuamos con estas figuras.

Page 4: GEOMETRIA DE FIGURAS

1. Geometría de Interacción con Figuras

• La geometría de casi todos los objetos está basada en un conjunto de puntos de control.– Puntos de control: son puntos en el plano 2D que pueden usarse para

definir la geometría deseada.

– No son la única forma en la que la geometría puede ser definida.

– La razón de su uso es la naturaleza interactiva de estos modelos.

• Expresaremos la geometría por medio de puntos de control y resolveremos las ecuaciones para propósitos interactivos.

Page 5: GEOMETRIA DE FIGURAS

1.1 Análisis de conversión

• Es un problema importante en gráficos de computadora.

• Consiste en tomar la especificación geométrica de un objeto y derivar el conjunto de pixeles a algún buffer que corresponda a ese objeto.– Es esencial para el proceso de dibujo por lo que debe ser rápido.

– Todos las de herramientas interactivas proporcionan rutinas que realizan estas tareas.

Page 6: GEOMETRIA DE FIGURAS

1.2 Distancia de un punto a un objeto.

• Se trata de ser capaces de seleccionar un objeto con el ratón.

• Interactivamente es difícil posicionar el ratón exactamente sobre una línea

• La geometría elemental que se requiere para este problema es el cálculo de la distancia perpendicular entre un punto y una línea u otra figura.

• Conocida la distancia se prueba si está lo suficientemente cerca para la selección.

Page 7: GEOMETRIA DE FIGURAS

1.3Límites de un objeto

• Selección de un objeto:

– Cuando ocurre un evento de ratón debemos ser capaces de determinar cuál objeto de un conjunto de objetos está siendo referenciado.

• El cálculo de la distancia perpendicular a cada objeto es bastante costoso.

• Cálculo del rectángulo limitado para un objeto.

– Dando los puntos de control, su cálculo es fácil.

– Primero calculamos el rectángulo limitado de cada objeto, y realizamos entonces la geometría más costosa sólo si el ratón está realmente en el interior de rectángulo limitado.

Page 8: GEOMETRIA DE FIGURAS

1.4 Punto más cercano a un objeto.

• Necesitamos determinar el punto de la figura que está más próximo a la posición del ratón.

1.5 Intersecciones.

• Cálculo de intersecciones de dos objetos– Métodos algebraicos:

• Líneas: dos ecuaciones lineales.• Círculos , arcos y elipses: ecuaciones cuadráticas.

– Métodos numéricos:• Elipses rotadas: polinomios de grado 4.• Splines y curvas: ecuaciones cúbicas.

1.6 Interior/Exterior– La selección de figuras rellenas (círculos, rectángulos, polígonos)

se realiza haciendo la prueba del rectángulo limitado y después se realiza la prueba más costosa.

Page 9: GEOMETRIA DE FIGURAS

2. Ecuaciones geométricas.

• 2.1Ecuaciones Implícitas :– Son de la forma: F(x,y) = 0

– Ventajas:• Dividen el plano 2D en dos semiespacios, esto sirve para calcular si

un punto está dentro o fuera de alguna región.

• Podemos normalizar la ecuación para que nos de la distancia real a un objeto , multiplicando los coeficientes por alguna constante.(No funciona para todas las figuras.)

• 2.2 Ecuaciones Paramétricas:– Descripción de figuras 1D: usan un solo parámetro:

• x=G(t) y=H(t)

– Descripción de figuras 2D: usan dos parámetros.• x=K(s,t) y=(s,t)

Page 10: GEOMETRIA DE FIGURAS

3. Figuras de Trayectorias definidas• Definición: Son objetos 1D dibujados en 2D. No tienen

exterior ni interior.

• La geometría de una figura se determina por la geometría de la trayectoria que es fronteriza.

• Tipos de Trayectorias:

– Líneas.

– Círculos.

– Arcos.

– Elipses y arcos elípticos

– Curvas.

Page 11: GEOMETRIA DE FIGURAS

3.1 Líneas

• Ecuación implícita:– Ax+By+C=0

El vector [A,B] se calcula a partir de los puntos de control:

A=Y1-Y2

B=X2-X1

Se sustituye un punto de la línea y se calcula para C:

C= -AX1- BY1

Sustituyendo cualquier punto (x,y) en la siguiente ecuación, nos dará

la distancia de la línea en múltiplos de la longitud de [A,B]:

línea(x,y)=AX+BY+C

– Línea(x,y) resuelve varios problemas geométrico:• Si línea(x,y)=0 , entonces el punto (x,y) reside en la línea

• Probar si un punto está próximo a la línea

Page 12: GEOMETRIA DE FIGURAS

• Ecuación Paramétrica:– Usamos un vector con inicio en (X1,Y1) y fin en (X2,Y2).

• t: Fracción de distancia que queremos mover a lo largo del vector.

x = (X2+X1)t + X1 si t=0 => (X1,Y1) y = (Y2+Y1)t + Y1 si t=1=> (X2,Y2) si 0 < t < 1=>puntos intermedios

• Rectángulo Limitado– Propiedad de “Cubierta-Convexa”:

• Es el polígono más pequeño que contiene a todos los puntos..Si un objeto cumple esta propiedad , el cálculo del rectángulo-limitado es fácil.

– Cálculo del rectángulo limitado para una línea por sus puntos de control:• Izquierda=Min(coordenadas X de todos los puntos de control)• Tope=Min(coordenadas y de todos los puntos de control)• Derecha=Max(coordenadas X de todos los puntos de control)• Fondo=Max(coordenadas y de todos los puntos de control)

Page 13: GEOMETRIA DE FIGURAS

3.2 círculos

• Modelo de centro y radio

• Cálculo del radio a partir de los puntos de control:

• Ecuación Implícita:– Círculo: conjunto de puntos a una distancia fija del punto central.

– Ecuación para un círculo de R=1 y centro en el origen: (x2+y2)-1=0• (x2+y2) = cuadrado de la distancia entre (x,y) y el origen.

– Se puede describir un círculo con centro (Xc,Yc) y radio R con la ecuación:

Page 14: GEOMETRIA DE FIGURAS

• Ecuación Paramétrica:– Basada en trigonometría:

• Dado el ángulo a , las ecuaciones son:– x = Xc + R*cos(a)– y = Yc + R*sen(a)El ángulo a varía de 0 a 2

• Reformulamos las ecuaciones en función del parámetro t– x = Xc + R*cos(2t)– x = Xc + R*cos(2t)El parámetro t varía de 0 a 1.

• Distancia de un punto a un círculo:– Se deriva a partir de la ecuación implícita del círculo:

• Los puntos con distancias negativas están dentro • Los puntos con distancias positivas permanecen dentro del

círculo.

Page 15: GEOMETRIA DE FIGURAS

• Punto más cercano a un círculo:

Usaremos un modelo de vector:

– (Xn,Yn) = distancia R desde (Xc,Yc) a lo largo de un vector en dirección (x,y).

– 1º: construimos un vector de longitud 1 desde el centro a (x,y)

– 2º: obtenemos un vector en la misma dirección con longitud R, multiplicando por R:

Page 16: GEOMETRIA DE FIGURAS

• Límites de un círculo.– Cálculo del rectángulo limitado:

• Se usan las ecuaciones paramétricas calculando los puntos para t=0.0,

t=0.25, t=0.5 y t=0.75

Page 17: GEOMETRIA DE FIGURAS

3.3 Arcos

• Arco: fragmento de un círculo. Podemos definir un arco usando las mismas ecuaciones paramétricas que un círculo.

– Hay que definir la parte restringida del círculo que forma el arco

• 2 parámetros– Parámetro inicio = 0.3– Parámetro fin =0.5

• Reformulamos las ecuaciones:– x= Xc +R*cos(2(b 0.2 +0.3))– y= Yc +R*cos(2(b 0.2 +0.3))

b= 0 a b=1 es igual que t=0.3 a t=0.5

.

Page 18: GEOMETRIA DE FIGURAS

• Selección de un punto en un arco.– (X1,Y1): punto de selección introducido por el usuario. Si está

bastante cercano, consideraríamos el arco como seleccionado:

• 1º calculamos (Xn,Yn), punto más cercano al círculo.

• 2º calculamos el parámetro t para este punto más cercano• 3º Comprobar que t se encuentra entre 0.3 y 0.5.

• Límites de un arco.– Los puntos de control de un arco no cumplen la propiedad de

“cubierta convexa”.

– Por simplicidad, se usa el rectángulo limitado del círculo del arco en lugar de un rectángulo más pequeño para el propio arco.

Page 19: GEOMETRIA DE FIGURAS

3.4 Elipses y Arcos Elípticos• Elipses cuyos ejes mayor y menor son paralelos a los ejes x e y.

• Elipse: círculo de radio 1 que ha sido estirado en x por una distancia W, y estirado en y por una distancia H.

– (L,T) Y (R,B): puntos de control del rectángulo limitado.

– (Xc,Yc),W y H son calculados a partir de los puntos de control.

Page 20: GEOMETRIA DE FIGURAS

• Ecuación Implícita y Paramétrica de una Elipse:Estas ecuaciones se crean a partir de las ecuaciones para un círculo.

– Ecuación Implícita para una Elipse:

• Ecuación Paramétrica para una Elipse:• Sustituimos W y H, por el radio en cada dimensión:

– x = Xc +W*cos (2t)

– y = Xc +H*sen (2t)

las ecuaciones para un círculo son un caso especial de las ecuaciones para una elipse.

Page 21: GEOMETRIA DE FIGURAS

3.5 Curvas

• Spline: curva que se descompone en varias curvas cúbicas que son fácilmente conectadas.

– Tipos de spline: curvas Bezier, curvas B-Spline, curvas Catmull-Rom.

– Hay una curva entre cada par de puntos de control adyacentes.

– Motivos:

• una única curva de alto grado polinomial es difícil de manejar interactivamente.

• Se trata de:

1. Definir la geometría de una única curva cúbica.

2. Definir el modo en el que se unen las curvas

Page 22: GEOMETRIA DE FIGURAS

• Ecuación cúbica:– Forma matricial:

• C=matriz de coeficientes.

– 1ºDefinición de la matriz de coeficientes a partir de los puntos de control:

• S, matriz de coeficientes constantes, característica para cada tipo de curva.

Definición completa:

• Requisitos de continuidad .– C(0): propiedad por la que dos curvas adyacentes comparten el

mismo punto en el lugar en donde se unen. Fácil de garantizar.

– C(1):Las derivadas son iguales en el punto de unión. Requisito más común para unir curvas suaves.

– C(2):Las curvaturas son las mismas en el punto de unión. Requisito bastante especializado.

Page 23: GEOMETRIA DE FIGURAS

Curvas Bézier• Definidas por dos puntos de control intermedios y por dos puntos

finales.

• Proporciona a los usuarios un modelo interactivo para la manipulación de la curvatura a través de los puntos de control.

• Conexión de dos curvas Bezier:– C(0) es fácil haciendo P4 de la 1ªcurva = P1 de la 2ª curva.

– C(1) se obtiene haciendo colineal P3 y P4 de la 1ª curva con P1 y P2 de la 2ª.

– C(2) no ocurre de un modo fácil.

• Característica: los puntos de control cumplen la propiedad “cubierta convexa”. Si tomamos el máximo y el mínimo para los cuatro puntos de control se obtiene el rectángulo limitado para la curva.

Page 24: GEOMETRIA DE FIGURAS

Curvas B-Spline• Número arbitrario de puntos de control P0 a Pn.

• Esta curva está formada por tres curvas cúbicas.

– Cada una tiene 4 puntos de control : de P(i-1) a P(i+2).

– Cada par de curvas adyacentes comparten tres puntos de control.Esto garantiza que se cumple la continuidad C(2).

• Tiene la propiedad “ cubierta convexa”, entonces podemos calcular el rectángulo limitado tomando el máximo y el mínimo de los puntos de control.

Page 25: GEOMETRIA DE FIGURAS

Curvas Catmull-Rom

• La curva pasa por unos puntos específicos:

• La formulación para una Catmull-Rom es la misma que para una B-spline:

• No tiene la propiedad “cubierta convexa”. Se resuelve convirtiendo la geometría Catmull-Rom en una geometría de Bézier:

Page 26: GEOMETRIA DE FIGURAS

3.6 Figuras de trayectorias troceadas

• Figuras creadas con la conexión de objetos primitivos.

• La geometría está determinada por la geometría de las figuras que la componen.

• El rectángulo redondeado se compone de 4 líneas y 4 arcos elípticos.

• la otra figura es una concatenación de líneas rectas y curvas cúbicas.

Page 27: GEOMETRIA DE FIGURAS

4. Figuras Rellenas• Figuras 2D con interior:

– Rectángulos

– Círculos y elipses.

– Pie Shapes.– Figuras de límite definido.

• Determinar si un punto específico está dentro de la figura o fuera:

Si el ratón está dentro de la figura cuando se presiona el botón entonces la figura será seleccionada. Si el ratón está fuera entonces no será seleccionada.

Page 28: GEOMETRIA DE FIGURAS

4.1 Rectángulos• La más simple de todas las figuras rellenas.

• Dando sus coordenadas podemos determinar fácilmente si está dentro, con las ecuaciones:– Izquierda X Derecha

– Tope Y Fondo

• Ecuación paramétrica para puntos interiores y exteriores:

Se define un eje para cada uno de los dos parámetros s y t, con origen en la esquina superior-izquierda.– X=Izquierda + s(Derecha –Izquierda)

– Y=Tope+t(Fondo-Tope)

– Para determinar si un punto (x,y) está dentro del rectángulo, se resuelve para los parámetros s y t y se determina si permanecen dentro del rango de 0 a 1.

Page 29: GEOMETRIA DE FIGURAS

4.2 Círculos y Elipses.• Ecuaciones paramétricas para el interior de un círculo:

– x=Xc+s* R* cos(2t)– y=Xc+s*R*sen(2t) – S es un parámetro radial.

• si s=0 entonces (x,y) está en el centro del círculo.• si s=1 entonces las ecuaciones son las mismas que para una

circunferencia.– t rodea a la circunferencia.

• Ecuaciones paramétricas para el interior de un Elipse:– x=Xc+s* W* cos(2t) ; W radio en el eje x– y=Xc+s*H*sen(2t) ; H radio en el eje y– Si conocemos x e y, resolvemos las ecuaciones para s y t. Si están

dentro del rango de 0 a 1, entonces el punto (x,y) está dentro de la elipse.

Page 30: GEOMETRIA DE FIGURAS

4.3 Pie Shapes• Para determinar si un punto (x,y) está dentro de esta Pie shape elíptica

se resuelven las ecuaciones para s y t:

–x=Xc+s* W* cos(2(t(end-start)+start))

– y=Xc+s*H*sen (2(t(end-start)+start))

Page 31: GEOMETRIA DE FIGURAS

4.4 Figuras de límite definido

• Figuras sin geometría regular, compuestas por un número de piezas, cada una de las cuales es una figura de trayectoria definida. Pueden estar formadas por:

– Líneas rectas y curva cúbicas.

– Polígonos de líneas rectas.

– Curvas cúbicas.

– Curvas cúbicas y líneas rectas.

• Determinar si un punto de selección (x,y) está dentro o fuera de la figura:

– 1º: Prueba de la caja limitada:

• Fácil y rápida, que descartará un gran número de figuras.

• Se construye tomando la unión de las cajas limitadas para cada objeto.

– 2º: Si el punto de selección está dentro de la caja limitada se aplica la prueba Par/Impar Interior/Exterior.

Page 32: GEOMETRIA DE FIGURAS

• Construimos una línea horizontal a través del punto.• Realizamos las intersecciones de la línea horizontal con los bordes de la

figura.• Contamos el número de intersecciones a la derecha del punto de selección.

Si es un número impar, el punto está dentro de la figura; de otro modo está fuera.– Excepción: Cuando un punto de intersección forma parte de dos

bordes.• Bordes lineales: Se calcula la tangencia, si el borde es tangente a la línea

horizontal se cuenta dos veces(x2,y2), y si el borde atraviesa la línea se cuenta una(x3,y3).

• Bordes curvados.(x4,y4) se calcula el punto de tangencia con la curva, si dY/dX=0 se cuenta dos veces en vez de una.