%!PS-Adobe-2.0 %%BoundingBox: 0 0 612 792 %%Pages: 1 %%EndComments %%Page: 1 1 % udonge1.ps - Don Yang (uguu.org) % % 11/19/08 systemdict /Seed known { Seed } { usertime } ifelse srand 9 { rand pop } repeat /Margin 54 def /Width 504 def /Height 684 def /PageScale Width Height lt {Width} {Height} ifelse def /SpriteSpacing 20 def /SpriteScale 0.08 def /Rand { rand 2 31 exp div } bind def /Hue1 0.7 Rand 0.3 mul sub def /Hue2 1.0 Rand 0.3 mul sub def /Brightness 0.6 def /StepCount 8 def /XPhase Rand 360 mul def /YPhase Rand 360 mul def /XPeriod Rand 240 mul 120 add PageScale div def /YPeriod Rand 240 mul 120 add PageScale div def /Zayaku { -100 50 moveto 40 50 lineto 100 0 lineto 40 -50 lineto -100 -50 lineto closepath clip newpath Hue1 1.0 Brightness sethsbcolor -110 60 moveto 0 60 lineto 0 -60 lineto -110 -60 lineto closepath fill Hue2 1.0 Brightness sethsbcolor 0 60 moveto 110 60 lineto 110 -60 lineto 0 -60 lineto closepath fill 1 1 StepCount { StepCount div dup Hue2 Hue1 sub mul Hue1 add 1.0 Brightness sethsbcolor 100 mul -80 add dup 60 moveto 100 60 rlineto 0 -120 rlineto -60 lineto closepath fill } for 0.0 0.0 1.0 sethsbcolor -85 35 moveto 30 35 lineto 70 0 lineto -85 0 lineto closepath fill } bind def /XLoop { % y, sy /sy exch def /y exch def 0 SpriteSpacing Width { % x, sx = sin((x + XPhase) * XPeriod) dup XPhase add XPeriod mul sin % x, angle = 360 * ((sx + sy + 2) / 4) sy add 2 add 4 div 360 mul gsave exch y translate Margin Margin translate rotate SpriteScale SpriteScale scale Zayaku grestore } for } bind def /YLoop { 0 SpriteSpacing Height { % y, sy = sin((y + YPhase) * YPeriod) dup YPhase add YPeriod mul sin XLoop } for } bind def YLoop showpage %%EOF