![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Выполнение произвольных преобразований на плоскости. Композиция преобразований
Рассмотренные нами ранее преобразования поворота выполнялись только относительно начала координат. Так же и отражение проводилось только относительно специальных осей. Как же выполнить поворот вокруг произвольной точки или отражение относительно произвольной оси? Ключевая идея состоит в приведении сложного преобразования к более простому частному случаю. Общая схема выполнения такого преобразования следующая: · С помощью преобразований переноса, поворота и масштабирования преобразовать исходную сцену так, чтобы требуемое произвольное преобразование свелось к частному случаю, решение которого известно; · Выполнить требуемое преобразование; · Применить к сцене преобразования, обратные сделанным в первом пункте, чтобы вернуть ее в исходное состояние. Рассмотрим данный подход на примере, показанном на рис 2.10. Повернем отрезок, заданный своими конечными точками P1 и P2, вокруг точки Р1 на угол 90 градусов. Как выполнить поворот объекта вокруг произвольной точки, мы не знаем. Однако нам известно как поворачивать объекты вокруг начала координат. На первом этапе преобразуем сцену так, что бы точка Р1 совпала с началом координат (в нашем случае сцена состоит только из одного объекта, но мы используем этот термин, чтобы не терять общности схемы). Для этого используем преобразование переноса, определяемое вектором, соединяющим точу Р1 с началом координат. Р’ = P*T = где Р - матрица объединяющая координатные векторы конечных точек отрезка, а Т – матрица переноса. На втором этапе выполним поворот отрезка на требуемый угол. Р’’= P’R Где R – матрица поворота на угол 90 градусов относительно начала координат. Для преобразования сцены в исходное состояние применим трансформацию переноса, обратную использованной на первом этапе. Напомним, что обратный перенос формируется вектором, имеющим длину, равную вектору прямого переноса, но противоположным по направлению. В данном примере - это вектор из начала координат в точку Р1. Получаем конечное положение отрезка. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Р’’’ = Р’’T-1 Одной из главных причин использования представления преобразования в матричной форме является возможность получать сложные матрицы путем композиции более простых матриц. Или, другими словами, мы можем получать матрицы сложных геометрических преобразований, перемножая матрицы элементарных преобразований, рассмотренных нами выше. Сведем рассмотренные преобразования в общую формулу Р’’’ = ((P*T)*R)*T-1 = P*T*R* T-1= P*M где матрица М является композицией (объединением, соединением, конкатенацией) матриц. Остановимся на свойствах композиции, в частности, на коммутативности. В общем случае произведение матриц не коммутативно. То же можно сказать о композиции геометрических преобразований. В рассмотренном примере поменяем местами матрицы преобразования переноса и поворота K = P *R*T * T-1= P*R. Таким образом, мы пришли к простому повороту относительно начала координат. А прямая и обратная матрицы переноса при умножении дали единичную матрицу, т.е. аннулировали преобразование. Геометрический смысл результата композиции показан на рис. 2.11 б. Полученные результаты преобразований не совпадают К ¹ Р’’’, следовательно, одни и те же матрицы в зависимости от порядка перемножения дают разные композиции. Кроме того, необходимо обратить внимание на порядок умножения координатного вектора на матрицы преобразования. Мы умножали вектор-строку на матрицу. В некоторых источниках встречается обратный порядок – проводится умножение матрицы преобразования на координатный вектор. Чтобы перейти к этому способу, необходимо координатный вектор представить как вектор-столбец, а матрицу преобразования транспонировать. Другим примером использования рассмотренной схемы построения композиций может служить создание преобразования отражения относительно произвольной прямой. Для перехода к частному случаю достаточно переместить прямую так, чтобы она проходила через начало координат, и повернуть ее до совпадения с одной из главных координатных осей. Рассмотренные принципы построения композиций для сложных преобразований широко используются в машинной графике. Мы вернемся к нему при решении задач отсечения, удаления невидимых линий и др.
|