\newcommand{\Sommet}{1.4142135623730951}
\newcommand{\PosFoyer}{2}
\newcommand{\HypAngle}{0}
\setcounter{i}{1}
\newcounter{CoefDiv}\setcounter{CoefDiv}{20}
\newcounter{Inc}\setcounter{Inc}{2}
\newcounter{n}\setcounter{n}{2}
%% радиус на концентрични кръгове, използвани за намиране на точки от H
%% избираме \Rii=\Ri+2\Sommet (дефиниция на хипербола)
\newcommand{\Ri}{% кодът е postscript
  \PosFoyer\space\Sommet\space sub \arabic{i}\space\arabic{CoefDiv}\space div add}
\newcommand{\Rii}{\Ri\space\Sommet\space 2 mul add}
\pstGeonode[PosAngle=90]{O}(\PosFoyer,\HypAngle){F}
\pstSymO[PosAngle=180]{O}{F}\pstLineAB{F}{F'}
%% Следа на асимптотите
\pstCircleOA{O}{F}
%% определяне на двата върха на H
\pstGeonode[PosAngle=-135](\Sommet,\HypAngle){S}
\pstGeonode[PosAngle=-45](-\Sommet,\HypAngle){S'}
%% правата, перпендикуляра на (FF') през S, пресича асимптотата в точка 
%% от окръжността с диаметър [FF'] (тази права е допирателна към H)
\pstRotation[RotAngle=90, PointSymbol=none]{S}{O}[B]
\pstInterLC[PosAngleA=90, PosAngleB=-90]{S}{B}{O}{F}{A_1}{A_2}
\pstLineAB[nodesepA=-3,nodesepB=-5]{A_1}{O}
\pstLineAB[nodesepA=-3,nodesepB=-5]{A_2}{O}
%% cos(\Psi)=OS/OF (c-a-d \Sommet/\PosFoyer)
%% тук \sqrt(2)/2, следователно \Psi=45 => hyperbole equilatere
\pstMarkAngle[LabelSep=.8, MarkAngleRadius=.7, arrows=->,
  LabelSep=1.1]{F}{O}{A_1}{$\Psi$}
\ncline[linecolor=red]{A_1}{A_2}
\pstRightAngle[RightAngleSize=.15]{A_1}{S}{O}
\psset{PointName=none}
\whiledo{\value{n}<8}{%
  \psset{RadiusA=\pstDistVal{\Ri},RadiusB=\pstDistVal{\Rii},PointSymbol=none}
  \pstInterCC{F}{}{F'}{}{M\arabic{n}}{P\arabic{n}}
  \pstInterCC{F'}{}{F}{}{M'\arabic{n}}{P'\arabic{n}}
  %% bcp точки в началото
  %% n -> номер на точката, i -> размер на окръжностите
  %% Inc -> нарастване на i (2^n)
  \stepcounter{n}\addtocounter{i}{\value{Inc}}
  \addtocounter{Inc}{\value{Inc}}}%% fin de whiledo
\psset{linecolor=blue}
%% изчертаване на клоновете на хиперболата
\pstGenericCurve[GenCurvFirst=S]{M}{2}{7}
\pstGenericCurve[GenCurvFirst=S]{P}{2}{7}
\pstGenericCurve[GenCurvFirst=S']{M'}{2}{7}
\pstGenericCurve[GenCurvFirst=S']{P'}{2}{7}
%% за проверка на параметрите
%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1}
%  {t dup tx@EcldDict begin sh exch ch end \Sommet\space mul exch
%   \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul}
%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1}
%  {t dup tx@EcldDict begin sh exch ch end neg \Sommet\space mul exch
%    \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul}
