- Преобразования объектов

□ Разработка инструментальных средств для преобразования одного изображения в другое.

□ Знакомство с основными концепциями аффинных преобразований, осуществляющих повороты, масштабирования и сдвиги в различных сочетаниях.

□ Разработка функций, использующих аффинные преобразования объектов в компьютерных программах.

□ Разработка инструментов для преобразования координатных фреймов.

□ Демонстрация установки камеры для визуализации трехмерной сцены с использованием OpenGL.

□ Разработка сцен с помощью Scene Design language (SDL) - языка проектирования сцен, и написание программ, способных читать SDL-файлы и рисовать описанные в них сцены.

Минус на минус дает плюс, и причина этого не обсуждается.

В.Х.Оден (W.H.Auden)

«Если я съем пирожок, - подумала она, - обязательно что-нибудь случится с моим ростом…» Она проглотила один пирожок и с радостью заметила, что росту в ней поубавилось.

Льюис Кэрролл (Lewis Carroll) Алиса в стране чудес

(пер. Н.Демуровой)

Множество ярких мозаичных стен и полов в Альхамбре (Испания) доказывает нам, что мавры были великие мастера в заполнении плоскостей одинаковыми фигурами, прилегающими друг к другу без зазоров. Как жаль, что их религия запрещает им рисовать картины!

М. К. Эшер (М. С. Escher)

Главная цель настоящей главы - разработка технологий для работы с особенно мощным семейством преобразований - аффинными преобразованиями (affine transformations) - как с карандашом в руках, так и в компьютерной программе, как с использованием, так и без использования OpenGL. В разделе 5.1 «Введение» доказывается необходимость применения в компьютерной графике двумерных и трехмерных

Преобразования объектов

аффинных преобразований, а также даются некоторые основные определения. В разделе 5.2 «Введение в преобразования» даются определения двумерных аффинных преобразований, в частности, в терминах матриц. Для облегчения понимания того, какие объекты подвергаются изменениям и каким образом, используется понятие координатных фреймов. Кроме того, в этом разделе показано, как элементарные аффинные преобразования могут производить масштабирование, поворот, перенос и сдвиг. В подразделе 5.2.5 «Композиция афинных преобразований» показано, что можно комбинировать сколько угодно аффинных преобразований и в результате получить другое аффинное преобразование, также описываемое матрицей. В подразделе 5.2.7 «Некоторые полезные свойства афинных преобразований» рассматриваются ключевые свойства всех аффинных преобразований - особенно важно, что после этих преобразований сохраняются прямые линии, плоскости и параллельность, - и показывается, почему такие преобразования столь распространены в компьютерной графике.


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