📄 line2d.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 + -