Difference between revisions of "Fractal Polygons"
From JSXGraph Wiki
Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
A WASSERMANN (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | With turtle graphics it is quite easy to construct in a recursive manner | + | With turtle graphics it is quite easy to construct regular polygons in a recursive manner. |
It is possible to play around with this example: | It is possible to play around with this example: | ||
In the last line of the input window there is the command | In the last line of the input window there is the command | ||
<source lang="javascript"> | <source lang="javascript"> | ||
− | + | fracPolygon(5,100,0.4,5); | |
</source> | </source> | ||
The meaning of the parameters is | The meaning of the parameters is | ||
− | * 5: number of vertices of the regular | + | * 5: number of vertices of the regular polygon, |
− | * 100: length of a side of the initial | + | * 100: length of a side of the initial polygon, |
* 0.4: shrink factor from one level to the next, | * 0.4: shrink factor from one level to the next, | ||
* 5: number of recursion steps. | * 5: number of recursion steps. | ||
<html> | <html> | ||
− | |||
− | |||
<form><textarea id="inputtext" rows=3 cols=35 wrap="off" style="width:600px;"> | <form><textarea id="inputtext" rows=3 cols=35 wrap="off" style="width:600px;"> | ||
− | function | + | function fracPolygon(corner,len,shrink,recurs) { |
if (recurs>0) { | if (recurs>0) { | ||
if (arguments.length==4) { // initial call | if (arguments.length==4) { // initial call | ||
t.rt(180); | t.rt(180); | ||
− | + | fracPolygon(corner,len*shrink,shrink,recurs-1,1); | |
t.lt(180); | t.lt(180); | ||
} | } | ||
Line 27: | Line 25: | ||
for(var i=0;i<corner-1;i++) { | for(var i=0;i<corner-1;i++) { | ||
t.rt(180); | t.rt(180); | ||
− | + | fracPolygon(corner,len*shrink,shrink,recurs-1,1); | |
t.lt(180); | t.lt(180); | ||
t.fd(len); | t.fd(len); | ||
Line 38: | Line 36: | ||
t.setPos(-100,0); | t.setPos(-100,0); | ||
t.setPenColor('blue'); | t.setPenColor('blue'); | ||
− | + | fracPolygon(5,100,0.4,5); | |
</textarea><br /> | </textarea><br /> | ||
<input type="button" value="run" onClick="run()"> | <input type="button" value="run" onClick="run()"> | ||
<input type="button" value="clear" onClick="clearturtle()"> | <input type="button" value="clear" onClick="clearturtle()"> | ||
</form> | </form> | ||
− | < | + | </html> |
− | + | <jsxgraph width="600" height="400" box="box"> | |
var brd = JXG.JSXGraph.initBoard('box', {originX: 300, originY: 300, unitX: 1, unitY: 1}); | var brd = JXG.JSXGraph.initBoard('box', {originX: 300, originY: 300, unitX: 1, unitY: 1}); | ||
var t = brd.createElement('turtle'); | var t = brd.createElement('turtle'); | ||
Line 57: | Line 55: | ||
t.cs(); | t.cs(); | ||
} | } | ||
− | </ | + | </jsxgraph> |
− | |||
===References=== | ===References=== |
Revision as of 11:45, 25 March 2011
With turtle graphics it is quite easy to construct regular polygons in a recursive manner.
It is possible to play around with this example: In the last line of the input window there is the command
fracPolygon(5,100,0.4,5);
The meaning of the parameters is
- 5: number of vertices of the regular polygon,
- 100: length of a side of the initial polygon,
- 0.4: shrink factor from one level to the next,
- 5: number of recursion steps.
References
- Peter Baptist, Wolfgang Neidhardt, Alfred Wassermann: Symmetry and Regular Polygons, Prispevki k poucevanju Matematike, The Improvement of Mathematics Education in Secondary Schools: A Tempus Project, Maribor 1996.