*

: a t 2 * y t + 3 * sin + ;
: x x 4 * 2 - t 4 *
y 3 * + sin 2 / + ;
: y y 4 * 2 - ;
: x1 a sin ;
: x2 a pi 2 / + sin ;
: x3 a pi 2 / 2 * + sin ;
: x4 a pi 2 / 3 * + sin ;
: c1 dup 0.1 * swap 0.2 * ;
: x' x x4 >= x x1 < *
x x4 - x1 x4 - / *
x x1 >= x x2 < *
x x1 - x2 x1 - / * +
x x2 >= x x3 < *
x x2 - x3 x2 - / * +
x x3 >= x x4 < *
x x3 - x4 x3 - / * + ;
: v * floor 3 mod 1 = ;
: l dup dup x' v
swap y t + v and swap 3 * ;
0.1 3 l l l drop + +
0.5 * dup 0.5 *

Based on: shaded twister - boomlinde


comments powered by Disqus