Turtle snow fall: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				No edit summary  | 
				||
| (2 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 18: | Line 16: | ||
function snowflake(size, level) {  | function snowflake(size, level) {  | ||
     for (var i=0;i<3) {  |      for (var i=0; i<3; i++) {  | ||
         side(size, level);  |          side(size, level);  | ||
         t.rt(120);  |          t.rt(120);  | ||
| Line 43: | 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 = 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();  | ||
| Line 59: | Line 58: | ||
}  | }  | ||
run();  | run();  | ||
</  | </jsxgraph>  | ||
===References===  | ===References===  | ||
| Line 82: | Line 80: | ||
function snowflake(size, level) {  | function snowflake(size, level) {  | ||
     for (var i=0;i<3) {  |      for (var i=0; i<3; i++) {  | ||
         side(size, level);  |          side(size, level);  | ||
         t.rt(120);  |          t.rt(120);  | ||
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();