Какие методы используются для визуализации 4-мерного Массива?

Массив (строка элементов):

[ ][ ][ ][ ][ ][ ]

2-D Массив (таблица):

[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]

Трехмерный массив:

//Imagine the above table as a cube ( a table with depth )

Как каждый визуализирует массив 4-D?

Самыми близкими я могу приехать, являются несколько кубов, таким образом, для int[,,,] [5,10,2,7] был бы куб 5, строка 10, столбец 2, слой (глубина) 7.

Я не уверен - ли это лучший способ визуализировать массив 4-D, хотя... и я не уверен, что это - лучший способ преподавать это, что... однако он действительно имеет преимущество того, чтобы быть расширяемым (строка кубы, таблица кубов, куба кубов (6-d массив)

Кубы в течение времени иначе, что я могу думать о нем.

Я на правильном пути здесь?

15
задан Armstrongest 14 May 2010 в 14:33
поделиться

9 ответов

Если вы пытаетесь отобразить вывод программы для конечных пользователей, то вы на правильном пути.

Если вы пытаетесь научить этому, я бы кратко использовал этот метод, а затем углубился в объяснение того, как компьютер хранит их все в непрерывной памяти - http://www.plantation-productions.com/Webster/www.artofasm.com/Windows/HTML/Arraysa2.html. Я думаю, это лучший способ понять это.


Оригинальная ссылка больше не работает, но я нашел ее в Архиве Интернета здесь - http://web.archive.org/web/20120410120743/http://webster.cs.ucr.edu/AoA/Windows/HTML/Arraysa2.html


Обновил первый абзац, чтобы показать обновленную ссылку, благодаря @OskensoKashi.

14
ответ дан 1 December 2019 в 00:44
поделиться

Визуализация в более чем трех измерениях не будет интуитивно понятной - как бы вы ни старались. Но вы на правильном пути - изменяющиеся во времени объекты - распространенный метод визуализации данных более высоких измерений.

Трехмерный объект может быть визуализирован с изменяющимся во времени пересечением объекта с плоскостью, когда объект движется через плоскость - например, сфера, проходящая через плоскость, отображается как круг, растущий от точки к диску с тем же радиус как сфера и снова сжимается до точки.

То же самое можно сделать с четырехмерными объектами. Они визуализируются как пересечение объекта с фиксированным трехмерным пространством, в то время как объект движется по четвертому измерению.

4
ответ дан 1 December 2019 в 00:44
поделиться

Гиперкуб! Но на самом деле, если вам нужна визуализация, предположите, что каждый блок, который вы создали из трехмерного массива, теперь имеет внутри массив. Это вроде многомерных идей теории струн.

1
ответ дан 1 December 2019 в 00:44
поделиться

Две красивые многомерные визуализации, не относящиеся к четырем измерениям, - это Параллельные координаты и Табличная линза .

1
ответ дан 1 December 2019 в 00:44
поделиться

Одна из визуализаций - это карты с одной поверхности на другую. Представьте, что ваши руки парят над разными точками стола: каждый раз, когда вы двигаете или руку, вы получаете совершенно другое значение.

1
ответ дан 1 December 2019 в 00:44
поделиться

Вот как я бы научил этому: ряд кубиков. Позиция (или номер куба) в этой строке - это 4-е измерение.

А если хотите 5-мерного, то теперь картинки столбцов и рядов - кубиков!

Для 6 измерений изобразите строки и столбцы кубов (как для 5 измерений), а теперь добавьте «слои» этих строк и столбцов.

... Для семи измерений представьте все вышеперечисленное - содержащееся в кубах в один ряд! ;)

Ага, это кубики до упора.

11
ответ дан 1 December 2019 в 00:44
поделиться

Я не могу нарисовать его здесь, но могу визуализировать его как линию (или массив) кубиков.

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

4
ответ дан 1 December 2019 в 00:44
поделиться

Это зависит от того, какие данные вы пытаетесь визуализировать. Для некоторых ситуаций, которые у меня были раньше, 2D/3D изображение + RGB цвет работали отлично. 2D изображение образует два измерения, а красный, зеленый, синий каналы цвета, который используется для окраски точки, добавляют еще 3 измерения.

Например, посмотрите на карты нормалей, используемые в разработке игр. Они визуализируют поверхность (2D) с вектором нормали в каждой точке (3D). Векторы обозначаются цветовыми компонентами x~red, y~green, z~blue, сдвинутыми на 127, чтобы можно было хранить отрицательные значения.

2
ответ дан 1 December 2019 в 00:44
поделиться

Визуализация 3-х измерений в виде кубов и 4-х измерений в виде линии кубов имеет смысл, но, как вы можете видеть, это трудно расширить. Обычно я думаю об этом как о двухмерной визуализации. Обычно это самый простой способ представить, например, как массивы хранятся в Си. Двумерный массив - это просто массив указателей на большее количество массивов или массив массивов. Такой подход также пригодится, если вы действительно вынуждены пытаться представить трехмерные данные в двухмерном формате, например, в электронной таблице. Дополнительные измерения должны быть добавлены в виде столбцов в столбцах или строк в строках.

На самом деле визуализация быстро режет глаза, но, по крайней мере, ее можно нарисовать на доске, и для добавления дополнительных измерений не требуется большого воображения.

1-мерный (массив)

[] [] [] []

2-мерный (массив массивов)

[ [] [] ]  [ [] [] ]  [ [] [] ]  [ [] [] ]

3-мерный (массив массивов массивов)

[  [ [] [] ]  [ [] [] ]  ]   [  [ [] [] ]  [ [] [] ]  ]
3
ответ дан 1 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: