% (c) 2004 Andrzej Wasowski, IT Univeristy % % A rule drawn recursively, very much like in: % M. Weiss. Data Structures & Problem Solving Using Java. Addison-Wesley 1998. % % The program is written in an obscure language of METAPOST (a % language for programming vector graphics for Latex documents, very % similar in principle to METAFONT, which is the language used by TeX % to describe fonts). % % To see the result call METAPOST: % % mpost ruler.mp % % this will produce a file named "ruler.0" which is a viewable % postscript. Either print it, or view in gv: % % gv ruler.0 % % This postscript can be directly included into a TeX document. % % METAPOST (mpost, sometimes called mp) is usually available on % machines with LaTeX installations, in particular on ssh.itu.dk % Tweak the following parameters to achieve various shapes, positions: def inileft = 5cm enddef; def iniright = 17cm enddef; def iniheight= 1cm enddef; def levels = 8 enddef; % left, right should be given in centimeters (or any other measure) % def drawRuler( expr left, right, h, level ) = if level = 1: else: begingroup save mid,temp; mid := (left + right) / 2; draw ((mid,10cm)--(mid,10cm + h)); drawRuler(left,mid, 4*h/5, level-1); drawRuler(mid,right, 4*h/5, level-1); endgroup fi enddef; beginfig(0) drawRuler(inileft,iniright,iniheight,levels); endfig; end