Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Композиции двумерных преобразований
Но обычно при работе с графической системой объект подвергается сразу нескольким преобразованиям. Для получения желаемого результата используют композицию преобразований, объединяя матрицы . К точке более эффективно применять одно результирующее преобразование, чем ряд преобразований последовательно. Рассмотрим, например, поворот объекта относительно некоторой точки . До этого был рассмотрен поворот относительно начала координат. Для решения этой задачи разобьем ее на три части (три элементарных преобразования): · Перенос точки в начало координат), . · Поворот, .
Рис. 2.5
· Перенос точки из начала координат в начальную позицию, . Результирующее преобразование имеет вид:
,
или:
Этот пример хорошо иллюстрирует, как применение однородных координат упрощает задачу. Аналогично, если надо промасштабировать объект относительно точки , а не начала координат, то надо: · Перенести точку в начало координат, . · Масштабировать, . · Перенести точку назад, . Результат имеет вид:
Если надо промаштабировать, повернуть и расположить в нужном месте домик, (центром поворота и масштабирования является точка ), то необходимо выполнить: · Перенос точки в начало координат, . · Масштабирование, . · Поворот, . · Перенос точки из начала координат назад, . В структуре данных, в которой содержится это преобразование, могут находиться масштабный коэффициент , угол поворота и координаты . Но может быть и записана матрица результирующего преобразования:
.
|