REBOL [ title: "Spiral tides" author: cyphre@seznam.cz ] siz: 300x300 random/seed now/time ff: 0 oft: 0x0 spiral: func [col sz ln wd of /local result][ mod: 1 result: copy compose [pen (col) line] ff: ff + 20 oft/x: siz/x / 2 + (10 * sine (ff)) oft/y: siz/y / 2 + (10 * cosine (ff)) repeat i ln [ x: i / sz * sine of + (wd * i) y: i / sz * cosine of + (wd * I) insert tail result as-pair oft/x + x + (random mod) - (mod / 2) oft/y + y + (random mod) - (mod / 2) ] return result ] tv: an: 0 cl: random 255.255.255 d: '- xx: random 20.20.20 view/options layout [ origin 0 bx: box siz black with [ edge: make edge [size: 0x0] rate: 0 feel: make feel [ engage: func [f a e][ if e/face/size <> siz [f/size: siz: e/face/size f/effect: none f/image: make image! siz show f] if cl < 30.30.30 [d: '+ xx: random 20.20.20] if cl > 200.200.200 [d: '- xx: random 20.20.20] cl: do reduce [cl d xx] tv: tv - 0.2 an: an - 1 f/effect: compose/deep [draw [(spiral cl 1 360 tv an)] blur] f/image: to-image f show f ] ] ] ][resize]