【问题标题】:How to calculate the cross section of a tetrahedron如何计算四面体的横截面
【发布时间】:2014-12-02 00:44:18
【问题描述】:

我有一个体积网格,它实际上是一个四面体网格。我想计算这个网格的横截面给定一个平面函数,说z = 0。我可以想象四面体的横截面是三角形或四边形。对于第一种情况,三角形,一旦我计算了 3 个交叉点,我就可以得到它;但对于第二种情况,我怎样才能让四边形变成 2 个三角形?我的问题是我无法确定四边形的对角线。

【问题讨论】:

  • 在我看来,您需要解决数学问题,而不是编码问题。

标签: computational-geometry


【解决方案1】:

将所有四面体边与平面相交。您将获得 3 或 4 个交叉点。

如果是 3 个点,则为单个三角形。

如果有 4 个点,它们形成一个凸四边形。取任意 3 个点,形成第一个三角形。另一个三角形,如果由第四个点和该点在其右侧的边的两个端点组成。

或者(对于更通用的解决方案),用边缘上入射面的索引标记交点,并重建标签环。

例如:边对于面 AB、CD、DA 和 BC 是通用的;那么这个部分就是 ABCD。

【讨论】:

    【解决方案2】:

    This answer 概述了一个通用的体平面相交算法。它将按顺序返回交点的顶点,因此很容易确定四边形的对角线。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 2011-03-14
      • 1970-01-01
      • 2018-03-20
      • 2020-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多