%!PS % Marbelous Stacks of Pancakes Example marble1a.psl % ============================================================== % Copyright c 2019 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % Marbelous Stacks of Pancakes are "computer art" that does not at % all look like "computer art". In PostScript, they can be represented % in as few as two hundred bytes. % More details are found at https://www.tinaja.com/mbsamp1.shtml % Some of these older .ps versions may still need work. % No gonzo routines are used in this particular program. /pi 3.14159265 def /ci 0 def /clrs [[.96 .76 .58] [.32 .36 .3] [.2 0 .02] [.02 .15 .45] [.87 .35 0] [.2 0 .02]] def 306 396 translate 0.8 dup scale /u {2 index sub abs .9 exch exp} def /F { -187.5 25.0 187.5 {u 60 neg mul add} for dup 2 mul sin 45 mul 3 2 roll add exch [-62.5 137.5] {u 60 mul add} forall dup 2 mul sin -90 mul 3 2 roll add exch -12 add [-162.5 37.5 237.5] {u 60 mul add} forall dup 2 mul sin 45 mul 3 2 roll add exch } bind def gsave 300 -4 2 { /pnts 6.28 2 index 0.8 mul mul 5 mul cvi def /d pi pnts div 180.0 pi div mul sin 2.0 mul def 0 2 copy newpath F moveto pnts { dup 3 1 roll d mul sub dup d mul 3 2 roll add 2 copy F lineto } repeat clrs ci get aload pop setrgbcolor /ci ci 1 add 6 mod def pop pop closepath fill } for grestore showpage