Как найти гиперобъем 4d аналога параллелепипеда? - PullRequest
2 голосов
/ 12 ноября 2019

Во-первых, существует ли указанный аналог?

Во-вторых, как найти его 4-мерный / гиперобъемный, учитывая 4 вектора для сторон, в идеале, используя точку, перекрестное произведение и т. Д.

В-третьих, каким будет трехмерный аналог площади поверхности? Например. 1D-длина дуги, 2D-площадь поверхности, 3D-объем, 4D -?

1 Ответ

3 голосов
/ 12 ноября 2019

То, что вы описываете, обобщается с использованием определителя.

объект 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, определяемая двумя трехмерными векторами (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):

  1. Поместите все векторы, описывающие объект, как строки (возможно, не квадратной) матрицы.
  2. Перечислить все возможные комбинации квадратных подматриц.
  3. Рассчитайте детерминант всех этих подматриц и поместите их в список (порядок не важен, если вам нужен только объем).
  4. Квадрат эти детерминанты индивидуально.
  5. Суммируйте их всех.
  6. Возьмите квадратный корень из результата.

Обратите внимание, что этот последний рецепт дает объем без знака, поскольку вы возводите квадрат в квадрат, а затем берете квадратный корень.

Последнее примечание: Очевидно, что этот ответ является скорее рецептом, чем объяснением почему все эти вычисления работают. Для получения дополнительной информации по этому вопросу я предлагаю вам взглянуть на Внешнюю алгебру , которая представляет собой формализм, использующий произведение клина (обобщение перекрестного произведения) для определения этих гипер-объемы в очень общем виде.

...