/[gzz]/manuscripts/AniFont/probe.mp
ViewVC logotype

Diff of /manuscripts/AniFont/probe.mp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by tjl, Tue Sep 30 11:20:56 2003 UTC revision 1.5 by tjl, Fri Oct 10 14:05:37 2003 UTC
# Line 15  def gridc(expr x,y,s,t) = Line 15  def gridc(expr x,y,s,t) =
15      (gridp(x,y) + 45*(s,t))      (gridp(x,y) + 45*(s,t))
16  enddef;  enddef;
17    
18  vardef Tlev(expr lev) =  vardef Tlev(expr lev, lightat) =
19        string texstr;
20        texstr := "$T_{(";
21      if lev = 0:      if lev = 0:
22          TEX( "$T_n$")          texstr := texstr & "n";
23      else:      else:
24          TEX( "$T_{n-"&(decimal lev)&"}$")          texstr := texstr & "n-"&(decimal lev);
25      fi      fi
26        texstr := texstr & "),\," & (decimal xpart lightat) & ",\," & (decimal ypart lightat) & "}$";
27        TEX( texstr )
28  enddef;  enddef;
29    
30  cornermeas = 5pt;  cornermeas = 5pt;
31    
32  def stlabel(expr ind, x, y, side) =  def stlabel(expr ind, x, y, side) =
33      (TEX("$\eqalign{(s_"&(decimal ind)&"0 + " & (decimal x) & "/" & (decimal side) &",\cr " &      (TEX("$\eqalign{(s_"&(decimal ind)&" + " & (decimal x) & "/" & (decimal side) &",\cr " &
34          "t_"&(decimal ind)&"0 + " & (decimal y) & "/" & (decimal side) &")}$"          "t_"&(decimal ind)&" + " & (decimal y) & "/" & (decimal side) &")}$"
35      ) scaled .8)      ) scaled .8)
36  enddef;  enddef;
37    
38  vardef drawlev(expr lev, side, xoffs, yoffs) =  vardef drawlev(expr lev, side, xoffs, yoffs) =
39      for x := 0 upto side-1:      for x := 0 upto side-1:
40          for y := 0 upto side-1:          for y := 0 upto side-1:
41              addto currentpicture also Tlev(lev) shifted gridp(xoffs+x,yoffs+y);              label(Tlev(lev, (x, y)) scaled 2, gridp(xoffs+x,yoffs+y));
   
             draw  
                 gridc(xoffs+x,yoffs+y, -1, -1) --  
                 gridc(xoffs+x,yoffs+y, -1,  1) --  
                 gridc(xoffs+x,yoffs+y,  1,  1) --  
                 gridc(xoffs+x,yoffs+y,  1, -1) -- cycle;  
   
             dotlabel.urt(  
                 stlabel(0, x, y, side),  
                 gridc(xoffs+x,yoffs+y, -1, -1)  
                 );  
             dotlabel.ulft(  
                 stlabel(1, x+1, y, side),  
                 gridc(xoffs+x,yoffs+y, 1, -1)  
                 );  
             dotlabel.lrt(  
                 stlabel(2, x, y+1, side),  
                 gridc(xoffs+x,yoffs+y, -1, 1)  
                 );  
             dotlabel.llft(  
                 stlabel(3, x+1, y+1, side),  
                 gridc(xoffs+x,yoffs+y, 1, 1)  
                 );  
               
42          endfor;          endfor;
43      endfor;      endfor;
44  enddef;  enddef;
45    
46  beginfig(1);  beginfig(1);
47    
48  maxx = 7;  maxx = 9;
49    
50  for x := 0 upto maxx:  for x := 0 upto maxx:
51      draw gridedge(x,0) -- gridedge(x,4);      draw gridedge(x,0) -- gridedge(x,4);
# Line 77  endfor; Line 57  endfor;
57                    
58  drawlev(2, 4, 0, 0);  drawlev(2, 4, 0, 0);
59  drawlev(1, 2, 5, 0);  drawlev(1, 2, 5, 0);
60  % drawlev(0, 1, 8, 0);  drawlev(0, 1, 8, 0);
61    
62  endfig;  endfig;
63    
64  size = 15pt;  size = 15pt;
65    
66  def drawgrid(expr x, y, side, light) =  def drawgrid(expr x, y, side, light, lightat) =
67    
68      fill (x,y)--(x+side*size,y)--      fill (x,y)--(x+side*size,y)--
69              (x+side*size,y+side*size)--(x,y+side*size)--cycle              (x+side*size,y+side*size)--(x,y+side*size)--cycle
70                  withcolor 0.5 * white;                  withcolor 0.5 * white;
71    
72      if light:      if light:
73          fill (x,y)--(x+size,y)--          fill ((x,y)--(x+size,y)--
74                  (x+size,y+size)--(x,y+size)--cycle                  (x+size,y+size)--(x,y+size)--cycle) shifted (lightat * size)
75                      withcolor  white;                      withcolor  white;
76      fi;      fi;
77            
# Line 104  def drawgrid(expr x, y, side, light) = Line 84  def drawgrid(expr x, y, side, light) =
84    
85  enddef;  enddef;
86    
87  vardef drawmipmaps(expr x, y, lightlevel) =  vardef drawmipmaps(expr x, y, lightlevel, lightat) =
88    
89      label.top(Tlev(lightlevel), (x + 2*size,y + 2*size));      label.top(Tlev(lightlevel,lightat), (x + 2*size,y + 2*size));
90      drawgrid(x, y, 1, lightlevel=0);      drawgrid(x, y, 1, lightlevel=0, lightat);
91      drawgrid(x, y - 3*size, 2, lightlevel=1);      drawgrid(x, y - 3*size, 2, lightlevel=1, lightat);
92      drawgrid(x, y - 8*size, 4, lightlevel=2);      drawgrid(x, y - 8*size, 4, lightlevel=2, lightat);
93            
94  enddef;  enddef;
95    
96  beginfig(2);  beginfig(2);
97    
98      drawmipmaps(0,0,2);      drawmipmaps(0,0,0,  (0,0));
99      drawmipmaps(5*size,0,1);      drawmipmaps(5.5*size,0,1,  (1,0));
100      drawmipmaps(10*size,0,0);      drawmipmaps(11*size,0,2, (1,2));
101    
102    
103  endfig;  endfig;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26