Hypotrochoid

Author

Eric W. Weisstein
June 28, 2013

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

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

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

Curve

Hypotrochoid[{a,b},h,t]

Hypotrochoid[{a,b},h,t]//TraditionalForm

Plot

h<b

Hypotrochoid[{16,2},1.5,{0,2Pi},PlotStyle->Red,ImageSize->200]

movie1=Show/@Most[Hypotrochoid[{16,2},1.5,{0,2Pi,2Pi/30}]];

<<Utilities`GIF`;

Export[gifs<>"hypotroc1.gif",movie1]//Timing

h>b

Hypotrochoid[{16,2},3,{0,2Pi},PlotStyle->Red,ImageSize->200]

movie2=Show/@Most[Hypotrochoid[{16,2},3,{0,2Pi,2Pi/30}]];

<<Utilities`GIF`;

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

Special Cases

Ellipse

FullSimplify[Hypotrochoid[{2b,b},h,t]]

ParametricPlot[Hypotrochoid[{2,1},2.2,t],{t,0,2π}]

Hypocycloid

FullSimplify[Hypotrochoid[{a,b},b,t]]

ParametricPlot[Hypotrochoid[{2,3},3,t],{t,0,20}]

Rose

FullSimplify[%/.h->(a-b)]

But:

Cos[(x/2)]==(Sqrt[((1+Cos[x])/2)])

2((Cos[(x/2)])^2)==1+Cos[x]

so:

(r^2)==2 (((a-b))^2)(2((Cos[((a t)/(2b))])^2))
r==2(a-b)Cos[((a t)/(2b))]

Tan[θ]==1/Divide@@Hypotrochoid[{a,b},a-b,t]//FullSimplify

θ==t(1-(a/(2 b)))

Solve[θ==(1-(a/(2 b))) t,t]

((a t)/(2b))/.t->-((2 b θ)/(a-2 b))

r==2(a-b)Cos[((a θ)/(2b-a))]

2(a-b)Cos[((a θ)/(2b-a))]/.{a->3,b->1}

With[{a=3,b=1},{PolarPlot[2(a-b)Cos[((a θ)/(2b-a))],{ θ,0,2Pi}],ParametricPlot[Hypotrochoid[{a,b},a-b,t],{t,0,4Pi}]}]

2(a-b)Cos[((a θ)/(2b-a))]/.{a->3,b->2}

With[{a=3,b=2},{PolarPlot[2(a-b)Cos[((a θ)/(2b-a))],{ θ,0,2Pi}],ParametricPlot[Hypotrochoid[{a,b},a-b,t],{t,0,4Pi}]}]

2(a-b)Cos[((a θ)/(2b-a))]/.{a->3,b->2}

With[{a=5,b=3},{PolarPlot[2(a-b)Cos[((a θ)/(2b-a))],{ θ,0,2Pi}],ParametricPlot[Hypotrochoid[{a,b},a-b,t],{t,0,4Pi}]}]

Properties

Hypotrochoid[{a,b},h,t]//TraditionalForm

ArcLengthFunction

v5

FullSimplify[ArcLength[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0]//Timing

v6

FullSimplify[ArcLength[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0]//Timing

FullSimplify[ArcLength[Hypotrochoid[{a,b},h,t],t,GenerateConditions->False],a>0&&b>0&&h>0]

Curvature

v5

FullSimplify[Curvature[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0]//Timing

v6

FullSimplify[Curvature[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0]

PolarEquation

<<MathWorld`Curves`

Hypotrochoid[{a,b},h,t]^2//Expand

#.#&@Hypotrochoid[{a,b},h,t]//FullSimplify

Tan[θ]==(1/Divide@@Hypotrochoid[{a,b},h,t]//FullSimplify)

cusps=Table[(((a-b))^2)+(h^2)+2 (a-b) h Cos[((a t)/b)]/.b->a/n,{n,4}]

Block[{a=1,h=1/2},PolarPlot[#,{t,0,2Pi}]&/@cusps]

Block[{a=1,h=1},PolarPlot[#,{t,0,2Pi}]&/@cusps]

Block[{a=1,h=2},PolarPlot[#,{t,0,2Pi}]&/@cusps]

Slope

Slope[{(a-b) Cos[t]+h Cos[((a-b) t)/b],(a-b) Sin[t]-h Sin[((a-b) t)/b]},t]//FullSimplify

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0]

Tangential Angle

v5

FullSimplify[TangentialAngle[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0&&t>0]//Timing

v6

FullSimplify[TangentialAngle[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0&&t>0]//Timing

V8

FullSimplify[TangentialAngle[Hypotrochoid[{a,b},h,t],t],a>0&&b>0&&h>0&&t>0]//Timing

Vector Properties

parm={(a-b) Cos[t]+h Cos[((a-b) t)/b],(a-b) Sin[t]-h Sin[((a-b) t)/b]};
assum=a>0&&b>0&&h>0&&t>0;
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]]