blob: 087703d79c66ee1f7579655a6e3443c448c2db0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
% --- start of displayed preamble in the book ---
% --- end of displayed preamble in the book ---
defaultfont:="ptmr8r";
warningcheck:=0;
beginfig(1)
boolean timetofillbox; timetofillbox := true;
partway := 0.9; l := .45in; u := 1.05in;
n := 4; theta := 360/n; z1 = (0,u);
for i := 2 upto n:
z[i] = z1 rotated ((i-1)*theta);
endfor
forever:
path p; p := z1
for j := 2 upto n: --z[j] endfor --cycle;
if timetofillbox:
fill p; timetofillbox := false;
else:
unfill p; timetofillbox := true;
fi
pair Z[];
for j := 1 upto n:
Z[j] := partway[z[j-1],z[j]];
endfor
Z1 := partway[z[n],z1];
for j := 1 upto n:
x[j] := xpart Z[j]; y[j] := ypart Z[j];
endfor
if not timetofillbox: l := abs(z1); fi
exitif l < .05u;
endfor
endfig;
end;
|