点到线段最短距离(非垂距)(ptolinesegdist).txt

来自「vc++中的点和直线之间的各种几何算法...对c++初学者或者ACM编程者有很大」· 文本 代码 · 共 19 行

TXT
19
字号
/* 求点p到线段l的最短距离,并返回线段上距该点最近的点np 
注意:np是线段l上到点p最近的点,不一定是垂足 */ 

double ptolinesegdist(POINT p,LINESEG l,POINT &np) 
{ 
	double r=relation(p,l); 
	if(r<0) 
	{ 
		np=l.s; 
		return dist(p,l.s); 
	} 
	if(r>1) 
	{ 
		np=l.e; 
		return dist(p,l.e); 
	} 
	np=perpendicular(p,l); 
	return dist(p,np); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?