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]; >