program dywan_Sierpinskiego;
uses graph,crt; var karta,tryb,prz,skala:integer;
x,y,xNowe,yNowe:real;
const t:array[1..48] of real=
(0.3,-0.0,-0.6, 0.0, 0.3, 0.6, 0.3,-0.0, 0.0, 0.0, 0.3, 0.6,
0.3, 0.0, 0.6, 0.0, 0.3, 0.6, 0.3,-0.0,-0.6, 0.0, 0.3,-0.0,
0.3, 0.0, 0.6, 0.0, 0.3,-0.0, 0.3, 0.0,-0.6,-0.0, 0.3,-0.6,
0.3, 0.0, 0.0,-0.0, 0.3,-0.6, 0.3, 0.0, 0.6, 0.0, 0.3,-0.6);
begin
karta:=detect; initGraph(karta,tryb,'c:\tp\bgi'); randomize;
x := 0; y := 0; skala:=180;
repeat
prz := random(8);
xNowe:=t[prz*6+1]*x+t[prz*6+2]*y+t[prz*6+3];
ynowe:=t[prz*6+4]*x+t[prz*6+5]*y+t[prz*6+6];
x := xNowe; y := yNowe;
putPixel(round(x*skala+320),round(-y*skala+240),prz+2);
until keyPressed;
readLn; closeGraph;
end.
|
 |