无论是凸的四边形,还是凹的四边形这个有两种情况,
需要你计算每一个四边形中的每条线段其所在直线与另外一个四边形所在直线的交点,
1,完全包含,被包含四边形四条边的直线的交点会完全在大的四边形上面。
2,部分重叠,这时候交点会在两个四边形的边上。
3,完全分离,没有交点或者交点在其中一个四边形的边上。
整个算法只包含两个关键部分:
1,计算4条线段所在直线的交点,最多共4x4=16对交点,这个属于2元1次方程有一个简单的公式。可搜索“直线交点”。
2,计算交点是否在某条边上,可直接代入直线方程,搜索“判断点在直线上或线段上”
这大概是我能想到最简单易明的方法了,有问题找我Q:3617 28654
如果只有四个点,那需要先判断这四个点组成的是怎么样的四边形,或者能否组成四边形。
具体算法可联系我。
四边形有交集则,一定是其中一个四边形四个点中的一个或多个在另一个四边形里面,你只要获取四边形的四个点位置,根据坐标判断下是否在另一个四边形里面就可以了。两个都要判断下。是麻烦了点,当抛砖引玉吧
这个光给2组,4个点,还不能确定四边形的形状到底怎么样,同样的四个点根据连接顺序的不同可能构成多个不同形状的四边形,- -
@家里蹲: 你可以获得那些数据啊?只有四个点的坐标吗?
如果只给出四个点,很难判断,如果是给出多个点就好说了,一个点有x,y坐标,就就成了 判断两个数组是否有交集的问题了