forked from: Chaos Game
forked from Chaos Game (diff: 22)
Nやwtの値を変えると違う模様ができる。 例えば、N=3,wt=0.5のとき、シェルピンスキーの三角形。 ChaosGameは前に作りましたが、今度はBitmapというものをを使ってみた。 [SWF(width="400",height="400",backgroundColor="#ffffff")]
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);
}
}
}
