Задачи графических преобразований в приложениях моделирования с использованием ЭВМ
Рефераты >> Программирование и компьютеры >> Задачи графических преобразований в приложениях моделирования с использованием ЭВМ

(x y z 1)

или, более общо, на четверку

(hx hy hz), h = 0.

Каждая точка пространства (кроме начальной точки О) может быть задана четверкой одновременно не равных нулю чисел; эта четверка чисел определена однозначно с точностью до общего множителя.

Предложенный переход к новому способу задания точек дает возможность воспользоваться матричной записью и в более сложных трехмерных задачах.

Любое аффинное преобразование в трехмерном пространстве может быть представленно в виде суперпозиции вращений, растяжений, отражений и переносов. Поэтому вполне уместно сначала подробно описать матрицы именно этих преобразований (ясно, что в данном случае порядок матриц должен быть равен четырем).

А. Матрицы вращения в пространстве.

Матрица вращения вокруг оси абсцисс на угол j:

[ Rx ] =

1 0 0 0

0

(4.1)

cos j sin j 0

0 -sin j cos j 0

0 0 0 1

Матрица вращения вокруг оси ординат на угол y:

[ Ry ] =

cos y 0 -sin y 0

(4.2)

0 1 0 1

sin y 0 cos y 0

0 0 0 1

Матрица вращения вокруг оси аппикат на угол c:

[ Rz ] =

cos c sin c 0 0

-sin

(4.3)

c cos c 0 0

0 0 1 0

0 0 0 1

Полезно обратить внимание на место знака « - » в каждой из трех приведенных матриц.

Б. Матрица растяжения-сжатия:

a 0 0 0

[ D ] =

(4.4)

0 b 0 0

0 0 g 0

0 0 0 1

где

a > 0 – коэффицент растяжения (сжатия) вдоль оси абсцисс;

b > 0 – коэффицент растяжения (сжатия) вдоль оси ординат;

g > 0 – коэффицент растяжения (сжатия) вдоль оси аппликат.

В. Матрицы отражения

Матрица отражения относительно плоскости ху:

1 0 0 0

[ Mz ] =

(4.5)

0 1 0 0

0 0 -1 0

0 0 0 1

Матрица отражения относительно плоскости yz:

-1 0 0 0

[ Mx ] =

(4.6)

0 1 0 0

0 0 1 0

0 0 0 1

Матрица отражения относительно плоскости zx:

1 0 0 0

[ My ] =

(4.7)

0 -1 0 0

0 0 1 0

0 0 0 1

Г. Матрица переноса (здесь (l, m, n) - вектор переноса):

1 0 0 0