Круг радиуса a катится по окружности радиуса b без скольжения оставаясь вне ее. Точка M жестко связана с кругом и находится на расстоянии d от центра. Визуализировать движение точки M и ее траекторию в зависимости от времени и параметров d и b, задаваемых  динамически.  Вывести уравнения полученных кривых (эпициклоид).

Text[
Style["I. Требуется визуализировать движение точки, фиксированной в круге радиуса r, при движении по единичной окружности (можно считать эту окружность единичной, т.к. радиусы не фиксированы и, по сути, важно лишь их отношение) без проскальзывания. Также требуется отобразить траекторию движения этой точки (все кривые такого типа называются эпициклоидами). Сначала параметризуем нашу кривую. Для этого рассмотрим следующий чертёж и далее будем действовать в его теминах.",16]]

Show[
Graphics
	[{
                  Circle[{0,0},1], Circle[{5/4,0}, 1/4],PointSize[0.015], Point[{1,0}],Text[Style["A(A')",Large],{4/7, 0}], Point[{0,0}],Text[Style["O",Large],{-0.15, 0}], Point[{5/4,0}],Text[Style["O'",Large],{1.45, 0}], Arrow[{{2,0},{2.5, 0}}],Text[Style["Через время Δt",Medium, Red],{2.25,0.2}],

Point[{4,0}],Text[Style["O",Large],{3.85, 0}],Point[{5/4*Cos[0.5]+4,5/4*Sin[0.5]}],Text[Style["O'",Large],{5/4*Cos[0.5]+4,5/4*Sin[0.5]+0.15}],Point[{5,0}],Text[Style["A",Large],{5.15, 0}],Point[{Cos[0.5]+4,Sin[0.5]}],Text[Style["B",Large],{Cos[0.5]+3.8,Sin[0.5]}],Point[{Cos[0.5]+4.4,Sin[0.5]-0.05}],Text[Style["A'",Large],{Cos[0.5]+4.6,Sin[0.5]-0.05}],

LightCyan,Disk[{4,0},0.4, {0, 0.5}],LightMagenta,Disk[{5/4*Cos[0.5]+4,5/4*Sin[0.5]}, 0.25, {(6/5)Pi,7Pi/4}] ,Black,
Text[Style["γ",16],{5/4*Cos[0.5]+4,5/4*Sin[0.5]-0.1}],Text[Style["ϕ",16],{4.3, 0.1}],

Line[{{4,0},{Cos[0.5]+4,Sin[0.5]}}],Line[{{4,0},{5,0}}],
Line[{{5/4*Cos[0.5]+4,5/4*Sin[0.5]},{Cos[0.5]+4,Sin[0.5]}}],Line[{{5/4*Cos[0.5]+4,5/4*Sin[0.5]},{Cos[0.5]+4.4,Sin[0.5]-0.05}}],

Circle[{4,0},1, {0.5,2Pi}], Circle[{5/4*Cos[0.5]+4,5/4*Sin[0.5]}, 1/4, {-Pi/4, (6/5)Pi}],
Red, Dashed,Circle[{4,0},1, {0, 0.5}], Blue, Dashed,Circle[{5/4*Cos[0.5]+4,5/4*Sin[0.5]}, 1/4, {(6/5)Pi,7Pi/4}] 
	}]
 ]

Text[Style["II. Заметим, что т.к. длины дуг AB и A'B равны в силу отсутствия проскальзываний, то величины углов ϕ и γ (т.е. ∠AOB и ∠A'O'B соответственно) соотносятся как обратные к радиусам, т.е.:", 16]]

Text[Style["(1)     (γ/ϕ) = (1/r)",Blue, 26]]

Text[Style["Таким образом, если параметризовать движение центра круга так:", 16]]

Text[Style["(2)     R(t) = ((1 + r) cos t ; (1 + r) sin t )",Blue, 26]]

Text[Style["то сам круг будет проворачиваться на угол t(1/r), т.е. если за ось Оу всегда считать прямую ОО' с соответствующим направлением, то в силу соотношения (1) точка внутри круга, удалённая от центра на kr и составляющая с осью Оу ориентированный угол ψ, где k от нуля до единицы, будет двигаться по следующему закону:", 16]]

Text[Style["(3)     R'(t) = (kr cos((t/r)+ψ) ; kr sin((t/r)+ψ) )", Blue,26]]

Text[Style["Исходя из этого получаем параметризацию искомой кривой (траектории движения точки), зависящую от k, r и ψ следующим образом", 16]]

Text[Style["(4)     R'(t) = ((1 + r) cos t + kr cos(t+(t/r)+ψ) ; (1 + r) sin t + kr sin(t+\!(t/r)+ψ) )",Blue, 26]]

Text[Style["что продемонстрировано на следующем чертеже:", 16]]

Manipulate[Show[ParametricPlot[{(1+r)*Cos[t]+k*r*Cos[t+t/r+Ψ],(1+r)*Sin[t]+k*r*Sin[t+t/r+Ψ]},{t,0.00001,T},PlotRange->2+2*r,PlotStyle->{Dashed},ColorFunction-> "Rainbow",Axes-> False,PerformanceGoal->"Quality", PlotLabel-> Style[If[k==0, "Окружность или дуга окружности",If[ k == 1 && r == 1,Кардиоида,"Обычная эпициклоида"]], 20, Red, Italic]],Graphics[{Circle[{0,0},1],PointSize[0.02],Thick,Point[{(1+r)+k*r*Cos[Ψ],k*r*Sin[Ψ]}],Point[{(1+r)*Cos[T]+k*r*Cos[T+T/r+Ψ],(1+r)*Sin[T]+k*r*Sin[T+T/r+Ψ]}],Blue,Circle[{(1+r)*Cos[T],(1+r)*Sin[T]},r],Dashed,Black,Circle[{1+r,0},r],Text[Style["M",Large],{(1+r)+k*r*Cos[Ψ]+0.5,k*r*Sin[Ψ]}], Text[Style["M'",Large],{(1+r)*Cos[T]+k*r*Cos[T+T/r+Ψ]+0.5,(1+r)*Sin[T]+k*r*Sin[T+T/r+Ψ]}]}]],{{k,1,"Отношение длины отрезка, соединяющего наблюдаемую точку, к радиусу круга(изменяется от 0 до 1)"},0,1},{{r,1,"Радиус катящегося круга(изменяется от 0.001 до 10)"}, 0.001, 10},{{Ψ,1,"Изначальное отклонение отрезка, соединяющего наблюдаемую точку, от продолжения OO' за O'(ориентированный угол от 0 до 2π)"},0,2*Pi},{{T,1,"Прошедшее время(изменяется от 0 до 100)"}, 0, 100}]