flash on 2009-12-26

by shapevent
♥0 | Line 44 | Modified 2009-12-26 05:46:55 | MIT License
play

ActionScript3 source code

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

package {

	import flash.display.*;
	import flash.events.*;


	[SWF(width = 600, height = 600)]

       public class Test extends MovieClip {
		private var a:Number;
		private var b:Number;
		private var xn1:Number;
		private var yn1:Number;
		private var xn:Number;
		private var yn:Number;
		private var scale:Number;
		private var iterations:Number;
		private var canvas:BitmapData;


               public function Test(){
                  // init
			a = 0.02;
			b = .9998;
			xn1 = 5;
			yn1 = 0;
			xn, yn;
			scale = 10;
			iterations = 20000;
			
			canvas = Bitmap(addChild(new Bitmap(new BitmapData(600,600,false,0xEFEFEF)))).bitmapData;
			addEventListener(Event.ENTER_FRAME, onLoop);
			

               }
               // private methods

		private function f(x:Number):Number{
			var x2:Number = x * x;
			return a * x + (2 * (1 - a) * x2) / (1 + x2);
		}
		private function onLoop(evt:Event):void {
			canvas.fillRect(canvas.rect, 0xEFEFEF);
			a = mouseY / 1000;
			xn1 = mouseX / 30;
			yn1 = 0;
			for (var i:int = 0; i<iterations; i++){
				  xn = xn1;
				  yn = yn1;
				  xn1 = b * yn + f(xn);
				  yn1 =  -xn + f(xn1);
				  canvas.setPixel( 280 + xn1 * scale, 300 + yn1 * scale, 0x000000);
			}
		}
		

       }

}