判断线段相交

Posted thusloop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断线段相交相关的知识,希望对你有一定的参考价值。

struct point

	double x,y;
;
bool inter(point a, point b, point c, point d)

	if(min(a.x,b.x)>max(c.x,d.x)||min(a.y,b.y)>max(c.y,d.y)||min(c.x,d.x)>max(a.x,b.x)||min(c.y,d.y)>max(a.y,b.y))	
		return 0;
	double h, i, j, k;
	h=(b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x);
	i=(b.x-a.x)*(d.y-a.y)-(b.y-a.y)*(d.x-a.x);
	j=(d.x-c.x)*(a.y-c.y)-(d.y-c.y)*(a.x-c.x);
	k=(d.x-c.x)*(b.y-c.y)-(d.y-c.y)*(b.x-c.x);
	return h * i <= eps && j * k <= eps;

以上是关于判断线段相交的主要内容,如果未能解决你的问题,请参考以下文章

判断两条线段是否相交

平面中判断线段与矩形是否相交

poj1410(判断线段和矩形是否相交)

POJ 3304 Segments (叉乘判断线段相交)

判断线段和直线相交 POJ 3304

判断2个线段是否相交