首页 新闻 会员 周边

怎么判断平面内两个不规则的四边形是否有交集

0
悬赏园豆:100 [已解决问题] 解决于 2012-10-26 17:17

是不规则的四边形,不是一定是长方形,给出一个算法,或者公式最好了

家里蹲的主页 家里蹲 | 初学一级 | 园豆:112
提问于:2012-10-26 16:36
< >
分享
最佳答案
-1

无论是凸的四边形,还是凹的四边形这个有两种情况,

需要你计算每一个四边形中的每条线段其所在直线与另外一个四边形所在直线的交点,

1,完全包含,被包含四边形四条边的直线的交点会完全在大的四边形上面。

2,部分重叠,这时候交点会在两个四边形的边上。

3,完全分离,没有交点或者交点在其中一个四边形的边上。

整个算法只包含两个关键部分:

1,计算4条线段所在直线的交点,最多共4x4=16对交点,这个属于2元1次方程有一个简单的公式。可搜索“直线交点”。

2,计算交点是否在某条边上,可直接代入直线方程,搜索“判断点在直线上或线段上”

这大概是我能想到最简单易明的方法了,有问题找我Q:3617 28654

如果只有四个点,那需要先判断这四个点组成的是怎么样的四边形,或者能否组成四边形。

具体算法可联系我。

收获园豆:70
彩虹堂 | 菜鸟二级 |园豆:274 | 2012-10-26 17:07
其他回答(2)
0

四边形有交集则,一定是其中一个四边形四个点中的一个或多个在另一个四边形里面,你只要获取四边形的四个点位置,根据坐标判断下是否在另一个四边形里面就可以了。两个都要判断下。是麻烦了点,当抛砖引玉吧

收获园豆:15
学学学习 | 园豆:427 (菜鸟二级) | 2012-10-26 16:43

这个光给2组,4个点,还不能确定四边形的形状到底怎么样,同样的四个点根据连接顺序的不同可能构成多个不同形状的四边形,- -

支持(0) 反对(0) 家里蹲 | 园豆:112 (初学一级) | 2012-10-26 16:54

@家里蹲: 你可以获得那些数据啊?只有四个点的坐标吗?

支持(0) 反对(0) 学学学习 | 园豆:427 (菜鸟二级) | 2012-10-26 17:08
0

如果只给出四个点,很难判断,如果是给出多个点就好说了,一个点有x,y坐标,就就成了 判断两个数组是否有交集的问题了 

收获园豆:15
架构师修行之路 | 园豆:322 (菜鸟二级) | 2012-10-26 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册