Fern (fractal): Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| (9 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
Do 100 iterations:    | |||
<html><form><input type='button' value="OK" onClick="ifs();"></form></html>  | |||
<  | <jsxgraph width="600" height="400" box="box">  | ||
         board = JXG.JSXGraph.initBoard('box', {boundingbox: [-49, 71.8, 70, -5.2]});  | |||
         var p = board.create('point', [0,0], {style:10,labelcolor:'#FFFFFF00'});  | |||
<  | |||
         board = JXG.JSXGraph.initBoard('box', {  | |||
         var p = board.  | |||
         function ifs() {  |          function ifs() {  | ||
             board.suspendUpdate();  |              board.suspendUpdate();  | ||
| Line 15: | Line 11: | ||
                 var prob = Math.random();  |                  var prob = Math.random();  | ||
                 if(prob < 0.85) {  |                  if(prob < 0.85) {  | ||
                     p = board.  |                      p = board.create('point', [0.85*x+0.04*y+0,-0.04*x+0.85*y+10.6],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else if(prob >= 0.85) if (prob < 0.92) {  |                  else if(prob >= 0.85) if (prob < 0.92) {  | ||
                     p = board.  |                      p = board.create('point', [0.2*x-0.26*y+0,0.23*x+0.22*y+10.6],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else if(prob >= 0.92) if (prob < 0.99) {  |                  else if(prob >= 0.92) if (prob < 0.99) {  | ||
                     p = board.  |                      p = board.create('point', [-0.15*x+0.28*y+0,0.26*x+0.24*y+4.4],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else {  |                  else {  | ||
                     p = board.  |                      p = board.create('point', [0*x+0*y+0,0*x+0.16*y+0],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
             }  |              }  | ||
             board.unsuspendUpdate();  |              board.unsuspendUpdate();  | ||
         }  |          }  | ||
</  | </jsxgraph>  | ||
=== References ===  | === References ===  | ||
| Line 38: | Line 37: | ||
<source lang="javascript">  | <source lang="javascript">  | ||
         board = JXG.JSXGraph.initBoard('box', {  |          board = JXG.JSXGraph.initBoard('box', {boundingbox: [-49, 71.8, 70, -5.2]});  | ||
         var p = board.  |          var p = board.create('point', [0,0], {style:10,labelcolor:'#FFFFFF00'});  | ||
         function ifs() {  |          function ifs() {  | ||
             board.suspendUpdate();  |              board.suspendUpdate();  | ||
| Line 47: | Line 46: | ||
                 var prob = Math.random();  |                  var prob = Math.random();  | ||
                 if(prob < 0.85) {  |                  if(prob < 0.85) {  | ||
                     p = board.  |                      p = board.create('point', [0.85*x+0.04*y+0,-0.04*x+0.85*y+10.6],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else if(prob >= 0.85   |                  else if(prob >= 0.85) if (prob < 0.92) {  | ||
                     p = board.  |                      p = board.create('point', [0.2*x-0.26*y+0,0.23*x+0.22*y+10.6],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else if(prob >= 0.92   |                  else if(prob >= 0.92) if (prob < 0.99) {  | ||
                     p = board.  |                      p = board.create('point', [-0.15*x+0.28*y+0,0.26*x+0.24*y+4.4],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
                 else {  |                  else {  | ||
                     p = board.  |                      p = board.create('point', [0*x+0*y+0,0*x+0.16*y+0],    | ||
                                {size:1, face:'o', withLabel:false});  | |||
                 }  |                  }  | ||
             }  |              }  | ||
Latest revision as of 11:21, 13 October 2015
Do 100 iterations:
References
The underlying JavaScript code
        board = JXG.JSXGraph.initBoard('box', {boundingbox: [-49, 71.8, 70, -5.2]});
        var p = board.create('point', [0,0], {style:10,labelcolor:'#FFFFFF00'});
        function ifs() {
            board.suspendUpdate();
            for(var i=1; i<= 100; i++) {
                var x = p.coords.usrCoords[1];
                var y = p.coords.usrCoords[2];
                var prob = Math.random();
                if(prob < 0.85) {
                    p = board.create('point', [0.85*x+0.04*y+0,-0.04*x+0.85*y+10.6], 
                                {size:1, face:'o', withLabel:false});
                }
                else if(prob >= 0.85) if (prob < 0.92) {
                    p = board.create('point', [0.2*x-0.26*y+0,0.23*x+0.22*y+10.6], 
                                {size:1, face:'o', withLabel:false});
                }
                else if(prob >= 0.92) if (prob < 0.99) {
                    p = board.create('point', [-0.15*x+0.28*y+0,0.26*x+0.24*y+4.4], 
                                {size:1, face:'o', withLabel:false});
                }
                else {
                    p = board.create('point', [0*x+0*y+0,0*x+0.16*y+0], 
                                {size:1, face:'o', withLabel:false});
                }
            }
            board.unsuspendUpdate();
        }