- •7.Проективные изображения трехмерных объектов
- •7.1. Аксонометрические проекции
- •7.1.1.Ортогональные проекции
- •7.1.2 Диметрические проекции
- •Куб Диметрическая проекция
- •Текст функции dimetr дан в Приложении.
- •7.1. 3. Изометрическая проекция
- •7.2. Перспективные проекции
- •7.3. Построение проективных векторных изображений трёхмерных объектов
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*),
132
которые, как правило, отличаются от иcходных. Если про-ективное преобразование является линейным, то его можно осуществить путём умножения вектора однородных коор-динат слева на некоторую матрицу М. Отметим, что у мат-риц проективных преобразований detM=0, поскольку теряется информация вдоль одной из трёхмерных осей (не обязательно совпадающей с координатной). В том случае, если проективное преобразование не линейно, применяют иные преобразования.
7.1. Аксонометрические проекции
В аксонометрических проекциях точка, из которой производится проецирование, считается бесконечно удален-ной. При этом набор коэффициентов искажения U, V, W одинаков для любых отрезков, принадлежащих объекту, вследствие чего все аксонометрические проекции являются линейными преобразованиями. В зависимости от положе-ния центра проекции относительно осей ( и , соответствен-но величин U, V, W ) можно выделить следующие виды аксонометрических проекций: ортогональные, диметричес-кие, изометрическую.
7.1.1.Ортогональные проекции
Центр проецирования ортогональных проекций на-ходится на бесконечности вдоль одной из осей. Рассмот-рим проекцию, в которой точка удалена вдоль оси z. Проекции отрезков на эту ось вырождаются в точки, следо-вательно, W=0. Проекции отрезков на оси х,у остаются неизменными, поэтому U=1, V=1. При проецировании на плоскость z=0 все координаты точек по оси z равны 0. Матрица соответствующего ортогонального проецирования примет вид:
133
При проецировании на произвольную плоскость z = p третья координата точек по оси z равна p. Матрица орто-гонального проецирования будет следующей :
При проецировании на плоскости x = n и y = m мат-рицы преобразований ортогонального проецирования име-ют аналогичный вид :
Функции на языке Autolisp, формирующие матрицы ортогональных проекций, строятся по аналогии с матри-цами элементарных линейных преобразований.
134