2

首先,是否存在上述类似物?

其次,如何在给定 4 个边向量的情况下找到它的 4d 体积/超体积,理想情况下使用点、叉积等。

第三,表面积的 3D 模拟是什么?例如。1D-弧长、2D-表面积、3D-体积、4D-?

4

1 回答 1

4

您所描述的内容是使用行列式概括的。

嵌入在 nD 空间中的 nD 对象

对于使用所有维度的对象,例如 2D 中的平行四边形或 3D 中的平行六面体,将n定义(超)平行六面体边的向量作为矩阵的行并计算行列式:

2D       3D          4D             5D
|x1 y1|  |x1 y1 z1|  |x1 y1 z1 w1|  (Repeat the same pattern)
|x1 y2|  |x2 y2 z2|  |x2 y2 z2 w2|
         |x3 y3 z3|  |x3 y3 z3 w3|
                     |x4 y4 z4 w4|

请注意,获得的(超)体积是有符号的,具体取决于向量的方向。因此,可能有负体积。

(n-1)D 对象嵌入到 nD 空间中

对于使用比其所在空间少一维的对象,例如 3D 空间中的平行四边形,您可以使用叉积(从行列式派生)或叉积的推广。例如,嵌入在 3D 中的平行四边形的面积由两个 3D 向量定义,(x1,y1,z1)(x2,y2,z2)根据包含两个向量作为行的矩阵计算得出:

[x1 y1 z1]
[x2 y2 z2]

从这个矩阵中,简单地创建 2x2 子矩阵的所有组合,计算每个矩阵的行列式,并将它们放入一个向量中

[|y1 z1|, |z1 x1|, |x1 y1|] = (y1*z2-z1*y1, z1*x2-x1*z2, x1*y2-y1*x2)
[|y2 z2|  |z2 x2|  |x2 y2|]

你得到一个向量,这个向量的长度是平行四边形的面积:sqrt((y1*z2-z1*y1)^2 + (z1*x2-x1*z2)^2 + (x1*y2-y1*x2)^2)

(几乎)终极概括

从最后一个示例中,我们可以创建一个适用于嵌入任何维度的任何对象的通用配方(是的,您可以计算嵌入 17D 空间中的 3D 平行六面体的体积):

  1. 将描述对象的所有向量作为(可能是非正方形)矩阵的行。
  2. 枚举所有可能的平方子矩阵组合。
  3. 计算所有这些子矩阵的行列式并将它们放在一个列表中(如果你想要的只是数量,那么顺序并不重要)。
  4. 分别对这些行列式进行平方。
  5. 把它们加起来。
  6. 取结果的平方根。

请注意,最后一个配方给出了无符号体积,因为您先平方然后取平方根。

最后一点:显然,这个答案更像是一个秘诀,而不是解释为什么所有这些计算都有效。有关此主题的更多信息,我建议您查看Exterior Algebra,这是一种使用楔积(叉积的推广)以非常一般的方式定义这些超体积的形式。

于 2019-11-12T03:18:51.463 回答