Long banners bend in a steady breeze.
This is the whole thing. Phluxel runs it on every cell, every step — the animation is what
happens when you repeat it. BASE is the painted scene, so the rule reads the artwork
instead of its own output and never smears.
// Astra scene. _sx/_sy rescale the 256x192 coordinates to any grid size.
PARAM _motion=1
LET _sx = 256/GW
LET _sy = 192/GH
LET _p={FRAC,TICK*_motion/48}
LET _t=_p*6.283185307179586
LET _r=BASE.R
LET _g=BASE.G
LET _b=BASE.B
LET _cx0=70+((Y*_sy-32)/120)*9*{SIN,_t+Y*_sy*.055+0.0}
LET _m1=(Y*_sy>32 & Y*_sy<151+5*{SIN,_t+0} & X*_sx>_cx0-10 & X*_sx<_cx0+10) ? 1 : 0
LET _r1=_m1 ? 190 : _r
LET _g1=_m1 ? 101 : _g
LET _b1=_m1 ? 78 : _b
LET _m2=(Y*_sy>32 & Y*_sy<149+5*{SIN,_t+0} & X*_sx>_cx0-9 & X*_sx<_cx0-7) ? 1 : 0
LET _r2=_m2 ? 231 : _r1
LET _g2=_m2 ? 207 : _g1
LET _b2=_m2 ? 157 : _b1
LET _cx1=106+((Y*_sy-32)/120)*9*{SIN,_t+Y*_sy*.055+0.9}
LET _m3=(Y*_sy>32 & Y*_sy<151+5*{SIN,_t+1} & X*_sx>_cx1-10 & X*_sx<_cx1+10) ? 1 : 0
LET _r3=_m3 ? 209 : _r2
LET _g3=_m3 ? 164 : _g2
LET _b3=_m3 ? 84 : _b2
LET _m4=(Y*_sy>32 & Y*_sy<149+5*{SIN,_t+1} & X*_sx>_cx1-9 & X*_sx<_cx1-7) ? 1 : 0
LET _r4=_m4 ? 231 : _r3
LET _g4=_m4 ? 207 : _g3
LET _b4=_m4 ? 157 : _b3
LET _cx2=142+((Y*_sy-32)/120)*9*{SIN,_t+Y*_sy*.055+1.8}
LET _m5=(Y*_sy>32 & Y*_sy<151+5*{SIN,_t+2} & X*_sx>_cx2-10 & X*_sx<_cx2+10) ? 1 : 0
LET _r5=_m5 ? 115 : _r4
LET _g5=_m5 ? 150 : _g4
LET _b5=_m5 ? 135 : _b4
LET _m6=(Y*_sy>32 & Y*_sy<149+5*{SIN,_t+2} & X*_sx>_cx2-9 & X*_sx<_cx2-7) ? 1 : 0
LET _r6=_m6 ? 231 : _r5
LET _g6=_m6 ? 207 : _g5
LET _b6=_m6 ? 157 : _b5
LET _cx3=178+((Y*_sy-32)/120)*9*{SIN,_t+Y*_sy*.055+2.7}
LET _m7=(Y*_sy>32 & Y*_sy<151+5*{SIN,_t+3} & X*_sx>_cx3-10 & X*_sx<_cx3+10) ? 1 : 0
LET _r7=_m7 ? 99 : _r6
LET _g7=_m7 ? 127 : _g6
LET _b7=_m7 ? 150 : _b6
LET _m8=(Y*_sy>32 & Y*_sy<149+5*{SIN,_t+3} & X*_sx>_cx3-9 & X*_sx<_cx3-7) ? 1 : 0
LET _r8=_m8 ? 231 : _r7
LET _g8=_m8 ? 207 : _g7
LET _b8=_m8 ? 157 : _b7
A=255
R=_r8
G=_g8
B=_b8
The coordinates are written for the 256×192 canvas this was painted on;
_sx/_sy rescale them, so the same rule works on a smaller grid too.
Download the script ↓
_motion knob while it runs. You never have to stop and restart.Phluxel runs in the browser as a demo, and the free desktop edition has every feature with a watermark on exports.
Open the browser demo Download free (Windows) Wishlist on Steam