Difference between revisions of "Fractal Polygons"
From JSXGraph Wiki
Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
|||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | 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 | ||
+ | <source lang="javascript"> | ||
+ | fracPolygon(5,100,0.4,5); | ||
+ | </source> | ||
+ | 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. | ||
+ | |||
<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 ( | + | 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 17: | 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 28: | 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="600" box="box"> | |
− | var brd = JXG.JSXGraph.initBoard('box', { | + | var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-250, 250, 250, -250]}); |
− | var t = | + | var t = brd.create('turtle'); |
function run() { | function run() { | ||
brd.suspendUpdate(); | brd.suspendUpdate(); | ||
− | var code = | + | var code = document.getElementById('inputtext').value; |
if (code=='') { return; } | if (code=='') { return; } | ||
eval(code); | eval(code); | ||
Line 47: | Line 55: | ||
t.cs(); | t.cs(); | ||
} | } | ||
− | </ | + | </jsxgraph> |
− | |||
===References=== | ===References=== | ||
− | * Peter Baptist, Wolfgang Neidhardt, Alfred Wassermann:'' Symmetry and Regular Polygons'', | + | * 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. |
− | Prispevki k poucevanju Matematike, The Improvement of Mathematics Education in Secondary Schools: A Tempus Project, Maribor 1996 | ||
[[Category:Examples]] | [[Category:Examples]] | ||
+ | [[Category:Turtle Graphics]] | ||
+ | [[Category:Fractals]] |
Latest revision as of 11:28, 31 January 2013
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.