Turtle snow fall: Difference between revisions

From JSXGraph Wiki
(New page: <html> <link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" /> <script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/pro...)
No edit summary
 
(21 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" />
<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;">
<form><textarea id="inputtext" rows=3 cols=35 wrap="off" style="width:600px;">
function side(size, level) {
function side(size, level) {
Line 20: Line 16:


function snowflake(size, level) {
function snowflake(size, level) {
     (3).times(function() {
     for (var i=0; i<3; i++) {
         side(size, level);
         side(size, level);
         t.rt(120);
         t.rt(120);
     });
     }
}
}
function snow() {
  counter++;
  if (counter>500) {
      counter = 0;
      t.cs();
  }
  t.setPos(Math.random()*600-300,Math.random()*600-300);
  snowflake(50*Math.random(),Math.floor(Math.random()*4));
  active = setTimeout(snow,200);
}
t.setPenColor('#ffff00');


t.ht();
counter = 0;
snow();
          
          
</textarea><br />
</textarea><br />
Line 31: Line 41:
<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});
document.getElementById('box').style.backgroundColor = 'black';
var t = new JSXTurtleObj(brd);
var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-300, 300, 300, -300]});
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 43: Line 54:
}
}
function clearturtle() {
function clearturtle() {
  clearTimeout(active);
   t.cs();
   t.cs();
}
}
run();
run();
</script>
</jsxgraph>
</html>


===References===
===References===
* [http://www.mathcurve.com/fractals/koch/koch.shtml http://www.mathcurve.com/fractals/koch/koch.shtml]
* [http://www.mathcurve.com/fractals/koch/koch.shtml http://www.mathcurve.com/fractals/koch/koch.shtml]


===The source code===
<source lang="javascript">
function side(size, level) {
    if (level==0) {
        t.fd(size);
    } else {
        side(size/3, level-1);
        t.lt(60);
        side(size/3, level-1);
        t.rt(120);
        side(size/3, level-1);
        t.lt(60);
        side(size/3, level-1);
    }
}
function snowflake(size, level) {
    for (var i=0; i<3; i++) {
        side(size, level);
        t.rt(120);
    }
}
t.ht();
function snow() {
  counter++;
  if (counter>500) {
      counter = 0;
      t.cs();
  }
  t.setPos(Math.random()*600-300,Math.random()*600-300);
  snowflake(30*Math.random(),Math.floor(Math.random()*4));
  active = setTimeout(snow,200);
}
t.setPenColor('#ffff00');
counter = 0;
snow();</source>


[[Category:Examples]]
[[Category:Examples]]
[[Category:Turtle Graphics]]
[[Category:Turtle Graphics]]
[[Category:Fractals]]
[[Category:Fractals]]

Latest revision as of 07:40, 9 June 2011


References

The source code

function side(size, level) {
    if (level==0) {
        t.fd(size);
    } else {
        side(size/3, level-1);
        t.lt(60);
        side(size/3, level-1);
        t.rt(120);
        side(size/3, level-1);
        t.lt(60);
        side(size/3, level-1);
    }
}

function snowflake(size, level) {
    for (var i=0; i<3; i++) {
        side(size, level);
        t.rt(120);
    }
}
t.ht();
function snow() {
   counter++;
   if (counter>500) {
      counter = 0;
      t.cs();
   }
   t.setPos(Math.random()*600-300,Math.random()*600-300);
   snowflake(30*Math.random(),Math.floor(Math.random()*4));
   active = setTimeout(snow,200);
}
t.setPenColor('#ffff00');
counter = 0;
snow();