apl>" <-APL2-------------------- sam306.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,r,1e6,-5,5,1,0,10,0 \begin{figure}[tbh] \caption{Graph of y\#*x} \begin{center} \setlength{\unitlength}{ .03773422in} \begin{picture}(119.2552,159.0069) %Draw a frame around the picture \put(0,0){\line(1,0){119.2552}}% bottom \put(0,0){\line(0,1){159.0069}}% left \put(0,159.0069){\line(1,0){119.2552}}% top \put(119.2552,0){\line(0,1){159.0069}}% right %Draw the x axis \put(0,0){\line(1,0){119.2552}}%x axis \put( 11.92552 , 0 ){\circle*{ .543274}} \put( 23.85103 , 0 ){\circle*{ .543274}} \put( 35.77655 , 0 ){\circle*{ .543274}} \put( 47.70206 , 0 ){\circle*{ .543274}} \put( 59.62758 , 0 ){\circle*{ .543274}} \put( 71.55310 , 0 ){\circle*{ .543274}} \put( 83.47861 , 0 ){\circle*{ .543274}} \put( 95.40413 , 0 ){\circle*{ .543274}} \put( 107.3296 , 0 ){\circle*{ .543274}} %Draw the x axis marker values \put( 11.91713 , 0 ){$ -4 $} \put( 23.84265 , 0 ){$ -3 $} \put( 35.76816 , 0 ){$ -2 $} \put( 47.69368 , 0 ){$ -1 $} \put( 59.62758 , 0 ){$ 0 $} \put( 71.55310 , 0 ){$ 1 $} \put( 83.47861 , 0 ){$ 2 $} \put( 95.40413 , 0 ){$ 3 $} \put( 107.3296 , 0 ){$ 4 $} %Draw the y axis \put(59.62758,0){\line(0,1){159.0069}}%y axis %Draw the y axis markers \put( 59.62758 , 15.29349 ){\circle*{ .543274}} \put( 59.62758 , 25.29349 ){\circle*{ .543274}} \put( 59.62758 , 35.29349 ){\circle*{ .543274}} \put( 59.62758 , 45.29349 ){\circle*{ .543274}} \put( 59.62758 , 55.29349 ){\circle*{ .543274}} \put( 59.62758 , 65.29349 ){\circle*{ .543274}} \put( 59.62758 , 75.29349 ){\circle*{ .543274}} \put( 59.62758 , 85.29349 ){\circle*{ .543274}} \put( 59.62758 , 95.29349 ){\circle*{ .543274}} \put( 59.62758 , 105.2935 ){\circle*{ .543274}} \put( 59.62758 , 115.2935 ){\circle*{ .543274}} \put( 59.62758 , 125.2935 ){\circle*{ .543274}} \put( 59.62758 , 135.2935 ){\circle*{ .543274}} \put( 59.62758 , 145.2935 ){\circle*{ .543274}} %Draw the y axis marker values \put( 60.95264 , 15.29349 ){$ 10 $} \put( 60.95264 , 25.29349 ){$ 20 $} \put( 60.95264 , 35.29349 ){$ 30 $} \put( 60.95264 , 45.29349 ){$ 40 $} \put( 60.95264 , 55.29349 ){$ 50 $} \put( 60.95264 , 65.29349 ){$ 60 $} \put( 60.95264 , 75.29349 ){$ 70 $} \put( 60.95264 , 85.29349 ){$ 80 $} \put( 60.95264 , 95.29349 ){$ 90 $} \put( 60.95264 , 105.2935 ){$ 100 $} \put( 60.95264 , 115.2935 ){$ 110 $} \put( 60.95264 , 125.2935 ){$ 120 $} \put( 60.95264 , 135.2935 ){$ 130 $} \put( 60.95264 , 145.2935 ){$ 140 $} %Draw the data points \put( .596276 , 5.300575 ){\circle*{ .543274}} \put( 1.192552 , 5.300938 ){\circle*{ .543274}} \put( 1.788827 , 5.301320 ){\circle*{ .543274}} \put( 2.385103 , 5.301721 ){\circle*{ .543274}} \put( 2.981379 , 5.302143 ){\circle*{ .543274}} \put( 3.577655 , 5.302587 ){\circle*{ .543274}} \put( 4.17393 , 5.303053 ){\circle*{ .543274}} \put( 4.770206 , 5.303543 ){\circle*{ .543274}} \put( 5.366482 , 5.304059 ){\circle*{ .543274}} \put( 5.962758 , 5.3046 ){\circle*{ .543274}} \put( 6.559034 , 5.30517 ){\circle*{ .543274}} \put( 7.155310 , 5.305769 ){\circle*{ .543274}} \put( 7.751585 , 5.306398 ){\circle*{ .543274}} \put( 8.347861 , 5.30706 ){\circle*{ .543274}} \put( 8.944137 , 5.307756 ){\circle*{ .543274}} \put( 9.54041 , 5.308487 ){\circle*{ .543274}} \put( 10.13669 , 5.309256 ){\circle*{ .543274}} \put( 10.73296 , 5.310064 ){\circle*{ .543274}} \put( 11.32924 , 5.310914 ){\circle*{ .543274}} \put( 11.92552 , 5.311807 ){\circle*{ .543274}} \put( 12.52179 , 5.312746 ){\circle*{ .543274}} \put( 13.11807 , 5.313733 ){\circle*{ .543274}} \put( 13.71434 , 5.314771 ){\circle*{ .543274}} \put( 14.31062 , 5.315862 ){\circle*{ .543274}} \put( 14.90689 , 5.317009 ){\circle*{ .543274}} \put( 15.50317 , 5.318215 ){\circle*{ .543274}} \put( 16.09945 , 5.319483 ){\circle*{ .543274}} \put( 16.69572 , 5.320815 ){\circle*{ .543274}} \put( 17.29200 , 5.322216 ){\circle*{ .543274}} \put( 17.88827 , 5.323689 ){\circle*{ .543274}} \put( 18.48455 , 5.325237 ){\circle*{ .543274}} \put( 19.08083 , 5.326865 ){\circle*{ .543274}} \put( 19.6771 , 5.328576 ){\circle*{ .543274}} \put( 20.27338 , 5.330375 ){\circle*{ .543274}} \put( 20.86965 , 5.332266 ){\circle*{ .543274}} \put( 21.46593 , 5.334254 ){\circle*{ .543274}} \put( 22.0622 , 5.336344 ){\circle*{ .543274}} \put( 22.65848 , 5.33854 ){\circle*{ .543274}} \put( 23.25476 , 5.34085 ){\circle*{ .543274}} \put( 23.85103 , 5.343278 ){\circle*{ .543274}} \put( 24.4473 , 5.345831 ){\circle*{ .543274}} \put( 25.04358 , 5.348515 ){\circle*{ .543274}} \put( 25.63986 , 5.351336 ){\circle*{ .543274}} \put( 26.23614 , 5.354301 ){\circle*{ .543274}} \put( 26.83241 , 5.357419 ){\circle*{ .543274}} \put( 27.42869 , 5.360697 ){\circle*{ .543274}} \put( 28.02496 , 5.364143 ){\circle*{ .543274}} \put( 28.62124 , 5.367765 ){\circle*{ .543274}} \put( 29.21751 , 5.371573 ){\circle*{ .543274}} \put( 29.81379 , 5.375576 ){\circle*{ .543274}} \put( 30.41007 , 5.379785 ){\circle*{ .543274}} \put( 31.00634 , 5.384209 ){\circle*{ .543274}} \put( 31.60262 , 5.38886 ){\circle*{ .543274}} \put( 32.19889 , 5.39375 ){\circle*{ .543274}} \put( 32.79517 , 5.39889 ){\circle*{ .543274}} \put( 33.39144 , 5.404295 ){\circle*{ .543274}} \put( 33.98772 , 5.409976 ){\circle*{ .543274}} \put( 34.58400 , 5.415948 ){\circle*{ .543274}} \put( 35.18027 , 5.422226 ){\circle*{ .543274}} \put( 35.77655 , 5.428827 ){\circle*{ .543274}} \put( 36.37282 , 5.435765 ){\circle*{ .543274}} \put( 36.9691 , 5.44306 ){\circle*{ .543274}} \put( 37.56538 , 5.450729 ){\circle*{ .543274}} \put( 38.16165 , 5.45879 ){\circle*{ .543274}} \put( 38.75793 , 5.467265 ){\circle*{ .543274}} \put( 39.3542 , 5.476175 ){\circle*{ .543274}} \put( 39.95048 , 5.485541 ){\circle*{ .543274}} \put( 40.54675 , 5.495388 ){\circle*{ .543274}} \put( 41.14303 , 5.505739 ){\circle*{ .543274}} \put( 41.7393 , 5.516622 ){\circle*{ .543274}} \put( 42.33558 , 5.528062 ){\circle*{ .543274}} \put( 42.93186 , 5.540088 ){\circle*{ .543274}} \put( 43.52813 , 5.552732 ){\circle*{ .543274}} \put( 44.12441 , 5.566023 ){\circle*{ .543274}} \put( 44.72068 , 5.579996 ){\circle*{ .543274}} \put( 45.31696 , 5.594686 ){\circle*{ .543274}} \put( 45.91324 , 5.610128 ){\circle*{ .543274}} \put( 46.50951 , 5.626362 ){\circle*{ .543274}} \put( 47.10579 , 5.643429 ){\circle*{ .543274}} \put( 47.70206 , 5.66137 ){\circle*{ .543274}} \put( 48.29834 , 5.680232 ){\circle*{ .543274}} \put( 48.89462 , 5.700061 ){\circle*{ .543274}} \put( 49.49089 , 5.720906 ){\circle*{ .543274}} \put( 50.08717 , 5.74282 ){\circle*{ .543274}} \put( 50.68344 , 5.765858 ){\circle*{ .543274}} \put( 51.27972 , 5.790077 ){\circle*{ .543274}} \put( 51.87599 , 5.815537 ){\circle*{ .543274}} \put( 52.47227 , 5.842303 ){\circle*{ .543274}} \put( 53.06855 , 5.870441 ){\circle*{ .543274}} \put( 53.66482 , 5.900022 ){\circle*{ .543274}} \put( 54.26110 , 5.931120 ){\circle*{ .543274}} \put( 54.85737 , 5.963811 ){\circle*{ .543274}} \put( 55.45365 , 5.998179 ){\circle*{ .543274}} \put( 56.04993 , 6.034310 ){\circle*{ .543274}} \put( 56.6462 , 6.072292 ){\circle*{ .543274}} \put( 57.24248 , 6.112222 ){\circle*{ .543274}} \put( 57.83875 , 6.154199 ){\circle*{ .543274}} \put( 58.43503 , 6.198329 ){\circle*{ .543274}} \put( 59.0313 , 6.24472 ){\circle*{ .543274}} \put( 59.62758 , 6.293491 ){\circle*{ .543274}} \put( 60.22386 , 6.344762 ){\circle*{ .543274}} \put( 60.82013 , 6.398662 ){\circle*{ .543274}} \put( 61.4164 , 6.455326 ){\circle*{ .543274}} \put( 62.01268 , 6.514894 ){\circle*{ .543274}} \put( 62.60896 , 6.577517 ){\circle*{ .543274}} \put( 63.20523 , 6.64335 ){\circle*{ .543274}} \put( 63.80151 , 6.712559 ){\circle*{ .543274}} \put( 64.39779 , 6.785316 ){\circle*{ .543274}} \put( 64.99406 , 6.861804 ){\circle*{ .543274}} \put( 65.59034 , 6.942213 ){\circle*{ .543274}} \put( 66.18661 , 7.026744 ){\circle*{ .543274}} \put( 66.78289 , 7.11561 ){\circle*{ .543274}} \put( 67.37917 , 7.209032 ){\circle*{ .543274}} \put( 67.97544 , 7.307244 ){\circle*{ .543274}} \put( 68.57172 , 7.410491 ){\circle*{ .543274}} \put( 69.16799 , 7.519032 ){\circle*{ .543274}} \put( 69.76427 , 7.633138 ){\circle*{ .543274}} \put( 70.36054 , 7.753094 ){\circle*{ .543274}} \put( 70.95682 , 7.879201 ){\circle*{ .543274}} \put( 71.55310 , 8.011773 ){\circle*{ .543274}} \put( 72.14937 , 8.151142 ){\circle*{ .543274}} \put( 72.74565 , 8.297657 ){\circle*{ .543274}} \put( 73.34192 , 8.451684 ){\circle*{ .543274}} \put( 73.9382 , 8.613608 ){\circle*{ .543274}} \put( 74.53447 , 8.783834 ){\circle*{ .543274}} \put( 75.13075 , 8.962788 ){\circle*{ .543274}} \put( 75.72703 , 9.150917 ){\circle*{ .543274}} \put( 76.3233 , 9.348691 ){\circle*{ .543274}} \put( 76.91958 , 9.5566 ){\circle*{ .543274}} \put( 77.51585 , 9.77518 ){\circle*{ .543274}} \put( 78.11213 , 10.00496 ){\circle*{ .543274}} \put( 78.7084 , 10.24652 ){\circle*{ .543274}} \put( 79.30468 , 10.50047 ){\circle*{ .543274}} \put( 79.90096 , 10.76744 ){\circle*{ .543274}} \put( 80.49723 , 11.04809 ){\circle*{ .543274}} \put( 81.0935 , 11.34314 ){\circle*{ .543274}} \put( 81.68978 , 11.65331 ){\circle*{ .543274}} \put( 82.28606 , 11.97939 ){\circle*{ .543274}} \put( 82.88234 , 12.32218 ){\circle*{ .543274}} \put( 83.47861 , 12.68255 ){\circle*{ .543274}} \put( 84.07489 , 13.06139 ){\circle*{ .543274}} \put( 84.67116 , 13.45966 ){\circle*{ .543274}} \put( 85.26744 , 13.87835 ){\circle*{ .543274}} \put( 85.86372 , 14.3185 ){\circle*{ .543274}} \put( 86.45999 , 14.78123 ){\circle*{ .543274}} \put( 87.05627 , 15.26767 ){\circle*{ .543274}} \put( 87.65254 , 15.77906 ){\circle*{ .543274}} \put( 88.24882 , 16.31667 ){\circle*{ .543274}} \put( 88.84509 , 16.88184 ){\circle*{ .543274}} \put( 89.44137 , 17.47599 ){\circle*{ .543274}} \put( 90.03765 , 18.10060 ){\circle*{ .543274}} \put( 90.63392 , 18.75723 ){\circle*{ .543274}} \put( 91.23020 , 19.44753 ){\circle*{ .543274}} \put( 91.82647 , 20.17322 ){\circle*{ .543274}} \put( 92.42275 , 20.93612 ){\circle*{ .543274}} \put( 93.01902 , 21.73814 ){\circle*{ .543274}} \put( 93.6153 , 22.58127 ){\circle*{ .543274}} \put( 94.21158 , 23.46764 ){\circle*{ .543274}} \put( 94.80785 , 24.39945 ){\circle*{ .543274}} \put( 95.40413 , 25.37903 ){\circle*{ .543274}} \put( 96.0004 , 26.40884 ){\circle*{ .543274}} \put( 96.59668 , 27.49144 ){\circle*{ .543274}} \put( 97.19296 , 28.62956 ){\circle*{ .543274}} \put( 97.78923 , 29.82602 ){\circle*{ .543274}} \put( 98.3855 , 31.08383 ){\circle*{ .543274}} \put( 98.98178 , 32.40613 ){\circle*{ .543274}} \put( 99.578 , 33.79623 ){\circle*{ .543274}} \put( 100.1743 , 35.25759 ){\circle*{ .543274}} \put( 100.7706 , 36.79388 ){\circle*{ .543274}} \put( 101.3669 , 38.40894 ){\circle*{ .543274}} \put( 101.9632 , 40.1068 ){\circle*{ .543274}} \put( 102.5594 , 41.89173 ){\circle*{ .543274}} \put( 103.1557 , 43.76816 ){\circle*{ .543274}} \put( 103.7520 , 45.74080 ){\circle*{ .543274}} \put( 104.3483 , 47.81457 ){\circle*{ .543274}} \put( 104.9445 , 49.99468 ){\circle*{ .543274}} \put( 105.5408 , 52.28655 ){\circle*{ .543274}} \put( 106.1371 , 54.69594 ){\circle*{ .543274}} \put( 106.7334 , 57.22886 ){\circle*{ .543274}} \put( 107.3296 , 59.89164 ){\circle*{ .543274}} \put( 107.9259 , 62.69095 ){\circle*{ .543274}} \put( 108.5222 , 65.63378 ){\circle*{ .543274}} \put( 109.1185 , 68.72749 ){\circle*{ .543274}} \put( 109.7147 , 71.97982 ){\circle*{ .543274}} \put( 110.311 , 75.3989 ){\circle*{ .543274}} \put( 110.9073 , 78.99329 ){\circle*{ .543274}} \put( 111.5036 , 82.77195 ){\circle*{ .543274}} \put( 112.0999 , 86.74436 ){\circle*{ .543274}} \put( 112.6961 , 90.92044 ){\circle*{ .543274}} \put( 113.2924 , 95.31062 ){\circle*{ .543274}} \put( 113.8887 , 99.9259 ){\circle*{ .543274}} \put( 114.4850 , 104.7778 ){\circle*{ .543274}} \put( 115.0812 , 109.8785 ){\circle*{ .543274}} \put( 115.6775 , 115.2407 ){\circle*{ .543274}} \put( 116.2738 , 120.8778 ){\circle*{ .543274}} \put( 116.87 , 126.8039 ){\circle*{ .543274}} \put( 117.4663 , 133.0339 ){\circle*{ .543274}} \put( 118.0626 , 139.5833 ){\circle*{ .543274}} \put( 118.6589 , 146.4685 ){\circle*{ .543274}} \end{picture} \end{center} %Finis. apl>)off