Starr Rose

Author

Eric W. Weisstein
March 16, 2008

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

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

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

Code

MakeBoxes[label[a_,b_,c_],TraditionalForm]:=RowBox[{RowBox[{RowBox[{"a","==",MakeBoxes[a,TraditionalForm]}],",",RowBox[{"b","==",MakeBoxes[b,TraditionalForm]}],",",RowBox[{"c","==",MakeBoxes[c,TraditionalForm]}]}]}]

f[t_,a_,b_,c_]:=(2+Sin[a t]/2)*{Cos[tt=(t+Sin[b t]/c)],Sin[tt]};
Attributes[f]={Listable};
Starr[a_Integer,b_Integer,c_Integer,n_]:=Block[{r},values=f[Range[0.,2 Pi,2 Pi/n//N],a,b,c];
Show[Graphics[{Thickness[.0005],Map[Line[{{0,0},#}]&,values],Table[Line[values r^0.2],{r,0.,1,.05}]}],
PlotLabel->TraditionalForm[label[a,b,c]],PlotRange->{{-2.5,2.5},{-2.5,2.5}},AspectRatio->1]]

Plot

Show[GraphicsArray[
Block[{$DisplayFunction=Identity},{Starr[8,16,16,720],Starr[6,18,18,720]}
]
]]