我是靠谱客的博主 俊逸小蚂蚁,这篇文章主要介绍两直线四坐标点判断相交并求交点,现在分享给大家,希望可以做个参考。

当判定两条线段相交后,可以进行交点的求解。

bool Intersection(double x1, double y1, double x2, double y2, 
				  double x3, double y3, double x4, double y4, 
				  double& dbX, double& dbY)
{
	double a=x2-x1;
	double b=x3-x4;
	double c=y2-y1;
	double d=y3-y4;
	double g=x3-x1;
	double h=y3-y1;
	double f=a*d-b*c;  //行列式
	if(fabs(f)<1.0e-06)  // delta=0,表示两线段重合或平行:delta<=(1e-6) && delta>=-(1e-6) 
	{
		//Inverse matrix cannot be computed.
		return false;
	}
	double t=(d*g-b*h)/f;
	double s=(-c*g+a*h)/f;
	if((0>t)||(t>1))
	{
		//tow line do not intersect.
		return false;
	}
	if((0>s)||(s>1))
	{
		//tow line do not intersect.
		return false;
	}

	dbX=x1+t*(x2-x1);
	dbY=y1+t*(y2-y1);
	return true;
}


最后

以上就是俊逸小蚂蚁最近收集整理的关于两直线四坐标点判断相交并求交点的全部内容,更多相关两直线四坐标点判断相交并求交点内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(117)

评论列表共有 0 条评论

立即
投稿
返回
顶部