forked from: Chaos Game

by Zahurdias.Calimero forked from Chaos Game (diff: 22)
Nやwtの値を変えると違う模様ができる。 
例えば、N=3,wt=0.5のとき、シェルピンスキーの三角形。
ChaosGameは前に作りましたが、今度はBitmapというものをを使ってみた。
[SWF(width="400",height="400",backgroundColor="#ffffff")]
♥0 | Line 33 | Modified 2012-12-01 10:54:06 | MIT License
play

ActionScript3 source code

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

// forked from takuya1021's Chaos Game
 //Nやwtの値を変えると違う模様ができる。 
//例えば、N=3,wt=0.5のとき、シェルピンスキーの三角形。
//ChaosGameは前に作りましたが、今度はBitmapというものをを使ってみた。
package { 
    import flash.display.*; 
    import flash.text.TextField;
    import flash.utils.*; 
        
    //[SWF(width="400",height="400",backgroundColor="#ffffff")] 
    public class ChaosGame extends Sprite { 
        private const N:Number = 5; 
        private const wt:Number = 0.6; 
        private var textField:TextField = new TextField();
        //private var bmp_data : BitmapData = new BitmapData( 400, 400, true, 0xFF000000);
        private var bmp_data : BitmapData = new BitmapData( 400, 400, true);
        private var bitmap : Bitmap = new Bitmap(bmp_data);
        private var startTime:int;
        private var timeElapsed:int;        

        
        public function ChaosGame() { 
            // write as3 code here...

            addChild(bitmap);
            addChild(textField);
            bitmap.x=25;            
            bitmap.y=25;
            
            var x:Number = 1; 
            var y:Number = 0; 

            startTime = flash.utils.getTimer();
            
            for(var i:int = 0;i<50000;i++){ 
                var a:int = Math.random()*N >> 0; 
                var vx:Number = Math.cos(a*2*Math.PI/N); 
                var vy:Number = Math.sin(a*2*Math.PI/N); 
                x = x + (vx - x) * wt; 
                y = y + (vy - y) * wt; 
                bmp_data.setPixel(x*200+200,y*200+200,0x000000); 
            }
            timeElapsed = flash.utils.getTimer() - startTime;
            textField.text=String(timeElapsed);
        } 
    } 
}

Forked