Spirograph: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 14: | Line 14: | ||
         var r1 = Math.round(100.0*r.Value())/100.0;    |          var r1 = Math.round(100.0*r.Value())/100.0;    | ||
         var a1 = Math.round(100.0*a.Value())/100.0;    |          var a1 = Math.round(100.0*a.Value())/100.0;    | ||
         return (R-r1)*Math.sin(r1/R*t)  |          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  | ||
Revision as of 15:16, 19 July 2010
The underlying JavaScript code
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5], kkeepaspectratio:true});
var R = 2.0;
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 c = brd.create('curve',[
     function(t){ 
        var r1 = Math.round(100.0*r.Value())/100.0; 
        var a1 = Math.round(100.0*a.Value())/100.0; 
        return (R-r1)*Math.cos(r1/R*t)+a1*Math.cos((1-r1/R)*t); 
     },
     function(t){ 
        var r1 = Math.round(100.0*r.Value())/100.0; 
        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
     ], {strokeWidth:3, strokeColor:'#3355ff', strokeOpacity:0.7});