Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика / МАШ_ГРАФИКА.doc
Скачиваний:
153
Добавлен:
19.04.2015
Размер:
3.94 Mб
Скачать

Глава 7.Проективные изображения трехмерных объектов

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

При проецировании элементы изображений могут изме-няться (длины отрезков, величины углов), а также вырож-даться ( линия - в точку, плоская фигура - в линию). Изме-нение линейных размеров в общем случае характеризуется коэффициентами искажения U, V, W по осям x, y, z.

Обозначим составляющие некоторого отрезка l по осям х, у, z через (lх , lу , lz), а проекции этих составляющих – че-рез (lх , lу , lz ). Коэффициентами искажения по осям х, у, z называют отношения:

U = lх / lх , V = ly / ly , W = lz / lz .

Для коэффициентов U, V, W у всех проекций выполняется следующее соотношение:

U2 + V2 + W2 = 2 (7.1)

Декартовы системы координат, связываемые с объектами наблюдения, обычно вводят таким образом, чтобы их оси по направлению совпадали с рёбрами объектов, координатные плоскости были параллельны граням. Каждый вид проекций соответствует некоторому положению наблюдателя отно-сительно объекта и , соответственно, связанной с ним систе-мы координат. Точка, в которой располагается наблю-датель, называется центром проецирования. Положение этой точки полностью определяет характер искажений наблюдаемого трёхмерного объекта в получаемом плоском его изображении.

При проективных преобразованиях координат точек, принадлежащих наблюдаемому объекту, по их истинным величинам (x, y, z) рассчитываются видимые (x*, y*, z*) ,

130

которые, как правило, отличаются от иcходных. Если про-ективное преобразование является линейным, то его можно осуществить путём умножения вектора однородных коор-динат слева на некоторую матрицу М. Отметим, что у мат-риц проективных преобразований detM=0, поскольку теряется информация вдоль одной из трёхмерных осей (не обязательно совпадающей с координатной). В том случае, если проективное преобразование не линейно, применяют иные преобразования.

§1. Аксонометрические проекции

В аксонометрических проекциях точка, из которой производится проецирование, считается бесконечноудаленной. При этом набор коэффициентов искажения U, V, W одинаков для любых отрезков, принадлежащих объекту, вследствие чего все аксонометрические проекции являются линейными преобразованиями. В зависимости от поло-жения центра проекции относительно осей ( и , соответ-ственно величин U, V, W ) можно выделить следующие ви-ды аксонометрических проекций : ортогональные, диметри-ческие, изометрическую.

1.1.Ортогональные проекции

Центр проецирования ортогональных проекций находится на бесконечности вдоль одной из осей. Рас-смотрим проекцию, в которой точка удалена вдоль оси z. Проекции отрезков на эту ось вырождаются в точки, следовательно, W=0. Проекции отрезков на оси х,у остаются неизменными, поэтому U=1, V=1. При проеци-ровании на плоскость z=0 все координаты точек по оси z равны 0. Матрица соответствующего ортогонального проецирования примет вид :

131

1 0 0 0

0 1 0 0

Mopz(0)= 0 0 0 0 .

0 0 0 1

При проецировании на произвольную плоскость z = p третья координата точек по оси z равна p. Матрица орто-гонального проецирования примет вид :

1 0 0 0

0 1 0 0

Mopz(p) = 0 0 0 p . (7.2а)

0 0 0 1

При проецировании на плоскостиx = n и y = m матрицы ортогональных проецирований имеют аналогичный вид :

0 0 0 n 1 0 0 0

0 1 0 0 0 0 0 m

Mopx(n)= 0 0 1 0 ; Mopy(m) = 0 0 1 0 . (7.2б)

0 0 0 1 0 0 0 1

132

Функции на языке Autolisp, формирующие матрицы орто-гональных проекций, строятся по аналогии с матрицами элементарных линейных преобразований.