Curves from Curvature

Alfred Gray

The Fundamental Theorem of Plane Curves

?plotintrinsic

Examples

Circle

plotintrinsic[
1&,
0,{0,0,0},{0,2Pi},
PlotPoints->80];

Logarithmic Spiral

plotintrinsic[
1/#&,
0.1,{0,0,0},{0.1,10},
PlotPoints->40];

Evolute

plotintrinsic[
1/Sqrt[#]&,
0.1,{0,0,0},{0.1,10},
PlotPoints->40];

Clothoid

plotintrinsic[
#&,
0,{0,0,0},{-18,18},
PlotPoints->80];

Double Clothoid

plotintrinsic[
#^2&,
0,{0,0,0},
MaxSteps->1000,
{-7.5,7.5},
PlotPoints->80,
PlotRange->All];

Perturbed Clothoid

plotintrinsic[
(#+Sin[#])&,
0,{0,0,0},{-18,18},
PlotPoints->80];

Oscillatory Curvature

plotintrinsic[
Sin[#]&,
0,{0,0,0},{-20,20},
PlotPoints->80];

plotintrinsic[
2Sin[#]&,
0,{0,0,0},{-20,20},
PlotPoints->80];

Very Oscillatory Curvature

plotintrinsic[
(#Sin[#])&,
0,{0,0,0},{-20,20},
PlotPoints->80];

Extremely Oscillatory Curvature

plotintrinsic[
(#^2Sin[#])&,
0,{0,0,0},{-8,8},
PlotPoints->80];

Bessel Function

plotintrinsic[
(#BesselJ[0,#])&,
0,{0,0,0},{-40,40},
PlotPoints->80];

Exercises

plotintrinsic[
-2Sin[#]&,
0,{0,0,0},{-20,20},
PlotPoints->80]

plotintrinsic[
3Sin[#]&,
0,{0,0},{-20,20},
PlotPoints->80]

plotintrinsic[
2.5Sin[#]&,
0,{0,0,0},{-20,20},
PlotPoints->80]

plotintrinsic[
4Sin[#]&,
0,{0,0,0},{-20,20},
PlotPoints->80]

plotintrinsic[
(1/Pi)ArcTan[Cos[#],Sin[#]]&,
0,{0,0},{-20,20},
PlotPoints->80]

plotintrinsic[
ArcTan[Cos[#],Sin[#]]&,
0,{0,0},{-20,20},
PlotPoints->80]

Initialization

plotintrinsic[fun_,a_:0,{c_:0,d_:0,theta0_:0},optsnd___,
                  {smin_:-10,smax_:10},optspp___]:=
    ParametricPlot[Module[{x,y,theta},
    {x[t],y[t]} /.
    NDSolve[{x'[ss]==Cos[theta[ss]],
             y'[ss]==Sin[theta[ss]],
             theta'[ss]==fun[ss],
             x[a]==c,y[a]==d,theta[a]==theta0},
             {x,y,theta},{ss,smin,smax},optsnd]]//Evaluate,
         {t,smin,smax},AspectRatio->Automatic,optspp];

plotintrinsic[
(#Sin[#]^2)&,
0,{0,0,0},{-20,20},
PlotPoints->80];