Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 курс Компьютерная Графика / Литература / Учебное пособие по КГГ для ИДО4.doc
Скачиваний:
199
Добавлен:
15.04.2015
Размер:
3.49 Mб
Скачать
      1. Двумерное вращение вокруг произвольной оси

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

.

Выполнив две операции умножения матриц, можно записать

Предположим, что центр изображения имеет координаты (4, 3) и желательно повернуть изображение на 90°против часовой стрелки вокруг центральной его оси. Действие, выполненное с помощью матрицы

,

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

.

Затем следует применить матрицу вращения и, наконец, привести результаты к началу координат посредством обратной матрицы. Вся операция

может быть объединена в одну матричную операцию путем вы­полнения матричных преобразований вида

.

В результате будет получено х* =Х/Ниу* =Y/H.Двумерные вращения около каждой оси ортогональной системы представ­лены на рис. 3 .31.

Рис. 3.31. Вращение:a —вокруг осих; бвокруг оси y;ввокруг оси z

    1. Трехмерные преобразования и проекции

Рассмотрим трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90против часовой стрелки будет переводить одну полуось в другую. На основе этого соглашения строится следующая таблица, которую можно использовать как для правых, так и для левых систем координат:

Если ось вращения

Положительным будет направление поворота

X

От y к z

Y

От z к x

Z

От x к y

Рис. 3.32. Трехмерная система координат

Аналогично тому, как точка на плоскости описывается вектором (x,y), точка в трехмерном пространстве описывается вектором (x,y,z).

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

[x,y,x,1] или [X,Y,Z,H]

[x*,y*,z*1] = [], гдеН1,Н0.

Обобщенная матрица преобразования 44 для трехмерных однородных координат имеет вид

Т=

Эта матрица может быть представлена в виде четырех отдельных частей:

.

  • Матрица 33 осуществляет линейное1преобразование в виде изменения масштаба, сдвига и вращения.

  • Матрица 13 производит перенос.

  • Матрица 31- преобразования в перспективе.

  • Скалярный элемент 11 выполняет общее изменение масштаба.

Рассмотрим воздействие матрицы 44 на однородный вектор [x,y,z,1]:

1.Трехмерный перенос– является простым расширением двумерного:

T(Dx,Dy,Dz)=,

т. е. [x,y,z,1]*T(Dx,Dy,Dz)=[x+Dx,y+Dy,z+Dz,1].

Соседние файлы в папке Литература