[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]