Secant and tangent: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 8: Line 8:
p[3] = board.create('point', [6,5], {size:2});
p[3] = board.create('point', [6,5], {size:2});
var pol = JXG.Math.Numerics.lagrangePolynomial(p);
var pol = JXG.Math.Numerics.lagrangePolynomial(p);
graph = board.create('functiongraph', [pol, -10, 10]);
graph = board.create('functiongraph', [pol, -10, 10], {strokeWidth:3});


q = board.create('glider', [4.5,0,graph], {size:5});
q = board.create('glider', [4.5,0,graph], {size:5});
Line 23: Line 23:


var f = function(x) { return (Math.abs(x)); };
var f = function(x) { return (Math.abs(x)); };
graph = board.create('functiongraph', [f, -10, 10]);
graph = board.create('functiongraph', [f, -10, 10], {strokeWidth:3});


qf = board.create('glider', [0,0,graph], {size:5});
qf = board.create('glider', [0,0,graph], {size:5});
Line 38: Line 38:


var g = function(x) { return (x<=0)?0:1; };
var g = function(x) { return (x<=0)?0:1; };
graph = board.create('functiongraph', [g,-10, 10]);
graph = board.create('functiongraph', [g,-10, 10], {strokeWidth:3});


qg = board.create('glider', [0,0,graph], {size:4});
qg = board.create('glider', [0,0,graph], {size:4});
Line 62: Line 62:
p[3] = board.create('point', [6,5], {size:2});
p[3] = board.create('point', [6,5], {size:2});
var pol = JXG.Math.Numerics.lagrangePolynomial(p);
var pol = JXG.Math.Numerics.lagrangePolynomial(p);
graph = board.create('functiongraph', [pol, -10, 10]);
graph = board.create('functiongraph', [pol, -10, 10], {strokeWidth:3});


q = board.create('glider', [4.5,0,graph], {size:5});
q = board.create('glider', [4.5,0,graph], {size:5});

Revision as of 08:22, 17 January 2024


The underlying JavaScript code

Construction 1:

board = JXG.JSXGraph.initBoard('box', {boundingbox: [-5, 10, 7, -6], axis: true});

var p = [];
p[0] = board.create('point', [-1,0], {size:2});
p[1] = board.create('point', [-0.5,1], {size:2});
p[2] = board.create('point', [2,0.5], {size:2});
p[3] = board.create('point', [6,5], {size:2});
var pol = JXG.Math.Numerics.lagrangePolynomial(p);
graph = board.create('functiongraph', [pol, -10, 10], {strokeWidth:3});

q = board.create('glider', [4.5,0,graph], {size:5});
s = board.create('slider', [[0,-3],[4,-3],[0.001,1,1]]);
q2 = board.create('point', [function(){ return q.X()+Math.max(s.Value(),0.01);},
        function(){ return pol(q.X()+Math.max(s.Value(),0.01));}], {face:'[]',size:2});
e = board.create('point', [function(){ return q2.X()-q.X();},
        function(){ return (q2.Y()-q.Y())/(q2.X()-q.X());}], {style:7,name:'Sekantensteigung',trace:true});
line = board.create('line',[q,q2],{strokeColor:'#ff0000',dash:2});

Construction 2:

board = JXG.JSXGraph.initBoard('box3', {boundingbox: [-5, 10, 7, -6], axis: true});

var g = function(x) { return (x<=0)?0:1; };
graph = board.create('functiongraph', [g,-10, 10]);

qg = board.create('glider', [0,0,graph], {size:4});
sg = board.create('slider', [[0,-3],[4,-3],[0.001,1,1]]);
qg2 = board.create('point', [function(){ return qg.X()+sg.Value();},
            function(){ return g(qg.X()+sg.Value());}], {face:'[]',size:2});
eg = board.create('point', [function(){ return qg2.X()-qg.X();},
            function(){ return (qg2.Y()-qg.Y())/(qg2.X()-qg.X());}], {face:'[]',size:2,name:'Sekantensteigung',trace:true});
line = board.create('line',[qg,qg2],{strokeColor:'#ff0000',dash:2});

Construction 3:

board = JXG.JSXGraph.initBoard('box3', {boundingbox: [-5, 10, 7, -6], axis: true});

var g = function(x) { return (x<=0)?0:1; };
graph = board.create('functiongraph', [g,-10, 10]);

qg = board.create('glider', [0,0,graph], {size:4});
sg = board.create('slider', [[0,-3],[4,-3],[0.001,1,1]]);
qg2 = board.create('point', [function(){ return qg.X()+sg.Value();},
            function(){ return g(qg.X()+sg.Value());}], {face:'[]',size:2});
eg = board.create('point', [function(){ return qg2.X()-qg.X();},
            function(){ return (qg2.Y()-qg.Y())/(qg2.X()-qg.X());}], {face:'[]',size:2,name:'Sekantensteigung',trace:true});
line = board.create('line',[qg,qg2],{strokeColor:'#ff0000',dash:2});