Sierpinski curve: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
No edit summary |
||
(6 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<html> | <html> | ||
<form><textarea id="inputtext" rows=10 cols=35 wrap="off" style="width:600px;"> | |||
<form><textarea id="inputtext" rows= | |||
function halfSierpinski(s,l) { | function halfSierpinski(s,l) { | ||
if (l==0) { | if (l==0) { | ||
Line 44: | Line 40: | ||
<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: [-300, 300, 300, -300]}); | ||
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 56: | Line 52: | ||
} | } | ||
function clearturtle() { | function clearturtle() { | ||
t.cs(); | t.cs(); | ||
} | } | ||
run(); | run(); | ||
</ | </jsxgraph> | ||
===References=== | ===References=== | ||
Line 108: | Line 102: | ||
[[Category:Turtle Graphics]] | [[Category:Turtle Graphics]] | ||
[[Category:Fractals]] | [[Category:Fractals]] | ||
[[Category:Curves]] |
Latest revision as of 13:34, 8 June 2011
References
The source code
function halfSierpinski(s,l) {
if (l==0) {
t.fd(s);
} else {
halfSierpinski(s,l-1);
t.lt(45);
t.fd(s*Math.sqrt(2));
t.lt(45);
halfSierpinski(s,l-1);
t.rt(90);
t.fd(s);
t.rt(90);
halfSierpinski(s,l-1);
t.lt(45);
t.fd(s*Math.sqrt(2));
t.lt(45);
halfSierpinski(s,l-1);
}
}
function sierpinski(s,l) {
halfSierpinski(s,l);
t.rt(90);
t.fd(s);
t.rt(90);
halfSierpinski(s,l);
t.rt(90);
t.fd(s);
t.rt(90);
}
t.cs();
t.ht();
level = 3;
t.setPos(0,-300);
sierpinski(150/Math.pow(2,level),level);