Parabola II
From JSXGraph Wiki
The underlying JavaScript code
JXG.Options.label.autoPosition = true;
JXG.Options.text.fontSize = 16;
JXG.Options.line.strokeWidth = 0.8;
var board = JXG.JSXGraph.initBoard('jxgbox', { boundingbox: [-5, 5, 5, -5], axis: true, showClearTraces: true});
var f = board.create('glider', [1, 0, board.defaultAxes.x], {name:"f"});
var c = board.create('glider', [-1, 0, board.defaultAxes.x], {name:"c"});
var l = board.create('parallel', [board.defaultAxes.y, c], {name:"l", withLabel:true});
var par = board.create('parabola', [f, l]);
var P = board.create('glider', [2, 2, par], {name: 'P'});
var s1 = board.create('segment', [f,P]);
var q = board.create('point', [()=>c.X(), ()=>P.Y()], {name:'q'});
var s2 = board.create('segment', [q, P]);
var txt = board.create('text', [0.2, 4, () => "|Pf| - |Pq| = " + P.Dist(f).toFixed(2) + ' - ' + P.Dist(q).toFixed(2) + ' = ' + (P.Dist(f) - P.Dist(q)).toFixed(2)]);