Difference between revisions of "Spirograph"
From JSXGraph Wiki
Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
A WASSERMANN (talk | contribs) |
||
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 |