点到线段之间的距离
2013-07-30 09:59
155 查看
double dis(node a,node b) { return sqrt(pow(a.x-b.x,2)+pow(a.y-b.y,2)); } double solve(node pa,node pb,node pc) { double sum; double b,c,d; d=dis(pa,pc); b=dis(pb,pc); c=dis(pa,pb); if(d<exp) sum=0; else if(b<exp) sum=0; else if(c<exp) sum=d; else { if(d*d>=b*b+c*c) sum=b; else if(b*b>=d*d+c*c) sum=d; else { float l=(d+b+c)/2; float s=sqrt(l*(l-d)*(l-b)*(l-c)); sum=2*s/c; } } return sum; }
点到直线的距离
double dis(node pa,node pb,node pc)
{
if(fabs(pa.x-pb.x)<exp) return fabs(pc.x-pa.x);
double k=(pa.y-pb.y)/(pa.x-pb.x);
double b=pa.y-k*pa.x;
return fabs(k*pc.x-pc.y+b)/sqrt(k*k+1);
}
相关文章推荐
- l两点之间的距离--线段类
- 湖南师大acm problem 10384 计算点到线段之间的距离
- 求两点之间的距离,类中有静变量和静态方法
- 第七周实验报告(任务二)【求两点之间的距离】
- java实例三维空间求点之间的距离。。。。
- 如果知道两点的经纬度 如何算两点之间的距离
- button中图片跟文字之间距离的设置
- 高德地图设置中心点和缩放比例,获取两点之间距离
- 自定义TextView中的文字之间设置子间距离
- poj 3304 Segments(计算直线与线段之间的关系)
- 用点乘求点到线段的距离
- 百度地图实现计算两点之间的距离
- mysql 下 计算 两点 经纬度 之间的距离
- 计算两个经纬度之间的距离
- 建立一个二维坐标系的类TwoCoor,用x、y表示坐标值,实现两坐标点的加减运算,计算两坐标点之间的距离,并重载输入输出运算符,使之能够直接输入输出坐标点的坐标值。
- Arcengine 计算两个面之间的距离
- 计算点到线段最短距离的代码
- (转)Android——高德地图设置中心点和缩放比例,获取两点之间距离
- 计算两点之间的距离
- 计算地理位置之间的距离