Continuous functions
From JSXGraph Wiki
References
The underlying JavaScript source code
var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-4, 6, 6, -4], axis: true});
board.suspendUpdate();
var f = function(x) {
if (x<1) {
return 0.5*x*x;
} else {
return x+1;
}
};
var graph = board.create('functiongraph', [f], {strokeColor:'#0000ff'});
var s = board.create('slider', [[0,-1],[4,-1],[0,1,1]],{name:'δ'});
var x1 = board.create('glider', [-2,0,board.defaultAxes.x],{name:'a'});
board.suspendUpdate();
var x2 = board.create('point', [function(){return x1.X()-s.Value();},0],{size:2,face:'[]',name:' '});
var x3 = board.create('point', [function(){return x1.X()+s.Value();},0],{size:2,face:'[]',name:' '});
var y1 = board.create('point', [function(){return x1.X();},function(){return f(x1.X());}],{size:2,face:'[]',name:'f(a)'});
var y2 = board.create('point', [function(){return x2.X();},function(){return f(x2.X());}],{size:2,face:'[]',name:' '});
var y3 = board.create('point', [function(){return x3.X();},function(){return f(x3.X());}],{size:2,face:'[]',name:' '});
var v1 = board.create('segment', [x1,y1],{strokeColor:'gray',dash:2,strokeWidth:1});
var v2 = board.create('line', [x2,y2],{strokeColor:'gray',dash:2,strokeWidth:1});
var v3 = board.create('line', [x3,y3],{strokeColor:'gray',dash:2,strokeWidth:1});
var h1 = board.create('curve', [function(t){return t},function(t){return y1.Y();}], {strokeColor:'gray',dash:2,strokeWidth:1});
var h2 = board.create('curve', [function(t){return t},function(t){return y2.Y();}], {strokeColor:'gray',dash:2,strokeWidth:1});
var h3 = board.create('curve', [function(t){return t},function(t){return y3.Y();}], {strokeColor:'gray',dash:2,strokeWidth:1});
var txt = board.create('text', [4.2, -1.5, function() {
return 'ε = ' + Math.max(Math.abs(y2.Y() - y1.Y()), Math.abs(y1.Y() - y3.Y())).toFixed(5);
}], {strokeColor: 'blue'});
board.unsuspendUpdate();