Spirograph: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5], kkeepaspectratio:true}); | var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5], kkeepaspectratio:true}); | ||
var R = 2.0; | var R = 2.0; | ||
var r = brd.create('slider',[[-3,4],[3,4],[-5,1,5]],{name:'r' | var r = brd.create('slider',[[-3,4],[3,4],[-5,1,5]],{name:'r'}); | ||
var a = brd.create('slider',[[-3,3],[3,3],[-5,1,5]],{name:'a' | var a = brd.create('slider',[[-3,3],[3,3],[-5,1,5]],{name:'a'}); | ||
var c = brd.create('curve',[ | var c = brd.create('curve',[ | ||
function(t){ | function(t){ | ||
var r1 = r.Value(); | var r1 = Math.round(100.0*r.Value())/100.0; | ||
return (R-r1)*Math.cos(r1/R*t)+ | return (R-r1)*Math.cos(r1/R*t)+a1*Math.cos((1-r1/R)*t); | ||
}, | }, | ||
function(t){ | function(t){ | ||
var r1 = r.Value(); | var r1 = Math.round(100.0*r.Value())/100.0; | ||
return (R-r1)*Math.sin(r1/R*t)+ | var a1 = Math.round(100.0*a.Value())/100.0; | ||
return (R-r1)*Math.sin(r1/R*t)+a1*Math.sin((1-r1/R)*t); | |||
}, | }, | ||
-40*Math.PI,40*Math.PI | -40*Math.PI,40*Math.PI |