【问题标题】:Intersection of a line and a concave polygon 3D一条线和一个凹多边形 3D 的交点
【发布时间】:2014-06-13 14:57:36
【问题描述】:

我的问题是查找 3D 空间中的通用(凸或凹)多边形和矩形多边形是否具有非空交点。每个多边形由一组坐标轮廓点定义(如果点 p1 在点 p2 之后/之前,则边 p1-p2 存在)。

很容易找到多边形的两个平面的交线,所以问题是找到一条线和有限多边形的交点,以及得到的交点是否有共同的部分。我找到了一条线和一个凸多边形相交的算法,但是对于凹多边形的一般情况我找不到任何东西。

有什么建议吗? 谢谢

【问题讨论】:

    标签: performance algorithm computational-geometry


    【解决方案1】:

    找到平面交线与两个图形的每条边的交点。从那里,它的直接问题是查看线上点的顺序以检查是否有重叠。

    当然,它们共面的特殊情况是另一个问题..

    【讨论】:

      【解决方案2】:

      凹多边形相交/包含/等查询通常没有快速解决方案。

      一般的解决方案总是将triangulate the polygon 变成一系列凸三角形,然后用这些三角形运行你的交集测试。

      【讨论】:

        【解决方案3】:

        如果你可以依靠多边形是平面的,你可以先将直线与平面相交,然后将交点变换到平面的坐标系中。

        假设您还变换了多边形的所有顶点,那么现在的问题是确定 2D 交点是否在 2D 多边形内。

        【讨论】:

          猜你喜欢
          • 2019-12-07
          • 2018-05-01
          • 2019-10-03
          • 2013-04-29
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 1970-01-01
          相关资源
          最近更新 更多