Трансляция

При трансляции объекта на величины а, b и с в направлениях х, у и z соответственно по отношению в начальному положению, в котором модельная система координат совпадала с мировой (рис. 3.16), мировые координаты точек объекта в новом положении (Xw, Yw, Zw) вычисляются следующим образом:

 

Трансляция
 
В этой формуле числа Хт, Ym, Zт являются также модельными координатами точки.
Формула (3.2) может быть записана в матричной форме1:
 
 

Трансляция

 

Координаты могут быть также представлены в виде строки. Тогда матрица преобразования записывается после вектора координат. В этом случае матрица преобразования представляет собой транспонированную матрицу из формулы (3.4). В формуле (3.4) мы следуем соглашениям о записи OpenGL.

Трансляция

 

Легко убедиться, что формулы (3.4) и (3.3) эквивалентны друг другу: для этого достаточно записать (3.4) в развернутом виде. Операцию сложения в (3.3) удалось записать через умножение в (3.4) благодаря использованию однородных координат, в которых трехмерный вектор записывается через четыре скаляра вместо трех1. Матрица, которую мы получили, называется матрицей однородного преобразования (homogeneous transformation matrix). В данном случае преобразование является трансляцией. Если бы преобразование (в частности, трансляцию) нужно было применить к точке в двумерном пространстве, однородная матрица преобразования редуцировалась бы до матрицы размерностью 3x3 удалением третьей строки и третьего столбца из матрицы размерностью 4x4. Новая матрица действовала бы на вектор координат размерностью 3x1, полученный из вектора 4x1 удалением z-координаты.

 

 

Смотрите также