flash on 2009-12-26
♥0 |
Line 44 |
Modified 2009-12-26 05:46:55 |
MIT License
archived:2017-03-20 12:31:23
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);
}
}
}
}