Harmonic Waves
From JSXGraph Wiki
board1 = JXG.JSXGraph.initBoard('jxgbox1', {originX: 300, originY: 200, unitX: 50, unitY: 50});
board1.suspendUpdate();
board1.createElement('axis', [[0,0], [1,0]], {});
board1.createElement('axis', [[0,0], [0,1]], {});
var s = board1.createElement('slider', [[0.75,-2],[4.5,-2],[0,0,10]], {name:'S',snapWidth:1});
board1.createElement('functiongraph', [
board1.createElement('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.createElement('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();