Cycloid

Author

Eric W. Weisstein
June 27, 2013

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

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

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

Definition

cycloid=a{t-Sin[t],1-Cos[t]};

Plot

ParametricPlot[{t-Sin[t],1-Cos[t]},{t,0,4Pi},PlotStyle->Red,AspectRatio->Automatic,ImageSize->400]

ParametricPlot[{t-Sin[t],1-Cos[t]},{t,0,4Pi},PlotStyle->Red,AspectRatio->Automatic,Ticks->None,ImageSize->500]

TrochoidFrames[{1,1},Table[x,{x,0,4Pi,4Pi/5}]]

Movie

movie=Trochoid[{1,1},{0,4Pi,4Pi/30},ImageSize->500];

<<Utilities`GIF`

Export[gifs<>"cycloid.gif",movie]//Timing

Equations

Cartesian

V6

Solve[x==cycloid[[1]],t]

Solve[y==cycloid[[2]],t]

x==Simplify[cycloid[[1]]/.{t->ArcCos[((a-y)/a)]},a>0]

Solve[%,y]

With[{a=1},ParametricPlot[{-(Sqrt[2 a-y]) (Sqrt[y])+a ArcCos[1-(y/a)],y},{y,0,2},PlotStyle->Red,AspectRatio->Automatic]]

cycloid/.{x->a ArcCos[1-y/a]-Sqrt[2 a y-y^2]}

With[{a=1},
ParametricPlot[
Evaluate[Table[{(n+1/2((-1)^n-1))π a+(-1)^(n-1)(-(Sqrt[2 a-y]) (Sqrt[y])+a ArcCos[1-(y/a)]),y},{n,7}]],{y,0,3},PlotStyle->Red,AspectRatio->Automatic,PlotRange->All]]

Block[{a=1},
ContourPlot[
Mod[x,π]==-((Sqrt[2 -y]) (Sqrt[y])-ArcCos[1-(y/a)]),{x,0,4π},{y,0,2},ContourStyle->Red,AspectRatio->Automatic]]

Block[{a=1},
ContourPlot[
If[EvenQ[Floor[x/π]],Mod[x,π],π-Mod[x,π]]==-((Sqrt[2 -y]) (Sqrt[y])-ArcCos[1-(y/a)]),{x,0,4π},{y,0,2},ContourStyle->Red,AspectRatio->Automatic]]

Plot[If[EvenQ[Floor[x/π]],Mod[x,π],π-Mod[x,π]],{x,0,4π}]

Plot[2π Abs[Round[x/π/2]-x/π/2],{x,0,4π},PlotStyle->Thickness[.01]]

Plot[2π Abs[Floor[x/(2π)-1/2]+1-x/(2π)],{x,0,4π},PlotStyle->Thickness[.01]]

FullSimplify[2π Abs[Floor[x/(2π)-1/2]+1-x/(2π)],x∈Reals]

FullSimplify[(1/2)-(1/(2π))(x/a)]

Block[{a=2},
ContourPlot[Abs[(x/a)+2 π (Ceiling[(1/2)-(1/(2π))(x/a)]-1)]==ArcCos[1-(y/a)]-(Sqrt[2 (y/a) -((((y/a)))^2)]) ,{x,0,6π},{y,0,4},ContourStyle->Red,PlotPoints->20,AspectRatio->Automatic]]

4.π

Plot[Round[x]-(Floor[x-1/2]+1),{x,0,4},PlotStyle->Thickness[.01]]

Table[Round[x]-(Floor[x-1/2]+1),{x,-2,2,1/2}]

Cesaro

a{t-Sin[t],1-Cos[t]}

ParametricPlot[{t-Sin[t],1-Cos[t]},{t,0,4π}]

a ArcLength[{t-Sin[t],1-Cos[t]},t,Assumptions->0<t<2π]

FullSimplify[Curvature[a{t-Sin[t],1-Cos[t]},t],a>0&&0<t<π]

{s==8 a ((Sin[(t/4)])^2),κ==-(1/(4 a Sin[(t/2)]))}

{s==8 a ((Sin[(t/4)])^2),κ==-(1/(4 a 2 Sin[(t/4)]Cos[(t/4)]))}

FullSimplify[4 a Sin[(t/2)]-4 a 2 Sin[(t/4)]Cos[(t/4)]]

gb=GroebnerBasis[{s-8 a (sin^2),8κ a  sin cos+1,sin^2+cos^2-1},{κ,s},{sin,cos}]

Numerator[Factor[s (-8 a+s) (κ^2)+1/.κ->1/ρ]]

a{t+Sin[t],1-Cos[t]}

ParametricPlot[{t+Sin[t],1-Cos[t]},{t,0,4π}]

a ArcLength[{t+Sin[t],1-Cos[t]},t,Assumptions->0<t<π]

FullSimplify[Curvature[a{t+Sin[t],1-Cos[t]},t],0<t<π&&a>0]

{s==4 a Sin[(t/2)],κ==(1/(4a))(1/( Cos[(t/2)]))}

gb=GroebnerBasis[{s-4a sin,4κ a cos-1,sin^2+cos^2-1},{κ,s},{sin,cos}]

Numerator[Factor[gb[[1]]/.κ->1/ρ]]

Properties

cycloid=a{t-Sin[t],1-Cos[t]};

ArcLengthFunction

V4.2

ArcLength[cycloid,t]

V5.0

s=ArcLength[cycloid,t]

FullSimplify[s,a>0&&t>0]

FullSimplify[s,a>0&&0<t<2π]

V6.1

FullSimplify[ArcLength[cycloid,t,Assumptions->a>0&&t>0],t>0]

Plot[4(1- Abs[Sin[(t/2)]] Cot[(t/2)]),{t,0,6π}]

FullSimplify[%,0<t<2π]

V8

s=ArcLength[cycloid,t,Assumptions->a>0&&t>0]

FullSimplify[s,0<t<2π]

FullSimplify[s,2π<t<4π]

Plot[(4-4 Abs[Sin[(t/2)]] Cot[(t/2)]+8 IntegerPart[(t/(2 π))]),{t,0,6π}]

From Trochoid

Limit[2 Abs[a-b]EllipticE[(t/2),-((4 a b)/(((a-b))^2))],b->a,Assumptions->a>0&&t>0]

ss=FullSimplify[%,t>0]

s[a_]:=-4 (((-1))^(Round[(t/(2 π))])) a (-1+Abs[Cos[(t/2)]]) Abs[Sin[(t/2)]] Csc[(t/2)]+8 a Round[(t/(2 π))]

Refine[ss,t>0]

Plot[s[a]/a,{t,0,6π}]

Table[s[a]/a,{t,1/2,4,1/2}]//N

(Round[#]-(Floor[#+1/2]))&/@{-2,-1,-3/4,-1/2,0,1/4,1/2,3/4,1,3/2,5/2}

s2[a_]:=4 (((-1))^(Floor[(t/(2 π))+(1/2)])) a (1-Abs[Cos[(t/2)]]) Abs[Sin[(t/2)]] Csc[(t/2)]+8 a Floor[(t/(2 π))+(1/2)]

Plot[s2[a]/a,{t,0,6π}]

Plot[s2[a]/a,{t,0,6π}]

PiecewiseExpand[(-1)^Floor[t/(2 Pi)+1/2]]

Subtract@@@Table[{s[a],s2[a]},{t,-2,2,1/4}]

Curvature

kappa=FullSimplify[Curvature[cycloid,t],a>0]

FullSimplify[kappa,t>0]

Slope

Slope[a {t-Sin[t],1-Cos[t]},t]//FullSimplify

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[cycloid,t],a>0&&t>0]

Tangential Angle

v4.2

TangentialAngle[cycloid,t]

v5.0

TangentialAngle[cycloid,t]

V6.1

TangentialAngle[cycloid,t]

From Trochoid

Limit[-(t/2)+((π Abs[a-b])/(2 (a-b)))-ArcTan[(((a-b) Cot[(t/2)])/(a+b))]+Floor[t/(2π)]π,a->b]

Plot[(1/2) (π-t+2 π Floor[(t/(2 π))]),{t,0,6π}]

Limit[(1/2) (π-t+2 π Floor[(t/(2 π))]),t->2π,Direction->#]&/@{-1,1}

V8

TangentialAngle[cycloid,t]

Single Hump

Arc Length

8 a ((Sin[(t/4)])^2)/.t->2π

Area under Curve

x[t_]:=a(t-Sin[t])
y[t_]:=a(1-Cos[t])

FullSimplify[x[t]y'[t]-y[t]x'[t]]

a^2 Integrate[Abs[(-2+2 Cos[t]+t Sin[t])],{t,0,2π}]/2

Area[a{(t-Sin[t]),(1-Cos[t])},{t,0,2π}]

(Sqrt[(2 a-y) y])+a ArcCos[1-(y/a)]/.y->2a

With[{a=1},RegionPlot[x>-(Sqrt[(2 a-y) y])+a ArcCos[1-(y/a)],{x,0,π a},{y,0,2a},AspectRatio->Automatic]]

2With[{a=1},NIntegrate[Boole[x>-(Sqrt[(2 a-y) y])+a ArcCos[1-(y/a)]],{x,0,π a},{y,0,2a},MaxPoints->10^7]]

3.π

With[{a=1},RegionPlot[Abs[(x/a)+2 π (Ceiling[(1/2)-(1/(2π))(x/a)]-1)]>ArcCos[1-(y/a)]-(Sqrt[2 (y/a) -((((y/a)))^2)]),{x,0,4π a},{y,0,2a},AspectRatio->Automatic,MaxRecursion->6]]

With[{a=1},NIntegrate[Boole[Abs[(x/a)+2 π (Ceiling[(1/2)-(1/(2π))(x/a)]-1)]>ArcCos[1-(y/a)]-(Sqrt[2 (y/a) -((((y/a)))^2)])],{x,0,2π a},{y,0,2a},MaxPoints->10^7]]

With[{a=1},Integrate[Boole[Abs[(x/a)+2 π (Ceiling[(1/2)-(1/(2π))(x/a)]-1)]>ArcCos[1-(y/a)]-(Sqrt[2 (y/a) -((((y/a)))^2)])],{x,0,2π a},{y,0,2a}]]

N[%]

Centroid

With[{a=1},(1/(3π (a^2)))Integrate[{x,y}Boole[Abs[(x/a)+2 π (Ceiling[(1/2)-(1/(2π))(x/a)]-1)]>ArcCos[1-(y/a)]-(Sqrt[2 (y/a) -((((y/a)))^2)])],{x,0,2π a},{y,0,2a}]]//Timing

N[%]

π/{3.1405318840972085`,0.8325714624760465`}

Vector Properties

parm=a {t-Sin[t],1-Cos[t]};
assum=a>0&&t∈Reals;
xform={Abs[x_]^(n_/;Mod[n,2]==0):>x^n,Power[Power[Csc[Times[Rational[1,2],t]],2],Rational[-1,2]]:>Abs[Sin[t]]};

VectorLength

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

NormalVector

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

TangentVector

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