Elliptic curves
From JSXGraph Wiki
An elliptic curve can be written as a plane algebraic curve defined by an equation of the form
- [math]\displaystyle{ y^2=x^3+ax+b\,. }[/math]
Using `implicitcurve`
const board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
var b = board.create('slider',[[1,-3], [10,-3], [-10,2.10,10]], {name:'a'});
var a = board.create('slider',[[1,-4], [10,-4], [-10,-9.52,10]], {name:'b'});
var c = board.create('implicitcurve', [(x, y) => x*x*x + a.Value() * x + b.Value() - y * y],
{strokeWidth:3,strokeColor:'black'});
Using two function graphs
Use
- [math]\displaystyle{ y^2=x^3+ax+b \quad\Longrightarrow\quad y=\pm\sqrt{x^3+ax+b} }[/math]
This approach is somewhat outdated.
const board = JXG.JSXGraph.initBoard('jxgbox1', {boundingbox: [-15, 10, 15, -10], axis:true});
var b = board.create('slider',[[1,-3], [10,-3], [-10,2.10,10]], {name:'a'});
var a = board.create('slider',[[1,-4], [10,-4], [-10,-9.52,10]], {name:'b'});
var c1 = board.create('functiongraph', [function(x){ return Math.sqrt(x*x*x+a.Value()*x+b.Value()); }],
{strokeWidth:3, strokeColor:'black'});
var c2 = board.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }],
{strokeWidth:3, strokeColor:'black'});