7.8. Тематические задания

7.7. Резюме В данной главе мы увидели, как определять «систему просмотра» и как управлять ею в программе, чтобы пользователь мог создавать изображения того, как «выглядит» трехмерная сцена с различных точек зрения, а также «пилотировать» камеру по сцене в процессе анимации. Камера моделируется как глаз, а отображаемый объем находится в собственной системе координат камеры. Она в общих чертах напоминает «камеру-обскуру» и проецирует точки на плоскость просмотра. Точки, лежащие внутри отображаемого объема, проецируются на плоскость просмотра, а точки, лежащие вне его, отсекаются.

Значительная часть математических вычислений при процессе просмотра связана с геометрическими преобразованиями, задающими координаты точек в различных пространствах. Графический конвейер, применяемый в OpenGL и многих других системах, производит последовательность преобразований подаваемых в него вершин. Каждое преобразование включает в себя отдельные свойства камеры и механизм проецирования. Благодаря использованию однородных координат все эти преобразования могут быть осуществлены путем умножения матриц. Точки в конце концов отображаются в специальное пространство, которое идеально приспособлено для эффективного отсечения ребер; кроме того, при использовании такого пространства для любой камеры можно применять единый алгоритм отсечения.

Геометрия перспективных проекций в основном является геометрией подобия, и к счастью, в ней сохраняется «плоскостность» и «промежуточность», так что проекция всей прямой линии может быть вычислена проецированием только двух точек этой прямой. Главное преобразование, которому подвергается точка в процессе проецирования, включает в себя деление на глубину этой точки, что позволяет более удаленным объектам выглядеть меньше. Такое деление пространственных координат на общий делитель делает более удобным представление данного преобразования в однородных координатах, где четвертой координатой является этот делитель. В этом случае преобразование может быть проделано с помощью матричного умножения, за которым следует этап деления, так что геометрические подробности, отличающие одну проекцию от другой, просто определяют параметры этой матрицы.


⇐ Предыдущая| |Следующая ⇒