Генерация изображений трехмерного массива с любой точки зрения

У меня есть 3D-массив, представляющий 3D-объект (x,y,z). Значения, хранящиеся в массиве, являются цветами RGB. Можно ли сгенерировать изображение объекта с любой заданной точки зрения?

1 ответ

Решение

Это, конечно, возможно. Ключевыми словами здесь являются преобразование и проекция, в основном вы определяете точку для каждого (3D) пикселя внутри вашего массива. Затем вы умножаете все точки на связки матриц и получаете двумерный результат.

Вот статья о том, как OpenGL выполняет свои преобразования: http://www.songho.ca/opengl/gl_projectionmatrix.html

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

Другие вопросы по тегам