[Back to TURTLE SWAG index]  [Back to Main SWAG index]  [Original]

(* ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
   ³ Programated by Vladimir Zahoransky                        ³
   ³                Vladko software                            ³
   ³ Contact      : zahoran@cezap.ii.fmph.uniba.sk             ³
   ³ Program tema : Squard in circle - rekusion version        ³
   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

{ This program modify rekpic12.pas and rekpic13.pas. This program
  draw squard in circle ... . It is easy to undestand if you know
  rekpic12.pas and rekpic13.pas. The principe is :

  Move the init position
  Alfa math mod 8 !!!
  The circle in penetrate of rekusion draw 7/8 of circle.
  Here is sinus sentence too.

  Please, study rekpic12.pas and rekpic13.pas !
}

Uses okor;

Const  Alfa=120;

type
  Mykor=object(kor)
    procedure poly(n:integer;s,u:real);
    procedure Draw(s:real;p:integer);
  end;

Var k:Mykor;
    poc:integer;

procedure Mykor.poly(n:integer;s,u:real);
Begin

  while n>0 do Begin
               Dopredu(s);
               Vpravo(u);
               Dec(n);
               End;

End;

Procedure Mykor.draw(s:real;p:integer);
Begin
if p=0 then
       else Begin
            Inc(poc);
            Zmenfp(poc);
            Dopredu(s/2);
            Vpravo(45+180/alfa);
            Poly(round((1-1/8)*alfa),s*sin(pi/alfa)/cos(pi/4),360/Alfa);
            Vlavo(180/Alfa);
            Draw(s/cos(pi/4),p-1);
            Inc(poc);
            Zmenfp(poc);
            Vpravo(180/alfa);
            Poly(round(1/8*alfa),s*sin(pi/alfa)/cos(pi/4),360/alfa);
            Vpravo(45-180/alfa);
            Poly(3,s,90);
            Dopredu(s/2);
            End;
End;

begin
poc:=0;

With k do Begin
          init(0,0,0);
          presunxy(0,-100/2);
          Zmensmer(-90);
          draw(100,4);
          CakajKlaves;
          Koniec;
          End;
End.

[Back to TURTLE SWAG index]  [Back to Main SWAG index]  [Original]