Sierpinski triangle: Difference between revisions

(Simpler D code)
(→‎{{header|PostScript}}: cleaner version)
Line 1,170:
%%BoundingBox 0 0 300 300
 
/sf { 1 30 sqrttranslate div} def
/rl { rotate1 0 lineto f } def
/lr { rlineto120 rotate } def
/d { gsave 0 s moveto 150 r 0 1 l 120 r 0 1 l closepath fill grestore } def
 
/S { gsave dup 1 sub dup
/serp { gsave 3 1 roll translate .5 -.5 scale d 1 -1 scale
dup0 1eq sub dup { 0 eq0 notmoveto {l r l fill }
90{ 120.5 360.5 {scale f S S S } ifelse
grestore f r f pop
dup cos s mul exch sin s mul
} def
3 -1 roll serp
} for
} if pop
grestore
} def
 
300 300 scale 1 2 div0 1 312 div translate
d 1 setgray
0 0 6 serp
 
8 S pop
showpage
%%EOF
Anonymous user