*

: 2pi 2 pi * ;
: atan2 atan2 2pi / 1 mod ;
: cos 2pi * cos ; : sin 2pi * sin ;

: orig ( X Y -- ) 1 ! 0 ! ;
: axis ( A -- ) 2 ! ;
: wscale ( WS -- ) 3 ! ; 1 3 !
: hscale ( HS -- ) 4 ! ; 1 4 !

: ts t 99 / sin .5 * .5 + 2 * 1 + ;
: x x .5 - ts * 1 mod ;
: y y .5 - ts * 1 mod ;
: x x 0 @ - 3 @ * ;
: y y 1 @ - 4 @ * ;

: r ( -- r ) y 2 ** x 2 ** + .5 ** ;
: a ( -- a ) y x atan2 2 @ - 1 mod ;
: x ( -- x ) r a cos * ;
: y ( -- y ) r a sin * ;

\ ( \ rolling colors
.5 .5 orig ts axis
x .0 >
y .0 >
r .4 <
a 4 * .5 + 1 mod .2 **
\ ) \ rolling colors

Based on: moving lines - 陳爽