将平面问题从 3d 转换为 2d 还是仅在 3d space 中计算更好?

Is it better to convert a planar pro-blem from 3d to 2d or just calculate it in 3d space?

我有一个随机定向的 3d-space 四面体。我必须对每张脸进行计算,这在面平面上是完全可以解决的。 我的问题是: 我应该变换(而不是投影)面部以使一个空间坐标保持不变(并且我可以放弃它)还是应该只在 3d 中进行所有这些操作?

请在计算速度方面给出答案。

将执行的操作是:
*面积计算
*面部的离散化
*直线和圆的交点

编辑: 说明: 圆段/圆交点和三角形的面积计算。 三角形内的圆有多少面积与三角形重叠; 三角形内两个圆的交点面积是多少

离散化的意思是,我将三角形放在一个矩形中,并用 N \approx 200 点填充它。然后我找到三角形内的点并将它们用于进一步计算。

我会转换为 2D,因为:

  1. 2D 更容易处理。
  2. 二维面积计算甚至不需要平方根。 float triArea = abs(cross(b-a, c-a))
  3. 如果您在 3D 中工作,则无论如何都必须在 2D 之间来回转换以进行离散化和交叉传递(因为您要处理 2D 对象)
  4. 二维计算明显更容易。

无论是什么问题,将 3D 平面问题转换为 2D 总是更好。一切都变得简单多了。

如果您只对几个对象执行这些操作几次,那么在 3D 中执行操作会更快,因为您将有开销将对象从 3D 转换为 2D 并将计算结果从 2D 转换回到 3D。但是,如果您需要多次执行这些操作,那么与您在 2D 中操作所节省的时间相比,这些开销将变得相对较小。