Harmonic Waves

From JSXGraph Wiki

board1 = JXG.JSXGraph.initBoard('jxgbox1', {axis: true, boundingbox: [-6, 5, 6, -5]});
board1.suspendUpdate();
var s = board1.create('slider', [[0.75,-2],[4.5,-2],[0,0,10]], {name:'S',snapWidth:1});
board1.create('functiongraph', [
    function(t) {
        var val = 0, sv = s.Value()+1,
        k = 1;
        for(var i = 0; i < sv; i++) {
            val = val + Math.sin(2*Math.PI*k*t)/k;
            k += 1;
        }
        return val+2;
    }, -10, 10], {strokeColor: "#bb0000"});

board1.create('functiongraph', [
    function(t) {
        var val = 0, sv = s.Value()+1,
            k = 1;
        for(var i = 0; i < sv; i++) {
            val = val + Math.sin(2*Math.PI*(2*k-1)*t)/(2*k-1);
            k += 1;
        }
        return val-2;
    }, -10, 10], {strokeColor: "#cc5520"});

board1.unsuspendUpdate();