码迷,mamicode.com
首页 > 其他好文 > 详细

点到线段的距离模板

时间:2016-04-30 16:54:53      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

 1 public static double PointToSegDist(double x, double y, double x1, double y1, double x2, double y2)  
 2 {  
 3 double cross = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1);  
 4 if (cross <= 0) return Math.Sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));  
 5   
 6 double d2 = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);  
 7 if (cross >= d2) return Math.Sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2));  
 8    
 9 double r = cross / d2;  
10 double px = x1 + (x2 - x1) * r;  
11 double py = y1 + (y2 - y1) * r;  
12 return Math.Sqrt((x - px) * (x - px) + (py - y1) * (py - y1));  
13 }  

来自:http://blog.csdn.net/angelazy/article/details/38489293/

点到线段的距离模板

标签:

原文地址:http://www.cnblogs.com/yuanbo123/p/5448888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!