Fractal Test - Chaos Game

by kto12
♥0 | Line 63 | Modified 2009-07-16 17:45:14 | MIT License
play

ActionScript3 source code

/**
 * Copyright kto12 ( http://wonderfl.net/user/kto12 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/9UhU
 */

package 
{
    import flash.display.Sprite;
    [SWF(frameRate="30", backgroundColor="#000000")]
    public class FractalTest1 extends Sprite {
        
        private var iter:int = 3000;
        private var transf:int = 3;
        private var weightArr:Array = [5, 5, 0];
        private var oldX:Number = 300;
        private var oldY:Number = 300;
        private var scale:int = 300;
        
        public function FractalTest1():void 
        {
	    var id:int;
            trace("start");
            for (var i:int = 0; i < iter; i++) 
	    {
                //using weighted probabilities
                if((Math.random() * weightArr[0]) < 1)
                {
                    id = 0;
                }
                else if((Math.random() * weightArr[1]) < 1)
                {
                    id = 1;
                }
                else
                {
                    id = 2
                }
		drawPt(id);
	    }
            
        }//end of constructor
        
        //drawing fns
        private function drawPt(tfid:int):void 
	{
	    var newX:Number = 0;
	    var newY:Number = 0; 
	    switch (tfid) 
	    {
	        case 0:
		    graphics.beginFill(0xFF0000);
		    newX = 0.5 * oldX;
		    newY = 0.5 * oldY;
		break;
		case 1:
		    graphics.beginFill(0x00FF00);
		    newX = 0.5 * (oldX + scale);
		    newY = 0.5 * oldY;
		break;
		case 2:
                    graphics.beginFill(0x0000FF);
		    newX = 0.5 * oldX;
		    newY = 0.5 * (oldY + scale);
		break;
		default:
		break;
	    }
	    oldX = newX;
	    oldY = newY;
	    trace(tfid, "pt", oldX, oldY);
	    graphics.drawCircle(oldX, oldY, 1);
	}
    }//end of class
}

Forked