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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
% fakehole.mp
% L. Nobre G.
% IYP (2005)
%input featpost3Dplus2D;
Spread := 23;
f := (13,6,4.5);
ShadowOn := true;
LightSource := 10*(4,-1.7,2);
beginfig(1);
numeric bigray, smaray, posray, posang, disang, aresiz, dislen;
numeric numl, numr, holang, i;
color pos, disaxe, holaxe;
aresiz := 13;
bigray := 2;
smaray := 0.25;
posray := 4;
posang := -10;
disang := 15;
dislen := 0.4;
holang := 115;
numl := 45;
disaxe := dislen*(cosd(disang),sind(disang),0);
pos := posray*(cosd(posang),sind(posang),0);
holaxe := (cosd(disang+90)*cosd(holang),
sind(disang+90)*cosd(holang),
sind(holang));
HoriZon := -bigray;
setthestage( 0.5*numl, aresiz );
rigorousdisc( smaray, true, pos, bigray, disaxe );
numr := floor(bigray/smaray);
for i=2-numr step 3 until -3:
fakehole( pos+i*smaray*holaxe, disaxe, smaray );
fakehole( pos-i*smaray*holaxe, disaxe, smaray );
endfor;
endfig;
ShadowOn := false;
Spread := 25;
ShiftV := 105.00mm*(0.5,1);
beginfig(2);
numeric len, ray;
len = 10;
ray = 0.9;
f := (5,2*ray,1+1.5*ray);
viewcentr := (0,2.5*ray,1+0.5*ray);
drawoptions( withpen pencircle scaled 2.3pt );
kindofcube(false,true,black,0,0,0,1,len*ray,2);
numeric i;
for i=2 step 2 until len-1:
fakehole( (0,i*ray,1), red, ray );
endfor;
endfig;
end.
|