Механизм центрального проецирования в компьютерной графике

ВЕСТНИК 2/2011

МЕХАНИЗМ ЦЕНТРАЛЬНОГО ПРОЕЦИРОВАНИЯ В КОМПЬЮТЕРНОЙ ГРАФИКЕ

THE MECHANISM OF THE CENTRAL DISPLAYING IN COMPUTER THE SCHEDULE

B.B. Глотова, И.М. Лебедева V.V. Glotova, I.M. Lebedeva

ГОУ ВПО МГСУ

Данная статья описывает математический метод получения центральных проекций на основе применения средств аффинных преобразований с использованием однородных координат.

This article describes a mathematical method of obtaining central projections based on the use of affine transformations using homogeneous coordinates

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

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

фронтальная \ профильная

горизонтальная

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

прямоугольные проекции косоугольные проекции

к s а. н Ф 5 О

к

S

а. н

Ф

к

S

а. н

Ф

к

S

а. н

Ф 5 О

к s а. н

Ф

к

S

а. н

Ф

Рис.1. Классификация центральных проекций

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

С, проходят через каждую точку объекта и, пересекая картинную плоскость, образуют проекцию.

Проекция отрезка сама является отрезком, так что достаточно спроецировать одни лишь граничные точки, а затем соединить их прямой линией (рис.2).

1-4 ГА

Ъ *Ч .1 -1

Рис.2. Отрезок АВ и его центральная проекция А'В'

Рис.3. Перспективное изображение

Если точка зрения С расположена не в бесконечности, то проекция получается перспективной. Восприятие предметов на перспективном изображении наиболее близко к зрительному восприятию человеком окружающей среды (рис.3). Но, не смотря на свою реалистичность, перспективная проекция оказывается непригодной для точного определения формы и размеров объекта. Размеры перспективной проекции объекта изменяются обратно пропорционально расстоянию до точки зрения. Углы сохраняются только на гранях, параллельных картинной плоскости. Проекции параллельных линий в общем случае не параллельны.

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

Ортогональные проекции (фронтальную, горизонтальную и профильную) часто используют в инженерной графике так как по ним можно определить расстояния и углы. Но представить себе достаточно сложную пространственную модель по ортогональным проекциям часто бывает непросто. Аксонометрическая проекция обеспечивает возможность определения размеров объекта, так как укорачивание по осям постоянно и, в то же время, является наглядной. Параметры и форма объекта не изменяются при перемещении, а параллельные в пространстве линии остаются параллельными и на изображении. Углы же, как и в случае перспективной проекции, сохраняются только на гранях, параллельных картинной плоскости.

Получить центральную проекцию с точки зрения математики - значит определить соотношение между множеством точек объекта и множеством точек его центральной проекции. Другими словами требуется осуществить преобразование точки Р, описанной в мировой системе координат (Хм ,УМ, Ъм) в точку Р ', положение которой определяется картинными координатами (и,У) (рис. 4), причем ось и соответствует оси абсцисс, а ось У - ординат.

Это отображение удобно выполнять в два этапа. На первом этапе точка Р остается на своем месте, а система мировых координат преобразуется в промежуточную трехмерную систему координат, направление осей в которой согласуется с направлением осей координат картинной плоскости, то есть направление оси X промежуточной системы координат совпадает с направлением оси и, направление оси У совпадает с направлением оси У, а ось Ъ направлена к точке зрения параллельно проецирующим лу-

чам. На втором этапе происходит собственно перспективное преобразование точки Р в точку Р', объединенное с переходом из трехмерной системы координат в двухмерную.

м

V

Хн^

Р"

и

Рис. 4. Точка P в мировой системе координат и в картинных координатах

Рассмотрим этапы получения центральной проекции более подробно. Предположим, что картинная плоскость расположена между объектом и точкой зрения (рис. 2.). Начало мировых координат О желательно расположить вблизи центра объекта, поскольку вектор СО определяет направление наблюдения (рис. 5). Положение точки зрения С удобно описать с помощью сферических координат:

Xc = р • sin ф • cos в

Yc = р • sin ф • sin в

Zc - р • cos ф

Выберем промежуточную систему координат со следующими свойствами:

• начало промежуточной системы координат совпадает с точкой зрения С;

• положительная полуось Xn (при наблюдении из точки С в точку О) направлена вправо;

• положительная полуось Yn направлена вверх;

• направление оси Zn совпадает с направлением вектора наблюдения СО.

Рис. 5. Положение точки зрения

Рис. 6. Система промежуточных координат

Такое расположение осей (рис. 6) позволит нам в дальнейшем определить оси координат картинной плоскости в тех же направлениях.

Этот этап преобразования может быть записан в матричном виде

[X уп 1] = [ хм ум 1]^ ,

где W - матрица промежуточного преобразования.

Эту матрицу найдем как результат композиции четырех элементарных преобразований, каждое из которых записывается своей матрицей. Причем, матрицей, обратной матрице преобразования точки, так как мы на данном этапе преобразовываем систему координат, а не точку. Ниже приведены этапы преобразования и матрицы, выполняющие данные элементарные преобразования.

1.Перенос начала координат из точки О в точку С (рис. 7): 10 0 0

$1 =

0 10 0 0 0 10

- Хс - Ус - 2с 1

2. Поворот координатной системы вокруг оси Ъ на угол (л/2-9) в отрицательном

направлении (рис. 8): эт в сов в

$2 =

- соэс 0 0

0 0

г

щ/ е^ V

Рис. 7. Новые оси после переноса

Рис. 8. Новые оси после поворота вокруг оси Ъ

3. Поворот системы координат вокруг оси X на угол (л-ф) в положительном направлении:

$3 =

0

- соэ^ 0

00

- эт (р 0

- соэ^ 0

01

4. Изменение направления оси X: -10 0 0

$4 =

100 0 1 0 0 0 1

1

Рис.9. Новые оси после поворота вокруг оси X

Рисс.10. Промежуточные оси координат

W =

После вычисления матричного произведения БгБгБз^ получим матрицу

- - СО8 0 - 008 0 0

СО8 0 - - зт^- 0

0 -0 0 р Перспективное преобразование осуществляется матрицей Б5: 10 0 0

5 5 =

0

0

где ё - расстояние от точки зрения до картинной плоскости (рис.11) После перемножения матриц W и Б5 получим результирующую матрицу для получения центральной проекции:

w =

- sin У - cos^' cosy - sm^' cosi cosö - cos^' sinö - sin^-sini 0 sin^ - cosp

_ y

/ d _ 1

0

0

sin ç • cos в d • sin Ф • sin t - yd •cos Ç p/

р /а

Координаты центральной проекции точки Р будут определяться по формуле: Р'=РБ , или

[ и V ' 1 ] = [ хм ум zм 1] -Б

Причем, после перемножения матриц все '-координаты будут равны ^ а и, V -это картинные координаты, таким образом, получится изображение проекции на плоскости

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

Keywords: matrix of transformation, the central displaying, prospect, orthogonal projection, axo-nometrical projection, beam of sight, isometry.

e-mail: grafika@mgsu.ru

Рецензент: доцент кафедры Прикладной математики МИЭМ, кандидат технических наук Ма-

хиборода Александр Васильевич.