GEOMETRIA DE FIGURAS. ÍNDICE 1.Geometría de Interacción con Figuras. 1.1 Análisis de Conversión...

32
GEOMETRIA DE FIGURAS

Transcript of GEOMETRIA DE FIGURAS. ÍNDICE 1.Geometría de Interacción con Figuras. 1.1 Análisis de Conversión...

Page 1: GEOMETRIA DE FIGURAS. ÍNDICE 1.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.

GEOMETRIA DE FIGURAS

Page 2: GEOMETRIA DE FIGURAS. ÍNDICE 1.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.

Í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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

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. ÍNDICE 1.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.

• 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.