gpt4 book ai didi

python - 如何测试Python中一条线是否与任意数量的其他未知线相交?

转载 作者:行者123 更新时间:2023-12-01 05:31:13 24 4
gpt4 key购买 nike

我想测试一个点是否在多边形内部,为此我使用 ray-casting algorithm ,我从该点发送一条线到屏幕的原点,并测试它有多少个交叉点(如果它有奇数个交叉点,则该点位于多边形内部,否则位于多边形外部)。问题在于计算射线是否相交。通过了解屏幕上每条线段的起点和终点坐标并计算与这些线的交点是计算交点的唯一方法吗?或者还有其他方法(无论其复杂程度如何)?

如果这是查找线交点的唯一方法,那么计算交点的最快方法是什么?

有时屏幕上可能有大约 500 条线,所有这些线都需要检查是否发生冲突。实时测试与所有这些线路的碰撞的算法会给系统带来多大的负担?

最佳答案

您可能想使用Shapely包裹。 manual记录了一个名为 contains() 的方法(向下滚动到“二元谓词”部分),它似乎满足您的需求。

关于性能考虑因素,请参阅手册部分:“性能”和“准备的几何图形”。

关于python - 如何测试Python中一条线是否与任意数量的其他未知线相交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20255177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com