Animate[
en[t_]:={(rc-rm)Cos[t],(rc-rm)Sin[t]};
trochoid[t_]:={(rc-rm)Cos[t]+rd Cos[((rc-rm)/rm)t],(rc-rm)Sin[t]-rd Sin[((rc-rm)/rm)t]};(*トロコイドの式*)

outside={Yellow,Disk[{0,0},rc]};(*定円*)
outedge={Blue,Circle[{0,0},rc]};(*定円の縁*)
inside={LightPink,Disk[en[t],rm]};(*動円*)
inedge={Blue,Circle[en[t],rm]};(*動円の縁*)
center={Black,Disk[en[t],0.1]};(*動円の中心点*)
red={Red,Disk[trochoid[t],0.2]};(*描画点*)
line={Black,Line[{en[t],trochoid[t]}]};
(*動円の中心点と描画点を結ぶ線*)
pr=(rd+rc);(*プロット範囲*)
oc=rm+0.5;(*定円の最小値*)
ic=rc-0.5;(*動円の最大値*)

Show[
Graphics[
{outedge,outside,inedge,inside,center,line,red},
{PlotRange->{{-pr,pr},{-pr,pr}},(*プロット範囲*)
Axes->True}],(*x軸，y軸*)
ParametricPlot[trochoid[s],{s,0.01,t},PlotStyle->{Red,Thick}]
(*軌跡*)
],

{{t,0,"Time"},0,12Pi,1/1000,Appearance->"Labeled"},
Delimiter,
{{rc,5,"outside circle (rc)"},10,0.5,Appearance->"Labeled"},
{{rm,3,"inside circle (rm)"},1,0.5,Appearance->"Labeled"},
{{rd,5,"drawing point (rd)"},1,7,0.5,Appearance->"Labeled"},
AnimationRunning->False,DefaultDuration->7
]