Cikloida, epicikloide in hipocikloide

Cikloida je krivulja, ki jo dobimo če opazujemo točko na obroču, ki se kotali po premici. Če ima obroč polmer R, lahko cikloido parametriziramo s funkcijama

                                                                                                        x(t) = R(t - sin t),
                                                                                                        y(t) = R(1 - cos t).
                                                                                                        
Za parametre ponavadi vzamemo t na intervalu [0,∞).

R=1;

Manipulate[Animate[Graphics[{Thickness[0.003],PointSize[0.013],Line[{{-1,0},{8Pi+1,0}}],RGBColor[0,0,1],Thickness[0.004],Line[Table[{R(t-Sin[t]),R(1-Cos[t])},{t,0,8Pi,Pi/30}]],Thickness[0.003],
RGBColor[0,0.8,0],Rotate[{Translate[
{{Black,Dashed,Dashing[0.005],Circle[{0,R},R]},
Blue,Point[{0,0}]},{θ,0}]},
-θ,{θ,1}]},{},PlotRange->{{-1,9Pi},{0,2}},ImageSize->{500,50}],
{{θ,0,"Vrednost parametra t"},0,8π},AnimationRate->0.15,AnimationRunning->False]]

Epicikloide so krivulje, ki jih dobimo pri opazovanju točke na obroču, ki se kotali po zunanjosti drugega obroča. Če ima statični obroč polmer R, kotaleči pa r, lahko epicikloido parametriziramo s funkcijama

                                                                                                        x(t) = r(k+1)cos t - rcos((k+1)t),
                                                                                                        y(t) = r(k+1)sin t - rsin((k+1)t),
                                                                                                        
kjer je k = (R/r) razmerje polmerov obeh krožnic. V primeru, ko imata obe krožnici enak polmer, dobimo na ta način kardioido.

R=1;

Manipulate[Animate[Graphics[{Thickness[0.004],PointSize[0.013],Blue,Circle[{0,0},1],RGBColor[0,0,1],Thickness[0.003],Line[Table[{-((1+r)Cos[t]-r Cos[(1+r)t/r]),(1+r)Sin[t]-r Sin[(1+r)t/r]},{t,0,2Pi,Pi/50}]],
RGBColor[0,0.8,0],Rotate[{Translate[
{{Black,Dashed,Dashing[0.005],Circle[{0,0},r]},
Blue,Point[{-r,0}]},(1+r){Cos[θ],Sin[θ]}]},
Pi+(Pi+θ)(1+(1/r)),(1+r){Cos[θ],Sin[θ]}]},{},PlotRange->{{-(1+2*r),1+2.1*r},{-(1+2*r),1+2*r}},ImageSize->{500,375}],
{{θ,0,"Vrednost parametra t"},0,8π},AnimationRate->0.05,AnimationRunning->False],
{{r,1,"Razmerje polmerov r:R"},Table[1/j,{j,1,5}]}]

Hipocikloide so krivulje, ki jih dobimo pri opazovanju točke na obroču, ki se kotali po notranjosti drugega obroča. Če ima statični obroč polmer R, kotaleči pa r, lahko hipocikloido parametriziramo s funkcijama

                                                                                                        x(t) = r(k-1)cos t - rcos((k-1)t),
                                                                                                        y(t) = r(k-1)sin t - rsin((k-1)t),
                                                                                                        
kjer je k = (R/r) razmerje polmerov obeh krožnic. V primeru, ko je k = 4, dobimo na ta način asteroido.

R=1;

Manipulate[Animate[Graphics[{Thickness[0.004],PointSize[0.013],Blue,Circle[{0,0},1],RGBColor[0,0,1],Thickness[0.003],Line[Table[{(R-r)Cos[t]+r*Cos[(R-r)/r*t],(R-r)Sin[t]-r*Sin[(R-r)/r*t]},{t,0,8Pi,Pi/20}]],
RGBColor[0,0.8,0],Rotate[{Translate[
{{Black,Dashed,Dashing[0.005],Circle[{0,0},r]},
Blue,Point[{r,0}]},(R-r){Cos[θ],Sin[θ]}]},
θ(1-R/r),(R-r){Cos[θ],Sin[θ]}]},{},ImageSize->{500,375}],
{{θ,0,"Vrednost parametra t"},0,8π},AnimationRate->0.05,AnimationRunning->False],
{{r,1/4,"Razmerje polmerov r:R"},Table[4/j,{j,9,16}]}]