%!PS %%BoundingBox: 267 376 352 540 % %!PS % Color Dictionary / adapted from color.pro % Graph Dictionary / drawing graphs % -------------------------------------------- % Vladimir Batagelj % version 0: 27 mar 1994 experimental version % version 1: 12 nov 1994 basic set (color, a, e, ... ) % version 2: 25 dec 1994 extensions % version 3: 5 jan 1995 arct/arcto - level2/level1 --> *arct % version 4: 12 jan 1995 ce, empty % /ColorDict 150 dict def ColorDict begin /B {bind def} def /GreenYellow {0.15 0 0.69 0 }def /Yellow {0 0 1 0 }def /Goldenrod {0 0.10 0.84 0 }def /Dandelion {0 0.29 0.84 0 }def /Apricot {0 0.32 0.52 0 }def /Peach {0 0.50 0.70 0 }def /Melon {0 0.46 0.50 0 }def /YellowOrange {0 0.42 1 0 }def /Orange {0 0.61 0.87 0 }def /BurntOrange {0 0.51 1 0 }def /Bittersweet {0 0.75 1 0.24 }def /RedOrange {0 0.77 0.87 0 }def /Mahogany {0 0.85 0.87 0.35 }def /Maroon {0 0.87 0.68 0.32 }def /BrickRed {0 0.89 0.94 0.28 }def /Red {0 1 1 0 }def /OrangeRed {0 1 0.50 0 }def /RubineRed {0 1 0.13 0 }def /WildStrawberry{0 0.96 0.39 0 }def /Salmon {0 0.53 0.38 0 }def /CarnationPink {0 0.63 0 0 }def /Magenta {0 1 0 0 }def /VioletRed {0 0.81 0 0 }def /Rhodamine {0 0.82 0 0 }def /Mulberry {0.34 0.90 0 0.02 }def /RedViolet {0.07 0.90 0 0.34 }def /Fuchsia {0.47 0.91 0 0.08 }def /Lavender {0 0.48 0 0 }def /Thistle {0.12 0.59 0 0 }def /Orchid {0.32 0.64 0 0 }def /DarkOrchid {0.40 0.80 0.20 0 }def /Purple {0.45 0.86 0 0 }def /Plum {0.50 1 0 0 }def /Violet {0.79 0.88 0 0 }def /RoyalPurple {0.75 0.90 0 0 }def /BlueViolet {0.86 0.91 0 0.04 }def /Periwinkle {0.57 0.55 0 0 }def /CadetBlue {0.62 0.57 0.23 0 }def /CornflowerBlue{0.65 0.13 0 0 }def /MidnightBlue {0.98 0.13 0 0.43 }def /NavyBlue {0.94 0.54 0 0 }def /RoyalBlue {1 0.50 0 0 }def /Blue {1 1 0 0 }def /Cerulean {0.94 0.11 0 0 }def /Cyan {1 0 0 0 }def /ProcessBlue {0.96 0 0 0 }def /SkyBlue {0.62 0 0.12 0 }def /Turquoise {0.85 0 0.20 0 }def /TealBlue {0.86 0 0.34 0.02 }def /Aquamarine {0.82 0 0.30 0 }def /BlueGreen {0.85 0 0.33 0 }def /Emerald {1 0 0.50 0 }def /JungleGreen {0.99 0 0.52 0 }def /SeaGreen {0.69 0 0.50 0 }def /Green {1 0 1 0 }def /ForestGreen {0.91 0 0.88 0.12 }def /PineGreen {0.92 0 0.59 0.25 }def /LimeGreen {0.50 0 1 0 }def /YellowGreen {0.44 0 0.74 0 }def /SpringGreen {0.26 0 0.76 0 }def /OliveGreen {0.64 0 0.95 0.40 }def /RawSienna {0 0.72 1 0.45 }def /Sepia {0 0.83 1 0.70 }def /Brown {0 0.81 1 0.60 }def /Tan {0.14 0.42 0.56 0 }def /Gray {0 0 0 0.50 }def /Black {0 0 0 1 }def /White {0 0 0 0 }def /LightYellow {0 0 0.4 0 }def /LightCyan {0.2 0 0 0 }def /LightMagenta {0 0.2 0 0 }def /LightPurple {0.2 0.2 0 0 }def /LightGreen {0.2 0 0.3 0 }def /LightOrange {0 0.2 0.3 0 }def /Canary {0 0 0.50 0 }def /LFadedGreen {0.10 0 0.20 0 }def /Pink {0 0.15 0.05 0 }def /LSkyBlue {0.15 0.05 0 0 }def end /GraphPic 50 dict def GraphPic begin % level1/level2 /arct* {arcto 4 {pop} repeat} bind def /languagelevel where {pop languagelevel}{1} ifelse 2 lt { /*arct /arct* load def }{ /*arct /arct load def } ifelse % Parameters /fos 15 def % font size /h 9 def % arrow height /d 10 def % arrow depth /o 5 def % arrow width /ic { White } def % interior color (fill) /bc { Black } def % boundary color /bw { 1 } def % boundary width /r { 5 } def % oval radius /q { 0.5 } def % hexagon /setFontSize { /fos exch def } def /setArrHeight { /h exch def } def /setArrDepth { /d exch def } def /setArrWidth { /o exch def } def % Dash Patterns /Solid { [ ] 0 } def /Dashed { [4 3] 2 } def /Dots { [3 6] 2 } def /c {setcmykcolor} def % labels /l { % text angle x y gsave moveto rotate c show grestore } def /cl { % text angle x y gsave moveto rotate c dup stringwidth exch 2 div neg exch fos add 2.5 div neg rmoveto show grestore } def % arrows /arrowA { newpath -10 0 moveto 15 h lineto d 0 lineto 15 h neg lineto closepath gsave fill grestore 0 setlinejoin 0.1 setlinewidth stroke } def /arrowB { /Bl { h h mul 625 add sqrt } bind def /Bd { -10 o Bl mul h div add} bind def /Bg { h o Bl mul 25 div sub } bind def newpath 15 h moveto -10 0 lineto 15 h neg lineto 15 Bg neg lineto Bd 0 lineto 15 Bg lineto closepath gsave fill grestore 0 setlinejoin 0.1 setlinewidth Solid setdash stroke } def /ArrowA { % size alpha x y gsave translate pop rotate 0.2 mul dup scale arrowA grestore } def /ArrowB { % alpha x y gsave translate pop rotate 0.2 mul dup scale arrowB grestore } def % vertex /v { % bndcolor w intcolor x y radius 0 360 arc gsave c fill grestore setlinewidth c stroke } def % edge /e { % width color dashpat u1 v1 u2 v2 x2 y2 x1 y1 moveto curveto setdash c setlinewidth stroke } def % oval edge /oe { % width color dashpat r u1 v1 x2 y2 x1 y1 moveto 2 copy 7 1 roll 7 1 roll 5 -1 roll *arct lineto setdash c setlinewidth stroke } def % circular edge /ce { % width color dashpat x y r a1 a2 arc setdash c setlinewidth stroke } def % straight edge /se { % width color dashpat x2 y2 x1 y1 moveto lineto setdash c setlinewidth stroke } def % arc /a { % arrow size angle width color dashpat u1 v1 u2 v2 x2 y2 x1 y1 moveto curveto setdash c dup setlinewidth currentpoint 6 -1 roll cvx exec stroke } def % straight arc /sa { % arrow size angle width color dashpat x2 y2 x1 y1 moveto lineto setdash c dup setlinewidth currentpoint 6 -1 roll cvx exec stroke } def % circle /circle { 0 0 10 0 360 arc gsave ic c fill grestore bw setlinewidth bc c stroke } def % square /square { -10 -10 moveto 0 20 rlineto 20 0 rlineto 0 -20 rlineto -20 0 rlineto gsave ic c fill grestore bw setlinewidth bc c stroke } def % cross /cross { 0 -10 moveto 0 20 rlineto -10 0 moveto 20 0 rlineto bw setlinewidth bc c stroke } def % box /box { % a b /q_b exch def /q_a exch def newpath 0 q_b moveto q_a neg q_b q_a neg 0 r *arct q_a neg q_b neg 0 q_b neg r *arct q_a q_b neg q_a 0 r *arct q_a q_b 0 q_b r *arct closepath gsave ic c fill grestore bw setlinewidth bc c stroke } def % diamond /diamond { % a b /d_b exch def /d_a exch def /d_c {d_a q mul} def newpath 0 d_b moveto d_c neg d_b d_a neg 0 r *arct d_a neg 0 d_c neg d_b neg r *arct d_c neg d_b neg d_c d_b neg r *arct d_c d_b neg d_a 0 r *arct d_a 0 d_c d_b r *arct d_c d_b 0 d_b r *arct closepath gsave ic c fill grestore bw setlinewidth bc c stroke } def % ellipse /ellipse { % a b /q_b exch def /q_a exch def newpath /m matrix currentmatrix def q_a q_b scale 0 0 1 0 360 arc closepath m setmatrix gsave ic c fill grestore bw setlinewidth bc c stroke } def % helicopter /helicopter{ ic c 16 6 false [16 0 0 6 0 0] {