Генерация изображений трехмерного массива с любой точки зрения
У меня есть 3D-массив, представляющий 3D-объект (x,y,z). Значения, хранящиеся в массиве, являются цветами RGB. Можно ли сгенерировать изображение объекта с любой заданной точки зрения?
1 ответ
Это, конечно, возможно. Ключевыми словами здесь являются преобразование и проекция, в основном вы определяете точку для каждого (3D) пикселя внутри вашего массива. Затем вы умножаете все точки на связки матриц и получаете двумерный результат.
Вот статья о том, как OpenGL выполняет свои преобразования: http://www.songho.ca/opengl/gl_projectionmatrix.html
Вы можете имитировать весь конвейер в C++ для создания растрового изображения на вашем процессоре или использовать OpenGL напрямую, что будет в тысячу раз быстрее. При использовании OpenGL вы также можете просматривать свою модель в реальном времени со всех сторон, но это, по сути, будет полноценное 3D-приложение.