Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відповіді на залік.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
521.22 Кб
Скачать

46. Матричное представление преобразований в пространстве. Операция растяжения.

Любое аффинное преобразование в трехмерном пространстве, как и на плоскости, может быть представлено в виду суперпозиции базовых преобразований (вращение, растяжение, отражение, перенос и т.д.). Любое преобразование пространства можно задать матрицей 4x4 определенной структуры, разной для разных преобразований. Результат последовательного выполнения нескольких преобразований совпадает с результатом одного преобразования T, которое так же задает матрицей 4x4, вычисляемой как произведение матриц всех этих преобразований, при чем важен порядок умножения, т.к. AxB != BxA. Результат применения преобразования T к вектору [x y z] считается как результат умножения вектора [x y z 1] на матрицу T.

Растяжение, сжатие a>0. a – коэффициент растяжения (сжатия) вдоль оси абсцисс. b>0. b – коэффициент растяжения (сжатия) вдоль оси ординат. c>0. c – коэффициент растяжения (сжатия) вдоль оси аппликат.

a 0 0 0 0 b 0 0 0 0 c 0 0 0 0 1

[D] =

47. Матричные представления преобразований в пространстве

Любое аффинное преобразования в трехмерном пространстве, как и на плоскости, может быть представлено в виду суперпозиции базовых преобразований (вращение, растяжение, отражение, перенос и т.д.). Любое преобразование пространства можно задать матрицей 4x4 определенной структуры, разной для разных преобразований. Результат последовательного выполнения нескольких преобразований совпадает с результатом одного преобразования T, которое так же задает матрицей 4x4, вычисляемой как произведение матриц всех этих преобразований, при чем важен порядок умножения, т.к. AxB != BxA. Результат применения преобразования T к вектору [x y z] считается как результат умножения вектора [x y z 1] на матрицу T.

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

Такую последовательность преобразований можно записать в виде:

p

A

B

C

q

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

Если необходимо преобразовать множество точек, то операции следует реализовать в 2 этапа: сначала вычислять произведение квадратных матриц отдельных преобразований (M=ABC), а затем использовать полученную матрицу для обработки всего множества точек (q=pM).

Этот порядок реализуется в графическом конвейере:

ABC

M

q

p

Сначала вычисляется матрица произведения M, затем она загружается в ту секцию конвейера, которая выполняет преобразование. Если посчитать количество операций, то окажется, что вычисление матрицы M требует несколько большего числа операций, чем (((pA)B)C). Но затем при обработке каждой из сотен или тысяч точек требуется выполнить только одну операцию умножения матрицы строки на квадратную матрицу.

Отражение

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

1 0 0 0

0 1 0 0

0 0 -1 0

0 0 0 1

[Mz]=

-1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

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

[Mx]=

1 0 0 0

0 -1 0 0

0 0 1 0

0 0 0 1

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

[My]=