Catenary

Author

Eric W. Weisstein
June 27, 2013

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

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

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

Equations

Eliminate[Thread[{x,y}=={t,a Cosh[t/a]}],t]

Cesàro Equation

?CesaroEquation

CesaroEquation[catenary,t,{κ,s}]

FullSimplify[%]

Plot

With[{a=1},
ParametricPlot[{t,a Cosh[t/a]},{t,-1,1},AspectRatio->Automatic,PlotStyle->Red,Ticks->None]
]

ParametricPlot[Evaluate[Table[{t,a Cosh[t/a]},{a,.05,1,.05}]],{t,-1,1},AspectRatio->Automatic,PlotStyle->Hue/@Range[0,.9,.045],Ticks->None,
PlotRange->{{-1,1},{-.1,2}}]

Plot[Cosh[x],{x,-1,1},AspectRatio->Automatic,PlotStyle->Red,Ticks->None]

Properties

catenary={t,a Cosh[t/a]};

Arc Length

FullSimplify[ArcLength[catenary,t],t>0&&a>0]

Curvature

FullSimplify[Curvature[catenary,t],t>0&&a>0]

FullSimplify[Curvature[y-a Cosh[x/a],{x,y}],a>0&&(x|y)∈Reals]

-(a/(y^2))/.y->a Cosh[x/a]

Differential Equation

xy=y[x]-a Cosh[x/a]

eqs=Table[D[xy,{x,i}],{i,0,3}];

gb=Factor/@GroebnerBasis[eqs,{x,y[x],y'[x],y''[x],y'''[x]},{a},MonomialOrder->EliminationOrder]

Inflection Points

D[Cosh[x/a],x,x]

Singular Points

SingularPoints[y-a Cosh[x/a],{x,y}]

SpecialAffineCurvature

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

Slope

Slope[{t,a Cosh[t/a]},t]//FullSimplify

Slope[y==a Cosh[x/a],{x,y}]//FullSimplify

Slope[y==a Cosh[x/a],{x,y}]//FullSimplify

Tangential Angle

FullSimplify[TangentialAngle[catenary,t],a>0&&t>0]

St. Louis Arch

ParametricPlot[{t,a(Cosh[L/a]- Cosh[t/a])},{t,-L,L},AspectRatio->Automatic]

L=299.2239;
h=625.0925;
c=3.0022;
A=68.7672;
L/c

ParametricPlot[{x,A(Cosh[x c/L]-1)},{x,-L,L},AspectRatio->Automatic]

A(Cosh[x c/L]-1) /. x->L

a=aa/.FindRoot[aa (Cosh[L/aa]-1)==h,{aa,100}]

a Sinh[L/a]

Sqrt[D[a(Cosh[L/a]- Cosh[t/a]),t]^2+1]

Integrate[%,{t,0,L}]

Vector Properties

parm={t,a Cosh[t/a]};
assum=a>0&&t∈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