
isect_segments-bentley_ottmann:BentleyOttmann算法用于实现扫掠线,以查找一组线段的所有交点。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
多边形交点这一代码是Bentley-Ottmann扫掠线算法的Python3单文件实现,其目的是识别一组线段的所有交点。该实现力求具有良好的可移植性,并易于迁移至其他更底层的编程语言,例如C和C++。通过测试用例验证,该算法成功处理了来自14,880条线段的73,002个交点的所有情况。在撰写本文时,我并未发现Bentley-Ottmann扫描线算法的开源实现,且缺乏一个性能优良、易于复用或移植到不同环境的可靠参考代码。因此,我着手编写一个包含全面测试的参考实现,以弥补这一不足。现有的Java实施以及CGAL(C++)都是值得关注的。虽然严格意义上说,它们并非完全符合Bentley-Ottmann算法,但其方法论却非常相似。CGAL是一个优秀的入门介绍,并且经常被用作参考资料,它主要专注于检测多边形是否存在自相交的情况。本库的设计目标是保持其体积小巧、健壮性和可重用性,主要依赖于与编程语言无关的功能。(即使采用了类结构设计,也方便将其迁移至不使用面向对象编程范式的语言)。用法见下文 pol
全部评论 (0)
还没有任何评论哟~


