[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 : Trees with petals                          ³
   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

{   This program modify rekpic17.pas. It is version tree with petals.
    Part 1: Draw how in rekpic17.pas + petal. Petal are all commands
            - dopredu(s); dopredu(-s);
    Part 2: Variables u1,u2 : this are variables for rotations in tree.
            It make good effekt. Last tree <> next tree. If you do not
            want it, please u1=u2 and u1 have absolute constant.
            Other part is how rekpic17.pas. Please see rekpic17.pas!
}

uses oKor;

type MyKor=object(Kor)
               Procedure Poly(n:integer; s,u:real);
               Procedure Tree(n:integer; s:real);
             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.Tree(n:integer; s:real);
Var u1,u2:integer;
    f:byte;
Begin
  if n=1 then
    begin
      Dopredu(s);
      f:=FP; ZmenFP(10);
      Vlavo(45); poly(4,5,90); Vpravo(45);
      ZmenFP(f);
      Vpravo(90); Dopredu(1); Vlavo(90);
      Dopredu(-s);
    End
  Else
    Begin
      u1:=random(40)+20; u2:=random(40)+20;
      Dopredu(s);
      Vlavo(u1);
      Tree(n-1,s*(0.4+random*0.4));
      Vpravo(u1+u2);
      Tree(n-1,s*(0.4+random*0.4));
      Vlavo(u2);
      Dopredu(-s);
    End
End;

Var k:MyKor;

Begin
  Randomize;
  With k do
   Begin
      Repeat
      Init(0,-220,0);
      Tree(5+random(5),170);
      CakajKlaves;
      Zmaz1;
      Until false;
      Koniec;
    End;
End.

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