【问题标题】:Calculating surface area from 3d data points从 3d 数据点计算表面积
【发布时间】:2013-06-10 10:05:28
【问题描述】:

我是 python 新手。

我有 3d 数据点,例如 x 范围从 (118 到 123),y 范围从 (0 到 10),z 范围从 (-4 到 4)。

那么使用这些数据点,如何使用 python 计算表面积(Axyz)。

感谢任何帮助。

【问题讨论】:

  • 根据您给出的内容,答案可能会有所不同。您是否给出了坐标范围(应该定义某种立方体),简单的答案:) 还是它是定义任意表面的一组点?这将需要一些多边形化并且可能很复杂。
  • @Icfseth。它制作任意曲面。我已经创建了曲面并对其进行了网格划分。在此之后如何计算该网格的表面积。
  • 网格是一组多边形,通常是三角形(取决于 3D 引擎)。计算每个三角形表面然后将它们相加是要走的路。最困难的部分是从点集生成多边形。

标签: python area geometry-surface


【解决方案1】:

如果您知道如何以数学方式计算表面,给定高度、宽度和深度,您所需要做的就是从元组中提取这些参数 - 使用元组解包:

x_from, x_to = (118, 123)
y_from, y_to = (0, 10)
z_from, z_to = (-4, 4)

现在

height = y_to - y_from

等等

【讨论】:

  • 如果它是一个立方体,计算它的表面(不是体积)的公式是 xy*2 + xz*2 + z*y*2 这是总和在 6 个表面中,每个 2 个位于 3D 空间的不同平面上。
  • @Elazar 你能帮我找出由这些 3d 数据点形成的表面的方程吗!
  • @Elazar 但在我的情况下它不是立方体。
  • 所以你的问题不清楚。你有任意一组点(x,y,z)吗?如果是这样,这是一项艰巨的任务。
猜你喜欢
  • 1970-01-01
  • 2012-09-07
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 2013-06-12
  • 2014-04-26
  • 2018-12-24
相关资源
最近更新 更多