Sierpinski curve: Difference between revisions
From JSXGraph Wiki
| A WASSERMANN (talk | contribs) No edit summary | No edit summary | ||
| (7 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 100: | Line 94: | ||
| t.cs(); | t.cs(); | ||
| t.ht(); | t.ht(); | ||
| level = 3; | |||
| t.setPos(0,-300); | t.setPos(0,-300); | ||
| sierpinski(150/Math.pow(2, | sierpinski(150/Math.pow(2,level),level); | ||
| </source> | </source> | ||
| 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);
