2011-08-08 3 views
34

Знаете ли вы о какой-либо, активно развитой библиотеке C/C++, которая может взять кучу (желательно большое количество) 4D-вершин, проецировать их обратно в 3D-пространство относительно какой-то произвольной «4D-камеры» «матрица проекции и выходные регулярные 3D-вершины, которые я мог бы использовать в OpenGL для аппаратной ускоренной визуализации? Мне также понадобилась возможность выполнять стандартные преобразования в пространстве 4D (перевод, вращение по всем 4 осям и равномерное масштабирование).Визуализация 4D объектов в OpenGL

+4

Похоже, вам нужно будет quintonions осуществить ротацию ;-) (Хороший вопрос!) –

+1

Мне просто нужно спросить: для чего вы это используете? – Beta

+0

Не является ли основной проблемой здесь, что они, как вы проецируете 4D-формы в 3D-пространство, довольно произвольно? Например, нет стандартного способа сделать это, ergo нет стандартной реализации библиотеки для этого? –

ответ

6

Следующая является плохим ответом (так как я не являюсь отнюдь не специалист по этой теме), но я решил взять быстрый быстрый взгляд вокруг и придумал этот тезис: http://steve.hollasch.net/thesis/#chapter4

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

+0

Спасибо. Я наткнулся на одну или две аналогичные статьи и одну очень устаревшую библиотеку для проецирования 4D-вершин в 3D-пространство, но я надеялся на активно разработанный проект. Так что пока я собираюсь оставить этот вопрос открытым. Если я его не найду, я откажусь от себя. – MasterM

+2

@MasterM: Если вы что-то придумали, пожалуйста, напишите, что вы узнаете (или, возможно, то, что вы делаете!) В качестве ответа. Мне бы хотелось увидеть, что вы придумали. – greyfade

+0

@MasterM, восторженный второй по просьбе greyfade. Этот вопрос определенно является новым фаворитом. Рассмотрим стереограммы как способ повышения трехмерного смысла. –

4

Профессор Эндрю Хэнсон (Университет Индианы) разработал графическую библиотеку для визуализации геометрии 4D. Это называется GL4D. Он призван имитировать ощущение OpenGL (хотя я не уверен, действительно ли он построен поверх OpenGL). Он ускорен GPU. Он поддерживает проецирование, нарезку, удаление скрытой поверхности, освещение в потоке и полупрозрачное затенение.

Вот издание, которое объясняет GL4D: GL4D paper

Вот ссылка на исходный код: GL4D Source Code

А вот видео демонстрация GL4D: GL4D Video Demonstration

Смежные вопросы