Vector3D methods

by yonatan forked from some draw() benchmarks (diff: 43)
♥2 | Line 43 | Modified 2011-07-13 05:03:40 | MIT License
play

ActionScript3 source code

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

// forked from yonatan's some draw() benchmarks
// forked from yonatan's Bitmap's smoothing and bitmapData properties
package {
    import com.bit101.components.*;
    import flash.display.*;
    import flash.utils.*;
    import flash.geom.*;
    
    public class FlashTest extends TextArea {
        public function FlashTest() {
            Wonderfl.capture_delay(20);
            width=height=465/2;
            scaleX=scaleY=2;

            var a:Vector3D = new Vector3D;
            var b:Vector3D = new Vector3D(1,1,1);
            var i:int = 0;
            var n:int = 10000000;
            var t:Number = getTimer();

            for(i=0;i<n;i++) {
                a.add(b);
            }            
            text += "add: " + String(getTimer()-t);
            t = getTimer();
            a = new Vector3D;
            for(i=0;i<n;i++) {
                a.x += b.x;
                a.y += b.y;
                a.z += b.z;
            }            
            text += "\n+=: " + String(getTimer()-t);

            t = getTimer();
            for(i=0;i<n;i++) {
                a.scaleBy(1.1);
            }            
            text += "\n\nscaleBy: " + String(getTimer()-t);
            t = getTimer();
            a = new Vector3D;
            for(i=0;i<n;i++) {
                a.x *= 1.1;
                a.y *= 1.1;
                a.z *= 1.1;
            }            
            text += "\n*: " + String(getTimer()-t);
        }
    }
}