32
33
34
35
36
37
38
39
40
41
42
43#include "implicit_f.inc"
44
45
46
49
50
51
52 my_real :: knots(4),c(3),c_d(3),c_dd(3),t_
54 INTEGER :: ITER,NITER
55
56
57
59 len = 0.
60 niter=20
61 DO iter=1,niter-1
62
63 t_=t*(1.*iter-1.)/(niter-1.)
65 val(1)=sqrt(dot_product(c_d(1:3),c_d(1:3)))
66 k(1)=knots(2)+t_*(knots(3)-knots(2))
67
68 t_=(1.*iter-1.)/(1.*niter-1.) + 0.5*1./(niter-1.)
69 t_=t_*t
71 val(2)=sqrt(dot_product(c_d(1:3),c_d(1:3)))
72
73 t_=t*(1.*iter)/(niter-1.)
75 val(3)=sqrt(dot_product(c_d(1:3),c_d(1:3)))
76 k(2)=knots(2)+t_*(knots(3)-knots(2))
77
78 len = len+(k(2)-k(1))/6. * (val(1)+4.*val(2)+val(3))
79 ENDDO
subroutine cr_spline_interpol(pts, knots, t, c, c_d, c_dd)
subroutine cr_spline_knots(pts, knots, alpha)