Скачиваний:
13
Добавлен:
05.04.2013
Размер:
21.17 Кб
Скачать

Двумерные преобразования - 1.4. Поворот A.l:link { text-decoration: none; font-size: 8pt; color: 666666; } A.l:hover { text-decoration: none; font-size: 8pt; color: 666666; } A.l:active { text-decoration: none; font-size: 8pt; color: 666666; } A.l:visited { text-decoration: none; font-size: 8pt; color: 666666; } A.std:link { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:hover { text-decoration: none; font-size: 11pt; font-weight: bold; color: 7F0000; } A.std:active { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:visited { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.li:link { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:hover { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:active { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:visited { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.lil:link { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:hover { text-decoration: none; font-size: 11pt; color: 7F0000; } A.lil:active { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:visited { text-decoration: none; font-size: 11pt; color: 666666; } Алгоритмические

основы Математические

основы Flash 5 CorelDraw 10 3D Studio Max3 [программа] [тесты] [лабораторные] [вопросы] [литература]

1. Двумерные преобразования

1.4. Поворот Рассмотрим треугольник ABC (рис.1.2) и с помощью следующего преобразования повернем его на 90° против часовой стрелки относительно начала координат [T] =   0   1

-1   0  Если использовать матрицу (3 х 2), состоящую из координат x и y вершин треугольника, то можно записать 3  -1

4   1

2   1     0   1

-1   0  =  3  -1

4   1

2   1 что является координатами результирующего треугольника A*B*C*. Поворот нв 180° относительно начала координат достигается путем следующего преобразования [T] =   -1   0

  0  -1  а на 270° относительно начала координат - преобразованием [T] =    0  -1

 1   0  Разумеется, что матрица тождественного преобразования [T] =    1   0

 0   1  соответствует повороту вокруг начала координат на 0° или на 360°. Как осуществить поворот вокруг точки начала координат на произвольный угол θ? Для ответа на этот вопрос рассмотрим вектор положения от начала координат до точки Р (рис. 1.3). Обозначим r - длину вектора, а φ - угол между вектором и осью х. Вектор положения поворачивается вокруг начала координат на угол θ и попадает в точку Р*. Записав векторы положений для Р и Р*, получаем: Р = [х   у] = [r cosφ   r sinφ] и Р* = [x*   у*] = [r соs(θ + φ)   r sin(θ + φ]. Используя формулу для cos суммы углов, перепишем выражение для Р* следующим образом Р* = [x*   у*] = [r(cosφcosθ - sinφsinθ)   r(соsφsinθ + sinφcosθ)].

Используя определения х и у, можно переписать Р* как Р* = [x*   у*] = [x cosθ - y sinθ   x sinθ + y cosθ]. Таким образом, преобразованная точка имеет координаты x* = x cosθ - y sinθ

y* = x sinθ + y cosθ. Или в матричном виде [X*] = [X][T] = [x*   y*] = [x   y]   cosθ   sinθ 

-sinθ   cosθ Итак, преобразование поворота вокруг точки начала координат на произвольный угол θ задается матрицей [T] =    cosθ   sinθ 

-sinθ   cosθ назад | содержание | вперед © ОСУ АВТФ

Соседние файлы в папке exilim