%!PS %%Version: 3.3 %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments % % Version 3.3 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale /Symbol /S Sdefs cf /Times-Roman /S1 S1defs cf 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark /resolution 720 def setup 2 setdecoding %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 10 R f (AT&T Bell Laboratories)2 993 1 2563 1740 t (Murray Hill, New Jersey 07974)4 1267 1 2426 1860 t (Computing Science Technical Report No. 132)5 1848 1 2136 3000 t 12 B f (A System for Algorithm Animation)4 1808 1 2156 3270 t (Tutorial and User Manual)3 1352 1 2384 3420 t 10 I f (Jon L. Bentley)2 574 1 2773 3660 t (Brian W. Kernighan)2 814 1 2653 3780 t 10 R f (August 6, 1991)2 614 1 720 6240 t cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 0 2 /saveobj save def mark 2 pagesetup 12 B f (A System for Algorithm Animation)4 1808 1 2156 1230 t (Tutorial and User Manual)3 1352 1 2384 1380 t 10 I f (Jon L. Bentley)2 574 1 2773 1620 t (Brian W. Kernighan)2 814 1 2653 1740 t 10 R f (AT&T Bell Laboratories)2 993 1 2563 1920 t (Murray Hill, New Jersey 07974)4 1267 1 2426 2040 t 10 I f (ABSTRACT)2823 2540 w 10 R f ( can be animated by a movie that graphically represents its)10 2510(A program or an algorithm)4 1140 2 1360 2800 t ( by lines that appear)4 856( instance, a memory allocator might be animated)7 2045( For)1 203(dynamic execution.)1 796 4 1110 2920 t ( might be animated by a ran-)6 1226(when memory is allocated and disappear when it is freed; a sort)11 2674 2 1110 3040 t ( animations are useful for)4 1060( Such)1 260( order.)1 270(domly scrambled sequence of lines being permuted into)7 2310 4 1110 3160 t ( information about)2 770(debugging programs, for developing new programs, and for communicating)8 3130 2 1110 3280 t ( paper describes a basic system for algorithm animation: the output is)11 2827( This)1 233( work.)1 260(how programs)1 580 4 1110 3400 t ( program in a couple of hours.)6 1266(crude, but the system is easy to use; novice users can animate a)12 2634 2 1110 3520 t ( and workstations that support)4 1213(The system currently produces movies on Teletype 5620 terminals)8 2687 2 1110 3640 t (the X window system, and also renders movies into ``stills'' that can be included in)14 3436 1 1110 3760 t 10 I f (troff)4578 3760 w 10 R f (docu-)4783 3760 w ( user manual and a tutorial introduction to algorithm animation using the)11 2973( paper is a)3 428(ments. This)1 499 3 1110 3880 t (system.)1110 4000 w (August 6, 1991)2 614 1 720 4480 t cleartomark showpage saveobj restore %%EndPage: 0 2 %%Page: 1 3 /saveobj save def mark 3 pagesetup 12 B f (A System for Algorithm Animation)4 1808 1 2156 1230 t (Tutorial and User Manual)3 1352 1 2384 1380 t 10 I f (Jon L. Bentley)2 574 1 2773 1620 t (Brian W. Kernighan)2 814 1 2653 1740 t 10 R f (AT&T Bell Laboratories)2 993 1 2563 1920 t (Murray Hill, New Jersey 07974)4 1267 1 2426 2040 t 10 B f (1. Introduction)1 670 1 720 2400 t 10 R f ( The)1 209( insight into the behavior of dynamic systems.)7 1872(Dynamic displays are better than static displays for giving)8 2349 3 970 2556 t (pictures in Figure 1, for instance, illustrate four equal-mass bodies moving in the plane under Newtonian attraction.)16 4613 1 720 2676 t cleartomark saveobj restore %%BeginGlobal % % Version 3.3 drawing procedures for dpost. Automatically pulled in, but only % when needed. % /inpath false def /savematrix matrix def /Dl { inpath {pop pop neg lineto} {newpath neg moveto neg lineto stroke} ifelse } bind def /De { /y1 exch 2 div def /x1 exch 2 div def /savematrix savematrix currentmatrix def neg exch x1 add exch translate x1 y1 scale 0 0 1 0 360 inpath {1 0 moveto arc savematrix setmatrix} {newpath arc savematrix setmatrix stroke} ifelse } bind def /Da { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arc} {newpath arc stroke} ifelse } bind def /DA { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arcn} {newpath arcn stroke} ifelse } bind def /Ds { /y2 exch def /x2 exch def /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 5 x1 mul add 6 div y0 5 y1 mul add -6 div x2 5 x1 mul add 6 div y2 5 y1 mul add -6 div x1 x2 add 2 div y1 y2 add -2 div inpath {curveto} {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke} ifelse } bind def %%EndGlobal /saveobj save def mark 10 R f 900 2838 900 3702 Dl 1764 2838 900 2838 Dl 1764 3702 1764 2838 Dl 900 3702 1764 3702 Dl 900 3702 900 4566 Dl 1764 3702 900 3702 Dl 1764 4566 1764 3702 Dl 900 4566 1764 4566 Dl 900 4566 900 5430 Dl 1764 4566 900 4566 Dl 1764 5430 1764 4566 Dl 900 5430 1764 5430 Dl 12 S f (\267)1215 3305 w 10 R f 1179 3338 1171 3357 Dl 12 S f (\267)1309 3220 w 10 R f 1263 3117 1244 3109 Dl 12 S f (\267)1395 3315 w 10 R f 1484 3202 1492 3182 Dl 12 S f (\267)1299 3400 w 10 R f 1399 3422 1419 3430 Dl 1192 3315 1180 3337 Dl 1286 3130 1264 3118 Dl 1471 3224 1483 3203 Dl 1377 3409 1398 3421 Dl 1212 3292 1193 3315 Dl 1309 3151 1286 3131 Dl 1450 3248 1470 3224 Dl 1353 3389 1377 3408 Dl 1241 3266 1212 3291 Dl 1335 3179 1310 3151 Dl 1422 3274 1450 3249 Dl 1327 3360 1352 3389 Dl 1171 3357 1166 3375 Dl 1244 3109 1226 3104 Dl 1492 3182 1497 3164 Dl 1419 3430 1437 3435 Dl (.)1157 5164 w 1170 4280 1175 4290 Dl (.)1173 4856 w 1185 3972 1175 3977 Dl (.)1482 4871 w 1493 3987 1488 3977 Dl (.)1466 5180 w 1478 4295 1488 4290 Dl (.)1153 5152 w 1166 4268 1169 4280 Dl (.)1185 4852 w 1197 3969 1185 3972 Dl (.)1485 4883 w 1497 3999 1494 3987 Dl (.)1454 5184 w 1466 4299 1478 4296 Dl (.)1152 5138 w 1165 4255 1165 4268 Dl (.)1199 4850 w 1210 3967 1197 3968 Dl (.)1487 4897 w 1498 4012 1497 3999 Dl (.)1440 5185 w 1453 4300 1466 4300 Dl (.)1154 5123 w 1165 4239 1164 4254 Dl (.)1214 4852 w 1226 3967 1211 3966 Dl (.)1485 4912 w 1498 4028 1499 4013 Dl (.)1425 5183 w 1437 4300 1452 4301 Dl (.)1159 5105 w 1171 4221 1166 4239 Dl (.)1232 4857 w 1244 3973 1226 3968 Dl (.)1480 4930 w 1492 4046 1497 4028 Dl (.)1407 5178 w 1419 4294 1437 4299 Dl (.)1168 5085 w 1179 4202 1171 4221 Dl (.)1252 4866 w 1263 3981 1244 3973 Dl (.)1471 4951 w 1484 4066 1492 4046 Dl (.)1386 5169 w 1399 4286 1419 4294 Dl (.)1181 5063 w 1192 4179 1180 4201 Dl (.)1274 4879 w 1286 3994 1264 3982 Dl (.)1458 4972 w 1471 4088 1483 4067 Dl (.)1365 5156 w 1377 4273 1398 4285 Dl (.)1200 5039 w 1212 4156 1193 4179 Dl (.)1298 4899 w 1309 4015 1286 3995 Dl (.)1438 4997 w 1450 4112 1470 4088 Dl (.)1340 5137 w 1353 4253 1377 4272 Dl (.)1230 5013 w 1241 4130 1212 4155 Dl (.)1324 4928 w 1335 4043 1310 4015 Dl (.)1410 5023 w 1422 4138 1450 4113 Dl (.)1314 5108 w 1327 4224 1352 4253 Dl 1764 2838 1764 3702 Dl 2628 2838 1764 2838 Dl 2628 3702 2628 2838 Dl 1764 3702 2628 3702 Dl 1764 3702 1764 4566 Dl 2628 3702 1764 3702 Dl 2628 4566 2628 3702 Dl 1764 4566 2628 4566 Dl 1764 4566 1764 5430 Dl 2628 4566 1764 4566 Dl 2628 5430 2628 4566 Dl 1764 5430 2628 5430 Dl 12 S f (\267)2374 3491 w 10 R f 2400 3450 2399 3437 Dl 12 S f (\267)1987 3515 w 10 R f 2015 3475 2028 3473 Dl 12 S f (\267)1963 3128 w 10 R f 1990 3089 1992 3102 Dl 12 S f (\267)2350 3104 w 10 R f 2376 3065 2363 3066 Dl 2383 3388 2373 3369 Dl 2077 3457 2096 3447 Dl 2008 3151 2018 3170 Dl 2314 3082 2295 3092 Dl 2390 3406 2383 3388 Dl 2059 3464 2077 3457 Dl 2001 3133 2008 3151 Dl 2332 3075 2314 3082 Dl 2395 3422 2390 3406 Dl 2043 3469 2059 3464 Dl 1996 3118 2001 3133 Dl 2347 3070 2332 3075 Dl 2399 3437 2396 3423 Dl 2028 3473 2042 3470 Dl 1992 3102 1995 3117 Dl 2363 3066 2348 3069 Dl (.)2021 5164 w 2034 4280 2039 4290 Dl (.)2037 4856 w 2049 3972 2039 3977 Dl (.)2346 4871 w 2357 3987 2352 3977 Dl (.)2330 5180 w 2342 4295 2352 4290 Dl (.)2017 5152 w 2030 4268 2033 4280 Dl (.)2049 4852 w 2061 3969 2049 3972 Dl (.)2349 4883 w 2361 3999 2358 3987 Dl (.)2318 5184 w 2330 4299 2342 4296 Dl (.)2016 5138 w 2029 4255 2029 4268 Dl (.)2063 4850 w 2074 3967 2061 3968 Dl (.)2351 4897 w 2362 4012 2361 3999 Dl (.)2304 5185 w 2317 4300 2330 4300 Dl (.)2018 5123 w 2029 4239 2028 4254 Dl (.)2078 4852 w 2090 3967 2075 3966 Dl (.)2349 4912 w 2362 4028 2363 4013 Dl (.)2289 5183 w 2301 4300 2316 4301 Dl (.)2023 5105 w 2035 4221 2030 4239 Dl (.)2096 4857 w 2108 3973 2090 3968 Dl (.)2344 4930 w 2356 4046 2361 4028 Dl (.)2271 5178 w 2283 4294 2301 4299 Dl (.)2032 5085 w 2043 4202 2035 4221 Dl (.)2116 4866 w 2127 3981 2108 3973 Dl (.)2335 4951 w 2348 4066 2356 4046 Dl (.)2250 5169 w 2263 4286 2283 4294 Dl (.)2045 5063 w 2056 4179 2044 4201 Dl (.)2138 4879 w 2150 3994 2128 3982 Dl (.)2322 4972 w 2335 4088 2347 4067 Dl (.)2229 5156 w 2241 4273 2262 4285 Dl (.)2064 5039 w 2076 4156 2057 4179 Dl (.)2162 4899 w 2173 4015 2150 3995 Dl (.)2302 4997 w 2314 4112 2334 4088 Dl (.)2204 5137 w 2217 4253 2241 4272 Dl (.)2094 5013 w 2105 4130 2076 4155 Dl (.)2188 4928 w 2199 4043 2174 4015 Dl (.)2274 5023 w 2286 4138 2314 4113 Dl (.)2178 5108 w 2191 4224 2216 4253 Dl (.)2141 4988 w 2153 4104 2106 4129 Dl (.)2213 4975 w 2225 4091 2200 4044 Dl (.)2226 5047 w 2239 4163 2286 4139 Dl (.)2154 5060 w 2166 4177 2190 4224 Dl (.)2232 4994 w 2243 4109 2153 4104 Dl (.)2207 5066 w 2220 4181 2225 4091 Dl (.)2135 5042 w 2148 4158 2238 4163 Dl (.)2159 4969 w 2171 4086 2166 4176 Dl (.)2278 5021 w 2290 4137 2244 4110 Dl (.)2180 5113 w 2192 4228 2219 4182 Dl (.)2088 5014 w 2101 4130 2147 4158 Dl (.)2187 4923 w 2199 4039 2171 4085 Dl (.)2309 5048 w 2320 4163 2290 4137 Dl (.)2153 5143 w 2166 4259 2192 4229 Dl (.)2058 4987 w 2070 4104 2100 4130 Dl (.)2214 4892 w 2225 4009 2199 4039 Dl (.)2331 5073 w 2343 4189 2321 4164 Dl (.)2128 5165 w 2140 4281 2165 4259 Dl (.)2036 4962 w 2048 4078 2070 4103 Dl (.)2239 4870 w 2251 3986 2226 4008 Dl (.)2348 5096 w 2359 4212 2343 4189 Dl (.)2105 5182 w 2117 4297 2140 4281 Dl (.)2019 4939 w 2032 4055 2048 4078 Dl (.)2262 4853 w 2274 3970 2251 3986 Dl (.)2361 5117 w 2372 4232 2360 4212 Dl (.)2084 5195 w 2097 4310 2117 4298 Dl (.)2006 4918 w 2019 4035 2031 4055 Dl (.)2283 4840 w 2294 3957 2274 3969 Dl (.)2371 5136 w 2383 4252 2373 4233 Dl (.)2065 5205 w 2077 4321 2096 4311 Dl (.)1996 4899 w 2008 4015 2018 4034 Dl (.)2302 4830 w 2314 3946 2295 3956 Dl (.)2378 5154 w 2390 4270 2383 4252 Dl (.)2047 5212 w 2059 4328 2077 4321 Dl (.)1989 4881 w 2001 3997 2008 4015 Dl (.)2320 4823 w 2332 3939 2314 3946 Dl (.)2384 5171 w 2395 4286 2390 4270 Dl (.)2030 5218 w 2043 4333 2059 4328 Dl (.)1983 4865 w 1996 3982 2001 3997 Dl (.)2336 4817 w 2347 3934 2332 3939 Dl (.)2387 5185 w 2399 4301 2396 4287 Dl (.)2016 5221 w 2028 4337 2042 4334 Dl (.)1980 4850 w 1992 3966 1995 3981 Dl (.)2351 4814 w 2363 3930 2348 3933 Dl (.)2389 5199 w 2400 4314 2399 4301 Dl (.)2002 5223 w 2015 4339 2028 4337 Dl (.)1978 4836 w 1990 3953 1992 3966 Dl (.)2365 4812 w 2376 3929 2363 3930 Dl 2628 2838 2628 3702 Dl 3492 2838 2628 2838 Dl 3492 3702 3492 2838 Dl 2628 3702 3492 3702 Dl 2628 3702 2628 4566 Dl 3492 3702 2628 3702 Dl 3492 4566 3492 3702 Dl 2628 4566 3492 4566 Dl 2628 4566 2628 5430 Dl 3492 4566 2628 4566 Dl 3492 5430 3492 4566 Dl 2628 5430 3492 5430 Dl 12 S f (\267)3161 3557 w 10 R f 3220 3520 3229 3519 Dl 12 S f (\267)2785 3439 w 10 R f 2809 3431 2810 3439 Dl 12 S f (\267)2903 3063 w 10 R f 2898 3019 2890 3020 Dl 12 S f (\267)3279 3181 w 10 R f 3310 3109 3309 3100 Dl 3211 3521 3220 3521 Dl 2808 3421 2808 3431 Dl 2908 3018 2898 3018 Dl 3311 3118 3311 3109 Dl 3201 3521 3211 3522 Dl 2809 3411 2808 3421 Dl 2918 3019 2908 3018 Dl 3310 3128 3311 3118 Dl 3189 3518 3200 3520 Dl 2811 3400 2809 3410 Dl 2929 3022 2919 3020 Dl 3307 3140 3309 3129 Dl 3230 3519 3237 3517 Dl 2810 3440 2812 3447 Dl 2889 3021 2882 3023 Dl 3308 3099 3306 3092 Dl (.)2885 5164 w 2898 4280 2903 4290 Dl (.)2901 4856 w 2913 3972 2903 3977 Dl (.)3210 4871 w 3221 3987 3216 3977 Dl (.)3194 5180 w 3206 4295 3216 4290 Dl (.)2881 5152 w 2894 4268 2897 4280 Dl (.)2913 4852 w 2925 3969 2913 3972 Dl (.)3213 4883 w 3225 3999 3222 3987 Dl (.)3182 5184 w 3194 4299 3206 4296 Dl (.)2880 5138 w 2893 4255 2893 4268 Dl (.)2927 4850 w 2938 3967 2925 3968 Dl (.)3215 4897 w 3226 4012 3225 3999 Dl (.)3168 5185 w 3181 4300 3194 4300 Dl (.)2882 5123 w 2893 4239 2892 4254 Dl (.)2942 4852 w 2954 3967 2939 3966 Dl (.)3213 4912 w 3226 4028 3227 4013 Dl (.)3153 5183 w 3165 4300 3180 4301 Dl (.)2887 5105 w 2899 4221 2894 4239 Dl (.)2960 4857 w 2972 3973 2954 3968 Dl (.)3208 4930 w 3220 4046 3225 4028 Dl (.)3135 5178 w 3147 4294 3165 4299 Dl (.)2896 5085 w 2907 4202 2899 4221 Dl (.)2980 4866 w 2991 3981 2972 3973 Dl (.)3199 4951 w 3212 4066 3220 4046 Dl (.)3114 5169 w 3127 4286 3147 4294 Dl (.)2909 5063 w 2920 4179 2908 4201 Dl (.)3002 4879 w 3014 3994 2992 3982 Dl (.)3186 4972 w 3199 4088 3211 4067 Dl (.)3093 5156 w 3105 4273 3126 4285 Dl (.)2928 5039 w 2940 4156 2921 4179 Dl (.)3026 4899 w 3037 4015 3014 3995 Dl (.)3166 4997 w 3178 4112 3198 4088 Dl (.)3068 5137 w 3081 4253 3105 4272 Dl (.)2958 5013 w 2969 4130 2940 4155 Dl (.)3052 4928 w 3063 4043 3038 4015 Dl (.)3138 5023 w 3150 4138 3178 4113 Dl (.)3042 5108 w 3055 4224 3080 4253 Dl (.)3005 4988 w 3017 4104 2970 4129 Dl (.)3077 4975 w 3089 4091 3064 4044 Dl (.)3090 5047 w 3103 4163 3150 4139 Dl (.)3018 5060 w 3030 4177 3054 4224 Dl (.)3096 4994 w 3107 4109 3017 4104 Dl (.)3071 5066 w 3084 4181 3089 4091 Dl (.)2999 5042 w 3012 4158 3102 4163 Dl (.)3023 4969 w 3035 4086 3030 4176 Dl (.)3142 5021 w 3154 4137 3108 4110 Dl (.)3044 5113 w 3056 4228 3083 4182 Dl (.)2952 5014 w 2965 4130 3011 4158 Dl (.)3051 4923 w 3063 4039 3035 4085 Dl (.)3173 5048 w 3184 4163 3154 4137 Dl (.)3017 5143 w 3030 4259 3056 4229 Dl (.)2922 4987 w 2934 4104 2964 4130 Dl (.)3078 4892 w 3089 4009 3063 4039 Dl (.)3195 5073 w 3207 4189 3185 4164 Dl (.)2992 5165 w 3004 4281 3029 4259 Dl (.)2900 4962 w 2912 4078 2934 4103 Dl (.)3103 4870 w 3115 3986 3090 4008 Dl (.)3212 5096 w 3223 4212 3207 4189 Dl (.)2969 5182 w 2981 4297 3004 4281 Dl (.)2883 4939 w 2896 4055 2912 4078 Dl (.)3126 4853 w 3138 3970 3115 3986 Dl (.)3225 5117 w 3236 4232 3224 4212 Dl (.)2948 5195 w 2961 4310 2981 4298 Dl (.)2870 4918 w 2883 4035 2895 4055 Dl (.)3147 4840 w 3158 3957 3138 3969 Dl (.)3235 5136 w 3247 4252 3237 4233 Dl (.)2929 5205 w 2941 4321 2960 4311 Dl (.)2860 4899 w 2872 4015 2882 4034 Dl (.)3166 4830 w 3178 3946 3159 3956 Dl (.)3242 5154 w 3254 4270 3247 4252 Dl (.)2911 5212 w 2923 4328 2941 4321 Dl (.)2853 4881 w 2865 3997 2872 4015 Dl (.)3184 4823 w 3196 3939 3178 3946 Dl (.)3248 5171 w 3259 4286 3254 4270 Dl (.)2894 5218 w 2907 4333 2923 4328 Dl (.)2847 4865 w 2860 3982 2865 3997 Dl (.)3200 4817 w 3211 3934 3196 3939 Dl (.)3251 5185 w 3263 4301 3260 4287 Dl (.)2880 5221 w 2892 4337 2906 4334 Dl (.)2844 4850 w 2856 3966 2859 3981 Dl (.)3215 4814 w 3227 3930 3212 3933 Dl (.)3253 5199 w 3264 4314 3263 4301 Dl (.)2866 5223 w 2879 4339 2892 4337 Dl (.)2842 4836 w 2854 3953 2856 3966 Dl (.)3229 4812 w 3240 3929 3227 3930 Dl (.)3253 5212 w 3265 4327 3265 4315 Dl (.)2853 5223 w 2866 4339 2878 4339 Dl (.)2842 4824 w 2854 3940 2854 3952 Dl (.)3241 4812 w 3253 3928 3241 3928 Dl (.)3253 5223 w 3265 4338 3265 4328 Dl (.)2842 5223 w 2855 4339 2865 4339 Dl (.)2842 4812 w 2854 3929 2854 3940 Dl (.)3253 4812 w 3264 3928 3253 3928 Dl (.)3251 5233 w 3263 4349 3265 4339 Dl (.)2832 5221 w 2844 4338 2854 4339 Dl (.)2844 4802 w 2855 3918 2854 3928 Dl (.)3263 4814 w 3275 3930 3265 3928 Dl (.)3248 5241 w 3261 4357 3263 4349 Dl (.)2824 5218 w 2836 4334 2844 4337 Dl (.)2847 4794 w 2859 3910 2856 3918 Dl (.)3271 4817 w 3283 3932 3275 3930 Dl (.)3243 5249 w 3256 4364 3260 4357 Dl (.)2816 5213 w 2829 4330 2836 4334 Dl (.)2852 4786 w 2863 3903 2859 3910 Dl (.)3279 4822 w 3290 3937 3283 3933 Dl (.)3238 5256 w 3250 4371 3255 4365 Dl (.)2809 5208 w 2822 4324 2828 4329 Dl (.)2857 4779 w 2869 3896 2864 3902 Dl (.)3286 4827 w 3297 3943 3291 3938 Dl (.)3232 5261 w 3244 4377 3250 4372 Dl (.)2804 5203 w 2816 4319 2821 4324 Dl (.)2862 4774 w 2874 3890 2869 3895 Dl (.)3291 4833 w 3303 3949 3298 3943 Dl (.)3225 5265 w 3238 4381 3244 4377 Dl (.)2800 5195 w 2812 4312 2816 4319 Dl (.)2870 4771 w 2881 3887 2874 3890 Dl (.)3294 4840 w 3306 3955 3303 3949 Dl (.)3217 5267 w 3230 4383 3237 4381 Dl (.)2798 5187 w 2810 4304 2812 4311 Dl (.)2878 4768 w 2889 3885 2882 3887 Dl (.)3297 4848 w 3308 3963 3306 3956 Dl (.)3208 5269 w 3220 4384 3229 4383 Dl (.)2796 5179 w 2809 4295 2810 4303 Dl (.)2886 4766 w 2898 3883 2890 3884 Dl (.)3299 4857 w 3310 3973 3309 3964 Dl (.)3199 5270 w 3211 4385 3220 4385 Dl (.)2796 5169 w 2808 4285 2808 4295 Dl (.)2896 4766 w 2908 3882 2898 3882 Dl (.)3299 4866 w 3311 3982 3311 3973 Dl (.)3188 5268 w 3201 4385 3211 4386 Dl (.)2797 5158 w 2809 4275 2808 4285 Dl (.)2907 4768 w 2918 3883 2908 3882 Dl (.)3297 4877 w 3310 3992 3311 3982 Dl (.)3176 5265 w 3189 4382 3200 4384 Dl (.)2800 5147 w 2811 4264 2809 4274 Dl (.)2918 4771 w 2929 3886 2919 3884 Dl (.)3294 4889 w 3307 4004 3309 3993 Dl 3492 2838 3492 3702 Dl 4356 2838 3492 2838 Dl 4356 3702 4356 2838 Dl 3492 3702 4356 3702 Dl 3492 3702 3492 4566 Dl 4356 3702 3492 3702 Dl 4356 4566 4356 3702 Dl 3492 4566 4356 4566 Dl 3492 4566 3492 5430 Dl 4356 4566 3492 4566 Dl 4356 5430 4356 4566 Dl 3492 5430 4356 5430 Dl 12 S f (\267)3903 3454 w 10 R f 3949 3439 3966 3458 Dl 12 S f (\267)3753 3317 w 10 R f 3754 3295 3735 3312 Dl 12 S f (\267)3889 3166 w 10 R f 3898 3101 3881 3081 Dl 12 S f (\267)4041 3303 w 10 R f 4092 3244 4112 3227 Dl 3931 3414 3949 3439 Dl 3779 3277 3754 3295 Dl 3916 3125 3898 3101 Dl 4068 3262 4092 3244 Dl 3999 3488 4014 3498 Dl 3705 3345 3695 3360 Dl 3849 3051 3834 3041 Dl 4142 3195 4152 3180 Dl 3983 3476 3998 3488 Dl 3717 3329 3705 3344 Dl 3864 3064 3849 3052 Dl 4129 3210 4141 3195 Dl 3967 3459 3983 3475 Dl 3734 3313 3718 3329 Dl 3880 3080 3864 3065 Dl 4113 3226 4128 3210 Dl (.)3749 5164 w 3762 4280 3767 4290 Dl (.)3765 4856 w 3777 3972 3767 3977 Dl (.)4074 4871 w 4085 3987 4080 3977 Dl (.)4058 5180 w 4070 4295 4080 4290 Dl (.)3745 5152 w 3758 4268 3761 4280 Dl (.)3777 4852 w 3789 3969 3777 3972 Dl (.)4077 4883 w 4089 3999 4086 3987 Dl (.)4046 5184 w 4058 4299 4070 4296 Dl (.)3744 5138 w 3757 4255 3757 4268 Dl (.)3791 4850 w 3802 3967 3789 3968 Dl (.)4079 4897 w 4090 4012 4089 3999 Dl (.)4032 5185 w 4045 4300 4058 4300 Dl (.)3746 5123 w 3757 4239 3756 4254 Dl (.)3806 4852 w 3818 3967 3803 3966 Dl (.)4077 4912 w 4090 4028 4091 4013 Dl (.)4017 5183 w 4029 4300 4044 4301 Dl (.)3751 5105 w 3763 4221 3758 4239 Dl (.)3824 4857 w 3836 3973 3818 3968 Dl (.)4072 4930 w 4084 4046 4089 4028 Dl (.)3999 5178 w 4011 4294 4029 4299 Dl (.)3760 5085 w 3771 4202 3763 4221 Dl (.)3844 4866 w 3855 3981 3836 3973 Dl (.)4063 4951 w 4076 4066 4084 4046 Dl (.)3978 5169 w 3991 4286 4011 4294 Dl (.)3773 5063 w 3784 4179 3772 4201 Dl (.)3866 4879 w 3878 3994 3856 3982 Dl (.)4050 4972 w 4063 4088 4075 4067 Dl (.)3957 5156 w 3969 4273 3990 4285 Dl (.)3792 5039 w 3804 4156 3785 4179 Dl (.)3890 4899 w 3901 4015 3878 3995 Dl (.)4030 4997 w 4042 4112 4062 4088 Dl (.)3932 5137 w 3945 4253 3969 4272 Dl (.)3822 5013 w 3833 4130 3804 4155 Dl (.)3916 4928 w 3927 4043 3902 4015 Dl (.)4002 5023 w 4014 4138 4042 4113 Dl (.)3906 5108 w 3919 4224 3944 4253 Dl (.)3869 4988 w 3881 4104 3834 4129 Dl (.)3941 4975 w 3953 4091 3928 4044 Dl (.)3954 5047 w 3967 4163 4014 4139 Dl (.)3882 5060 w 3894 4177 3918 4224 Dl (.)3960 4994 w 3971 4109 3881 4104 Dl (.)3935 5066 w 3948 4181 3953 4091 Dl (.)3863 5042 w 3876 4158 3966 4163 Dl (.)3887 4969 w 3899 4086 3894 4176 Dl (.)4006 5021 w 4018 4137 3972 4110 Dl (.)3908 5113 w 3920 4228 3947 4182 Dl (.)3816 5014 w 3829 4130 3875 4158 Dl (.)3915 4923 w 3927 4039 3899 4085 Dl (.)4037 5048 w 4048 4163 4018 4137 Dl (.)3881 5143 w 3894 4259 3920 4229 Dl (.)3786 4987 w 3798 4104 3828 4130 Dl (.)3942 4892 w 3953 4009 3927 4039 Dl (.)4059 5073 w 4071 4189 4049 4164 Dl (.)3856 5165 w 3868 4281 3893 4259 Dl (.)3764 4962 w 3776 4078 3798 4103 Dl (.)3967 4870 w 3979 3986 3954 4008 Dl (.)4076 5096 w 4087 4212 4071 4189 Dl (.)3833 5182 w 3845 4297 3868 4281 Dl (.)3747 4939 w 3760 4055 3776 4078 Dl (.)3990 4853 w 4002 3970 3979 3986 Dl (.)4089 5117 w 4100 4232 4088 4212 Dl (.)3812 5195 w 3825 4310 3845 4298 Dl (.)3734 4918 w 3747 4035 3759 4055 Dl (.)4011 4840 w 4022 3957 4002 3969 Dl (.)4099 5136 w 4111 4252 4101 4233 Dl (.)3793 5205 w 3805 4321 3824 4311 Dl (.)3724 4899 w 3736 4015 3746 4034 Dl (.)4030 4830 w 4042 3946 4023 3956 Dl (.)4106 5154 w 4118 4270 4111 4252 Dl (.)3775 5212 w 3787 4328 3805 4321 Dl (.)3717 4881 w 3729 3997 3736 4015 Dl (.)4048 4823 w 4060 3939 4042 3946 Dl (.)4112 5171 w 4123 4286 4118 4270 Dl (.)3758 5218 w 3771 4333 3787 4328 Dl (.)3711 4865 w 3724 3982 3729 3997 Dl (.)4064 4817 w 4075 3934 4060 3939 Dl (.)4115 5185 w 4127 4301 4124 4287 Dl (.)3744 5221 w 3756 4337 3770 4334 Dl (.)3708 4850 w 3720 3966 3723 3981 Dl (.)4079 4814 w 4091 3930 4076 3933 Dl (.)4117 5199 w 4128 4314 4127 4301 Dl (.)3730 5223 w 3743 4339 3756 4337 Dl (.)3706 4836 w 3718 3953 3720 3966 Dl (.)4093 4812 w 4104 3929 4091 3930 Dl (.)4117 5212 w 4129 4327 4129 4315 Dl (.)3717 5223 w 3730 4339 3742 4339 Dl (.)3706 4824 w 3718 3940 3718 3952 Dl (.)4105 4812 w 4117 3928 4105 3928 Dl (.)4117 5223 w 4129 4338 4129 4328 Dl (.)3706 5223 w 3719 4339 3729 4339 Dl (.)3706 4812 w 3718 3929 3718 3940 Dl (.)4117 4812 w 4128 3928 4117 3928 Dl (.)4115 5233 w 4127 4349 4129 4339 Dl (.)3696 5221 w 3708 4338 3718 4339 Dl (.)3708 4802 w 3719 3918 3718 3928 Dl (.)4127 4814 w 4139 3930 4129 3928 Dl (.)4112 5241 w 4125 4357 4127 4349 Dl (.)3688 5218 w 3700 4334 3708 4337 Dl (.)3711 4794 w 3723 3910 3720 3918 Dl (.)4135 4817 w 4147 3932 4139 3930 Dl (.)4107 5249 w 4120 4364 4124 4357 Dl (.)3680 5213 w 3693 4330 3700 4334 Dl (.)3716 4786 w 3727 3903 3723 3910 Dl (.)4143 4822 w 4154 3937 4147 3933 Dl (.)4102 5256 w 4114 4371 4119 4365 Dl (.)3673 5208 w 3686 4324 3692 4329 Dl (.)3721 4779 w 3733 3896 3728 3902 Dl (.)4150 4827 w 4161 3943 4155 3938 Dl (.)4096 5261 w 4108 4377 4114 4372 Dl (.)3668 5203 w 3680 4319 3685 4324 Dl (.)3726 4774 w 3738 3890 3733 3895 Dl (.)4155 4833 w 4167 3949 4162 3943 Dl (.)4089 5265 w 4102 4381 4108 4377 Dl (.)3664 5195 w 3676 4312 3680 4319 Dl (.)3734 4771 w 3745 3887 3738 3890 Dl (.)4158 4840 w 4170 3955 4167 3949 Dl (.)4081 5267 w 4094 4383 4101 4381 Dl (.)3662 5187 w 3674 4304 3676 4311 Dl (.)3742 4768 w 3753 3885 3746 3887 Dl (.)4161 4848 w 4172 3963 4170 3956 Dl (.)4072 5269 w 4084 4384 4093 4383 Dl (.)3660 5179 w 3673 4295 3674 4303 Dl (.)3750 4766 w 3762 3883 3754 3884 Dl (.)4163 4857 w 4174 3973 4173 3964 Dl (.)4063 5270 w 4075 4385 4084 4385 Dl (.)3660 5169 w 3672 4285 3672 4295 Dl (.)3760 4766 w 3772 3882 3762 3882 Dl (.)4163 4866 w 4175 3982 4175 3973 Dl (.)4052 5268 w 4065 4385 4075 4386 Dl (.)3661 5158 w 3673 4275 3672 4285 Dl (.)3771 4768 w 3782 3883 3772 3882 Dl (.)4161 4877 w 4174 3992 4175 3982 Dl (.)4040 5265 w 4053 4382 4064 4384 Dl (.)3664 5147 w 3675 4264 3673 4274 Dl (.)3782 4771 w 3793 3886 3783 3884 Dl (.)4158 4889 w 4171 4004 4173 3993 Dl (.)4028 5260 w 4040 4376 4052 4381 Dl (.)3669 5135 w 3681 4251 3676 4263 Dl (.)3794 4775 w 3806 3891 3794 3887 Dl (.)4154 4901 w 4166 4017 4170 4005 Dl (.)4015 5254 w 4028 4371 4040 4376 Dl (.)3675 5121 w 3686 4238 3681 4251 Dl (.)3808 4781 w 3819 3897 3806 3891 Dl (.)4148 4914 w 4160 4029 4166 4017 Dl (.)4002 5246 w 4014 4362 4027 4370 Dl (.)3683 5108 w 3695 4224 3687 4237 Dl (.)3822 4789 w 3833 3904 3820 3897 Dl (.)4140 4928 w 4153 4043 4160 4030 Dl (.)3986 5236 w 3999 4352 4014 4362 Dl (.)3693 5092 w 3705 4209 3695 4224 Dl (.)3837 4800 w 3849 3915 3834 3905 Dl (.)4129 4943 w 4142 4059 4152 4044 Dl (.)3971 5223 w 3983 4340 3998 4352 Dl (.)3706 5077 w 3717 4193 3705 4208 Dl (.)3852 4813 w 3864 3928 3849 3916 Dl (.)4116 4958 w 4129 4074 4141 4059 Dl (.)3954 5206 w 3967 4323 3983 4339 Dl (.)3723 5060 w 3734 4177 3718 4193 Dl (.)3869 4829 w 3880 3944 3864 3929 Dl (.)4100 4975 w 4113 4090 4128 4074 Dl (.)3937 5187 w 3949 4303 3966 4322 Dl (.)3742 5043 w 3754 4159 3735 4176 Dl (.)3886 4849 w 3898 3965 3881 3945 Dl (.)4080 4992 w 4092 4108 4112 4091 Dl (.)3918 5162 w 3931 4278 3949 4303 Dl (.)3768 5025 w 3779 4141 3754 4159 Dl (.)3904 4874 w 3916 3989 3898 3965 Dl (.)4056 5011 w 4068 4126 4092 4108 Dl 4356 2838 4356 3702 Dl 5220 2838 4356 2838 Dl 5220 3702 5220 2838 Dl 4356 3702 5220 3702 Dl 4356 3702 4356 4566 Dl 5220 3702 4356 3702 Dl 5220 4566 5220 3702 Dl 4356 4566 5220 4566 Dl 4356 4566 4356 5430 Dl 5220 4566 4356 4566 Dl 5220 5430 5220 4566 Dl 4356 5430 5220 5430 Dl (.)4613 5164 w 4626 4280 4631 4290 Dl (.)4629 4856 w 4641 3972 4631 3977 Dl (.)4938 4871 w 4949 3987 4944 3977 Dl (.)4922 5180 w 4934 4295 4944 4290 Dl (.)4609 5152 w 4622 4268 4625 4280 Dl (.)4641 4852 w 4653 3969 4641 3972 Dl (.)4941 4883 w 4953 3999 4950 3987 Dl (.)4910 5184 w 4922 4299 4934 4296 Dl (.)4608 5138 w 4621 4255 4621 4268 Dl (.)4655 4850 w 4666 3967 4653 3968 Dl (.)4943 4897 w 4954 4012 4953 3999 Dl (.)4896 5185 w 4909 4300 4922 4300 Dl (.)4610 5123 w 4621 4239 4620 4254 Dl (.)4670 4852 w 4682 3967 4667 3966 Dl (.)4941 4912 w 4954 4028 4955 4013 Dl (.)4881 5183 w 4893 4300 4908 4301 Dl (.)4615 5105 w 4627 4221 4622 4239 Dl (.)4688 4857 w 4700 3973 4682 3968 Dl (.)4936 4930 w 4948 4046 4953 4028 Dl (.)4863 5178 w 4875 4294 4893 4299 Dl (.)4624 5085 w 4635 4202 4627 4221 Dl (.)4708 4866 w 4719 3981 4700 3973 Dl (.)4927 4951 w 4940 4066 4948 4046 Dl (.)4842 5169 w 4855 4286 4875 4294 Dl (.)4637 5063 w 4648 4179 4636 4201 Dl (.)4730 4879 w 4742 3994 4720 3982 Dl (.)4914 4972 w 4927 4088 4939 4067 Dl (.)4821 5156 w 4833 4273 4854 4285 Dl (.)4656 5039 w 4668 4156 4649 4179 Dl (.)4754 4899 w 4765 4015 4742 3995 Dl (.)4894 4997 w 4906 4112 4926 4088 Dl (.)4796 5137 w 4809 4253 4833 4272 Dl (.)4686 5013 w 4697 4130 4668 4155 Dl (.)4780 4928 w 4791 4043 4766 4015 Dl (.)4866 5023 w 4878 4138 4906 4113 Dl (.)4770 5108 w 4783 4224 4808 4253 Dl (.)4733 4988 w 4745 4104 4698 4129 Dl (.)4805 4975 w 4817 4091 4792 4044 Dl (.)4818 5047 w 4831 4163 4878 4139 Dl (.)4746 5060 w 4758 4177 4782 4224 Dl (.)4824 4994 w 4835 4109 4745 4104 Dl (.)4799 5066 w 4812 4181 4817 4091 Dl (.)4727 5042 w 4740 4158 4830 4163 Dl (.)4751 4969 w 4763 4086 4758 4176 Dl (.)4870 5021 w 4882 4137 4836 4110 Dl (.)4772 5113 w 4784 4228 4811 4182 Dl (.)4680 5014 w 4693 4130 4739 4158 Dl (.)4779 4923 w 4791 4039 4763 4085 Dl (.)4901 5048 w 4912 4163 4882 4137 Dl (.)4745 5143 w 4758 4259 4784 4229 Dl (.)4650 4987 w 4662 4104 4692 4130 Dl (.)4806 4892 w 4817 4009 4791 4039 Dl (.)4923 5073 w 4935 4189 4913 4164 Dl (.)4720 5165 w 4732 4281 4757 4259 Dl (.)4628 4962 w 4640 4078 4662 4103 Dl (.)4831 4870 w 4843 3986 4818 4008 Dl (.)4940 5096 w 4951 4212 4935 4189 Dl (.)4697 5182 w 4709 4297 4732 4281 Dl (.)4611 4939 w 4624 4055 4640 4078 Dl (.)4854 4853 w 4866 3970 4843 3986 Dl (.)4953 5117 w 4964 4232 4952 4212 Dl (.)4676 5195 w 4689 4310 4709 4298 Dl (.)4598 4918 w 4611 4035 4623 4055 Dl (.)4875 4840 w 4886 3957 4866 3969 Dl (.)4963 5136 w 4975 4252 4965 4233 Dl (.)4657 5205 w 4669 4321 4688 4311 Dl (.)4588 4899 w 4600 4015 4610 4034 Dl (.)4894 4830 w 4906 3946 4887 3956 Dl (.)4970 5154 w 4982 4270 4975 4252 Dl (.)4639 5212 w 4651 4328 4669 4321 Dl (.)4581 4881 w 4593 3997 4600 4015 Dl (.)4912 4823 w 4924 3939 4906 3946 Dl (.)4976 5171 w 4987 4286 4982 4270 Dl (.)4622 5218 w 4635 4333 4651 4328 Dl (.)4575 4865 w 4588 3982 4593 3997 Dl (.)4928 4817 w 4939 3934 4924 3939 Dl (.)4979 5185 w 4991 4301 4988 4287 Dl (.)4608 5221 w 4620 4337 4634 4334 Dl (.)4572 4850 w 4584 3966 4587 3981 Dl (.)4943 4814 w 4955 3930 4940 3933 Dl (.)4981 5199 w 4992 4314 4991 4301 Dl (.)4594 5223 w 4607 4339 4620 4337 Dl (.)4570 4836 w 4582 3953 4584 3966 Dl (.)4957 4812 w 4968 3929 4955 3930 Dl (.)4981 5212 w 4993 4327 4993 4315 Dl (.)4581 5223 w 4594 4339 4606 4339 Dl (.)4570 4824 w 4582 3940 4582 3952 Dl (.)4969 4812 w 4981 3928 4969 3928 Dl (.)4981 5223 w 4993 4338 4993 4328 Dl (.)4570 5223 w 4583 4339 4593 4339 Dl (.)4570 4812 w 4582 3929 4582 3940 Dl (.)4981 4812 w 4992 3928 4981 3928 Dl (.)4979 5233 w 4991 4349 4993 4339 Dl (.)4560 5221 w 4572 4338 4582 4339 Dl (.)4572 4802 w 4583 3918 4582 3928 Dl (.)4991 4814 w 5003 3930 4993 3928 Dl (.)4976 5241 w 4989 4357 4991 4349 Dl (.)4552 5218 w 4564 4334 4572 4337 Dl (.)4575 4794 w 4587 3910 4584 3918 Dl (.)4999 4817 w 5011 3932 5003 3930 Dl (.)4971 5249 w 4984 4364 4988 4357 Dl (.)4544 5213 w 4557 4330 4564 4334 Dl (.)4580 4786 w 4591 3903 4587 3910 Dl (.)5007 4822 w 5018 3937 5011 3933 Dl (.)4966 5256 w 4978 4371 4983 4365 Dl (.)4537 5208 w 4550 4324 4556 4329 Dl (.)4585 4779 w 4597 3896 4592 3902 Dl (.)5014 4827 w 5025 3943 5019 3938 Dl (.)4960 5261 w 4972 4377 4978 4372 Dl (.)4532 5203 w 4544 4319 4549 4324 Dl (.)4590 4774 w 4602 3890 4597 3895 Dl (.)5019 4833 w 5031 3949 5026 3943 Dl (.)4953 5265 w 4966 4381 4972 4377 Dl (.)4528 5195 w 4540 4312 4544 4319 Dl (.)4598 4771 w 4609 3887 4602 3890 Dl (.)5022 4840 w 5034 3955 5031 3949 Dl (.)4945 5267 w 4958 4383 4965 4381 Dl (.)4526 5187 w 4538 4304 4540 4311 Dl (.)4606 4768 w 4617 3885 4610 3887 Dl (.)5025 4848 w 5036 3963 5034 3956 Dl (.)4936 5269 w 4948 4384 4957 4383 Dl (.)4524 5179 w 4537 4295 4538 4303 Dl (.)4614 4766 w 4626 3883 4618 3884 Dl (.)5027 4857 w 5038 3973 5037 3964 Dl (.)4927 5270 w 4939 4385 4948 4385 Dl (.)4524 5169 w 4536 4285 4536 4295 Dl (.)4624 4766 w 4636 3882 4626 3882 Dl (.)5027 4866 w 5039 3982 5039 3973 Dl (.)4916 5268 w 4929 4385 4939 4386 Dl (.)4525 5158 w 4537 4275 4536 4285 Dl (.)4635 4768 w 4646 3883 4636 3882 Dl (.)5025 4877 w 5038 3992 5039 3982 Dl (.)4904 5265 w 4917 4382 4928 4384 Dl (.)4528 5147 w 4539 4264 4537 4274 Dl (.)4646 4771 w 4657 3886 4647 3884 Dl (.)5022 4889 w 5035 4004 5037 3993 Dl (.)4892 5260 w 4904 4376 4916 4381 Dl (.)4533 5135 w 4545 4251 4540 4263 Dl (.)4658 4775 w 4670 3891 4658 3887 Dl (.)5018 4901 w 5030 4017 5034 4005 Dl (.)4879 5254 w 4892 4371 4904 4376 Dl (.)4539 5121 w 4550 4238 4545 4251 Dl (.)4672 4781 w 4683 3897 4670 3891 Dl (.)5012 4914 w 5024 4029 5030 4017 Dl (.)4866 5246 w 4878 4362 4891 4370 Dl (.)4547 5108 w 4559 4224 4551 4237 Dl (.)4686 4789 w 4697 3904 4684 3897 Dl (.)5004 4928 w 5017 4043 5024 4030 Dl (.)4850 5236 w 4863 4352 4878 4362 Dl (.)4557 5092 w 4569 4209 4559 4224 Dl (.)4701 4800 w 4713 3915 4698 3905 Dl (.)4993 4943 w 5006 4059 5016 4044 Dl (.)4835 5223 w 4847 4340 4862 4352 Dl (.)4570 5077 w 4581 4193 4569 4208 Dl (.)4716 4813 w 4728 3928 4713 3916 Dl (.)4980 4958 w 4993 4074 5005 4059 Dl (.)4818 5206 w 4831 4323 4847 4339 Dl (.)4587 5060 w 4598 4177 4582 4193 Dl (.)4733 4829 w 4744 3944 4728 3929 Dl (.)4964 4975 w 4977 4090 4992 4074 Dl (.)4801 5187 w 4813 4303 4830 4322 Dl (.)4606 5043 w 4618 4159 4599 4176 Dl (.)4750 4849 w 4762 3965 4745 3945 Dl (.)4944 4992 w 4956 4108 4976 4091 Dl (.)4782 5162 w 4795 4278 4813 4303 Dl (.)4632 5025 w 4643 4141 4618 4159 Dl (.)4768 4874 w 4780 3989 4762 3965 Dl (.)4920 5011 w 4932 4126 4956 4108 Dl (.)4764 5131 w 4776 4248 4794 4278 Dl (.)4662 5006 w 4674 4123 4644 4141 Dl (.)4787 4905 w 4798 4021 4780 3990 Dl (.)4888 5029 w 4901 4145 4932 4127 Dl (.)4747 5087 w 4759 4204 4776 4247 Dl (.)4706 4989 w 4717 4105 4674 4122 Dl (.)4804 4948 w 4816 4063 4799 4021 Dl (.)4845 5046 w 4858 4162 4900 4145 Dl (.)4739 5022 w 4752 4138 4759 4203 Dl (.)4771 4981 w 4783 4098 4718 4105 Dl (.)4812 5013 w 4823 4129 4816 4064 Dl (.)4780 5054 w 4792 4169 4857 4162 Dl (.)4835 4944 w 4846 4061 4751 4138 Dl 4846 3197 4751 3274 Dl (.)4849 5077 w 4860 4192 4783 4097 Dl 4860 3328 4783 3233 Dl (.)4716 5091 w 4729 4206 4824 4129 Dl 4729 3342 4824 3265 Dl (.)4702 4958 w 4715 4075 4792 4170 Dl 4715 3211 4792 3306 Dl (.)4921 4879 w 4933 3996 4847 4060 Dl 4933 3132 4847 3196 Dl (.)4914 5163 w 4925 4279 4861 4193 Dl 4925 3415 4861 3329 Dl (.)4630 5156 w 4642 4271 4728 4207 Dl 4642 3407 4728 3343 Dl (.)4637 4872 w 4650 3988 4714 4074 Dl 4650 3124 4714 3210 Dl (.)5004 4817 w 5016 3933 4933 3995 Dl 5016 3069 4933 3131 Dl (.)4976 5246 w 4988 4362 4926 4279 Dl 4988 3498 4926 3415 Dl (.)4547 5218 w 4559 4334 4642 4272 Dl 4559 3470 4642 3408 Dl (.)4575 4789 w 4587 3905 4649 3988 Dl 4587 3041 4649 3124 Dl (.)5085 4755 w 5096 3872 5016 3933 Dl 5096 3008 5016 3069 Dl (.)5038 5329 w 5049 4444 4988 4362 Dl 5049 3580 4988 3498 Dl (.)4464 5280 w 4477 4395 4559 4334 Dl 4477 3531 4559 3470 Dl (.)4513 4708 w 4526 3825 4587 3905 Dl 4526 2961 4587 3041 Dl (.)5172 4694 w 5183 3810 5097 3871 Dl 12 S f (\267)5157 2986 w 10 R f 5183 2946 5097 3007 Dl (.)5100 5411 w 5111 4526 5050 4445 Dl 12 S f (\267)5085 3703 w 10 R f 5111 3663 5050 3581 Dl (.)4383 5341 w 4394 4456 4476 4396 Dl 12 S f (\267)4368 3633 w 10 R f 4394 3592 4476 3532 Dl (.)4452 4622 w 4465 3738 4525 3824 Dl 12 S f (\267)4437 2914 w 10 R f 4465 2874 4525 2960 Dl 10 B f (Figure 1:)1 391 1 1976 5748 t 10 R f (Bodies moving under Newtonian attraction)4 1726 1 2417 5748 t ( column, called a)3 706( Each)1 257(Time marches across the pictures left to right, at roughly equal intervals.)11 2986 3 720 5868 t 10 I f (snapshot)4702 5868 w 10 R f (, depicts)1 342 1 5058 5868 t (three)720 5988 w 10 I f (views)948 5988 w 10 R f ( last few positions)3 734( top view gives the current position as a dot; the tail formed by the)14 2709( The)1 209(of the bodies.)2 549 4 1199 5988 t ( bottom view)2 530( The)1 206( each body as a line.)5 814( middle view renders the path of)6 1292( The)1 205(hints at the velocity and the acceleration.)6 1633 6 720 6108 t ( give close dots and high)5 1051(depicts the history of velocities by dots recorded at equal time intervals: low velocities)13 3629 2 720 6228 t (velocities leave the dots far apart.)5 1341 1 720 6348 t ( they have recently expe-)4 1010( the second snapshot)3 827( In)1 134(The first snapshot shows the bodies starting slowly, far apart.)9 2459 4 970 6504 t ( the bodies are again far apart, moving slowly)8 1827( the third snapshot)3 739( In)1 134(rienced a high-velocity encounter near the center.)6 1980 4 720 6624 t ( the fifth snapshot the large time-step of our simulation program)10 2594( In)1 136(toward another encounter in the fourth snapshot.)6 1950 3 720 6744 t (violates conservation of energy and sends the bodies racing away from each other.)12 3289 1 720 6864 t ( sixty-line C simulation program)4 1346( A)1 132( produced those pictures.)3 1028(This paper describes the animation system that)6 1924 4 970 7020 t (was augmented with eight)3 1076 1 720 7140 t 10 I f (printf)1831 7140 w 10 R f (statements to generate a)3 986 1 2089 7140 t 10 I f (script)3110 7140 w 10 R f ( in the)2 268(file describing the paths of the four bodies)7 1759 2 3373 7140 t ( file was processed by a program named)7 1653( That)1 240(three views.)1 489 3 720 7260 t 10 I f (stills)3134 7260 w 10 R f ( using)1 250(to produce the pictures above,)4 1228 2 3356 7260 t 10 I f (pic)4867 7260 w 10 R f (and)5022 7260 w 10 I f (troff)5199 7260 w 10 R f (;)5372 7260 w cleartomark showpage saveobj restore %%EndPage: 1 3 %%Page: 2 4 /saveobj save def mark 4 pagesetup 10 R f (- 2 -)2 166 1 2977 480 t ( program named)2 666( A)1 128( size and form.)3 611(we were able to control what frames were displayed, in what)10 2494 4 720 840 t 10 I f (movie)4650 840 w 10 R f (displays the)1 481 1 4919 840 t ( the viewer can control the speed of display, proceed for-)10 2284(same data on a Teletype 5620 terminal or an X workstation;)10 2396 2 720 960 t ( components can be)3 790( Those)1 294( layout to emphasize certain views.)5 1403(ward or backward through time, and change the screen)8 2193 4 720 1080 t (depicted as:)1 474 1 720 1200 t 2843 1362 2843 1542 Dl 3275 1362 2843 1362 Dl 3275 1542 3275 1362 Dl 2843 1542 3275 1542 Dl (generator)2871 1472 w 3059 1614 3059 1542 Dl 2843 1704 432 180 De (script)2948 1724 w 3500 1839 3212 1767 Dl 3284 1839 3284 2019 Dl 3716 1839 3284 1839 Dl 3716 2019 3716 1839 Dl 3284 2019 3716 2019 Dl (stills)3405 1949 w 3500 2091 3500 2019 Dl (pic)3214 2201 w 10 S f (\357)3361 2201 w 10 R f (troff)3435 2201 w 10 S f (\357)3637 2201 w 10 R f (...)3711 2201 w 2619 1839 2907 1767 Dl 2403 1839 2403 2019 Dl 2835 1839 2403 1839 Dl 2835 2019 2835 1839 Dl 2403 2019 2835 2019 Dl (movie)2494 1949 w 2619 2091 2619 2019 Dl (5620, X, ...)2 447 1 2396 2201 t ( produce animations)2 816( of those systems)3 692( Most)1 258(Several systems have been developed for algorithm animation [3].)8 2664 4 970 2505 t ( the)1 147( system is at)3 495( Our)1 206(of very high quality; unfortunately, they are expensive in both programmer time and CPU time.)14 3832 4 720 2625 t ( the spectrum: its output is primitive, but the system is easy to use; a new user can animate a simple)20 4058(opposite end of)2 622 2 720 2745 t ( our system was designed primarily with pro-)7 1868( Although)1 436( two by adding a few lines of code.)8 1464(program in an hour or)4 912 4 720 2865 t (gram animation in mind, the gravitational example shows that it can be useful in other domains as well.)17 4138 1 720 2985 t ( 3 through 5 describe the three pri-)7 1397( Sections)1 391( system by animating a sorting algorithm.)6 1676(Section 2 introduces the)3 966 4 970 3141 t (mary components of the system: script files,)6 1822 1 720 3261 t 10 I f (movie)2576 3261 w 10 R f (, and)1 203 1 2814 3261 t 10 I f (stills)3051 3261 w 10 R f ( of several larger)3 696( 6 describes the animation)4 1079(. Section)1 384 3 3241 3261 t (programs, and Section 7 discusses a few everyday matters about using the system.)12 3284 1 720 3381 t 10 B f ( Simple Example \320 Sorting)4 1190(2. A)1 197 2 720 3621 t 10 R f ( is dealt, it is inserted into its proper place)9 1761( each card)2 421( As)1 170(Insertion sort is the method most card players use.)8 2078 4 970 3777 t ( sort the array)3 608( To)1 181(among the existing cards.)3 1081 3 720 3897 t 10 I f (X)2634 3897 w 10 R f ([ 1..)1 141 1 2703 3897 t 10 I f (N)2852 3897 w 10 R f (], insertion sort maintains the sorted subset in)7 1949 1 2927 3897 t 10 I f (X)4920 3897 w 10 R f ([ 1..)1 141 1 4989 3897 t 10 I f (I)5138 3897 w 10 R f (] and)1 221 1 5179 3897 t (increases)720 4017 w 10 I f (I)1119 4017 w 10 R f (from 2 to)2 390 1 1186 4017 t 10 I f (N)1610 4017 w 10 R f ( subarray)1 377(. The)1 239 2 1677 4017 t 10 I f (X)2327 4017 w 10 R f ( first phase of the algorithm sifts)6 1353( The)1 214( is sorted by definition.)4 961([ 1.. 1 ])3 240 4 2396 4017 t 10 I f (X)5199 4017 w 10 R f ([ 2 ])2 132 1 5268 4017 t (down so that)2 511 1 720 4137 t 10 I f (X)1256 4137 w 10 R f ( is sorted, the second phase sifts)6 1279([ 1.. 2 ])3 240 2 1325 4137 t 10 I f (X)2869 4137 w 10 R f ( down so that)3 536([ 3 ])2 132 2 2938 4137 t 10 I f (X)3631 4137 w 10 R f ( is sorted, and so on.)5 819([ 1.. 3 ])3 240 2 3700 4137 t (Here is an implementation of insertion sort in)7 1818 1 970 4293 t 10 I f (awk)2813 4293 w 10 R f ([1]:)2999 4293 w 9 CW f (awk ')1 270 1 1008 4463 t ( numer of elements to generate and sort)7 2106( #)1 324(BEGIN { n = ARGV[1])4 1026 3 1008 4573 t (for \(i = 1; i <= n; i++\) x[i] = 1 + int\(25*rand\(\)\))12 2700 1 1440 4683 t (for \(i = 2; i <= n; i++\) {)8 1404 1 1440 4793 t (for \(j = i; j > 1 && x[j] < x[j-1]; j--\))11 2160 1 1872 4903 t (swap\(j-1, j\))1 648 1 2304 5013 t (show\(\))1872 5123 w (})1440 5233 w (})1008 5343 w ( {)1 108( t\))1 270(function swap\(i, j,)2 1026 3 1008 5453 t ( = t)2 216( x[j])1 324( = x[j];)2 432( x[i])1 324(t = x[i];)2 486 5 1440 5563 t (})1008 5673 w ( {)1 108( i\))1 216(function show\()1 756 3 1008 5783 t (for \(i = 1; i <= n; i++\))7 1296 1 1440 5893 t (printf\("%3d", x[i]\))1 1026 1 1872 6003 t (printf\("\\n"\))1440 6113 w (}' $*)1 270 1 1008 6223 t 10 R f (The first)1 344 1 720 6403 t 10 CW f (for)1092 6403 w 10 R f (statement sprinkles)1 772 1 1300 6403 t 10 CW f (x[1..n])2100 6403 w 10 R f ( and the second and third)5 1021( 25,)1 133( 1..)1 129(with random integers in the range)5 1360 4 2548 6403 t 10 CW f (for)5220 6403 w 10 R f ( function)1 365( The)1 212(statements perform the insertion sort.)4 1518 3 720 6523 t 10 CW f (swap)2847 6523 w 10 R f (exchanges array elements;)2 1066 1 3119 6523 t 10 CW f (show)4217 6523 w 10 R f (prints the current state)3 911 1 4489 6523 t (of the array.)2 484 1 720 6643 t (If we run this program with)5 1126 1 970 6799 t 10 CW f (n)2126 6799 w 10 R f ( of sorting a 7-element array of random inte-)8 1827(set to 7, we get this static display)7 1357 2 2216 6799 t (gers:)720 6919 w cleartomark showpage saveobj restore %%EndPage: 2 4 %%Page: 3 5 /saveobj save def mark 5 pagesetup 10 R f (- 3 -)2 166 1 2977 480 t 9 CW f ( 2 8 1)3 486(2 22 20 23)3 540 2 1116 830 t ( 2 8 1)3 486(2 20 22 23)3 540 2 1116 940 t ( 2 8 1)3 486(2 20 22 23)3 540 2 1116 1050 t ( 8 1)2 324( 20 22 23)3 486(2 2)1 216 3 1116 1160 t ( 1)1 162( 20 22 23)3 486(2 2 8)2 378 3 1116 1270 t ( 20 22 23)3 486(1 2 2 8)3 540 2 1116 1380 t 10 R f ( by adding a few more)5 940(The animation system provides an alternative:)5 1885 2 970 1596 t 10 CW f (print)3829 1596 w 10 R f (statements to the program, we)4 1237 1 4163 1596 t ( Furthermore,)1 579( system, thus providing a dynamic display of the sorting process.)10 2643(can produce input for the animation)5 1458 3 720 1716 t (we can use graphics as well as text, to give a more visual presentation of the algorithm.)16 3483 1 720 1836 t ( top view simply shows the numbers in the array as)10 2118( The)1 212( decided to present two views.)5 1244(For this example, we)3 856 4 970 1992 t ( vertical bar: ele-)3 693(they are sorted; it is essentially the same as the textual output above, except that we have added a)18 3987 2 720 2112 t ( bottom view is graphical: the value of each element is represented by)12 2861( The)1 211(ments to the left of the bar are in order.)9 1608 3 720 2232 t (the length of the corresponding vertical line.)6 1772 1 720 2352 t (These six snapshots show the state after each phase of the sorting algorithm:)12 3051 1 970 2508 t 900 2670 900 3102 Dl 1620 2670 900 2670 Dl 1620 3102 1620 2670 Dl 900 3102 1620 3102 Dl 900 3102 900 3534 Dl 1620 3102 900 3102 Dl 1620 3534 1620 3102 Dl 900 3534 1620 3534 Dl (phase: 1)1 330 1 1095 3662 t 6 R f (2)944 2898 w 10 R f 959 3467 959 3498 Dl 6 R f (22)1029 2898 w 10 R f 1059 3154 1059 3498 Dl 6 R f (20)1129 2898 w 10 R f 1159 3185 1159 3498 Dl 6 R f (23)1230 2898 w 10 R f 1260 3138 1260 3498 Dl 6 R f (2)1345 2898 w 10 R f 1360 3467 1360 3498 Dl 6 R f (8)1445 2898 w 10 R f 1460 3373 1460 3498 Dl 6 R f (1)1545 2898 w 10 R f 1560 3483 1560 3498 Dl 6 S f (\357)1089 2898 w 10 R f 1620 2670 1620 3102 Dl 2340 2670 1620 2670 Dl 2340 3102 2340 2670 Dl 1620 3102 2340 3102 Dl 1620 3102 1620 3534 Dl 2340 3102 1620 3102 Dl 2340 3534 2340 3102 Dl 1620 3534 2340 3534 Dl (phase: 2)1 330 1 1815 3662 t 6 R f (2)1664 2898 w 10 R f 1679 3467 1679 3498 Dl 6 R f (20)1749 2898 w 10 R f 1779 3185 1779 3498 Dl 6 R f (22)1849 2898 w 10 R f 1879 3154 1879 3498 Dl 6 R f (23)1950 2898 w 10 R f 1980 3138 1980 3498 Dl 6 R f (2)2065 2898 w 10 R f 2080 3467 2080 3498 Dl 6 R f (8)2165 2898 w 10 R f 2180 3373 2180 3498 Dl 6 R f (1)2265 2898 w 10 R f 2280 3483 2280 3498 Dl 6 S f (\357)1909 2898 w 10 R f 2340 2670 2340 3102 Dl 3060 2670 2340 2670 Dl 3060 3102 3060 2670 Dl 2340 3102 3060 3102 Dl 2340 3102 2340 3534 Dl 3060 3102 2340 3102 Dl 3060 3534 3060 3102 Dl 2340 3534 3060 3534 Dl (phase: 3)1 330 1 2535 3662 t 6 R f (2)2384 2898 w 10 R f 2399 3467 2399 3498 Dl 6 R f (20)2469 2898 w 10 R f 2499 3185 2499 3498 Dl 6 R f (22)2569 2898 w 10 R f 2599 3154 2599 3498 Dl 6 R f (23)2670 2898 w 10 R f 2700 3138 2700 3498 Dl 6 R f (2)2785 2898 w 10 R f 2800 3467 2800 3498 Dl 6 R f (8)2885 2898 w 10 R f 2900 3373 2900 3498 Dl 6 R f (1)2985 2898 w 10 R f 3000 3483 3000 3498 Dl 6 S f (\357)2730 2898 w 10 R f 3060 2670 3060 3102 Dl 3780 2670 3060 2670 Dl 3780 3102 3780 2670 Dl 3060 3102 3780 3102 Dl 3060 3102 3060 3534 Dl 3780 3102 3060 3102 Dl 3780 3534 3780 3102 Dl 3060 3534 3780 3534 Dl (phase: 4)1 330 1 3255 3662 t 6 R f (2)3104 2898 w 10 R f 3119 3467 3119 3498 Dl 6 R f (2)3204 2898 w 10 R f 3219 3467 3219 3498 Dl 6 R f (20)3289 2898 w 10 R f 3319 3185 3319 3498 Dl 6 R f (22)3390 2898 w 10 R f 3420 3154 3420 3498 Dl 6 R f (23)3490 2898 w 10 R f 3520 3138 3520 3498 Dl 6 R f (8)3605 2898 w 10 R f 3620 3373 3620 3498 Dl 6 R f (1)3705 2898 w 10 R f 3720 3483 3720 3498 Dl 6 S f (\357)3550 2898 w 10 R f 3780 2670 3780 3102 Dl 4500 2670 3780 2670 Dl 4500 3102 4500 2670 Dl 3780 3102 4500 3102 Dl 3780 3102 3780 3534 Dl 4500 3102 3780 3102 Dl 4500 3534 4500 3102 Dl 3780 3534 4500 3534 Dl (phase: 5)1 330 1 3975 3662 t 6 R f (2)3824 2898 w 10 R f 3839 3467 3839 3498 Dl 6 R f (2)3924 2898 w 10 R f 3939 3467 3939 3498 Dl 6 R f (8)4024 2898 w 10 R f 4039 3373 4039 3498 Dl 6 R f (20)4110 2898 w 10 R f 4140 3185 4140 3498 Dl 6 R f (22)4210 2898 w 10 R f 4240 3154 4240 3498 Dl 6 R f (23)4310 2898 w 10 R f 4340 3138 4340 3498 Dl 6 R f (1)4425 2898 w 10 R f 4440 3483 4440 3498 Dl 6 S f (\357)4370 2898 w 10 R f 4500 2670 4500 3102 Dl 5220 2670 4500 2670 Dl 5220 3102 5220 2670 Dl 4500 3102 5220 3102 Dl 4500 3102 4500 3534 Dl 5220 3102 4500 3102 Dl 5220 3534 5220 3102 Dl 4500 3534 5220 3534 Dl (phase: 6)1 330 1 4695 3662 t 6 R f (23)5130 2898 w 10 R f 5160 3138 5160 3498 Dl 6 R f (22)5030 2898 w 10 R f 5060 3154 5060 3498 Dl 6 R f (20)4930 2898 w 10 R f 4960 3185 4960 3498 Dl 6 R f (8)4845 2898 w 10 R f 4860 3373 4860 3498 Dl 6 R f (2)4744 2898 w 10 R f 4759 3467 4759 3498 Dl 6 R f (1)4544 2898 w 10 R f 4559 3483 4559 3498 Dl 6 R f (2)4644 2898 w 10 R f 4659 3467 4659 3498 Dl 6 S f (\357)5190 2898 w 10 R f ( textual nature)2 577( The)1 208( tasks.)1 253(Although the two views represent the same information, they are useful for different)12 3392 4 970 3876 t ( is easier for novices to follow, and the complete information is handy for debugging small examples.)16 4072(of the top view)3 608 2 720 3996 t (The more visual bottom view is better for displaying large sorts.)10 2567 1 720 4116 t 10 I f (The Program.)1 561 1 720 4392 t 10 R f (Here is the complete)3 823 1 970 4548 t 10 I f (awk)1818 4548 w 10 R f (program)2004 4548 w 10 CW f (is.gen)2367 4548 w 10 R f (that generated the animation depicted above.)5 1785 1 2752 4548 t cleartomark showpage saveobj restore %%EndPage: 3 5 %%Page: 4 6 /saveobj save def mark 6 pagesetup 10 R f (- 4 -)2 166 1 2977 480 t 9 CW f (awk ')1 270 1 1008 830 t ( number of elements to sort)5 1458( #)1 324(BEGIN { n = ARGV[1])4 1026 3 1008 940 t (for \(i = 1; i <= n; i++\) x[i] = 1 + int\(25*rand\(\)\))12 2700 1 1440 1050 t (for \(i = 1; i <= n; i++\) draw\(i\))8 1728 1 1440 1160 t (for \(i = 2; i <= n; i++\) {)8 1404 1 1440 1270 t (for \(j = i; j > 1 && less\(j, j-1\); j--\))10 2106 1 1656 1380 t (swap\(j-1, j\))1 648 1 1872 1490 t (print "view text")2 918 1 1656 1600 t ( |\\"")1 324(print "bar: text ljust", i, 1, "\\")6 1836 2 1656 1710 t (print "click phase")2 1026 1 1656 1820 t (})1440 1930 w (})1008 2040 w ( {)1 162(function draw\(i\))1 864 2 1008 2150 t (print "view text")2 918 1 1440 2260 t (print "a" i ": text", i, 1, x[i])7 1728 1 1440 2370 t (print "view geom")2 918 1 1440 2480 t (print "a" i ": line", i, 0, i, x[i])8 1890 1 1440 2590 t (})1008 2700 w ( {)1 108( t\))1 270(function swap\(i, j,)2 1026 3 1008 2810 t ( = t)2 216( x[j])1 324( = x[j];)2 432( x[i])1 324(t = x[i];)2 486 5 1440 2920 t (draw\(i\); draw\(j\))1 864 1 1440 3030 t (print "click swap")2 972 1 1440 3140 t (})1008 3250 w (function less\(i, j\) {)3 1134 1 1008 3360 t (print "click comp")2 972 1 1440 3470 t (if \(x[i] < x[j]\) return 1; else return 0)8 2160 1 1440 3580 t (}' $*)1 270 1 1008 3690 t 10 R f ( but we have added the functions)6 1338(It is very similar to the first version,)7 1459 2 720 3870 t 10 CW f (less)3546 3870 w 10 R f (to make comparisons and)3 1030 1 3815 3870 t 10 CW f (draw)4874 3870 w 10 R f (to dis-)1 257 1 5143 3870 t (play elements, as well as several)5 1347 1 720 3990 t 10 CW f (print)2102 3990 w 10 R f ( sorting functions,)2 743( addition to performing their)4 1178(statements. In)1 590 3 2437 3990 t 10 CW f (less)4982 3990 w 10 R f (and)5256 3990 w 10 CW f (swap)720 4110 w 10 R f ( input to)2 336(record their actions by printing output into a script file that will serve as)13 2872 2 985 4110 t 10 I f (movie)4219 4110 w 10 R f (and)4483 4110 w 10 I f (stills)4653 4110 w 10 R f ( anima-)1 303(. This)1 254 2 4843 4110 t (tion uses four commands:)3 1030 1 720 4230 t 10 CW f (line)1775 4230 w 10 R f (,)2015 4230 w 10 CW f (text)2065 4230 w 10 R f (,)2305 4230 w 10 CW f (view)2355 4230 w 10 R f (and)2620 4230 w 10 CW f (click)2789 4230 w 10 R f (.)3089 4230 w (A line from \()3 524 1 970 4386 t 10 I f (x)1502 4386 w 7 R f (1)1557 4406 w 10 R f (,)1608 4386 w 10 I f (y)1641 4386 w 7 R f (1)1696 4406 w 10 R f (\) to \()2 194 1 1747 4386 t 10 I f (x)1949 4386 w 7 R f (2)2004 4406 w 10 R f (,)2055 4386 w 10 I f (y)2088 4386 w 7 R f (2)2143 4406 w 10 R f (\) is drawn by a command of the form)8 1486 1 2194 4386 t 9 I f (optional)1008 4556 w 9 S f (_)1315 4556 w 9 I f (label)1367 4556 w 9 R f (:)1554 4556 w 9 CW f (line)1633 4556 w 9 I f (x)1903 4556 w 6 R f (1)1953 4574 w 9 I f (y)2044 4556 w 6 R f (1)2094 4574 w 9 I f (x)2185 4556 w 6 R f (2)2235 4574 w 9 I f (y)2326 4556 w 6 R f (2)2376 4574 w 10 R f (\(Throughout this paper, literals are shown in)6 1820 1 720 4736 t 10 CW f (typewriter)2572 4736 w 10 R f ( are in)2 265(font and categories)2 773 2 3204 4736 t 10 I f (italics)4275 4736 w 10 R f ( coordinates of)2 609(.\) The)1 271 2 4520 4736 t ( a)1 74( When)1 293( label on a line is optional.)6 1088( The)1 210( will scale them appropriately.)4 1232(the line can lie in any range; later programs)8 1783 6 720 4856 t ( for all lines that have the same label,)8 1497( Thus)1 251(labeled object is drawn the object that previously had that label is erased.)12 2932 3 720 4976 t ( is also an explicit)4 722( \(There)1 315(the act of drawing one line erases its predecessor.)8 1975 3 720 5096 t 10 CW f (erase)3757 5096 w 10 R f (command.\))4082 5096 w (Text is produced at \()4 826 1 970 5252 t 10 I f (x)1804 5252 w 10 R f (,)1856 5252 w 10 I f (y)1889 5252 w 10 R f (\) by a command of the form)6 1120 1 1941 5252 t 9 I f (optional)1008 5422 w 9 S f (_)1315 5422 w 9 I f (label)1367 5422 w 9 R f (:)1554 5422 w 9 CW f (text)1633 5422 w 9 I f (x y anything at all)4 776 1 1903 5422 t 10 R f ( example,)1 393( For)1 194( of a label erases whatever object previously had that label.)10 2408(As with lines, labels are permitted; re-use)6 1685 4 720 5602 t (the vertical bar is always printed with the label)8 1869 1 720 5722 t 10 CW f (bar)2614 5722 w 10 R f (, so each bar erases the previous one.)7 1476 1 2794 5722 t (The)970 5878 w 10 CW f (view)1150 5878 w 10 R f ( are two views here,)4 800( There)1 282(command is used to place output in a particular view.)9 2136 3 1415 5878 t 10 CW f (text)4658 5878 w 10 R f (and)4923 5878 w 10 CW f (geom)5092 5878 w 10 R f (:)5332 5878 w 9 CW f (view text)1 486 1 1008 6048 t (view geom)1 486 1 1008 6158 t 10 R f (The)720 6338 w 10 CW f (draw)903 6338 w 10 R f (function draws text in the)4 1037 1 1172 6338 t 10 CW f (text)2238 6338 w 10 R f (view and lines in the)4 843 1 2507 6338 t 10 CW f (geom)3379 6338 w 10 R f (view, relying on implicit erasure to remove)6 1752 1 3648 6338 t ( are independent, so a label like)6 1309( views)1 267( Different)1 424(the previous object before creating a new one.)7 1902 4 720 6458 t 10 CW f (a1)4655 6458 w 10 R f (can be used in)3 592 1 4808 6458 t (several views without interference.)3 1396 1 720 6578 t (Interesting events are marked by the)5 1449 1 970 6734 t 10 CW f (click)2444 6734 w 10 R f (command:)2769 6734 w 9 CW f (click swap)1 540 1 1008 6904 t (click comp)1 540 1 1008 7014 t (click phase)1 594 1 1008 7124 t 10 I f (Stills)720 7304 w 10 R f (and)946 7304 w 10 I f (movie)1115 7304 w 10 R f (can refer to each click with this mechanism, as we will see in more detail shortly.)15 3247 1 1378 7304 t cleartomark showpage saveobj restore %%EndPage: 4 6 %%Page: 5 7 /saveobj save def mark 7 pagesetup 10 R f (- 5 -)2 166 1 2977 480 t (Labels, view names and click names are arbitrary and unrelated to one another.)12 3158 1 970 840 t 10 I f (The Script File.)2 625 1 720 1116 t 10 R f (Executing the command)2 971 1 970 1272 t 9 CW f (is.gen 3 >is1.s)2 810 1 1008 1442 t 10 R f (produces the script file)3 915 1 720 1622 t 10 CW f (is1.s)1661 1622 w 10 R f ( basename)1 419( The)1 206(containing a sort of three elements.)5 1408 3 1987 1622 t 10 CW f (is1)4046 1622 w 10 R f ( sort 1''; the)3 497(is for ``insertion)2 651 2 4252 1622 t (suffix)720 1742 w 10 CW f (.s)995 1742 w 10 R f ( is)1 108( Here)1 259( is required by the animation system.)6 1570(identifies it as a script file and)6 1306 4 1157 1742 t 10 CW f (is1.s)4441 1742 w 10 R f (, printed in two)3 659 1 4741 1742 t (columns to save space:)3 918 1 720 1862 t 8 CW f ( line 2 0 2 22)5 672( a2:)1 1872(view text)1 432 3 1008 2002 t ( swap)1 240( click)1 1680(a1: text 1 1 22)4 720 3 1008 2082 t ( text)1 240( view)1 1920(view geom)1 432 3 1008 2162 t ( |")1 192( text ljust 2 1 ")5 816( bar:)1 1536(a1: line 1 0 1 22)5 816 4 1008 2242 t ( phase)1 288( click)1 1968(view text)1 432 3 1008 2322 t ( comp)1 240( click)1 1728(a2: text 2 1 2)4 672 3 1008 2402 t ( text)1 240( view)1 1920(view geom)1 432 3 1008 2482 t ( text 2 1 20)4 576( a2:)1 1536(a2: line 2 0 2 2)5 768 3 1008 2562 t ( geom)1 240( view)1 1920(view text)1 432 3 1008 2642 t ( line 2 0 2 20)5 672( a2:)1 1584(a3: text 3 1 20)4 720 3 1008 2722 t ( text)1 240( view)1 1920(view geom)1 432 3 1008 2802 t ( text 3 1 22)4 576( a3:)1 1488(a3: line 3 0 3 20)5 816 3 1008 2882 t ( geom)1 240( view)1 1872(click comp)1 480 3 1008 2962 t ( line 3 0 3 22)5 672( a3:)1 1872(view text)1 432 3 1008 3042 t ( swap)1 240( click)1 1728(a1: text 1 1 2)4 672 3 1008 3122 t ( comp)1 240( click)1 1968(view geom)1 432 3 1008 3202 t ( text)1 240( view)1 1584(a1: line 1 0 1 2)5 768 3 1008 3282 t ( |")1 192( text ljust 3 1 ")5 816( bar:)1 1920(view text)1 432 4 1008 3362 t ( phase)1 288( click)1 1680(a2: text 2 1 22)4 720 3 1008 3442 t (view geom)1 432 1 1008 3522 t 10 R f (Here is a picture of all clicks in the script file)10 1802 1 970 3858 t 10 CW f (is1.s)2797 3858 w 10 R f (, produced by)2 546 1 3097 3858 t 10 I f (stills)3668 3858 w 10 R f (.)3858 3858 w 918 4020 918 4380 Dl 1530 4020 918 4020 Dl 1530 4380 1530 4020 Dl 918 4380 1530 4380 Dl 918 4380 918 4740 Dl 1530 4380 918 4380 Dl 1530 4740 1530 4380 Dl 918 4740 1530 4740 Dl (comp: 1)1 325 1 1062 4868 t (22)961 4220 w 1011 4435 1011 4685 Dl (2)1199 4220 w 1224 4662 1224 4685 Dl (20)1386 4220 w 1436 4458 1436 4685 Dl 1530 4020 1530 4380 Dl 2142 4020 1530 4020 Dl 2142 4380 2142 4020 Dl 1530 4380 2142 4380 Dl 1530 4380 1530 4740 Dl 2142 4380 1530 4380 Dl 2142 4740 2142 4380 Dl 1530 4740 2142 4740 Dl (swap: 1)1 308 1 1682 4868 t (22)1786 4220 w 1836 4435 1836 4685 Dl (20)1998 4220 w 2048 4458 2048 4685 Dl (2)1598 4220 w 1623 4662 1623 4685 Dl 2142 4020 2142 4380 Dl 2754 4020 2142 4020 Dl 2754 4380 2754 4020 Dl 2142 4380 2754 4380 Dl 2142 4380 2142 4740 Dl 2754 4380 2142 4380 Dl 2754 4740 2754 4380 Dl 2142 4740 2754 4740 Dl (phase: 1)1 330 1 2283 4868 t 10 S f (\357)2498 4220 w 10 R f (22)2398 4220 w 2448 4435 2448 4685 Dl (20)2610 4220 w 2660 4458 2660 4685 Dl (2)2210 4220 w 2235 4662 2235 4685 Dl 2754 4020 2754 4380 Dl 3366 4020 2754 4020 Dl 3366 4380 3366 4020 Dl 2754 4380 3366 4380 Dl 2754 4380 2754 4740 Dl 3366 4380 2754 4380 Dl 3366 4740 3366 4380 Dl 2754 4740 3366 4740 Dl (comp: 2)1 325 1 2898 4868 t 10 S f (\357)3110 4220 w 10 R f (22)3010 4220 w 3060 4435 3060 4685 Dl (20)3222 4220 w 3272 4458 3272 4685 Dl (2)2822 4220 w 2847 4662 2847 4685 Dl 3366 4020 3366 4380 Dl 3978 4020 3366 4020 Dl 3978 4380 3978 4020 Dl 3366 4380 3978 4380 Dl 3366 4380 3366 4740 Dl 3978 4380 3366 4380 Dl 3978 4740 3978 4380 Dl 3366 4740 3978 4740 Dl (swap: 2)1 308 1 3518 4868 t 10 S f (\357)3722 4220 w 10 R f (2)3434 4220 w 3459 4662 3459 4685 Dl (20)3622 4220 w 3672 4458 3672 4685 Dl (22)3834 4220 w 3884 4435 3884 4685 Dl 3978 4020 3978 4380 Dl 4590 4020 3978 4020 Dl 4590 4380 4590 4020 Dl 3978 4380 4590 4380 Dl 3978 4380 3978 4740 Dl 4590 4380 3978 4380 Dl 4590 4740 4590 4380 Dl 3978 4740 4590 4740 Dl (comp: 3)1 325 1 4122 4868 t 10 S f (\357)4334 4220 w 10 R f (2)4046 4220 w 4071 4662 4071 4685 Dl (20)4234 4220 w 4284 4458 4284 4685 Dl (22)4446 4220 w 4496 4435 4496 4685 Dl 4590 4020 4590 4380 Dl 5202 4020 4590 4020 Dl 5202 4380 5202 4020 Dl 4590 4380 5202 4380 Dl 4590 4380 4590 4740 Dl 5202 4380 4590 4380 Dl 5202 4740 5202 4380 Dl 4590 4740 5202 4740 Dl (phase: 2)1 330 1 4731 4868 t (2)4658 4220 w 4683 4662 4683 4685 Dl (20)4846 4220 w 4896 4458 4896 4685 Dl (22)5058 4220 w 5108 4435 5108 4685 Dl 10 S f (\357)5158 4220 w 10 R f ( views of the current state are depicted in a snapshot at each)12 2388( Both)1 245(As before, time goes from left to right.)7 1545 3 720 5046 t 10 CW f (click)4924 5046 w 10 R f (; the)1 176 1 5224 5046 t ( detailed picture illustrates the animation sys-)6 1857( This)1 235( and number of the click.)5 1033(label below each frame tells the name)6 1555 4 720 5166 t (tem; here is a sparser picture that illustrates insertion sort on a 14-element array:)13 3208 1 720 5286 t 900 5448 900 5952 Dl 1980 5448 900 5448 Dl 1980 5952 1980 5448 Dl 900 5952 1980 5952 Dl 900 5952 900 6456 Dl 1980 5952 900 5952 Dl 1980 6456 1980 5952 Dl 900 6456 1980 6456 Dl (phase: 1)1 330 1 1275 6584 t 5 R f (2)936 5710 w 10 R f 948 6394 948 6432 Dl 5 R f (22)999 5710 w 10 R f 1024 6013 1024 6432 Dl 5 R f (20)1075 5710 w 10 R f 1100 6051 1100 6432 Dl 5 R f (23)1150 5710 w 10 R f 1175 5993 1175 6432 Dl 5 R f (2)1239 5710 w 10 R f 1251 6394 1251 6432 Dl 5 R f (8)1314 5710 w 10 R f 1326 6280 1326 6432 Dl 5 R f (1)1389 5710 w 10 R f 1401 6414 1401 6432 Dl 5 R f (11)1452 5710 w 10 R f 1477 6223 1477 6432 Dl 5 R f (1)1541 5710 w 10 R f 1553 6414 1553 6432 Dl 5 R f (7)1615 5710 w 10 R f 1627 6299 1627 6432 Dl 5 R f (24)1681 5710 w 10 R f 1706 5975 1706 6432 Dl 5 R f (5)1766 5710 w 10 R f 1778 6337 1778 6432 Dl 5 R f (1)1845 5710 w 10 R f 1857 6414 1857 6432 Dl 5 R f (12)1904 5710 w 10 R f 1929 6204 1929 6432 Dl 5 S f (\357)1050 5710 w 10 R f 1980 5448 1980 5952 Dl 3060 5448 1980 5448 Dl 3060 5952 3060 5448 Dl 1980 5952 3060 5952 Dl 1980 5952 1980 6456 Dl 3060 5952 1980 5952 Dl 3060 6456 3060 5952 Dl 1980 6456 3060 6456 Dl (phase: 5)1 330 1 2355 6584 t 5 R f (2)2016 5710 w 10 R f 2028 6394 2028 6432 Dl 5 R f (2)2092 5710 w 10 R f 2104 6394 2104 6432 Dl 5 R f (8)2168 5710 w 10 R f 2180 6280 2180 6432 Dl 5 R f (20)2230 5710 w 10 R f 2255 6051 2255 6432 Dl 5 R f (22)2306 5710 w 10 R f 2331 6013 2331 6432 Dl 5 R f (23)2381 5710 w 10 R f 2406 5993 2406 6432 Dl 5 R f (1)2469 5710 w 10 R f 2481 6414 2481 6432 Dl 5 R f (11)2532 5710 w 10 R f 2557 6223 2557 6432 Dl 5 R f (1)2621 5710 w 10 R f 2633 6414 2633 6432 Dl 5 R f (7)2695 5710 w 10 R f 2707 6299 2707 6432 Dl 5 R f (24)2761 5710 w 10 R f 2786 5975 2786 6432 Dl 5 R f (5)2846 5710 w 10 R f 2858 6337 2858 6432 Dl 5 R f (1)2925 5710 w 10 R f 2937 6414 2937 6432 Dl 5 R f (12)2984 5710 w 10 R f 3009 6204 3009 6432 Dl 5 S f (\357)2432 5710 w 10 R f 3060 5448 3060 5952 Dl 4140 5448 3060 5448 Dl 4140 5952 4140 5448 Dl 3060 5952 4140 5952 Dl 3060 5952 3060 6456 Dl 4140 5952 3060 5952 Dl 4140 6456 4140 5952 Dl 3060 6456 4140 6456 Dl (phase: 9)1 330 1 3435 6584 t 5 R f (2)3248 5710 w 10 R f 3260 6394 3260 6432 Dl 5 R f (2)3323 5710 w 10 R f 3335 6394 3335 6432 Dl 5 R f (7)3399 5710 w 10 R f 3411 6299 3411 6432 Dl 5 R f (8)3474 5710 w 10 R f 3486 6280 3486 6432 Dl 5 R f (11)3536 5710 w 10 R f 3561 6223 3561 6432 Dl 5 R f (20)3612 5710 w 10 R f 3637 6051 3637 6432 Dl 5 R f (22)3688 5710 w 10 R f 3713 6013 3713 6432 Dl 5 R f (23)3762 5710 w 10 R f 3787 5993 3787 6432 Dl 5 R f (24)3841 5710 w 10 R f 3866 5975 3866 6432 Dl 5 R f (5)3926 5710 w 10 R f 3938 6337 3938 6432 Dl 5 R f (1)4005 5710 w 10 R f 4017 6414 4017 6432 Dl 5 R f (12)4064 5710 w 10 R f 4089 6204 4089 6432 Dl 5 S f (\357)3813 5710 w 5 R f (1)3096 5710 w 10 R f 3108 6414 3108 6432 Dl 5 R f (1)3172 5710 w 10 R f 3184 6414 3184 6432 Dl 4140 5448 4140 5952 Dl 5220 5448 4140 5448 Dl 5220 5952 5220 5448 Dl 4140 5952 5220 5952 Dl 4140 5952 4140 6456 Dl 5220 5952 4140 5952 Dl 5220 6456 5220 5952 Dl 4140 6456 5220 6456 Dl (phase: 13)1 380 1 4490 6584 t 5 R f (1)4176 5710 w 10 R f 4188 6414 4188 6432 Dl 5 R f (1)4252 5710 w 10 R f 4264 6414 4264 6432 Dl 5 R f (11)4768 5710 w 10 R f 4793 6223 4793 6432 Dl 5 R f (8)4705 5710 w 10 R f 4717 6280 4717 6432 Dl 5 R f (7)4629 5710 w 10 R f 4641 6299 4641 6432 Dl 5 R f (5)4554 5710 w 10 R f 4566 6337 4566 6432 Dl 5 R f (2)4479 5710 w 10 R f 4491 6394 4491 6432 Dl 5 R f (1)4328 5710 w 10 R f 4340 6414 4340 6432 Dl 5 R f (2)4403 5710 w 10 R f 4415 6394 4415 6432 Dl 5 R f (24)5144 5710 w 10 R f 5169 5975 5169 6432 Dl 5 R f (23)5072 5710 w 10 R f 5097 5993 5097 6432 Dl 5 R f (22)4993 5710 w 10 R f 5018 6013 5018 6432 Dl 5 R f (12)4842 5710 w 10 R f 4867 6204 4867 6432 Dl 5 R f (20)4921 5710 w 10 R f 4946 6051 4946 6432 Dl 5 S f (\357)5195 5710 w 10 I f (Making Stills.)1 556 1 720 6918 t 10 R f (The last picture was included in this document by this)9 2157 1 970 7074 t 10 I f (stills)3152 7074 w 10 R f (description:)3367 7074 w cleartomark showpage saveobj restore %%EndPage: 5 7 %%Page: 6 8 /saveobj save def mark 8 pagesetup 10 R f (- 6 -)2 166 1 2977 480 t 9 CW f (.begin stills)1 702 1 1008 830 t ( no title on text view)5 1188( #)1 702(view text "")2 648 3 1008 940 t ( on geometry view)3 918( or)1 324( #)1 702(view geom "")2 648 4 1008 1050 t ( print these clicks of phase)5 1512( #)1 270(print phase 1 5 9 13)5 1080 3 1008 1160 t ( name of script file)4 1080( #)1 810(file is2.s)1 540 3 1008 1270 t ( height of frame in inches)5 1404( #)1 756(frameht 0.7)1 594 3 1008 1380 t ( width of frame)3 810( #)1 702(framewid 1.5)1 648 3 1008 1490 t ( size down 5 points for medium text)7 1890( #)1 864(medium -5)1 486 3 1008 1600 t (.end)1008 1710 w 10 R f ( lines)1 217(The description is delimited by the)5 1401 2 720 1890 t 10 CW f (.begin stills)1 783 1 2366 1890 t 10 R f (and)3177 1890 w 10 CW f (.end)3349 1890 w 10 R f (\(which correspond, for instance, to)4 1403 1 3617 1890 t 10 CW f (.EQ)5048 1890 w 10 R f (and)5256 1890 w 10 CW f (.EN)720 2010 w 10 R f (in)927 2010 w 10 CW f (eqn)1032 2010 w 10 R f (or)1239 2010 w 10 CW f (.TS)1348 2010 w 10 R f (and)1554 2010 w 10 CW f (.TE)1724 2010 w 10 R f (in)1930 2010 w 10 CW f (tbl)2034 2010 w 10 R f ( following the sharp character)4 1195(\). Text)1 292 2 2214 2010 t 10 CW f (#)3727 2010 w 10 R f ( The)1 206(is a comment to be ignored.)5 1115 2 3813 2010 t 10 CW f (view)5160 2010 w 10 R f ( The)1 208(statements specify the empty string as the title for both views of the data.)13 2958 2 720 2130 t 10 CW f (print)3914 2130 w 10 R f (statement displays snapshots)2 1158 1 4242 2130 t (at the requested)2 626 1 720 2250 t 10 CW f (click)1371 2250 w 10 R f (s of)1 147 1 1671 2250 t 10 CW f (phase)1843 2250 w 10 R f (.)2143 2250 w (The last four statements are parameter assignments of the form)9 2514 1 970 2406 t 9 I f (parameter)1008 2576 w 9 S f (_)1390 2576 w 9 I f (name value)1 552 1 1442 2576 t 10 R f (Assignment to the)2 742 1 720 2756 t 10 CW f (file)1494 2756 w 10 R f ( the height)2 438( next two assignments set)4 1050( The)1 212(parameter names the script file to be displayed.)7 1934 4 1766 2756 t (and width of frames, and the final statement causes)8 2075 1 720 2876 t 10 CW f (medium)2824 2876 w 10 R f (text \(the default text size\) to be set five points smaller)10 2187 1 3213 2876 t (than the current)2 626 1 720 2996 t 10 I f (troff)1371 2996 w 10 R f (point size.)1 411 1 1569 2996 t 10 I f (Viewing A Movie.)2 713 1 720 3272 t 10 R f (To watch a movie on the 5620, make a window of suitable size and shape and in it type the command)20 4058 1 970 3428 t 9 CW f (is.gen 20 | movie)3 918 1 1008 3598 t 10 R f (If you want to access the script later, type instead)9 1968 1 720 3778 t 9 CW f (is.gen 20 >is.s)2 810 1 1008 3948 t (movie is.s)1 540 1 1008 4058 t 10 R f (After a pause to run)4 824 1 720 4238 t 10 CW f (is.gen)1577 4238 w 10 R f (\(about 15 seconds on a VAX)5 1196 1 1970 4238 t 10 S f (\324)3166 4238 w 10 R f ( the 5620 down-loading procedure)4 1411(-750 in this case\),)3 734 2 3255 4238 t ( this is finished)3 624( When)1 294(will begin; after that \(another 30 seconds\), the data for the movie itself will begin to appear.)16 3762 3 720 4358 t (\(also about 30 seconds\), a message about the number of bytes sent \(about 9500\) appears in the upper left corner.)19 4482 1 720 4478 t ( has 9)2 251( It)1 120( 3 is the main control.)5 917( Button)1 332( to redisplay the movie.)4 977(At this point, the mouse buttons can be used)8 1833 6 970 4634 t (menu items:)1 492 1 720 4754 t 9 CW f (again)1008 4924 w (faster 1)1 432 1 1008 5034 t (slower 1)1 432 1 1008 5144 t (1 step)1 324 1 1008 5254 t (backward)1008 5364 w (fatter 1)1 432 1 1008 5474 t (thinner 1)1 486 1 1008 5584 t (or mode)1 378 1 1008 5694 t (new file)1 432 1 1008 5804 t (Quit?)1008 5914 w 10 R f (To play the movie again, select)5 1283 1 720 6094 t 10 CW f (again)2035 6094 w 10 R f ( can stop it at any)5 742( You)1 230( 6 seconds at full speed.\))5 1027( movie takes about)3 773(. \(This)1 293 5 2335 6094 t ( slow the display, select)4 1000( To)1 173( it.)1 118(point by pushing any button; a further push of button 1 continues)11 2745 4 720 6214 t 10 CW f (slower)4793 6214 w 10 R f (; each)1 247 1 5153 6214 t ( three selections the menu reads)5 1272( After)1 260(selection halves the speed by increasing a wait interval by a factor of two.)13 2949 3 720 6334 t 9 CW f (again)1008 6504 w (faster 8)1 432 1 1008 6614 t (slower 8)1 432 1 1008 6724 t (...)1008 6834 w 10 R f (Try selecting)1 524 1 720 7014 t 10 CW f (again)1269 7014 w 10 R f (to see the sort once at this speed, then select)9 1758 1 1594 7014 t 10 CW f (faster)3377 7014 w 10 R f (three times to get back to full speed.)7 1448 1 3762 7014 t (The items labeled)2 726 1 970 7170 t 10 CW f (fatter)1729 7170 w 10 R f (and)2122 7170 w 10 CW f (thinner)2299 7170 w 10 R f ( Selecting)1 431( an analogous manner.)3 925(control the thickness of lines in)5 1292 3 2752 7170 t 10 CW f (fatter)720 7290 w 10 R f (several times results in obese lines; you may return things to normal with)12 2926 1 1105 7290 t 10 CW f (thinner)4056 7290 w 10 R f (.)4476 7290 w cleartomark showpage saveobj restore %%EndPage: 6 8 %%Page: 7 9 /saveobj save def mark 9 pagesetup 10 R f (- 7 -)2 166 1 2977 480 t (Three menu items control binary mode settings:)6 1933 1 970 840 t 10 CW f (1 step)1 328 1 2931 840 t 10 R f (or)3287 840 w 10 CW f (run)3398 840 w 10 R f (;)3578 840 w 10 CW f (backward)3634 840 w 10 R f (or)4142 840 w 10 CW f (forward)4253 840 w 10 R f (; and)1 200 1 4673 840 t 10 CW f (or mode)1 388 1 4901 840 t 10 R f (or)5317 840 w 10 CW f (xor mode)1 445 1 720 960 t 10 R f ( each, the label indicates the next state, not the current state.)11 2395(. For)1 214 2 1165 960 t ( menu item labeled)3 784( The)1 212(Normally the movie is played from beginning to end without pause.)10 2782 3 970 1116 t 10 CW f (1 step)1 332 1 4780 1116 t 10 R f (puts it)1 256 1 5144 1116 t ( allows you to inspect the sort a)7 1305( This)1 234( where it displays only one ``step'' each time button 1 is pushed.)12 2655(into a mode)2 486 4 720 1236 t ( item changes to)3 652( This)1 228(frame at a time.)3 626 3 720 1356 t 10 CW f (run)2251 1356 w 10 R f (when)2456 1356 w 10 CW f (1 step)1 325 1 2697 1356 t 10 R f (has been selected so you can revert to continuous action.)9 2262 1 3047 1356 t (The)970 1512 w 10 CW f (backward)1165 1512 w 10 R f (item causes the steps to be taken in reverse order \(time runs backwards\); the menu item)15 3715 1 1685 1512 t (changes to)1 426 1 720 1632 t 10 CW f (forward)1173 1632 w 10 R f ( the sort ends, select)4 815( After)1 262(when selected.)1 589 3 1620 1632 t 10 CW f (backward)3313 1632 w 10 R f (and)3820 1632 w 10 CW f (again)3991 1632 w 10 R f (and watch the array scram-)4 1083 1 4317 1632 t ( use of)2 268( Judicious)1 429(ble itself before your very eyes.)5 1268 3 720 1752 t 10 CW f (1 step)1 326 1 2711 1752 t 10 R f (and)3063 1752 w 10 CW f (backward)3233 1752 w 10 R f (and)3739 1752 w 10 CW f (forward)3909 1752 w 10 R f (make it easy to examine a)5 1044 1 4356 1752 t (few snapshots in detail.)3 938 1 720 1872 t ( one)1 180(Normally items are displayed in ``exclusive OR'' mode, which means that a bit drawn over a previous)16 4250 2 970 2028 t ( The)1 217( area, this can lead to unintended erasures.)7 1771( you are drawing numerous objects in a crowded)8 2044( If)1 129(erases it.)1 362 5 720 2148 t 10 CW f (or)5280 2148 w (mode)720 2268 w 10 R f ( movies are far)3 622( Some)1 287( objects by clearing.)3 831(item switches to ``inclusive OR'' for drawing objects, and erases)9 2667 4 993 2268 t (better in one mode than the other.)6 1345 1 720 2388 t (The)970 2544 w 10 CW f (new file)1 454 1 1159 2544 t 10 R f ( view a new movie without having to reload the)9 1996(item allows one to)3 763 2 1647 2544 t 10 I f (movie)4441 2544 w 10 R f (program into the)2 686 1 4714 2544 t ( see how it works in Section 4.)7 1227(5620. We'll)1 502 2 720 2664 t (The)970 2820 w 10 CW f (Quit?)1151 2820 w 10 R f ( crossbones to warn that its effect)6 1348( selected, it displays a skull and)6 1269( If)1 117(menu item is the way to exit.)6 1164 4 1502 2820 t ( button 3 again exits; a different button avoids quitting.)9 2205( Pushing)1 373(is irreversible.)1 571 3 720 2940 t ( of the views on the screen and to control the mean-)11 2076(Button 2 contains menu items to control the size and shape)10 2354 2 970 3096 t ( this sorting movie, button 2 looks like:)7 1574( For)1 189(ing of a ``step'' in 1-step mode.)6 1267 3 720 3216 t 9 CW f (view text)1 486 1 1008 3386 t (view geom)1 486 1 1008 3496 t (click comp)1 540 1 1008 3606 t (click swap)1 540 1 1008 3716 t (click phase)1 594 1 1008 3826 t 10 R f ( exactly like the)3 647(When a view is selected, you can sweep a rectangle in which that view is to be displayed; the use is)20 4033 2 720 4006 t 10 CW f (New)720 4126 w 10 R f (menu item in)2 538 1 930 4126 t 10 I f (mux)1497 4126 w 10 R f ( can arrange the views any way you like; try deleting the textual view by sweeping its)16 3486(. You)1 251 2 1663 4126 t (rectangle out of the window.)4 1145 1 720 4246 t (When a)1 313 1 970 4402 t 10 CW f (click)1314 4402 w 10 R f ( see)1 159( for example, to)3 650( So,)1 187(is selected, 1-stepping proceeds to the next occurrence of that click.)10 2759 4 1645 4402 t (swaps one at a time, select)5 1109 1 720 4522 t 10 CW f (click swap)1 575 1 1864 4522 t 10 R f (on button 2 then select)4 945 1 2474 4522 t 10 CW f (1 step)1 334 1 3454 4522 t 10 R f ( hit of button 1 will)5 821( Each)1 258(on button 3.)2 499 3 3822 4522 t (pause at the next)3 668 1 720 4642 t 10 CW f (click swap)1 565 1 1413 4642 t 10 R f (statement in the script file, in either)6 1418 1 2003 4642 t 10 CW f (forward)3446 4642 w 10 R f (and)3891 4642 w 10 CW f (backward)4060 4642 w 10 R f (mode.)4565 4642 w ( both)1 216( Selecting)1 435(Multiple clicks may be selected.)4 1342 3 970 4798 t 10 CW f (click comp)1 578 1 3001 4798 t 10 R f (and)3617 4798 w 10 CW f (click swap)1 578 1 3799 4798 t 10 R f ( a pause after)3 570(will cause)1 415 2 4415 4798 t ( clicks are marked with an asterisk in the menu; selecting a click that)13 2865( Selected)1 397(every comparison and every swap.)4 1418 3 720 4918 t (already has an asterisk removes the asterisk and turns off the click.)11 2666 1 720 5038 t (In)970 5194 w 10 CW f (run)1083 5194 w 10 R f ( click, then pauses for a time propor-)7 1511(mode, the movie runs at full speed until it encounters a selected)11 2596 2 1293 5194 t ( to having selected an implicit click that occurs after)9 2160( no clicks is equivalent)4 952( Selecting)1 431(tional to the selected speed.)4 1137 4 720 5314 t ( are)1 149(each geometric object \(text, line, circle, rectangle\) is drawn or erased, so animations run faster when some clicks)17 4531 2 720 5434 t (turned on \(with)2 616 1 720 5554 t 10 CW f (click phase)1 625 1 1361 5554 t 10 R f (selected, for instance, the sorting movie runs nearly twice as fast\).)10 2636 1 2011 5554 t 10 I f (Summary.)720 5830 w 10 R f ( output of)2 415( The)1 218( animation system.)2 779(This exercise illustrates the capabilities and limitations of our)8 2555 4 970 5986 t 10 I f (movie)4975 5986 w 10 R f (is a)1 149 1 5251 5986 t ( output of)2 399( The)1 210(crude but useful animation.)3 1108 3 720 6106 t 10 I f (stills)2467 6106 w 10 R f (is handy for more detailed study and for presentation in documents)10 2714 1 2686 6106 t ( A)1 124( a movie in this document, for instance, but paper is easier to distribute than videotape\).)15 3531(\(we would like to include)4 1025 3 720 6226 t ( insertion sort.)2 597(sophisticated animation system might require 500 lines of code to produce beautiful animations of)13 4083 2 720 6346 t (Our output is unpolished by comparison, but it is adequate for many purposes and requires just a few dozen lines.)19 4536 1 720 6466 t ( simply by drawing geometric)4 1227( not animate an algorithm)4 1051( Why)1 250(If our system is so crude, why bother using it?)9 1902 4 970 6622 t ( of the answer lies in extra services like these:)9 1832( Some)1 278(objects on the output device you happen to be using?)9 2117 3 720 6742 t 10 I f (Device Independence.)1 879 1 970 6898 t 10 R f ( or an X11 workstation; the system is)7 1498(A script file can be rendered as a movie on a 5620)11 2003 2 1899 6898 t ( same script file can be incorporated into a)8 1736( The)1 210( port to additional output devices.)5 1369(designed to make it easy to)5 1115 4 970 7018 t (document by)1 519 1 970 7138 t 10 I f (stills)1514 7138 w 10 R f (.)1704 7138 w 10 I f (Names.)970 7294 w 10 R f ( label avoids much of the)5 1042(Labels allow geometric objects to be erased; implicit erasure by re-using a)11 3035 2 1323 7294 t cleartomark showpage saveobj restore %%EndPage: 7 9 %%Page: 8 10 /saveobj save def mark 10 pagesetup 10 R f (- 8 -)2 166 1 2977 480 t ( names mark key events; they can be used to group related events.)12 2636( Click)1 267(tedium of bookkeeping.)2 952 3 970 840 t 10 I f (Independent Views.)1 792 1 970 996 t 10 R f ( our)1 169( In)1 144( animating algorithms.)2 925(Different simultaneous views of a process are crucial for)8 2340 4 1822 996 t ( concerned)1 441( a view, the user need not be)7 1192( Within)1 336(system, a single statement moves from one view to another.)9 2461 4 970 1116 t ( in different views are independent.)5 1413( Labels)1 316(about the range of coordinates; the system scales automatically.)8 2543 3 970 1236 t 10 I f (Viewer Control.)1 655 1 970 1392 t 10 R f (Both)1685 1392 w 10 I f (movie)1915 1392 w 10 R f (and)2188 1392 w 10 I f (stills)2367 1392 w 10 R f ( will be displayed and which)5 1201(allow the viewer to select which views)6 1607 2 2592 1392 t ( Additionally,)1 583(clicks will be recognized.)3 1026 2 970 1512 t 10 I f (movie)2606 1512 w 10 R f ( viewer to go forward or backward, in single steps or)10 2119(allows the)1 410 2 2871 1512 t (running at a selected speed.)4 1100 1 970 1632 t 10 I f (An Interface To The World.)4 1154 1 970 1788 t 10 R f ( using the geometric)3 855(Although writing to files takes more computer time than)8 2358 2 2187 1788 t ( to)1 109(primitives provided by a specific output device, we will soon see how those files allow complicated tasks)16 4321 2 970 1908 t (be easily composed out of simple software tools.)7 1948 1 970 2028 t ( has been generated, there's no way to)7 1558(Our system does not support interactive animations, however: once the script)10 3122 2 720 2184 t (change it except to generate it again.)6 1460 1 720 2304 t 10 B f ( Script Language)2 734(3. The)1 292 2 720 2544 t 10 R f ( script)1 249( A)1 124( which animations are described.)4 1319(This section is a more complete description of the script language in)11 2738 4 970 2700 t (file is processed by the heretofore unmentioned program)7 2287 1 720 2820 t 10 I f (develop)3036 2820 w 10 R f ( are reported by that program.)5 1206(; errors in script files)4 848 2 3346 2820 t (The output of)2 544 1 720 2940 t 10 I f (develop)1289 2940 w 10 R f (feeds)1624 2940 w 10 I f (stills)1859 2940 w 10 R f (and)2074 2940 w 10 I f (movie)2243 2940 w 10 R f (:)2481 2940 w 2844 3102 2844 3282 Dl 3276 3102 2844 3102 Dl 3276 3282 3276 3102 Dl 2844 3282 3276 3282 Dl (generator)2872 3212 w 3060 3354 3060 3282 Dl 2844 3444 432 180 De (fname.s)2904 3464 w 3060 3606 3060 3534 Dl 2844 3606 2844 3786 Dl 3276 3606 2844 3606 Dl 3276 3786 3276 3606 Dl 2844 3786 3276 3786 Dl (develop)2902 3716 w 3060 3858 3060 3786 Dl 2844 3948 432 180 De (fname.i)2909 3968 w 3420 4146 3420 4326 Dl 3852 4146 3420 4146 Dl 3852 4326 3852 4146 Dl 3420 4326 3852 4326 Dl (stills)3541 4256 w 3636 4398 3636 4326 Dl (pic)3350 4508 w 10 S f (\357)3497 4508 w 10 R f (troff)3571 4508 w 10 S f (\357)3773 4508 w 10 R f (...)3847 4508 w 2268 4146 2268 4326 Dl 2700 4146 2268 4146 Dl 2700 4326 2700 4146 Dl 2268 4326 2700 4326 Dl (movie)2359 4256 w 2484 4398 2484 4326 Dl (5620, X, ...)2 447 1 2261 4508 t 3419 4145 3212 4011 Dl 2700 4145 2907 4011 Dl 3636 4074 3636 4146 Dl 3420 3984 432 180 De (docfile)3498 4004 w (The command)1 576 1 720 4776 t 10 CW f (develop fname.s)1 867 1 1323 4776 t 10 R f (produces the)1 509 1 2217 4776 t 10 I f (intermediate)2753 4776 w 10 R f (file)3285 4776 w 10 CW f (fname.i)3446 4776 w 10 R f (from the script file)3 755 1 3894 4776 t 10 CW f (fname.s)4677 4776 w 10 R f (, unless)1 303 1 5097 4776 t 10 CW f (fname.i)720 4896 w 10 R f ( be con-)2 333( most users need not)4 844( Fortunately,)1 543(already exists and is newer than the corresponding script file.)9 2508 4 1172 4896 t (cerned with intermediate files and the)5 1550 1 720 5016 t 10 I f (develop)2304 5016 w 10 R f (program; both)1 579 1 2648 5016 t 10 I f (movie)3262 5016 w 10 R f (and)3535 5016 w 10 I f (stills)3714 5016 w 10 R f (call)3939 5016 w 10 I f (develop)4118 5016 w 10 R f ( I)1 68(implicitly. Appendix)1 869 2 4463 5016 t (defines the format of an intermediate file.)6 1660 1 720 5136 t ( A)1 123( commands to draw geometric objects and commands that control the pictures.)11 3151(The script language provides)3 1156 3 970 5292 t ( first non-blank character is)4 1105(line whose)1 433 2 720 5412 t 10 CW f (#)2285 5412 w 10 R f (is a comment; comments may not appear on the line after other commands.)12 3028 1 2372 5412 t (Blank lines are ignored.)3 954 1 720 5532 t 10 I f (Geometric Commands)1 896 1 720 5808 t 10 R f (:)1616 5808 w 10 CW f (text)1669 5808 w 10 R f (,)1909 5808 w 10 CW f (line)1959 5808 w 10 R f (,)2199 5808 w 10 CW f (box)2249 5808 w 10 R f (,)2429 5808 w 10 CW f (circle)2479 5808 w 10 R f (.)2839 5808 w ( share the common form)4 976( They)1 255(Geometric commands describe text, lines, rectangles, or circles.)7 2547 3 970 5964 t 9 I f (optional)1008 6134 w 9 S f (_)1315 6134 w 9 I f (label)1367 6134 w 9 R f (:)1554 6134 w 9 I f ( parts)1 239( additional)1 478( y)1 94(command options x)2 871 4 1633 6134 t 10 R f (If a label is present, it names the object and will implicitly erase any existing object with the same name in the same)22 4680 1 720 6314 t ( options are a \(possibly null\) list of names, terminated by the next numeric field.)14 3208(view. The)1 424 2 720 6434 t (Text is placed at a position by the command)8 1765 1 970 6590 t 9 I f (optional)1008 6760 w 9 S f (_)1315 6760 w 9 I f (label)1367 6760 w 9 R f (:)1554 6760 w 9 CW f (text)1633 6760 w 9 I f ( string)1 318( y)1 94(options x)1 413 3 1957 6760 t 10 R f (The available options are)3 1006 1 720 6940 t cleartomark showpage saveobj restore %%EndPage: 8 10 %%Page: 9 11 /saveobj save def mark 11 pagesetup 10 R f (- 9 -)2 166 1 2977 480 t 9 CW f ([center] ljust rjust above below)4 1944 1 1008 830 t (small [medium] big bigbig)3 1512 1 1008 940 t 10 R f ( first line)2 369( The)1 209( brackets is used.)3 694(At most one option may be selected from each line; if none is selected, the option in)16 3408 4 720 1120 t ( there is no leading)4 768( If)1 118( text string may be quoted.)5 1076( The)1 207( line describes text size.)4 959(describes text position, and the second)5 1552 6 720 1240 t ( is a lead-)3 397( there)1 227( If)1 119(quote, then the string starts at the first non-blank character and continues until the end of the line.)17 3937 4 720 1360 t ( end of the line is removed; intermedi-)7 1541(ing quote, subsequent leading white space is kept and any trailing quote at the)13 3139 2 720 1480 t ( including \(but not necessarily limited to\))6 1691( strings,)1 322( Some)1 283(ate quotes are kept.)3 785 4 720 1600 t 10 CW f (bullet)3832 1600 w 10 R f (,)4192 1600 w 10 CW f (dot)4248 1600 w 10 R f (,)4428 1600 w 10 CW f (circle)4484 1600 w 10 R f (, and)1 200 1 4844 1600 t 10 CW f (times)5075 1600 w 10 R f (,)5375 1600 w (are recognized by later processors.)4 1381 1 720 1720 t (A line is drawn by)4 738 1 970 1876 t 9 I f (optional)1008 2046 w 9 S f (_)1315 2046 w 9 I f (label)1367 2046 w 9 R f (:)1554 2046 w 9 CW f (line)1633 2046 w 9 I f (options x)1 413 1 1957 2046 t 6 R f (1)2380 2064 w 9 I f (y)2471 2046 w 6 R f (1)2521 2064 w 9 I f (x)2612 2046 w 6 R f (2)2662 2064 w 9 I f (y)2753 2046 w 6 R f (2)2803 2064 w 10 R f (The available options are)3 1006 1 720 2226 t 9 CW f ([-] -> <- <->)3 864 1 1008 2396 t ([solid] fat fatfat dotted dashed)4 1944 1 1008 2506 t 10 R f ( the default is without arrow-)5 1207(The first line of options describe whether the line should be drawn with arrowheads;)13 3473 2 720 2686 t ( option)1 286(heads. The)1 462 2 720 2806 t 10 CW f (<-)1498 2806 w 10 R f (puts an arrowhead at the \()5 1053 1 1647 2806 t 10 I f (x)2708 2806 w 7 R f (1)2763 2826 w 10 R f (,)2814 2806 w 10 I f (y)2847 2806 w 7 R f (1)2902 2826 w 10 R f (\) end of the line,)4 673 1 2953 2806 t 10 CW f (->)3655 2806 w 10 R f (puts an arrowhead at the other end, and)7 1596 1 3804 2806 t 10 CW f (<->)720 2926 w 10 R f ( second line of options describes the body of the line.)10 2128( The)1 205(puts them at both ends.)4 925 3 925 2926 t (A rectangle is drawn by)4 953 1 970 3082 t 9 I f (optional)1008 3252 w 9 S f (_)1315 3252 w 9 I f (label)1367 3252 w 9 R f (:)1554 3252 w 9 CW f (box)1633 3252 w 9 I f ( ymin xmax ymax)3 717(options xmin)1 548 2 1903 3252 t 10 R f (The only options are)3 824 1 720 3432 t 9 CW f ([nofill] fill)1 756 1 1008 3602 t 10 R f (Under the default)2 698 1 720 3782 t 10 CW f (nofill)1443 3782 w 10 R f (only the border of the box is drawn; a)8 1503 1 1828 3782 t 10 CW f (fill)3356 3782 w 10 R f (ed box has a solid interior as well.)7 1365 1 3596 3782 t (A circle is drawn by)4 809 1 970 3938 t 9 I f (optional)1008 4108 w 9 S f (_)1315 4108 w 9 I f (label)1367 4108 w 9 R f (:)1554 4108 w 9 CW f (circle)1633 4108 w 9 I f ( radius)1 338( y)1 94(options x)1 413 3 2065 4108 t 10 R f (The radius is measured in the)5 1203 1 720 4288 t 10 I f (x)1954 4288 w 10 R f ( will look right only if)5 917(dimension. Circles)1 781 2 2029 4288 t 10 I f (x)3758 4288 w 10 R f (and)3833 4288 w 10 I f (y)4008 4288 w 10 R f ( As)1 168(are in about the same range.)5 1149 2 4083 4288 t (with rectangles, the options are)4 1245 1 720 4408 t 9 CW f ([nofill] fill)1 756 1 1008 4578 t 10 I f (Control Commands)1 787 1 720 4914 t 10 R f (:)1507 4914 w 10 CW f (view)1560 4914 w 10 R f (,)1800 4914 w 10 CW f (click)1850 4914 w 10 R f (,)2150 4914 w 10 CW f (erase)2200 4914 w 10 R f (,)2500 4914 w 10 CW f (clear)2550 4914 w 10 R f (.)2850 4914 w (The current view is set by the statement)7 1589 1 970 5070 t 9 CW f (view)1008 5240 w 9 I f (name)1332 5240 w 10 R f (If there are no view statements in the script file,)9 1907 1 720 5420 t 10 I f (develop)2652 5420 w 10 R f (generates a single implicit view named)5 1561 1 2988 5420 t 10 CW f (def.view)4575 5420 w 10 R f ( geo-)1 203(. If)1 142 2 5055 5420 t (metric objects appear before the first view statement, they go in that view and a warning message is generated.)18 4418 1 720 5540 t (A click is named by)4 799 1 970 5696 t 9 CW f (click)1008 5866 w 9 I f (optional)1386 5866 w 9 S f (_)1693 5866 w 9 I f (name)1745 5866 w 10 R f (If no name is present, then the name)7 1447 1 720 6046 t 10 CW f (def.click)2192 6046 w 10 R f (is implicitly supplied.)2 871 1 2757 6046 t (A labeled geometric object can be explicitly erased by the command)10 2733 1 970 6202 t 9 CW f (erase)1008 6372 w 9 I f (label)1386 6372 w 10 I f (develop)720 6552 w 10 R f ( various views have distinct)4 1118( The)1 207( has already been erased.)4 1001(prints a warning if the object was never defined or)9 2018 4 1056 6552 t ( objects in the cur-)4 759( All)1 182( two unrelated objects in two different views.)7 1836(name spaces; the same label may be applied to)8 1903 4 720 6672 t (rent view can be erased by the statement)7 1615 1 720 6792 t 9 CW f (clear)1008 6962 w 10 R f (None of these commands may have labels.)6 1705 1 970 7178 t cleartomark showpage saveobj restore %%EndPage: 9 11 %%Page: 10 12 /saveobj save def mark 12 pagesetup 10 R f (- 10 -)2 216 1 2952 480 t 10 I f (Summary.)720 840 w 10 R f ( with)1 228(The script language contains the following commands; options are indented on a subsequent line,)13 4202 2 970 996 t (defaults in brackets:)2 804 1 720 1116 t 9 CW f (# comment)1 486 1 1008 1286 t 9 I f (optional)1008 1396 w 9 S f (_)1315 1396 w 9 I f (label)1367 1396 w 9 R f (:)1554 1396 w 9 CW f (line)1633 1396 w 9 I f (options x)1 413 1 1957 1396 t 6 R f (1)2380 1414 w 9 I f (y)2471 1396 w 6 R f (1)2521 1414 w 9 I f (x)2612 1396 w 6 R f (2)2662 1414 w 9 I f (y)2753 1396 w 6 R f (2)2803 1414 w 9 CW f ([-] -> <- <->)3 864 1 1440 1506 t ([solid] fat fatfat dotted dashed)4 1944 1 1440 1616 t 9 I f (optional)1008 1726 w 9 S f (_)1315 1726 w 9 I f (label)1367 1726 w 9 R f (:)1554 1726 w 9 CW f (text)1633 1726 w 9 I f ( string)1 318( y)1 94(options x)1 413 3 1957 1726 t 9 CW f ([center] ljust rjust above below)4 1944 1 1440 1836 t (small [medium] big bigbig)3 1512 1 1440 1946 t 9 I f (optional)1008 2056 w 9 S f (_)1315 2056 w 9 I f (label)1367 2056 w 9 R f (:)1554 2056 w 9 CW f (box)1633 2056 w 9 I f ( ymin xmax ymax)3 717(options xmin)1 548 2 1903 2056 t 9 CW f ([nofill] fill)1 756 1 1440 2166 t 9 I f (optional)1008 2276 w 9 S f (_)1315 2276 w 9 I f (label)1367 2276 w 9 R f (:)1554 2276 w 9 CW f (circle)1633 2276 w 9 I f ( radius)1 338( y)1 94(options x)1 413 3 2065 2276 t 9 CW f ([nofill] fill)1 756 1 1440 2386 t (view)1008 2496 w 9 I f (name)1332 2496 w 9 CW f (click)1008 2606 w 9 I f (optional)1386 2606 w 9 S f (_)1693 2606 w 9 I f (name)1745 2606 w 9 CW f (erase)1008 2716 w 9 I f (label)1386 2716 w 9 CW f (clear)1008 2826 w 10 R f (The shell command)2 852 1 970 3042 t 10 CW f (develop fname.s)1 898 1 1880 3042 t 10 R f (makes the intermediate file)3 1183 1 2836 3042 t 10 CW f (fname.i)4077 3042 w 10 R f (from the script file)3 845 1 4555 3042 t 10 CW f (fname.s)720 3162 w 10 R f (, if)1 117 1 1140 3162 t 10 CW f (fname.i)1288 3162 w 10 R f ( trade increased space \(for storing)5 1373( purpose of the intermediate file is to)7 1515( The)1 211(is out of date.)3 562 4 1739 3162 t ( The)1 210( it is used\).)3 454(the intermediate file\) for reduced run time \(a script file is developed just once, not each time)16 3748 3 720 3282 t 10 I f (movie)5162 3282 w 10 R f (and)720 3402 w 10 I f (stills)891 3402 w 10 R f ( to pipe their inputs through)5 1119(shell scripts could be rewritten)4 1234 2 1108 3402 t 10 I f (fdevelop)3487 3402 w 10 R f (, a filter form of)4 644 1 3825 3402 t 10 I f (develop)4495 3402 w 10 R f (. The)1 231 1 4805 3402 t 10 I f (fdevelop)5062 3402 w 10 R f ( 20,000 lines; the argument)4 1115(program can handle script files with at most)7 1791 2 720 3522 t 10 CW f (-l)3657 3522 w 10 I f (n)3777 3522 w 10 R f (changes the upper bound to)4 1122 1 3858 3522 t 10 I f (n)5011 3522 w 10 R f (instead.)5092 3522 w ( of geometry active at any time; the argument)8 1963(It can similarly handle at most 10,000 pieces)7 1920 2 720 3642 t 10 CW f (-s)4646 3642 w 10 I f (n)4766 3642 w 10 R f (\(for ``slots''\))1 541 1 4859 3642 t ( any)1 172( After)1 263( need to be increased.)4 873( messages tell when these bounds)5 1350( Error)1 262(changes that upper bound.)3 1054 6 720 3762 t 10 CW f (-l)4722 3762 w 10 R f (and)4870 3762 w 10 CW f (-s)5042 3762 w 10 R f (argu-)5190 3762 w (ments,)720 3882 w 10 I f (fdevelop)1010 3882 w 10 R f ( there is a name, that is the input file; otherwise, the standard input)13 2661( If)1 116( optional file name.)3 777(can have an)2 472 4 1374 3882 t ( output is written on the standard output.)7 1622( The)1 205(is used.)1 300 3 720 4002 t 10 B f ( Movie Program)2 698(4. The)1 292 2 720 4242 t 10 R f ( host sends)2 455( The)1 213( 5620 programs, uses a host process and a terminal process.)10 2459(Movie production, as with most)4 1303 4 970 4398 t (the intermediate file produced by)4 1337 1 720 4518 t 10 I f (develop)2085 4518 w 10 R f ( stores it in a form suited for for-)8 1325(in a compact form to the terminal, which)7 1652 2 2423 4518 t ( displayed in the upper-)4 963( the file is shipped, the line number in the intermediate file is)12 2482( As)1 165(ward or backward display.)3 1070 4 720 4638 t ( the total number of bytes stored is displayed in that location.)11 2465( Afterwards,)1 525( the window every 100 lines.)5 1164(left corner of)2 526 4 720 4758 t ( the argument)2 565(The terminal process allocates 80,000 bytes \(typically 5-10,000 objects\) for the picture;)11 3574 2 720 4878 t 10 CW f (-m)4892 4878 w 10 I f (n)5012 4878 w 10 R f (sets the)1 305 1 5095 4878 t (allocation to)1 497 1 720 4998 t 10 I f (n)1242 4998 w 10 R f (instead.)1317 4998 w ( general, drawing can be interrupted at any point by pushing)10 2434( In)1 136( sketched in Section 2.)4 914(The button 3 menu was)4 946 4 970 5154 t (any button, then resumed by pushing button 1.)7 1858 1 720 5274 t (Four menu items control two variables:)5 1574 1 970 5430 t 9 CW f (faster [speed])1 756 1 1008 5600 t (slower [speed])1 756 1 1008 5710 t 10 R f (decrease \(halve\) and increase \(double\) the pause at selected clicks, and)10 2826 1 720 5890 t 9 CW f (thinner [line width])2 1080 1 1008 6060 t (fatter [line width])2 1026 1 1008 6170 t 10 R f ( the line thickness is)4 811( \(If)1 149(alter the width of lines.)4 924 3 720 6350 t 10 I f (n)2629 6350 w 10 R f (, then)1 222 1 2679 6350 t 10 CW f (solid)2926 6350 w 10 R f (lines are 2)2 410 1 3251 6350 t 10 I f (n)3669 6350 w 10 S f (-)3743 6350 w 10 R f (1 bits wide;)2 467 1 3814 6350 t 10 CW f (fat)4306 6350 w 10 R f (and)4511 6350 w 10 CW f (fatfat)4680 6350 w 10 R f (lines are)1 335 1 5065 6350 t ( menu items control binary attributes:)5 1502(larger.\) Three)1 572 2 720 6470 t 9 CW f (backward forward)1 1026 1 1008 6640 t ( mode)1 270( xor)1 432(or mode)1 378 3 1008 6750 t ( run)1 486(1 step)1 324 2 1008 6860 t 10 R f ( the program is currently in)5 1115( If)1 121( current one.)2 511(The mode displayed on the menu is the next state, not the)11 2342 4 720 7040 t 10 CW f (or mode)1 390 1 4839 7040 t 10 R f (, for)1 171 1 5229 7040 t (instance, then)1 549 1 720 7160 t 10 CW f (xor mode)1 445 1 1294 7160 t 10 R f (is displayed.)1 500 1 1764 7160 t (The)970 7316 w 10 CW f (new file)1 451 1 1156 7316 t 10 R f ( view a new movie without downloading the)7 1828(item allows one to)3 754 2 1638 7316 t 10 I f (movie)4252 7316 w 10 R f ( After)1 267(program again.)1 611 2 4522 7316 t cleartomark showpage saveobj restore %%EndPage: 10 12 %%Page: 11 13 /saveobj save def mark 13 pagesetup 10 R f (- 11 -)2 216 1 2952 480 t ( asks for the name of the intermediate file to be processed.)11 2405(selecting that item, text in the upper left of the window)10 2275 2 720 840 t (The)720 960 w 10 I f (movie)911 960 w 10 R f (program does not call)3 901 1 1185 960 t 10 I f (develop)2122 960 w 10 R f (to make the intermediate \()4 1092 1 2468 960 t 10 CW f (.i)3560 960 w 10 R f ( script \()2 329(\) file from the)3 590 2 3680 960 t 10 CW f (.s)4599 960 w 10 R f (\) file; that is the)4 681 1 4719 960 t (responsibility of the user, typically in a separate window.)8 2286 1 720 1080 t ( in an icon for sweeping a rectangle, as in)9 1666( a view results)3 574( Selecting)1 422(Button 2 lists views and clicks.)5 1245 4 970 1236 t 10 I f (mux)4903 1236 w 10 R f (. Views)1 331 1 5069 1236 t ( have a 5)3 378( views)1 266( Initially,)1 400(may be positioned anywhere; portions positioned outside the window will not be shown.)12 3636 4 720 1356 t ( the window itself is reshaped,)5 1225( If)1 118( zero for views that have been reshaped.)7 1614(percent margin at each edge; this margin is)7 1723 4 720 1476 t (all views revert to the default position and margin.)8 2017 1 720 1596 t ( display pauses after each primitive object \(line, text, etc.\) has been drawn or)13 3195(Normally, in 1-step mode, the)4 1235 2 970 1752 t ( pauses only at those points.)5 1152( any clicks are defined and turned on by button 2, however, then the display)14 3126(erased. If)1 402 3 720 1872 t ( with an asterisk; they may be turned)7 1508( that are turned on are marked)6 1220( Clicks)1 310(Any number of clicks may be turned on.)7 1642 4 720 1992 t (off by selecting them again.)4 1112 1 720 2112 t ( the 5620, so it is for X workstations, although the exigencies of the X window system have forced)18 3999(As it is for)3 431 2 970 2268 t ( two processes, so the window in)6 1366( keep the code relatively portable, there are again)8 2035( To)1 170(us to curtail some features.)4 1109 4 720 2388 t ( uncontrolled size, shape and position where the animation)8 2376(which one starts the animation clones another window of)8 2304 2 720 2508 t (itself occurs.)1 510 1 720 2628 t (The current terminal programs support many, but not all, text size and line mode options.)14 3566 1 970 2784 t (If)970 2940 w 10 I f (movie)1065 2940 w 10 R f (has a single argument, it must be either a)8 1666 1 1332 2940 t 10 CW f (.s)3027 2940 w 10 R f (or)3177 2940 w 10 CW f (.i)3290 2940 w 10 R f (file;)3440 2940 w 10 I f (movie develop)1 578 1 3631 2940 t 10 R f (s a)1 113 1 4209 2940 t 10 CW f (.s)4352 2940 w 10 R f ( it has no argu-)4 619(file. If)1 279 2 4502 2940 t (ments, then it will pipe the standard input through)8 2053 1 720 3060 t 10 I f (fdevelop)2805 3060 w 10 R f ( more exotic situa-)3 764( For)1 195( created.)1 343(; no intermediate file is)4 955 4 3143 3060 t (tions, use)1 387 1 720 3180 t 10 I f (fmovie)1142 3180 w 10 R f (: with no arguments, it projects the intermediate file from the standard input; with a single argu-)16 3992 1 1408 3180 t (ment, it projects that intermediate file.)5 1529 1 720 3300 t 10 B f ( Stills Language)2 685(5. The)1 292 2 720 3540 t 10 R f (The)970 3696 w 10 I f (stills)1160 3696 w 10 R f (program is a typical)3 826 1 1385 3696 t 10 I f (troff)2246 3696 w 10 R f ( of its input bracketed by)5 1046(preprocessor. Portions)1 928 2 2454 3696 t 10 CW f (.begin stills)1 756 1 4464 3696 t 10 R f (and)5256 3696 w 10 CW f (.end)720 3816 w 10 R f (are translated into)2 727 1 991 3816 t 10 I f (pic)1749 3816 w 10 R f ( paper containing)2 703( A)1 127( the input is passed through untouched.)6 1593(commands, and the rest of)4 1075 4 1902 3816 t 10 I f (stills)720 3936 w 10 R f (input is typically compiled by a command like)7 1858 1 935 3936 t 9 CW f (stills paper | pic | troff >paper.out)6 1998 1 1008 4106 t 10 R f (There are three classes of statements in a)7 1659 1 970 4322 t 10 I f (stills)2658 4322 w 10 R f (description:)2877 4322 w 10 CW f (print)3379 4322 w 10 R f (,)3679 4322 w 10 CW f (view)3734 4322 w 10 R f ( Only)1 255(, and parameter assignments.)3 1171 2 3974 4322 t ( particular description: an assignment to the)6 1772(two statements are mandatory in a)5 1392 2 720 4442 t 10 CW f (file)3913 4442 w 10 R f (parameter and a)2 644 1 4182 4442 t 10 CW f (print)4855 4442 w 10 R f (state-)5184 4442 w ( following the sharp symbol)4 1122(ment. Text)1 458 2 720 4562 t 10 CW f (#)2325 4562 w 10 R f (is discarded as a comment; blank lines are ignored.)8 2038 1 2410 4562 t (There may be any number of)5 1155 1 970 4718 t 10 CW f (print)2150 4718 w 10 R f (statements of any combination of the following forms:)7 2179 1 2475 4718 t 9 CW f (print all)1 486 1 1008 4888 t (print final)1 594 1 1008 4998 t (print)1008 5108 w 9 I f (clickname)1332 5108 w 9 CW f (all)1751 5108 w (print)1008 5218 w 9 I f (clickname number number number)3 1352 1 1332 5218 t 9 CW f (...)2738 5218 w 10 R f (The first statement causes a snapshot to be drawn at each)10 2278 1 720 5398 t 10 CW f (click)3023 5398 w 10 R f ( the script file; the second draws one at)8 1566(statement in)1 486 2 3348 5398 t ( third form prints all)4 839( The)1 213(the end of the file.)4 761 3 720 5518 t 10 CW f (click)2565 5518 w 10 R f (s of the designated name, and the fourth prints only the clicks)11 2535 1 2865 5518 t (enumerated in the list of numbers.)5 1365 1 720 5638 t (View statements select which views are to be printed in snapshots and assign titles to views.)15 3685 1 970 5794 t 9 CW f (view)1008 5964 w 9 I f ( title)1 194(name optional)1 603 2 1332 5964 t 10 R f ( the order they are named, either top-to-bottom if time goes)10 2411(The views appear in)3 815 2 720 6144 t 10 CW f (across)3975 6144 w 10 R f (the page or left-to-right if)4 1036 1 4364 6144 t (time goes)1 389 1 720 6264 t 10 CW f (down)1137 6264 w 10 R f ( there are no)3 504( If)1 119(the page.)1 363 3 1405 6264 t 10 CW f (view)2419 6264 w 10 R f ( the title)2 332( If)1 118( in the script.)3 528(statements, each snapshot depicts all views)5 1735 4 2687 6264 t ( no title is given for a particular view, the)9 1689( If)1 120(is enclosed in quote marks, they are stripped and leading space is kept.)12 2871 3 720 6384 t (view name itself is used as a title; thus an empty title is needed to turn off printing.)17 3309 1 720 6504 t (Parameters can be set by assignment statements of the form)9 2382 1 970 6660 t 9 I f (parameter)1008 6830 w 9 S f (_)1390 6830 w 9 I f (name value)1 498 1 1442 6830 t 10 R f ( values at each)3 590(All parameters are reset to their default)6 1568 2 720 7010 t 10 CW f (.begin)2905 7010 w 10 I f (stills)3292 7010 w 10 R f ( values may be of the form)6 1082(statement. Numeric)1 809 2 3509 7010 t 10 CW f (n)720 7130 w 10 R f (,)780 7130 w 10 CW f (+n)830 7130 w 10 R f (,)950 7130 w 10 CW f (-n)1000 7130 w 10 R f (, or absent \(zero default\).)4 1002 1 1120 7130 t 10 I f (Filename)970 7286 w 10 R f (parameter:)1375 7286 w 10 CW f (file)1829 7286 w 10 R f ( script file is named by assigning to the)8 1598(. The)1 233 2 2069 7286 t 10 CW f (file)3929 7286 w 10 R f (parameter with a statement of)4 1202 1 4198 7286 t cleartomark showpage saveobj restore %%EndPage: 11 13 %%Page: 12 14 /saveobj save def mark 14 pagesetup 10 R f (- 12 -)2 216 1 2952 480 t (the form)1 341 1 970 840 t 10 CW f (file basename.s)1 865 1 1336 840 t 10 R f (. The)1 230 1 2201 840 t 10 I f (stills)2456 840 w 10 R f (program)2671 840 w 10 I f (develop)3034 840 w 10 R f (s that script file and then reads)6 1220 1 3344 840 t 10 CW f (basename.i)4589 840 w 10 R f (.)5189 840 w 10 I f (Text sizes)1 387 1 970 996 t 10 R f (:)1357 996 w 10 CW f (small medium big bigbig)3 1383 1 1411 996 t 10 R f ( assignment)1 476(. The)1 231 2 2794 996 t 10 CW f (small -2)1 446 1 3527 996 t 10 R f (causes text with the)3 791 1 3999 996 t 10 CW f (small)4817 996 w 10 R f (option)5144 996 w ( smaller than the current)4 974(to be printed two point sizes)5 1140 2 970 1116 t 10 I f (troff)3110 1116 w 10 R f ( Assigning)1 457(point size.)1 412 2 3309 1116 t 10 CW f (+5)4204 1116 w 10 R f (or)4350 1116 w 10 CW f (5)4459 1116 w 10 R f (to)4545 1116 w 10 CW f (bigbig)4649 1116 w 10 R f (increases)5035 1116 w (the point size by 5 for)5 874 1 970 1236 t 10 CW f (bigbig)1869 1236 w 10 R f ( changes are relative; there is no way to set absolute point size.)12 2509(text. All)1 353 2 2254 1236 t 10 I f (Line widths)1 465 1 970 1392 t 10 R f (:)1435 1392 w 10 CW f (solid fat fatfat)2 960 1 1488 1392 t 10 R f ( size changes for line widths, exactly as for text sizes.)10 2140(. Relative)1 408 2 2448 1392 t 10 I f (Direction)970 1548 w 10 R f (:)1353 1548 w 10 CW f (across down)1 664 1 1410 1548 t 10 R f ( assignment)1 480( The)1 210( in time.)2 341( default, snapshots proceed across the page)6 1739(. By)1 196 5 2074 1548 t 10 CW f (down 5)1 330 1 5070 1548 t 10 R f ( 5 snapshots before starting a new column;)7 1734(causes time to proceed down the page for)7 1689 2 970 1668 t 10 CW f (down 0)1 329 1 4422 1668 t 10 R f (or)4780 1668 w 10 CW f (down)4892 1668 w 10 R f (yields)5161 1668 w ( assignment)1 476( The)1 206( on an 8-inch page.)4 766(as many snapshots as will fit)5 1147 4 970 1788 t 10 CW f (across 7)1 446 1 3591 1788 t 10 R f (gives 7 snapshots in a row before)6 1337 1 4063 1788 t (starting a new row;)3 768 1 970 1908 t 10 CW f (across 0)1 445 1 1763 1908 t 10 R f (or)2233 1908 w 10 CW f (across)2341 1908 w 10 R f (adapts to a 6-inch width.)4 985 1 2726 1908 t 10 I f (Frame parameters)1 754 1 970 2064 t 10 R f (:)1724 2064 w 10 CW f (frameht framewid margin)2 1396 1 1785 2064 t 10 R f ( are given in inches;)4 840( height and width of frames)5 1141(. The)1 238 3 3181 2064 t ( the data; the default is 0.05, or a five)9 1534( margin of a frame is the white space surrounding)9 2036( The)1 211(defaults are 1.5.)2 649 4 970 2184 t (percent border.)1 603 1 970 2304 t 10 I f (Optional parts)1 588 1 970 2460 t 10 R f (:)1558 2460 w 10 CW f (frames times)1 721 1 1612 2460 t 10 R f ( are the solid borders around pictures; times are the click name and)12 2696(. Frames)1 371 2 2333 2460 t ( have the default value)4 907( Both)1 246(number that triggered a snapshot.)4 1338 3 970 2580 t 10 CW f (vis)3487 2580 w 10 R f ( they may be suppressed by)5 1101(and are shown;)2 606 2 3693 2580 t (assigning them the value)3 991 1 970 2700 t 10 CW f (invis)1986 2700 w 10 R f (.)2286 2700 w (In summary,)1 505 1 970 2856 t 10 I f (stills)1500 2856 w 10 R f (input consists of these commands:)4 1372 1 1715 2856 t 9 CW f (print all)1 486 1 1008 3026 t (print final)1 594 1 1008 3136 t (print)1008 3246 w 9 I f (clickname)1332 3246 w 9 CW f (all)1751 3246 w (print)1008 3356 w 9 I f (clickname number number number)3 1352 1 1332 3356 t 9 CW f (...)2738 3356 w (view)1008 3466 w 9 I f ( title)1 194(name optional)1 603 2 1332 3466 t (parameter)1008 3576 w 9 S f (_)1390 3576 w 9 I f (name value)1 498 1 1442 3576 t 10 R f (At least one)2 481 1 720 3792 t 10 CW f (print)1228 3792 w 10 R f (statement and a)2 625 1 1555 3792 t 10 CW f (file)2207 3792 w 10 R f ( parameter)1 426( The)1 208( statements are optional.)3 980(assignment are mandatory; other)3 1312 4 2474 3792 t (names in the right column may appear on the left side of a name/value assignment:)14 3312 1 720 3912 t 9 I f (Filename)1008 4082 w 9 CW f (file)1800 4082 w 9 I f (Text sizes)1 348 1 1008 4192 t 9 CW f (small medium big bigbig)3 1242 1 1800 4192 t 9 I f (Line widths)1 418 1 1008 4302 t 9 CW f (solid fat fatfat)2 864 1 1800 4302 t 9 I f (Direction)1008 4412 w 9 CW f (across down)1 594 1 1800 4412 t 9 I f (Frame parameters)1 673 1 1008 4522 t 9 CW f (frameht framewid margin)2 1242 1 1800 4522 t 9 I f (Optional parts)1 528 1 1008 4632 t 9 CW f (frames times)1 648 1 1800 4632 t 10 B f ( Animations)1 520(6. Larger)1 424 2 720 4932 t 10 R f ( on several classes of data structures, including arrays, trees)9 2434(The examples in this section illustrate algorithms)6 1996 2 970 5088 t ( programs in)2 505( The)1 205( graphical style is simple; this is easy for the animator and effective for the viewer.)15 3305( The)1 205(and graphs.)1 460 5 720 5208 t ( succinct programs)2 776(this section are not presented as paradigms of good programming style; rather, they show how)14 3904 2 720 5328 t (can yield useful animations.)3 1121 1 720 5448 t (In the paper cited earlier, Brown and Sedgewick employ several conceptual levels in animating an algorithm.)15 4361 1 970 5604 t 10 I f (Execution.)970 5760 w 10 R f (At one extreme is the program to be animated, executing on the data of interest.)14 3183 1 1444 5760 t 10 I f (History of ``Interesting Events.'')3 1345 1 970 5916 t 10 R f ( The)1 217(What events in a computation should be depicted in the animation?)10 2806 2 2377 5916 t (simple animation of insertion sort in Section 2 used augmented)9 2533 1 970 6036 t 10 CW f (less)3529 6036 w 10 R f (and)3795 6036 w 10 CW f (swap)3965 6036 w 10 R f (routines to capture two prim-)4 1169 1 4231 6036 t ( also explicitly recorded information)4 1515( It)1 125( most sorting programs: comparisons and data movements.)7 2452(itives of)1 338 4 970 6156 t (associated with the interesting event of finishing a phase.)8 2283 1 970 6276 t 10 I f ( of events.)2 414(Geometric interpretation)1 1007 2 970 6432 t 10 R f (One must next decide how to represent the interesting events pictorially.)10 2953 1 2447 6432 t ( by a sequence of numbers, a scatterplot of bullets, or a)11 2209(An array of integers, for instance, might be represented)8 2221 2 970 6552 t (sequence of vertical bars.)3 1013 1 970 6672 t 10 I f (Rendering on a device.)3 920 1 970 6828 t 10 R f (In our system, this is the job of)7 1239 1 1940 6828 t 10 I f (movie)3204 6828 w 10 R f (and)3467 6828 w 10 I f (stills)3636 6828 w 10 R f (.)3826 6828 w (The sample program)2 828 1 720 6984 t 10 CW f (is.gen)1574 6984 w 10 R f (identified interesting events and gave them a geometric interpretation in separate pro-)11 3440 1 1960 6984 t ( to implement the various tasks as a pipe-)8 1662( it may be more convenient)5 1100( Alternatively,)1 604(cedures within a single program.)4 1314 4 720 7104 t (line of two programs: a generator program writes interesting events that are given a geometric interpretation by a)17 4680 1 720 7224 t cleartomark showpage saveobj restore %%EndPage: 12 14 %%Page: 13 15 /saveobj save def mark 15 pagesetup 10 R f (- 13 -)2 216 1 2952 480 t (program that writes a script file.)5 1281 1 720 840 t (One usually prints a)3 826 1 970 996 t 10 CW f (click)1829 996 w 10 R f ( though, one draws)3 784( Sometimes,)1 528(statement immediately after the event it marks.)6 1926 3 2162 996 t ( highlight the event, which are erased immediately after the)9 2463(additional objects to)2 833 2 720 1116 t 10 CW f (click)4051 1116 w 10 R f ( that case, one uses a)5 881(. In)1 168 2 4351 1116 t (sequence like)1 540 1 720 1236 t 9 I f (draw event E)2 538 1 1008 1406 t (highlight E)1 434 1 1008 1516 t 9 CW f (click E)1 378 1 1008 1626 t 9 I f (remove highlights)1 679 1 1008 1736 t 10 I f (Sorting, Again.)1 609 1 720 2072 t 10 R f (We will return to the subject of sorting with a more interesting animation: a race of insertion sort versus quick-)19 4430 1 970 2228 t ( two)1 179( The)1 209( [2].)1 170( will use the same insertion sort we saw earlier, and a quicksort described in Section 10.2 of)17 3754(sort. We)1 368 5 720 2348 t (sorting routines and their supporting functions are contained in this)9 2684 1 720 2468 t 10 I f (awk)3429 2468 w 10 R f (program:)3615 2468 w 9 CW f (awk ')1 270 1 1008 2638 t (BEGIN { n = 50)4 756 1 1008 2748 t (for \(i = 1; i <= n; i++\) x[i] = int\(100*rand\(\)\))10 2538 1 1440 2858 t (for \(i = 1; i <= n; i++\) draw\(i\))8 1728 1 1440 2968 t (qsort\(1, n\) # or isort\(\))4 1296 1 1440 3078 t (})1008 3188 w ( {)1 162(function draw\(i\))1 864 2 1008 3298 t (print "a" i ": line", i, -3, i, x[i])8 1944 1 1224 3408 t (})1008 3518 w ( {)1 108( t\))1 270(function swap\(i, j,)2 1026 3 1008 3628 t ( = t)2 216( x[j])1 324( = x[j];)2 432( x[i])1 324(t = x[i];)2 486 5 1224 3738 t (draw\(i\); draw\(j\))1 864 1 1224 3848 t (print "click swap")2 972 1 1224 3958 t (})1008 4068 w (function less\(i, j\) {)3 1134 1 1008 4178 t (print "click comp")2 972 1 1224 4288 t (if \(x[i] < x[j]\) return 1; else return 0)8 2160 1 1224 4398 t (})1008 4508 w ( j\) {)2 270( i,)1 270(function isort\()1 810 3 1008 4618 t (for \(i = 2; i <= n; i++\))7 1296 1 1224 4728 t (for \(j = i; j > 1 && less\(j, j-1\); j--\))10 2106 1 1440 4838 t (swap\(j-1, j\))1 648 1 1656 4948 t (})1008 5058 w ( m\) {)2 270( i,)1 270(function qsort\(l, u,)2 1080 3 1008 5168 t (if \(l >= u\) return)4 972 1 1224 5278 t (swap\(m = l, l + int\(\(u-l+1\)*rand\(\)\)\))5 1944 1 1224 5388 t (for \(i = l+1; i <= u; i++\))7 1404 1 1224 5498 t (if \(less\(i, l\)\) swap\(++m, i\))4 1512 1 1440 5608 t (swap\(l, m\))1 540 1 1224 5718 t (qsort\(l, m-1\))1 702 1 1224 5828 t (qsort\(m+1, u\))1 702 1 1224 5938 t (}')1008 6048 w 10 R f (Quicksort is called as)3 866 1 720 6228 t 10 CW f (qsort\(l,u\))1614 6228 w 10 R f (to sort the subarray)3 780 1 2242 6228 t 10 CW f (x[l..u])3051 6228 w 10 R f ( function)1 362(. The)1 234 2 3471 6228 t 10 CW f (draw)4096 6228 w 10 R f (represents the numbers to)3 1035 1 4365 6228 t ( The)1 212(be sorted as vertical lines.)4 1062 2 720 6348 t 10 CW f (BEGIN)2026 6348 w 10 R f (block sets)1 404 1 2358 6348 t 10 CW f (n)2794 6348 w 10 R f ( array, draws the initial representation, and then)7 1946(, initializes the)2 600 2 2854 6348 t ( it stands, the code depicts a 50-element quicksort.)8 2014( As)1 161(calls a sort routine.)3 760 3 720 6468 t ( of programs by implementing a simple form of time slicing.)10 2464(Some algorithm animation systems present races)5 1966 2 970 6624 t ( into the file)3 507(To create a race in our system, we first ran the program)11 2298 2 720 6744 t 10 CW f (qs.s)3557 6744 w 10 R f ( then changed the final line in the)7 1383(. We)1 220 2 3797 6744 t 10 CW f (BEGIN)720 6864 w 10 R f (section to call)2 557 1 1046 6864 t 10 CW f (isort)1629 6864 w 10 R f (, and ran that into the file)6 1013 1 1929 6864 t 10 CW f (is.s)2968 6864 w 10 R f ( with this)2 377( we merged the two scripts into one)7 1430(. Finally,)1 385 3 3208 6864 t 10 I f (awk)720 6984 w 10 R f (program:)906 6984 w cleartomark showpage saveobj restore %%EndPage: 13 15 %%Page: 14 16 /saveobj save def mark 16 pagesetup 10 R f (- 14 -)2 216 1 2952 480 t 9 CW f ( merge two sort animations)4 1404( #)1 162(awk ')1 270 3 1008 830 t ( of last getline)3 864( status)1 1188( label)1 432(BEGIN { # file name)4 1026 4 1008 940 t ( = 1)2 216( s1)1 216( = "view insert";)3 918( l1)1 432(f1 = "is.s";)2 648 5 1224 1050 t ( = 1)2 216( s2)1 270( = "view quick";)3 864( l2)1 432(f2 = "qs.s";)2 648 5 1224 1160 t (sep = "click comp")3 972 1 1224 1270 t (while \(s1 && s2\) {)4 972 1 1224 1380 t (print l1; while \(\(s1 = getline 0 && $0 != sep\) print)13 3186 1 1440 1490 t (print l2; while \(\(s2 = getline 0 && $0 != sep\) print)13 3186 1 1440 1600 t (print sep)1 486 1 1440 1710 t (})1224 1820 w (if \(s1 > 0\) { print l1; while \(getline 0\) { print l2; while \(getline race.s)1 540 1 1008 2150 t 10 R f ( insertion sort until it encounters a)6 1432(The loop copies the script of)5 1190 2 720 2330 t 10 CW f (click comp)1 576 1 3378 2330 t 10 R f (statement; it then copies quicksort)4 1410 1 3990 2330 t ( encounters the corresponding)3 1215(until it)1 271 2 720 2450 t 10 CW f (click)2236 2450 w 10 R f (, at which points it prints the)6 1172 1 2536 2450 t 10 CW f (click)3738 2450 w 10 R f ( variables)1 390(statement. The)1 618 2 4068 2450 t 10 CW f (s1)5106 2450 w 10 R f (and)5256 2450 w 10 CW f (s2)720 2570 w 10 R f (store the status of the most recent)6 1355 1 868 2570 t 10 CW f (getline)2251 2570 w 10 R f ( and zero if)3 463(s of the two files; the status is one if a record was found)13 2266 2 2671 2570 t ( production)1 468( \(A)1 165( of the other is copied.)5 943( one file is exhausted, the remainder)6 1510( When)1 299(an end-of-file was encountered.)3 1295 6 720 2690 t (splicer should have a more graceful interface for naming the files and views.\))12 3089 1 720 2810 t (The resulting script file is an execution of the sorts in two parallel views, synchronized by comparisons:)16 4153 1 970 2966 t 1944 3200 1944 3632 Dl 3024 3200 1944 3200 Dl 3024 3632 3024 3200 Dl 1944 3632 3024 3632 Dl 3024 3200 3024 3632 Dl 4104 3200 3024 3200 Dl 4104 3632 4104 3200 Dl 3024 3632 4104 3632 Dl ( Quicksort)1 1003(Insertion Sort)1 547 2 2211 3148 t (comp: 1)1 325 1 4176 3436 t 1992 3255 1992 3612 Dl 2013 3576 2013 3612 Dl 2033 3291 2033 3612 Dl 2053 3247 2053 3612 Dl 2072 3573 2072 3612 Dl 2093 3477 2093 3612 Dl 2113 3601 2113 3612 Dl 2133 3430 2133 3612 Dl 2153 3597 2153 3612 Dl 2173 3505 2173 3612 Dl 2193 3224 2193 3612 Dl 2213 3533 2213 3612 Dl 2233 3601 2233 3612 Dl 2253 3422 2253 3612 Dl 2273 3374 2273 3612 Dl 2293 3418 2293 3612 Dl 2313 3466 2313 3612 Dl 2333 3251 2333 3612 Dl 2353 3394 2353 3612 Dl 2373 3458 2373 3612 Dl 2394 3461 2394 3612 Dl 2413 3438 2413 3612 Dl 2433 3525 2433 3612 Dl 2453 3394 2453 3612 Dl 2473 3287 2473 3612 Dl 2494 3458 2494 3612 Dl 2514 3342 2514 3612 Dl 2533 3545 2533 3612 Dl 2553 3323 2553 3612 Dl 2574 3287 2574 3612 Dl 2594 3275 2594 3612 Dl 2614 3509 2614 3612 Dl 2633 3363 2633 3612 Dl 2653 3584 2653 3612 Dl 2671 3331 2671 3612 Dl 2692 3466 2692 3612 Dl 2714 3366 2714 3612 Dl 2736 3219 2736 3612 Dl 2757 3418 2757 3612 Dl 2772 3255 2772 3612 Dl 2793 3255 2793 3612 Dl 2815 3450 2815 3612 Dl 2836 3474 2836 3612 Dl 2851 3553 2851 3612 Dl 2872 3597 2872 3612 Dl 2894 3374 2894 3612 Dl 2916 3529 2916 3612 Dl 2937 3541 2937 3612 Dl 2952 3461 2952 3612 Dl 2973 3355 2973 3612 Dl 3072 3509 3072 3612 Dl 3093 3576 3093 3612 Dl 3113 3291 3113 3612 Dl 3133 3247 3133 3612 Dl 3152 3573 3152 3612 Dl 3173 3477 3173 3612 Dl 3193 3601 3193 3612 Dl 3213 3430 3213 3612 Dl 3233 3597 3233 3612 Dl 3253 3505 3253 3612 Dl 3273 3224 3273 3612 Dl 3293 3533 3293 3612 Dl 3313 3601 3313 3612 Dl 3333 3422 3333 3612 Dl 3353 3374 3353 3612 Dl 3373 3418 3373 3612 Dl 3393 3466 3393 3612 Dl 3413 3251 3413 3612 Dl 3433 3394 3433 3612 Dl 3453 3458 3453 3612 Dl 3474 3461 3474 3612 Dl 3493 3438 3493 3612 Dl 3513 3525 3513 3612 Dl 3533 3394 3533 3612 Dl 3553 3287 3553 3612 Dl 3574 3458 3574 3612 Dl 3594 3342 3594 3612 Dl 3613 3545 3613 3612 Dl 3633 3323 3633 3612 Dl 3654 3287 3654 3612 Dl 3674 3275 3674 3612 Dl 3694 3255 3694 3612 Dl 3713 3363 3713 3612 Dl 3733 3584 3733 3612 Dl 3751 3331 3751 3612 Dl 3772 3466 3772 3612 Dl 3794 3366 3794 3612 Dl 3816 3219 3816 3612 Dl 3837 3418 3837 3612 Dl 3852 3255 3852 3612 Dl 3873 3255 3873 3612 Dl 3895 3450 3895 3612 Dl 3916 3474 3916 3612 Dl 3931 3553 3931 3612 Dl 3952 3597 3952 3612 Dl 3974 3374 3974 3612 Dl 3996 3529 3996 3612 Dl 4017 3541 4017 3612 Dl 4032 3461 4032 3612 Dl 4053 3355 4053 3612 Dl 1944 3632 1944 4064 Dl 3024 3632 1944 3632 Dl 3024 4064 3024 3632 Dl 1944 4064 3024 4064 Dl 3024 3632 3024 4064 Dl 4104 3632 3024 3632 Dl 4104 4064 4104 3632 Dl 3024 4064 4104 4064 Dl (comp: 60)1 375 1 4176 3868 t 2053 4008 2053 4044 Dl 2072 4005 2072 4044 Dl 2093 3965 2093 4044 Dl 2113 3937 2113 4044 Dl 2133 3909 2133 4044 Dl 2153 3862 2153 4044 Dl 2173 3723 2173 4044 Dl 2193 3687 2193 4044 Dl 2213 3854 2213 4044 Dl 2233 3679 2233 4044 Dl 2253 3656 2253 4044 Dl 2273 3806 2273 4044 Dl 2293 3850 2293 4044 Dl 2313 3898 2313 4044 Dl 2333 3683 2333 4044 Dl 2353 3826 2353 4044 Dl 2373 3890 2373 4044 Dl 2394 3893 2394 4044 Dl 2413 3870 2413 4044 Dl 2433 3957 2433 4044 Dl 2453 3826 2453 4044 Dl 2473 3719 2473 4044 Dl 2494 3890 2494 4044 Dl 2514 3774 2514 4044 Dl 2533 3977 2533 4044 Dl 2553 3755 2553 4044 Dl 2574 3719 2574 4044 Dl 2594 3707 2594 4044 Dl 2614 3941 2614 4044 Dl 2633 3795 2633 4044 Dl 2653 4017 2653 4044 Dl 2671 3763 2671 4044 Dl 2692 3898 2692 4044 Dl 2714 3798 2714 4044 Dl 2736 3651 2736 4044 Dl 2757 3850 2757 4044 Dl 2772 3687 2772 4044 Dl 2793 3687 2793 4044 Dl 2815 3882 2815 4044 Dl 2836 3906 2836 4044 Dl 2851 3985 2851 4044 Dl 2872 4029 2872 4044 Dl 2894 3806 2894 4044 Dl 2916 3961 2916 4044 Dl 2937 3973 2937 4044 Dl 2952 3893 2952 4044 Dl 2973 3787 2973 4044 Dl 3072 4029 3072 4044 Dl 3093 4033 3093 4044 Dl 3113 4033 3113 4044 Dl 3133 4008 3133 4044 Dl 3152 4029 3152 4044 Dl 3173 3965 3173 4044 Dl 3193 4005 3193 4044 Dl 3213 3957 3213 4044 Dl 3233 3977 3233 4044 Dl 3253 4017 3253 4044 Dl 3273 3985 3273 4044 Dl 3293 3973 3293 4044 Dl 3313 3961 3313 4044 Dl 3353 3806 3353 4044 Dl 3373 3850 3373 4044 Dl 3393 3898 3393 4044 Dl 3413 3683 3413 4044 Dl 3433 3826 3433 4044 Dl 3453 3890 3453 4044 Dl 3474 3893 3474 4044 Dl 3493 3870 3493 4044 Dl 3513 3862 3513 4044 Dl 3533 3826 3533 4044 Dl 3553 3719 3553 4044 Dl 3574 3890 3574 4044 Dl 3594 3774 3594 4044 Dl 3613 3723 3613 4044 Dl 3633 3755 3633 4044 Dl 3654 3719 3654 4044 Dl 3674 3707 3674 4044 Dl 3694 3687 3694 4044 Dl 3713 3795 3713 4044 Dl 3733 3937 3733 4044 Dl 3751 3763 3751 4044 Dl 3772 3898 3772 4044 Dl 3794 3798 3794 4044 Dl 3816 3651 3816 4044 Dl 3837 3850 3837 4044 Dl 3852 3687 3852 4044 Dl 3873 3687 3873 4044 Dl 3895 3882 3895 4044 Dl 3916 3906 3916 4044 Dl 3931 3656 3931 4044 Dl 3952 3909 3952 4044 Dl 3974 3806 3974 4044 Dl 3996 3679 3996 4044 Dl 4017 3854 4017 4044 Dl 4032 3893 4032 4044 Dl 4053 3787 4053 4044 Dl 1992 4033 1992 4044 Dl 3333 3941 3333 4044 Dl 2013 4033 2013 4044 Dl 2033 4029 2033 4044 Dl 1944 4064 1944 4496 Dl 3024 4064 1944 4064 Dl 3024 4496 3024 4064 Dl 1944 4496 3024 4496 Dl 3024 4064 3024 4496 Dl 4104 4064 3024 4064 Dl 4104 4496 4104 4064 Dl 3024 4496 4104 4496 Dl (comp: 120)1 425 1 4176 4300 t 2053 4440 2053 4476 Dl 2072 4437 2072 4476 Dl 2093 4397 2093 4476 Dl 2113 4369 2113 4476 Dl 2133 4341 2133 4476 Dl 2153 4330 2153 4476 Dl 2173 4325 2173 4476 Dl 2193 4322 2193 4476 Dl 2213 4294 2213 4476 Dl 2233 4286 2233 4476 Dl 2253 4282 2253 4476 Dl 2273 4258 2273 4476 Dl 2293 4238 2293 4476 Dl 2313 4155 2313 4476 Dl 2333 4302 2333 4476 Dl 2353 4119 2353 4476 Dl 2373 4115 2373 4476 Dl 2394 4111 2394 4476 Dl 2413 4088 2413 4476 Dl 2433 4389 2433 4476 Dl 2453 4258 2453 4476 Dl 2473 4151 2473 4476 Dl 2494 4322 2494 4476 Dl 2514 4206 2514 4476 Dl 2533 4409 2533 4476 Dl 2553 4187 2553 4476 Dl 2574 4151 2574 4476 Dl 2594 4139 2594 4476 Dl 2614 4373 2614 4476 Dl 2633 4227 2633 4476 Dl 2653 4449 2653 4476 Dl 2671 4195 2671 4476 Dl 2692 4330 2692 4476 Dl 2714 4230 2714 4476 Dl 2736 4083 2736 4476 Dl 2757 4282 2757 4476 Dl 2772 4119 2772 4476 Dl 2793 4119 2793 4476 Dl 2815 4314 2815 4476 Dl 2836 4338 2836 4476 Dl 2851 4417 2851 4476 Dl 2872 4461 2872 4476 Dl 2894 4238 2894 4476 Dl 2916 4393 2916 4476 Dl 2937 4405 2937 4476 Dl 2952 4325 2952 4476 Dl 2973 4219 2973 4476 Dl 3353 4302 3353 4476 Dl 3373 4330 3373 4476 Dl 3393 4322 3393 4476 Dl 3413 4325 3413 4476 Dl 3433 4322 3433 4476 Dl 3453 4369 3453 4476 Dl 3474 4330 3474 4476 Dl 3493 4314 3493 4476 Dl 3513 4338 3513 4476 Dl 3533 4341 3533 4476 Dl 3553 4151 3553 4476 Dl 3574 4258 3574 4476 Dl 3594 4206 3594 4476 Dl 3613 4155 3613 4476 Dl 3633 4187 3633 4476 Dl 3654 4151 3654 4476 Dl 3674 4139 3674 4476 Dl 3694 4119 3694 4476 Dl 3713 4227 3713 4476 Dl 3733 4282 3733 4476 Dl 3751 4195 3751 4476 Dl 3772 4115 3772 4476 Dl 3794 4230 3794 4476 Dl 3816 4083 3816 4476 Dl 3837 4282 3837 4476 Dl 3852 4119 3852 4476 Dl 3873 4119 3873 4476 Dl 3895 4238 3895 4476 Dl 3916 4294 3916 4476 Dl 3931 4088 3931 4476 Dl 3952 4258 3952 4476 Dl 3974 4238 3974 4476 Dl 3996 4111 3996 4476 Dl 4017 4286 4017 4476 Dl 4032 4325 4032 4476 Dl 4053 4219 4053 4476 Dl 1992 4465 1992 4476 Dl 3333 4373 3333 4476 Dl 2013 4465 2013 4476 Dl 2033 4461 2033 4476 Dl 3113 4461 3113 4476 Dl 3093 4465 3093 4476 Dl 3072 4465 3072 4476 Dl 3313 4389 3313 4476 Dl 3293 4393 3293 4476 Dl 3233 4409 3233 4476 Dl 3213 4417 3213 4476 Dl 3193 4437 3193 4476 Dl 3133 4461 3133 4476 Dl 3152 4449 3152 4476 Dl 3173 4440 3173 4476 Dl 3273 4397 3273 4476 Dl 3253 4405 3253 4476 Dl 1944 4496 1944 4928 Dl 3024 4496 1944 4496 Dl 3024 4928 3024 4496 Dl 1944 4928 3024 4928 Dl 3024 4496 3024 4928 Dl 4104 4496 3024 4496 Dl 4104 4928 4104 4496 Dl 3024 4928 4104 4928 Dl (comp: 180)1 425 1 4176 4732 t 2053 4872 2053 4908 Dl 2072 4869 2072 4908 Dl 2093 4829 2093 4908 Dl 2113 4821 2113 4908 Dl 2133 4801 2133 4908 Dl 2153 4773 2153 4908 Dl 2173 4762 2173 4908 Dl 2193 4757 2193 4908 Dl 2213 4754 2213 4908 Dl 2233 4754 2233 4908 Dl 2253 4734 2253 4908 Dl 2273 4726 2273 4908 Dl 2293 4718 2293 4908 Dl 2313 4714 2313 4908 Dl 2333 4690 2333 4908 Dl 2353 4690 2353 4908 Dl 2373 4670 2373 4908 Dl 2394 4638 2394 4908 Dl 2413 4587 2413 4908 Dl 2433 4583 2433 4908 Dl 2453 4551 2453 4908 Dl 2473 4841 2473 4908 Dl 2494 4547 2494 4908 Dl 2514 4543 2514 4908 Dl 2533 4520 2533 4908 Dl 2553 4619 2553 4908 Dl 2574 4583 2574 4908 Dl 2594 4571 2594 4908 Dl 2614 4805 2614 4908 Dl 2633 4659 2633 4908 Dl 2653 4880 2653 4908 Dl 2671 4627 2671 4908 Dl 2692 4762 2692 4908 Dl 2714 4662 2714 4908 Dl 2736 4515 2736 4908 Dl 2757 4714 2757 4908 Dl 2772 4551 2772 4908 Dl 2793 4551 2793 4908 Dl 2815 4746 2815 4908 Dl 2836 4770 2836 4908 Dl 2851 4849 2851 4908 Dl 2872 4893 2872 4908 Dl 2894 4670 2894 4908 Dl 2916 4825 2916 4908 Dl 2937 4837 2937 4908 Dl 2952 4757 2952 4908 Dl 2973 4651 2973 4908 Dl 3574 4714 3574 4908 Dl 3594 4638 3594 4908 Dl 3613 4659 3613 4908 Dl 3633 4714 3633 4908 Dl 3654 4690 3654 4908 Dl 3674 4662 3674 4908 Dl 3694 4651 3694 4908 Dl 3713 4670 3713 4908 Dl 3733 4726 3733 4908 Dl 3751 4690 3751 4908 Dl 3772 4670 3772 4908 Dl 3794 4718 3794 4908 Dl 3837 4551 3837 4908 Dl 3852 4551 3852 4908 Dl 3873 4551 3873 4908 Dl 3895 4587 3895 4908 Dl 3916 4619 3916 4908 Dl 3931 4520 3931 4908 Dl 3952 4583 3952 4908 Dl 3974 4547 3974 4908 Dl 3996 4543 3996 4908 Dl 4017 4571 4017 4908 Dl 4032 4583 4032 4908 Dl 4053 4515 4053 4908 Dl 1992 4896 1992 4908 Dl 3333 4805 3333 4908 Dl 2013 4896 2013 4908 Dl 2033 4893 2033 4908 Dl 3113 4893 3113 4908 Dl 3093 4896 3093 4908 Dl 3072 4896 3072 4908 Dl 3313 4821 3313 4908 Dl 3293 4825 3293 4908 Dl 3233 4841 3233 4908 Dl 3213 4849 3213 4908 Dl 3193 4869 3193 4908 Dl 3133 4893 3133 4908 Dl 3152 4880 3152 4908 Dl 3173 4872 3173 4908 Dl 3273 4829 3273 4908 Dl 3253 4837 3253 4908 Dl 3553 4734 3553 4908 Dl 3533 4746 3533 4908 Dl 3393 4770 3393 4908 Dl 3373 4773 3373 4908 Dl 3353 4801 3353 4908 Dl 3453 4757 3453 4908 Dl 3433 4762 3433 4908 Dl 3413 4762 3413 4908 Dl 3474 4757 3474 4908 Dl 3513 4754 3513 4908 Dl 3493 4754 3493 4908 Dl 3816 4627 3816 4908 Dl 1944 4928 1944 5360 Dl 3024 4928 1944 4928 Dl 3024 5360 3024 4928 Dl 1944 5360 3024 5360 Dl 3024 4928 3024 5360 Dl 4104 4928 3024 4928 Dl 4104 5360 4104 4928 Dl 3024 5360 4104 5360 Dl (comp: 240)1 425 1 4176 5164 t 2053 5304 2053 5340 Dl 2072 5301 2072 5340 Dl 2093 5273 2093 5340 Dl 2113 5261 2113 5340 Dl 2133 5253 2133 5340 Dl 2153 5237 2153 5340 Dl 2173 5233 2173 5340 Dl 2193 5205 2193 5340 Dl 2213 5194 2213 5340 Dl 2233 5189 2233 5340 Dl 2253 5186 2253 5340 Dl 2273 5186 2273 5340 Dl 2293 5166 2293 5340 Dl 2313 5158 2313 5340 Dl 2333 5150 2333 5340 Dl 2353 5146 2353 5340 Dl 2373 5122 2373 5340 Dl 2394 5122 2394 5340 Dl 2413 5102 2413 5340 Dl 2433 5070 2433 5340 Dl 2453 5051 2453 5340 Dl 2473 5019 2473 5340 Dl 2494 5015 2494 5340 Dl 2514 5015 2514 5340 Dl 2533 5003 2533 5340 Dl 2553 4983 2553 5340 Dl 2574 4979 2574 5340 Dl 2594 4975 2594 5340 Dl 2614 4952 2614 5340 Dl 2633 5091 2633 5340 Dl 2653 5312 2653 5340 Dl 2671 5059 2671 5340 Dl 2692 5194 2692 5340 Dl 2714 5094 2714 5340 Dl 2736 4947 2736 5340 Dl 2757 5146 2757 5340 Dl 2772 4983 2772 5340 Dl 2793 4983 2793 5340 Dl 2815 5178 2815 5340 Dl 2836 5202 2836 5340 Dl 2851 5281 2851 5340 Dl 2872 5325 2872 5340 Dl 2894 5102 2894 5340 Dl 2916 5257 2916 5340 Dl 2937 5269 2937 5340 Dl 2952 5189 2952 5340 Dl 2973 5083 2973 5340 Dl 3974 4983 3974 5340 Dl 1992 5328 1992 5340 Dl 3333 5237 3333 5340 Dl 2013 5328 2013 5340 Dl 2033 5325 2033 5340 Dl 3113 5325 3113 5340 Dl 3093 5328 3093 5340 Dl 3072 5328 3072 5340 Dl 3313 5253 3313 5340 Dl 3293 5257 3293 5340 Dl 3233 5273 3233 5340 Dl 3213 5281 3213 5340 Dl 3193 5301 3193 5340 Dl 3133 5325 3133 5340 Dl 3152 5312 3152 5340 Dl 3173 5304 3173 5340 Dl 3273 5261 3273 5340 Dl 3253 5269 3253 5340 Dl 3553 5166 3553 5340 Dl 3533 5178 3533 5340 Dl 3393 5202 3393 5340 Dl 3373 5205 3373 5340 Dl 3353 5233 3353 5340 Dl 3453 5189 3453 5340 Dl 3433 5194 3433 5340 Dl 3413 5194 3413 5340 Dl 3474 5189 3474 5340 Dl 3513 5186 3513 5340 Dl 3493 5186 3493 5340 Dl 3816 5059 3816 5340 Dl 3613 5146 3613 5340 Dl 3594 5150 3594 5340 Dl 3574 5158 3574 5340 Dl 3751 5091 3751 5340 Dl 3694 5102 3694 5340 Dl 3674 5122 3674 5340 Dl 3633 5146 3633 5340 Dl 3654 5122 3654 5340 Dl 3733 5094 3733 5340 Dl 3713 5102 3713 5340 Dl 3794 5070 3794 5340 Dl 3772 5083 3772 5340 Dl 3873 5015 3873 5340 Dl 3837 5051 3837 5340 Dl 3852 5019 3852 5340 Dl 4053 4947 4053 5340 Dl 3931 4983 3931 5340 Dl 3895 5015 3895 5340 Dl 3916 5003 3916 5340 Dl 3952 4983 3952 5340 Dl 3996 4979 3996 5340 Dl 4032 4952 4032 5340 Dl 4017 4975 4017 5340 Dl 1944 5360 1944 5792 Dl 3024 5360 1944 5360 Dl 3024 5792 3024 5360 Dl 1944 5792 3024 5792 Dl 3024 5360 3024 5792 Dl 4104 5360 3024 5360 Dl 4104 5792 4104 5360 Dl 3024 5792 4104 5792 Dl (comp: 630)1 425 1 4176 5596 t 1992 5760 1992 5772 Dl 3333 5669 3333 5772 Dl 2013 5760 2013 5772 Dl 2033 5757 2033 5772 Dl 3113 5757 3113 5772 Dl 3093 5760 3093 5772 Dl 3072 5760 3072 5772 Dl 3313 5685 3313 5772 Dl 3293 5689 3293 5772 Dl 3233 5705 3233 5772 Dl 3213 5713 3213 5772 Dl 3193 5733 3193 5772 Dl 3133 5757 3133 5772 Dl 3152 5744 3152 5772 Dl 3173 5736 3173 5772 Dl 3273 5693 3273 5772 Dl 3253 5701 3253 5772 Dl 3553 5598 3553 5772 Dl 3533 5610 3533 5772 Dl 3393 5634 3393 5772 Dl 3373 5637 3373 5772 Dl 3353 5665 3353 5772 Dl 3453 5621 3453 5772 Dl 3433 5626 3433 5772 Dl 3413 5626 3413 5772 Dl 3474 5621 3474 5772 Dl 3513 5618 3513 5772 Dl 3493 5618 3493 5772 Dl 3816 5491 3816 5772 Dl 3613 5578 3613 5772 Dl 3594 5582 3594 5772 Dl 3574 5590 3574 5772 Dl 3751 5523 3751 5772 Dl 3694 5534 3694 5772 Dl 3674 5554 3674 5772 Dl 3633 5578 3633 5772 Dl 3654 5554 3654 5772 Dl 3733 5526 3733 5772 Dl 3713 5534 3713 5772 Dl 3794 5502 3794 5772 Dl 3772 5515 3772 5772 Dl 3873 5447 3873 5772 Dl 3837 5483 3837 5772 Dl 3852 5451 3852 5772 Dl 4053 5379 4053 5772 Dl 3931 5415 3931 5772 Dl 3895 5447 3895 5772 Dl 3916 5435 3916 5772 Dl 3952 5415 3952 5772 Dl 3996 5411 3996 5772 Dl 4032 5384 4032 5772 Dl 4017 5407 4017 5772 Dl 3974 5415 3974 5772 Dl 2153 5705 2153 5772 Dl 2133 5713 2133 5772 Dl 2113 5733 2113 5772 Dl 2093 5736 2093 5772 Dl 2053 5757 2053 5772 Dl 2072 5744 2072 5772 Dl 2373 5621 2373 5772 Dl 2353 5626 2353 5772 Dl 2333 5626 2333 5772 Dl 2313 5634 2313 5772 Dl 2293 5637 2293 5772 Dl 2273 5665 2273 5772 Dl 2253 5669 2253 5772 Dl 2233 5685 2233 5772 Dl 2213 5689 2213 5772 Dl 2173 5701 2173 5772 Dl 2193 5693 2193 5772 Dl 2671 5523 2671 5772 Dl 2653 5526 2653 5772 Dl 2633 5534 2633 5772 Dl 2614 5534 2614 5772 Dl 2594 5554 2594 5772 Dl 2574 5554 2574 5772 Dl 2553 5578 2553 5772 Dl 2533 5578 2533 5772 Dl 2514 5582 2514 5772 Dl 2494 5590 2494 5772 Dl 2473 5598 2473 5772 Dl 2453 5610 2453 5772 Dl 2433 5618 2433 5772 Dl 2394 5621 2394 5772 Dl 2413 5618 2413 5772 Dl 2973 5379 2973 5772 Dl 2952 5384 2952 5772 Dl 2937 5407 2937 5772 Dl 2916 5411 2916 5772 Dl 2894 5415 2894 5772 Dl 2872 5415 2872 5772 Dl 2851 5415 2851 5772 Dl 2836 5435 2836 5772 Dl 2815 5447 2815 5772 Dl 2793 5447 2793 5772 Dl 2772 5451 2772 5772 Dl 2757 5483 2757 5772 Dl 2736 5491 2736 5772 Dl 2692 5515 2692 5772 Dl 2714 5502 2714 5772 Dl ( picture only hints at the operation of quicksort;)8 1952( This)1 234( insertion sort sifts each element into place in turn.)9 2074(As before,)1 420 4 720 5990 t ( Quick-)1 335(insight into that algorithm requires the identification of interesting events beyond comparisons and swaps.)13 4345 2 720 6110 t ( completeness, here is)3 891( For)1 193(sort finishes after 240 comparisons, while insertion sort takes almost three times as long.)13 3596 3 720 6230 t (the)720 6350 w 10 I f (stills)867 6350 w 10 R f (input that produced the picture:)4 1254 1 1082 6350 t cleartomark showpage saveobj restore %%EndPage: 14 16 %%Page: 15 17 /saveobj save def mark 17 pagesetup 10 R f (- 15 -)2 216 1 2952 480 t 9 CW f (.begin stills)1 702 1 1008 830 t (down)1008 940 w (file race.s)1 594 1 1008 1050 t (frameht .6)1 540 1 1008 1160 t (framewid 1.5)1 648 1 1008 1270 t (view insert "Insertion Sort")3 1512 1 1008 1380 t (view quick "Quicksort")2 1188 1 1008 1490 t (print comp 1 60 120 180 240 630)7 1674 1 1008 1600 t (.end)1008 1710 w 10 I f (Trees.)720 2046 w 10 R f ( a \(nonbalanced\) binary search tree after inserting 5, 10, 15 and 20 random integers in the)16 3633(Here are pictures of)3 797 2 970 2202 t (range 0..999:)1 524 1 720 2322 t 6 R f (878)2808 2532 w 10 R f 1125 2613 2808 2520 Dl 6 R f (64)1124 2625 w 10 R f 2620 2697 1124 2613 Dl 6 R f (785)2620 2709 w 10 R f 2836 2613 2808 2520 Dl 6 R f (892)2836 2625 w 10 R f 1137 2784 2620 2697 Dl 6 R f (70)1136 2796 w (878)4968 2532 w 10 R f 3285 2613 4968 2520 Dl 6 R f (64)3284 2625 w 10 R f 4780 2697 3284 2613 Dl 6 R f (785)4780 2709 w 10 R f 4996 2613 4968 2520 Dl 6 R f (892)4996 2625 w 10 R f 3297 2784 4780 2697 Dl 6 R f (70)3296 2796 w 10 R f 3793 2871 3296 2784 Dl 6 R f (311)3794 2884 w 10 R f 3162 2697 3284 2613 Dl 6 R f (5)3162 2709 w 10 R f 4046 2959 3794 2872 Dl 6 R f (433)4046 2971 w 10 R f 3178 2784 3162 2697 Dl 6 R f (13)3178 2796 w 10 R f 3653 2959 3794 2872 Dl 6 R f (242)3653 2971 w (878)2808 3468 w 10 R f 1125 3549 2808 3456 Dl 6 R f (64)1124 3561 w 10 R f 2620 3633 1124 3549 Dl 6 R f (785)2620 3645 w 10 R f 2836 3549 2808 3456 Dl 6 R f (892)2836 3561 w 10 R f 1137 3720 2620 3633 Dl 6 R f (70)1136 3732 w 10 R f 1633 3807 1136 3720 Dl 6 R f (311)1634 3820 w 10 R f 1002 3633 1124 3549 Dl 6 R f (5)1002 3645 w 10 R f 1886 3895 1634 3808 Dl 6 R f (433)1886 3907 w 10 R f 1018 3720 1002 3633 Dl 6 R f (13)1018 3732 w 10 R f 1493 3895 1634 3808 Dl 6 R f (242)1493 3907 w 10 R f 2958 3633 2836 3549 Dl 6 R f (951)2959 3645 w 10 R f 1348 3982 1493 3895 Dl 6 R f (172)1347 3995 w 10 R f 998 3720 1002 3633 Dl 6 R f (3)997 3732 w 10 R f 1936 3982 1886 3895 Dl 6 R f (457)1936 3995 w 10 R f 2180 4070 1936 3983 Dl 6 R f (575)2181 4082 w (878)4968 3468 w 10 R f 3285 3549 4968 3456 Dl 6 R f (64)3284 3561 w 10 R f 4780 3633 3284 3549 Dl 6 R f (785)4780 3645 w 10 R f 4996 3549 4968 3456 Dl 6 R f (892)4996 3561 w 10 R f 3297 3720 4780 3633 Dl 6 R f (70)3296 3732 w 10 R f 3793 3807 3296 3720 Dl 6 R f (311)3794 3820 w 10 R f 3162 3633 3284 3549 Dl 6 R f (5)3162 3645 w 10 R f 4046 3895 3794 3808 Dl 6 R f (433)4046 3907 w 10 R f 3178 3720 3162 3633 Dl 6 R f (13)3178 3732 w 10 R f 3653 3895 3794 3808 Dl 6 R f (242)3653 3907 w 10 R f 5118 3633 4996 3549 Dl 6 R f (951)5119 3645 w 10 R f 3508 3982 3653 3895 Dl 6 R f (172)3507 3995 w 10 R f 3158 3720 3162 3633 Dl 6 R f (3)3157 3732 w 10 R f 4096 3982 4046 3895 Dl 6 R f (457)4096 3995 w 10 R f 4340 4070 4096 3983 Dl 6 R f (575)4341 4082 w 10 R f 4104 4157 4341 4070 Dl 6 R f (461)4104 4169 w 10 R f 3866 3982 4046 3895 Dl 6 R f (345)3866 3995 w 10 R f 4975 3633 4996 3549 Dl 6 R f (882)4975 3645 w 10 R f 4233 4244 4104 4157 Dl 6 R f (522)4233 4256 w 10 R f 3894 4070 3866 3983 Dl 6 R f (360)3895 4082 w 10 R f ( script was generated by this)5 1139( The)1 206( last two frames, the labels for node 3 and 13 are squeezed too close together.)15 3105(In the)1 230 4 720 4482 t 10 I f (awk)720 4602 w 10 R f (program:)906 4602 w 9 CW f (awk ')1 270 1 1008 4772 t (BEGIN { n = 20; root = null = -1)9 1728 1 1008 4882 t (for \(i = 1; i <= n; i++\))7 1296 1 1440 4992 t (root = insert\(root, null, int\(1000*rand\(\)\), 0\))5 2484 1 1872 5102 t (})1008 5212 w (function insert\(p, pp, x, d\) { # node p, parent pp, value x, depth d)14 3672 1 1008 5322 t (if \(p == null\) {)4 864 1 1440 5432 t (val[p = ++nodecount] = x)4 1296 1 1872 5542 t (lson[p] = rson[p] = null)4 1296 1 1872 5652 t (if \(pp != null\) print "line", val[pp], 1-d, val[p], -d)9 2916 1 1872 5762 t (print "text ljust", val[p], -d, "\\"" x "\\"")7 2322 1 1872 5872 t (print "click insert")2 1080 1 1872 5982 t (} else if \(x < val[p]\))5 1188 1 1440 6092 t (lson[p] = insert\(lson[p], p, x, d+1\))5 1944 1 1872 6202 t (else if \(x > val[p]\))4 1080 1 1440 6312 t (rson[p] = insert\(rson[p], p, x, d+1\))5 1944 1 1872 6422 t (return p)1 432 1 1440 6532 t (})1008 6642 w (')1008 6752 w 10 R f (The animation code consists of just three lines in the)9 2101 1 720 6932 t 10 CW f (insert)2846 6932 w 10 R f (procedure.)3231 6932 w ( trees have two dis-)4 780( The)1 206( give insight into random binary search trees in spite of being rather ugly.)13 2948(The pictures)1 496 4 970 7088 t (tinct failings: the depiction of individual nodes, and the layout of the entire tree.)13 3194 1 720 7208 t cleartomark showpage saveobj restore %%EndPage: 15 17 %%Page: 16 18 /saveobj save def mark 18 pagesetup 10 R f (- 16 -)2 216 1 2952 480 t ( the tree is)3 443( the shape of)3 534( If)1 125(A node is represented by its numeric value; each node is connected to its parent.)14 3328 4 970 840 t ( a tree with more)4 692( will shortly see)3 651( We)1 193(more important than the values it contains, one can delete the values entirely.)12 3144 4 720 960 t (graceful edges.)1 603 1 720 1080 t ( The)1 210(The other aesthetic issue is the layout of the tree.)9 1997 2 970 1236 t 10 I f (y)3207 1236 w 10 R f ( a)1 75(-value is the depth of the node in the tree, which is)11 2074 2 3251 1236 t ( The)1 206(very robust choice \(one could also use the time at which the node was inserted\).)14 3219 2 720 1356 t 10 I f (x)4171 1356 w 10 R f (-value in this example is sim-)5 1185 1 4215 1356 t ( could instead use the number of the)7 1452( One)1 217(ply the randomly generated value itself; there are many alternative choices.)10 3011 3 720 1476 t ( multiple-pass algorithm: the tree is first built, then traversed and num-)11 2842(node in an inorder traversal, which involves a)7 1838 2 720 1596 t ( this representation, it is crucial to)6 1405( For)1 197( the insertions are then reported with knowledge of the numbers.)10 2656(bered, and)1 422 4 720 1716 t ( it is convenient to calculate these in two filters in)10 1997(separate the interesting events from their geometric representation;)7 2683 2 720 1836 t (a pipeline.)1 416 1 720 1956 t ( was generated by a 50-line)5 1119( It)1 116(This animation of heapsort uses an alternative representation of trees.)9 2808 3 970 2112 t 10 I f (awk)5043 2112 w 10 R f (pro-)5234 2112 w (gram.)720 2232 w 900 2394 900 3114 Dl 1620 2394 900 2394 Dl 1620 3114 1620 2394 Dl 900 3114 1620 3114 Dl 6 R f (87)1253 2465 w (6 78)1 414 1 1083 2665 t (89 7 31 0)3 600 1 975 2866 t (43)929 3066 w 10 R f 997 2894 997 2938 Dl 997 2894 977 2933 Dl 969 3013 997 2893 Dl 1620 2394 1620 3114 Dl 2340 2394 1620 2394 Dl 2340 3114 2340 2394 Dl 1620 3114 2340 3114 Dl 6 R f (87)1973 2465 w (6 78)1 414 1 1803 2665 t (89 7 31 0)3 600 1 1695 2866 t (43)1649 3066 w 10 R f 1717 2894 1717 2938 Dl 1717 2894 1697 2933 Dl 1689 3013 1717 2893 Dl 2168 2695 2160 2738 Dl 2169 2694 2141 2728 Dl 2114 2813 2169 2694 Dl 2206 2694 2234 2728 Dl 2206 2695 2214 2738 Dl 2261 2813 2206 2694 Dl 2340 2394 2340 3114 Dl 3060 2394 2340 2394 Dl 3060 3114 3060 2394 Dl 2340 3114 3060 3114 Dl 6 R f (87)2693 2465 w (89 78)1 429 1 2508 2665 t (43 7 31 0)3 600 1 2415 2866 t (6)2384 3066 w 10 R f 2437 2894 2437 2938 Dl 2437 2894 2417 2933 Dl 2409 3013 2437 2893 Dl 2888 2695 2880 2738 Dl 2889 2694 2861 2728 Dl 2834 2813 2889 2694 Dl 2926 2694 2954 2728 Dl 2926 2695 2934 2738 Dl 2981 2813 2926 2694 Dl 2519 2695 2511 2738 Dl 2519 2694 2491 2728 Dl 2465 2813 2520 2694 Dl 2556 2694 2584 2728 Dl 2557 2695 2565 2738 Dl 2611 2813 2556 2694 Dl 3060 2394 3060 3114 Dl 3780 2394 3060 2394 Dl 3780 3114 3780 2394 Dl 3060 3114 3780 3114 Dl 6 R f (89)3413 2465 w (87 78)1 429 1 3228 2665 t (43 7 31 0)3 600 1 3135 2866 t (6)3104 3066 w 10 R f 3157 2894 3157 2938 Dl 3157 2894 3137 2933 Dl 3129 3013 3157 2893 Dl 3608 2695 3600 2738 Dl 3609 2694 3581 2728 Dl 3554 2813 3609 2694 Dl 3646 2694 3674 2728 Dl 3646 2695 3654 2738 Dl 3701 2813 3646 2694 Dl 3239 2695 3231 2738 Dl 3239 2694 3211 2728 Dl 3185 2813 3240 2694 Dl 3276 2694 3304 2728 Dl 3277 2695 3285 2738 Dl 3331 2813 3276 2694 Dl 3405 2494 3384 2532 Dl 3405 2494 3368 2518 Dl 3296 2614 3406 2494 Dl 3480 2494 3517 2518 Dl 3480 2494 3501 2532 Dl 3589 2614 3479 2494 Dl 3780 2394 3780 3114 Dl 4500 2394 3780 2394 Dl 4500 3114 4500 2394 Dl 3780 3114 4500 3114 Dl 6 R f (87)4133 2465 w (43 78)1 429 1 3948 2665 t ( 31 0)2 370(6 7)1 215 2 3870 2866 t 10 R f 4328 2695 4320 2738 Dl 4329 2694 4301 2728 Dl 4274 2813 4329 2694 Dl 4366 2694 4394 2728 Dl 4366 2695 4374 2738 Dl 4421 2813 4366 2694 Dl 3959 2695 3951 2738 Dl 3959 2694 3931 2728 Dl 3905 2813 3960 2694 Dl 3996 2694 4024 2728 Dl 3997 2695 4005 2738 Dl 4051 2813 3996 2694 Dl 4125 2494 4104 2532 Dl 4125 2494 4088 2518 Dl 4016 2614 4126 2494 Dl 4200 2494 4237 2518 Dl 4200 2494 4221 2532 Dl 4309 2614 4199 2494 Dl 6 R f (89)3809 3066 w 10 R f 4500 2394 4500 3114 Dl 5220 2394 4500 2394 Dl 5220 3114 5220 2394 Dl 4500 3114 5220 3114 Dl 6 R f (78)4853 2465 w (43 31)1 429 1 4668 2665 t (6 7 0)2 400 1 4590 2866 t 10 R f 5048 2695 5040 2738 Dl 5049 2694 5021 2728 Dl 4994 2813 5049 2694 Dl 4679 2695 4671 2738 Dl 4679 2694 4651 2728 Dl 4625 2813 4680 2694 Dl 4716 2694 4744 2728 Dl 4717 2695 4725 2738 Dl 4771 2813 4716 2694 Dl 4845 2494 4824 2532 Dl 4845 2494 4808 2518 Dl 4736 2614 4846 2494 Dl 4920 2494 4957 2518 Dl 4920 2494 4941 2532 Dl 5029 2614 4919 2494 Dl 6 R f (89)4529 3066 w 10 R f 4680 3013 4717 2990 Dl 4680 3013 4724 3010 Dl 5040 2893 4680 3013 Dl 6 R f (87)5130 2866 w 10 R f 900 3186 900 3906 Dl 1620 3186 900 3186 Dl 1620 3906 1620 3186 Dl 900 3906 1620 3906 Dl 6 R f (43)1253 3257 w (7 31)1 414 1 1083 3457 t (6 0)1 215 1 990 3658 t 10 R f 1079 3487 1071 3530 Dl 1079 3486 1051 3520 Dl 1025 3605 1080 3486 Dl 1116 3486 1144 3520 Dl 1117 3487 1125 3530 Dl 1171 3605 1116 3486 Dl 1245 3286 1224 3324 Dl 1245 3286 1208 3310 Dl 1136 3406 1246 3286 Dl 1320 3286 1357 3310 Dl 1320 3286 1341 3324 Dl 1429 3406 1319 3286 Dl 6 R f (89)929 3858 w 10 R f 1080 3805 1117 3782 Dl 1080 3805 1124 3802 Dl 1440 3685 1080 3805 Dl 6 R f (87)1530 3658 w 10 R f 1522 3646 1479 3656 Dl 1522 3645 1479 3635 Dl 1412 3646 1522 3646 Dl 6 R f (78)1345 3658 w 10 R f 1620 3186 1620 3906 Dl 2340 3186 1620 3186 Dl 2340 3906 2340 3186 Dl 1620 3906 2340 3906 Dl 6 R f (31)1973 3257 w (7 0)1 399 1 1803 3457 t (6)1710 3658 w 10 R f 1799 3487 1791 3530 Dl 1799 3486 1771 3520 Dl 1745 3605 1800 3486 Dl 1965 3286 1944 3324 Dl 1965 3286 1928 3310 Dl 1856 3406 1966 3286 Dl 2040 3286 2077 3310 Dl 2040 3286 2061 3324 Dl 2149 3406 2039 3286 Dl 6 R f (89)1649 3858 w 10 R f 1800 3805 1837 3782 Dl 1800 3805 1844 3802 Dl 2160 3685 1800 3805 Dl 6 R f (87)2250 3658 w 10 R f 2242 3646 2199 3656 Dl 2242 3645 2199 3635 Dl 2132 3646 2242 3646 Dl 6 R f (78)2065 3658 w 10 R f 2058 3646 2015 3656 Dl 2058 3645 2015 3635 Dl 1948 3646 2058 3646 Dl 6 R f (43)1880 3658 w 10 R f 2340 3186 2340 3906 Dl 3060 3186 2340 3186 Dl 3060 3906 3060 3186 Dl 2340 3906 3060 3906 Dl 6 R f (7)2708 3257 w (6 0)1 399 1 2523 3457 t 10 R f 2685 3286 2664 3324 Dl 2685 3286 2648 3310 Dl 2576 3406 2686 3286 Dl 2760 3286 2797 3310 Dl 2760 3286 2781 3324 Dl 2869 3406 2759 3286 Dl 6 R f (89)2369 3858 w 10 R f 2520 3805 2557 3782 Dl 2520 3805 2564 3802 Dl 2880 3685 2520 3805 Dl 6 R f (87)2970 3658 w 10 R f 2962 3646 2919 3656 Dl 2962 3645 2919 3635 Dl 2852 3646 2962 3646 Dl 6 R f (78)2785 3658 w 10 R f 2778 3646 2735 3656 Dl 2778 3645 2735 3635 Dl 2668 3646 2778 3646 Dl 6 R f (43)2600 3658 w 10 R f 2593 3646 2550 3656 Dl 2593 3645 2550 3635 Dl 2484 3646 2594 3646 Dl 6 R f (31)2415 3658 w 10 R f 3060 3186 3060 3906 Dl 3780 3186 3060 3186 Dl 3780 3906 3780 3186 Dl 3060 3906 3780 3906 Dl 6 R f (6)3428 3257 w (0)3243 3457 w 10 R f 3405 3286 3384 3324 Dl 3405 3286 3368 3310 Dl 3296 3406 3406 3286 Dl 6 R f (89)3089 3858 w 10 R f 3240 3805 3277 3782 Dl 3240 3805 3284 3802 Dl 3600 3685 3240 3805 Dl 6 R f (87)3690 3658 w 10 R f 3682 3646 3639 3656 Dl 3682 3645 3639 3635 Dl 3572 3646 3682 3646 Dl 6 R f (78)3505 3658 w 10 R f 3498 3646 3455 3656 Dl 3498 3645 3455 3635 Dl 3388 3646 3498 3646 Dl 6 R f (43)3320 3658 w 10 R f 3313 3646 3270 3656 Dl 3313 3645 3270 3635 Dl 3204 3646 3314 3646 Dl 6 R f (31)3135 3658 w 10 R f 3259 3605 3294 3578 Dl 3259 3605 3302 3598 Dl 3534 3486 3258 3605 Dl 6 R f (7)3612 3457 w 10 R f 3780 3186 3780 3906 Dl 4500 3186 3780 3186 Dl 4500 3906 4500 3186 Dl 3780 3906 4500 3906 Dl 6 R f (89)3809 3858 w 10 R f 3960 3805 3997 3782 Dl 3960 3805 4004 3802 Dl 4320 3685 3960 3805 Dl 6 R f (87)4410 3658 w 10 R f 4402 3646 4359 3656 Dl 4402 3645 4359 3635 Dl 4292 3646 4402 3646 Dl 6 R f (78)4225 3658 w 10 R f 4218 3646 4175 3656 Dl 4218 3645 4175 3635 Dl 4108 3646 4218 3646 Dl 6 R f (43)4040 3658 w 10 R f 4033 3646 3990 3656 Dl 4033 3645 3990 3635 Dl 3924 3646 4034 3646 Dl 6 R f (31)3855 3658 w 10 R f 3979 3605 4014 3578 Dl 3979 3605 4022 3598 Dl 4254 3486 3978 3605 Dl 6 R f (7)4332 3457 w 10 R f 4273 3446 4230 3456 Dl 4273 3445 4230 3435 Dl 4052 3445 4273 3445 Dl 6 R f (0)4148 3257 w (6)3963 3457 w 10 R f 4500 3186 4500 3906 Dl 5220 3186 4500 3186 Dl 5220 3906 5220 3186 Dl 4500 3906 5220 3906 Dl 6 R f (89)4529 3858 w 10 R f 4680 3805 4717 3782 Dl 4680 3805 4724 3802 Dl 5040 3685 4680 3805 Dl 6 R f (87)5130 3658 w 10 R f 5122 3646 5079 3656 Dl 5122 3645 5079 3635 Dl 5012 3646 5122 3646 Dl 6 R f (78)4945 3658 w 10 R f 4938 3646 4895 3656 Dl 4938 3645 4895 3635 Dl 4828 3646 4938 3646 Dl 6 R f (43)4760 3658 w 10 R f 4753 3646 4710 3656 Dl 4753 3645 4710 3635 Dl 4644 3646 4754 3646 Dl 6 R f (31)4575 3658 w 10 R f 4699 3605 4734 3578 Dl 4699 3605 4742 3598 Dl 4974 3486 4698 3605 Dl 6 R f (7)5052 3457 w 10 R f 4993 3446 4950 3456 Dl 4993 3445 4950 3435 Dl 4772 3445 4993 3445 Dl 6 R f (0)4868 3257 w (6)4683 3457 w 10 R f 4736 3405 4757 3367 Dl 4735 3405 4772 3381 Dl 4845 3286 4735 3406 Dl ( of a)2 181(Each snapshot shows the result)4 1247 2 720 4104 t 10 CW f (sift)2175 4104 w 10 R f ( first four)2 381(operation. The)1 609 2 2442 4104 t 10 CW f (sift)3459 4104 w 10 R f (s build the heap; subsequent)4 1135 1 3699 4104 t 10 CW f (sift)4861 4104 w 10 R f (s main-)1 299 1 5101 4104 t ( point from lesser elements to greater elements.)7 1891( Arrows)1 349(tain the unsorted elements as a heap.)6 1461 3 720 4224 t ( its value; lines between nodes have a single arrowhead and are chopped)12 2947(A node in the heap is represented by)7 1483 2 970 4380 t ( 1)1 58( of the heap is at \()6 841( root)1 208( The)1 227(by twenty percent at each end.)5 1323 5 720 4500 t 10 I f (/)3385 4500 w 10 R f (2 ,)1 83 1 3421 4500 t 10 S f (-)3553 4500 w 10 R f ( 1)1 58( its two children are at \()6 1074(1 \),)1 116 3 3624 4500 t 10 I f (/)4880 4500 w 10 R f (4 ,)1 83 1 4916 4500 t 10 S f (-)5048 4500 w 10 R f ( and)1 190(2 \))1 91 2 5119 4500 t (\( 3)1 91 1 720 4620 t 10 I f (/)819 4620 w 10 R f (4 ,)1 83 1 855 4620 t 10 S f (-)987 4620 w 10 R f ( 1)1 58( their four children are at \()6 1052(2 \),)1 116 3 1058 4620 t 10 I f (/)2292 4620 w 10 R f (8 ,)1 83 1 2328 4620 t 10 S f (-)2460 4620 w 10 R f ( 3)1 58( \()1 58(3 \),)1 116 3 2531 4620 t 10 I f (/)2771 4620 w 10 R f (8 ,)1 83 1 2807 4620 t 10 S f (-)2939 4620 w 10 R f ( 5)1 58( \()1 58(3 \),)1 116 3 3010 4620 t 10 I f (/)3250 4620 w 10 R f (8 ,)1 83 1 3286 4620 t 10 S f (-)3418 4620 w 10 R f ( 7)1 58( \()1 58(3 \),)1 116 3 3489 4620 t 10 I f (/)3729 4620 w 10 R f (8 ,)1 83 1 3765 4620 t 10 S f (-)3897 4620 w 10 R f ( etc.)1 166(3 \),)1 116 2 3968 4620 t ( cases, a node's)3 629( both)1 205( In)1 135(Other tree layouts proved useful in animating two algorithms dealing with parse trees.)12 3461 4 970 4776 t 10 I f (x)720 4896 w 10 R f (-value was the minimum of the)5 1301 1 764 4896 t 10 I f (x)2101 4896 w 10 R f ( node's descendants \(equivalently, the)4 1562(-values among the)2 754 2 2145 4896 t 10 I f (x)4496 4896 w 10 R f (-value of its leftmost)3 860 1 4540 4896 t ( random sentence generator built the)5 1485( A)1 128( slanting down to the right.)5 1108(child\); all edges were therefore either vertical or)7 1959 4 720 5016 t ( A)1 125( just as in the binary search tree, the height of a node was one less than its parent.)18 3298(tree left-to-right and top-down;)3 1257 3 720 5136 t ( than the maximum of the)5 1100(parser built the tree in postorder and bottom-up: the height of a node was one greater)15 3580 2 720 5256 t (heights of its children.)3 894 1 720 5376 t 10 I f (A Graph Algorithm.)2 803 1 720 5652 t 10 R f ( computing the minimum spanning tree \(MST\) of a graph starts with a fragment consist-)14 3600(Prim's algorithm for)2 830 2 970 5808 t ( vertices are in the fragment, at)6 1250( increases the fragment by adding the nearest vertex until all)10 2436( It)1 114(ing of a single vertex.)4 880 4 720 5928 t ( shows Prim's algorithm on the complete graph induced)8 2285( picture)1 307( This)1 233(which point it is the MST of the entire graph.)9 1855 4 720 6048 t (by a set of 50 planar points; the weight of an edge between two points is defined to be their Euclidean distance.)21 4443 1 720 6168 t 900 6330 900 7194 Dl 1764 6330 900 6330 Dl 1764 7194 1764 6330 Dl 900 7194 1764 7194 Dl 12 S f (\267)1216 6968 w (\267)1438 6568 w (\267)1132 7126 w (\267)1086 7115 w (\267)1275 7064 w (\267)921 6998 w (\267)1323 7074 w (\267)1226 7075 w (\267)1686 6442 w (\267)1244 7120 w (\267)1650 6971 w (\267)1047 6866 w (\267)1251 7137 w (\267)1643 6606 w (\267)1348 6499 w (\267)1438 7192 w (\267)1672 7067 w (\267)1450 7069 w (\267)1353 6681 w (\267)1524 6694 w (\267)1614 7084 w (\267)1299 7189 w (\267)1324 6736 w (\267)1006 6820 w (\267)1398 6596 w (\267)1191 7144 w (\267)1607 6485 w (\267)949 7195 w (\267)966 7169 w (\267)1171 6997 w (\267)1485 6892 w (\267)1600 6406 w (\267)1701 7109 w (\267)1250 6923 w (\267)1297 6485 w (\267)1693 6776 w (\267)1636 6922 w (\267)1515 7132 w (\267)1686 6558 w (\267)1042 6851 w (\267)997 6532 w (\267)975 6609 w 10 R f 1024 6492 1002 6569 Dl 12 S f (\267)1027 6609 w 10 R f 1003 6569 1054 6569 Dl 12 S f (\267)1044 6627 w 10 R f 1054 6569 1071 6587 Dl 12 S f (\267)911 6646 w 10 R f 1001 6570 938 6606 Dl 12 S f (\267)1071 6463 w 10 R f 1025 6491 1098 6423 Dl 12 S f (\267)1116 6522 w 10 R f 1098 6423 1143 6482 Dl 12 S f (\267)1149 6578 w 10 R f 1143 6482 1176 6538 Dl 12 S f (\267)1167 6712 w 10 R f 1176 6539 1194 6672 Dl 12 S f (\267)1265 6775 w 10 R f 1195 6673 1292 6735 Dl 1764 6330 1764 7194 Dl 2628 6330 1764 6330 Dl 2628 7194 2628 6330 Dl 1764 7194 2628 7194 Dl 12 S f (\267)1996 7126 w (\267)1950 7115 w (\267)2139 7064 w (\267)1785 6998 w (\267)2187 7074 w (\267)2550 6442 w (\267)2108 7120 w (\267)2514 6971 w (\267)1911 6866 w (\267)2115 7137 w (\267)2507 6606 w (\267)2302 7192 w (\267)2536 7067 w (\267)2314 7069 w (\267)2388 6694 w (\267)2478 7084 w (\267)2163 7189 w (\267)1870 6820 w (\267)2055 7144 w (\267)2471 6485 w (\267)1813 7195 w (\267)1830 7169 w (\267)2349 6892 w (\267)2464 6406 w (\267)2565 7109 w (\267)2557 6776 w (\267)2500 6922 w (\267)2379 7132 w (\267)2550 6558 w (\267)1906 6851 w (\267)1861 6532 w (\267)1839 6609 w 10 R f 1888 6492 1866 6569 Dl 12 S f (\267)1891 6609 w 10 R f 1867 6569 1918 6569 Dl 12 S f (\267)1908 6627 w 10 R f 1918 6569 1935 6587 Dl 12 S f (\267)1776 6646 w 10 R f 1865 6570 1803 6606 Dl 12 S f (\267)1935 6463 w 10 R f 1889 6491 1962 6423 Dl 12 S f (\267)1980 6522 w 10 R f 1962 6423 2007 6482 Dl 12 S f (\267)2013 6578 w 10 R f 2007 6482 2040 6538 Dl 12 S f (\267)2031 6712 w 10 R f 2040 6539 2058 6672 Dl 12 S f (\267)2129 6775 w 10 R f 2059 6673 2156 6735 Dl 12 S f (\267)2188 6736 w 10 R f 2156 6734 2215 6696 Dl 12 S f (\267)2217 6681 w 10 R f 2215 6695 2244 6641 Dl 12 S f (\267)2262 6596 w 10 R f 2245 6640 2289 6556 Dl 12 S f (\267)2302 6568 w 10 R f 2289 6556 2329 6528 Dl 12 S f (\267)2212 6499 w 10 R f 2289 6556 2239 6459 Dl 12 S f (\267)2161 6485 w 10 R f 2238 6459 2188 6445 Dl 12 S f (\267)2114 6923 w 10 R f 2156 6735 2141 6883 Dl 12 S f (\267)2080 6968 w 10 R f 2140 6884 2107 6928 Dl 12 S f (\267)2035 6997 w 10 R f 2106 6929 2062 6957 Dl 12 S f (\267)2090 7075 w 10 R f 2063 6957 2117 7035 Dl 2628 6330 2628 7194 Dl 3492 6330 2628 6330 Dl 3492 7194 3492 6330 Dl 2628 7194 3492 7194 Dl 12 S f (\267)2649 6998 w (\267)3414 6442 w (\267)3378 6971 w (\267)2775 6866 w (\267)3371 6606 w (\267)3166 7192 w (\267)3400 7067 w (\267)3252 6694 w (\267)3342 7084 w (\267)2734 6820 w (\267)3335 6485 w (\267)2677 7195 w (\267)2694 7169 w (\267)3213 6892 w (\267)3328 6406 w (\267)3429 7109 w (\267)3421 6776 w (\267)3364 6922 w (\267)3414 6558 w (\267)2770 6851 w (\267)2725 6532 w (\267)2703 6609 w 10 R f 2752 6492 2730 6569 Dl 12 S f (\267)2755 6609 w 10 R f 2731 6569 2782 6569 Dl 12 S f (\267)2772 6627 w 10 R f 2782 6569 2799 6587 Dl 12 S f (\267)2640 6646 w 10 R f 2729 6570 2667 6606 Dl 12 S f (\267)2799 6463 w 10 R f 2753 6491 2826 6423 Dl 12 S f (\267)2844 6522 w 10 R f 2826 6423 2871 6482 Dl 12 S f (\267)2877 6578 w 10 R f 2871 6482 2904 6538 Dl 12 S f (\267)2895 6712 w 10 R f 2904 6539 2922 6672 Dl 12 S f (\267)2993 6775 w 10 R f 2923 6673 3020 6735 Dl 12 S f (\267)3052 6736 w 10 R f 3020 6734 3079 6696 Dl 12 S f (\267)3081 6681 w 10 R f 3079 6695 3108 6641 Dl 12 S f (\267)3126 6596 w 10 R f 3109 6640 3153 6556 Dl 12 S f (\267)3166 6568 w 10 R f 3153 6556 3193 6528 Dl 12 S f (\267)3076 6499 w 10 R f 3153 6556 3103 6459 Dl 12 S f (\267)3025 6485 w 10 R f 3102 6459 3052 6445 Dl 12 S f (\267)2978 6923 w 10 R f 3020 6735 3005 6883 Dl 12 S f (\267)2944 6968 w 10 R f 3004 6884 2971 6928 Dl 12 S f (\267)2899 6997 w 10 R f 2970 6929 2926 6957 Dl 12 S f (\267)2954 7075 w 10 R f 2927 6957 2981 7035 Dl 12 S f (\267)2972 7120 w 10 R f 2981 7035 2999 7080 Dl 12 S f (\267)2979 7137 w 10 R f 3000 7081 3006 7097 Dl 12 S f (\267)3003 7064 w 10 R f 2982 7035 3030 7024 Dl 12 S f (\267)3051 7074 w 10 R f 3030 7024 3078 7034 Dl 12 S f (\267)2919 7144 w 10 R f 2999 7081 2946 7104 Dl 12 S f (\267)2860 7126 w 10 R f 2945 7104 2887 7086 Dl 12 S f (\267)2814 7115 w 10 R f 2887 7085 2841 7075 Dl 12 S f (\267)3027 7189 w 10 R f 3006 7098 3054 7149 Dl 12 S f (\267)3178 7069 w 10 R f 3079 7034 3205 7029 Dl 12 S f (\267)3243 7132 w 10 R f 3205 7029 3270 7092 Dl 3492 6330 3492 7194 Dl 4356 6330 3492 6330 Dl 4356 7194 4356 6330 Dl 3492 7194 4356 7194 Dl 12 S f (\267)3513 6998 w (\267)4278 6442 w (\267)3639 6866 w (\267)4235 6606 w (\267)3598 6820 w (\267)4199 6485 w (\267)4192 6406 w (\267)4285 6776 w (\267)4278 6558 w (\267)3634 6851 w (\267)3589 6532 w (\267)3567 6609 w 10 R f 3616 6492 3594 6569 Dl 12 S f (\267)3619 6609 w 10 R f 3595 6569 3646 6569 Dl 12 S f (\267)3636 6627 w 10 R f 3646 6569 3663 6587 Dl 12 S f (\267)3504 6646 w 10 R f 3593 6570 3531 6606 Dl 12 S f (\267)3663 6463 w 10 R f 3617 6491 3690 6423 Dl 12 S f (\267)3708 6522 w 10 R f 3690 6423 3735 6482 Dl 12 S f (\267)3741 6578 w 10 R f 3735 6482 3768 6538 Dl 12 S f (\267)3759 6712 w 10 R f 3768 6539 3786 6672 Dl 12 S f (\267)3857 6775 w 10 R f 3787 6673 3884 6735 Dl 12 S f (\267)3916 6736 w 10 R f 3884 6734 3943 6696 Dl 12 S f (\267)3945 6681 w 10 R f 3943 6695 3972 6641 Dl 12 S f (\267)3990 6596 w 10 R f 3973 6640 4017 6556 Dl 12 S f (\267)4030 6568 w 10 R f 4017 6556 4057 6528 Dl 12 S f (\267)3940 6499 w 10 R f 4017 6556 3967 6459 Dl 12 S f (\267)3889 6485 w 10 R f 3966 6459 3916 6445 Dl 12 S f (\267)3842 6923 w 10 R f 3884 6735 3869 6883 Dl 12 S f (\267)3808 6968 w 10 R f 3868 6884 3835 6928 Dl 12 S f (\267)3763 6997 w 10 R f 3834 6929 3790 6957 Dl 12 S f (\267)3818 7075 w 10 R f 3791 6957 3845 7035 Dl 12 S f (\267)3836 7120 w 10 R f 3845 7035 3863 7080 Dl 12 S f (\267)3843 7137 w 10 R f 3864 7081 3870 7097 Dl 12 S f (\267)3867 7064 w 10 R f 3846 7035 3894 7024 Dl 12 S f (\267)3915 7074 w 10 R f 3894 7024 3942 7034 Dl 12 S f (\267)3783 7144 w 10 R f 3863 7081 3810 7104 Dl 12 S f (\267)3724 7126 w 10 R f 3809 7104 3751 7086 Dl 12 S f (\267)3678 7115 w 10 R f 3751 7085 3705 7075 Dl 12 S f (\267)3891 7189 w 10 R f 3870 7098 3918 7149 Dl 12 S f (\267)4042 7069 w 10 R f 3943 7034 4069 7029 Dl 12 S f (\267)4107 7132 w 10 R f 4069 7029 4134 7092 Dl 12 S f (\267)4030 7192 w 10 R f 4134 7092 4057 7152 Dl 12 S f (\267)4206 7084 w 10 R f 4135 7092 4233 7044 Dl 12 S f (\267)4264 7067 w 10 R f 4234 7043 4291 7027 Dl 12 S f (\267)4293 7109 w 10 R f 4292 7028 4320 7069 Dl 12 S f (\267)4242 6971 w 10 R f 4290 7027 4269 6931 Dl 12 S f (\267)4228 6922 w 10 R f 4269 6930 4255 6882 Dl 12 S f (\267)3558 7169 w 10 R f 3705 7076 3585 7129 Dl 12 S f (\267)3541 7195 w 10 R f 3585 7130 3568 7155 Dl 12 S f (\267)4077 6892 w 10 R f 4254 6882 4104 6852 Dl 12 S f (\267)4116 6694 w 10 R f 4058 6528 4143 6654 Dl 4356 6330 4356 7194 Dl 5220 6330 4356 6330 Dl 5220 7194 5220 6330 Dl 4356 7194 5220 7194 Dl 12 S f (\267)4462 6820 w (\267)4453 6532 w (\267)4431 6609 w 10 R f 4480 6492 4458 6569 Dl 12 S f (\267)4483 6609 w 10 R f 4459 6569 4510 6569 Dl 12 S f (\267)4500 6627 w 10 R f 4510 6569 4527 6587 Dl 12 S f (\267)4368 6646 w 10 R f 4458 6570 4395 6606 Dl 12 S f (\267)4527 6463 w 10 R f 4481 6491 4554 6423 Dl 12 S f (\267)4572 6522 w 10 R f 4554 6423 4599 6482 Dl 12 S f (\267)4605 6578 w 10 R f 4599 6482 4632 6538 Dl 12 S f (\267)4623 6712 w 10 R f 4632 6539 4650 6672 Dl 12 S f (\267)4721 6775 w 10 R f 4651 6673 4748 6735 Dl 12 S f (\267)4780 6736 w 10 R f 4748 6734 4807 6696 Dl 12 S f (\267)4809 6681 w 10 R f 4807 6695 4836 6641 Dl 12 S f (\267)4854 6596 w 10 R f 4837 6640 4881 6556 Dl 12 S f (\267)4894 6568 w 10 R f 4881 6556 4921 6528 Dl 12 S f (\267)4804 6499 w 10 R f 4881 6556 4831 6459 Dl 12 S f (\267)4753 6485 w 10 R f 4830 6459 4780 6445 Dl 12 S f (\267)4706 6923 w 10 R f 4748 6735 4733 6883 Dl 12 S f (\267)4672 6968 w 10 R f 4732 6884 4699 6928 Dl 12 S f (\267)4627 6997 w 10 R f 4698 6929 4654 6957 Dl 12 S f (\267)4682 7075 w 10 R f 4655 6957 4709 7035 Dl 12 S f (\267)4700 7120 w 10 R f 4709 7035 4727 7080 Dl 12 S f (\267)4707 7137 w 10 R f 4728 7081 4734 7097 Dl 12 S f (\267)4731 7064 w 10 R f 4710 7035 4758 7024 Dl 12 S f (\267)4779 7074 w 10 R f 4758 7024 4806 7034 Dl 12 S f (\267)4647 7144 w 10 R f 4727 7081 4674 7104 Dl 12 S f (\267)4588 7126 w 10 R f 4673 7104 4615 7086 Dl 12 S f (\267)4542 7115 w 10 R f 4615 7085 4569 7075 Dl 12 S f (\267)4755 7189 w 10 R f 4734 7098 4782 7149 Dl 12 S f (\267)4906 7069 w 10 R f 4807 7034 4933 7029 Dl 12 S f (\267)4971 7132 w 10 R f 4933 7029 4998 7092 Dl 12 S f (\267)4894 7192 w 10 R f 4998 7092 4921 7152 Dl 12 S f (\267)5070 7084 w 10 R f 4999 7092 5097 7044 Dl 12 S f (\267)5128 7067 w 10 R f 5098 7043 5155 7027 Dl 12 S f (\267)5157 7109 w 10 R f 5156 7028 5184 7069 Dl 12 S f (\267)5106 6971 w 10 R f 5154 7027 5133 6931 Dl 12 S f (\267)5092 6922 w 10 R f 5133 6930 5119 6882 Dl 12 S f (\267)4422 7169 w 10 R f 4569 7076 4449 7129 Dl 12 S f (\267)4405 7195 w 10 R f 4449 7130 4432 7155 Dl 12 S f (\267)4941 6892 w 10 R f 5118 6882 4968 6852 Dl 12 S f (\267)4980 6694 w 10 R f 4922 6528 5007 6654 Dl 12 S f (\267)5099 6606 w 10 R f 5008 6654 5126 6566 Dl 12 S f (\267)5142 6558 w 10 R f 5126 6565 5169 6518 Dl 12 S f (\267)5063 6485 w 10 R f 5169 6518 5090 6445 Dl 12 S f (\267)5056 6406 w 10 R f 5090 6445 5083 6366 Dl 12 S f (\267)5142 6442 w 10 R f 5090 6445 5169 6402 Dl 12 S f (\267)5149 6776 w 10 R f 5119 6882 5176 6736 Dl 12 S f (\267)4377 6998 w 10 R f 4449 7128 4404 6958 Dl 12 S f (\267)4503 6866 w 10 R f 4653 6957 4530 6826 Dl 12 S f (\267)4498 6851 w 10 R f 4530 6825 4525 6811 Dl cleartomark showpage saveobj restore %%EndPage: 16 18 %%Page: 17 19 /saveobj save def mark 19 pagesetup 10 R f (- 17 -)2 216 1 2952 480 t (The snapshots are taken every ten stages.)6 1643 1 720 840 t ( algorithm on an)3 667(The obvious implementation of Prim's)4 1558 2 970 996 t 10 I f (N)3223 996 w 10 R f (-point set requires time proportional to)5 1561 1 3290 996 t 10 I f (N)4879 996 w 7 R f (3)4957 956 w 10 R f (. Dijkstra)1 400 1 5000 996 t ( time proportional to)3 837(discovered an elegant implementation of the algorithm with running)8 2765 2 720 1116 t 10 I f (N)4351 1116 w 7 R f (2)4429 1076 w 10 R f (: every point not in the)5 928 1 4472 1116 t ( is Dijkstra's implementation on a ten-node)6 1786( Here)1 252( in the fragment.)3 687(fragment keeps a pointer to its nearest neighbor)7 1955 4 720 1236 t (planar graph:)1 529 1 720 1356 t 900 1518 900 2382 Dl 1764 1518 900 1518 Dl 1764 2382 1764 1518 Dl 900 2382 1764 2382 Dl 7 S f (\264)975 1772 w (\264)1223 2181 w (\264)1453 1723 w (\264)1138 2363 w (\264)1090 2350 w (\264)1285 2292 w (\264)919 2216 w (\264)1335 2303 w (\264)1234 2305 w 10 R f 1727 1554 994 1752 Dl 1727 1554 1663 1590 Dl 1727 1554 1653 1555 Dl 1727 1554 1242 2161 Dl 1727 1554 1697 1621 Dl 1727 1554 1668 1599 Dl 1727 1554 1472 1703 Dl 1727 1554 1674 1605 Dl 1727 1554 1656 1574 Dl 1727 1555 1157 2343 Dl 1727 1554 1700 1623 Dl 1727 1554 1671 1601 Dl 1727 1554 1109 2330 Dl 1727 1554 1697 1621 Dl 1727 1554 1668 1599 Dl 1727 1554 1304 2272 Dl 1727 1554 1707 1625 Dl 1727 1554 1676 1606 Dl 1726 1554 938 2196 Dl 1727 1554 1683 1613 Dl 1727 1554 1661 1585 Dl 1727 1554 1354 2283 Dl 1727 1554 1711 1626 Dl 1727 1554 1679 1610 Dl 1727 1554 1253 2285 Dl 1727 1554 1704 1624 Dl 1728 1554 1674 1604 Dl 12 S f (\267)1701 1594 w 10 R f 1764 1518 1764 2382 Dl 2628 1518 1764 1518 Dl 2628 2382 2628 1518 Dl 1764 2382 2628 2382 Dl 7 S f (\264)1839 1772 w (\264)2087 2181 w (\264)2002 2363 w (\264)1954 2350 w (\264)2149 2292 w (\264)1784 2216 w (\264)2199 2303 w (\264)2098 2305 w 10 R f 2336 1704 1858 1752 Dl 2335 1703 2266 1728 Dl 2335 1702 2262 1692 Dl 2335 1704 2106 2161 Dl 2335 1704 2320 1776 Dl 2336 1703 2288 1759 Dl 2336 1704 2021 2343 Dl 2335 1704 2320 1776 Dl 2336 1704 2288 1760 Dl 2335 1703 1973 2330 Dl 2336 1704 2316 1775 Dl 2335 1704 2284 1757 Dl 2335 1704 2168 2272 Dl 2335 1703 2333 1777 Dl 2335 1703 2298 1767 Dl 2335 1703 1803 2196 Dl 2336 1704 2296 1765 Dl 2335 1703 2271 1739 Dl 2336 1704 2218 2283 Dl 2337 1703 2340 1777 Dl 2335 1704 2304 1770 Dl 2335 1704 2117 2285 Dl 2335 1704 2327 1777 Dl 2335 1703 2293 1764 Dl 12 S f (\267)2565 1594 w (\267)2309 1743 w 13 R f 2591 1554 2336 1703 Dl 10 R f 2628 1518 2628 2382 Dl 3492 1518 2628 1518 Dl 3492 2382 3492 1518 Dl 2628 2382 3492 2382 Dl 7 S f (\264)2703 1772 w (\264)2866 2363 w (\264)2818 2350 w (\264)3013 2292 w (\264)2648 2216 w (\264)3063 2303 w (\264)2962 2305 w 10 R f 2970 2161 2722 1752 Dl 2970 2161 2918 2109 Dl 2970 2161 2949 2091 Dl 2970 2162 2885 2343 Dl 2970 2162 2956 2234 Dl 2969 2162 2923 2219 Dl 2970 2161 2837 2330 Dl 2970 2162 2940 2229 Dl 2970 2162 2912 2207 Dl 2971 2162 3032 2272 Dl 2970 2161 3021 2215 Dl 2971 2161 2990 2232 Dl 2970 2161 2667 2196 Dl 2970 2162 2901 2187 Dl 2970 2161 2897 2152 Dl 2971 2162 3082 2283 Dl 2971 2161 3032 2202 Dl 2971 2162 3006 2227 Dl 2971 2162 2981 2285 Dl 2971 2162 2995 2231 Dl 2970 2162 2959 2235 Dl 12 S f (\267)3429 1594 w (\267)3173 1743 w 13 R f 3455 1554 3200 1703 Dl 12 S f (\267)2943 2201 w 13 R f 3199 1704 2970 2161 Dl 10 R f 3492 1518 3492 2382 Dl 4356 1518 3492 1518 Dl 4356 2382 4356 1518 Dl 3492 2382 4356 2382 Dl 7 S f (\264)3567 1772 w (\264)3730 2363 w (\264)3682 2350 w (\264)3877 2292 w (\264)3512 2216 w (\264)3927 2303 w 10 R f 3834 2161 3586 1752 Dl 3834 2161 3782 2109 Dl 3834 2161 3813 2091 Dl 3845 2286 3749 2343 Dl 3844 2286 3792 2338 Dl 3845 2286 3774 2307 Dl 3845 2285 3701 2330 Dl 3845 2286 3782 2324 Dl 3845 2285 3771 2289 Dl 3845 2284 3896 2272 Dl 3846 2285 3911 2250 Dl 3845 2285 3919 2285 Dl 3834 2161 3531 2196 Dl 3834 2162 3765 2187 Dl 3834 2161 3761 2152 Dl 3846 2285 3946 2283 Dl 3845 2285 3916 2266 Dl 3846 2286 3918 2302 Dl 12 S f (\267)4293 1594 w (\267)4037 1743 w 13 R f 4319 1554 4064 1703 Dl 12 S f (\267)3807 2201 w 13 R f 4063 1704 3834 2161 Dl 12 S f (\267)3818 2325 w 13 R f 3835 2162 3845 2285 Dl 10 R f 4356 1518 4356 2382 Dl 5220 1518 4356 1518 Dl 5220 2382 5220 1518 Dl 4356 2382 5220 2382 Dl 7 S f (\264)4431 1772 w (\264)4594 2363 w (\264)4546 2350 w (\264)4376 2216 w (\264)4791 2303 w 10 R f 4698 2161 4450 1752 Dl 4698 2161 4646 2109 Dl 4698 2161 4677 2091 Dl 4709 2286 4613 2343 Dl 4708 2286 4656 2338 Dl 4709 2286 4638 2307 Dl 4709 2285 4565 2330 Dl 4709 2286 4646 2324 Dl 4709 2285 4635 2289 Dl 4698 2161 4395 2196 Dl 4698 2162 4629 2187 Dl 4698 2161 4625 2152 Dl 4761 2273 4810 2283 Dl 4760 2272 4834 2270 Dl 4760 2272 4826 2305 Dl 12 S f (\267)5157 1594 w (\267)4901 1743 w 13 R f 5183 1554 4928 1703 Dl 12 S f (\267)4671 2201 w 13 R f 4927 1704 4698 2161 Dl 12 S f (\267)4682 2325 w 13 R f 4699 2162 4709 2285 Dl 12 S f (\267)4733 2312 w 13 R f 4709 2284 4760 2272 Dl 10 R f 900 2454 900 3318 Dl 1764 2454 900 2454 Dl 1764 3318 1764 2454 Dl 900 3318 1764 3318 Dl 7 S f (\264)975 2708 w (\264)1138 3298 w (\264)1090 3286 w (\264)919 3152 w 10 R f 1242 3097 994 2688 Dl 1242 3097 1190 3045 Dl 1242 3097 1221 3027 Dl 1253 3222 1157 3278 Dl 1252 3222 1200 3274 Dl 1253 3222 1182 3243 Dl 1253 3221 1109 3266 Dl 1253 3222 1190 3260 Dl 1253 3221 1179 3225 Dl 1241 3097 938 3132 Dl 1242 3098 1173 3123 Dl 1242 3097 1169 3088 Dl 12 S f (\267)1701 2530 w (\267)1445 2679 w 13 R f 1727 2490 1472 2639 Dl 12 S f (\267)1215 3137 w 13 R f 1471 2640 1242 3097 Dl 12 S f (\267)1226 3261 w 13 R f 1243 3098 1253 3221 Dl 12 S f (\267)1277 3248 w 13 R f 1253 3220 1304 3208 Dl 12 S f (\267)1327 3259 w 13 R f 1305 3209 1354 3219 Dl 10 R f 1764 2454 1764 3318 Dl 2628 2454 1764 2454 Dl 2628 3318 2628 2454 Dl 1764 3318 2628 3318 Dl 7 S f (\264)1839 2708 w (\264)1954 3286 w (\264)1784 3152 w 10 R f 2106 3097 1858 2688 Dl 2106 3097 2054 3045 Dl 2106 3097 2085 3027 Dl 2020 3277 1973 3266 Dl 2020 3279 1946 3279 Dl 2020 3278 1955 3244 Dl 2021 3277 1803 3132 Dl 2020 3278 1951 3253 Dl 2020 3277 1971 3223 Dl 12 S f (\267)2565 2530 w (\267)2309 2679 w 13 R f 2591 2490 2336 2639 Dl 12 S f (\267)2079 3137 w 13 R f 2335 2640 2106 3097 Dl 12 S f (\267)2090 3261 w 13 R f 2107 3098 2117 3221 Dl 12 S f (\267)2141 3248 w 13 R f 2117 3220 2168 3208 Dl 12 S f (\267)2191 3259 w 13 R f 2169 3209 2218 3219 Dl 12 S f (\267)1994 3318 w 13 R f 2117 3222 2021 3278 Dl 10 R f 2628 2454 2628 3318 Dl 3492 2454 2628 2454 Dl 3492 3318 3492 2454 Dl 2628 3318 3492 3318 Dl 7 S f (\264)2703 2708 w (\264)2648 3152 w 10 R f 2970 3097 2722 2688 Dl 2970 3097 2918 3045 Dl 2970 3097 2949 3027 Dl 2836 3265 2667 3132 Dl 2836 3266 2769 3236 Dl 2837 3267 2792 3208 Dl 12 S f (\267)3429 2530 w (\267)3173 2679 w 13 R f 3455 2490 3200 2639 Dl 12 S f (\267)2943 3137 w 13 R f 3199 2640 2970 3097 Dl 12 S f (\267)2954 3261 w 13 R f 2971 3098 2981 3221 Dl 12 S f (\267)3005 3248 w 13 R f 2981 3220 3032 3208 Dl 12 S f (\267)3055 3259 w 13 R f 3033 3209 3082 3219 Dl 12 S f (\267)2858 3318 w 13 R f 2981 3222 2885 3278 Dl 12 S f (\267)2810 3306 w 13 R f 2884 3277 2837 3266 Dl 10 R f 3492 2454 3492 3318 Dl 4356 2454 3492 2454 Dl 4356 3318 4356 2454 Dl 3492 3318 4356 3318 Dl 7 S f (\264)3567 2708 w 10 R f 3532 3132 3586 2688 Dl 3531 3132 3522 3059 Dl 3532 3132 3558 3063 Dl 12 S f (\267)4293 2530 w (\267)4037 2679 w 13 R f 4319 2490 4064 2639 Dl 12 S f (\267)3807 3137 w 13 R f 4063 2640 3834 3097 Dl 12 S f (\267)3818 3261 w 13 R f 3835 3098 3845 3221 Dl 12 S f (\267)3869 3248 w 13 R f 3845 3220 3896 3208 Dl 12 S f (\267)3919 3259 w 13 R f 3897 3209 3946 3219 Dl 12 S f (\267)3722 3318 w 13 R f 3845 3222 3749 3278 Dl 12 S f (\267)3674 3306 w 13 R f 3748 3277 3701 3266 Dl 12 S f (\267)3504 3172 w 13 R f 3700 3265 3531 3132 Dl 10 R f 4356 2454 4356 3318 Dl 5220 2454 4356 2454 Dl 5220 3318 5220 2454 Dl 4356 3318 5220 3318 Dl 12 S f (\267)5157 2530 w (\267)4901 2679 w 13 R f 5183 2490 4928 2639 Dl 12 S f (\267)4671 3137 w 13 R f 4927 2640 4698 3097 Dl 12 S f (\267)4682 3261 w 13 R f 4699 3098 4709 3221 Dl 12 S f (\267)4733 3248 w 13 R f 4709 3220 4760 3208 Dl 12 S f (\267)4783 3259 w 13 R f 4761 3209 4810 3219 Dl 12 S f (\267)4586 3318 w 13 R f 4709 3222 4613 3278 Dl 12 S f (\267)4538 3306 w 13 R f 4612 3277 4565 3266 Dl 12 S f (\267)4368 3172 w 13 R f 4564 3265 4395 3132 Dl 12 S f (\267)4423 2728 w 13 R f 4396 3132 4450 2688 Dl 10 R f ( crosses, edges in the MST are)6 1223(In this animation, nodes in the fragment are bullets, nodes not in the fragment are)14 3251 2 720 3516 t 10 CW f (fat)5220 3516 w 10 R f (lines, and the nearest neighbors are pointed to by arrows.)9 2276 1 720 3636 t ( and lines are sufficient for)5 1082( Dots)1 241(These two sequences illustrate two styles of drawing graphs with our system.)11 3107 3 970 3792 t (simple algorithms, while various symbols and line options can depict subtle processes.)11 3462 1 720 3912 t ( a general graph is very hard.)6 1172( out)1 154( Laying)1 334(The geometric nature of the above graphs made them easy to lay out.)12 2770 4 970 4068 t ( exploit that structure to compute an)6 1521(If the graphs in your applications are specialized \(such as trees\), you might)12 3159 2 720 4188 t ( graph of)2 364( A)1 124(effective layout.)1 650 3 720 4308 t 10 I f (N)1885 4308 w 10 R f ( be easily represented by an)5 1120(vertices can)1 475 2 1979 4308 t 10 I f (N)3602 4308 w 10 S f (\264)3677 4308 w 10 I f (N)3740 4308 w 10 R f (matrix in which the)3 789 1 3835 4308 t 10 I f (i)4652 4308 w 10 R f (,)4688 4308 w 10 I f (j)4729 4308 w 10 R f (-th element rep-)2 643 1 4757 4308 t (resents the edge from vertex)4 1138 1 720 4428 t 10 I f (i)1885 4428 w 10 R f (to vertex)1 354 1 1940 4428 t 10 I f (j)2321 4428 w 10 R f ( you have access to)4 774( If)1 117( is useful for insight into some graph algorithms.)8 1955(; that)1 205 4 2349 4428 t ( program to compute positions of ver-)6 1569(a program that produces good layouts of general graphs, you might use that)12 3111 2 720 4548 t (tices, and then feed those into our system.)7 1673 1 720 4668 t 10 I f (A Memory Allocator.)2 846 1 720 4944 t 10 R f (The)970 5100 w 10 I f (develop)1166 5100 w 10 R f (program uses the)2 714 1 1517 5100 t 10 I f (malloc)2272 5100 w 10 R f ( augmented)1 480( We)1 205( for several of its data structures.)6 1407(memory allocator)1 723 4 2585 5100 t 10 I f (develop)720 5220 w 10 R f ('s calls to the allocator with data gathering routines to produce an animation; here is the final snapshot.)17 4111 1 1030 5220 t ( blocks are represented by lines, low)6 1461( Memory)1 395( storage from which memory is allocated.)6 1667(The left frame is the arena of)6 1157 4 720 5340 t ( histogram of the)3 689( right frame is a)4 648( The)1 209(addresses are at the bottom of the picture, and the picture is 1024 bytes wide.)14 3134 4 720 5460 t ( ten positions to help count-)5 1134(sizes of memory currently allocated; there is a dot for each element, a vertical bar every)15 3546 2 720 5580 t (ing, and the maximum value is in the lower right corner.)10 2253 1 720 5700 t ( of)1 110(This snapshot was taken at the end of execution)8 1916 2 970 5856 t 10 I f (fdevelop)3023 5856 w 10 R f ( histogram shows two large blocks of 20,000)7 1807(. The)1 232 2 3361 5856 t ( blocks \(the blocks of size 16 are symbol table records;)10 2216(and 40,000 bytes, 96 blocks of size 16, and 96 slightly larger)11 2464 2 720 5976 t ( huge pieces \(the larger is higher\) and a gap above the)11 2218( arena shows the two)4 857( The)1 210(each points to an allocated string\).)5 1395 4 720 6096 t (smaller \(memory allocated by procedures that didn't call our augmented)9 2895 1 720 6216 t 10 I f (malloc)3641 6216 w 10 R f ( remainder of the arena is allo-)6 1224(\). The)1 263 2 3913 6216 t (cated efficiently.)1 670 1 720 6336 t ( in)1 109(A movie like this helped us find a bug)8 1567 2 970 6492 t 10 I f (fdevelop)2677 6492 w 10 R f (: an early version allocated the symbol table nodes but did)10 2385 1 3015 6492 t (not)720 6612 w 10 I f (free)873 6612 w 10 R f ( problem manifested itself in an overloaded arena and a huge spike in the histogram at size 16.)17 3771(them. This)1 453 2 1053 6612 t (The)970 6768 w 10 I f (fdevelop)1162 6768 w 10 R f (program interacts with the storage allocator only through the two routines)10 3066 1 1537 6768 t 10 I f (emalloc)4640 6768 w 10 R f (and)4994 6768 w 10 I f (efree)5176 6768 w 10 R f (.)5375 6768 w (We animated the storage allocator by modifying those routines:)8 2541 1 720 6888 t cleartomark showpage saveobj restore %%EndPage: 17 19 %%Page: 18 20 /saveobj save def mark 20 pagesetup 10 R f (- 18 -)2 216 1 2952 480 t 900 882 900 3042 Dl 3060 882 900 882 Dl 3060 3042 3060 882 Dl 900 3042 3060 3042 Dl 3060 882 3060 3042 Dl 5220 882 3060 882 Dl 5220 3042 5220 882 Dl 3060 3042 5220 3042 Dl 6 R f (0.)3149 2871 w (10.)3119 2539 w (20.)3119 2204 w (30.)3119 1873 w (40.)3119 1542 w (50.)3119 1210 w 6 S f (>)3146 1045 w 6 R f (.)3179 1045 w 10 R f 2908 2892 2080 2892 Dl 2908 2868 1049 2868 Dl 2908 2843 1049 2843 Dl 2908 2818 1049 2818 Dl 2908 2793 1049 2793 Dl 2908 2769 1049 2769 Dl 2908 2743 1049 2743 Dl 2908 2719 1049 2719 Dl 2908 2694 1049 2694 Dl 2908 2669 1049 2669 Dl 2908 2644 1049 2644 Dl 2908 2620 1049 2620 Dl 2908 2595 1049 2595 Dl 2908 2570 1049 2570 Dl 2908 2545 1049 2545 Dl 2908 2520 1049 2520 Dl 2908 2495 1049 2495 Dl 2908 2471 1049 2471 Dl 2908 2446 1049 2446 Dl 2908 2421 1049 2421 Dl 1206 2396 1049 2396 Dl 9 R f (.)3217 1033 w 10 R f 2908 2077 2296 2077 Dl 2908 2048 1049 2048 Dl 2908 2026 1049 2026 Dl 2908 1998 1049 1998 Dl 2908 1976 1049 1976 Dl 2908 1947 1049 1947 Dl 2908 1926 1049 1926 Dl 2908 1897 1049 1897 Dl 2908 1875 1049 1875 Dl 2908 1854 1049 1854 Dl 2908 1825 1049 1825 Dl 2908 1803 1049 1803 Dl 2908 1774 1049 1774 Dl 2908 1753 1049 1753 Dl 2908 1724 1049 1724 Dl 2908 1702 1049 1702 Dl 2908 1674 1049 1674 Dl 2908 1652 1049 1652 Dl 2908 1623 1049 1623 Dl 2908 1602 1049 1602 Dl 2908 1580 1049 1580 Dl 2908 1551 1049 1551 Dl 2908 1530 1049 1530 Dl 2908 1501 1049 1501 Dl 2908 1479 1049 1479 Dl 2908 1450 1049 1450 Dl 2908 1429 1049 1429 Dl 2908 1400 1049 1400 Dl 2908 1378 1049 1378 Dl 2908 1357 1049 1357 Dl 2908 1328 1049 1328 Dl 2908 1306 1049 1306 Dl 2908 1278 1049 1278 Dl 2908 1256 1049 1256 Dl 2908 1227 1049 1227 Dl 2908 1206 1049 1206 Dl 2908 1177 1049 1177 Dl 2908 1155 1049 1155 Dl 2908 1134 1049 1134 Dl 2411 1105 1049 1105 Dl 9 R f (.)3236 1033 w 10 R f 1264 2098 1237 2098 Dl 9 R f (.)3217 2327 w 10 R f 1302 2098 1274 2098 Dl 9 R f (.)3217 2293 w 10 R f 1344 2098 1318 2098 Dl 9 R f (.)3236 2327 w 10 R f 1387 2098 1354 2098 Dl 9 R f (.)3217 2228 w 10 R f 1425 2098 1398 2098 Dl 9 R f (.)3256 2327 w 10 R f 1467 2098 1434 2098 Dl 9 R f (.)3236 2228 w 10 R f 1505 2098 1478 2098 Dl 9 R f (.)3275 2327 w 10 R f 1547 2098 1514 2098 Dl 9 R f (.)3256 2228 w 10 R f 1585 2098 1558 2098 Dl 9 R f (.)3294 2327 w 10 R f 1627 2098 1594 2098 Dl 9 R f (.)3275 2228 w 10 R f 1662 2098 1634 2098 Dl 9 R f (.)3313 2327 w 10 R f 1705 2098 1677 2098 Dl 9 R f (.)3294 2228 w 10 R f 1741 2098 1720 2098 Dl 9 R f (.)3333 2327 w 10 R f 1784 2098 1756 2098 Dl 9 R f (.)3217 2192 w (.)3352 2327 w 10 R f 1907 2098 1879 2098 Dl 9 R f (.)3372 2327 w 10 R f 1951 2098 1915 2098 Dl 9 R f (.)3217 2091 w 10 R f 1993 2098 1965 2098 Dl 6 S f (\357)3388 2339 w 10 R f 2044 2098 2001 2098 Dl 9 R f (.)3217 2062 w 10 R f 2080 2098 2052 2098 Dl 9 R f (.)3411 2327 w 10 R f 2131 2098 2088 2098 Dl 9 R f (.)3236 2062 w 10 R f 2166 2098 2138 2098 Dl 9 R f (.)3430 2327 w 10 R f 2217 2098 2174 2098 Dl 9 R f (.)3256 2062 w 10 R f 2252 2098 2224 2098 Dl 9 R f (.)3450 2327 w 10 R f 2303 2098 2260 2098 Dl 9 R f (.)3275 2062 w 10 R f 2339 2098 2311 2098 Dl 9 R f (.)3469 2327 w 10 R f 2390 2098 2347 2098 Dl 9 R f (.)3294 2062 w 10 R f 2425 2098 2404 2098 Dl 9 R f (.)3488 2327 w 10 R f 2476 2098 2440 2098 Dl 9 R f (.)3313 2062 w 10 R f 2512 2098 2491 2098 Dl 9 R f (.)3508 2327 w 10 R f 2570 2098 2527 2098 Dl 9 R f (.)3333 2062 w 10 R f 2605 2098 2577 2098 Dl 9 R f (.)3527 2327 w 10 R f 2656 2098 2613 2098 Dl 9 R f (.)3217 1998 w 10 R f 2699 2098 2671 2098 Dl 9 R f (.)3547 2327 w 10 R f 2750 2098 2707 2098 Dl 9 R f (.)3236 1998 w 10 R f 2792 2098 2764 2098 Dl 9 R f (.)3565 2327 w 10 R f 2843 2098 2800 2098 Dl 9 R f (.)3256 1998 w 10 R f 2886 2098 2858 2098 Dl 6 S f (\357)3583 2339 w 10 R f 2908 2098 2894 2098 Dl 1079 2077 1049 2077 Dl 9 R f (.)3275 1998 w 10 R f 1119 2077 1092 2077 Dl 9 R f (.)3605 2327 w 10 R f 1173 2077 1128 2077 Dl 9 R f (.)3294 1998 w 10 R f 1214 2077 1187 2077 Dl 9 R f (.)3624 2327 w 10 R f 1268 2077 1223 2077 Dl 9 R f (.)3313 1998 w 10 R f 1308 2077 1281 2077 Dl 9 R f (.)3643 2327 w 10 R f 1363 2077 1318 2077 Dl 9 R f (.)3333 1998 w 10 R f 1402 2077 1375 2077 Dl 9 R f (.)3663 2327 w 10 R f 1457 2077 1412 2077 Dl 9 R f (.)3352 1998 w 10 R f 1496 2077 1470 2077 Dl 9 R f (.)3682 2327 w 10 R f 1551 2077 1506 2077 Dl 9 R f (.)3372 1998 w 10 R f 1592 2077 1565 2077 Dl 9 R f (.)3702 2327 w 10 R f 1648 2077 1601 2077 Dl 6 S f (\357)3388 2010 w 10 R f 1684 2077 1663 2077 Dl 9 R f (.)3721 2327 w 10 R f 1742 2077 1699 2077 Dl 9 R f (.)3411 1998 w 10 R f 1777 2077 1756 2077 Dl 9 R f (.)3740 2327 w 10 R f 1835 2077 1792 2077 Dl 9 R f (.)3430 1998 w 10 R f 1878 2077 1850 2077 Dl 9 R f (.)3760 2327 w 10 R f 1929 2077 1886 2077 Dl 9 R f (.)3217 2026 w 10 R f 1972 2077 1944 2077 Dl 2023 2077 1980 2077 Dl 9 R f (.)3236 2091 w 6 S f (\357)3773 2339 w 10 R f 2512 1105 2491 1105 Dl 9 R f (.)3797 2327 w 10 R f 2116 2077 2066 2077 Dl 9 R f (.)3217 1926 w 10 R f 2440 1083 2419 1083 Dl 9 R f (.)3819 2327 w 10 R f 2649 1083 2606 1083 Dl 9 R f (.)3450 1998 w 10 R f 2353 1083 2325 1083 Dl 9 R f (.)3841 2327 w 10 R f 2707 1083 2664 1083 Dl 9 R f (.)3469 1998 w 10 R f 2252 1083 2224 1083 Dl 9 R f (.)3855 2327 w 10 R f 2764 1083 2721 1083 Dl 9 R f (.)3488 1998 w 10 R f 2893 1105 2865 1105 Dl 9 R f (.)3877 2327 w 10 R f 2822 1083 2779 1083 Dl 9 R f (.)3508 1998 w 10 R f 2065 1083 2037 1083 Dl 9 R f (.)3898 2327 w 10 R f 2879 1083 2836 1083 Dl 9 R f (.)3527 1998 w 10 R f 2152 2077 2124 2077 Dl 9 R f (.)3913 2327 w 10 R f 2908 1083 2894 1083 Dl 1079 1054 1049 1054 Dl 9 R f (.)3547 1998 w 10 R f 1878 1083 1850 1083 Dl 9 R f (.)3934 2327 w 10 R f 1138 1054 1092 1054 Dl 9 R f (.)3565 1998 w 10 R f 1410 1083 1383 1083 Dl 9 R f (.)3956 2327 w 10 R f 1195 1054 1150 1054 Dl 6 S f (\357)3583 2010 w 10 R f 1684 1083 1663 1083 Dl 6 S f (\357)3967 2339 w 10 R f 1253 1054 1208 1054 Dl 9 R f (.)3605 1998 w 10 R f 2706 1105 2678 1105 Dl 9 R f (.)3992 2327 w 10 R f 1312 1054 1267 1054 Dl 9 R f (.)3624 1998 w 10 R f 1496 1083 1470 1083 Dl 9 R f (.)4013 2327 w 10 R f 1370 1054 1325 1054 Dl 9 R f (.)3643 1998 w 10 R f 1785 1083 1764 1083 Dl 9 R f (.)4028 2327 w 10 R f 1428 1054 1383 1054 Dl 9 R f (.)3663 1998 w 10 R f 1308 1083 1281 1083 Dl 9 R f (.)4049 2327 w 10 R f 1486 1054 1441 1054 Dl 9 R f (.)3682 1998 w 10 R f 1221 1083 1194 1083 Dl 9 R f (.)4071 2327 w 10 R f 1544 1054 1499 1054 Dl 9 R f (.)3702 1998 w 10 R f 1119 1083 1092 1083 Dl 9 R f (.)4093 2327 w 10 R f 1603 1054 1558 1054 Dl 9 R f (.)3721 1998 w 10 R f 2166 1083 2138 1083 Dl 9 R f (.)4107 2327 w 10 R f 1662 1054 1616 1054 Dl 9 R f (.)3740 1998 w 10 R f 2792 1105 2764 1105 Dl 9 R f (.)4129 2327 w 10 R f 1720 1054 1677 1054 Dl 9 R f (.)3760 1998 w 10 R f 1599 1083 1572 1083 Dl 9 R f (.)4150 2327 w 10 R f 1778 1054 1735 1054 Dl 6 S f (\357)3773 2010 w 10 R f 2605 1105 2577 1105 Dl 6 S f (\357)4162 2339 w 10 R f 1835 1054 1792 1054 Dl 9 R f (.)3797 1998 w 10 R f 2548 1083 2520 1083 Dl 9 R f (.)4186 2327 w 10 R f 1893 1054 1850 1054 Dl 9 R f (.)3819 1998 w 10 R f 2288 2077 2260 2077 Dl 9 R f (.)4208 2327 w 10 R f 1951 1054 1908 1054 Dl 9 R f (.)3841 1998 w 10 R f 1979 1083 1951 1083 Dl 9 R f (.)4222 2327 w 10 R f 2008 1054 1965 1054 Dl 9 R f (.)3855 1998 w 10 R f 2058 2077 2030 2077 Dl 9 R f (.)4244 2327 w 10 R f 2066 1054 2023 1054 Dl 9 R f (.)3877 1998 w 10 R f 2108 1054 2080 1054 Dl 9 R f (.)4265 2327 w 10 R f 2159 1054 2116 1054 Dl 9 R f (.)3898 1998 w 10 R f 2202 1054 2174 1054 Dl 9 R f (.)4287 2327 w 10 R f 2260 1054 2210 1054 Dl 9 R f (.)3913 1998 w 10 R f 2296 1054 2268 1054 Dl 9 R f (.)4301 2327 w 10 R f 2354 1054 2304 1054 Dl 9 R f (.)3934 1998 w 10 R f 2389 1054 2368 1054 Dl 9 R f (.)4323 2327 w 10 R f 2447 1054 2404 1054 Dl 9 R f (.)3956 1998 w 10 R f 2483 1054 2462 1054 Dl 9 R f (.)4345 2327 w 10 R f 2541 1054 2498 1054 Dl 6 S f (\357)3967 2010 w 10 R f 2584 1054 2556 1054 Dl 6 S f (\357)4356 2339 w 10 R f 2635 1054 2592 1054 Dl 9 R f (.)3992 1998 w 10 R f 2677 1054 2649 1054 Dl 9 R f (.)4381 2327 w 10 R f 2728 1054 2685 1054 Dl 9 R f (.)4013 1998 w 10 R f 2771 1054 2743 1054 Dl 9 R f (.)4402 2327 w 10 R f 2822 1054 2779 1054 Dl 9 R f (.)4028 1998 w 10 R f 2864 1054 2836 1054 Dl 9 R f (.)4417 2327 w 10 R f 2908 1054 2872 1054 Dl 1057 1033 1049 1033 Dl 9 R f (.)4049 1998 w 10 R f 1097 1033 1070 1033 Dl 9 R f (.)4438 2327 w 10 R f 1152 1033 1107 1033 Dl 9 R f (.)4071 1998 w 10 R f 1191 1033 1164 1033 Dl 9 R f (.)4460 2327 w 10 R f 1246 1033 1201 1033 Dl 9 R f (.)4093 1998 w 10 R f 1287 1033 1260 1033 Dl 9 R f (.)4474 2327 w 10 R f 1341 1033 1296 1033 Dl 9 R f (.)4107 1998 w 10 R f 1381 1033 1354 1033 Dl 9 R f (.)4496 2327 w 10 R f 1436 1033 1390 1033 Dl 9 R f (.)4129 1998 w 10 R f 1475 1033 1448 1033 Dl 9 R f (.)4517 2327 w 10 R f 1530 1033 1485 1033 Dl 9 R f (.)4150 1998 w 10 R f 1570 1033 1543 1033 Dl 9 R f (.)4539 2327 w 10 R f 1626 1033 1579 1033 Dl 6 S f (\357)4162 2010 w 10 R f 1662 1033 1634 1033 Dl 6 S f (\357)4550 2339 w 10 R f 1720 1033 1677 1033 Dl 9 R f (.)4186 1998 w 10 R f 1756 1033 1735 1033 Dl 2030 1083 1987 1083 Dl 9 R f (.)3256 2091 w (..)4575 2327 w (.)3217 1897 w 10 R f 1835 1033 1807 1033 Dl 2404 1083 2368 1083 Dl 9 R f (.)3275 2091 w ( .)1 15(.. .)1 66 2 4611 2327 t 10 R f 1979 1033 1951 1033 Dl 2203 2077 2160 2077 Dl 9 R f (.)3294 2091 w (..)4690 2327 w (.)3236 1897 w 10 R f 2051 1033 2023 1033 Dl 1458 1083 1419 1083 Dl 9 R f (.)3313 2091 w (.)4726 2327 w 6 S f (\357)4745 2339 w 10 R f 2123 1033 2095 1033 Dl 2757 1105 2714 1105 Dl 9 R f (.)3333 2091 w (..)4769 2327 w (.)3256 1897 w 10 R f 2195 1033 2167 1033 Dl 1836 1083 1800 1083 Dl 9 R f (.)3352 2091 w (..)4805 2327 w 10 R f 2267 1033 2239 1033 Dl 1270 1083 1230 1083 Dl 9 R f (.)3372 2091 w (. .)1 37 1 4849 2327 t 10 R f 2339 1033 2311 1033 Dl 2217 1083 2174 1083 Dl 6 S f (\357)3388 2103 w 9 R f (..)4885 2327 w 10 R f 2411 1033 2390 1033 Dl 1648 1083 1609 1083 Dl 9 R f (.)3411 2091 w (.)4921 2327 w 6 S f (\357)4939 2339 w 10 R f 2562 1033 2534 1033 Dl 2505 1083 2455 1083 Dl 1907 1033 1879 1033 Dl 2310 1083 2260 1083 Dl 1871 1033 1843 1033 Dl 2908 1105 2901 1105 Dl 1081 1083 1049 1083 Dl 9 R f (.)3430 2091 w 10 R f 2087 1033 2059 1033 Dl 2123 1083 2073 1083 Dl 9 R f (.)3275 1897 w 10 R f 2159 1033 2131 1033 Dl 1936 1083 1886 1083 Dl 2375 1033 2347 1033 Dl 1749 1083 1699 1083 Dl 9 R f (.)3294 1897 w 10 R f 2447 1033 2426 1033 Dl 1557 1083 1506 1083 Dl 9 R f (.)3313 1897 w 10 R f 1943 1033 1915 1033 Dl 2476 1105 2426 1105 Dl 9 R f (.)3333 1897 w 10 R f 2699 1033 2671 1033 Dl 2656 1033 2606 1033 Dl 9 R f (.)3352 1897 w 10 R f 2598 1033 2570 1033 Dl 2750 1033 2707 1033 Dl 9 R f (.)3450 2091 w 10 R f 2519 1033 2498 1033 Dl 1368 1083 1318 1083 Dl 9 R f (.)3372 1897 w 10 R f 2015 1033 1987 1033 Dl 1179 1083 1128 1083 Dl 6 S f (\357)3388 1909 w 9 R f (.)4964 2327 w 10 R f 2231 1033 2203 1033 Dl 9 R f (.)4978 2327 w 10 R f 2850 1105 2800 1105 Dl 9 R f (.)3411 1897 w 10 R f 1792 1033 1771 1033 Dl 2253 2077 2210 2077 Dl 9 R f (.)3469 2091 w 10 R f 1828 2098 1800 2098 Dl 9 R f (.)5000 2327 w 10 R f 2563 1105 2527 1105 Dl 9 R f (.)3217 2163 w 10 R f 2303 1033 2275 1033 Dl 9 R f (.)5021 2327 w 10 R f 2663 1105 2613 1105 Dl 9 R f (.)3430 1897 w 10 R f 2483 1033 2462 1033 Dl 9 R f (.)5043 2327 w 10 R f 2592 1083 2556 1083 Dl 9 R f (.)3488 2091 w 10 R f 2785 1033 2757 1033 Dl 9 R f (.)5057 2327 w 6 R f (x)1821 2110 w 10 R f 1864 2098 1836 2098 Dl 9 R f (.)3217 2264 w 6 R f (96)5038 2904 w 9 CW f ( = 0;)2 270(int mallocinit)1 972 2 1008 3230 t (FILE *mallocfp;)1 972 1 1008 3340 t (char *emalloc\(n\))1 864 1 1008 3560 t (int n;)1 324 1 1008 3670 t ( *p;)1 216({ char)1 648 2 1008 3780 t (if \(mallocinit == 0\) {)4 1188 1 1440 3890 t (mallocinit = 1;)2 810 1 1872 4000 t (mallocfp = fopen\("/tmp/malloc.hist", "w"\);)3 2268 1 1872 4110 t (})1440 4220 w (p = malloc\(\(unsigned\) n\);)3 1350 1 1440 4330 t (if \(p == NULL\) fatal\("out of memory"\);)6 2052 1 1440 4440 t (fprintf\(mallocfp, "m\\t%d\\t%d\\n", \(int\) p, n\);)4 2430 1 1440 4550 t (return p;)1 486 1 1440 4660 t (})1008 4770 w (efree\(p\))1008 4990 w (char *p;)1 432 1 1008 5100 t ( "f\\t%d\\n", \(int\) p\);)3 1134({ fprintf\(mallocfp,)1 1350 2 1008 5210 t (free\(p\);)1440 5320 w (})1008 5430 w 10 R f (They write on the named file output lines of two types:)10 2198 1 720 5610 t 9 CW f (m)1008 5780 w 9 I f (address length)1 559 1 1116 5780 t 9 CW f (f)1008 5890 w 9 I f (address)1116 5890 w 10 R f (The first line denotes that a)5 1090 1 720 6070 t 10 I f (malloc)1835 6070 w 10 R f (of the given length returned the given address; the second marks a)11 2642 1 2132 6070 t 10 I f (free)4799 6070 w 10 R f (.)4954 6070 w ( interesting events; they are given a geometric interpretation by a subse-)11 2919(The resulting history file contains the)5 1511 2 970 6226 t ( is a simple program that generates only the arena view from the script file:)14 3000( Here)1 243(quent program.)1 610 3 720 6346 t cleartomark showpage saveobj restore %%EndPage: 18 20 %%Page: 19 21 /saveobj save def mark 21 pagesetup 10 R f (- 19 -)2 216 1 2952 480 t 9 CW f (awk ')1 270 1 1008 830 t ( OFS = "\\t"; w = 1024 })7 1242(BEGIN {)1 810 2 1008 940 t ( s = $2)3 378( {)1 324($1 == "m")2 486 3 1008 1050 t (ehist[s] = e = s + $3)6 1134 1 1872 1160 t (sx = s % w; sy = int\(s / w\))9 1458 1 1872 1270 t (ex = e % w; ey = int\(e / w\))9 1458 1 1872 1380 t (if \(sy == ey\) print "a" s ": line", sx, sy, ex, sy)12 2700 1 1872 1490 t ( "a" s ": line " sx " " sy " " w " " sy)15 2106( print)1 378(else {)1 324 3 1872 1600 t (for \(i = sy+1; i <= ey-1; i++\))7 1620 1 2304 1710 t (print "b" i ": line", 0, i, w, i)8 1728 1 2736 1820 t (print "c" ey ": line", 0, ey, ex, ey)8 1944 1 2304 1930 t (})1872 2040 w (})1764 2150 w ( s = $2)3 378( {)1 324($1 == "f")2 486 3 1008 2260 t (e = ehist[s])2 648 1 1872 2370 t (sx = s % w; sy = int\(s / w\))9 1458 1 1872 2480 t (ex = e % w; ey = int\(e / w\))9 1458 1 1872 2590 t (if \(sy == ey\) print "erase a" s)7 1674 1 1872 2700 t ( "erase a" s)3 648( print)1 378(else {)1 324 3 1872 2810 t (for \(i = sy+1; i <= ey-1; i++\))7 1620 1 2304 2920 t (print "erase b" i)3 918 1 2736 3030 t (print "erase c" ey)3 972 1 2304 3140 t (})1872 3250 w (})1764 3360 w ({ print "click call" })4 1188 1 1764 3470 t (' $*)1 216 1 1008 3580 t 10 R f (The)720 3760 w 10 CW f (BEGIN)909 3760 w 10 R f (block initializes variables, the actions for)5 1687 1 1243 3760 t 10 CW f (m)2964 3760 w 10 R f ( memory, and those for)4 969(lines draw)1 422 2 3058 3760 t 10 CW f (f)4484 3760 w 10 R f (lines erase memory.)2 821 1 4579 3760 t (The variable)1 506 1 720 3880 t 10 CW f (s)1256 3880 w 10 R f (is the starting byte of a block;)6 1218 1 1346 3880 t 10 CW f (e)2594 3880 w 10 R f ( variables)1 389( The)1 209(is the ending block.)3 798 3 2684 3880 t 10 CW f (sx)4109 3880 w 10 R f (and)4258 3880 w 10 CW f (sy)4431 3880 w 10 R f (are the)1 272 1 4580 3880 t 10 I f (x)4881 3880 w 10 R f (and)4954 3880 w 10 I f (y)5127 3880 w 10 R f (posi-)5200 3880 w (tions of the starting byte, and similarly for)7 1702 1 720 4000 t 10 CW f (ex)2449 4000 w 10 R f (and)2596 4000 w 10 CW f (ey)2767 4000 w 10 R f ( the block fits on one line, then only a single line fragment)12 2370(. If)1 143 2 2887 4000 t (need be drawn; otherwise, fragments of three types are needed.)9 2517 1 720 4120 t (The complete program for generating scripts from history files is 56 lines of)12 3040 1 970 4276 t 10 I f (awk)4035 4276 w 10 R f ( in)1 104( ease tracing the action)4 914(. To)1 186 3 4196 4276 t (the arena, it marks a)4 834 1 720 4396 t 10 I f (malloc)1586 4396 w 10 R f (with an)1 304 1 1890 4396 t 10 CW f (x)2226 4396 w 10 R f (and a)1 220 1 2318 4396 t 10 I f (free)2570 4396 w 10 R f (with an)1 304 1 2757 4396 t 10 CW f (o)3093 4396 w 10 R f ( histogram view is embellished with bars and the)8 2010(. The)1 237 2 3153 4396 t ( or both of the)4 602( is room for further elaborations; one might, for instance, want to put either)13 3108( There)1 290(maximum value.)1 680 4 720 4516 t (axes of the histogram on logarithmic scales.)6 1756 1 720 4636 t 10 I f (Dynamic Statistical Displays.)2 1186 1 720 4912 t 10 R f (Rick Becker constructed this display of air pollution in the Northeast United States:)12 3342 1 970 5068 t cleartomark showpage saveobj restore %%EndPage: 19 21 %%Page: 20 22 /saveobj save def mark 22 pagesetup 10 R f (- 20 -)2 216 1 2952 480 t 13 R f 1383 1570 1398 1541 Dl 10 R f 1813 962 4 4 De 1827 948 4 4 De 1791 962 4 4 De 1827 991 4 4 De 1762 897 4 4 De 1659 904 8 8 De 1661 991 4 4 De 1808 1122 12 12 De 1460 1108 4 4 De 1443 1132 12 12 De 1342 1130 13 13 De 1283 1281 4 4 De 1253 1277 13 13 De 1232 1305 4 4 De 1205 1311 8 8 De 1194 1367 4 4 De 1144 1379 4 4 De 1008 1349 22 22 De 1514 875 1336 868 Dl 841 1619 864 1589 Dl 1250 1290 1656 1212 Dl 1815 1165 1815 1173 Dl 1814 1173 1771 1169 Dl 1771 1169 1656 1212 Dl 1663 1050 1656 1212 Dl 865 1589 986 1518 Dl 985 1518 924 1400 Dl 924 1399 1016 1207 Dl 1194 1320 1016 1207 Dl 1250 1289 1279 1248 Dl 1280 1248 1288 1040 Dl 1663 1050 1288 1040 Dl 1336 869 1288 1040 Dl 1778 876 1514 876 Dl 1872 840 1779 876 Dl 1872 933 1872 840 Dl 1865 983 1872 933 Dl 2001 1115 1865 984 Dl 2030 1043 2002 1115 Dl 2038 1135 2031 1043 Dl 1923 1120 2038 1135 Dl 1815 1164 1923 1120 Dl 1156 1379 1116 1422 Dl 1182 1486 1116 1422 Dl 968 1802 1183 1487 Dl 909 1724 967 1802 Dl 841 1621 909 1724 Dl 1729 1046 1815 1164 Dl 1664 1049 1728 1045 Dl 1195 1319 1249 1290 Dl 1157 1379 1195 1320 Dl 1525 1270 1509 1321 Dl 1177 1397 1526 1269 Dl 1215 1397 1176 1398 Dl 1509 1322 1216 1397 Dl 1193 1344 1 1 De 1367 1541 61 61 De 13 R f 2452 1558 2478 1541 Dl 10 R f 2893 962 4 4 De 2907 948 4 4 De 2869 962 8 8 De 2907 991 4 4 De 2842 897 4 4 De 2739 904 8 8 De 2737 991 12 12 De 2886 1122 18 18 De 2536 1108 12 12 De 2521 1132 18 18 De 2542 1158 26 26 De 2417 1130 22 22 De 2464 1158 4 4 De 2373 1201 8 8 De 2439 1250 4 4 De 2356 1281 17 17 De 2331 1277 18 18 De 2310 1305 8 8 De 2439 1361 4 4 De 2281 1311 18 18 De 2274 1367 4 4 De 2221 1379 8 8 De 2198 1382 4 4 De 2215 1369 8 8 De 2120 1404 8 8 De 2084 1349 30 30 De 2594 875 2416 868 Dl 1921 1619 1944 1589 Dl 2330 1290 2736 1212 Dl 2895 1165 2895 1173 Dl 2894 1173 2851 1169 Dl 2851 1169 2736 1212 Dl 2743 1050 2736 1212 Dl 1945 1589 2066 1518 Dl 2065 1518 2004 1400 Dl 2004 1399 2096 1207 Dl 2274 1320 2096 1207 Dl 2330 1289 2359 1248 Dl 2360 1248 2368 1040 Dl 2743 1050 2368 1040 Dl 2416 869 2368 1040 Dl 2858 876 2594 876 Dl 2952 840 2859 876 Dl 2952 933 2952 840 Dl 2945 983 2952 933 Dl 3081 1115 2945 984 Dl 3110 1043 3082 1115 Dl 3118 1135 3111 1043 Dl 3003 1120 3118 1135 Dl 2895 1164 3003 1120 Dl 2236 1379 2196 1422 Dl 2262 1486 2196 1422 Dl 2048 1802 2263 1487 Dl 1989 1724 2047 1802 Dl 1921 1621 1989 1724 Dl 2809 1046 2895 1164 Dl 2744 1049 2808 1045 Dl 2275 1319 2329 1290 Dl 2237 1379 2275 1320 Dl 2605 1270 2589 1321 Dl 2257 1397 2606 1269 Dl 2295 1397 2256 1398 Dl 2589 1322 2296 1397 Dl 2273 1344 1 1 De 2447 1541 61 61 De 13 R f 3528 1541 3558 1541 Dl 10 R f 3973 969 4 4 De 3970 962 8 8 De 3987 948 4 4 De 3947 962 12 12 De 3983 991 12 12 De 3922 897 4 4 De 3817 904 12 12 De 3817 991 12 12 De 3646 1027 4 4 De 3962 1122 26 26 De 3631 1086 8 8 De 3612 1108 22 22 De 3597 1132 26 26 De 3618 1158 35 35 De 3493 1130 30 30 De 3535 1158 22 22 De 3447 1201 22 22 De 3517 1250 8 8 De 3434 1281 22 22 De 3404 1277 30 30 De 3386 1305 18 18 De 3512 1361 18 18 De 3358 1311 22 22 De 3350 1367 13 13 De 3301 1379 8 8 De 3278 1382 4 4 De 3295 1369 8 8 De 3200 1404 8 8 De 3162 1349 35 35 De 3674 875 3496 868 Dl 3001 1619 3024 1589 Dl 3410 1290 3816 1212 Dl 3975 1165 3975 1173 Dl 3974 1173 3931 1169 Dl 3931 1169 3816 1212 Dl 3823 1050 3816 1212 Dl 3025 1589 3146 1518 Dl 3145 1518 3084 1400 Dl 3084 1399 3176 1207 Dl 3354 1320 3176 1207 Dl 3410 1289 3439 1248 Dl 3440 1248 3448 1040 Dl 3823 1050 3448 1040 Dl 3496 869 3448 1040 Dl 3938 876 3674 876 Dl 4032 840 3939 876 Dl 4032 933 4032 840 Dl 4025 983 4032 933 Dl 4161 1115 4025 984 Dl 4190 1043 4162 1115 Dl 4198 1135 4191 1043 Dl 4083 1120 4198 1135 Dl 3975 1164 4083 1120 Dl 3316 1379 3276 1422 Dl 3342 1486 3276 1422 Dl 3128 1802 3343 1487 Dl 3069 1724 3127 1802 Dl 3001 1621 3069 1724 Dl 3889 1046 3975 1164 Dl 3824 1049 3888 1045 Dl 3355 1319 3409 1290 Dl 3317 1379 3355 1320 Dl 3685 1270 3669 1321 Dl 3337 1397 3686 1269 Dl 3375 1397 3336 1398 Dl 3669 1322 3376 1397 Dl 3353 1344 1 1 De 3527 1541 61 61 De 13 R f 4612 1524 4638 1541 Dl 10 R f 5053 969 4 4 De 5050 962 8 8 De 5065 948 8 8 De 5056 991 26 26 De 5000 897 8 8 De 4895 904 18 18 De 4897 991 12 12 De 4726 1027 4 4 De 5037 1122 35 35 De 4837 1207 8 8 De 4708 1086 13 13 De 4687 1108 30 30 De 4675 1132 30 30 De 4698 1158 35 35 De 4571 1130 35 35 De 4611 1158 30 30 De 4523 1201 30 30 De 4592 1250 18 18 De 4510 1281 30 30 De 4480 1277 39 39 De 4461 1305 26 26 De 4584 1361 35 35 De 4434 1311 30 30 De 4430 1367 13 13 De 4371 1379 30 30 De 4354 1382 12 12 De 4371 1369 18 18 De 4276 1404 18 18 De 4242 1349 35 35 De 4754 875 4576 868 Dl 4081 1619 4104 1589 Dl 4490 1290 4896 1212 Dl 5055 1165 5055 1173 Dl 5054 1173 5011 1169 Dl 5011 1169 4896 1212 Dl 4903 1050 4896 1212 Dl 4105 1589 4226 1518 Dl 4225 1518 4164 1400 Dl 4164 1399 4256 1207 Dl 4434 1320 4256 1207 Dl 4490 1289 4519 1248 Dl 4520 1248 4528 1040 Dl 4903 1050 4528 1040 Dl 4576 869 4528 1040 Dl 5018 876 4754 876 Dl 5112 840 5019 876 Dl 5112 933 5112 840 Dl 5105 983 5112 933 Dl 5241 1115 5105 984 Dl 5270 1043 5242 1115 Dl 5278 1135 5271 1043 Dl 5163 1120 5278 1135 Dl 5055 1164 5163 1120 Dl 4396 1379 4356 1422 Dl 4422 1486 4356 1422 Dl 4208 1802 4423 1487 Dl 4149 1724 4207 1802 Dl 4081 1621 4149 1724 Dl 4969 1046 5055 1164 Dl 4904 1049 4968 1045 Dl 4435 1319 4489 1290 Dl 4397 1379 4435 1320 Dl 4765 1270 4749 1321 Dl 4417 1397 4766 1269 Dl 4455 1397 4416 1398 Dl 4749 1322 4456 1397 Dl 4433 1344 1 1 De 4607 1541 61 61 De 5020 962 26 26 De 13 R f 1383 2448 1398 2477 Dl 10 R f 1808 1905 12 12 De 1806 1898 18 18 De 1823 1884 12 12 De 1814 1927 30 30 De 1758 1833 12 12 De 1651 1840 26 26 De 1655 1927 18 18 De 1486 1963 4 4 De 1793 2058 43 43 De 1595 2143 12 12 De 1464 2022 22 22 De 1445 2044 35 35 De 1432 2068 35 35 De 1458 2094 35 35 De 1331 2066 35 35 De 1369 2094 35 35 De 1276 2137 43 43 De 1348 2186 26 26 De 1256 2217 57 57 De 1226 2213 66 66 De 1217 2241 35 35 De 1339 2297 43 43 De 1188 2247 43 43 De 1175 2303 44 44 De 1129 2315 35 35 De 1110 2318 22 22 De 1131 2305 18 18 De 1031 2340 26 26 De 997 2285 43 43 De 1514 1811 1336 1804 Dl 841 2555 864 2525 Dl 1250 2226 1656 2148 Dl 1815 2101 1815 2109 Dl 1814 2109 1771 2105 Dl 1771 2105 1656 2148 Dl 1663 1986 1656 2148 Dl 865 2525 986 2454 Dl 985 2454 924 2336 Dl 924 2335 1016 2143 Dl 1194 2256 1016 2143 Dl 1250 2225 1279 2184 Dl 1280 2184 1288 1976 Dl 1663 1986 1288 1976 Dl 1336 1805 1288 1976 Dl 1778 1812 1514 1812 Dl 1872 1776 1779 1812 Dl 1872 1869 1872 1776 Dl 1865 1919 1872 1869 Dl 2001 2051 1865 1920 Dl 2030 1979 2002 2051 Dl 2038 2071 2031 1979 Dl 1923 2056 2038 2071 Dl 1815 2100 1923 2056 Dl 1156 2315 1116 2358 Dl 1182 2422 1116 2358 Dl 968 2738 1183 2423 Dl 909 2660 967 2738 Dl 841 2557 909 2660 Dl 1729 1982 1815 2100 Dl 1664 1985 1728 1981 Dl 1195 2255 1249 2226 Dl 1157 2315 1195 2256 Dl 1525 2206 1509 2257 Dl 1177 2333 1526 2205 Dl 1215 2333 1176 2334 Dl 1509 2258 1216 2333 Dl 1193 2280 1 1 De 1367 2477 61 61 De 1780 1898 26 26 De 13 R f 2478 2444 2478 2477 Dl 10 R f 2884 1905 22 22 De 2882 1898 26 26 De 2898 1884 22 22 De 2466 2155 53 53 De 2894 1927 30 30 De 2833 1833 22 22 De 2731 1840 26 26 De 2733 1927 22 22 De 2563 1963 8 8 De 2873 2058 43 43 De 2666 2143 30 30 De 2542 2022 26 26 De 2523 2044 39 39 De 2510 2068 39 39 De 2526 2094 57 57 De 2411 2066 35 35 De 2445 2094 43 43 De 2354 2137 48 48 De 2417 2186 48 48 De 2321 2217 88 88 De 2298 2213 84 84 De 2290 2241 48 48 De 2412 2297 57 57 De 2265 2247 48 48 De 2250 2303 53 53 De 2209 2315 35 35 De 2188 2318 26 26 De 2211 2305 18 18 De 2111 2340 26 26 De 2075 2285 48 48 De 2238 2423 26 26 De 2594 1811 2416 1804 Dl 1921 2555 1944 2525 Dl 2330 2226 2736 2148 Dl 2895 2101 2895 2109 Dl 2894 2109 2851 2105 Dl 2851 2105 2736 2148 Dl 2743 1986 2736 2148 Dl 1945 2525 2066 2454 Dl 2065 2454 2004 2336 Dl 2004 2335 2096 2143 Dl 2274 2256 2096 2143 Dl 2330 2225 2359 2184 Dl 2360 2184 2368 1976 Dl 2743 1986 2368 1976 Dl 2416 1805 2368 1976 Dl 2858 1812 2594 1812 Dl 2952 1776 2859 1812 Dl 2952 1869 2952 1776 Dl 2945 1919 2952 1869 Dl 3081 2051 2945 1920 Dl 3110 1979 3082 2051 Dl 3118 2071 3111 1979 Dl 3003 2056 3118 2071 Dl 2895 2100 3003 2056 Dl 2236 2315 2196 2358 Dl 2262 2422 2196 2358 Dl 2048 2738 2263 2423 Dl 1989 2660 2047 2738 Dl 1921 2557 1989 2660 Dl 2809 1982 2895 2100 Dl 2744 1985 2808 1981 Dl 2275 2255 2329 2226 Dl 2237 2315 2275 2256 Dl 2605 2206 2589 2257 Dl 2257 2333 2606 2205 Dl 2295 2333 2256 2334 Dl 2589 2258 2296 2333 Dl 2273 2280 1 1 De 2447 2477 61 61 De 2860 1898 26 26 De 13 R f 3573 2448 3558 2477 Dl 10 R f 3968 1905 12 12 De 3964 1898 22 22 De 3978 1884 22 22 De 3538 2155 66 66 De 3974 1927 30 30 De 3913 1833 22 22 De 3806 1840 35 35 De 3811 1927 26 26 De 3646 1963 4 4 De 3948 2058 53 53 De 3742 2143 39 39 De 3622 2022 26 26 De 3601 2044 43 43 De 3588 2068 43 43 De 3602 2094 66 66 De 3493 2066 30 30 De 3520 2094 53 53 De 3427 2137 61 61 De 3490 2186 61 61 De 3401 2217 88 88 De 3382 2213 75 75 De 3373 2241 43 43 De 3492 2297 57 57 De 3350 2247 39 39 De 3332 2303 48 48 De 3289 2315 35 35 De 3270 2318 22 22 De 3289 2305 22 22 De 3198 2340 13 13 De 3155 2285 48 48 De 3309 2423 44 44 De 3674 1811 3496 1804 Dl 3001 2555 3024 2525 Dl 3410 2226 3816 2148 Dl 3975 2101 3975 2109 Dl 3974 2109 3931 2105 Dl 3931 2105 3816 2148 Dl 3823 1986 3816 2148 Dl 3025 2525 3146 2454 Dl 3145 2454 3084 2336 Dl 3084 2335 3176 2143 Dl 3354 2256 3176 2143 Dl 3410 2225 3439 2184 Dl 3440 2184 3448 1976 Dl 3823 1986 3448 1976 Dl 3496 1805 3448 1976 Dl 3938 1812 3674 1812 Dl 4032 1776 3939 1812 Dl 4032 1869 4032 1776 Dl 4025 1919 4032 1869 Dl 4161 2051 4025 1920 Dl 4190 1979 4162 2051 Dl 4198 2071 4191 1979 Dl 4083 2056 4198 2071 Dl 3975 2100 4083 2056 Dl 3316 2315 3276 2358 Dl 3342 2422 3276 2358 Dl 3128 2738 3343 2423 Dl 3069 2660 3127 2738 Dl 3001 2557 3069 2660 Dl 3889 1982 3975 2100 Dl 3824 1985 3888 1981 Dl 3355 2255 3409 2226 Dl 3317 2315 3355 2256 Dl 3685 2206 3669 2257 Dl 3337 2333 3686 2205 Dl 3375 2333 3336 2334 Dl 3669 2258 3376 2333 Dl 3353 2280 1 1 De 3527 2477 61 61 De 3940 1898 26 26 De 13 R f 4664 2460 4638 2477 Dl 10 R f 5044 1905 22 22 De 5044 1898 22 22 De 5058 1884 22 22 De 4605 2155 92 92 De 5052 1927 35 35 De 4993 1833 22 22 De 4884 1840 39 39 De 4888 1927 30 30 De 4726 1963 4 4 De 5030 2058 48 48 De 4822 2143 39 39 De 4700 2022 30 30 De 4681 2044 43 43 De 4668 2068 43 43 De 4671 2094 88 88 De 4569 2066 39 39 De 4595 2094 61 61 De 4502 2137 70 70 De 4564 2186 74 74 De 4481 2217 88 88 De 4466 2213 66 66 De 4451 2241 48 48 De 4572 2297 57 57 De 4430 2247 39 39 De 4412 2303 48 48 De 4369 2315 35 35 De 4352 2318 18 18 De 4369 2305 22 22 De 4271 2340 26 26 De 4237 2285 43 43 De 4392 2423 39 39 De 4754 1811 4576 1804 Dl 4081 2555 4104 2525 Dl 4490 2226 4896 2148 Dl 5055 2101 5055 2109 Dl 5054 2109 5011 2105 Dl 5011 2105 4896 2148 Dl 4903 1986 4896 2148 Dl 4105 2525 4226 2454 Dl 4225 2454 4164 2336 Dl 4164 2335 4256 2143 Dl 4434 2256 4256 2143 Dl 4490 2225 4519 2184 Dl 4520 2184 4528 1976 Dl 4903 1986 4528 1976 Dl 4576 1805 4528 1976 Dl 5018 1812 4754 1812 Dl 5112 1776 5019 1812 Dl 5112 1869 5112 1776 Dl 5105 1919 5112 1869 Dl 5241 2051 5105 1920 Dl 5270 1979 5242 2051 Dl 5278 2071 5271 1979 Dl 5163 2056 5278 2071 Dl 5055 2100 5163 2056 Dl 4396 2315 4356 2358 Dl 4422 2422 4356 2358 Dl 4208 2738 4423 2423 Dl 4149 2660 4207 2738 Dl 4081 2557 4149 2660 Dl 4969 1982 5055 2100 Dl 4904 1985 4968 1981 Dl 4435 2255 4489 2226 Dl 4397 2315 4435 2256 Dl 4765 2206 4749 2257 Dl 4417 2333 4766 2205 Dl 4455 2333 4416 2334 Dl 4749 2258 4456 2333 Dl 4433 2280 1 1 De 4607 2477 61 61 De 5020 1898 26 26 De 13 R f 1428 3413 1398 3413 Dl 10 R f 1804 2841 22 22 De 1802 2834 26 26 De 1816 2820 26 26 De 1347 3091 128 128 De 1812 2863 35 35 De 1751 2769 26 26 De 1646 2776 35 35 De 1644 2863 39 39 De 1486 2899 4 4 De 1782 2994 66 66 De 1580 3079 43 43 De 1458 2958 35 35 De 1439 2980 48 48 De 1426 3004 48 48 De 1417 3030 115 115 De 1326 3002 44 44 De 1345 3030 84 84 De 1269 3073 57 57 De 1321 3122 79 79 De 1241 3153 88 88 De 1224 3149 70 70 De 1213 3177 43 43 De 1334 3233 53 53 De 1190 3183 39 39 De 1175 3239 44 44 De 1129 3251 35 35 De 1110 3254 22 22 De 1133 3241 13 13 De 1036 3276 18 18 De 995 3221 48 48 De 1156 3359 30 30 De 1514 2747 1336 2740 Dl 841 3491 864 3461 Dl 1250 3162 1656 3084 Dl 1815 3037 1815 3045 Dl 1814 3045 1771 3041 Dl 1771 3041 1656 3084 Dl 1663 2922 1656 3084 Dl 865 3461 986 3390 Dl 985 3390 924 3272 Dl 924 3271 1016 3079 Dl 1194 3192 1016 3079 Dl 1250 3161 1279 3120 Dl 1280 3120 1288 2912 Dl 1663 2922 1288 2912 Dl 1336 2741 1288 2912 Dl 1778 2748 1514 2748 Dl 1872 2712 1779 2748 Dl 1872 2805 1872 2712 Dl 1865 2855 1872 2805 Dl 2001 2987 1865 2856 Dl 2030 2915 2002 2987 Dl 2038 3007 2031 2915 Dl 1923 2992 2038 3007 Dl 1815 3036 1923 2992 Dl 1156 3251 1116 3294 Dl 1182 3358 1116 3294 Dl 968 3674 1183 3359 Dl 909 3596 967 3674 Dl 841 3493 909 3596 Dl 1729 2918 1815 3036 Dl 1664 2921 1728 2917 Dl 1195 3191 1249 3162 Dl 1157 3251 1195 3192 Dl 1525 3142 1509 3193 Dl 1177 3269 1526 3141 Dl 1215 3269 1176 3270 Dl 1509 3194 1216 3269 Dl 1193 3216 1 1 De 1367 3413 61 61 De 1780 2834 26 26 De 13 R f 2504 3430 2478 3413 Dl 10 R f 2886 2841 18 18 De 2880 2834 30 30 De 2896 2820 26 26 De 2439 3091 106 106 De 2892 2863 35 35 De 2829 2769 30 30 De 2726 2776 35 35 De 2722 2863 43 43 De 2561 2899 12 12 De 2855 2994 79 79 De 2655 3079 53 53 De 2538 2958 35 35 De 2514 2980 57 57 De 2479 3004 101 101 De 2502 3030 106 106 De 2395 3002 66 66 De 2427 3030 79 79 De 2417 3122 48 48 De 2325 3153 79 79 De 2311 3149 57 57 De 2290 3177 48 48 De 2419 3233 43 43 De 2272 3183 35 35 De 2257 3239 39 39 De 2209 3251 35 35 De 2192 3254 18 18 De 2211 3241 18 18 De 2122 3276 4 4 De 2075 3221 48 48 De 2234 3359 35 35 De 2594 2747 2416 2740 Dl 1921 3491 1944 3461 Dl 2330 3162 2736 3084 Dl 2895 3037 2895 3045 Dl 2894 3045 2851 3041 Dl 2851 3041 2736 3084 Dl 2743 2922 2736 3084 Dl 1945 3461 2066 3390 Dl 2065 3390 2004 3272 Dl 2004 3271 2096 3079 Dl 2274 3192 2096 3079 Dl 2330 3161 2359 3120 Dl 2360 3120 2368 2912 Dl 2743 2922 2368 2912 Dl 2416 2741 2368 2912 Dl 2858 2748 2594 2748 Dl 2952 2712 2859 2748 Dl 2952 2805 2952 2712 Dl 2945 2855 2952 2805 Dl 3081 2987 2945 2856 Dl 3110 2915 3082 2987 Dl 3118 3007 3111 2915 Dl 3003 2992 3118 3007 Dl 2895 3036 3003 2992 Dl 2236 3251 2196 3294 Dl 2262 3358 2196 3294 Dl 2048 3674 2263 3359 Dl 1989 3596 2047 3674 Dl 1921 3493 1989 3596 Dl 2809 2918 2895 3036 Dl 2744 2921 2808 2917 Dl 2275 3191 2329 3162 Dl 2237 3251 2275 3192 Dl 2605 3142 2589 3193 Dl 2257 3269 2606 3141 Dl 2295 3269 2256 3270 Dl 2589 3194 2296 3269 Dl 2273 3216 1 1 De 2447 3413 61 61 De 2860 2834 26 26 De 13 R f 3573 3442 3558 3413 Dl 10 R f 3964 2841 22 22 De 3960 2834 30 30 De 3974 2820 30 30 De 3532 3091 79 79 De 3962 2863 53 53 De 3911 2769 26 26 De 3806 2776 35 35 De 3802 2863 43 43 De 3637 2899 22 22 De 3939 2994 70 70 De 3715 3079 92 92 De 3615 2958 39 39 De 3574 2980 97 97 De 3559 3004 101 101 De 3595 3030 79 79 De 3506 3002 4 4 De 3491 3030 110 110 De 3504 3122 35 35 De 3409 3153 70 70 De 3393 3149 53 53 De 3375 3177 39 39 De 3502 3233 39 39 De 3352 3183 35 35 De 3335 3239 44 44 De 3289 3251 35 35 De 3270 3254 22 22 De 3291 3241 18 18 De 3200 3276 8 8 De 3155 3221 48 48 De 3318 3359 26 26 De 3674 2747 3496 2740 Dl 3001 3491 3024 3461 Dl 3410 3162 3816 3084 Dl 3975 3037 3975 3045 Dl 3974 3045 3931 3041 Dl 3931 3041 3816 3084 Dl 3823 2922 3816 3084 Dl 3025 3461 3146 3390 Dl 3145 3390 3084 3272 Dl 3084 3271 3176 3079 Dl 3354 3192 3176 3079 Dl 3410 3161 3439 3120 Dl 3440 3120 3448 2912 Dl 3823 2922 3448 2912 Dl 3496 2741 3448 2912 Dl 3938 2748 3674 2748 Dl 4032 2712 3939 2748 Dl 4032 2805 4032 2712 Dl 4025 2855 4032 2805 Dl 4161 2987 4025 2856 Dl 4190 2915 4162 2987 Dl 4198 3007 4191 2915 Dl 4083 2992 4198 3007 Dl 3975 3036 4083 2992 Dl 3316 3251 3276 3294 Dl 3342 3358 3276 3294 Dl 3128 3674 3343 3359 Dl 3069 3596 3127 3674 Dl 3001 3493 3069 3596 Dl 3889 2918 3975 3036 Dl 3824 2921 3888 2917 Dl 3355 3191 3409 3162 Dl 3317 3251 3355 3192 Dl 3685 3142 3669 3193 Dl 3337 3269 3686 3141 Dl 3375 3269 3336 3270 Dl 3669 3194 3376 3269 Dl 3353 3216 1 1 De 3527 3413 61 61 De 3940 2834 26 26 De 13 R f 4638 3447 4638 3413 Dl 10 R f 5037 2841 35 35 De 5037 2834 35 35 De 5050 2820 39 39 De 4621 3091 61 61 De 5045 2863 48 48 De 4993 2769 22 22 De 4886 2776 35 35 De 4873 2863 61 61 De 4713 2899 30 30 De 5030 2994 48 48 De 4804 3079 74 74 De 4690 2958 48 48 De 4657 2980 92 92 De 4648 3004 84 84 De 4686 3030 57 57 De 4571 3002 35 35 De 4578 3030 97 97 De 4584 3122 35 35 De 4496 3153 57 57 De 4476 3149 48 48 De 4457 3177 35 35 De 4582 3233 39 39 De 4432 3183 35 35 De 4417 3239 39 39 De 4369 3251 35 35 De 4348 3254 26 26 De 4366 3241 26 26 De 4282 3276 4 4 De 4232 3221 53 53 De 4396 3359 30 30 De 4754 2747 4576 2740 Dl 4081 3491 4104 3461 Dl 4490 3162 4896 3084 Dl 5055 3037 5055 3045 Dl 5054 3045 5011 3041 Dl 5011 3041 4896 3084 Dl 4903 2922 4896 3084 Dl 4105 3461 4226 3390 Dl 4225 3390 4164 3272 Dl 4164 3271 4256 3079 Dl 4434 3192 4256 3079 Dl 4490 3161 4519 3120 Dl 4520 3120 4528 2912 Dl 4903 2922 4528 2912 Dl 4576 2741 4528 2912 Dl 5018 2748 4754 2748 Dl 5112 2712 5019 2748 Dl 5112 2805 5112 2712 Dl 5105 2855 5112 2805 Dl 5241 2987 5105 2856 Dl 5270 2915 5242 2987 Dl 5278 3007 5271 2915 Dl 5163 2992 5278 3007 Dl 5055 3036 5163 2992 Dl 4396 3251 4356 3294 Dl 4422 3358 4356 3294 Dl 4208 3674 4423 3359 Dl 4149 3596 4207 3674 Dl 4081 3493 4149 3596 Dl 4969 2918 5055 3036 Dl 4904 2921 4968 2917 Dl 4435 3191 4489 3162 Dl 4397 3251 4435 3192 Dl 4765 3142 4749 3193 Dl 4417 3269 4766 3141 Dl 4455 3269 4416 3270 Dl 4749 3194 4456 3269 Dl 4433 3216 1 1 De 4607 3413 61 61 De 5020 2834 26 26 De 13 R f 1383 4378 1398 4349 Dl 10 R f 1786 3777 57 57 De 1802 3770 26 26 De 1805 3756 48 48 De 1385 4027 53 53 De 1792 3799 74 74 De 1751 3705 26 26 De 1635 3712 57 57 De 1608 3799 110 110 De 1473 3835 30 30 De 1795 3930 39 39 De 1575 4015 53 53 De 1435 3894 79 79 De 1425 3916 74 74 De 1414 3940 70 70 De 1453 3966 44 44 De 1331 3938 35 35 De 1353 3966 66 66 De 1348 4058 26 26 De 1261 4089 48 48 De 1236 4085 48 48 De 1217 4113 35 35 De 1342 4169 39 39 De 1190 4119 39 39 De 1179 4175 35 35 De 1129 4187 35 35 De 1112 4190 18 18 De 1129 4177 22 22 De 1040 4212 8 8 De 997 4157 43 43 De 1160 4295 22 22 De 1514 3683 1336 3676 Dl 841 4427 864 4397 Dl 1250 4098 1656 4020 Dl 1815 3973 1815 3981 Dl 1814 3981 1771 3977 Dl 1771 3977 1656 4020 Dl 1663 3858 1656 4020 Dl 865 4397 986 4326 Dl 985 4326 924 4208 Dl 924 4207 1016 4015 Dl 1194 4128 1016 4015 Dl 1250 4097 1279 4056 Dl 1280 4056 1288 3848 Dl 1663 3858 1288 3848 Dl 1336 3677 1288 3848 Dl 1778 3684 1514 3684 Dl 1872 3648 1779 3684 Dl 1872 3741 1872 3648 Dl 1865 3791 1872 3741 Dl 2001 3923 1865 3792 Dl 2030 3851 2002 3923 Dl 2038 3943 2031 3851 Dl 1923 3928 2038 3943 Dl 1815 3972 1923 3928 Dl 1156 4187 1116 4230 Dl 1182 4294 1116 4230 Dl 968 4610 1183 4295 Dl 909 4532 967 4610 Dl 841 4429 909 4532 Dl 1729 3854 1815 3972 Dl 1664 3857 1728 3853 Dl 1195 4127 1249 4098 Dl 1157 4187 1195 4128 Dl 1525 4078 1509 4129 Dl 1177 4205 1526 4077 Dl 1215 4205 1176 4206 Dl 1509 4130 1216 4205 Dl 1193 4152 1 1 De 1367 4349 61 61 De 1780 3770 26 26 De 13 R f 2452 4366 2478 4349 Dl 10 R f 2866 3777 57 57 De 2880 3770 30 30 De 2880 3756 57 57 De 2470 4027 44 44 De 2880 3799 57 57 De 2825 3705 39 39 De 2706 3712 74 74 De 2710 3799 66 66 De 2557 3835 22 22 De 2875 3930 39 39 De 2660 4015 43 43 De 2520 3894 70 70 De 2516 3916 53 53 De 2504 3940 53 53 De 2533 3966 44 44 De 2411 3938 35 35 De 2435 3966 61 61 De 2430 4058 22 22 De 2358 4089 12 12 De 2315 4085 48 48 De 2299 4113 30 30 De 2424 4169 35 35 De 2272 4119 35 35 De 2261 4175 30 30 De 2211 4187 30 30 De 2188 4190 26 26 De 2211 4177 18 18 De 2120 4212 8 8 De 2080 4157 39 39 De 2242 4295 18 18 De 2594 3683 2416 3676 Dl 1921 4427 1944 4397 Dl 2330 4098 2736 4020 Dl 2895 3973 2895 3981 Dl 2894 3981 2851 3977 Dl 2851 3977 2736 4020 Dl 2743 3858 2736 4020 Dl 1945 4397 2066 4326 Dl 2065 4326 2004 4208 Dl 2004 4207 2096 4015 Dl 2274 4128 2096 4015 Dl 2330 4097 2359 4056 Dl 2360 4056 2368 3848 Dl 2743 3858 2368 3848 Dl 2416 3677 2368 3848 Dl 2858 3684 2594 3684 Dl 2952 3648 2859 3684 Dl 2952 3741 2952 3648 Dl 2945 3791 2952 3741 Dl 3081 3923 2945 3792 Dl 3110 3851 3082 3923 Dl 3118 3943 3111 3851 Dl 3003 3928 3118 3943 Dl 2895 3972 3003 3928 Dl 2236 4187 2196 4230 Dl 2262 4294 2196 4230 Dl 2048 4610 2263 4295 Dl 1989 4532 2047 4610 Dl 1921 4429 1989 4532 Dl 2809 3854 2895 3972 Dl 2744 3857 2808 3853 Dl 2275 4127 2329 4098 Dl 2237 4187 2275 4128 Dl 2605 4078 2589 4129 Dl 2257 4205 2606 4077 Dl 2295 4205 2256 4206 Dl 2589 4130 2296 4205 Dl 2273 4152 1 1 De 2447 4349 61 61 De 2860 3770 26 26 De 13 R f 3528 4349 3558 4349 Dl 10 R f 3957 3777 35 35 De 3964 3770 22 22 De 3967 3756 43 43 De 3554 4027 35 35 De 3970 3799 39 39 De 3895 3705 57 57 De 3788 3712 70 70 De 3804 3799 39 39 De 3639 3835 18 18 De 3955 3930 39 39 De 3740 4015 43 43 De 3618 3894 35 35 De 3603 3916 39 39 De 3588 3940 43 43 De 3618 3966 35 35 De 3489 3938 39 39 De 3522 3966 48 48 De 3512 4058 18 18 De 3434 4089 22 22 De 3404 4085 30 30 De 3384 4113 22 22 De 3504 4169 35 35 De 3356 4119 26 26 De 3345 4175 22 22 De 3299 4187 12 12 De 3274 4190 12 12 De 3293 4177 13 13 De 3200 4212 8 8 De 3152 4157 53 53 De 3322 4295 18 18 De 3674 3683 3496 3676 Dl 3001 4427 3024 4397 Dl 3410 4098 3816 4020 Dl 3975 3973 3975 3981 Dl 3974 3981 3931 3977 Dl 3931 3977 3816 4020 Dl 3823 3858 3816 4020 Dl 3025 4397 3146 4326 Dl 3145 4326 3084 4208 Dl 3084 4207 3176 4015 Dl 3354 4128 3176 4015 Dl 3410 4097 3439 4056 Dl 3440 4056 3448 3848 Dl 3823 3858 3448 3848 Dl 3496 3677 3448 3848 Dl 3938 3684 3674 3684 Dl 4032 3648 3939 3684 Dl 4032 3741 4032 3648 Dl 4025 3791 4032 3741 Dl 4161 3923 4025 3792 Dl 4190 3851 4162 3923 Dl 4198 3943 4191 3851 Dl 4083 3928 4198 3943 Dl 3975 3972 4083 3928 Dl 3316 4187 3276 4230 Dl 3342 4294 3276 4230 Dl 3128 4610 3343 4295 Dl 3069 4532 3127 4610 Dl 3001 4429 3069 4532 Dl 3889 3854 3975 3972 Dl 3824 3857 3888 3853 Dl 3355 4127 3409 4098 Dl 3317 4187 3355 4128 Dl 3685 4078 3669 4129 Dl 3337 4205 3686 4077 Dl 3375 4205 3336 4206 Dl 3669 4130 3376 4205 Dl 3353 4152 1 1 De 3527 4349 61 61 De 3940 3770 26 26 De 13 R f 4612 4332 4638 4349 Dl 10 R f 5040 3777 30 30 De 5046 3770 18 18 De 5052 3756 35 35 De 4639 4027 26 26 De 5054 3799 30 30 De 4983 3705 43 43 De 4875 3712 57 57 De 4886 3799 35 35 De 4719 3835 18 18 De 5035 3930 39 39 De 4820 4015 43 43 De 4704 3894 22 22 De 4685 3916 35 35 De 4670 3940 39 39 De 4698 3966 35 35 De 4577 3938 22 22 De 4613 3966 26 26 De 4595 4058 12 12 De 4514 4089 22 22 De 4480 4085 39 39 De 4466 4113 18 18 De 4586 4169 30 30 De 4438 4119 22 22 De 4428 4175 18 18 De 4377 4187 18 18 De 4356 4190 8 8 De 4377 4177 4 4 De 4280 4212 8 8 De 4232 4157 53 53 De 4402 4295 18 18 De 4754 3683 4576 3676 Dl 4081 4427 4104 4397 Dl 4490 4098 4896 4020 Dl 5055 3973 5055 3981 Dl 5054 3981 5011 3977 Dl 5011 3977 4896 4020 Dl 4903 3858 4896 4020 Dl 4105 4397 4226 4326 Dl 4225 4326 4164 4208 Dl 4164 4207 4256 4015 Dl 4434 4128 4256 4015 Dl 4490 4097 4519 4056 Dl 4520 4056 4528 3848 Dl 4903 3858 4528 3848 Dl 4576 3677 4528 3848 Dl 5018 3684 4754 3684 Dl 5112 3648 5019 3684 Dl 5112 3741 5112 3648 Dl 5105 3791 5112 3741 Dl 5241 3923 5105 3792 Dl 5270 3851 5242 3923 Dl 5278 3943 5271 3851 Dl 5163 3928 5278 3943 Dl 5055 3972 5163 3928 Dl 4396 4187 4356 4230 Dl 4422 4294 4356 4230 Dl 4208 4610 4423 4295 Dl 4149 4532 4207 4610 Dl 4081 4429 4149 4532 Dl 4969 3854 5055 3972 Dl 4904 3857 4968 3853 Dl 4435 4127 4489 4098 Dl 4397 4187 4435 4128 Dl 4765 4078 4749 4129 Dl 4417 4205 4766 4077 Dl 4455 4205 4416 4206 Dl 4749 4130 4456 4205 Dl 4433 4152 1 1 De 4607 4349 61 61 De 5020 3770 26 26 De 13 R f 1383 5256 1398 5285 Dl 10 R f 1800 4713 30 30 De 1804 4706 22 22 De 1814 4692 30 30 De 1401 4963 22 22 De 1814 4735 30 30 De 1747 4641 35 35 De 1639 4648 48 48 De 1646 4735 35 35 De 1481 4771 12 12 De 1795 4866 39 39 De 1580 4951 43 43 De 1466 4830 18 18 De 1447 4852 30 30 De 1435 4876 30 30 De 1462 4902 26 26 De 1333 4874 30 30 De 1373 4902 26 26 De 1296 4945 4 4 De 1355 4994 12 12 De 1278 5025 12 12 De 1257 5021 4 4 De 1228 5049 12 12 De 1346 5105 30 30 De 1205 5055 8 8 De 1188 5111 18 18 De 1139 5123 12 12 De 1112 5126 18 18 De 1137 5113 4 4 De 1040 5148 8 8 De 995 5093 48 48 De 1165 5231 13 13 De 1514 4619 1336 4612 Dl 841 5363 864 5333 Dl 1250 5034 1656 4956 Dl 1815 4909 1815 4917 Dl 1814 4917 1771 4913 Dl 1771 4913 1656 4956 Dl 1663 4794 1656 4956 Dl 865 5333 986 5262 Dl 985 5262 924 5144 Dl 924 5143 1016 4951 Dl 1194 5064 1016 4951 Dl 1250 5033 1279 4992 Dl 1280 4992 1288 4784 Dl 1663 4794 1288 4784 Dl 1336 4613 1288 4784 Dl 1778 4620 1514 4620 Dl 1872 4584 1779 4620 Dl 1872 4677 1872 4584 Dl 1865 4727 1872 4677 Dl 2001 4859 1865 4728 Dl 2030 4787 2002 4859 Dl 2038 4879 2031 4787 Dl 1923 4864 2038 4879 Dl 1815 4908 1923 4864 Dl 1156 5123 1116 5166 Dl 1182 5230 1116 5166 Dl 968 5546 1183 5231 Dl 909 5468 967 5546 Dl 841 5365 909 5468 Dl 1729 4790 1815 4908 Dl 1664 4793 1728 4789 Dl 1195 5063 1249 5034 Dl 1157 5123 1195 5064 Dl 1525 5014 1509 5065 Dl 1177 5141 1526 5013 Dl 1215 5141 1176 5142 Dl 1509 5066 1216 5141 Dl 1193 5088 1 1 De 1367 5285 61 61 De 1780 4706 26 26 De 2594 4619 2416 4612 Dl 1921 5363 1944 5333 Dl 2330 5034 2736 4956 Dl 2895 4909 2895 4917 Dl 2894 4917 2851 4913 Dl 2851 4913 2736 4956 Dl 2743 4794 2736 4956 Dl 1945 5333 2066 5262 Dl 2065 5262 2004 5144 Dl 2004 5143 2096 4951 Dl 2274 5064 2096 4951 Dl 2330 5033 2359 4992 Dl 2360 4992 2368 4784 Dl 2743 4794 2368 4784 Dl 2416 4613 2368 4784 Dl 2858 4620 2594 4620 Dl 2952 4584 2859 4620 Dl 2952 4677 2952 4584 Dl 2945 4727 2952 4677 Dl 3081 4859 2945 4728 Dl 3110 4787 3082 4859 Dl 3118 4879 3111 4787 Dl 3003 4864 3118 4879 Dl 2895 4908 3003 4864 Dl 2236 5123 2196 5166 Dl 2262 5230 2196 5166 Dl 2048 5546 2263 5231 Dl 1989 5468 2047 5546 Dl 1921 5365 1989 5468 Dl 2809 4790 2895 4908 Dl 2744 4793 2808 4789 Dl 2275 5063 2329 5034 Dl 2237 5123 2275 5064 Dl 2605 5014 2589 5065 Dl 2257 5141 2606 5013 Dl 2295 5141 2256 5142 Dl 2589 5066 2296 5141 Dl 2273 5088 1 1 De 2447 5285 61 61 De 2860 4706 26 26 De 13 R f 2478 5252 2478 5285 Dl 10 R f 2882 4713 26 26 De 2880 4706 30 30 De 2894 4692 30 30 De 2896 4735 26 26 De 2829 4641 30 30 De 2722 4648 43 43 De 2728 4735 30 30 De 2563 4771 8 8 De 2873 4866 43 43 De 2660 4951 43 43 De 2551 4830 8 8 De 2532 4852 22 22 De 2517 4876 26 26 De 2548 4902 13 13 De 2415 4874 26 26 De 2447 4902 39 39 De 2373 4945 8 8 De 2487 4963 8 8 De 2437 4994 8 8 De 2358 5025 12 12 De 2331 5021 18 18 De 2312 5049 4 4 De 2430 5105 22 22 De 2285 5055 8 8 De 2272 5111 8 8 De 2224 5123 4 4 De 2196 5126 8 8 De 2242 5231 18 18 De 2122 5148 4 4 De 2080 5093 39 39 De ( each circle is proportional)4 1084( radius of)2 385( The)1 209(The data was gathered hourly on a single summer day in the early 1970's.)13 3002 4 720 5744 t ( York, Con-)2 482(to the ozone reading \(a common measurement of air pollution\) at one of 32 stations in New Jersey, New)18 4198 2 720 5864 t ( the clock denotes the maximum ozone level prescribed by the Environ-)11 2936( radius of)2 387( The)1 210(necticut, and Massachusetts.)2 1147 4 720 5984 t (mental Protection Agency; its hour hand goes from 7:00 AM to midnight.)11 2949 1 720 6104 t ( and his colleagues)3 778( Becker)1 339( City's air pollution is blown to the northeast.)8 1876(This display shows how New York)5 1437 4 970 6260 t ( early 1970's using the technology of the day; it required several weeks of program-)14 3410(prepared a similar movie in the)5 1270 2 720 6380 t ( this display from the same data in a)8 1451( built)1 209( He)1 166(ming time, then a weekend with a movie camera to make the final film.)13 2854 4 720 6500 t ( original movie was a)4 864( The)1 206( prepared a video tape of the resulting movie in under thirty minutes.)12 2761(couple of hours, then)3 849 4 720 6620 t (bit nicer \(it drew the background map and the circles in two different colors\), but the new movie is just as useful,)21 4680 1 720 6740 t (and provides stills for free.)4 1073 1 720 6860 t cleartomark showpage saveobj restore %%EndPage: 20 22 %%Page: 21 23 /saveobj save def mark 23 pagesetup 10 R f (- 21 -)2 216 1 2952 480 t 10 B f ( With The System)3 764(7. Living)1 404 2 720 840 t 10 R f ( have found that the)4 829( We)1 197( bare bones of an animation environment.)6 1715(The system that we have described is the)7 1689 4 970 996 t ( of enhancing the environment is not by modifying the primary programs, but rather by using small)16 3982(most fruitful way)2 698 2 720 1116 t (filters that interact with the various files in the system.)9 2176 1 720 1236 t ( other animation systems implement)4 1470( While)1 299( for instance, a race of two sorting algorithms.)8 1881(We showed earlier,)2 780 4 970 1392 t (races with a general mechanism for time sharing, we did the job with a small)14 3196 1 720 1512 t 10 I f (awk)3950 1512 w 10 R f (program that merges two files.)4 1255 1 4145 1512 t (Our system does not have a facility for counting clicks; rather, we use filters such as)15 3366 1 720 1632 t 9 CW f (grep 'click comps' | wc)4 1242 1 1008 1802 t 10 R f ( will even admit to using text editors to make minor changes to both)13 2776( We)1 192(to see how many comparisons were made.)6 1712 3 720 1982 t (script and intermediate files.)3 1137 1 720 2102 t (We have built several useful filters in addition to)8 2033 1 970 2258 t 10 I f (merge)3038 2258 w 10 R f ( program)1 373(. The)1 240 2 3287 2258 t 10 I f (view.clicks)3936 2258 w 10 R f (prints a summary of the)4 993 1 4407 2258 t ( it is helpful as one is preparing a)8 1358(views and clicks used in a script file;)7 1508 2 720 2378 t 10 I f (stills)3615 2378 w 10 R f ( implementation uses the inter-)4 1254(file. Its)1 312 2 3834 2378 t (mediate file described in Appendix I:)5 1489 1 720 2498 t 9 CW f (develop $1.s)1 648 1 1008 2668 t ( views and clicks from intermediate file)6 2160( print)1 378( view.clicks:)1 702( #)1 162(awk ')1 270 5 1008 2778 t ( printf "view %-12s x == [%g,%g], y == [%g,%g]\\n",)9 2700( {)1 270($1=="d" && $2=="v")2 972 3 1008 2888 t ($4 ":", $5, $7, $6, $8)5 1188 1 2736 2998 t (})2196 3108 w ( $4 })2 270( ")1 162( cstring = cstring ")4 1080( {)1 270($1=="d" && $2=="c")2 972 5 1008 3218 t ( print "clicks:" cstring; exit })5 1728($1!="d" {)1 1242 2 1008 3328 t (' $1.i)1 324 1 1008 3438 t 10 R f (The first step of the shell script is to develop the script file; the subsequent)14 3115 1 720 3618 t 10 I f (awk)3870 3618 w 10 R f ( the resulting)2 544(program then reads)2 790 2 4066 3618 t ( first pattern/action pair prints for each view its name and the)11 2481( The)1 209(intermediate file.)1 686 3 720 3738 t 10 I f (x)4125 3738 w 10 R f (and)4198 3738 w 10 I f (y)4371 3738 w 10 R f (ranges in the script file.)4 956 1 4444 3738 t ( third pair prints that string and)6 1268(The second pair builds a string of all clicks from the define click statements, and the)15 3412 2 720 3858 t (exits at the first non-define statement.)5 1509 1 720 3978 t (The program)1 519 1 970 4134 t 10 I f (show.clicks)1515 4134 w 10 R f ( is a new script file containing all information in)9 1947(takes a script file as input; its output)7 1454 2 1999 4134 t (the input and, in addition, a new view named)8 1798 1 720 4254 t 10 CW f (click.count)2543 4254 w 10 R f ( is useful)2 361( This)1 228(in which the various clicks are counted.)6 1583 3 3228 4254 t (for preparing)1 526 1 720 4374 t 10 I f (stills)1274 4374 w 10 R f ( the standard input.)3 778( input is a script file, either named explicitly or as)10 2014( Its)1 153(files and for debugging.)3 963 4 1492 4374 t (Here is the code:)3 673 1 720 4494 t 9 CW f ( a new view counting clicks)5 1458( make)1 324(awk ' # show.clicks:)3 1080 3 1008 4664 t ( print "view", \(oldview = "def.view"\) })6 2106( {)1 216(NR==1 && $1!="view")2 1026 3 1008 4774 t ( oldview = $2 })4 810( {)1 594($1 == "view")2 648 3 1008 4884 t ( if \(\(cname = $2\) == ""\) cname = "def.click")9 2376( {)1 540($1 == "click")2 702 3 1008 4994 t (print "view click.count")2 1296 1 2304 5104 t (if \(\(n=cnum[cname]\) == 0\) {)4 1458 1 2304 5214 t (n = cnum[cname] = ++clicks)4 1404 1 2736 5324 t (print "l" n ": text rjust 0", -n, cname ": ")10 2376 1 2736 5434 t (})2304 5544 w (print "v" n ": text ljust 0", -n, "\\" " ++ccnt[n])10 2646 1 2304 5654 t (print "last: text ljust 0", -n, "bullet")6 2160 1 2304 5764 t (print "view " oldview)3 1134 1 2304 5874 t (})2196 5984 w ({ print $0 })3 648 1 2196 6094 t (' $*)1 216 1 1008 6204 t 10 R f ( pattern/action pair stores the name of the current view, and the fourth action copies each line onto the)18 4216(The second)1 464 2 720 6384 t ( first pattern/action pair supplies a default view name, if needed.)10 2567( The)1 205(output file.)1 439 3 720 6504 t ( done when the third pattern recognizes a)7 1741(The work is)2 503 2 970 6660 t 10 CW f (click)3253 6660 w 10 R f (statement. The)1 627 1 3592 6660 t 10 CW f (if)4258 6660 w 10 R f (statement puts the click)3 983 1 4417 6660 t (name in)1 323 1 720 6780 t 10 CW f (cname)1072 6780 w 10 R f (, and the)2 349 1 1372 6780 t 10 CW f (print)1750 6780 w 10 R f ( second)1 305( The)1 208( view.)1 247(statement switches to the new)4 1209 4 2079 6780 t 10 CW f (if)4076 6780 w 10 R f (statement is executed when a)4 1176 1 4224 6780 t (new)720 6900 w 10 CW f (click)911 6900 w 10 R f ( two follow-)2 496( The)1 206( for all.)2 293(statement is seen; it assigns it a number and prints out the click name, once and)15 3169 4 1236 6900 t ( current)1 312( final statement returns to the)5 1198( The)1 211(ing statements rewrite the appropriate count and place a bullet next to it.)12 2959 4 720 7020 t (view.)720 7140 w (One can use the ideas in)5 967 1 970 7296 t 10 I f (show.clicks)1962 7296 w 10 R f (to process lines in the script file of the form)9 1745 1 2445 7296 t cleartomark showpage saveobj restore %%EndPage: 21 23 %%Page: 22 24 /saveobj save def mark 24 pagesetup 10 R f (- 22 -)2 216 1 2952 480 t 9 I f (name)1008 830 w 9 CW f (=)1257 830 w 9 I f (value)1365 830 w 10 R f ( script file has a new view named)7 1368(The output)1 440 2 720 1010 t 10 CW f (variables)2558 1010 w 10 R f (; it contains the name of each variable mentioned and its)10 2302 1 3098 1010 t (current value.)1 548 1 720 1130 t ( instance, we built a set of tools to render animations of three-)12 2639( For)1 203(Larger filters have also proven useful.)5 1588 3 970 1286 t ( program translated a three-)4 1158( primary)1 356( The)1 220(dimensional lines and text \(circles and rectangles were not supported\).)9 2946 4 720 1406 t ( standard script that contained two two-dimensional views for each three-dimensional view;)11 3691(dimensional script into a)3 989 2 720 1526 t (the resulting)1 504 1 720 1646 t 10 I f (movie)1256 1646 w 10 R f (and)1525 1646 w 10 I f (stills)1700 1646 w 10 R f ( programs included a)3 858( Support)1 373(were suitable for viewing with standard stereo viewers.)7 2248 3 1921 1646 t (filter for rotating a view around a given line.)8 1777 1 720 1766 t (The)970 1922 w 10 I f (movie)1162 1922 w 10 R f (and)1437 1922 w 10 I f (develop)1619 1922 w 10 R f (programs are in fact simple shell scripts that call filter versions named)11 2947 1 1967 1922 t 10 I f (fmovie)4952 1922 w 10 R f (and)5256 1922 w 10 I f (fdevelop)720 2042 w 10 R f ( may find it convenient to rewrite those shell scripts for your environment.)12 2977(. You)1 247 2 1058 2042 t 10 B f (Acknowledgements)720 2282 w 10 R f ( to Howard Trickey; he gave us invaluable advice for getting a minimal animation)13 3450(We are deeply indebted)3 980 2 970 2438 t ( all work under the)4 758( subsequently made it)3 875( He)1 168(facility working in the Sun environment, then finished the job properly.)10 2879 4 720 2558 t ( early)1 232( Our)1 212( Hume and Jane Elliott made possible our first experiments with animation.)11 3097( Andrew)1 378(X window system.)2 761 5 720 2678 t ( Grosse, John)2 551( Eric)1 221( improvements.)1 627(users, Rick Becker and Chris Van Wyk, gave us bug reports and suggestions for)13 3281 4 720 2798 t ( Steve Mahaney, Howard Trickey, and Chris Van Wyk made helpful comments on this)13 3579(Linderman, Doug McIlroy,)2 1101 2 720 2918 t (paper.)720 3038 w 10 B f (References)720 3278 w 10 R f ( Kernighan, B.W., and Weinberger, P.J.)5 1696( A.V.,)1 264(1. Aho,)1 297 3 820 3470 t 10 I f (The AWK Programming Language)3 1460 1 3148 3470 t 10 R f (. Addison-Wesley,)1 792 1 4608 3470 t (Reading, Massachusetts, 1988.)2 1235 1 920 3590 t (2. Bentley, J.)2 525 1 820 3746 t 10 I f (Programming Pearls)1 847 1 1395 3746 t 10 R f ( 1986.)1 250(. Addison-Wesley,)1 771 2 2242 3746 t ( for Algorithm Animation.)3 1061( Techniques)1 510(3. Brown, M. and Sedgewick, R.)5 1310 3 820 3902 t 10 I f (IEEE Software)1 597 1 3751 3902 t 10 R f (\(January 1985\), 28-39.)2 909 1 4373 3902 t cleartomark showpage saveobj restore %%EndPage: 22 24 %%Page: 23 25 /saveobj save def mark 25 pagesetup 10 R f (- 23 -)2 216 1 2952 480 t 10 B f (Appendix I \320 Intermediate Files)4 1411 1 720 840 t 10 R f (This appendix defines the intermediate files produced by)7 2285 1 970 996 t 10 I f (develop)3282 996 w 10 R f ( process than the cor-)4 865( files are easier to)4 711(. The)1 232 3 3592 996 t ( point numbers are scaled to)5 1178( instance, names are converted to small integers, floating)8 2364( For)1 201(responding script files.)2 937 4 720 1116 t (integers in 0..9999, and commands are abbreviated to single letters.)9 2693 1 720 1236 t (A line whose first non-blank character is)6 1624 1 970 1392 t 10 CW f (#)2619 1392 w 10 R f (is a comment.)2 558 1 2704 1392 t (An intermediate file begins with define statements that give the names of the views and the clicks:)16 3928 1 970 1548 t 9 CW f (d v)1 162 1 1008 1718 t 9 I f (vnum viewname minx miny maxx maxy)5 1555 1 1224 1718 t 9 CW f (d c)1 162 1 1008 1828 t 9 I f (cnum clickname)1 614 1 1224 1828 t 9 CW f (d p)1 162 1 1008 1938 t 9 I f (any text)1 314 1 1224 1938 t 9 CW f (d p e)2 270 1 1008 2048 t 10 R f ( four final numbers on a)5 982( The)1 209( 2, ....)2 233( views and clicks are numbered 0, 1,)7 1476( Both)1 248(Fields are separated by tab characters.)5 1532 6 720 2228 t ( line that begins with)4 875( A)1 131(view line tell the range of the coordinates in the original script file.)12 2779 3 720 2348 t 10 CW f (d p)1 189 1 4539 2348 t 10 R f (is a ``pragma'';)2 638 1 4762 2348 t (both)720 2468 w 10 I f (movie)930 2468 w 10 R f (and)1200 2468 w 10 I f (stills)1377 2468 w 10 R f ( defines appear at the front of the file in the order views,)12 2343( The)1 213(currently ignore all such lines.)4 1244 3 1600 2468 t (clicks, pragmas, then the ``end of defines'' pragma)7 2036 1 720 2588 t 10 CW f (d p e)2 300 1 2781 2588 t 10 R f (.)3081 2588 w (The geometric commands for lines, boxes, circles and text are mapped to the following:)13 3508 1 970 2744 t 9 CW f (g)1008 2914 w 9 I f (slotnum)1116 2914 w 9 CW f (l)1455 2914 w 9 I f (vnum opts x)2 493 1 1563 2914 t 6 R f (1)2066 2932 w 9 I f (y)2157 2914 w 6 R f (1)2207 2932 w 9 I f (x)2298 2914 w 6 R f (2)2348 2932 w 9 I f (y)2439 2914 w 6 R f (2)2489 2932 w 9 CW f (g)1008 3024 w 9 I f (slotnum)1116 3024 w 9 CW f (b)1455 3024 w 9 I f (vnum opts x)2 493 1 1563 3024 t 6 R f (1)2066 3042 w 9 I f (y)2157 3024 w 6 R f (1)2207 3042 w 9 I f (x)2298 3024 w 6 R f (2)2348 3042 w 9 I f (y)2439 3024 w 6 R f (2)2489 3042 w 9 CW f (g)1008 3134 w 9 I f (slotnum)1116 3134 w 9 CW f (c)1455 3134 w 9 I f (vnum opts x y rad)4 766 1 1563 3134 t 9 CW f (g)1008 3244 w 9 I f (slotnum)1116 3244 w 9 CW f (t)1455 3244 w 9 I f (vnum opts x y text string)5 1035 1 1563 3244 t 10 R f ( 0; other objects are placed in ``slots'' that can hold at most one)13 2725(Objects that are never erased have slot number)7 1955 2 720 3424 t ( All)1 186( third field is the type of geometric object; the fourth field is the view number.)15 3244(object. The)1 482 3 720 3544 t 10 I f (x)4664 3544 w 10 R f (and)4740 3544 w 10 I f (y)4916 3544 w 10 R f (values are)1 408 1 4992 3544 t ( the \(unquoted\) text string.)4 1139( is a single separating tab before)6 1394( There)1 300(normalized to integers in the range 0..9999.)6 1847 4 720 3664 t (Options are given as a string of characters, whose length and interpretation are summarized as:)14 3783 1 720 3784 t 7 CW f ( ABBREV)1 516( NAME)1 474(OBJECT POS)1 558 3 1008 3924 t ( c)1 222( center)1 642(text 1)1 474 3 1008 4004 t (ljust l)1 474 1 1872 4084 t (rjust r)1 474 1 1872 4164 t (above a)1 474 1 1872 4244 t (below b)1 474 1 1872 4324 t ( m)1 222(2 medium)1 684 2 1440 4404 t (small s)1 474 1 1872 4484 t (big b)1 474 1 1872 4564 t (bigbig B)1 474 1 1872 4644 t ( s)1 264( solid)1 600(line 1)1 474 3 1008 4724 t (fat f)1 474 1 1872 4804 t (fatfat F)1 474 1 1872 4884 t (dotted o)1 474 1 1872 4964 t (dashed a)1 474 1 1872 5044 t (2 - -)2 906 1 1440 5124 t (-> >)1 474 1 1872 5204 t (<- <)1 474 1 1872 5284 t (<-> x)1 474 1 1872 5364 t ( n)1 222( nofill)1 642(box 1)1 474 3 1008 5444 t (fill f)1 474 1 1872 5524 t ( n)1 222( nofill)1 642(circle 1)1 474 3 1008 5604 t (fill f)1 474 1 1872 5684 t 10 R f ( options for a text string are described by two characters giving its position and its size;)16 3661(For instance, the)2 683 2 720 5864 t 10 CW f (small)5100 5864 w (center)720 5984 w 10 R f (text has the option string)4 1005 1 1109 5984 t 10 CW f (cs)2143 5984 w 10 R f ( added at the right end of the string; subsequent pro-)10 2116( options may be)3 648(. Further)1 373 3 2263 5984 t (grams should ignore letters they don't expect.)6 1828 1 720 6104 t (A click statement is represented as)5 1383 1 970 6260 t 9 CW f (c)1008 6430 w 9 I f (cnum)1116 6430 w 10 R f (An erase statement is translated into)5 1445 1 970 6646 t 9 CW f (e)1008 6816 w 9 I f (line repeated here)2 718 1 1116 6816 t 9 CW f (,)1834 6816 w 9 I f (except)1942 6816 w 9 CW f (e)2226 6816 w 9 I f (for leading)1 429 1 2334 6816 t 9 CW f (g)2817 6816 w 10 R f (A processor may choose to implement this statement using either the geometric description or the slot number.)16 4426 1 720 6996 t (A)970 7152 w 10 CW f (clear)1087 7152 w 10 R f ( of starting and ending)4 983(statement \(which erases all objects in a view\) is translated into a pair)12 2985 2 1432 7152 t (``blank'' commands that bracket a sequence of erase statements:)8 2576 1 720 7272 t cleartomark showpage saveobj restore %%EndPage: 23 25 %%Page: 24 26 /saveobj save def mark 26 pagesetup 10 R f (- 24 -)2 216 1 2952 480 t 9 CW f (b s)1 162 1 1008 830 t 9 I f (vnum)1224 830 w 9 CW f (b e)1 162 1 1008 940 t 9 I f (vnum)1224 940 w 10 R f ( implement the)2 612( processor may choose to)4 1029( A)1 127(The erase statements together clear the view.)6 1822 4 720 1120 t 10 CW f (clear)4341 1120 w 10 R f (either by ignoring)2 728 1 4672 1120 t (the)720 1240 w 10 CW f (b)870 1240 w 10 R f (commands and letting the erase statements take their course or by explicitly processing the start command and)16 4442 1 958 1240 t (then ignoring)1 536 1 720 1360 t 10 CW f (e)1281 1360 w 10 R f (commands until encountering the)3 1335 1 1366 1360 t 10 CW f (b e)1 180 1 2726 1360 t 10 R f (line.)2931 1360 w (As an example, running)3 954 1 970 1516 t 10 CW f (develop)1949 1516 w 10 R f (on this trivial script file)4 939 1 2394 1516 t 9 CW f (line 1 2 3 4)4 648 1 1008 1686 t (text small above 5 6 "Hello, world.")6 1944 1 1008 1796 t (click stage)1 594 1 1008 1906 t (clear)1008 2016 w 10 R f (produces this intermediate file:)3 1240 1 720 2196 t 9 CW f ( 2 5 6)3 1296( 1)1 486(d v 0 def.view)3 1728 3 1008 2366 t (d c 0 stage)3 1566 1 1008 2476 t (d p e)2 918 1 1008 2586 t ( 4999)1 432( 0 4999)2 1026( 0)1 378(g 1 l 0 s-)4 1836 4 1008 2696 t ( world.)1 378( 9999 Hello,)2 972( 9999)1 540(g 2 t 0 as)4 1836 4 1008 2806 t (c 0)1 486 1 1008 2916 t (b s 0)2 918 1 1008 3026 t ( 4999)1 432( 0 4999)2 1026( 0)1 378(e 1 l 0 s-)4 1836 4 1008 3136 t ( world.)1 378( 9999 Hello,)2 972( 9999)1 540(e 2 t 0 as)4 1836 4 1008 3246 t (b e 0)2 918 1 1008 3356 t 10 R f (Here is a summary of the commands in the intermediate language:)10 2651 1 970 3572 t 9 CW f (#)1008 3742 w 9 I f (comment)1116 3742 w 9 CW f (b s)1 162 1 1008 3852 t 9 I f (vnum)1224 3852 w 9 CW f (b e)1 162 1 1008 3962 t 9 I f (vnum)1224 3962 w 9 CW f (c)1008 4072 w 9 I f (cnum)1116 4072 w 9 CW f (d v)1 162 1 1008 4182 t 9 I f (vnum viewname minx miny maxx maxy)5 1555 1 1224 4182 t 9 CW f (d c)1 162 1 1008 4292 t 9 I f (cnum clickname)1 614 1 1224 4292 t 9 CW f (d p)1 162 1 1008 4402 t 9 I f (any text)1 314 1 1224 4402 t 9 CW f (d p e)2 270 1 1008 4512 t (e)1008 4622 w 9 I f (line repeated here)2 718 1 1116 4622 t 9 CW f (,)1834 4622 w 9 I f (except)1942 4622 w 9 CW f (e)2226 4622 w 9 I f (for leading)1 429 1 2334 4622 t 9 CW f (g)2817 4622 w (g)1008 4732 w 9 I f (slotnum)1116 4732 w 9 CW f (l)1455 4732 w 9 I f (vnum opts x)2 493 1 1563 4732 t 6 R f (1)2066 4750 w 9 I f (y)2157 4732 w 6 R f (1)2207 4750 w 9 I f (x)2298 4732 w 6 R f (2)2348 4750 w 9 I f (y)2439 4732 w 6 R f (2)2489 4750 w 9 CW f (g)1008 4842 w 9 I f (slotnum)1116 4842 w 9 CW f (b)1455 4842 w 9 I f (vnum opts x)2 493 1 1563 4842 t 6 R f (1)2066 4860 w 9 I f (y)2157 4842 w 6 R f (1)2207 4860 w 9 I f (x)2298 4842 w 6 R f (2)2348 4860 w 9 I f (y)2439 4842 w 6 R f (2)2489 4860 w 9 CW f (g)1008 4952 w 9 I f (slotnum)1116 4952 w 9 CW f (c)1455 4952 w 9 I f (vnum opts x y rad)4 766 1 1563 4952 t 9 CW f (g)1008 5062 w 9 I f (slotnum)1116 5062 w 9 CW f (t)1455 5062 w 9 I f (vnum opts x y text string)5 1035 1 1563 5062 t cleartomark showpage saveobj restore %%EndPage: 24 26 %%Trailer done %%Pages: 26 %%DocumentFonts: Courier Times-Bold Times-Italic Times-Roman Symbol