Difference between revisions of "Fern (fractal)"

From JSXGraph Wiki
Jump to navigationJump to search
Line 31: Line 31:
 
</script>
 
</script>
 
</html>
 
</html>
 +
 +
=== References ===
 +
* [http://en.wikipedia.org/wiki/Iterated_function_system http://en.wikipedia.org/wiki/Iterated_function_system]
 +
 +
=== The underlying JavaScript code ===
  
 
<source lang="javascript">
 
<source lang="javascript">

Revision as of 14:36, 15 December 2008

Do 100 iterations:

References

The underlying JavaScript code

        board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 490, unitX: 5, unitY: 5});
        var p = board.createElement('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.createElement('point', [0.85*x+0.04*y+0,-0.04*x+0.85*y+10.6], {style:10,labelcolor:'#FFFFFF00'});
                }
                else if(prob >= 0.85 && prob < 0.92) {
                    p = board.createElement('point', [0.2*x-0.26*y+0,0.23*x+0.22*y+10.6], {style:10,labelcolor:'#FFFFFF00'});
                }
                else if(prob >= 0.92 && prob < 0.99) {
                    p = board.createElement('point', [-0.15*x+0.28*y+0,0.26*x+0.24*y+4.4], {style:10,labelcolor:'#FFFFFF00'});
                }
                else {
                    p = board.createElement('point', [0*x+0*y+0,0*x+0.16*y+0], {style:10,labelcolor:'#FFFFFF00'});
                }
            }
            board.unsuspendUpdate();
        }