flash on 2009-10-10
♥0 |
Line 49 |
Modified 2009-10-10 11:27:10 |
MIT License
archived:2017-03-30 04:48:15
ActionScript3 source code
/**
* Copyright uwi ( http://wonderfl.net/user/uwi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ibZC
*/
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.utils.getTimer;
public class Test extends Sprite {
private var _tf : TextField;
public function Test() {
_tf = new TextField();
_tf.width = 465;
_tf.height = 465;
addChild(_tf);
var s : int = getTimer();
var xx : Number = 10 + Math.random() - 0.5;
var xy : Number = Math.random() - 0.5;
var vx : Number = -1;
var vy : Number = Math.random() - 0.5;
var omega : Number = Math.random();
var r : Number = Math.random() * 10;
for(var t : int = 0;t < 100;t++){
tr(t,
f(xx, xy, vx, vy, omega, r, t),
df(xx, xy, vx, vy, omega, r, t)
);
}
var g : int = getTimer();
tr((g - s) + " ms");
}
private function f(xx : Number, xy : Number, vx : Number, vy : Number, r : Number, omega : Number, t : Number) : Number
{
var xxx : Number = xx + vx * t - r * Math.cos(2 * omega * t);
var yyy : Number = xy + vy * t - r * Math.sin(2 * omega * t);
return xxx * xxx + yyy * yyy;
}
private function df(xx : Number, xy : Number, vx : Number, vy : Number, r : Number, omega : Number, t : Number) : Number
{
var s : Number = Math.sin(2 * omega * t);
var c : Number = Math.cos(2 * omega * t);
return 2 * t * (vx * vx + vy * vy) +
2 * (xx * vx + xy * vy) +
4 * omega * r * (xx * s - xy * c) +
-vx * t * r * (-2 * omega * s + c) +
-vy * t * r * (2 * omega * c + s);
}
private function tr(...o : Array) : void
{
_tf.appendText(o.join('\t') + "\n");
}
}
}