Turtle snow fall: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				No edit summary  | 
				||
| (10 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
<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 side(size, level) {  | function side(size, level) {  | ||
| Line 20: | Line 16: | ||
function snowflake(size, level) {  | function snowflake(size, level) {  | ||
     (3  |      for (var i=0; i<3; i++) {  | ||
         side(size, level);  |          side(size, level);  | ||
         t.rt(120);  |          t.rt(120);  | ||
     }  |      }  | ||
}  | }  | ||
function snow() {  | function snow() {  | ||
   counter++;  | |||
   if (counter>500) {  | |||
      counter = 0;  | |||
      t.cs();  | |||
   }  | |||
    t.setPos(Math.random()*600-300,Math.random()*600-300);  |     t.setPos(Math.random()*600-300,Math.random()*600-300);  | ||
    snowflake(  |     snowflake(50*Math.random(),Math.floor(Math.random()*4));  | ||
    active = setTimeout(snow,  |     active = setTimeout(snow,200);  | ||
}  | }  | ||
t.  | t.setPenColor('#ffff00');  | ||
t.ht();  | |||
counter = 0;  | |||
snow();  | snow();  | ||
| Line 38: | Line 41: | ||
<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', {  | document.getElementById('box').style.backgroundColor = 'black';  | ||
var t =   | 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 =   |    var code = document.getElementById('inputtext').value;  | ||
   if (code=='') { return; }  |    if (code=='') { return; }  | ||
   eval(code);  |    eval(code);  | ||
| Line 54: | Line 58: | ||
}  | }  | ||
run();  | run();  | ||
</  | </jsxgraph>  | ||
===References===  | ===References===  | ||
| Line 77: | Line 80: | ||
function snowflake(size, level) {  | function snowflake(size, level) {  | ||
     (3  |      for (var i=0; i<3; i++) {  | ||
         side(size, level);  |          side(size, level);  | ||
         t.rt(120);  |          t.rt(120);  | ||
     }  |      }  | ||
}  | }  | ||
t.ht();  | t.ht();  | ||
function snow() {  | function snow() {  | ||
   counter++;  | |||
   if (counter>500) {  | |||
      counter = 0;  | |||
      t.cs();  | |||
   }  | |||
    t.setPos(Math.random()*600-300,Math.random()*600-300);  |     t.setPos(Math.random()*600-300,Math.random()*600-300);  | ||
    snowflake(30*Math.random(),Math.floor(Math.random()*4));  |     snowflake(30*Math.random(),Math.floor(Math.random()*4));  | ||
    active = setTimeout(snow,  |     active = setTimeout(snow,200);  | ||
}  | }  | ||
t.setPenColor('#ffff00');  | |||
counter = 0;  | |||
snow();</source>  | snow();</source>  | ||
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();