Arhivo PDF
Transcripción
Arhivo PDF
FARAUTE Ciens. y Tec., 2(1): 38-43, 2007 ISSN 1698-7418 Depósito Legal PP200402CA1617 CONTROL DEL PUNTO DE INFLEXIÓN DE UNA CÚBICA FRANCISCO TOVAR Departamento de Matemática Universidad Central de Venezuela C.G.G.A Caracas, Venezuela email: [email protected] ABSTRACT We propose a new method to construct cubic segments containing inflection points, which is based on the implicit expression of the cubic in terms of barycentric coordinates. We use the singular point of the cubic in order to place an intermediate inflection point. We also propose curvatures at the endpoints and an intermediate interpolation point as shape handles. KEY WORDS Singular cubics, Inflection point, Barycentric coordinates. RESUMEN En este artı́culo se propone un nuevo método para construir segmentos de cúbicas que contengan un punto de inflexión intermedio. Estos segmentos se construyen a partir de la expresión implı́cita en coordenadas baricéntricas de una cúbica singular. Dada una cúbica singular que interpola dos puntos del plano, se utiliza su punto singular para introducir un punto de inflexión entre los dos puntos de interpolación. También se proponen como asas de control del segmento de cúbica la curvatura en los puntos extremos y un punto adicional intermedio de interpolación. HUGO VILLARROEL Departamento de Matemática Universidad Central de Venezuela C.G.G.A Caracas, Venezuela email: [email protected] etc, utilizan como principal primitiva las curvas de Bézier de grado tres en el plano (ver [2]). Este conjunto de curvas es equivalente al conjunto de cúbicas implı́citas singulares (ver [1]). En este trabajo se estudia la construcción de un segmento de cúbica singular interpolante que contiene un punto de inflexión intermedio usando su expresión implı́cita y no su parametrización. Una referencia clásica del estudio de curvas implı́citas en CAGD (Computer Aided Geometric Design) es [6], donde se plantean las bondades y desventajas del uso de las curvas implı́citas en modelación geométrica. En la construcción de algunos splines se encuentra la dificultad de introducir un punto de inflexión para cambiar la concavidad del mismo. En [3] los autores proponen un método para la construcción de segmentos de spline que tienen un cambio de concavidad, el cual consiste en la inserción de puntos auxiliares y segmentos de cúbicas adicionales con curvatura nula en los puntos de conexión. En la Figura 1 se muestra un ejemplo de esta construcción. PALABRAS CLAVES Coordenadas baricéntricas, Cúbicas singulares, Punto de inflexión. 1 Introducción Muchos paquetes que sirven para el diseño gráfico tales como AutoCAD, Tridimax, Maya, 38 Figura 1. Construcción de un punto de inflexión utilizando dos segmento de cúbicas. En la Figura 1 se insertó el punto b2j+1 , en F. Tovar / H. Villarroel donde se fija la curvatura igual a cero. De esta manera se construye un punto de inflexión entre b2j y b2j+2 utilizando dos segmentos de cúbicas. La motivación del presente artı́culo es construir segmentos de curvas con las mismas condiciones a las planteadas en [3], con la ventaja que el punto de inflexión se puede obtener usando sólo un segmento de curva. El spline de la Figura 2 tiene un punto de inflexión entre los puntos b2j y b2j+2 y se utilizó un solo segmento de cúbica. Con estos segmentos de cúbicas se cambia la concavidad del spline. Aplicando esta transformación a la curva F [x, y, z] = 0 y con la condición s + t + u = 1, se obtiene la expresión en coordenadas baricéntricas de la cúbica. Bajo las hipótesis de interpolación y tangencia, la expresión (1) se reduce a 6 coeficiente, esto es: F (s, t, u) = a s2 u + b su2 − c st2 − d t2 u + e stu − f t3 (2) En [4] se demuestra que la curvatura en el punto P0 está dada por: c ∆ k 0 = 4 a (P0 P1 )3 Figura 2. Ejemplo del método propuesto en este artı́culo. 2 Matemáticas Preliminares donde ∆ es el área del triángulo determinado por P0 , P1 , P2 y P0 P1 es la distancia entre estos puntos. Análogamente la curvatura en P2 se expresa como: d ∆ k 2 = 4 (4) b (P1 P2 )3 c d Las razones k0 = y k2 = (ó curvatua b ras afines) permiten escribir la ecuación (2) de la siguiente manera: La expresión general homogénea de una cúbica algebraica tiene 10 coeficientes reales, esta es: F [x, y, z] = a300 x3 + a210 x2 y + a120 xy 2 + a030 y 3 + a201 x2 z + a111 xyz + a021 y 2 z + a102 xz 2 + a012 yz 2 + a003 z 3 (1) Sean P0 = [x0 , y0 , z0 ] y P2 = [x2 , y2 , z2 ] dos puntos de interpolación de F [x, y, z] = 0, además L0 y L2 las rectas tangentes de F [x, y, z] = 0 en dichos puntos. Denótese por P1 = [x1 , y1 , z1 ] el punto de intersección de las rectas L0 y L2 . Si las rectas L0 y L2 son paralelas en el plano afı́n, entonces la coordenada z1 = 0, en otro caso z1 6= 0. A partir de los puntos [xi , yi , zi ] se construye la transformación: [x, y, z] = (s, t, u)H, donde x0 y0 z0 H = x1 y1 z1 x2 y2 z2 (3) F (s, t, u) =a(s2 u − k0 st2 ) + b(su2 − k2 t2 u) + estu − f t3 (5) Esta es la expresión de una cúbica con curvatura preestablecida en los puntos de interpolación. 3 Curva Guı́a Un punto (s, t, u) es el punto singular de F (s, t, u) = 0 si y sólo si F (s, t, u) = 0 y Fs (s, t, u) = Ft (s, t, u) = Fu (s, t, u) = 0, ver [5]. Donde Fs , Ft y Fu denotan las tres derivas parciales de la expresión (5). Por la fórmula de Euler solo se necesitan tres de las cuatro ecuaciones mencionadas arriba, para determinar si un punto es singular. De las expresiones Fs (s, t, u) = Ft (s, t, u) = Fu (s, t, u) = 0 se derivan las FARAUTE Ciens. y Tec., 2(1): 2007 39 Control de punto de inflexión de una cúbica expresiones: a b e f = = = = 3 2 t u(k2 t − su) 3 2 st (k0 t − su) 2 4 6 3s2 t u2 − 2(k0 + k2 )st u + k0 k2 t 4 s u(s2 u2 − k0 k2 t ) Curva guía Cúbica dada por el punto (6) Permitiendo expresar la cúbica F (s, t, u) = 0 en términos de las razones k0 , k2 y del punto singular (s, t, u), esto es: 3 2 F (s,t, u) = t u(k2 t − s u)(s2 u − k0 st2 ) 3 2 2 Cúbica dada por el punto Cúbica dada por el punto 2 + st (k0 t − su)(su − k2 t u) 2 4 6 + (3s2 t u2 − 2(k0 + k2 )st u + k0 k2 t )stu 4 − su(s2 u2 − k0 k2 t )t3 Figura 3. Ejemplo de una curva guı́a y sus cúbicas singulares asociadas. (7) Obsérvese que si se fijan las razones k0 , k2 y el punto singular (s, t, u), entonces la cúbica es única. Fijando un punto de interpolación B(ŝ, t̂, û) y suponiendo variable el punto singular, resulta una curva de grado seis (séxtica) en las variables (s, t, u): 6 4 Curva guı́a con punto de interpolación B(ŝ, 0, û) En caso particular que B = (ŝ, 0, û) es el punto de interpolación, entonces la curva guı́a de ecuación (8) se transforma en: 3 5 S(s, t, u) = −t ŝ û S(s, t, u) S(s, t, u) = k0 k2 ŝt̂ût + k2 ŝ(ŝû − k0 t̂2 )t u 5 (9) 3 + k0 û(ŝû − k2 t̂2 )st − ŝ(ŝû − k0 t̂2 )st u2 4 donde: − t̂(2(k0 + k2 )ŝû − k0 k2 t̂2 )st u 3 2 − û(ŝû − k2 t̂2 )s2 t u + 3ŝt̂ûs2 t u2 3 3 3 − t̂ s u 2 (8) esta curva es llamada curva guı́a. Obsérvese que existe una correspondencia entre los puntos de la curva (8) y todas las cúbicas singulares que interpolan los puntos P0 , P2 , B y tienen curvatura afı́n k0 y k2 predefinidas en los extremos. En efecto dado un punto (s, t, u) que satisfaga la ecuación S(s, t, u) = 0, entonces (s, t, u) es el punto singular de una cúbica dada por (7) y que satisface las condiciones antes expuestas. En la Figura 3 se muestra un ejemplo de una curva guı́a con punto de interpolación B = (0.35, 0.3, 0.35) y algunas de las cúbicas singulares correspondientes. 40 FARAUTE Ciens. y Tec., 2(1): 2007 2 S(s, t, u) = (k2 t − s u)u ŝ + (k0 t − s u)û s (10) Obsérvese que la curva de ecuación (9) se fac3 toriza como el producto de −t ŝ û y S(s, t, u). En este caso S(s, t, u) = 0 representa una cúbica no singular en coordenadas baricéntricas y es la nueva curva guı́a que permitirá generar cúbicas singulares con punto de inflexión intermedio. La curva (10) posee los mismos atributos que la curva guı́a dada por (8). Por lo tanto todo punto que satisface S(s, t, u) = 0 representa el punto singular de una cúbica que satisface las condiciones de interpolación, tangencia y curvaturas. El género de S(s, t, u) = 0 es uno, lo que implica que no se puede parametrizar racionalmente. A continuación se presenta un método que permite recorrer esta curva. F. Tovar / H. Villarroel 4.1 Cúbica guı́a no singular Dada la cúbica S(s, t, u) = 0 de ecuación (10), se puede inhomogenizar sustituyendo t = 1, obteniendo la cúbica afı́n de puntos singulares: 2 2 S(s, u) = ŝ s u + û s u − k2 ŝ u − k0 û s (11) Obsérvese que la cúbica S(s, u) = 0 se puede parametrizar fácilmente en función de s ó u usando la resolvente para polinomios de segundo grado, esto es: S(s, u) = A(s) u2 + B(s) u + C(s) (12) Obsérvese que la solución de la ecuación (11) con s como parámetro está dada por: k2 ŝ − ûs2 + u1 (s) = 2 ŝ s p k2 ŝ − û s2 − u2 (s) = 2 ŝ s p 1. Cúbica generada por el punto a . ∆(s) ∆(s) (14) (15) 2. Cúbica generada por el punto b . donde: A(s) = ŝs B(s) = ûs2 − k2 ŝ C(s) = −k0 û s (13) 3. Cúbica generada por el punto c . 4. Cúbica generada por el punto d . El discriminante de S(s, u), ∆(s) = (ûs2 − k2 ŝ)2 + 4ŝûk0 s2 bajo las condiciones que B = (ŝ, 0, û) pertenece al segmento P0 P2 (especı́ficamente esto significa que ŝ, û > 0, ŝ + û = 1) y k0 , k2 > 0, entonces ∆(s) > 0, para todo s ∈ R − {0}. La Figura 4 ilustra la relación entre la curva guı́a en coordenadas baricéntricas y la curva guı́a en el plano afı́n t = 1. Curva guía en coordenadas baricéntricas. Curva Figura 4. Correspondencia entre los gráficos de la curva guı́a: baricéntrico y afı́n. 6. Cúbica generada por el punto f . 5. Cúbica generada por el punto e . Figura 5. Algunas cúbicas generadas de acuerdo a la ubicación de su punto singular sobre la curva S(s, u) = 0. Si se escoge el punto singular de la forma (s, 1, u2 (s)), se obtienen cúbicas como en las Figuras 5.1, 5.2, 5.3 y 5.4, las cuales cumplen con el propósito de este trabajo. Sin embargo, no todos los puntos singulares que satisfacen a S(s, u) = 0, generan cúbicas con un punto de inflexión intermedio, tal caso se observa en las Figuras 5.5 y 5.6 . Según la biyección establecida en la Figura 4, se puede observar que los puntos singulares que generan cúbicas buenas están en el segmento FARAUTE Ciens. y Tec., 2(1): 2007 41 Control de punto de inflexión de una cúbica de curva que pasa por el origen, esto se corresponde con la gráfica de u2 (s). Lo expuesto anteriormente sugiere el siguiente resultado: Proposición 1 Para obtener una cúbica con un punto de inflexión entre los puntos P0 y P2 , se debe elegir al punto singular de la forma (s, 1, u2 (s)). Demostración. Es fácil verificar que s y u2 (s) tienen signos opuestos y que las curvaturas signadas en los puntos de interpolación están dadas por: t ∆ κ(P0 ) = 4 k0 sign u P0 P1 3 5 Conclusiones El principal resultado de este artı́culo es la inserción de un punto de inflexión entre los puntos de interpolación de una cúbica, con el objetivo de cambiar la concavidad de un spline. Además se establece una condición necesaria y suficiente para que el punto de inflexión sea también un punto de interpolación. A continuación se describen algunas de las asas de control que permiten modificar la forma del segmento de cúbica estudiado en este artı́culo: La ubicación variable del punto de interpolación B = (ŝ, 0, û) sobre el segmento P0 P2 , sirve como un asa de control de la forma del spline, en la Figura 6 se muestra esta propiedad. t ∆ κ(P2 ) = 4 k2 sign s P1 P2 3 En consecuencia ya que s y u = u2 (s) tienen signos opuestos entonces κ(P0 )κ(P2 ) < 0. Por continuidad de la curvatura existe un punto entre P0 y P2 donde esta se anula, esto es, un punto de inflexión de la cúbica F (s, t, u) = 0. Proposición 2 En el caso particular que las curvaturas afines (k0 y k2 ) son iguales, entonces el punto de interpolación B = (ŝ, 0, û) es un punto de inflexión de la cúbica F (s, t, u) = 0. Figura 6. Modificación del segmento de cúbica cambiando el punto B(ŝ, 0, û). Al preestablecer los valores de k0 y k2 , se definen las curvaturas en los puntos extremos, estos permiten cambiar la forma de la cúbica, véase la Figura 7. Demostración. La curvatura en B = (ŝ, 0, û) está dada por: 2 2 k(B) = −t u2 ŝ2 (k2 t − su)2 (k2 − k0 ) El punto singular (s, t, u) no satisface la relación 2 k2 t − su = 0 ya que S(s, t, u) = 0 por lo tanto k(B) se anula si y sólo si k0 = k2 . La proposición anterior ofrece una propiedad geométrica para el diseño de los spline cúbicos. Si se preestablecen las mismas curvaturas afines en los extremos entonces, se obtiene un punto de inflexión de la cúbica que coincide exactamente con el punto de interpolación B = (ŝ, 0, û). 42 FARAUTE Ciens. y Tec., 2(1): 2007 Figura 7. Modificación del segmento de cúbica a través de las razones k0 y k2 . F. Tovar / H. Villarroel Cuando se recorrer la curva guı́a S(s, t, u) = 0 se cambia el punto singular de la cúbica y por ende su forma. En la Figura 8 se ilustra este hecho: Referencias [1] E. Brieskorn and H. Knörner, Plane Algebraic Curves, (Birkhäuser Verlag., 1986). [2] G. Farin, Curves and Susfaces for Computer Aided Geometry Design. (San Diego: Computer Science and Scientific Computing. Academic Press, 1997). Figura 8. Utilización de la curva guı́a para modificar la cúbica. Agradecimiento Agradecemos al FONACIT, por su apoyo a este trabajo de investigación a través del proyecto PG97-000651. [3] G. Figueroa, M. Paluszny and F. Tovar, G2 cubics contours, Applied Numerical Mathematics, (47), 2003, 439 - 448. [4] M. Paluszny y R. Patterson, Curvas Algebraicas de Grado Tres en Modelación Geométrica, (Escuela Venezolana de Matemáticas, AMVCEA - IVIC, 1991). [5] M. Paluszny, R. Patterson and F. Tovar, G2 composite cubic bezier curves, Journal of Computational and Applied Mathematics, 47 (102), 2003, 439 - 448. [6] T. Sederberg, Planar piecewise algebraic curves. Computer Aided Geometric Design, (1), 1984, 241 - 255. FARAUTE Ciens. y Tec., 2(1): 2007 43