JavaScript
JXG.Options.text.useMathJax = true;
JXG.Options.point.showInfobox = false;
const board = JXG.JSXGraph.initBoard('jxgbox', {
boundingbox: [-2, 15, 30, -2],
axis: true,
showNavigation: false, //hides arrows and zoom icons
keepaspectratio: true,
showCopyright: false,
showLogo:true,
defaultAxes: {
x: { ticks: { visible: false, majorHeight: 5 } },
y: { ticks: { visible: false, majorHeight: 5 } }
},
pan: { enabled: false }, // Disable pan for 3D view
zoom: { enabled: false } // Disable zoom for 3D view
});
var one = board.create('point', [1,1],{fixed:true, visible:true, highlight:false, name:''});
var zero = board.create('point', [0,0],{fixed:true, visible:false});
var xeqy= board.create('line', [zero, one], {visible:true, fixed:true, highlight:false,color:"black"});
var s = board.create('segment',[[1,0],one],{dash:1, highlight:false});
var OX = board.defaultAxes.x;
var A= board.create('glider', [7,0,OX], {name:'b',size:3, color:'orange',snapToGrid:true, snapSizeX:0.1,});
var B= board.create('glider', [3,0,OX], {name:'a',size:3, color:'orange',snapToGrid:true, snapSizeX:0.1,});
var lb = board.create('line', [B, one], {visible:true, highlight:false, color:'blue'});
var pa = board.create('perpendicular',[A,OX], {visible:false, color:'orange', dash:1,size:1});
var P= board.create('intersection', [pa,xeqy,0], {name:'',highlight:false});
var AP = board.create('segment', [A, P], {visible:true, dash:1, color:'orange'});
var lb = board.create('parallel', [P, lb], {visible:true, highlight:false, color:'blue'});
var AtB=board.create('intersection', [lb, OX,0], {name:'', size:2, color:'red',highlight:false});
var ta=board.create('text', [()=>A.X()-0.5, -1, ()=>'\\('+A.X().toFixed(1)+`\\)`], {fontSize: 14, color:'black', fontSize:11, fixed:true});
var tb=board.create('text', [()=>B.X()-0.5, ()=>(Math.abs(A.X()-B.X())<2?-2:-1), ()=>'\\('+B.X().toFixed(1)+`\\)`],...