2.1. Введение
Способность визуализировать или изображать пространственный объект является основой для понимания формы этого объекта. Кроме того, во многих случаях для этого важна способность вращать, переносить и строить виды проекций объекта. Все это легко демонстрируется на примере нашего знакомства с относительно сложным незнакомым объектом. Чтобы понять его форму, мы тут же начинаем вращать объект, отодвигать на расстояние вытянутой руки, передвигать вверх и вниз, вперед и назад и т.д. Чтобы сделать то же самое с помощью компьютера, мы должны распространить наш предшествующий двумерный анализ на три измерения. Основываясь на полученном опыте, мы немедленно вводим однородные координаты. Таким образом, точка в трехмерном пространстве [х y z] представляется четырехмерным вектором
[x' y' z' h] = [x y z 1][T]
где [Т] является матрицей некоего преобразования. Как и ранее, преобразование из однородных координат в обычные задается формулой
[x* y* z* 1] = | x' h |
y' h |
z' h |
1 | |||||
Обобщенную матрицу преобразования размерности 4х4 для трехмерных однородных координат можно представить в следующем виде:
[T] = | a b с p d e f q g i j r l m n s |
||
Матрицу преобразования 4х4 можно разделить на четыре отдельные части. Верхння левая (3x3)-подматрица задает линейное преобразование в форме масштабирования, сдвига, отражения и вращения. Левая нижняя (1х3)-подматрица задает перемещение, а правая верхняя (3х1)-подматрица - перспективное преобразование. Последняя правая нижняя (1х1)-подматрица задает общее масштабирование. Общее преобразование, полученное после применения этой (4 х 4)-матрицы к однородному вектору и вычисления обычных координат, называется билинейным преобразованием. В общем случае данное преобразование осуществляет комбинацию сдвига, локального масштабирования, вращения, отражения, перемещения, перспективного преобразования и общего масштабирования.