Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GM_dlya_rassylki_v_gruppy_A_32_42_62_72.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
131.38 Кб
Скачать

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

Композиция это цепочка последовательных преобразований.

Особенность выполнения композиции преобразований связана с операциями преобразования относительно произвольной точки.

Сложное преобразование определим, как цепочку основных преобразований, примененных последовательно.

Пусть к объекту применяется преобразование переноса на вектор Т(tx ty), а затем преобразование поворота относительно начала координат на угол .

Выполним сначала перенос, обозначив результат через Р’=РМ(Т). Затем выполним поворот, обозначив результат через Р*, тогда

Р* = Р’ М(R()) или P* = P M(T) M(R()).

Воспользуемся свойством ассоциативности матричного умножения и выполним сначала умножение матриц М(Т) и M(R()). Результат представляет собой матрицу полного преобразования:

.

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

Пример 1. Определить матрицу преобразования, соответствующую повороту на угол  относительно точки С(хс, ус). Это преобразование можно осуществить в три этапа:

  1. преобразование переноса на (-С) для того, чтобы совместить центр поворота с началом координат (так как нам известна матрица преобразования поворота только относительно начала координат);

  2. преобразование поворота на угол  относительно начала координат;

  3. преобразование переноса на С для возвращения центра поворота в прежнее положение.

Тогда полное преобразование будет иметь вид:

Пример 2. Определить матрицу, соответствующую преобразованию гомотетии с центром С(хс, ус) и масштабом Е(ех, еу).

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

  1. преобразование переноса на (-С) для совмещения центра гомотетии с началом координат;

  2. преобразование масштаба на вектор Е;

  3. преобразование переноса на (С) для возврата центра гомотетии в прежнее положение.

Тогда Р* = Р  М(Т(-С))  М(Е)  М(Т(С)).

Базовые преобразования в трехмерной области

Лучшим способом изучения формы объекта является помещение его в трехмерное пространство и выполнение операций вращения, масштабирования и построения его проекций. Распространим результаты для плоских изображений на трёхмерные изображения. Тогда точка Р в трехмерном пространстве в ОК представится вектором || x y z 1 || или при h1 для получения обычных трехмерных координат необходимо ОК нормализовать, т.е. разделить на h.

Преобразования в пространстве выполняются, как и для плоскости, а их усложнение связано с преобразованием произвольного поворота, которое выполняется комбинацией поворотов относительно трех осей.

Как и для плоскости определим матрицы основных преобразований.

Трехмерный перенос на вектор Т=|| tx ty tz || в матричной форме запишется в виде РМ(Т), где

.

Трехмерное масштабирование на вектор Е (еx, еy, еz) определяется как Р= РМ(Е), где

Полное масштабирование относительно начала координат

Трехмерный сдвиг выполняют недиагональные элементы верхней левой подматрицы 3х3 в матрице преобразования 4х4, т.е.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]