- •3.Геометрические преобразования в пространстве
- •3.1.Основные геометрические преобразования
- •3.2.Получение сложных геометрических преобразований
- •Матрицы суммарных преобразований имеют вид
- •Для соблюдения условия (3.3) необходимо, чтобы
- •Для соблюдения условия (3.4) необходимо, чтобы
- •Полагая, что и не равны 0, получаем следующее выражение для величины угла
- •Уравнение плоскости в этом случае имеет вид
- •Координаты тетраэдра при принятых допущениях составят
- •3.3.Проецирование
- •3.3.1.Виды проецирования
- •3.3.2.Матрицы проекционных преобразований и проекций
3.2.Получение сложных геометрических преобразований
Сложное геометрическое преобразование, примененное к модели, как правило, является композицией (последовательностью) нескольких простых преобразований. Для его реализации используется матрица, представляющая собой произведение матриц основных преобразований (что является следствием ассоциативности матричного умножения).
Пример 1.Рассмотрим получение новых дескрипторов вершин модели (рис.2.1), подвергающейся преобразованиям поворота вокруг оси аппликат на 90 градусов и поворота вокруг оси ординат на 90 градусов, вначале в порядке перечисления преобразований, а затем в обратном порядке. Дескрипторы вершин исходной и преобразованных моделей представлены в табл.3.2.
Табл.3.2.Дескрипторы вершин модели
|
Исходная модель |
M(R(z,90))xM(R(y,90)) |
M(R(y,90))xM(R(z,90)) | |||||||
|
S |
X |
Y |
Z |
X’ |
Y’ |
Z’ |
X’ |
Y’ |
Z’ |
|
s1 |
10 |
60 |
10 |
10 |
10 |
-60 |
-60 |
10 |
-10 |
|
s2 |
10 |
60 |
60 |
60 |
10 |
-60 |
-60 |
10 |
-10 |
|
s3 |
60 |
20 |
60 |
60 |
60 |
-20 |
-20 |
60 |
-60 |
|
s4 |
60 |
60 |
10 |
10 |
60 |
-60 |
-60 |
10 |
-60 |
|
s5 |
10 |
10 |
10 |
10 |
10 |
-10 |
-10 |
10 |
-10 |
|
s6 |
60 |
10 |
10 |
10 |
60 |
-10 |
-10 |
10 |
-60 |
|
s7 |
60 |
60 |
50 |
50 |
60 |
-60 |
-60 |
50 |
-60 |
Матрицы суммарных преобразований имеют вид


Различные результаты требуемых преобразований (табл3.2) объясняются некоммутативностью матричного умножения, о чем свидетельствуют вышеприведенные матрицы суммарных преобразований. Отсюда также следует вывод о необходимости строгого соблюдения порядка перемножения матриц основных преобразований при получении сложных геометрических преобразований.
Пример 2.
Получить матрицу преобразования поворота
на угол
вокруг прямой, проходящей через точки
A (xA,
yA,
zA) и B
(xB,
yB,
zB).
Для получения матрицы искомого преобразования необходимо совмещение заданной прямой с одной из координатных осей, поворот вокруг последней на требуемый угол и возврат прямой в исходное положение.
Один из вариантов решения может быть представлен следующей последовательностью преобразований:
параллельный перенос прямой до совмещения точки A с началом координат;
поворот прямой относительно оси ординат на угол
до совмещения точки B’
с плоскостью YOZ, то есть после поворота
должно соблюдаться условие
xB’ = 0 (3.3)
поворот прямой относительно оси абсцисс на угол
до совмещения точки B’
с осью аппликат, то есть после поворота
должно соблюдаться условие
yB’ = 0 (3.4)
поворот вокруг оси аппликат на требуемый угол
;поворот прямой относительно оси абсцисс на угол -
;поворот прямой относительно оси ординат на угол -
;параллельный перенос прямой так, чтобы точка A заняла исходное положение.
Координаты точки B’после переноса на вектор T(-xA,-yA,-zA) составят B’(xB-xA, yB-yA, zB-zA).
После поворота
прямой относительно оси ординат на угол
координаты точки B’составят

