Resolución numérica completa de la Ecuación de la Clotoide

Resolución numérica completa de la Ecuación de la Clotoide

Versión en pdf

Versión con imágenes (por si no ves bien esta página)

La clotoide, o espiral de Cornú, es la curva que cumple la condición

r = A2
(1)
donde s es la longitud del arco, r el radio de curvatura, y A el parámetro de la clotoide. También se puede expresar como

 s

k
=A2
(2)
donde k es la curvatura, inversa del radio de curvatura.
Para resolver la ecuación nos basamos en la definición de longitud de arco y de radio de curvatura (NO son particulares para el caso de la clotoide)

j
=
ó
õ
so

s 
 ds

r
(3)
x
=
ó
õ
jo

j 
rcosj d j
(4)
y
=
ó
õ
jo

j 
rsinj d j
(5)
Estas ecuaciones no están en coordenadas polares, sino que r es el radio de curvatura, y j el angulo en radianes que forma la tangente en ese punto con el eje x.
Aplicando (1) en (3), y operando un poco tenemos:

j = ó
õ
so

s 
 s

A2
 ds =  1

2
æ
è
 s

A
ö
ø
2

 
  ;   dj =  s

A2
 ds
(6)
Ahora, aplicando estos resultados en (4) y (5),

x = ó
õ
s

0 
 A2

s
 cos é
ë
 1

2
æ
è
 s

A
ö
ø
2

 
ù
û
 s

A2
 ds = ó
õ
s

0 
cos é
ë
 1

2
æ
è
 s

A
ö
ø
2

 
ù
û
ds
(7)

y = ó
õ
s

0 
sin é
ë
 1

2
æ
è
 s

A
ö
ø
2

 
ù
û
ds
(8)
Hacemos un cambio de variable para llegar a las famosas ecuaciones de Fresnel.
u
=
 s

AÖ2
(9)
du
=
 1

AÖ2
ds
(10)
ds
=
AÖ2du
(11)
x
=
AÖ2 ó
õ
u

0 
cosu2  du
(12)
y
=
AÖ2 ó
õ
u

0 
sinu2  du
(13)
Vemos que la razón de la homotecia que vamos a aplicar a las ecuaciones de Fresnel es AÖ2, tanto en el valor de longitud de arco en la entrada como en los resultados x e y en la salida.
Las ecuaciones de Fresnel que resolvemos son:

C(t)
=
ó
õ
t

0 
cosu2  du
(14)
S(t)
=
ó
õ
t

0 
sinu2  du
(15)
Para resolverlas numéricamente las descompondremos en series de potencias. Para lograr la convergencia en pocos términos, dividimos, para valores pequeños de t, en una serie de potencias positivas (la serie de Taylor) y para valores grandes de t usaremos una serie de potencias negativas. El límite entre grande y pequeño lo discuto más adelante.
Para poder aplicar el desarrollo en serie a la integral, esta debe ser absolutamente convergente. En este caso lo son, por lo que podemos aplicar que

f = ó
õ
å
g = å
ó
õ
g
(16)
El desarrollo en serie de Taylor del coseno y del seno son:
cosu
=
1 -  u2

2!
+  u4

4!
-  u6

6!
+ ...
(17)
sinu
=
u -  u3

3!
+  u5

5!
-  u7

7!
+ ...
(18)
El desarrollo de cosu2 y sinu2 por tanto:
cosu2
=
1 -  u4

2!
+  u8

4!
-  u12

6!
+ ...
(19)
sinu2
=
u2 -  u6

3!
+  u10

5!
-  u14

7!
+ ...
(20)
Integrando estos polinomios entre 0 y t, nos queda:
C(t)
=
u -  1

5
 u5

2!
+  1

9
 u9

4!
-  1

13
 u13

6!
+ ...
(21)
S(t)
=
 1

3
u3 -  1

7
 u7

3!
+  1

11
 u11

5!
-  1

15
 u15

7!
+ ...
(22)
que podemos expresar de forma compacta así:
C(t)
=
np
å
i=0 
(-1)i  t4i+1

(4i+1)(2i)!
(23)
S(t)
=
np
å
i=0 
(-1)i  t4i+3

(4i+3)(2i+1)!
(24)

El desarrollo en serie de potencias negativas queda finalmente:
C(t)
=
 1

2
  æ
Ö

 p

2
 
+  1

2
[sint2 ·F(t) - cost2 ·G(t)]
(25)
S(t)
=
 1

2
  æ
Ö

 p

2
 
-  1

2
[cost2 ·F(t) + sint2 ·G(t)]
(26)

F(t)
=
nn
å
i=0 
(-1)i  (4i )!

24i  t4i+1  (2i)!
(27)
G(t)
=
nn
å
i=0 
(-1)i  (4i+2)!

24i+2  t4i+3  (2i+1)!
(28)
¿Cómo distinguimos entre grande y pequeño para elegir una formulación u otra? Buena pregunta. En mi caso he hecho varias tablas con distintos valores de np y nn (número de términos de las series positiva y negativa), y con un error máximo de una millonésima, obtengo que el valor límite de t es de 2.58, y que los términos a tomar de cada serie son np=22 y nn=5


Como ejemplo puedes mirar el código fuente en C++ del programa Clothos
Cualquier comentario o sugerencia :o) a webmaster @ jimenezshaw.com
Hecho con LATEX por Javier Jiménez Shaw. http://javier.jimenezshaw.com



File translated from TEX by TTH, version 3.35.
On 15 Jun 2003, 17:20.



















directNIC Search
Hosted by directNIC.com