logo search
Инж

4.2.6. Аффинные и проективные преобразования

К настоящему времени разработана математическая теория как для проективной, так и для аффинной геометрии. Теоремы аффинной геометрии идентичны теоремам геометрии Евклида. И в той, и в другой науках важным понятием является параллелизм. В проективной геометрии прямые в общем случае не параллельны.

Аффинное преобразование есть комбинация линейных преобразований, например поворота и последующего переноса. Для аффинного преобразования последний столбец в обобщенной 44-матрице равен [0 0 0 1]Т. В противном случае (см. п. 4.1.6) преобразованная однородная координата h не равна единице и нет взаимно-однозначного соответствия между аффинным преобразованием и (44)-матричным оператором. Аффинные преобразования образуют полезное подмножество билинейных преобразований, так как произведение двух аффинных преобразований также аффинно. Это свойство позволяет скомбинировать общее преобразование множества точек относительно произвольной системы координат при сохранении значения единицы для однородной координаты h.

Так как евклидова геометрия изучается в школах многие годы, то методы рисования и черчения, основывающиеся на евклидовой геометрии, стали стандартными методами графического сообщения. Хотя художники и архитекторы часто применяют перспективные виды для создания более реалистичного изображения, в технической работе они используются редко из-за трудности их ручного конструирования. Однако, применяя для заданного объекта однородные координаты, аффинные и перспективные преобразования можно вычислить одинаково легко.

И аффинные, и перспективные преобразования трехмерны, т. е. являются преобразованиями одного трехмерного пространства в другое. Однако для наблюдения результатов на двумерной поверхности требуется проецирование из трехмерного пространства в двумерное. Результат этого проецирования называется плоской геометрической проекцией. Матрица проецирования из трехмерного пространства в двумерное всегда содержит столбец нулей, следовательно, детерминант этого преобразования всегда равен нулю.

Если центр проекции расположен в конечной точке трехмерного пространства, получается перспективная проекция. Если центр расположен в бесконечности, то все лучи параллельны, и результат является параллельной проекцией. Плоские геометрические проекции представляют основу начертательной геометрии. Неплоские и негеометрические проекции также полезны: они широко используются в картографии.

Для разработки различных преобразований можно использовать два разных подхода. В первом предполагается, что центр проекции или точка зрения фиксирована, а плоскость проекции перпендикулярна главному лучу. Для получения требуемого вида манипулируют объектом. Во втором подходе предполагается, что объект фиксирован, центр проекции может как угодно перемещаться в трехмерном пространстве, а плоскость проекции не обязательно перпендикулярна направлению взгляда. Оба подхода математически эквивалентны.

В процессе конструирования или изображения объекта на графическом дисплее компьютера местоположение глаза обычно фиксировано, а плоскость проекции, т. е. поверхность, обычно перпендикулярна направлению взгляда. Следовательно, в данном случае больше подходит первый подход. Тем не менее, если графический дисплей используется для представления движений какого-нибудь транспортного средства или наблюдатель движения в сгенерированной компьютером модели, как в случае использования тренажера, или если наблюдатель «прогуливается» в архитектурной модели, тогда больше приемлем второй подход.

Когда плоскость проекции перпендикулярна направлению взгляда, с помощью описанной ниже процедуры построение можно свести к случаю с движущимся объектом и фиксированным центром проекции:

– найти пересечение линий взгляда и плоскости проекции;

– перенести точку пересечения в начало координат;

– повернуть вектор взгляда таким образом, чтобы он совместился с осью +z и был направлен к началу системы координат;

– применить к сцене полученное преобразование;

– выполнить перспективное проецирование на плоскость z = 0 из преобразованного центра проекции, расположенного теперь на оси z.