求两个任意简单多边形交点算法

IID 2002-09-25 04:17:43
我按《计算几何》上的算法(扫描线算法)写了程序,可有些情况下的交点求不到,我也找不到规律。那位朋友写过此类算法,请指点。
...全文
343 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
IID 2002-09-26
  • 打赏
  • 举报
回复
TO: zhoukun666( )过一阵给分,你的算法具有可行性,我也想过此类算法http://www.csdn.net/expert/topic/972/972899.xml?temp=.6672785 可以解决,但扫描线算法效率比较高。我先考虑此算法,实在不行再用你的算法
TO:aliceZOOZ(alice) 可思路好象没错,举了一个简单的例子就是求不到交点,你具体实现过吗
zhoukun666 2002-09-25
  • 打赏
  • 举报
回复
判断两个多边形的所有边是否相交。

简单一点可以用双重循环。

就是判断线段和线段是否相交,可以用矢量叉乘
1求出多边性在x,y轴上的投影范围
2根据投影范围比较(x,y结合起来。对于图形之间又包含的需另作判断),可判断图形的位置情况
要分别查一个多边形的每一个边是否和另一多边形的每一个边是否交。
但求交不能单靠检查矢量叉乘。因为我们考察的线段,而不是无穷长的理想直线,因此,矢量叉乘<>0,有可能线段不相交,例如下面的2个图形


* *
* * **
* * * *
********** * *
* *
**
*
左边的每一个边与右边的所有边作为直线都相交,而作为线段都不相交。

3。要查线段与线段的相交,必须进一步检查作为无穷长直线的交点是否落在线段上。这一工作,通常利用直线的参数方程形式表示时是较方便的。

http://www.csdn.net/expert/topic/972/972899.xml?temp=.6672785
aliceZOOZ 2002-09-25
  • 打赏
  • 举报
回复
那是你写错了

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧