Elliptic curves: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
<jsxgraph width="600" height="400" box="jxgbox"> | <jsxgraph width="600" height="400" box="jxgbox"> | ||
(function() { | |||
const board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true}); | 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 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 a = board.create('slider',[[1,-4], [10,-4], [-10,-9.52,10]], {name:'b'}); | ||
var | var c = board.create('implicitcurve', [(x, y) => x * x * x + a.Value() * x + b.Value() - y * y], | ||
{strokeWidth:3, strokeColor:'black'}); | |||
})(); | |||
</jsxgraph> | |||
<source lang="javascript"> | |||
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'}); | {strokeWidth:3,strokeColor:'black'}); | ||
</ | </source> | ||
== Using two function graphs == | == Using two function graphs == | ||
Use | Use | ||
:<math> y^2=x^3+ax+b \quad\ | :<math> y^2=x^3+ax+b \quad\Longrightarrow\quad y=\pm\sqrt{x^3+ax+b} </math> | ||
This approach is somewhat outdated. | This approach is somewhat outdated. | ||
<jsxgraph width="600" height="400" box="jxgbox1"> | <jsxgraph width="600" height="400" box="jxgbox1"> | ||
(function() { | |||
const board = JXG.JSXGraph.initBoard('jxgbox1', {boundingbox: [-15, 10, 15, -10], axis:true}); | |||
var b = | var b = board.create('slider',[[1,-3], [10,-3], [-10,2.10,10]],{name:'a'}); | ||
var a = | var a = board.create('slider',[[1,-4], [10,-4], [-10,-9.52,10]],{name:'b'}); | ||
var c1 = | var c1 = board.create('functiongraph', [function(x){ return Math.sqrt(x*x*x+a.Value()*x+b.Value()); }], | ||
{strokeWidth:3,strokeColor:'black'}); | {strokeWidth:3, strokeColor:'black'}); | ||
var c2 = | var c2 = board.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }], | ||
{strokeWidth:3,strokeColor:'black'}); | {strokeWidth:3, strokeColor:'black'}); | ||
})(); | |||
</jsxgraph> | </jsxgraph> | ||
<source lang="javascript"> | <source lang="javascript"> | ||
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 b = | var a = board.create('slider',[[1,-4], [10,-4], [-10,-9.52,10]], {name:'b'}); | ||
var a = | |||
var c1 = | var c1 = board.create('functiongraph', [function(x){ return Math.sqrt(x*x*x+a.Value()*x+b.Value()); }], | ||
{strokeWidth:3,strokeColor:'black'}); | {strokeWidth:3, strokeColor:'black'}); | ||
var c2 = | var c2 = board.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }], | ||
{strokeWidth:3,strokeColor:'black'}); | {strokeWidth:3, strokeColor:'black'}); | ||
</source> | </source> | ||
Latest revision as of 10:10, 8 July 2026
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'});