startshape GRID (1000,1000)[] //( 640, 640 ) [] CF::Time = [time 0 1] CF::Background = [ b -1 ] CF::MinimumSize = 0.0001 sine(t,amp,freq,phase) = amp*sin( 360 * (freq*t + phase) ) dist ( n, o ) = abs ( n - o ) inv2 ( n ) = 1/n^2 para ( n, o, p ) = n^2*o+p st0 = sine ( ftime(), 1, 3, 0.2 ) st1 = sine ( ftime(), 1, 3, 0.5 ) st2 = sine ( ftime(), 1, 2, 0.9 ) shape GRID ( natural n, natural o ) { loop i=n [] { si0 = sine ( i/n, 1, 1, 0 ) si1 = sine ( i/n, 1, 2, 0.2 ) si2 = sine ( i/n, 1, 3, 0.7 ) s0 = sine ( (1/n)*i, o/3*si0, 3, ftime() )+st0 s1 = sine ( (1/n)*i, o/3*si1, 2, ftime() )+st1 s2 = sine ( (1/n)*i, o/3*si2, 1, ftime() )+st2 X = i-(n/2) loop j=o [] { Y = j-(o/2) BC = 0.02 BN = 2/3 BM = 1.4 B0 = BN/para ( BC, dist ( Y, s0 )^2, BM ) B1 = BN/para ( BC, dist ( Y, s1 )^2, BM ) B2 = BN/para ( BC, dist ( Y, s2 )^2, BM ) B = B0+B1+B2 S = 1.2-(B0+B1+B2) H = st0*st1*st2*si0+190 SQUARE [ x X y Y b B sat S hue H] } } }