返回信息流RT,二维空间中任意方向的两个矩形,如何判断相交?考虑十字交叉、包含的情况
已知:两个矩形的坐标。
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #88794同步于 2016/1/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
一道陈年老题,判断两矩形是否相交?
Jack1434
2016/1/20镜像同步45 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
得先会判断一个点是否在一个矩形内
然后判断其中一个矩形是否存在顶点在另一个矩形内(两个矩形相互都要判断)
如果其中一个矩形的顶点全都在另一个矩形内,则包含
如果其中一个矩形的顶点全都不在另一个矩形内,则不相交
否则,香蕉。
不知道对不对。。。
与其查找矩形内的点 还不如找相交点 判断是否在矩形的一边上,所提方案效率不高啊
【 在 xingqitian 的大作中提到: 】
: 得先会判断一个点是否在一个矩形内
: 然后判断其中一个矩形是否存在顶点在另一个矩形内(两个矩形相互都要判断)
: 如果其中一个矩形的顶点全都在另一个矩形内,则包含
: ...................
判断一个点是否在矩形内,如果是常数时间的话,那判断两个矩形的关系,还是常数时间吧。
找相交点的话,您还得判断线段的相交关系。在所有线段都不相交的情况下,两个矩形可能包含,可能完全不相交,怎么判断呢?
【 在 Jack1434 的大作中提到: 】
: 与其查找矩形内的点 还不如找相交点 判断是否在矩形的一边上,所提方案效率不高啊
包含关系可以先通过四个点来判断
【 在 xingqitian 的大作中提到: 】
: 判断一个点是否在矩形内,如果是常数时间的话,那判断两个矩形的关系,还是常数时间吧。
: 找相交点的话,您还得判断线段的相交关系。在所有线段都不相交的情况下,两个矩形可能包含,可能完全不相交,怎么判断呢?
:
具体怎么计算是否包含呢? 计算其中一个矩形的4个点是否都在另一个矩形内?
【 在 Jack1434 的大作中提到: 】
: 包含关系可以先通过四个点来判断