diff options
Diffstat (limited to 'graphics/circuit_macros/examples/Sierpinski.m4')
-rw-r--r-- | graphics/circuit_macros/examples/Sierpinski.m4 | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/graphics/circuit_macros/examples/Sierpinski.m4 b/graphics/circuit_macros/examples/Sierpinski.m4 index f9bad102e0..7fbf13bf15 100644 --- a/graphics/circuit_macros/examples/Sierpinski.m4 +++ b/graphics/circuit_macros/examples/Sierpinski.m4 @@ -1,7 +1,8 @@ .PS # Sierpinski.m4 gen_init -`define Sierpinski' { +[ + define Sierpinski { if $1 > 0.04 then { d = $1/2-lh shade(1,line from $2+(d/2,d/2*s3+lw*2) right d/2 up d/2*s3 then left d*2 \ @@ -22,6 +23,32 @@ gen_init d = r/2-lh shade(0,line from A+(0,lw) right d then up d*s3 left d then down d*s3 left d\ then right d ) - psset_(linecolor=white) + ifpstricks(`psset_(linecolor=white)') Sierpinski(r/2,A) + + ifpstricks(`psset_(linecolor=black)') + thicklines_ + ] + +# CayleyGraph.m4 +[ +define CayleyGraph { + if $3 > 0 then { + { line to Here+(cosd($2),sind($2))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);",0.5*($1),$2,$3-1); } + { line to Here+(cosd($2+90),sind($2+90))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);",0.5*($1),$2+90,$3-1); } + { line to Here+(cosd($2-90),sind($2-90))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);",0.5*($1),$2-90,$3-1); } + } + } + + size = 2 + depth = 6 + for t=0 to 270 by 90 do { + line from (0,0) to (cosd(t),sind(t)); + { exec sprintf("CayleyGraph(%g,%g,%g);",size/4,t,depth); } + } + ] with .sw at last [].se+(-0.25,0) + .PE |