Sine Wave

Sine wave lights

by jhalderm

HTML

<script src="http://141.212.120.173/client.js"></script>

JavaScript

// Sine wave

(new Blinken()).run(function (lights) {
    var offr = 0,
        offg = 0,
        offb = 0,
        offa = 0;
    return function () {
        for (var i = 0; i < 100; i++) {
            var xr = (i + offr) % 100;
            var xg = (i + offg) % 100;
            var xb = (i + offb) % 100;
            var xa = (i + offb) % 100;
            var yr = Math.sin(xr / 5) / 2 + 0.5;
            var yg = Math.sin(xg / 5) / 2 + 0.5;
            var yb = Math.sin(xb / 5) / 2 + 0.5;
            var ya = Math.sin(xa / 10) / 2 + 0.5;
            lights[i].rgb(yr, yg, yb, ya);
        }
        offr = (offr + 1) % 100;
        offg = (offg + 2) % 100;
        offb = (offb + 3) % 100;
        offa = (offa + 1) % 100;
        return 100;
    };
});