算法题。已知两个平行四边形各自的四个点,求这两个平行四边形是否有交集!用代码如何实现?

算法题。已知两个平行四边形各自的四个点,求这两个平行四边形是否有交集!用代码如何实现?

2个回答

如果两个平行四边形相交,那么一个四边形中必然有一个顶点位于令一个四边形的内部。
而判断一个点P是否在一个平行四边形ABCD的内部,只需判断"角APB"+"角BPC"+"角CPD"+"角DPA"是否等于360度。

blueany
无情猫 我想说的是,两个四边形交叉形成一个十字,好像没有顶点位于另一个四边形内。
大约 4 年之前 回复
ZhihengTao
ZhihengTao 计算角度有点复杂,或许可以考虑判断点在两对平行线之间。判断点位于一对平行线之间(一条线上,一条线下):将点代入一对平行线方程,判断L1(x,y)*L2(x,y)<=0。
4 年多之前 回复
LLR104
LLR104 回复倾绝: 厉害啊
4 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 看错了。
4 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 反例,第二个比第一个大。第一个在第二个里面
4 年多之前 回复

计算角度有点复杂,或许可以考虑判断点在两对平行线之间。判断点位于一对平行线之间(一条线上,一条线下):将点代入一对平行线方程,判断L1(x,y)*L2(x,y)<=0。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问