Note

This Mathematica notebook is from the WWW project A Visual Dictionary of Special Plane Curves. Copyright © 1995-2000 by Xah Lee. (http://xahlee.org/)

Packages and Initializations

Needs["ParaPlot`"]
(*MathSource Item:0207-986*)

Needs["PlaneCurveFormulas`"](*0208-482*)

Needs["PlaneCurveGenerator`"](*0208-314*)

Needs["Graphics`ImplicitPlot`"]
(*MathSource Item:0200-529*)

$HistoryLength = 5;

Epitrochoid

Description

Epitrochoid is a family of curves. It is a Roulette. (see Roulette).
(1) Let there be a point Q fixed to a circle B. (it may be inside or outside of this circle)
(2) Let circle B roll outside a fixed circle A without slipping.
(3) The trace of Q is Hypotrochoid.

Let radius of circle B be b and radius of circle A be a, and Let the distance from the tracing point to the center of circle B be h.
Parametric formula:

Epitrochoid[a,b,h][t]

ParaPlot[
	Epitrochoid[1,1/5,#][t],
	{t,0, 2 Pi},
	PlotDot->False,
	Ticks->{Range[-3,3],Range[-3,3]},
	CurveColorFunction->{Hue[.7]&},
	AspectRatio->Automatic
]& /@ {.1,.6,1.2,2.6};0;

Special cases of Epitrochoid:

h == 0, Circle.
b == h, Epicycloid.
a == b, Limacon of Pascal, a == b == h, Cardioid.
a/2 == b == h, Nephroid.

EpitrochoidGenerator[ {1,1/3,.5}, {0, 6.1,.05}, LastFrameOnly->True];

ParaPlot[ Epitrochoid[1,2/3,1][x], {x,0,2 2 Pi},
	AspectRatio->Automatic];

ParaPlot[ Epitrochoid[5,1,2][x], {x,0, 2 Pi},AspectRatio->Automatic];

ParaPlot[ Epitrochoid[1,2/5,3][x], {x,0,2 2 Pi},AspectRatio->Automatic];

Epitrochoid and Hypotrochoid Graphics Gallery

Clear[b]
b={RGBColor[Random[],Random[], Random[]]};
ParaPlot[ 
	Rotate[ Hypotrochoid[1, 2/5, .13][t], Pi/2],
	{t, 0, 2 2 Pi, 2 2 Pi/(5 20)},
	ConchoidSetting->{{0,0},{-.2,1}},
	PlotDot->False,
	CurveColorFunction->{b&},
	LineStyle->{RGBColor[Random[],Random[], Random[]]},
	Axes->False,
	AspectRatio->Automatic
];

(* deltoid normal beauty *)
ParaPlot[
	{(2*Cos[t])/3 + Cos[2*t]/3, (2*Sin[t])/3 - Sin[2*t]/3},
	{t,0, 2 Pi, 2 Pi/120},
	NormalLineLength->1,PlotDot->False,
	SecantConnection->{60,1}, Axes->False,
	AspectRatio->Automatic
];

(* Hypotrochoid normal beauty, {1,5/14,4/7} *)
ParaPlot[
	{	(9*Cos[t])/14 + (4*Cos[(9*t)/5])/7,
		(9*Sin[t])/14 - (4*Sin[(9*t)/5])/7
	},
	{t, 0, 5 2 Pi, 5 2 Pi/140},
	NormalLineLength->1, Axes->False,
	AspectRatio->Automatic
];

(* hypotrochoid normal beauty, [1, 8/15, 8/15] , 60 sec.*)
ParaPlot[
	{	(8*Cos[(7*t)/8])/15 + (7*Cos[t])/15,
		(-8*Sin[(7*t)/8])/15 + (7*Sin[t])/15
	},
	{t, 0, 8 2 Pi, 8 2 Pi/(15 40)},
	NormalLineLength->1,
	CurveColorFunction->{GrayLevel[.8]&},
	Axes->False, PlotDot->False,
	AspectRatio->Automatic
];

ParaPlot[
	Hypotrochoid[1,3/5,2/3][t], {t,0, 5 2 Pi, 3 2 Pi/100},
	SecantConnection->{40,1}, Axes->False,AspectRatio->Automatic
];

ParaPlot[ Hypotrochoid[1, 2/5, .13][t],
	{t, 0, 3 2 Pi, 2 2 Pi/(5 22)},
	SecantConnection->{5 3,1},
	Axes->False, PlotDot->False,AspectRatio->Automatic
];

ParaPlot[ Hypotrochoid[1, 5/14, 4/7][t],
	{t, 0, 6 2 Pi, 5 2 Pi/140},
	SecantConnection->{14,1}, Axes->False,AspectRatio->Automatic
];

ParaPlot[ Hypotrochoid[1, 8/15, 8/15][t],
	{t, 0, 10 2 Pi, 8 2 Pi/150},
	SecantConnection->{30,1}, Axes->False, PlotDot->False,
	AspectRatio->Automatic
];

(* 8 leaved rose and its evolute, 63 sec. *)
ParaPlot[Rose[4][t],
	{t, 0, 2 Pi,2 Pi/120},
	PlotEvolute->True, 
	LineStyle->{Hue[.43]}, AspectRatio->Automatic
];

ParaPlot[ Epitrochoid[1,3/5,.6][t],
	{t, 0, 3 2 Pi, 3 2 Pi/(5 9)},
	CausticLineLength->8, CausticOrigin->{0,0},
	PlotCurve->False,
	Axes->False, PlotDot->False, CurveColorFunction->{Hue[.45,1,.7]&},
	CausticLineStyle->{Hue[Random[]]}, PlotRange->All,
	AspectRatio->Automatic
];

ParaPlot[ Epitrochoid[1, 1/4, .5][t],
	{t, 0, 1 2 Pi, 2 Pi/(4 30)},
	CausticLineLength->10,
	CausticOrigin->{0,0},
	Axes->False, PlotDot->False,
	CausticLineStyle->{Hue[Random[]]},
	AspectRatio->Automatic
];

ParaPlot[ Epitrochoid[1, 1/6, 1][t],
	{t, 0,  2 Pi, 2 Pi/(6 11)},
	CausticLineLength->8,
	Axes->False,PlotDot->False, PlotCurve->False,
	CausticLineStyle->{{Hue[Random[],1,.9]} },
	PlotRange->All,AspectRatio->Automatic
];

(* Hypotrochoid beauty. [1,2/3,.4] *)
ParaPlot[ {0.4*Cos[t/2] + Cos[t]/3, -0.4*Sin[t/2] + Sin[t]/3},
	{t, 0, 2 2 Pi, 2 2 Pi/(5 18)},
	PedalPoint->{0,0},
	Axes->False, PlotDot->False, AspectRatio->Automatic
];

(* Hypotrochoid beauty, [1, 3/4, .5] *)
ParaPlot[ {0.5*Cos[t/3] + Cos[t]/4, -0.5*Sin[t/3] + Sin[t]/4},
	{t, 0, 3 2 Pi, 3 2 Pi/(4 20)},
	PedalPoint->{0,0},
	Axes->False, PlotDot->False,
	LineStyle->{Hue[Random[]]},
	AspectRatio-> Automatic
];