\newcommand{\HypoCyclo}[4][100]{% \def\R{#2}\def\petitR{#3}\def\NbPt{#4}% локални дефиниции %% В зависимост от стойността на R за petitR: %% 4 астроид -- 3 делтоид -- 2 диаметър \def\Anglen{\n\space 360 \NbPt\space 1 add div mul} \psset{PointSymbol=none,PointName=none} \pstGeonode[PointSymbol={*,none},PointName={default,none}, PosAngle=0]{O}(\R,0){P} \pstCircleOA{O}{P} \pstHomO[HomCoef=\petitR\space\R\space div]{P}{O}[M] \multido{\n=1+1}{\NbPt}{% \pstRotation[RotAngle=\Anglen]{O}{M}[M\n] \rput(M\n){\pstGeonode(\petitR,0){Q}} \pstRotation[RotAngle=\Anglen]{M\n}{Q}[N] \pstRotation[RotAngle=\n\space -360 \NbPt\space 1 add div mul \R\space\petitR\space div mul, PointSymbol=*, PointName=none]% {M\n}{N}[N\n] \ifnum\n=#1 \pstCircleOA{M\n}{N\n}\ncline{M\n}{N\n}% {\psset{linecolor=red, linewidth=2\pslinewidth} \pstArcOAB{M\n}{N\n}{N}\pstArcOAB{O}{P}{N}} \fi}}%fin multido-newcommand