Любое изображение на плоскости получается путем проектирования пучка прямых. Существует несколько способов проектирования. Наиболее употребительные на практике: параллельное и центральное.
Принцип получения изображения заключается в нахождении точек пересечения проходящих через объект лучей ( их координат) с проективной плоскостью.
Центральное проектирование — способ, когда все проектирующие лучи исходят из одной точки.
Параллельное проектирование — способ, когда центр проектирования бесконечно удален.
Каждый из этих классов имеет множество видов .
Примечание! Использование матриц 4-го порядка для преобразований позволяет упростить и улучшить зрительное восприятие для рассматриваемых ниже задач.
Рассмотрим преобразования для каждой проекции отдельно.
Ортографическая. Картинная плоскость совпадает с одной из координатных плоскостей или || ей. Матрица проектирования Z вдоль OX на плоскость YOZ имеет вид:
Если плоскость проектирования || координатной, то матрицу (1) умножают на матрицу сдвига. Получается следующее:
здесь p — параметр, описывающий сдвиг. Знак определяет направление. Для других плоскостей получаем иные матрицы проектирования (q и r определяют величину сдвига вдоль осей OY и OX). Все расмотренные матрицы являются вырожденными.
Аксонометрия (проектирующие прямые ^ картинной плоскости). Поскольку плоскость по отношению к координатным осям может занимать разное положение, выделяют следующие виды проекций:
Триметрия — нормальный вектор картинной плоскости образует с ортами координатных осей различные (попарно) углы
Диметрия — два угла между координатными осями и нормалью картиной плоскости равны.
Изометрия — все три угла равны .
Разумеется, получение любой из рассмотренных проекций возможно путем выполнение ряда последовательных преобразований (см. лекцию 7).
Для триметрии процесс связан с поворотом на угол j относительно OY, на угол y относительно OX и проектирования вдоль OZ. Матрица преобразования:
Интересно наблюдать, как при этом преобразуются орты координатных осей:
(1,0,0,1)*[M] = (cos , sin
sin
, 0, 1) для оси OX;
(6) (0,1,0,1)*[M] = (0,cos,0,1) для оси OY;
(0,0,1,1)*[M] = (sin , -sin
cos
, 0,1) для оси OZ.
Примечание! При триметрии длины проекций попарно различны (т.к. различны углы).
Диметрия характеризуется равенством длин двух проекций, поэтому из (5) следует:
(7) cos2 + sin2
cos2
= cos2
® sin2
= tg2
.
Изометрия дает попарно равные проекции:
? cos2 + sin2
cos2
= cos2
; Из соотношения (8) вытекает, что
(8) ? cos2 + sin2
cos2
= cos2
; ®sin2
= 1/3; sin2
= 1/2.
Косоугольная проектирование имеет место тогда, когда пучок лучей не ^ плоскости экрана. Так, при косоугольном проектировании орта оси OZ на плоскость XOY, получаем следующее: (0 0 1 1) ® (a b 0 1).
Матрица соответствующего преобразования:
Существует два варианта косоугольного проектирования:
— свободное (угол наклона проектирующих лучей к плоскости экрана равен 45°);
— кабинетное (частный случай свободного — масштаб по третьей оси вдвое меньше).
Перспективное проектирование получается сложнее. Рассмотрим случай, когда центр пректирования находитсяна оси OZ в точке С(0, 0, с).
Плоскость проектирования — XOY. Возьмем произвольную т. М(x, y, z) и построим прямую СМ. Соответствующие параметрические уравнения будут в виде:
Необходимо определить координаты точки пересечения прямой СМ с плоскостью XOY. Из (12) и условия Z* = 0 (искомая точка принадлежит XOY) получаем : Рис. 7
что и требуется найти. К этому результату можно прийти используя и матричные преобразования:
(14) (x y z t)* = (x y 0 1 -1/c).
Затем переходя к однородным координатам получаем :
(15) — что соответствует (13).
Матрица проектирования является вырожденной (т.е. ее определитель равен 0).
Cоответствующая матрица перспективного преобразования (без проектирования) имеет вид:
Попытаемся на основе этой матрицы рассмотреть перспективные преобразования с пучком прямых, параллельных одной из осей. Пусть эти прямые || оси OZ. Каждая из них определяется точкой (типа М(x, y, 0) пересечения с плоскостью XOY и описывается:
X = x, Y = y, Z = t (t — параметр сдвига).
Чтобы избавиться от неоднородности поведем преобразования:
(x ,y ,t ,1)*[Q] = (x, y, t,1,-1/c) | разделим на 1- t/c. Получаем:
Попытаемся определить местонахождение центра пучка — (его координаты). Для чего определим предел каждого из значений при t ® . Для упрощения решения задачи разделим каждую координату на t. Получим: (
). Откуда следует, что предел будет (0,0,-с,1). Т.о. бесконечно удаленный (несобственный) центр (0,0,1,0) пучка прямых (|| оси oZ) проходит через точку (0,0,-с,1), лежащую на оси OZ. В общей форме для любого несобственного пучка прямых (|| заданному направлению) и не || картинной плоскости координаты центра можно представить в виде:
(17) X = x + lt, Y = y + mt, Z = nt, где n ? 0.
Для собственного пучка требуется умножить (17) на матрицу преобразования (16):
(X,Y,Z ,1)*[Q] = (x + lt ,y + mt , nt –1,t/c ). При умножении на –c/t получим:
(18) Центр пучка — т о ч к о й с х о д а.
Для прямых || координатным осям выделяют 3 главные точки схода. Матрица преобразования выглядит так:
Пучок прямых || оси oX будет: (1,0,0,0); || оси oY представлен в виде: (0,1,0,0); и || оси oZ :(0,0,0,1) cоответственно.
здесь a, b, c — координаты главных точек схода. Из выражения (19) видно, что собственные пучки прямых представлены в матричном виде так:
(1,0,0,-1/а);(0,1,0,-1/b) и (0,0,1,-1/с).
Или:
(20)(-а,0,0,1);(0,-b,0,1);(0, 0,-c,1).
В ы в о д: зная способы получения проекций и особенности применения тех или иных видов проектирования можно провести анализ исходной модели (описать ее вершины, определить ракурс обзора и пр.).