【问题标题】:calculate intersection area of two triangle计算两个三角形的交点面积
【发布时间】:2015-07-29 19:49:30
【问题描述】:

我一直试图找到一种算法来计算两个三角形的相交面积,但我没有找到。谁能提供一个线索如何编写这个算法?

我想要类似的东西:

  double getAreaOfIntersection(Vector2 p1,Vector2 p2, Vector2 p3,Vector2 p4,Vector2 p5,Vector2 p6 )

其中 pX 代表 2 个三角形。

【问题讨论】:

    标签: algorithm math geometry computational-geometry


    【解决方案1】:

    您可以先通过裁剪算法计算描述交叉区域的多边形,例如:

    Sutherland-Hodgman algorithm

    然后您将计算得到的凸多边形的面积,这很容易,例如,请参见:

    Area of a Convex Polygon

    【讨论】:

      【解决方案2】:

      确定一个点是否位于给定的多边形内很容易(对于三角形来说更容易,因为它们是简单多边形)。您可以使用已实现并很好解释here 的缠绕数算法(以及简单多边形的交叉数算法)。

      使用它,您可以获得相交多边形的所有顶点:

      您需要遍历边缘以找到所有交点,因此只要您只想确定三角形的交点,这应该足够快,但我不建议尝试以这种方式找到任意多边形的交点.

      【讨论】:

        猜你喜欢
        • 2010-10-07
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2023-03-24
        • 1970-01-01
        • 2014-05-03
        • 2011-03-05
        • 2017-11-21
        相关资源
        最近更新 更多