[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 : Tenis ball                                 ³
       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

    {
      This program draw interesting picture (tenis ball), with poly.
      The principe is very easy. Draw circle and then draw intro.
      Part one - draw smal introcircle. (rs)
      Part two - draw large introcircle (r - rs)
      Rs define averange of circle div p.
      The rotation of small circle is angle (+), but large circle
      have apposide angle (-).

      This program draw correkt. N is relation for s. (metod ball)
      (2*n is for drawing only one half of circle.
      S for circle (largest) is maximal intro +2 = outside ciecle.
      (This circle is drawing once.

    }

    uses okor;

    type
      mkor=object(kor)
        Procedure poly(n:integer;s,u:real);
        Procedure Ball(n:integer;s:real;p:integer);
      end;

    var
      k:mkor;
      Color,i:integer;

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

      Procedure mkor.Ball(n:integer;s:real;p:integer);
      Begin
        poly(2*n,s/p*(p+1),180/N);
        for i:=1 to p do
        Begin
          inc(Color);
          Zmenfp(Color);
          ph; domov; pd;
          poly(n,s/p*i,180/n);
          poly(n,s/p*(p-i+1),-180/n);
        End;
      End;

    Begin
      Color:=1;
      k.init(-150,0,0);
      k.Ball(320,2,10);
      Cakajklaves;
      k.Koniec;
    End.

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