Lissajous curves: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 6: Line 6:
var brd = JXG.JSXGraph.initBoard('jxgbox',{axis:true,originX:300,originY:250,unitX:25,unitY:25});
var brd = JXG.JSXGraph.initBoard('jxgbox',{axis:true,originX:300,originY:250,unitX:25,unitY:25});
brd.suspendUpdate();
brd.suspendUpdate();
var a = brd.createElement('slider',[[2,8],[6,8],[0,3,6]],{name:'a'});  
var a = brd.create('slider',[[2,8],[6,8],[0,3,6]],{name:'a'});  
var b = brd.createElement('slider',[[2,7],[6,7],[0,2,6]],{name:'b'});
var b = brd.create('slider',[[2,7],[6,7],[0,2,6]],{name:'b'});
var A = brd.createElement('slider',[[2,6],[6,6],[0,3,6]],{name:'A'});
var A = brd.create('slider',[[2,6],[6,6],[0,3,6]],{name:'A'});
var B = brd.createElement('slider',[[2,5],[6,5],[0,3,6]],{name:'B'});
var B = brd.create('slider',[[2,5],[6,5],[0,3,6]],{name:'B'});
var delta = brd.createElement('slider',[[2,4],[6,4],[0,0,Math.PI]],{name:'δ'});  
var delta = brd.create('slider',[[2,4],[6,4],[0,0,Math.PI]],{name:'δ'});  


var c = brd.createElement('curve',[
var c = brd.create('curve',[
           function(t){return A.Value()*Math.sin(a.Value()*t+delta.Value());},
           function(t){return A.Value()*Math.sin(a.Value()*t+delta.Value());},
           function(t){return B.Value()*Math.sin(b.Value()*t);},
           function(t){return B.Value()*Math.sin(b.Value()*t);},
Line 23: Line 23:
var brd = JXG.JSXGraph.initBoard('jxgbox',{axis:true,originX:300,originY:250,unitX:25,unitY:25});
var brd = JXG.JSXGraph.initBoard('jxgbox',{axis:true,originX:300,originY:250,unitX:25,unitY:25});
brd.suspendUpdate();
brd.suspendUpdate();
var a = brd.createElement('slider',[[2,8],[6,8],[0,3,6]],{name:'a'});  
var a = brd.create('slider',[[2,8],[6,8],[0,3,6]],{name:'a'});  
var b = brd.createElement('slider',[[2,7],[6,7],[0,2,6]],{name:'b'});
var b = brd.create('slider',[[2,7],[6,7],[0,2,6]],{name:'b'});
var A = brd.createElement('slider',[[2,6],[6,6],[0,3,6]],{name:'A'});
var A = brd.create('slider',[[2,6],[6,6],[0,3,6]],{name:'A'});
var B = brd.createElement('slider',[[2,5],[6,5],[0,3,6]],{name:'B'});
var B = brd.create('slider',[[2,5],[6,5],[0,3,6]],{name:'B'});
var delta = brd.createElement('slider',[[2,4],[6,4],[0,0,Math.PI]],{name:'δ'});  
var delta = brd.create('slider',[[2,4],[6,4],[0,0,Math.PI]],{name:'δ'});  


var c = brd.createElement('curve',[
var c = brd.create('curve',[
           function(t){return A.Value()*Math.sin(a.Value()*t+delta.Value());},
           function(t){return A.Value()*Math.sin(a.Value()*t+delta.Value());},
           function(t){return B.Value()*Math.sin(b.Value()*t);},
           function(t){return B.Value()*Math.sin(b.Value()*t);},

Revision as of 07:43, 22 July 2010

Lissajous curve (Lissajous figure or Bowditch curve) is the graph of the system of parametric equations

[math]\displaystyle{ x=A\sin(at+\delta),\quad y=B\sin(bt). }[/math]

<jsxgraph board="brd" width="600" height="500">
var brd = JXG.JSXGraph.initBoard('jxgbox',{axis:true,originX:300,originY:250,unitX:25,unitY:25});
brd.suspendUpdate();
var a = brd.create('slider',[[2,8],[6,8],[0,3,6]],{name:'a'}); 
var b = brd.create('slider',[[2,7],[6,7],[0,2,6]],{name:'b'});
var A = brd.create('slider',[[2,6],[6,6],[0,3,6]],{name:'A'});
var B = brd.create('slider',[[2,5],[6,5],[0,3,6]],{name:'B'});
var delta = brd.create('slider',[[2,4],[6,4],[0,0,Math.PI]],{name:'&delta;'}); 

var c = brd.create('curve',[
          function(t){return A.Value()*Math.sin(a.Value()*t+delta.Value());},
          function(t){return B.Value()*Math.sin(b.Value()*t);},
          0, 2*Math.PI],{strokeColor:'#aa2233',strokeWidth:3});
brd.unsuspendUpdate();
</jsxgraph>