加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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;  
				}  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读