2014-11-24 238 views
0

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

+1

在我看来,你需要解决一个数学问题,而不是一个编码问题。 – mhawke 2014-11-24 12:43:52

回答

0

在平面上相交所有四面体边。你会得到3或4个交点。

如果3点,那么一个三角形。

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

或者(对于更一般的解决方案),使用入射到边上的面的索引标记交点并重建标签环。例如:边AB,CD,DA和BC共用;那么该部分是ABCD。

0

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