Archimedean spiral: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 1: Line 1:
<jsxgraph width="500" height="500" box="box1">
<jsxgraph width="500" height="500" box="box1">
  b1 = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 25, unitY: 25});
  b1 = JXG.JSXGraph.initBoard('box1', {originX: 250, originY: 250, unitX: 25, unitY: 25});
  var k = board.createElement('slider', [[1,8],[5,8],[0,1,4]]);
  var k = b1.createElement('slider', [[1,8],[5,8],[0,1,4]]);
  var c = board.createElement('curve', [function(phi){return Math.sqrt(k.Value()/phi); }, [0, 0],0, 8*Math.PI],
  var c = b1.createElement('curve', [function(phi){return Math.sqrt(k.Value()/phi); }, [0, 0],0, 8*Math.PI],
             {curveType:'polar', strokewidth:4});       
             {curveType:'polar', strokewidth:4});       
</jsxgraph>
</jsxgraph>

Revision as of 08:03, 18 March 2009

It can be described in polar coordinates [math]\displaystyle{ (r, \theta) }[/math] by the equation

[math]\displaystyle{ \, r=a+b\theta }[/math]

with real numbers [math]\displaystyle{ a }[/math] and [math]\displaystyle{ b }[/math].

The JavaScript code to produce this picture

<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/prototype.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>
 board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 50, unitY: 50});
 var a = board.createElement('slider', [[1,8],[5,8],[0,1,4]]);
 var b = board.createElement('slider', [[1,9],[5,9],[0,0.25,4]]);
 var c = board.createElement('curve', [function(phi){return a.Value()+b.Value()*phi; }, [0, 0],0, 8*Math.PI],
             {curveType:'polar', strokewidth:4});        
 var g = board.createElement('glider', [c]);
 var t = board.createElement('tangent', [g], {dash:2,strokeColor:'#a612a9'});
 var n = board.createElement('normal', [g], {dash:2,strokeColor:'#a612a9'});