Python线面碰撞检测

Python line-plane collision detection

我需要计算出一条线段是否会与 3D 多边形的面相交(因此平面的一部分由 4 个点限定)。有什么我可以使用的众所周知的 python 库吗?如果没有,我该怎么办?

我试过查看线-平面相交方程,但它们似乎过于复杂,因为我只需要知道如果它会相交,而不是找到交点。

抱歉,如果之前有人问过这个问题!谢谢

没有比显而易见的方法更简单的方法了:

  1. 找到包含您的多边形的无限计划
  2. 确定直线与该平面相交的点
  3. 判断该点是否在多边形内

除了非常罕见的线外,所有线都会在某处与无限计划相交,所以问题不是 "does it intersect the plane",而是 "where"?

上面的每一步都会像 3D 几何问题一样简单,但仍然涉及许多 3D 数学工具(向量、矩阵等)。有很多关于如何做的描述,我建议你四处搜索一个以你熟悉的水平和符号呈现的描述。例如,对于直线(无限)平面交点,您可以查看 here.