[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 in circle - rekusion version ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)
{ This program modify rekpic12.pas and rekpic13.pas. This program
draw squard in circle ... . It is easy to undestand if you know
rekpic12.pas and rekpic13.pas. The principe is :
Move the init position
Alfa math mod 8 !!!
The circle in penetrate of rekusion draw 7/8 of circle.
Here is sinus sentence too.
Please, study rekpic12.pas and rekpic13.pas !
}
Uses okor;
Const Alfa=120;
type
Mykor=object(kor)
procedure poly(n:integer;s,u:real);
procedure Draw(s:real;p:integer);
end;
Var k:Mykor;
poc:integer;
procedure Mykor.poly(n:integer;s,u:real);
Begin
while n>0 do Begin
Dopredu(s);
Vpravo(u);
Dec(n);
End;
End;
Procedure Mykor.draw(s:real;p:integer);
Begin
if p=0 then
else Begin
Inc(poc);
Zmenfp(poc);
Dopredu(s/2);
Vpravo(45+180/alfa);
Poly(round((1-1/8)*alfa),s*sin(pi/alfa)/cos(pi/4),360/Alfa);
Vlavo(180/Alfa);
Draw(s/cos(pi/4),p-1);
Inc(poc);
Zmenfp(poc);
Vpravo(180/alfa);
Poly(round(1/8*alfa),s*sin(pi/alfa)/cos(pi/4),360/alfa);
Vpravo(45-180/alfa);
Poly(3,s,90);
Dopredu(s/2);
End;
End;
begin
poc:=0;
With k do Begin
init(0,0,0);
presunxy(0,-100/2);
Zmensmer(-90);
draw(100,4);
CakajKlaves;
Koniec;
End;
End.
[Back to TURTLE SWAG index] [Back to Main SWAG index] [Original]