Logarithmic spiral: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 11: Line 11:
<script language="JavaScript">
<script language="JavaScript">
  board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 25, unitY: 25});
  board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 25, unitY: 25});
  var a = board.createElement('slider', [[1,-1],[5,-1],[0,0.5,1]]);
  var a = board.createElement('slider', [[1,-1],[5,-1],[0,0.3,1]]);
  var b = board.createElement('slider', [[1,-2],[5,-2],[0,0.1,1]]);
  var b = board.createElement('slider', [[1,-2],[5,-2],[0,0.15,1]]);
  var c = board.createElement('curve', [function(phi){return a.Value()*board.pow(Math.E,b.Value()*phi); }, [0, 0],'phi',0, 8*Math.PI],
  var c = board.createElement('curve', [function(phi){return a.Value()*board.pow(Math.E,b.Value()*phi); }, [0, 0],'phi',0, 8*Math.PI],
             {curveType:'polar', strokewidth:4});         
             {curveType:'polar', strokewidth:4});         
Line 26: Line 26:
<source lang="javascript">
<source lang="javascript">
  board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 50, unitY: 50});
  board = JXG.JSXGraph.initBoard('jsxgbox', {originX: 250, originY: 250, unitX: 50, unitY: 50});
  var a = board.createElement('slider', [[1,-1],[5,-1],[0,1,4]]);
  var a = board.createElement('slider', [[1,-1],[5,-1],[0,0.3,1]]);
  var b = board.createElement('slider', [[1,-2],[5,-2],[0,0-25,4]]);
  var b = board.createElement('slider', [[1,-2],[5,-2],[0,0.15,1]]);
  var c = board.createElement('curve', [function(phi) a.Value()+b.Value()*phi; }, [0, 0],'phi',0, 8*Math.PI],
  var c = board.createElement('curve', [function(phi){return a.Value()*board.pow(Math.E,b.Value()*phi); }, [0, 0],'phi',0, 8*Math.PI],
             {curveType:'polar', strokewidth:4});         
             {curveType:'polar', strokewidth:4});         
</source>
</source>

Revision as of 17:26, 10 February 2009

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

[math]\displaystyle{ r = ae^{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,-1],[5,-1],[0,0.3,1]]);
 var b = board.createElement('slider', [[1,-2],[5,-2],[0,0.15,1]]);
 var c = board.createElement('curve', [function(phi){return a.Value()*board.pow(Math.E,b.Value()*phi); }, [0, 0],'phi',0, 8*Math.PI],
             {curveType:'polar', strokewidth:4});