3.2. Вращения

Рассмотрим сначала преобразование поворота в плоскости Oxy на угол J вокруг точки (x0,y0). Переходя к полярным координатам с центром в (x0,y0), запишем                x-x0=rcosf, y-y0=rsinf, где r — расстояние между точками (x,y) и (x0,y0), а f — некоторый угол. После поворота на угол J точка (x,y) перейдет в точку `x=x0+rcos(f+J), `y=y0+rsin(f+J). Отсюда

`x=x0+(x-x0)cosJ-(y-y0)sinJ,

`y=y0+(x-x0)sinJ +(y-y0)cosJ.

В частности, при x0=0, y0=0 вектор (x,y) умножается на матрицу

При J=p/2 получаем

Пусть теперь задана декартова система координат в трехмерном пространстве. Требуется вычислить коэффициенты матрицы вращения вокруг единичного вектора u на угол J. Рассмотрим произвольную точку, имеющую радиус-вектор r. Проекция вектора r на ось, проходящую через вектор u, не изменится после поворота, значит, если r’ — образ вектора r, то (r×u)u=(r’×u)u. Проекция на перпендикулярную вектору u плоскость равна r-(r×u)u. Выберем в плоскости, перпендикулярной вектору u, произвольную декартову систему координат, заданную с помощью пары ортогональных единичных векторов u1 и u2. Пусть вектор r-(r×u)u в этой системе координат имеет координаты (x,y). Тогда r-(r×u)u=xu1+yu2. После поворота на угол J вектор r перейдет в такой вектор r’, что

r’-(r×u)u=(xcosJ-ysinJ)u1+(xsinJ+ycosJ)u2=cosJ (xu1+yu2)+sinJ (-yu1+xu2).

Вектор -yu1+xu2 получается из вектора xu1+yu2 поворотом на угол p/2 вокруг оси u, поэтому

-yu1+xu2=u´(xu1+yu2)=u´(r-(r×u)u)=u´r.

Следовательно,

r’=(r×u)u+cosJ(r-(r×u)u)+sinJ(u´r).

Учитывая, что в матричной форме (r×u)u=(uTr)u=u(uTr)=uuTr, где uT — матрица, состоящая из одной строки (ux,uy,uz),

получаем матрицу вращения вокруг вектора u=(ux,uy,uz). Пусть Id — единичная матрица. Тогда матрица вращения будет равна

Если перейти к другой системе координат, то преобразование вращения в новой системе координат изменится. Более того, при переходе к координатам в пространстве изображения для центральной проекции вращение уже не будет линейным преобразованием. Пусть координаты вектора v=(x,y,z) выражаются через новые координаты v’=(x’,y’,z’) как v=S(v’). Рассмотрим произвольное преобразование F:R3®R3. Тогда если w=F(v) и w’ – новые координаты точки w, то S(w’)=F(S(v’)). Если преобразование S замены координат имеет обратное преобразование S-1, то w’=S-1°F°S(v’). (Здесь ‘°‘ обозначает композицию преобразований). В частности, для того чтобы получить координаты точки в пространстве изображения, надо применить к этой точке сначала преобразование, обратное к видовому, затем полученные координаты помножить на матрицу вращения и далее применить видовое преобразование. (Видовое преобразование было описано в пп. 3.1.)