Cornu Spiral

Author

Eric W. Weisstein
June 27, 2013

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneCurves/CornuSpiral.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/CornuSpiral.html.

©2013 Wolfram Research, Inc. except for portions noted otherwise

Plot

<<Utilities`Plot`

ParametricPlot[{FresnelS[t],FresnelC[t]},{t,-10,10},Ticks->None,AspectRatio->Automatic,PlotStyle->Red,ImageSize->200]

ParametricPlot[{FresnelC[t],FresnelS[t]},{t,-10,10},Ticks->None,AspectRatio->Automatic,PlotStyle->Red,ImageSize->200]

Properties

cornu={FresnelC[t],FresnelS[t]};

ArcLengthFunction

FullSimplify[ArcLength[cornu],t∈Reals]

Curvature

FullSimplify[Curvature[cornu],t∈Reals]

Slope

Slope[a {FresnelC[t],FresnelS[t]},t]//FullSimplify

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[cornu,t],a>0&&t∈Reals]

Tangential Angle

FullSimplify[TangentialAngle[cornu],t∈Reals]

Analytic Form

cornu[t_]:={Re[#],Im[#]}&[Integrate[Exp[I Pi x^2/2],{x,0,t}]]

cornu[t]

FullSimplify[%]

Slope and Normal/Tangents

<<Utilities`Typesetting`

GraphicsArray[{Plot[Divide@@#,{t,0,5},AxesLabel->{t,InlineFraction@@#}]&/@{{FresnelC[t],FresnelS[t]},{FresnelS[t],FresnelC[t]}}},ImageSize->500]

NormalTangentPlot[{FresnelC[t],FresnelS[t]},{t,0,2.5,.1},.15]

Plot[Tan[Pi t^2/2],{t,0,3},Exclusions->Tan[Pi t^2/2]==0,AxesLabel->{t,Tan[InlineFraction[Pi t^2,2]]}]

Slope of tangent vectors

D[FresnelS[t],t]/D[FresnelC[t],t]

Gray's Generalization

clothoidprime[n_,a_][t_]:=a{Sin[t^(n+1)/(n+1)],Cos[t^(n+1)/(n+1)]}
clothoid[n_,a_][t_]:=Integrate[clothoidprime[n,a][tt],{tt,0,t},Assumptions->t>0&&n>0]

range={{-10,10},{-4.5,4.5}};
Show[GraphicsArray[Partition[Table[ParametricPlot[
  Evaluate[clothoid[n,1][t]],{t,range[[n,1]],range[[n,2]]},
  AspectRatio->Automatic,Ticks->None,DisplayFunction->Identity],{n,1,2}],2]],
  DisplayFunction->$DisplayFunction]

clothoid[1,a][t]

FullSimplify[clothoid[2,a][t]]

FullSimplify[PowerExpand[clothoid[n,a][t]]]

Curve Properties

Arc Length

FullSimplify[ArcLength[clothoid[n,a][t],t],n>0&&t>0&&a>0]//Timing

Curvature

FullSimplify[Curvature[clothoid[n,a][t],t],n>0&&t>0&&a>0]//Timing

Tangential Angle

FullSimplify[TangentialAngle[clothoid[n,a][t],t],n>0&&t>0&&a>0]//Timing

Solve[Pi t^2/2==5Pi/2,t]

Cesàro Equation

Solve[{κ==-t^n/a,s==a t},κ,t]

Eliminate[{κ==-t^n/a,s==a t},t]

FullSimplify[PowerExpand[Solve[(((-a κ))^(1/n))==(s/a),κ]]]

Generalizations

Needs["CSPROGS`"]

Show[GraphicsArray[Partition[{
plotintrinsic[#&,{0,0,0},{-10,10},PlotPoints->100,
	PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity],
plotintrinsic[#^2&,{0,0,0},{-5,5},
	PlotPoints->100,PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity],
plotintrinsic[#^2-2.19&,{0,0,0},{-5,5},
	PlotPoints->100,PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity],
				plotintrinsic[#^2-4&,{0,0,0},{-5,5},
	PlotPoints->100,PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity],
				plotintrinsic[#^2+1&,{0,0,0},{-5,5},
	PlotPoints->100,PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity],
				plotintrinsic[5#^4-18#^2+5&,{0,0,0},{-3,3},
	PlotPoints->100,PlotRange->All,Ticks->None,AspectRatio->Automatic,DisplayFunction->Identity]
			},3]]]

Vector Properties

parm=a {FresnelC[t],FresnelS[t]};
assum=a>0&&0t∈Reals;
xform=Abs[x_]^(n_/;Mod[n,2]==0):>x^n;

VectorLength

Assuming[assum,FullSimplify[Norm[parm]/.xform]]

NormalVector

Assuming[assum,FullSimplify[NormalVector[parm,t]/.xform]]

TangentVector

Assuming[assum,FullSimplify[TangentVector[parm,t]/.xform]]