summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/hatching/htchuse.mp
blob: 493ce3ad537a33cde50da00bc4b07281bbb13c0a (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
%%% addto hatchfill
%%% addto beginfig
%%% enddef endfig
%%% length withcolor dashed off on
% This is a sample file demonstrating how one can use the macros defined
% in hatching.mp.

input hatching.mp;

vardef star(expr n) =
 for i_:=0 upto 2n-1:
  if odd i_: 1/2 fi (right rotated (180*(i_/n))) --
 endfor cycle
enddef;

beginfig(100);
 path p; p:=unitsquare xscaled 50mm yscaled 25mm;
 hatchfill p withcolor red withcolor (45,2mm,-.5bp) withcolor (-45,2mm,-.5bp);

endfig;

beginfig(101);
 interim hatch_match:=0;
 path p; p:=star(10) xscaled 35mm yscaled 20mm rotated 20;
 hatchfill p withcolor (0,1,.5);
 draw image(hatchfill p
  withcolor (45,3bp,-.5bp) withcolor (-45,3bp,-.5bp);
 ) withcolor red dashed evenly; % |evenly=dashpattern(on 3bp off 3bp)|
endfig;

beginfig(102);
 path p; p:=star(10) xscaled 35mm yscaled 20mm rotated 20;
 interim hatch_match:=0;
 hatchoptions(withcolor blue dashed evenly scaled 2);
 hatchfill p withcolor .75white withcolor (20,6bp,-.5bp);
 hatchoptions(withcolor (blue+green) dashed evenly shifted (3/2bp,0));
 hatchfill p withcolor (110,6bp,-.5bp);
endfig;

beginfig(103);
 path p; p:=star(10) xscaled 35mm yscaled 35mm;
 save draw_hatched_band;
 vardef draw_hatched_band(expr za,zb,a,l,d) =
  save n_; n_:=length(za-zb)/l;
  for i_:=0 upto ceiling n_:
   fill star(10) xscaled 2/5l yscaled 2/5l
     shifted (i_/n_)[za,zb] withcolor (i_/n_)[green,blue];
  endfor
 enddef;
 hatchfill p withcolor (red+green) withcolor (45,10bp,-1bp);
endfig;

end.
%%\end