Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по компьютерной графике.doc
Скачиваний:
740
Добавлен:
17.03.2015
Размер:
17.09 Mб
Скачать

Композиция трехмерных преобразований

Путем объединения элементарных трехмерных преобразований можно получить другие преобразования. В этом разделе показано, как это сделать. Задача состоит в том, чтобы преобразовать отрезки P1P2иP1P3(рис. 2.5) из начальной позиции в конечную. ТочкаPi переносится в начало координат, P1P2 располагается вдоль отрицательной полуосиx, аP1P3помещается в плоскостиyz в той ее половине, где осьу положительна. На длины отрезков преобразование не воздействует.

Как и прежде, разобьем сложную задачу на более простые. В данном случае преобразование можно выполнить за четыре шага:

1. Перенос точки Pi в начало координат.

2. Поворот вокруг оси у до совмещенияP1P2 с плоскостьюуz.

3. Поворот вокруг оси x до совмещения P1P2 с отрицательной полуосьюZ.

4. Поворот вокруг оси z до совмещенияP1P3с плоскостьюyz.

Шаг 1. Перенос Ρ1 в начало координат:

Применение Τ кP1, Р2 иР3дает

Шаг 2. Поворот вокруг оси у. На рис. 2.5 показаны отрезкиP1P2после шага 1 и проекцияP1P2 на плоскостьxz. Поворот производится на положительный уголθ, для которого

где

Тогда

Как и ожидалось, x-компонентаР2 равна нулю.

Шаг 3. Поворот вокруг оси х. На рис. 2.6 показан отрезокP1P2

Рис. 2.5. Композиция преобразований

после шага 2. Поворот производится на отрицательный угол φ, для которого

где

Записьобозначает длинуРезультатом поворота на шаге 3 является

т. е. теперь совпадает с отрицательной полуосьюz.

Шаг 4. Поворот вокруг оси z. На рис. 2.6 показаныипосле шага 3, когдаР2'" лежит на отрицательной полуосиz, аР3'" - в точке

Поворот производится на

положительный угол , для которого Шаг 4 является последним шагом, после которого получается конечный результат, показанный на рис. 2.6. Результирующая матрица

описывает искомое преобразование, где

Рис. 2.6. Окончание композиции преобразований

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

Преобразование объектов можно описать так. Пусть любая точка, принадлежащая определенному объекту, имеет координаты (k1, k2,...,kn ) вn-мерной системе координат. Тогда преобразование объекта можно определить как изменение положения точек объекта. Новое положение точки пространства соответствует новым значениям координат (т1, т2,...,тn).

Соотношение между старыми и новыми координатами для всех точек объекта (т1, т2,...,тn)=F(k1, k2,..., kn ) и будет определять преобразование объекта, гдеF—функция преобразования.

Классифицировать преобразования объектов можно согласно типу функции преобразования и типу системы координат.

Например, преобразование объектов на плоскости можно определить так:

В трехмерном пространстве:

Преобразование как изменение систем координат

Мы рассматриваем преобразование множества точек, принадлежащих объекту, в некоторое другое множество точек, причем оба этих множества описаны в одной и той же системе координат. Таким образом, система координат остается неизменной, а сам объект преобразуется относительно начала координат до получения желаемого размера. Другим эквивалентным способом описания преобразования является смена систем координат. Такой подход оказывается полезным, когда желательно собрать вместе много объектов, каждый из которых описан в своей собственной локальной системе координат, и выразить их координаты в одной глобальной системе координат. Существует и еще один, третий подход, при котром происходит изменение глобальной системы координат по отношению к локальной системе координат объекта (см. рис.2.7).

Рис. 2.7. Преобразования как изменение системы координат

Рис. 2.8. Пример преобразования с изменением системы координат

Описание всех объектов (символов) в мировой системе координат и последующее размещение их в желаемом месте, приводит до некоторой степени к нереалистичному изображению всех символов, первоначально заданных один поверх другого в одной и той же мировой системе координат. Более естественно полагать, что каждый символ задан в своей собственной системе координат и затем промасштабирован, повернут и перенесен путем преобразования координат в новую мировую систему координат. Второй подход легко представить себе как сжатие или растяжение, поворот и позиционирование на мировой координатной плоскости отдельных листков бумаги, на каждом из которых изображен символ (или наоборот, сжатие или растяжение, поворот и перемещение плоскости относительно каждого из листков бумаги). С математической точки зрения оба подхода идентичны.

Подход, основанный на изменении систем координат, удобен в тех случаях, когда задается дополнительная информация для подобъектов в их локальных системах координат. Например, если к переднему колесу трехколесного велосипеда (рис. 2.8) приложить крутящий момент, то все его колеса повернутся. Нам необходимо определить, насколько велосипед переместится в пространстве как единое целое. Эта задача более сложная, чем та, которая связана с размещением символов, поскольку здесь требуется несколько последовательных изменений систем координат. В начальный момент системы координат велосипеда и его переднего колеса заданы относительно мировой системы координат. При движении велосипеда вперед переднее колесо поворачивается вокруг оси z системы координат колеса, и одновременно системы координат колеса и велосипеда перемещаются относительно мировой системы координат. Системы координат колеса и велосипеда связаны с мировой системой координат с помощью зависящих от времени переносов вдоль осейx и у и поворота вокруг осиу. Координатные системы велосипеда и колеса между собой связаны с помощью зависящего от времени поворота вокруг осиу, вызываемого поворотом руля. (Система координат велосипеда связана с рамой велосипеда, а не с рулем).