3D 中笛卡尔盒子与多边形的交点

问题描述 投票:0回答:1

我正在寻找一种 C++ 中的方法和/或库来检查凸多边形(由 3D 中的 4 个或更多点定义)是否与一个或多个笛卡尔框(由 xmin、xmax、ymin、ymax、zmin 和 zmax 定义)相交.

上下文:我有一个笛卡尔网格(有限元),我需要检查哪些框被任意多边形交叉。

我相信如果我找到一个函数/算法来计算 3D 中两个多边形的交集,问题就解决了。我可以单独检查每个盒子的面。

我研究了OpenCV intersectConvexConvex,但它似乎不能处理3D多边形(具有平面点但在3D空间中的多边形)。

有什么建议吗?

c++ opencv geometry
1个回答
0
投票

3D 空间中的多边形定义一个平面。

找到该平面与所有盒子的交点。如果有交集,也将是凸多边形,因此问题就简化为 2D 多边形与多边形的交集。

© www.soinside.com 2019 - 2024. All rights reserved.