You are on page 1of 10

XIV Congreso Internacional de Ingeniera Grfica

Santander, Espaa 5-7 junio de 2002



APROXIMACIN POLINMICA
DE ESPIRALES CLOTOIDES MEDIANTE S-SERIES
Javier Snchez-Reyes (1), Jess Miguel Chacn (2)

(1)
Universidad de Castilla La Mancha, Espaa
Departamento de Mecnica Aplicada, E.T.S. Ingenieros Industriales.
Correo electrnico: jsreyes@ind-cr.uclm.es

(2)
Universidad de Castilla La Mancha, Espaa
Departamento de Mecnica Aplicada, E.T.S. Ingenieros Industriales.
Correo electrnico: jmchacon@ind-cr.uclm.es

RESUMEN
Se propone un mtodo para generar una aproximacin polinmica de espirales clotoides. El
procedimiento se basa en emplear s-series, el anlogo en dos puntos de las series de Taylor. Como
resultado se obtiene una aproximacin tipo spline, que exhibe continuidad C
k
en los puntos de unin, en
los que se reproducen hasta la derivada k-sima de la curva original. Esta aproximacin resulta mucho
ms adecuada para aplicaciones CAD que un desarrollo de Taylor truncado.

Palabras clave: Clotoides. Espirales. Interpolacin de Hermite. s-series. Splines.
1 Introduccin
1.1 La espiral clotoide
La clotoide (Gomes, 1909), tambin llamada espiral de Cornu o espiral de Euler
(Lawrence, 1972), es la curva plana cuya curvatura varia linealmente con la longitud del
arco. Debido a esta propiedad la clotoide es usada en el trazado de carreteras y de vas
de ferrocarril, como curva de transicin entre dos rectas diferentes, una recta y un arco
de crculo o dos arcos de crculos de diferente radio (Meek, 1991). Las curvas clotoides
tambin constituyen los tramos componentes de las curvas de interpolacin
denominadas splines geomtricos o intrnsecos (Hoschek y Lasser, 1993).
La clotoide c se define paramtricamente en trminos de las integrales de
Fresnel C t y como:
( ) t
( ) S t ( )

( )
( )
2
0
2
0
2
2
cos
( ) ( )
( )
( ) ( )
sin
t
t
d
x t C t
t
y t S t
d


| |
| | | |

= = =
| |

\ . \ .
|
\ .

c
|
|
, (1.1)
donde indica un factor de escala positivo. Para t>0, la clotoide est definida en el
primer cuadrante, parte en del origen O y tiende al punto c()=(/2, /2) para
. (Fig. 1)
0 t =
t
Propiedades remarcables de la clotoide son las siguientes:
Longitud de arco l t ( ) t =
Curvatura ( )
t
k t

=
Angulo ( ) t de la tangente con el eje x:
2
2
( ) t t

=
1

t=0
t=1
t=2
t=4
/2
/2
O

Fig. 1. Segmento de clotoide para t[0,4]
La clotoide, y tambin su offset, son curvas trascendentes, al estar definidas en
trminos de las integrales de Fresnel (1.1). Por tanto, no admiten una parametrizacin
polinmica racional y no pueden ser expresadas en el standard NURBS. Como resultado
no son incorporables en programas de CAD/CAM. En este trabajo se presenta un
mtodo para aproximar cualquier tramo de clotoide y su offset mediante s-series,
obteniendo una aproximacin polinmica que s puede ser incorporada en dichos
programas.

1.2 Aproximacin de la clotoide
Para obtener una aproximacin polinmica de la clotoide se podra pensar en
obtener las series de Taylor de las integrales de Fresnel componentes, pues estas
funciones no presentan ninguna singularidad y por tanto queda garantizada la
convergencia del desarrollo. As se obtendra una buena aproximacin de la curva
alrededor de un punto, pero se precisara una grado muy elevado para conseguir un error
pequeo, y los programas de CAD tienen limitado el grado mximo admisible. Para
solucionar este problema, Wang et al. (2000) proponen calcular un nico desarrollo de
Taylor y posteriormente aproximar esta aproximacin mediante un B-spline de grado
reducido que s sea incorporable en un programa CAD. No obstante, esta estrategia
resulta en exceso complicada y requiere frmulas de gran complejidad.
Otra posible opcin sera tratar de conectar varios desarrollos de Taylor, pero
entonces apareceran huecos en la unin de dos expansiones (Fig. 2), algo inaceptable
en una representacin para CAD. Otros tipos de aproximaciones, como la racional
(Heald, 1985) o mediante polinomios de Chebyshev (Cody, 1986) conducen al mismo
problema.

Clotoide
Hermite
Clotoide
Taylor

Fig. 2. Aproximaciones de una clotoide: a) Hermite, b) Taylor
2
2 s-series
2.1 s-series: el anlogo de las series de Taylor entre dos puntos
La solucin obvia a la cuestin es utilizar expansiones de Hermite en 2 puntos, en
vez de desarrollos de Taylor en un punto. Dada una funcin ( ) f u , u[0,1], la
aproximacin de Hermite de orden k es el nico polinomio de grado
que tiene contacto de orden k en los extremos
( ; )
k
H f u
2 n k = +1 { } 0,1 u = con ( ) f u . La
convergencia de las s-series se formula en el plano complejo, de manera anloga a las
series de Taylor, y tambin queda garantizada para funciones sin singularidades como
las integrales de Fresnel.
El problema ahora es calcular de modo eficiente el desarrollo de Hermite de
funciones arbitrarias. En principio, existen frmulas (Davis, 1975) para en
funcin de las derivadas sucesivas de la funcin
( ; )
k
H f u
( ) f u , pero el cmputo de las derivadas
de orden elevado resulta muy engorroso sin la ayuda de un programa de clculo
simblico. Para solucionar este problema, Snchez-Reyes (1997) introdujo una base
polinmica alternativa a la monomial basada en una expansin de Hermite en el
intervalo u[0,1], en que la reduccin de grado se obtiene simplemente por
truncamiento de la expansin.
Las series resultantes se denominan s-series (Snchez-Reyes, 2000), porque en
esencia son series de potencias del parmetro simtrico (1 ) s u u = , cuyos coeficientes
a
k
son funciones lineales de u:

0
0
(1 )
( ) ( ) ,
( ) (1 )
k
k
k
k k
s u u
a u a u s
a u u a ua

=
1
k
=
=
= +

(2.1)
Las funciones lineales a
k
(u) estn expresadas en la base de Bernstein, es decir, los
coeficientes y son las ordenadas de Bzier (Fig. 3). La funcin s
0
k
a
1
k
a
k
(u) es el
polinomio central de Bernstein ( )
n
k
B u de grado n k 2 = .
1
2 2
2 2
( ), ( ) (1 )
k k k
k k
k k
s B u B u u
k k

| | | |
= =
| |
\ . \ .
k k
u .
Como muestra la figura 3, s
k
(u) es una funcin con forma de campana, simtrica
respecto al punto medio u , donde obtiene su mximo 4 1/ 2 =
-k
.
Dada la s-serie a u de una funcin, basta truncar en el trmino k-simo para
obtener la aproximacin de Hermite de orden k. Una vez obtenida la
aproximacin de Hermite de una funcin o de una curva, se puede generar fcilmente su
representacin de Bzier, ya que las matrices de cambio de base entre Bernstein y s-
polinomios no presentan problemas numricos.
( )
( ; )
k
H a u

0
k=1
2
5
4
k
s
k
(u)
1
u
1/2
a
k
(u)
u
0 1
a
k
0
a
k
1

Fig. 3. Funcin lineal a
k
(u) y funcin simtrica s
k
(u) del trmino k-simo.
3
2.2 Representacin de las s-series.
Como se ha comentado, cada coeficiente a
k
(2.1) en una s-serie a(u) es en realidad
una funcin lineal a
k
(u) expresada en la base de Bernstein:
{ }
0
0 1
1
( ) ( ) , ( ) (1 ) (1 ),
k k
k k k k
k
k
a
a u a u s a u u a ua u u
a

= = + =
`
)

.
Por tanto, una representacin adecuada de a
k
(u) (Snchez-Reyes, 2000) es la pareja de
ordenadas de Bzier:

0
1
( )
k
k k
k
a
a u a
a

=
`
)
. (2.2)
Como representacin alternativa, tambin se puede descomponer a
k
(u) en dos trminos,
uno constante y otro lineal:
( )
0 1
1
2
1
2
1 0
( ) ( ) ,
k k
k k
k k k
a a a
a u a u a
a a a

= +

= +

=

k
.
De este modo se puede descomponer una s-serie en sus componentes simetrica ( ) a s y
antisimtrica . ( ) a s
1
2
( )
( ) ( ) ( ) ( ),
( )
k
k
k
k
k
k
a s a s
a u a s u a s
a s a s
=

= +

=

.
2.3 Operaciones bsicas.
A continuacin se describen las operaciones bsicas con s-series necesarias para
aproximar la clotoide (Snchez-Reyes, 2001).
Suma: Dadas dos s-series , b u : ( ) a u ( )
0
1
( ) ( ) , ( )
k k
k k k
k
k
a
a u a u s a u a
a

= =
`
)

,
0
1
( ) ( ) , ( )
k k
k k k
k
k
b
b u b u s b u b
b

= =
`
)

,
la suma c u tiene coeficientes que se obtienen simplemente sumando los
coeficientes y b del mismo grado.
( ) ( ) ( ) a u b u = +
k
a
k
Producto: Dadas dos funciones lineales , , el producto de ambas
se calcula como:
( ) a u ( ) b u
( ) ( ) ( ) c u a u b u =
(2.3)
0 0 1 0
1 1 1 0
1 ,
( ) ( ) ( ) ,
1 .
a b a a a
c u a u b u c s a b
a b b b b
=
= =
` `
=
) )
Por tanto, para multiplicar dos series basta multiplicar pares de coeficientes y
agruparlos. Esta operacin se puede expresar de manera eficiente mediante
convoluciones discretas.

4
Derivada: Dada una serie , de la que se desea calcular su derivada : ( ) a u ( ) d u
/
( ) ( ) ( ) ( )
d du k k
k k
k k
a u a u s d u d u s = =

,
adoptando la notacin (2.2), se obtienen los coeficientes :
k
d

0
1
1
1
(2 1) ( 1)
1
k k
k
a
d k a k
a
+

= + + +
`
) )
`
. (2.4)
Integracin: Para el calculo de la integral indefinida de una serie a(u), se emplea
la frmula recurrente:
( ) d u

0 0
1 1
1
(2 1) 1
, 0,1, 2, 3...
1 (2 1)
k k
k k
k
d k a a
k
k d k a a
+
+
=
` `
+ + +
) )
=
) u
+
0
(2.5)
que precisa el coeficiente inicial a
0
. El valor corresponde a una constante arbitraria
de integracin, mientras que a se calcula como:
0
0
a
1
0
1
1 0 1 0
0 0 0 0 0 0
0
, ( a a a a a a d u d = + = =

.
S-serie de funcin sinusoidal: Los coeficientes a de la s-serie de funciones
trascendentes se pueden determinar a partir de alguna igualdad que satisfaga la funcin.
En concreto, para generar la s-serie de una funcin sinusoidal:
k
0 1
( ) sin( ( )), ( ) (1 ) a u c u c u c u c u = = ,
basta resolver el problema frontera en dos puntos definido por la ecuacin diferencial:

2
1
"( ) ( ), a u a u c c = = , (2.6)
Derivando dos veces , de acuerdo con (2.4), se obtiene el termino genrico k-
simo. Sustituyndolo en la ecuacin diferencial (2.6) y resolviendo para :
( ) a u
2 k
a
+

1 2
1
2 1
0
1
1
4( 1) 2 , 0,1, 2...
2 1
k
k k k
k
a
a k a a k
k k a
+
+ +
+
| |

= + =
| `
|
+ +
) \ .
(2.7)
Esta frmula necesita los coeficientes iniciales a
0
, a
1
, fcilmente calculables dado que la
solucin a(u) es conocida.

Composicin: Dadas dos series a(v) y v(u), con u,v[0,1], la composicin se
calcula simplemente reemplazando la variable v de la serie a(v) por la serie v(u). Por
tanto esta operacin tan slo involucra multiplicaciones y sumas de series, ya descritas
anteriormente.
( ( )) a v u

3 Aproximacin de clotoides con s-series.
3.1 Obtencin de las s-series.
Para calcular la aproximacin de orden k de la clotoide (1.1) basta con
aproximar sus dos componentes (las integrales de Fresnel):
( ) t c
5
( )
( )
( )
;
;
;
k
k
k
H C t
H t
H S t
| |
=

\ .
c
|
. (2.8)
Por ejemplo, consideremos paso a paso cmo aproximar S(t) sobre un intervalo
arbitrario . | |
0 1
, t t t

1- Cambio a dominio unitario u[0,1]
En principio las s-series deben estar definidas sobre un dominio unitario u[0,1] de
la variable. Para conseguirlo, dado que S(t) viene definida mediante una integral (1.1),
expresaremos la variable de integracin en funcin de u mediante la transformacin
lineal:
0
0 1
0 1 1
[0,1]
, ( ) (1 ) ( ),
( ) [ , ]
u t
u t u t u
u t t t


= = +
`

)

2-Expresin de la funcin
2
2
( ) ( ) c u u

= en forma de potencias en s
El polinomio cuadrtico c(u) se define como producto de dos funciones lineales. En
consecuencia, basta aplicar la regla del producto (2.3):
2
2 0
1 0
2
1
( )
( ) ( )
2 ( )
t
c u t t s
t


=
`
)
.
3-Composicin s in( ( )) c u
El polinomio c(u) en principio no posee un rango unitario, por lo que no puede
componerse directamente con la serie de una funcin sinusoidal. Deberemos rescribirlo
como:

0
0 1 0
0 0 1 0
0 0
( )
( ) (1 ) , ( ) , [0,1]
c u c
c u c v c v v u v
c c

= + =

. (2.9)
As conseguimos expresar c(u) en trminos de una funcin v(u)[0,1] con dominio
unitario, y ya podemos sustituir (2.9) en la serie (2.7) de la funcin sinusoidal.
4-Integral definida
( )
2
0
2
sin
t
d


Finalmente se calcula la integral aplicando la expresin (2.5). Debe tenerse en
cuenta que en dicha expresin se emplea una variable u unitaria, mientras que en este
caso la variable de integracin posee dominio
| |
0 1
, t t , de modo que
( ) ( )
2 2
1 0
0 0
2 2
sin sin ( ) , ( )
t t
d u du

= =

t t .
El clculo de la serie para C(t) sera anlogo, aplicando la igualdad:
( ) ( )
2 2
2 2
cos sin
2

= + .
3.2 Ejemplos
Como ejemplo se ha aproximado el tramo de clotoide definida en el intervalo
para un factor de escala unitario [0,1.3] t 1 = .
6
k=1
k=2
t
a
0.5
t=0 1 t=1.3
S(t) C(t)
b
k=1
k=2
t
0.5
t=0 1 t=1.3

Fig. 4. Aproximaciones , ( ) ;
k
H S t ( ) ;
k
H C t de orden k 1, 2 = de las integrales de Fresnel.
a
k=1
k=2

K
(t)10
-2
k=1
k=2
t
t=0 1 t=1.3
k=3

Fig. 5. a) Aproximaciones ( ) ;
k
H t c de la clotoide, 1, 2, 3 k = . b) Error ( )
k
t .

En el apartado anterior se han supuesto series infinitas. En la prctica, interesa
obtener aproximaciones, que no son ms que series truncadas. Por tanto, para calcular
aproximaciones de orden k y ( ;
k
H S t ) ( ) ;
k
H C t
7 n
de las integrales de Fresnel, en el paso
3 es suficiente con trabajar con la aproximacin de orden k de la funcin sinusoidal, y
anlogamente al integrar en el paso 4. En la Fig. 4 se observa como ya las
aproximaciones de orden (grado 3 = k = ) son indistinguibles visualmente de y
.
( ) S t
( ) C t
A partir de ( ) ;
k
H S t , , en la Fig. 5(a) se ha representado la aproximacin
de la clotoide. Obsrvese que para el grado
( ;
k
H C t )
) ( ;
k
H t c 7 n = prcticamente coincide con
la clotoide. La aproximacin tiene contacto de orden k con la clotoide en
los extremos, por lo que la unin de varios tramos tambin tendr continuidad ,
continuidad que no se habra conseguido mediante expansiones de Taylor. (Fig. 2)
( ;
k
H c ) t ( ) t c
C
k
La calidad de las aproximaciones se ha evaluado mediante el error ( )
k
t :
( ) ( ) ( ; )
k
t t H
k
t = c c . (2.10)
La Fig. 5(b) muestra la grfica del error ( )
k
t , que disminuye a medida que aumenta el
grado de la serie, siendo mayor en la parte central y nulo en ambos extremos.
Una vez calculada la aproximacin, para su incorporacin en un programa de CAD
debe convertirse a la representacin de Bzier. Esa operacin es la realizada en la Fig. 6
para la aproximacin de orden 2 k = , correspondiente a una curva de Bzier de grado
. 5 n =
7

Fig. 6. Representacin de Bzier de la aproximacin 2 k = ( ) 5 n =
3.3 Subdivisin del dominio
En el ejemplo anterior para aproximar con exactitud el tramo de clotoide elegido ha
sido necesario utilizar una serie de grado n 7 = . Si se desea una buena aproximacin de
grado ms reducido simplemente se subdivide la curva en varios intervalos y para cada
uno de ellos se calcula la aproximacin correspondiente. En nuestro caso se ha optado
por dividir el dominio inicial en dos tramos t [0,1.3] t [0, 0.75] y t . [0.75,1.3]
La figura 7 muestra las aproximaciones ( ) ;
k
H S t y ( ) ;
k
H C t de las integrales de
Fresnel de grado tras la divisin en 2 tramos. Obsrvese que las
aproximaciones de grado coinciden prcticamente con las integrales de Fresnel.
3, 5 n =
n
( 1, 2 k =
5 =
)
a
b
t
0.5
t=0 1 t=1.3
S(t) C(t)
t
0.5
t=0 1 t=1.3 0.75 0.75

Fig. 7. Aproximacin de Hermite de orden 1, 2 k = con subdivisin de las integrales de Fresnel.

a

k
(t)10
-3
k=1
k=2
t
t=0 1 t=1.3
k=1
k=1
k=2
k=1

Fig. 8. a) Aproximaciones ( ) ;
k
H t c de orden k 1, 2 = con subdivisin b) Error ( )
k
t
8

Fig. 9. Representacin de Bzier de la aproximacin, orden k 1, 2 = ( ) 3, 5 n =
En la figura 8(a) se han dibujado las aproximaciones ( ) ;
k
H t c de orden ,
aprecindose que para es indistinguible del tramo de clotoide en estudio. La unin
entre ambos tramos mantiene continuidad C
1, 2 k =
2 k =
k
. Realizando las oportunas subdivisiones de
la curva se puede aproximar cualquier tramo de clotoide, sea cual sea su longitud, con
grado reducido y un error tan pequeo como se desee.
La calidad de las aproximaciones se ha evaluado de nuevo calculando el error ( )
k
t
(2.10) en cada tramo, error que ha disminuido considerablemente al dividir la curva.
(Fig. 8(b))
Finalmente, tras aproximar la clotoide mediante s-series se ha obtenido su
representacin de Bzier y sus correspondientes polgonos de control. (Fig. 9)

4 Aproximacin del offset de la clotoide
En este capitulo se aborda la aproximacin mediante s-series del offset de la
clotoide:
off
( ) t c
( )
( )
( )
2
2
off
2
2
sin
( ) ( ) ( ),
cos
t t d t t

| |

|
= =
|
\ .
c c n n ,
donde d es el desplazamiento del offset. A partir de las aproximaciones de la
clotoide (2.8) se calcula la aproximacin
( ;
k
H t c )
( )
off
;
k
H c t del offset.
k=1
ffset
Clotoide
k=1
k=1

Fig. 10. Aproximacin ( )
off
;
k
H c t a) Sin subdivisin, 1, 2 k = . b) Con subdivisin, k . 1 =
9
Como ejemplo se ha elegido el mismo tramo [0,1.3] t de clotoide que en el
apartado anterior, con un factor de escala 1 = . En la figura 10(a) se ha dibujado
y la aproximacin de grado
off
( ) t c (
off
;
k
H c ) t 3, 5 n = ( ) 1, 2 k = . En la figura 10(b) se
ha dibujado para grado n (
off
;
k
H c ) t 3 = ( ) 1 k = tras subdividir el dominio en dos
tramos.

5 Conclusiones.
Se ha mostrado cmo obtener una aproximacin polinmica de un tramo arbitrario
de clotoide. Para conseguirlo se han empleado s-series, el anlogo de las series de
Taylor entre dos puntos, consiguiendo una aproximacin muy aceptable con un grado
reducido.
Este trabajo se extiende de manera inmediata a la generalizacin de la clotoide
desarrollada por Gray (1993), o a la espiral logartmica, que involucran funciones
trascendentes sin singularidades.

Referencias
1) CODY, W.J. Chebyshev approximation for Fresnel integrals. Math Comp, 22:450-
3, 1986.
2) DAVIS, P.J. Interpolation and Approximation. Dover, New York. 1975.
3) GOMES TEIXEIRA, F. Trait des Courbes Specials, Remarquables Planes et
Gauches I,II,III. Reprinted by Editions Jacques Gabay. 1909.
4) GRAY, A. Modern Differential geometry of Curves and Surfaces. CRC Press,
1993.
5) HEALD, M.A. Rational approximations for the Fresnel Integrals. Math. Comp. 44,
459-461, 1985.
6) HOSCHEK, J., LASSER, D. Fundamentals of CAGD. AK Peters.
7) LAWRENCE, J.D. A catalog of special plane curves. Dover, New York, 1972.
8) WANG L.Z., MIURA K.T., NAKAME E., YAMAMOTO T., WANG T.J.. An
approximation approach of the clothoid curve defined in the interval [0,/2] and its
offset by free-form curves. Computer-Aided Design 33, 1049-1058, 2001.
9) MEEK, D.S. and THOMAS R.S.D. A guided clothoid spline. Computer Aided
Geometric Design 8, 163-174, 1991.
10) SNCHEZ-REYES, J. The symmetric analogue of the polynomial power basis.
ACM Transactions on Graphics 16(3), 319-357, 1997.
11) SNCHEZ-REYES, J. Applications of the s-power basis in geometry processing.
ACM Transactions on Graphics 9 (1), 27-55, 2000.
12) SNCHEZ-REYES, J. Inversion approximations for functions via s-power series.
Computer Aided Geometric Design 18, 587-608, 2001.
10

You might also like