ベクトルのクロス積

by cpu_t
♥0 | Line 42 | Modified 2010-02-06 17:20:58 | MIT License
play

ActionScript3 source code

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

package {
	import flash.display.Graphics;
    import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Point;
	import flash.text.TextField;
    public class FlashTest extends Sprite {
		private var g:Graphics
		private var t:TextField;
        public function FlashTest() {
			addChild(t = new TextField());
			g = this.graphics;
			g.lineStyle( -1, 0x000000);
			g.moveTo(50, 100);
			g.lineTo(200, 150);
			g.lineTo(190, 150);
			g.lineTo(200, 150);
			g.lineTo(200, 140);
			var sp:Sprite = new Sprite;
			sp.x = 150;
			sp.y = 50;
			g = sp.graphics;
			g.beginFill(0x000000);
			g.drawCircle(0, 0, 5);
			addChild(sp);
			addEventListener(Event.ENTER_FRAME, function(e:Event):void {
				sp.x = mouseX;
				sp.y = mouseY;
				t.text = fnc(new Point(sp.x, sp.y));
			});
        }
		private function fnc(c:Point):String
		{
			var p1:Point = new Point(50, 100);
			var p2:Point = new Point(200, 150);
			var lv:Point = p2.subtract(p1);
			var v:Point = c.subtract(p1);
			var cross:Number = lv.x * v.y - lv.y * v.x;
			return cross.toString();
		}
    }
}