2022-09-17 乐帮网
数学 几何
判断自相交有以下解决方案:
简单、缓慢、低内存占用:将每个段与所有其他段进行比较并检查交叉点。 复杂度 O(n2)。
稍快,中等内存占用(上面的修改版本):将边缘存储在空间“桶”中,然后在每个桶的基础上执行上述算法。 m 个桶的复杂度 O(n2 / m)(假设均匀分布)。
快速和高内存占用:使用空间散列函数将边分割成桶。 检查碰撞。 复杂度 O(n)。
快速且低内存占用:使用扫描线算法,例如此处(或此处)描述的算法。 复杂度 O(n log n)
最后一个是我最喜欢的,因为它具有良好的速度 - 内存平衡,尤其是 Bentley-Ottmann 算法。 实现也不是太复杂。
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力