Нисходящее проецирование воображаемой сетки 4D на экран

11

В качестве умственного упражнения я пытаюсь представить проекцию произвольной 4D-сетки на экран (2D).

Я предполагаю, что один 4D треугольник будет по-прежнему состоять только из 3 точек, однако каждая из этих 3 точек будет определяться столбцом с 4 измерениями.

Будет ли более разумным определить матрицу проекции, чтобы сначала отобразить 4D-пространство в 3D-пространство, а затем позволить OpenGL выполнить собственную проекцию из этих данных в 2D-пространство?

Или было бы лучше просто планировать проецирование с 4 до 2 напрямую?

Большое спасибо.

bitcruncher
источник
Интересно, есть ли контекст разработки игр?
AttackingHobo
это пока только исследовательский, но в конечном итоге, да.
bitcruncher
Пока вы не добавите какой-то контекст разработки игр, я буду голосовать за закрытие темы.
AttackingHobo
В качестве примечания отметим, что однородные координаты , с которыми работают графические API, представляют собой особый вид четырехмерного пространства, в котором все точки на линии, проходящей через начало координат, считаются одной и той же точкой в ​​3D. То есть <kx, ky, kz, k> - это одна и та же точка <x, y, z> для всех k.
Ларс Виклунд
4 оси вращения? Ты прикалываешься, да?
SUBB

Ответы:

7

Многомерное обобщение треугольника - это N-симплекс , вот видео проекции такого объекта. Вот еще одно интересное видео о 4D гиперкубе.

Эта вики- страница является хорошей отправной точкой, если вы хотите узнать больше о четвертом измерении и о том, как визуализировать такие объекты. Он также связывает вики-страницу со списком 4D-игр .

Относительно вашего вопроса о проекции: эта статья объясняет математику ортогональных и перспективных матриц проекции для более высоких измерений. Еще одна замечательная статья Стивена Ричарда Холлаша « Визуализация четырехмерных объектов в четырех пространствах». В частности, параграф «4.1: Обзор высокого уровня 4D-2D-проекции» подробно отвечает на ваш вопрос о проекции и поставляется с исходным кодом.

Наконец, вот N-мерный рендер, использующий OpenGL, с полным исходным кодом.

Майк Земдер
источник
Я не уверен, почему вы относитесь к такому треугольнику. Так же, как трехмерная сетка содержит треугольник (в отличие от тетраэдров), так и четырехмерная сетка может содержать двухмерные фигуры, подобные треугольнику.
Микаэль Осман
@Mikael, просто из-за умственного упражнения вопроса было бы более интересно использовать 4D-обобщение 2D-треугольника, «вращение такого объекта выглядит потрясающе. Однако вы правы, можно использовать простой треугольник в 4D пространстве.
Майк Земдер
Спасибо за очень тщательный ответ. На самом деле, что было самым захватывающим было огромное количество игр / проектов на месте с начала 90 - х годов.
bitcruncher