algorithm - 给定方向上两个凹多边形之间的交点

标签 algorithm 3d computational-geometry

输入:两个 3d 凹多边形AB,单位向量d。在时间 t = 0 时没有多边形相交。预计方向 d 不会经常改变,因此需要一些预处理阶段。

问题:确定两个凹多边形AB是否可以在方向d上相交,在某些情况下时间t。换句话说:如果我们沿给定方向d移动一个多边形,它会与另一个多边形相交吗?

输出: 1 - 存在交集,0 - 否则。

最佳答案

首先你应该找到垂直于向量d的平面。

Plane

对于这两个 3d 多边形,您应该计算该平面上的投影。 然后,如果投影重叠,则 3d 多边形将在某个时间 t 相交。

现在你有更简单的问题:检查两个二维非凸多边形是否相交。 您可以通过简单地迭代每对边并检查它们是否相交来完成此操作。

关于algorithm - 给定方向上两个凹多边形之间的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903753/

相关文章:

c# - 我如何重现这种 3D 效果

java - 如何在 JavaFx 8 中将鼠标坐标转换为本地 SubScene

python - 查找 map 上一条线下方的所有点

java - 检查投影到线段上的点是否不在线段之外

geometry - 可处理圆锥弧段的计算几何算法

java - 斐波那契算法中的计数加法

java - 力扣 : Partition array according to a pivot

algorithm - 渐进式连通分量标记

3d - Open GL ES/WebGL 中是否有 glPolygonMode 的替代品?

algorithm - c中的并行读/写文件