برف دانه ی کخ به زبان پاسکال

با سلام
یک برنامه به زبان پاسکال که برف دانه کخ را در محیط گرافیکی نمایش می دهد.
کد برنامه :


{$N+}
program Snow;
uses crt,dos,graph;
var
u,t,z:integer;
i:longint;
a,b,c,d,e,f,x1,x2,y1,y2:extended;
dat:array[1..6,0..6] of extended;
begin
dat[1,0]:=0.167; dat[2,0]:=-0.289; dat[3,0]:=0.289; dat[4,0]:=0.167; dat[5,0]:=0; dat[6,0]:=0;
dat[1,1]:=0.167; dat[2,1]:=-0.289; dat[3,1]:=0.289; dat[4,1]:=0.167; dat[5,1]:=0.289; dat[6,1]:=0.167;
dat[1,2]:=0.167; dat[2,2]:=-0.289; dat[3,2]:=0.289; dat[4,2]:=0.167; dat[5,2]:=0; dat[6,2]:=0.334;
dat[1,3]:=0.167; dat[2,3]:=-0.289; dat[3,3]:=0.289; dat[4,3]:=0.167; dat[5,3]:=0.289; dat[6,3]:=-0.167;
dat[1,4]:=0.167; dat[2,4]:=-0.289; dat[3,4]:=0.289; dat[4,4]:=0.167; dat[5,4]:=0.577; dat[6,4]:=0;
dat[1,5]:=0.167; dat[2,5]:=-0.289; dat[3,5]:=0.289; dat[4,5]:=0.167; dat[5,5]:=0.289; dat[6,5]:=0.5;
dat[1,6]:=0.167; dat[2,6]:=-0.289; dat[3,6]:=0.289; dat[4,6]:=0.167; dat[5,6]:=0.577; dat[6,6]:=0.334;
clrscr;
initgraph(u,t,'');
randomize;
x1:=0; y1:=0;
for i:=1 to 200000 do
begin
z:=trunc(random(7));
if z<>7 then
begin
a:=dat[1,z]; b:=dat[2,z]; c:=dat[3,z];
d:=dat[4,z]; e:=dat[5,z]; f:=dat[6,z];
end;
x2:=a*x1+b*y1+e; y2:=c*x1+d*y1+f;
if i>10 then putpixel(trunc(200+x2*400),trunc(360-y2*400),15);
x1:=x2; y1:=y2;
end;
readln
end.


منبع : http://irstudent.persianblog.ir/post/7
 
بالا