Difference between revisions of "Sierpinski curve"

From JSXGraph Wiki
Jump to navigationJump to search
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
<html>
 
<html>
<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
+
<form><textarea id="inputtext" rows=10 cols=35 wrap="off" style="width:600px;">
<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>
 
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxturtle.js"></script>
 
<form><textarea id="inputtext" rows=3 cols=35 wrap="off" style="width:600px;">
 
 
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>
<div id="box" class="jxgbox" style="width:600px; height:600px;"></div>
+
</html>
<script language="JavaScript">
+
<jsxgraph width="600" height="600" box="box">
var brd = JXG.JSXGraph.initBoard('box', {originX: 300, originY: 300, unitX: 1, unitY: 1});
+
var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-300, 300, 300, -300]});
var t = new JSXTurtleObj(brd);
+
var t = brd.create('turtle');
 
function run() {
 
function run() {
 
   brd.suspendUpdate();
 
   brd.suspendUpdate();
   var code = $('inputtext').value;
+
   var code = document.getElementById('inputtext').value;
 
   if (code=='') { return; }
 
   if (code=='') { return; }
 
   eval(code);
 
   eval(code);
Line 56: Line 52:
 
}
 
}
 
function clearturtle() {
 
function clearturtle() {
  clearTimeout(active);
 
 
   t.cs();
 
   t.cs();
 
}
 
}
 
run();
 
run();
</script>
+
</jsxgraph>
</html>
 
  
 
===References===
 
===References===
Line 108: Line 102:
 
[[Category:Turtle Graphics]]
 
[[Category:Turtle Graphics]]
 
[[Category:Fractals]]
 
[[Category:Fractals]]
 +
[[Category:Curves]]

Latest revision as of 15: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);