Elliptic curves

From JSXGraph Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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'});

References