⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 line2d.as

📁 著名的flash 3d引擎 away 3d的源代码
💻 AS
字号:
package away3d.core.draw{    /** Line in 2D space */    public class Line2D    {        public var a:Number;            public var b:Number;            public var c:Number;        public function Line2D(a:Number, b:Number, c:Number)        {            this.a = a;            this.b = b;            this.c = c;        }        public static function from2points(v0:ScreenVertex, v1:ScreenVertex):Line2D        {            var a:Number = v1.y - v0.y;            var b:Number = v0.x - v1.x;            var c:Number = -(b*v0.y + a*v0.x);            return new Line2D(a, b, c);        }        public static function cross(u:Line2D, v:Line2D):ScreenVertex        {            var det:Number = u.a*v.b - u.b*v.a;            var xd:Number = u.b*v.c - u.c*v.b;            var yd:Number = v.a*u.c - u.a*v.c;            return new ScreenVertex(xd / det, yd / det, 0);        }        public function sideV(v:ScreenVertex):Number        {            return a*v.x + b*v.y + c;        }        public function side(x:Number, y:Number):Number        {            return a*x + b*y + c;        }        public function distance(v:ScreenVertex):Number        {            return sideV(v) / Math.sqrt(a*a + b*b);        }        public function toString():String        {            return "line{ a: "+a+" b: "+b+" c:"+c+" }";        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -