
apl>" <-APL2-------------------- sam305.txt ---------------------------->


apl>)run cap2/sample/graph.inc


apl>" <-APL2-------------------- graph.txt ----------------------------->


apl>" Legend describing various global values:


apl>"


apl>" World coordinates(wc) are those of the real data.


apl>" Graph coordinates(gc) are those of the graph.


apl>"


apl>" caption - Override to text for graph caption.  If null, a caption


apl>"           will be generated.  The graph function resets the global


apl>"           caption variable to null at the end of its processing.


apl>"


apl>" hk ------ Constant coefficient of input.  If xr=1 (see below) then


apl>"           hk becomes the constant imaginary coefficient for all


apl>"           values of x on the graph.  If xr=0, hk will be the constant


apl>"           real coefficient.


apl>"


apl>" htl ----- 0 = both, 1 = headers, 2 = trailers, 3 = neither.


apl>"


apl>" maxx ---- Maximum x axis value in world coordinates.


apl>"


apl>" maxy ---- Maximum y axis value in world coordinates.


apl>"


apl>" minx ---- Minimum x axis value in world coordinates.


apl>"


apl>" miny ---- Minimum y axis value in world coordinates.


apl>"


apl>" mgc ----- Vertical margin in graphic coordinates.


apl>"


apl>" n ------- Synonymous with hk (see above).  The x values to which


apl>"           the function is applied to obtain y values are derived


apl>"           by first creating xwc as a vector of integers uniformly


apl>"           distributed between minx and maxx inclusive.  Then, either


apl>"           'x#(nX0j1)+xwc' or 'x#n+0j1Xxwc' is evaluated.


apl>"


apl>" nlb ----- 1 = Label the curve with the n value.


apl>"


apl>" points -- Number of points to generate.


apl>"


apl>" xgc ----- Array of x values for data points in graph coordinates.


apl>"


apl>" xiv ----- x axis marker interval in world coordinates.


apl>"


apl>" xlin ---- Width of graph in inches.


apl>"


apl>" xpg ----- Divide xwc by xpg to get xgc.


apl>"


apl>" xpi ----- Array of three values for minx, maxx, and xiv, used when


apl>"           invoking the graph function and the array of x values


apl>"           spans -pi to +pi.


apl>"


apl>" xr ------ 1=vary real x coefficient, 0=vary imaginary coefficient,


apl>"           holding the other coefficient to the constant hk (see above.).


apl>"


apl>" xt ------ Used in a variety of places to temporarily generate


apl>"           graphics coordinates.


apl>"


apl>" xwc ----- Array of x values in world coordinates.


apl>"


apl>" yadj ---- Adjustment down to print text below a line.


apl>"


apl>" yabm ---- Maximum absolute value (|y) to appear on graph.


apl>"


apl>" ygc ----- Array of y values for data points in graph coordinates.


apl>"


apl>" ylin ---- Height of graph in inches.


apl>"


apl>" ymgn ---- Margin in inches at top and bottom of y axis.


apl>"


apl>" ypg ----- Divide ywc by ypg to get ygc.


apl>"


apl>" yt ------ Used in a variety of places to temporarily generate


apl>"           graphics coordinates.


apl>"


apl>" ywc ----- Array of y values for data points in world coordinates.


apl>"


apl>" Set global values. -------------------------------------------->


apl>"


apl>caption#'' " Empty caption causes one to be generated.


apl>i#11 " Circle function code to extract imag. coef. of complex number.


apl>points#200 " Number of data points to generate on graph.


apl>r#9 " Circle function code to extract real coef. of complex number.


apl>xlin#4.5 " Width of graph in inches.


apl>"  minx = -3.14159....


apl>"  |     maxx = 3.14159....


apl>"  |     |     xiv


apl>"  |     |     |


apl>"  V     V     V


apl>xpi#(O-1),(O1),O.25


apl>ylin#6 " Height of graph in inches.


apl>ymgn#.2 " Margin in inches at top and bottom of y axis.


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX \put statements for the data points to appear


apl>" on the graph.


apl>"


apl>Lex 'dodata'

1

apl>Gdodata


[1]       xgc#(xwc_minx)%xpg " xgc=x graphic coordinates for data points.


[2]       ygc#mgc+(ywc_miny)%ypg " ygc=y graphic coordinates for data points.


[3]       $bylabXI0=nlb " Branch if the curve is not to be labelled.


[4]       '%Label the curve'


[5]       xt#1Y(u=S/u#|ywc)/xgc " x coord where maximum/mininum occurs


[6]       yt#(_yadjX0>vs/ywc)+(vs#xt=xgc)/ygc " y coord of maximum/minimum


[7]       " Note: Calculation for yt works only if all minima occur below


[8]       " y axis, and all maxima occur above.


[9]       pcon,(xt,',',[1.5]yt),`Z'){n\#',(Fhk),'}'


[10]      bylab:'%Draw the data points'


[11]      pcon,((xgc#-1U1Uxgc),',',[1.5](ygc#-1U1Uygc)),circon


[12]      G


apl>" <----------------------------------------------------------------->


apl>" Generate xwc and ywc, the arrays of x/y coordinates for the data


apl>" points to appear on the graph.


apl>"


apl>Lex 'genxy'

1

apl>Ggenxy


[1]       xwc#minx+(xlwc#maxx_minx)X(-1+Ipoints+1)%points


[2]       $varyrealXIxr


[3]       x#hk+0j1Xxwc " real part is constant, imaginary varies.


[4]       $calcy " Branch to compute values of y for data points.


[5]       varyreal:x#(hkX0j1)+xwc " Imaginary is constant, real varies.


[6]       calcy:ywc#eOCfun " Compute values of y for data points


[7]       ywcm#yabm>|ywc " Mask of keepers, magnitudes of y < yabm.


[8]       xwc#ywcm/xwc " Pick the keepers.


[9]       ywc#ywcm/ywc " Pick the keepers.


[10]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Main graph routine.


apl>"


apl>Lex 'graph'

1

apl>Gfun graph a


[1]       "Graphs the imaginary or real coefficient of result of fun.


[2]       " fun = expression to evaluate.


[3]       (htl nlb xr e yabm minx maxx xiv hk yiv yca)#a


[4]       genxy " Generate the data points.


[5]       $dataXIhtl>1 " Branch if htl greater than 1.


[6]       scale " Calculate global scaling values.


[7]       headers " Generate LaTeX figure headers.


[8]       data:dodata " Process and graph data points.


[9]       trailers " Generate Latex figure trailers, maybe.


[10]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX statements to begin the graph.


apl>"


apl>Lex 'headers'

1

apl>Gheaders


[1]       '\begin{figure}[tbh]'


[2]       $gencapXI0=Rcaption " Branch if no caption override.


[3]       '\caption{',caption,'}'


[4]       $begin


[5]       gencap:$realcapXI(xr=1)&hk=0 " Branch if x data are not complex.


[6]       $ncaptionXInlb=0 " Branch if curves are not labelled with n value.


[7]       '\caption{Graph of y\#',(Fe),'O',fun,'+nX0j1}'


[8]       $begin


[9]       ncaption:$cplxcapXIxr " Branch if varying real coefficient.


[10]      '\caption{Graph of y\#',(Fe),'O',(-1Ufun),(Fhk),'+xX0j1}'


[11]      $begin


[12]      cplxcap:'\caption{Graph of y\#',(Fe),'O',fun,'+(n\#',(Fhk),')X0j1}'


[13]      $begin


[14]      realcap:'\caption{Graph of y\#',fun,'}'


[15]      begin:'\begin{center}'


[16]      '\setlength{\unitlength}{',(Flin),'in}'


[17]      '\begin{picture}(',(Fxlin%lin),',',(Fylin%lin),')'


[18]      '%Draw a frame around the picture'


[19]      ' \put(0,0){\line(1,0){',(Fxlgc),'}}% bottom'


[20]      ' \put(0,0){\line(0,1){',(Fylgc),'}}% left'


[21]      ' \put(0,',(Fylgc),'){\line(1,0){',(Fxlgc),'}}% top'


[22]      ' \put(',(Fxlgc),',0){\line(0,1){',(Fylgc),'}}% right'


[23]      '%Draw the x axis'


[24]      ' \put(0,',(Fxax),'){\line(1,0){',(Fxlgc),'}}%x axis'


[25]      xt#xoff%xpg


[26]      pcon,((xt,[1.5]','),xax),circon " Draw the x axis markers.


[27]      xt#xt_xpgX.1Xxmk<0


[28]      yt#xax+((.05%lin)Xxax=mgc)_yadjXxax>mgc


[29]      $dopaxXIpix


[30]      '%Draw the x axis marker values'


[31]      pcon,xt,',',yt,econ,xmk,[1.5]scon


[32]      $doyax


[33]      dopax:'%Draw the x axis marker values in pi'


[34]      picon#(`Z'\frac{') ,`1 '\pi}{4}' '\pi}{2}' '3\pi}{4}'


[35]      picon#('-',`1`Rpicon),'0',picon


[36]      pcon,xt,',',yt,econ,picon,[1.5]scon


[37]      doyax:'%Draw the y axis'


[38]      $putymkXI(yax=0)


[39]      ' \put(',(Fyax),',0){\line(0,1){',(Fylgc),'}}%y axis'


[40]      putymk:'%Draw the y axis markers'


[41]      ymask#ymk^=0


[42]      yt#ymask/mgc+(ymk_miny)%ypg


[43]      pcon,yax,',',yt,[1.5]circon


[44]      '%Draw the y axis marker values'


[45]      xt#yax+.05%lin


[46]      yt#yt_ypgX.1X(ymask/ymk)<0


[47]      pcon,xt,',',yt,econ,(ymask/ymk),[1.5]scon


[48]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Calculates a variety of values needed to produce the graph.


apl>"


apl>Lex 'scale'

1

apl>Gscale


[1]       $byyXIyca " Branch if ylwc, maxy, miny are precalculated.


[2]       ylwc#(maxy#S/ywc)_miny#D/ywc


[3]       byy:ylap#ylin_2Xymgn " ylap=height allowed for data points.


[4]       lin#(xlin%xlwc)Dylap%ylwc " unitlength in inches.


[5]       yadj#.14%lin " y graphic coordinate adjustment to print text below line.


[6]       mgc#ymgn%lin " Margin in graph coordinates.


[7]       xpg#xlwc%xlgc#xlin%lin " Divide xwc by xpg to get gc.


[8]       ypg#ylwc%(_2Xymgn%lin)+ylgc#ylin%lin " Divide ywc by ypg to get gc.


[9]       xax#(yz#(minyK0)&maxyZ0)Xmgc+(|miny)%ypg " xaxis in graph coordinates.


[10]      yax#(xz#(minx<0)&maxx>0)X(|minx)%xpg " yaxis in graph coordinates.


[11]      $piaxisXIpix#(minx=O-1)&maxx=O1 " branch if pi units on x axis.


[12]      xic#(yax=0)+Dxlwc%xiv


[13]      $doyiv


[14]      piaxis:xic#Dxlwc%xiv#O.25


[15]      doyiv:$doyicXIyiv^=0


[16]      yiv#10*D10@ylwc


[17]      doyic:yic#yic+0=2|yic#Dylwc%yiv


[18]      xoff#(I-1+xic)Xxiv " Offset from minx in world coord. of x markers.


[19]      yoff#(_yiv)+(Iyic)Xyiv " Offset from miny in world coord. of y markers.


[20]      $yoffplusXIminy>0


[21]      ymk#yoff+miny+yiv||miny


[22]      $yoffdone


[23]      yoffplus:ymk#yoff+miny_yiv|miny " y for y axis markers in world coord.


[24]      yoffdone:xmk#minx+xoff " x for x axis markers in world coord.


[25]      circon#`Z'){\circle*{',(F.0205%lin),'}}'


[26]      scon#`Z'$}'


[27]      econ#`Z'){$'


[28]      pcon#`Z' \put('


[29]      G


apl>"


apl>" <----------------------------------------------------------------->


apl>" Generates the LaTeX statements to finish the graph.


apl>"


apl>Lex 'trailers'

1

apl>Gtrailers


[1]       $epicXIhtl=0 " Branch if both headers and trailers.


[2]       $eojckXInlb " Branch if graph already labelled.


[3]       pcon,(1Yxgc+xpgX.1),',',(1Yygc),'){',fun,'}' " Label the graph.


[4]       eojck:$eojXI(htl=1)+htl=3 " br if headers only, or neither.


[5]       epic:'\end{picture}'


[6]       '\end{center}'


[7]       eoj:'%Finis.'


[8]       caption#'' " Reset global caption


[9]       G


apl>"            htl: 0=both, 1=headers, 2=trailers, 3=neither.


apl>"            | nlb 1 = Label the curve.


apl>"            | | xr = 1=vary real x coeff, 0=vary imaginary coeff.


apl>"            | | | e = i(11) or r(9) to select coefficient to graph.


apl>"            | | | | yabm = maximum |y printed on graph.


apl>"            | | | | |   minx = minimum value of x.


apl>"            | | | | |   |  maxx = maximum value of x.


apl>"            | | | | |   |  | xiv = x axis marker interval.


apl>"            | | | | |   |  | | hk = Constant coefficient of input.


apl>"            | | | | |   |  | | | yiv = y axis marker interval, or 0.


apl>"            | | | | |   |  | | | |  yca = ylwc, maxy, miny are precalculated.


apl>"            | | | | |   |  | | | |  |


apl>"            V V V V V   V  V V V V  V


apl> '*x'  graph 0,0,1,i,1e6,-5,5,1,1,10,0

\begin{figure}[tbh]
\caption{Graph of y\#11O*x+(n\#1)X0j1}
\begin{center}
\setlength{\unitlength}{ .04484316in}
\begin{picture}(100.3498,133.7997)
%Draw a frame around the picture
 \put(0,0){\line(1,0){100.3498}}% bottom
 \put(0,0){\line(0,1){133.7997}}% left
 \put(0,133.7997){\line(1,0){100.3498}}% top
 \put(100.3498,0){\line(0,1){133.7997}}% right
%Draw the x axis
 \put(0,0){\line(1,0){100.3498}}%x axis
  \put( 10.03498 , 0 ){\circle*{ .45714889}} 
  \put( 20.06995 , 0 ){\circle*{ .45714889}} 
  \put( 30.10493 , 0 ){\circle*{ .45714889}} 
  \put(  40.1399 , 0 ){\circle*{ .45714889}} 
  \put( 50.17488 , 0 ){\circle*{ .45714889}} 
  \put( 60.20985 , 0 ){\circle*{ .45714889}} 
  \put( 70.24483 , 0 ){\circle*{ .45714889}} 
  \put(  80.2798 , 0 ){\circle*{ .45714889}} 
  \put( 90.31478 , 0 ){\circle*{ .45714889}} 
%Draw the x axis marker values
  \put( 10.02501 , 0 ){$ -4 $} 
  \put( 20.05999 , 0 ){$ -3 $} 
  \put( 30.09496 , 0 ){$ -2 $} 
  \put( 40.12994 , 0 ){$ -1 $} 
  \put( 50.17488 , 0 ){$  0 $} 
  \put( 60.20985 , 0 ){$  1 $} 
  \put( 70.24483 , 0 ){$  2 $} 
  \put(  80.2798 , 0 ){$  3 $} 
  \put( 90.31478 , 0 ){$  4 $} 
%Draw the y axis
 \put(50.17488,0){\line(0,1){133.7997}}%y axis
%Draw the y axis markers
  \put( 50.17488 , 14.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 24.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 34.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 44.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 54.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 64.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 74.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 84.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 94.45432 ){\circle*{ .45714889}} 
  \put( 50.17488 , 104.4543 ){\circle*{ .45714889}} 
  \put( 50.17488 , 114.4543 ){\circle*{ .45714889}} 
  \put( 50.17488 , 124.4543 ){\circle*{ .45714889}} 
%Draw the y axis marker values
  \put( 51.28988 , 14.45432 ){$  10 $} 
  \put( 51.28988 , 24.45432 ){$  20 $} 
  \put( 51.28988 , 34.45432 ){$  30 $} 
  \put( 51.28988 , 44.45432 ){$  40 $} 
  \put( 51.28988 , 54.45432 ){$  50 $} 
  \put( 51.28988 , 64.45432 ){$  60 $} 
  \put( 51.28988 , 74.45432 ){$  70 $} 
  \put( 51.28988 , 84.45432 ){$  80 $} 
  \put( 51.28988 , 94.45432 ){$  90 $} 
  \put( 51.28988 , 104.4543 ){$ 100 $} 
  \put( 51.28988 , 114.4543 ){$ 110 $} 
  \put( 51.28988 , 124.4543 ){$ 120 $} 
%Draw the data points
  \put(  .501749 , 4.460280   ){\circle*{ .45714889}} 
  \put( 1.003498 , 4.460585   ){\circle*{ .45714889}} 
  \put( 1.505246 , 4.460907   ){\circle*{ .45714889}} 
  \put( 2.006995 , 4.461244   ){\circle*{ .45714889}} 
  \put( 2.508744 , 4.461600   ){\circle*{ .45714889}} 
  \put( 3.010493 , 4.461973   ){\circle*{ .45714889}} 
  \put( 3.512241 , 4.462365   ){\circle*{ .45714889}} 
  \put(  4.01399 , 4.462778   ){\circle*{ .45714889}} 
  \put( 4.515739 , 4.463211   ){\circle*{ .45714889}} 
  \put( 5.017488 , 4.463667   ){\circle*{ .45714889}} 
  \put( 5.519237 , 4.464147   ){\circle*{ .45714889}} 
  \put( 6.020985 ,  4.46465   ){\circle*{ .45714889}} 
  \put( 6.522734 ,  4.46518   ){\circle*{ .45714889}} 
  \put( 7.024483 , 4.465737   ){\circle*{ .45714889}} 
  \put( 7.526232 , 4.466322   ){\circle*{ .45714889}} 
  \put(  8.02798 , 4.466938   ){\circle*{ .45714889}} 
  \put( 8.529729 , 4.467585   ){\circle*{ .45714889}} 
  \put( 9.031478 , 4.468265   ){\circle*{ .45714889}} 
  \put(  9.53323 , 4.468980   ){\circle*{ .45714889}} 
  \put( 10.03498 , 4.469731   ){\circle*{ .45714889}} 
  \put( 10.53672 , 4.470522   ){\circle*{ .45714889}} 
  \put( 11.03847 , 4.471352   ){\circle*{ .45714889}} 
  \put( 11.54022 , 4.472226   ){\circle*{ .45714889}} 
  \put( 12.04197 , 4.473144   ){\circle*{ .45714889}} 
  \put( 12.54372 , 4.474109   ){\circle*{ .45714889}} 
  \put( 13.04547 , 4.475124   ){\circle*{ .45714889}} 
  \put( 13.54722 ,  4.47619   ){\circle*{ .45714889}} 
  \put( 14.04897 , 4.477312   ){\circle*{ .45714889}} 
  \put( 14.55071 ,  4.47849   ){\circle*{ .45714889}} 
  \put( 15.05246 , 4.479730   ){\circle*{ .45714889}} 
  \put( 15.55421 , 4.481032   ){\circle*{ .45714889}} 
  \put( 16.05596 , 4.482402   ){\circle*{ .45714889}} 
  \put( 16.55771 , 4.483842   ){\circle*{ .45714889}} 
  \put( 17.05946 , 4.485356   ){\circle*{ .45714889}} 
  \put(  17.5612 , 4.486947   ){\circle*{ .45714889}} 
  \put( 18.06296 , 4.488620   ){\circle*{ .45714889}} 
  \put(  18.5647 , 4.490378   ){\circle*{ .45714889}} 
  \put( 19.06645 , 4.492227   ){\circle*{ .45714889}} 
  \put(  19.5682 ,  4.49417   ){\circle*{ .45714889}} 
  \put( 20.06995 , 4.496214   ){\circle*{ .45714889}} 
  \put(  20.5717 , 4.498362   ){\circle*{ .45714889}} 
  \put( 21.07345 , 4.500620   ){\circle*{ .45714889}} 
  \put( 21.57520 , 4.502994   ){\circle*{ .45714889}} 
  \put( 22.07695 , 4.505489   ){\circle*{ .45714889}} 
  \put( 22.57870 , 4.508113   ){\circle*{ .45714889}} 
  \put( 23.08044 ,  4.51087   ){\circle*{ .45714889}} 
  \put( 23.58219 ,  4.51377   ){\circle*{ .45714889}} 
  \put( 24.08394 , 4.516818   ){\circle*{ .45714889}} 
  \put( 24.58569 , 4.520023   ){\circle*{ .45714889}} 
  \put( 25.08744 , 4.523392   ){\circle*{ .45714889}} 
  \put( 25.58919 , 4.526933   ){\circle*{ .45714889}} 
  \put( 26.09094 , 4.530656   ){\circle*{ .45714889}} 
  \put( 26.59269 , 4.534570   ){\circle*{ .45714889}} 
  \put( 27.09443 , 4.538684   ){\circle*{ .45714889}} 
  \put( 27.59618 , 4.543010   ){\circle*{ .45714889}} 
  \put( 28.09793 , 4.547557   ){\circle*{ .45714889}} 
  \put( 28.59968 , 4.552337   ){\circle*{ .45714889}} 
  \put( 29.10143 , 4.557363   ){\circle*{ .45714889}} 
  \put( 29.60318 , 4.562646   ){\circle*{ .45714889}} 
  \put( 30.10493 ,   4.5682   ){\circle*{ .45714889}} 
  \put( 30.60668 , 4.574039   ){\circle*{ .45714889}} 
  \put( 31.10842 , 4.580177   ){\circle*{ .45714889}} 
  \put( 31.61017 ,  4.58663   ){\circle*{ .45714889}} 
  \put( 32.11192 , 4.593414   ){\circle*{ .45714889}} 
  \put( 32.61367 , 4.600545   ){\circle*{ .45714889}} 
  \put( 33.11542 , 4.608042   ){\circle*{ .45714889}} 
  \put( 33.61717 , 4.615924   ){\circle*{ .45714889}} 
  \put( 34.11892 , 4.624209   ){\circle*{ .45714889}} 
  \put( 34.62067 ,  4.63292   ){\circle*{ .45714889}} 
  \put( 35.12241 , 4.642077   ){\circle*{ .45714889}} 
  \put( 35.62416 , 4.651703   ){\circle*{ .45714889}} 
  \put( 36.12591 , 4.661824   ){\circle*{ .45714889}} 
  \put( 36.62766 , 4.672463   ){\circle*{ .45714889}} 
  \put( 37.12941 , 4.683647   ){\circle*{ .45714889}} 
  \put( 37.63116 , 4.695405   ){\circle*{ .45714889}} 
  \put(  38.1329 , 4.707766   ){\circle*{ .45714889}} 
  \put( 38.63466 ,  4.72076   ){\circle*{ .45714889}} 
  \put(  39.1364 ,  4.73442   ){\circle*{ .45714889}} 
  \put( 39.63815 , 4.748782   ){\circle*{ .45714889}} 
  \put(  40.1399 , 4.763879   ){\circle*{ .45714889}} 
  \put( 40.64165 ,  4.77975   ){\circle*{ .45714889}} 
  \put(  41.1434 , 4.796436   ){\circle*{ .45714889}} 
  \put( 41.64515 , 4.813977   ){\circle*{ .45714889}} 
  \put( 42.14690 , 4.832417   ){\circle*{ .45714889}} 
  \put( 42.64865 , 4.851802   ){\circle*{ .45714889}} 
  \put( 43.15040 , 4.872182   ){\circle*{ .45714889}} 
  \put( 43.65214 , 4.893606   ){\circle*{ .45714889}} 
  \put( 44.15389 , 4.916128   ){\circle*{ .45714889}} 
  \put( 44.65564 , 4.939806   ){\circle*{ .45714889}} 
  \put( 45.15739 , 4.964697   ){\circle*{ .45714889}} 
  \put( 45.65914 , 4.990865   ){\circle*{ .45714889}} 
  \put( 46.16089 , 5.018374   ){\circle*{ .45714889}} 
  \put( 46.66264 , 5.047294   ){\circle*{ .45714889}} 
  \put( 47.16439 , 5.077696   ){\circle*{ .45714889}} 
  \put( 47.66613 , 5.109658   ){\circle*{ .45714889}} 
  \put( 48.16788 , 5.143258   ){\circle*{ .45714889}} 
  \put( 48.66963 ,  5.17858   ){\circle*{ .45714889}} 
  \put( 49.17138 , 5.215714   ){\circle*{ .45714889}} 
  \put( 49.67313 , 5.254751   ){\circle*{ .45714889}} 
  \put( 50.17488 ,  5.29579   ){\circle*{ .45714889}} 
  \put( 50.67663 , 5.338934   ){\circle*{ .45714889}} 
  \put( 51.17838 , 5.384289   ){\circle*{ .45714889}} 
  \put( 51.68012 , 5.431969   ){\circle*{ .45714889}} 
  \put( 52.18187 , 5.482094   ){\circle*{ .45714889}} 
  \put( 52.68362 , 5.534790   ){\circle*{ .45714889}} 
  \put( 53.18537 , 5.590186   ){\circle*{ .45714889}} 
  \put( 53.68712 , 5.648424   ){\circle*{ .45714889}} 
  \put( 54.18887 , 5.709647   ){\circle*{ .45714889}} 
  \put( 54.69062 , 5.774009   ){\circle*{ .45714889}} 
  \put( 55.19237 ,  5.84167   ){\circle*{ .45714889}} 
  \put( 55.69412 , 5.912802   ){\circle*{ .45714889}} 
  \put( 56.19586 , 5.987580   ){\circle*{ .45714889}} 
  \put( 56.69761 , 6.066191   ){\circle*{ .45714889}} 
  \put( 57.19936 , 6.148834   ){\circle*{ .45714889}} 
  \put( 57.70111 , 6.235713   ){\circle*{ .45714889}} 
  \put( 58.20286 , 6.327048   ){\circle*{ .45714889}} 
  \put(  58.7046 , 6.423064   ){\circle*{ .45714889}} 
  \put( 59.20636 , 6.524004   ){\circle*{ .45714889}} 
  \put(  59.7081 , 6.630119   ){\circle*{ .45714889}} 
  \put( 60.20985 , 6.741675   ){\circle*{ .45714889}} 
  \put(  60.7116 ,  6.85895   ){\circle*{ .45714889}} 
  \put( 61.21335 , 6.982238   ){\circle*{ .45714889}} 
  \put(  61.7151 , 7.111847   ){\circle*{ .45714889}} 
  \put( 62.21685 , 7.248101   ){\circle*{ .45714889}} 
  \put( 62.71860 , 7.391342   ){\circle*{ .45714889}} 
  \put( 63.22035 , 7.541926   ){\circle*{ .45714889}} 
  \put( 63.72210 , 7.700231   ){\circle*{ .45714889}} 
  \put( 64.22384 , 7.866653   ){\circle*{ .45714889}} 
  \put( 64.72559 , 8.041607   ){\circle*{ .45714889}} 
  \put( 65.22734 ,  8.22553   ){\circle*{ .45714889}} 
  \put( 65.72909 , 8.418885   ){\circle*{ .45714889}} 
  \put( 66.23084 , 8.622152   ){\circle*{ .45714889}} 
  \put( 66.73259 , 8.835842   ){\circle*{ .45714889}} 
  \put( 67.23434 , 9.060487   ){\circle*{ .45714889}} 
  \put( 67.73609 ,  9.29665   ){\circle*{ .45714889}} 
  \put( 68.23783 , 9.54492    ){\circle*{ .45714889}} 
  \put( 68.73958 , 9.80592    ){\circle*{ .45714889}} 
  \put( 69.24133 ,  10.0803   ){\circle*{ .45714889}} 
  \put( 69.74308 , 10.36876   ){\circle*{ .45714889}} 
  \put( 70.24483 , 10.67200   ){\circle*{ .45714889}} 
  \put( 70.74658 , 10.99078   ){\circle*{ .45714889}} 
  \put( 71.24833 , 11.32591   ){\circle*{ .45714889}} 
  \put( 71.75008 , 11.67823   ){\circle*{ .45714889}} 
  \put( 72.25182 ,  12.0486   ){\circle*{ .45714889}} 
  \put( 72.75357 , 12.43797   ){\circle*{ .45714889}} 
  \put( 73.25532 ,  12.8473   ){\circle*{ .45714889}} 
  \put( 73.75707 , 13.27762   ){\circle*{ .45714889}} 
  \put( 74.25882 ,    13.73   ){\circle*{ .45714889}} 
  \put( 74.76057 , 14.20558   ){\circle*{ .45714889}} 
  \put( 75.26232 , 14.70553   ){\circle*{ .45714889}} 
  \put( 75.76407 , 15.23113   ){\circle*{ .45714889}} 
  \put( 76.26582 , 15.78366   ){\circle*{ .45714889}} 
  \put( 76.76756 , 16.36453   ){\circle*{ .45714889}} 
  \put( 77.26931 , 16.97518   ){\circle*{ .45714889}} 
  \put( 77.77106 , 17.61714   ){\circle*{ .45714889}} 
  \put( 78.27281 , 18.29201   ){\circle*{ .45714889}} 
  \put( 78.77456 , 19.00149   ){\circle*{ .45714889}} 
  \put(  79.2763 , 19.74734   ){\circle*{ .45714889}} 
  \put( 79.77806 , 20.53143   ){\circle*{ .45714889}} 
  \put(  80.2798 , 21.35572   ){\circle*{ .45714889}} 
  \put( 80.78155 , 22.22227   ){\circle*{ .45714889}} 
  \put(  81.2833 , 23.13325   ){\circle*{ .45714889}} 
  \put( 81.78505 , 24.09094   ){\circle*{ .45714889}} 
  \put(  82.2868 , 25.09773   ){\circle*{ .45714889}} 
  \put( 82.78855 , 26.15614   ){\circle*{ .45714889}} 
  \put( 83.29030 , 27.26882   ){\circle*{ .45714889}} 
  \put( 83.79205 , 28.43854   ){\circle*{ .45714889}} 
  \put( 84.29380 , 29.66824   ){\circle*{ .45714889}} 
  \put( 84.79554 , 30.96099   ){\circle*{ .45714889}} 
  \put( 85.29729 , 32.32001   ){\circle*{ .45714889}} 
  \put( 85.79904 , 33.74872   ){\circle*{ .45714889}} 
  \put( 86.30079 , 35.25067   ){\circle*{ .45714889}} 
  \put( 86.80254 , 36.82963   ){\circle*{ .45714889}} 
  \put( 87.30429 , 38.48955   ){\circle*{ .45714889}} 
  \put( 87.80604 , 40.23458   ){\circle*{ .45714889}} 
  \put( 88.30779 , 42.06907   ){\circle*{ .45714889}} 
  \put( 88.80953 , 43.99762   ){\circle*{ .45714889}} 
  \put( 89.31128 , 46.02505   ){\circle*{ .45714889}} 
  \put( 89.81303 , 48.15642   ){\circle*{ .45714889}} 
  \put( 90.31478 , 50.39708   ){\circle*{ .45714889}} 
  \put( 90.81653 , 52.75261   ){\circle*{ .45714889}} 
  \put( 91.31828 , 55.22892   ){\circle*{ .45714889}} 
  \put( 91.82003 , 57.83219   ){\circle*{ .45714889}} 
  \put( 92.32178 , 60.56893   ){\circle*{ .45714889}} 
  \put( 92.82353 , 63.44599   ){\circle*{ .45714889}} 
  \put( 93.32527 , 66.47056   ){\circle*{ .45714889}} 
  \put( 93.82702 , 69.65020   ){\circle*{ .45714889}} 
  \put( 94.32877 , 72.99286   ){\circle*{ .45714889}} 
  \put( 94.83052 ,  76.5069   ){\circle*{ .45714889}} 
  \put( 95.33227 , 80.20112   ){\circle*{ .45714889}} 
  \put( 95.83402 , 84.08475   ){\circle*{ .45714889}} 
  \put( 96.33577 , 88.16748   ){\circle*{ .45714889}} 
  \put( 96.83752 , 92.45955   ){\circle*{ .45714889}} 
  \put( 97.33926 , 96.97167   ){\circle*{ .45714889}} 
  \put( 97.84101 , 101.7151   ){\circle*{ .45714889}} 
  \put( 98.34276 , 106.7018   ){\circle*{ .45714889}} 
  \put( 98.84451 , 111.9442   ){\circle*{ .45714889}} 
  \put( 99.34626 , 117.4553   ){\circle*{ .45714889}} 
  \put(   99.848 , 123.2490   ){\circle*{ .45714889}} 
\end{picture}
\end{center}
%Finis.

apl>)off

