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

Documentos relacionados