[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, circle Nx in norekusion version    ³
       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

    { This program modify rekpic11.pas. This program draw squard in circle ...
      This just modify all parametres :

      Pt [-s/2 ,-s/2]   (cotg(45)=1)
      ZmenSmer=0    (90- 90*1 = 0) (See rekpic15.pas)
      diagonal of squard (use Pytagoras sentence)  s = sqrt(2)*s
      s for circle = s*sin(pi/alfa)
    }

    uses okor;

    Const Alfa=60;

    type Mykor=object(kor)
         Procedure Config(s:real);
         Procedure Poly(n:integer;s,u:real);
         Procedure Squard(s:real);
         Procedure Circle(n:integer;s:real);
         Procedure Draw(s:real;p:integer);
         End;

    var
      k:Mykor;
     poc:integer;

    Procedure Mykor.Config(s:real);
    Begin
    ph;
    zmenxy(-s/2,-s/2);
    zmensmer(0);
    pd;
    End;

    Procedure Mykor.poly(n:integer;s,u:real);
    Begin
    While n>0 do
    Begin
    dopredu(s);
    vpravo(u);
    dec(n);
    End;
    End;

    Procedure Mykor.Squard(s:real);
    Begin
    poly(4,s,360/4);
    End;

    Procedure Mykor.Circle(n:integer;s:real);
    Begin
    vlavo(45-180/n);
    poly(n,s,360/n);
    End;

    Procedure Mykor.draw(s:real;p:integer);
    Begin
    While p>0 do
    Begin
    inc(poc);
    Zmenfp(poc);
    Config(s);
    Squard(s);
    s:=s*sqrt(2);
    Circle(Alfa,s*sin(pi/Alfa));
    dec(p);
    End;
    End;

    begin
    poc:=0;
    With k do Begin
              Init(0,0,0);
              Draw(100,4);
              CakajKlaves;
              Koniec;
              End;
    End.

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