X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fbb9d,b110ab72aaaef883,start X-Google-Attributes: gidfbb9d,public From: daniel@ISI.EDU Subject: Request: help doing ascii art for network diagrams Date: 1995/06/21 Message-ID: <3s9urm$24m@miso.wwa.com> X-Deja-AN: 104851823 approved: boba@wwa.com sender: boba@miso.wwa.com organization: USC Information Sciences Institute newsgroups: rec.arts.ascii I could use some help doing ascii art for network diagrams. These would be very useful for ascii versions of internet-drafts (working papers I release as part of my research). Here is what I've tried: This is my basic network diagram. Just a bunch of interconnected routers with some sources and receivers designated. Note that my routers just look like spools of thread! Ideally, they would be nice round spheres and the interconnections would stand out better. S | --- --- --- --- | | | | | | | | --- --- --- --- \ / \ \ / --- --- --- | | | | | |--- --- --- --- \ | | | \ --- --- --- --- | |-----| |-----| | | | --- --- --- --- / \ / | / --- --- --- / | | | |---------| |--- --- --- --- | | / \ --- --- --- --- | | | | | | | | --- --- --- --- | | R1 R2 >From this basic diagram, I illustrate a sequence of events. In this case, the two receivers are joining a multicast group via explicit grafts...each sends a message up into the network, and I try to illustrate the path the messages take. The M's stand for where R1's message should go, the N's for R2's message. A number followed by M or N indicates a sequence of events...first R1's message travels the first hop. Then R2's etc. You should be able to get the idea... S | --- --- --- --- | | | | | | | | --- --- --- --- \ N M \ / M --- Intended explict route --- --- --- for R1 | | | | | |--- --- --- --- \ N --- Intended explict route N M | \ for R2 --- --- --- --- | |--6N-| |-----| | | | 1M-5M --- Sequence of R1's grafts --- --- --- --- 3M 5M M4N | / 2N-6N --- Sequence of R2's grafts --- --- --- / | | | |---------| |--- --- --- --- 1M 2N / \ --- --- --- --- | | | | | | | | --- --- --- --- | | R1 R2 And if you can't get the idea, here's a postscript version of what I want: -------------snip here! --------------------------------------- %! %%BoundingBox: 15 427 416 679 %%Title: black_hole %%CreationDate: Wed Jun 21 10:52:59 1995 %%Creator: Tgif-2.16-p9 by William Chia-Wei Cheng (william@cs.UCLA.edu) /tgifdict 5 dict def tgifdict begin /tgifellipsedict 6 dict def tgifellipsedict /mtrx matrix put /tgifellipse { tgifellipsedict begin /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix end } def /tgifarrowtipdict 8 dict def tgifarrowtipdict /mtrx matrix put /tgifarrowtip { tgifarrowtipdict begin /dy exch def /dx exch def /h exch def /w exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate dy dx atan rotate 0 0 moveto w neg h lineto w neg h neg lineto savematrix setmatrix end } def end %%PageBoundingBox: 15 427 416 679 tgifdict begin /tgifsavedpage save def 1 setmiterlimit 1 setlinewidth 0 setgray 72 0 mul 72 11.00 mul translate 72 128 div 100 mul 100 div dup neg scale gsave % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 156 280 moveto 156 232 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 72 572 moveto 72 608 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 156 572 moveto 156 608 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 73 275 moveto 115 349 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 115 349 moveto 156 275 lineto stroke [] 0 setdash 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 322 275 moveto 280 349 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 349 moveto 198 349 lineto stroke grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 198 349 moveto 156 275 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 349 moveto 363 424 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 349 moveto 280 424 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 424 moveto 280 499 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 499 moveto 363 424 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 322 573 moveto 280 499 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 499 moveto 239 573 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 499 moveto 156 499 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 156 499 moveto 156 573 lineto 156 554 lineto stroke grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 156 499 moveto 198 424 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 198 424 moveto 280 424 lineto stroke grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 198 424 moveto 198 349 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 115 349 moveto 115 424 lineto stroke [] 0 setdash 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 115 424 moveto 198 424 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 156 499 moveto 115 424 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 115 424 moveto 73 499 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 73 499 moveto 73 573 lineto stroke grestore % POLY/OPEN-SPLINE 0.000 0.000 0.000 setrgbcolor gsave newpath 280 349 moveto 239 275 lineto stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 73 573 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 73 573 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 156 573 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 156 573 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 239 573 21 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 239 573 21 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 322 573 21 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 322 573 21 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 280 498 20 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 280 498 20 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 156 498 20 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 156 498 20 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 73 498 20 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 73 498 20 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 115 424 21 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 115 424 21 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 197 424 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 197 424 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 280 424 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 280 424 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 363 424 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 363 424 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 280 349 20 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 280 349 20 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 197 349 20 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 197 349 20 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 115 349 21 18 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 115 349 21 18 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 73 275 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 73 275 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 156 275 20 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 156 275 20 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 239 275 21 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 239 275 21 19 tgifellipse stroke grestore % OVAL 0.000 0.000 0.000 setrgbcolor newpath 322 275 21 19 tgifellipse closepath 1 setgray fill 0.000 0.000 0.000 setrgbcolor gsave newpath 322 275 21 19 tgifellipse stroke grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 53 512 moveto 47 0 atan dup cos 22 mul exch sin 22 mul rmoveto 53 559 lineto stroke 1 setlinewidth grestore gsave newpath 53 512 22 9 0 -47 tgifarrowtip 1 setgray closepath fill 1.000 0.000 0.000 setrgbcolor newpath 53 512 22 9 0 -47 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 89 438 moveto 37 -21 atan dup cos 22 mul exch sin 22 mul rmoveto 68 475 lineto stroke 1 setlinewidth grestore gsave newpath 89 438 22 9 21 -37 tgifarrowtip 1 setgray closepath fill 1.000 0.000 0.000 setrgbcolor newpath 89 438 22 9 21 -37 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 130 485 moveto -38 -20 atan dup cos 22 mul exch sin 22 mul rmoveto 110 447 lineto stroke 1 setlinewidth grestore gsave newpath 130 485 22 9 20 38 tgifarrowtip 1 setgray closepath fill 1.000 0.000 0.000 setrgbcolor newpath 130 485 22 9 20 38 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 177 512 moveto 47 0 atan dup cos 22 mul exch sin 22 mul rmoveto 177 559 lineto stroke [] 0 setdash 1 setlinewidth grestore gsave newpath 177 512 22 9 0 -47 tgifarrowtip 1 setgray closepath fill 0.000 0.000 1.000 setrgbcolor newpath 177 512 22 9 0 -47 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 198 447 moveto 38 -21 atan dup cos 22 mul exch sin 22 mul rmoveto 177 485 lineto stroke [] 0 setdash 1 setlinewidth grestore gsave newpath 198 447 22 9 21 -38 tgifarrowtip 1 setgray closepath fill 0.000 0.000 1.000 setrgbcolor newpath 198 447 22 9 21 -38 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 136 415 moveto 0 41 atan dup cos 22 mul exch sin 22 mul rmoveto 177 415 lineto stroke [] 0 setdash 1 setlinewidth grestore gsave newpath 136 415 22 9 -41 0 tgifarrowtip 1 setgray closepath fill 0.000 0.000 1.000 setrgbcolor newpath 136 415 22 9 -41 0 tgifarrowtip closepath fill grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 32 555 moveto (1) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 187 555 moveto (2) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 192 490 moveto (4) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 151 398 moveto (6) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 54 463 moveto (3) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 100 490 moveto (5) show grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 464 328 moveto 420 328 lineto stroke 1 setlinewidth grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 464 392 moveto 420 392 lineto stroke [] 0 setdash 1 setlinewidth grestore % POLY/OPEN-SPLINE 1.000 0.000 0.000 setrgbcolor gsave 7 setlinewidth newpath 464 452 moveto 0 -44 atan dup cos 22 mul exch sin 22 mul rmoveto 420 452 lineto stroke 1 setlinewidth grestore gsave newpath 464 452 22 9 44 0 tgifarrowtip 1 setgray closepath fill 1.000 0.000 0.000 setrgbcolor newpath 464 452 22 9 44 0 tgifarrowtip closepath fill grestore % POLY/OPEN-SPLINE 0.000 0.000 1.000 setrgbcolor gsave 7 setlinewidth [4 4] 0 setdash newpath 464 504 moveto 0 -44 atan dup cos 22 mul exch sin 22 mul rmoveto 420 504 lineto stroke [] 0 setdash 1 setlinewidth grestore gsave newpath 464 504 22 9 44 0 tgifarrowtip 1 setgray closepath fill 0.000 0.000 1.000 setrgbcolor newpath 464 504 22 9 44 0 tgifarrowtip closepath fill grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 480 320 moveto (intended explicit route) show 480 349 moveto (for R1) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 480 384 moveto (intended explicit route) show 480 413 moveto (for R2) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 480 460 moveto (sequence of R1's grafts) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 480 512 moveto (sequence of R2's grafts) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 64 640 moveto (R1) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 144 640 moveto (R2) show grestore % TEXT 0.000 0.000 0.000 setrgbcolor /Helvetica findfont [24 0 0 -24 0 0] makefont setfont gsave 148 228 moveto (S) show grestore grestore tgifsavedpage restore end %MatchingCreationDate: Wed Jun 21 10:52:59 1995 -------------snip here! ----------------------------------------- Thanks very much! Daniel Zappala daniel@isi.edu