flex点到线段的距离
发布时间:2020-12-15 04:56:55 所属栏目:百科 来源:网络整理
导读:// 计算两点之间的距离 private function lineSpace(x1:Number,y1:Number,x2:Number,y2:Number):Number { var lineLength :Number= 0; lineLength = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); return lineLength; } //点到线段距离private
// 计算两点之间的距离 private function lineSpace(x1:Number,y1:Number,x2:Number,y2:Number):Number { var lineLength :Number= 0; lineLength = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); return lineLength; } //点到线段距离 private function pointToLine(x1:Number,y2:Number,x0:Number,y0:Number):Number { var space:Number = 0; var a:Number,b:Number,c:Number; a = lineSpace(x1,y1,x2,y2);// 线段的长度 b = lineSpace(x1,x0,y0);// (x1,y1)到点的距离 c = lineSpace(x2,y2,y0);// (x2,y2)到点的距离 if (c <= 0.000001 || b <= 0.000001) { space = 0; return space; } if (a <= 0.000001) { space = b; return space; } if (c * c >= a * a + b * b) { space = b; return space; } if (b * b >= a * a + c * c) { space = c; return space; } var p:Number = (a + b + c) / 2;// 半周长 var s:Number = Math.sqrt(p * (p - a) * (p - b) * (p - c));// 海伦公式求面积 space = 2 * s / a;// 返回点到线的距离(利用三角形面积公式求高) return space; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |