The underlying JavaScript code

varbrd=JXG.JSXGraph.initBoard('jxgbox',{axis:false,boundingbox:[-5,5,5,-5],keepaspectratio:true});varp=brd.create('point',[0,0]);varq=brd.create('point',[3,3]);varcirc=brd.create('circle',[p,q]);// Create an empty curvevarticks=brd.create('curve',[[0],[0]],{strokeWidth:1,strokeColor:'blue',strokeOpacity:0.5});// Make ticks out of the curve ticks.updateDataArray=function(){varcx=circ.center.X(),cy=circ.center.Y(),r=circ.Radius(),i,ticklen=0.3,// Length of ticks in user space coordinatessteps=20,// Number of ticksd=ticklen*0.5,alpha=2*Math.PI/steps;this.dataX=[];this.dataY=[];for(i=0;i<steps;i++){// Start of a tickthis.dataX.push(cx+(r-d)*Math.cos(i*alpha));this.dataY.push(cy+(r-d)*Math.sin(i*alpha));// End of tickthis.dataX.push(cx+(r+d)*Math.cos(i*alpha));this.dataY.push(cy+(r+d)*Math.sin(i*alpha));// Interrupt the curvethis.dataX.push(NaN);this.dataY.push(NaN);}};brd.update();