[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 : General version of n-angles - norekusion   ³
       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

    {
       Well, if you will study rekpic21.pas and rekpic19.pas then is easy to
      make it general.
      The angle is 360/Level
      Item to case : 1 and 2..L
      And angle for rotation is : 90-360/Level
      (Angle is : 90 - angle of angle in peak of n-angle)
    }

    uses oKor, oStack_b;

    Const Level=5;

    type MyKor=object(Kor)
               Procedure N_angle(n:integer; a:real);
               End;

    procedure MyKor.N_angle(n:integer; a:real);
    var v:integer;
        s:Stack;
    begin
      with s do
        begin
          init;
          push(1,n,a);
          while not empty do
            begin
              pop(v,n,a);
              case v of
                1:     if n=0 then
                       else
                         begin
                           Dopredu(a); Vlavo(360/Level);
                           push(2,n,a);
                           push(1,n-1,a/3);
                         end;
                2..Level: begin
                         Dopredu(a); Vlavo(360/Level);
                         if v<Level then push(v+1,n,a);
                         push(1,n-1,a/3);
                       end;
              end {case}
            end {while}
        end {with}
    end;

    var k:MyKor;

    Begin

      With k do
        Begin
          Init(200,-200,90-360/Level);
          N_angle(4,250);
          PresunXY(-300,230); Pis('N-angle level 4 - Norekusion');
          CakajKlaves;
          Koniec;
        End

    End.

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