- All major browsers come with JavaScript
- JavaScript is fast
Who said JavaScript is slow...?
t = brd.createElement('turtle'); function koch(x,level) { if (level<1) t.fd(x); else { koch(x/3,level-1); t.lt(60); koch(x/3,level-1); t.rt(120); koch(x/3,level-1); t.lt(60); koch(x/3,level-1); } } t.setPos(-250,0); t.rt(90); koch(400,7);16385 data points
t.forward(100); t.right(90); t.left(90); t.back(30); ...
y0 = s
Δy = α⋅ y⋅ Δt
dy = alpha.Value()*t.Y()*dt; t.moveTo([dt+t.X(),dy+t.Y()]);
Numerical on-the-fly-evaluation of ordinary differential equations (explicit Runge-Kutta).
There is no "inside" or "outside" of the construction anymore.
Hooks are functions called by JSXGraph on every update.
With this it is possible to access and display information from "inside" the construction anywhere on the HTML page.
With JSXGraph elements like points can leave a trace.
This is useful to determine geometric loci.
Example for how to extend JSXGraph server side using AJAX:
Determination of geometric loci with CoCoA and matplotlib.
JXG.JSXGraph.loadBoardFromFile( 'box', 'cube.gxt', 'Geonext' );→ GEONExT2
JXG.JSXGraph.loadBoardFromFile( 'box', 'intergeo2.i2g', 'Intergeo' );JSXGraph has (the first?) JavaScript implementations of gunzip and unzip
JXG.JSXGraph.loadBoardFromFile( 'box', 'feuerbach.ggb', 'Geogebra' );