Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet thread from rec.arts.ascii, started 21 Jun 1995.
 _   _                     _        _             _     _           
| | | |___  ___ _ __   ___| |_     / \   _ __ ___| |__ (_)_   _____ 
| | | / __|/ _ \ '_ \ / _ \ __|   / _ \ | '__/ __| '_ \| \ \ / / _ \
| |_| \__ \  __/ | | |  __/ |_   / ___ \| | | (__| | | | |\ V /  __/
 \___/|___/\___|_| |_|\___|\__| /_/   \_\_|  \___|_| |_|_| \_/ \___|
Request: help doing ascii art for network diagrams

Request: help doing ascii art for network diagrams

rec.arts.ascii · 1 message · 21 Jun 1995
dan...@ISI.EDU ASCII art 21 Jun 1995 00:00 · raw headers · report
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 (wil...@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
dan...@isi.edu

About this thread. These messages were posted publicly to the newsgroup rec.arts.ascii in 1995 and are mirrored here unchanged as part of the Historic Archives – only email addresses are masked. The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can. Are you one of the authors? Contact us to get your posts attributed, connected to your artist profile, or removed.

Report this message

Help us keep the archive clean and accurate. Reports are reviewed by a person – nothing is changed automatically.

Help classify this post