Continuous function II

From JSXGraph Wiki

References

The underlying JavaScript code

 var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-1, 10, 2, -2], axis: true});

 var f = function(x) { return 1.0/x; };
 var graph = board.create('functiongraph', [f,0.00001, 15], {strokeColor:'#0000ff'});

 var s = board.create('slider', [[0,-1],[1.5,-1],[0,1,1]],{name:'ε'});

 var x1 = board.create('glider', [1/2, 0, board.defaultAxes.x],{name:'a'});
 board.suspendUpdate();
 var y1 = board.create('point', [0,function(){return f(x1.X());}],{size:2,face:'[]',name:'f(a)'});
 var y2 = board.create('point', [0,function(){return f(x1.X())-s.Value();}],{size:2,face:'[]',name:' '});
 var y3 = board.create('point', [0,function(){return f(x1.X())+s.Value();}],{size:2,face:'[]',name:' '});

 var z1 = board.create('point', [function(){return f(y1.Y());},function(){return y1.Y();}],{size:2,face:'[]',name:' '});
 var z2 = board.create('point', [function(){return f(y2.Y());},function(){return y2.Y();}],{size:2,face:'[]',name:' '});
 var z3 = board.create('point', [function(){return f(y3.Y());},function(){return y3.Y();}],{size:2,face:'[]',name:' '});

 var v1 = board.create('segment', [z1,y1],{strokeColor:'gray',dash:2,strokeWidth:1});
 var v2 = board.create('line', [z2,y2],{strokeColor:'gray',dash:2,strokeWidth:1});
 var v3 = board.create('line', [z3,y3],{strokeColor:'gray',dash:2,strokeWidth:1});

 var h1 = board.create('curve', [function(t){return z1.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});
 var h2 = board.create('curve', [function(t){return z2.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});
 var h3 = board.create('curve', [function(t){return z3.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});

 var txt = board.create('text', [1.2, 4.3, function() { 
            return 'δ = ' + Math.min(z1.X() - z3.X(), z2.X() - z1.X()).toFixed(5); }]);
 board.unsuspendUpdate();