Fractal Test - Chaos Game
♥0 |
Line 63 |
Modified 2009-07-16 17:45:14 |
MIT License
archived:2017-03-09 14:09:38
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
}