Serpentine Curve

Author

Eric W. Weisstein
March 25, 2021

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

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

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

Definition

serpentine={a Cot[t],b Sin[t]Cos[t]};

Equation

Cartesian

Eliminate[{x==a cos[t]/sin[t],y==b sin[t]cos[t],sin[t]^2+cos[t]^2==1},{sin[t],cos[t]}]

Entity["PlaneCurve","SerpentineCurve"]["CartesianEquation"]

ContourPlot[Evaluate[Entity["PlaneCurve","SerpentineCurve"]["CartesianEquation"][(1/2),1][x,y]],{x,-3,3},{y,-.6,.6},Axes->True,AspectRatio->Automatic]

Parametric

Entity["PlaneCurve","SerpentineCurve"]["ParametricEquations"]

Eliminate[{x==a cos[t]/sin[t],y==b sin[t]cos[t],sin[t]^2+cos[t]^2==1},{sin[t],cos[t]}]

ParametricPlot[Entity["PlaneCurve","SerpentineCurve"]["ParametricEquations"][(1/2),1][t],{t,0,π},AspectRatio->Automatic]

Parametric alternate form

Eliminate[{x==a sin[t]/cos[t],y==b sin[t]cos[t],sin[t]^2+cos[t]^2==1},{sin[t],cos[t]}]

p1=ParametricPlot[{((Tan[t])/2),Cos[t] Sin[t]},{t,-π/2,π/2},AspectRatio->Automatic,Exclusions->None,PlotStyle->Directive[Thickness[.01],Red]]

Plot[{Tan[t],Cos[t] Sin[t]},{t,-π/2,π/2},PlotRange->5]

Entity["PlaneCurve","SerpentineCurve"]["ParametricEquations"][(1/2),1][t]

Plot[{Cot[t],Cos[t] Sin[t]},{t,0,π},PlotRange->5]

Show[p1,p2]

Polar

Solve[Tan[θ]==1/Divide@@serpentine,t]//FullSimplify

FullSimplify[Sqrt[#.#]&[serpentine]/.t->ArcSin[(Sqrt[((a Tan[θ])/b)])],0<θ<2π]

Entity["PlaneCurve","SerpentineCurve"]["PolarEquation"]

PolarPlot[Entity["PlaneCurve","SerpentineCurve"]["PolarEquation"][(1/2),1][θ],{θ,0,2π},AspectRatio->Automatic]

Properties

serpentine={a Cot[t],b Sin[t]Cos[t]};

Limit[serpentine,t->0]

Minima/Maxima

FullSimplify[D[a b x/(a^2+x^2),x]]

Solve[a b (a-x) (a+x)==0,x]

a b x/(a^2+x^2)/.x->#&/@{-a,a}

Arc Length Function

FullSimplify[(Sqrt[(a^2) ((Csc[t])^4)+(((b ((Cos[t])^2)-b ((Sin[t])^2)))^2)]),a>0&&b>0&&t>0]

v5

FullSimplify[ArcLength[serpentine,t]]

v6

ArcLength[serpentine,t]

Integrate[Sqrt[a^2*Csc[t]^4 + (b*Cos[t]^2 - b*Sin[t]^2)^2], 
 {t, 0, t}]

V6.1

ArcLength[serpentine,t,Assumptions->a>0&&b>0&&t>0]//Timing

Integrate[(Sqrt[(b^2) ((Cos[2 t])^2)+(a^2) ((Csc[t])^4)]),t]

Curvature

Parametric

FullSimplify[Curvature[serpentine,t],t>0]

Block[{a=1,b=1},Plot[-((2 a b Cot[t] (-3+((Cot[t])^2)))/((((b^2) ((Cos[2 t])^2)+(a^2) ((Csc[t])^4)))^(3/2))),{t,-π,π}]]

Polar

FullSimplify[Curvature[Sqrt[a Sec[q] (b Csc[q]-a Sec[q])],q],a>0&&b>0&&0<q<2π]

Implicit

FullSimplify[ImplicitCurvature[((a^2)+(x^2)) y-a b x,{x,y}],a>0&&b>0]

Inflection Points

InflectionPoints[serpentine,t]

Singular Points

SingularPoints[((a^2)+(x^2)) y-a b x,{x,y}]

Slope

Slope[{a Cot[t],b Sin[t] Cos[t]},t]//FullSimplify

Slope[Sqrt[a Sec[q] (b Csc[q]-a Sec[q])],q]//FullSimplify

Slope[(a^2+x^2) y==a b x,{x,y}]//FullSimplify

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[serpentine,t],a>0&&b>0&&t>0]

Tangential Angle

v5

FullSimplify[TangentialAngle[serpentine,t]]//Timing

v6

TangentialAngle[serpentine,t]

Vector Properties

parm={a Cot[t],b Sin[t] Cos[t]};
assum=a>0&&b>0&&t>0;
xform={Abs[x_]^(n_/;Mod[n,2]==0):>x^n,Sqrt[x_^(n_/;Mod[n,2]==0)]:>Abs[x]^(n/2)};

VectorLength

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

NormalVector

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

TangentVector

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