Re: Uniform arc length basis curve fitting
- To: mathgroup at smc.vnet.net
- Subject: [mg67358] Re: Uniform arc length basis curve fitting
- From: dh <dh at metrohm.ch>
- Date: Tue, 20 Jun 2006 02:14:25 -0400 (EDT)
- References: <e7581l$l3b$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Narasimham,
If I understand right, you are asking for the derivative with repsect to
curve lengthof a curve that is arbitrarily parametrized (not with length).
Assume f[t]={f1[t],f2[t]} is the parametric curve, then the differential:
df= {D[f1[t],t],D[f2[t],t]} dt
and the length:
ds= Sqrt[D[f1[t],t]^2+D[f2[t],t]^2] dt
and we get the searched for derivative by:
df/ds= {D[f1[t],t],D[f2[t],t]} / Sqrt[D[f1[t],t]^2+D[f2[t],t]^2]
Daniel
Narasimham wrote:
> How to find slopes, curvature etc. of cubic splines as a function of
> arc length? With this example from Help,attempted to find piecewise
> derivatives, but it cannot be right as the given pts need not be spaced
> evenly on the arc. TIA.
>
> << NumericalMath`SplineFit`
> pts = {{0,0},{1,2},{-1,3},{0,1},{3,0} };
> spline = SplineFit[pts, Cubic] ;
> plspl=ParametricPlot[spline[u], {u, 0, 4}, PlotRange -> All, Compiled
> -> False];
> "derivative components"
> der[x_]:=( spline[x+10^-10]-spline[x-10^-10] ) /( 2 10^-10);
> dxu[x_]:=der[x].{1,0}; dxv[x_]:=der[x].{0,1};
> Plot[{dxu[v],dxv[v]},{v,0,4}];
> ">>> slopes >>>"
> Plot[ArcTan[dxu[v],dxv[v]] ,{v,0,4}] ;
> plder=ParametricPlot[der[v],{v,0,4}] ;
> der[2]
> Show[plspl,plder];
>