【问题标题】:Find volume given any 20 points给定任意 20 个点求成交量
【发布时间】:2017-04-11 14:27:53
【问题描述】:

我需要提出一个数学方程式来计算给定任意 20 点的体积。我相信创建的形状将是 Pyritohedron。

我花了很多时间研究,但我不知道该怎么做。很难想象。谢谢!

【问题讨论】:

  • 你是指这20个点的凸包体积吗? 20点的体积显然只是零。
  • Rory,是的,我指的是凸包的体积。我目前正在将这 20 个点插入这个算法gist.github.com/tixxit/242402#file-hull-py-L4。我现在有了构成凸包的点。我应该如何从这里计算体积?谢谢。
  • 您链接到的算法是针对平面中点二维凸包。 3d 凸包的算法要复杂得多,我从来没有研究过。问题的困难部分是找到 20 个点的凸包的面。如果给定了该值,则可以通过将金字塔从每个面到内部任何点的体积相加来找到体积。如果你只是按随机顺序获得分数,你需要找到那些面孔。

标签: math 3d geometry


【解决方案1】:

请参阅前面的 SE 问题“How to find convex hull in a 3 dimensional space”。 一旦你有了凸包,三角形面(超过三个边的面可以划分为三角形),那么通过将四面体体积相加很容易找到体积:Fix a point x,并由x和三角面F组成一个四面体T。这在Computational Geometry in C, p.131 以及许多其他地方都有解释。这相当于 Rory Daulton 的金字塔。

【讨论】:

  • 另一种方法是使用格林函数将体积积分转换为曲面积分,并在曲面三角形上使用求积。
猜你喜欢
  • 2021-09-04
  • 2013-11-08
  • 2019-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多