将平面问题从3d转换为2d或者只是在3d空间中计算它会更好吗?

时间:2016-06-15 15:10:18

标签: geometry computational-geometry

我在3d空间中有一个随机定向的四面体。我必须在每个面上进行计算,这些计算在面平面中是完全可解的。 我的问题是: 我应该变换(不投影)面部,这样一个空间坐标是恒定的(我可以放下它)或者我应该只在3d中完成所有这些操作吗?

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

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

编辑: 澄清: 圆弧段/圆形交叉点和三角形的面积计算。 三角形内圆圈的面积与三角形重叠; 在三角形内的两个圆之间的交叉区域是什么

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

2 个答案:

答案 0 :(得分:0)

我转换为2D因为:

  1. 2D更易于使用。
  2. 2D中的面积计算甚至不需要平方根。 float triArea = abs(cross(b-a, c-a))
  3. 如果您正在使用3D工作,那么无论如何您都必须转换为2D和从2D进行转换(因为您正在处理2D对象)
  4. 2D中的计算非常容易。
  5. 无论问题是什么,将3D平面问题转换为2D总是更好。一切都变得容易了。

答案 1 :(得分:0)

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