summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/standard/fakehole.mp
blob: c1d28ea33c1ee4c45b8203ca2fd3866d5dc2ba7a (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
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.