【问题标题】:Is it better to convert a planar pro-blem from 3d to 2d or just calculate it in 3d space?将平面问题从 3d 转换为 2d 还是仅在 3d 空间中计算更好?
【发布时间】:2016-06-15 15:10:18
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 这个描述不充分。离散化是什么意思?什么线和圈???
  • 还有什么面积计算?你的意思是计算人脸的面积吗? - 如果是这样,只需取侧向量叉积大小的 1/2
  • 我已经编辑了 OP。希望这足以澄清。

标签: geometry computational-geometry


【解决方案1】:

我会转换为 2D,因为:

  1. 2D 更易于使用。
  2. 2D 中的面积计算甚至不需要平方根。 float triArea = abs(cross(b-a, c-a))
  3. 如果您要在 3D 中工作,则必须在 2D 之间进行转换以进行离散化和交叉路口(因为您要处理 2D 对象)
  4. 2D 计算要容易得多。

无论是什么问题,最好将 3D 平面问题转换为 2D。一切都变得容易多了。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-07-11
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      相关资源
      最近更新 更多