Пространственные преобразования



Способность визуализировать или изображать пространственный объект является основой для понимания формы этого объекта. Кроме того, во многих случаях для этого важна способность вращать, переносить и строить виды проекций объекта. Чтобы понять форму объекта следует вращать объект, отодвигать на расстояние вытянутой руки, передвигать вверх и вниз, вперед и назад и т. д. Чтобы сделать то же самое с помощью компьютера, необходимо распространить предшествующий двумерный анализ на три измерения. Основываясь на полученном опыте, немедленно ввести однородные координаты. Таким образом, точка в трехмерном пространстве [хуz] представляется четырехмерным вектором

 


,

 

 

где [Т] является матрицей некоего преобразования. Как и ранее, преобразование их однородных координат в обычные задается формулой

 

 

.                        (4.61)

 

Обобщенную матрицу преобразования размерности 4´4 для трехмерных однородных координат можно представить в следующем виде:

 

 

.                              (4.62)

 

Матрицу преобразования из (4.62) можно разделить на четыре отдельные части:

 

Верхняя левая (3´3)-подматрица задает линейное преобразование, проводящее линейную комбинацию векторов в ту же самую линейную комбинацию преобразования векторов, в форме масштабирования, сдвига, отражения и вращения. Левая нижняя (1´3)-подматрица задает перемещение, а правая верхняя (3´1)- подматрица – перспективное преобразование. Последняя правая нижняя (1´1)-подматрица задает общее масштабирование. Общее преобразование, полученное после применения этой (4´4)-матрицы к однородному вектору и вычисления обычных координат, называется билинейным преобразованием – результат двух последовательных линейных преобразований. В общем случае данное преобразование осуществляет комбинацию сдвига, локального масштабирования, вращения, отражения, перемещения, перспективного преобразования и общего масштабирования.

 


Трехмерное масштабирование

 

Диагональные элементы (4´4)-матицы обобщенного преобразования задают локальное и общее масштабирование. Для иллюстрации этого рассмотрим преобразование

 

 , (4.63)

которое показывает действие локального масштабирования.

Рассмотрим прямоугольный параллелепипед RРР (рис. 4.17, а) со следующими однородными координатами вершин:

 

 .

 

Чтобы получить единичный куб из RPP с помощью локального масштабирования, необходимы масштабные множители 1/2, 1/3, 1 вдоль осей х, у, z соответственно (рис. 4.17, б). Преобразование локального масштабирования задается матрицей

 

.

 

На рис. 4.17, в показано общее изменение масштаба за счет изменения правой нижней подматрицы:

.

 

 

 

Рис. 4.17

 

 

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

 

,

 

т. е. верхняя левая подматрица (3´3) осуществляет сдвиг в трех измерениях.

Если определитель матрицы (3´3) равен +1, то имеет место вращение около начала координат.


Дата добавления: 2018-04-04; просмотров: 729; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!