Trochoid

From JSXGraph Wiki
Revision as of 17:15, 5 February 2009 by A WASSERMANN (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The Trochoid curve (blue) and its dual curve (red). The equation of the trochoid is

[math]\displaystyle{ x = a\phi-b\sin(\phi) }[/math]
[math]\displaystyle{ y = a-b\cos(\phi) }[/math]

=Reference

The underlying JavaScript code

This is an example where jQuery is used.

<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jquery.min.js"></script>
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script>
<div id="jsxgbox" class="jxgbox" style="width:500px; height:500px;"></div>
<script language="JavaScript"> 			
 board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 25, unitY: 25});
 board.suspendUpdate();
 board.createElement('axis', [[0,0],[1,0]]);
 board.createElement('axis', [[0,0],[0,1]]);
 var a = board.createElement('slider', [[1,-1],[8,-1],[-5,1,5]], {style:6});
 var b = board.createElement('slider', [[1,-2],[8,-2],[-5,1,5]], {style:6});
 var x = function(phi) { return a.Value()*phi-b.Value()*Math.sin(phi); }
 var y = function(phi) { return a.Value()-b.Value()*Math.cos(phi); }
 var c1 = board.createElement('curve', [x,y,'phi',-Math.PI*4,Math.PI*4],{strokeWidth:3});
 
 var dualCurve = function(x,y,board) {
    var X = function(phi) { return board.D(y)(phi)/(y(phi)*board.D(x)(phi)-x(phi)*board.D(y)(phi)); }
    var Y = function(phi) { return board.D(x)(phi)/(x(phi)*board.D(y)(phi)-y(phi)*board.D(x)(phi)); }
    return [X,Y];
    }
 var dual = dualCurve(x,y,board);
 var c2 = board.createElement('curve', [dual[0],dual[1],'phi',-Math.PI*1,Math.PI*1],{strokeWidth:3, strokeColor:'red'});
 board.unsuspendUpdate();
</script>