Основы современных компьютерных технологий

Проекции


Все виды проекций, используемые в компьютерной графике, представляют собой комбинации двух главных типов проекций: параллельной и центральной (перспективной).

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

{ (XA-X'A)/ VX=(YA-Y'A)/VY=(ZA-Z'A)/VZ

(3.1)
F(XA', Y'A, Z'A)=0

где ХА, YA, ZA - координаты точки предмета;



Х'А, Y'A, Z'A - координаты точки изображения;

373

VX, VY, , Vz - координаты единичного вектора;

F(XA, YA, ZA) - уравнение поверхности проекции.

Если проецирование осуществляется на плоскость и проецирующие лучи перпендикулярны к ней, то проекция называется ортогональной или перпендикулярной. Этот вид проекции широко используется в техническом черчении. Если оси X и У лежат в плоскости проекции, a Z перпендикулярна ей, то при представлении предмета в координатном базисе плоскости проекции координаты точек изображения можно определить по координатам точек предмета с помощью соотношения:

[XA' Y'A Z'A]=[XAYAZA] (3.2)

где Z=const - координата плоскости проекции по оси Z.

Как следует из (3.2), для получения ортогональной проекции достаточно определить координаты ХА и YA. Однако этим не ограничивается процедура построения трехмерной модели на экранедисплея. Предмет обычно задается в своей объектной системе координат XYZ, оси которой в исходном состоянии параллельны экранной системе дисплея xyz. Изображение предмета отображается на экране с некоторым масштабным коэффициентом т, а начало объектной системы координат располагается в точке Х0, У0, Z0 экрана. Для этого более общего случая можно записать:

XA1
YA1
ZA1
  =

X0
Y0
Z0

 

+m

1
1
0

 

XA
YA
ZA

 
(3.3)

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

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

XA1
YA1
ZA1
 =
X0
Y0
Z0
 +m
1
1
0
 
3 0,5/2
-0,5
3-0,5
 
0
1
3-0,5
 
3 0.5/2
-0.5
3 0.5
 
XA
YA
ZA
 
(3.4)
Аналогично можно получить формулу преобразования для фронтальной проекции, при которой оси X и У проецируются параллельно осям х, у дисплея, а проекция оси Z

374

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

XA1
YA1
ZA1
 =
X0
Y0
Z0
 +m
1
1
0
 
1
0
2.05
 
0
1
2-0,5/4
 
-2 0.5//4
20.5/4
(2/3)0.5
 
XA
YA
ZA
 
(3.5)
Отметим, что фронтальная проекция не является линейным преобразованием пространства предметов.

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

Центральная проекция. При центральной проекции все проектирующие лучи проходят через определенную точку пространства S - центр проекции.


Физическим устройством, реализующим центральную проекцию, является объектив. При визуальном наблюдении роль объектива выполняет глаз. В объективе лучи, соединяющие сопряженные точки в пространстве предметов и изображений, проходят через заднюю главную точку - центр проекции. Координаты каждой точки изображения могут быть вычислены путем определения точки пересечения прямой, проходящей через предметную точку А и центр проекции S, с поверхностью проекции изображения. Если в выбранной объектной системе координат известны координаты точек Л и S, а также уравнение поверхности изображения ?(X, Y, Z)=0, то координаты точки изображения А определяются в результате решения системы уравнений:

{ (XA-XA1)/(XA-XS)=(YA-YA1)/(YA-YS)=(YA-YA1)/(YA-YS);

?(XA, YA, ZA.)=0
(3.6)
Для получения резкого изображения необходимо, чтобы светочувствительная поверхность была перпендикулярна оптической оси объектива и располагалась на определенном расстоянии от центра проектирования, которое, как правило, принимают равным фокусному расстоянию f.

С учетом отмеченных особенностей центральной проекции в реальных устройствах формирования изображения связь координат точек пространства предметов и пространства изображений может быть выражена в иной форме, чем в системе уравнений (3.6). Введем систему координат xyz для плоскости изображения, связанную систему координат объектива x'y'z' и систему координат пространства предметов XYZ. Особенность центральной проекции можно выразить следующим образом: векторы rSA и RAS, соединяющие центр проекции S с сопряженными точками А и А соответственно, являются ко л линеарными. Отсюда следует, что

RAS=? SA (3.7)

375

где ? константа данной пары точек A и A'

Формулу (3.7) можно записать в следующем виде:

X Y Z
- - -
XS YS ZS
=?[C]
x y z
- - -
x0 y0 z0
,
(3.8)
где XsYSZS -координаты центра проектирования S в системе XYZ; x0 y0 z0 - координаты центра проектирования S в системе xyz.

Если учесть, что поверхность проекции является плоской, начало координат системы xyz, как правило, совпадает с главной точкой картинной плоскости, расположенной на расстоянии f от S (z0=-f), то формула (3.8) примет вид:



X Y Z
- - -
XS YS ZS
=?[C]
x
y
z
 
(3.9)
Исключая константу путем деления первой и второй строк на третью получаем уравнение, связывающее координаты сопряженных точек в системах XYZ и xyz; можно получить следующие соотношения:

{ (X-XS)=(Z-ZS)(c11x+c12y+c13f)/(c31x+c32y+c33f),

(Y-YS)=(Z-ZS)(c21x+c22y+c23f)/(c31x+c32y+c33f),
(3.10)
Из этой системы по координатам х, у точек изображения можно определить координаты X, Y, Z сопряженных точек в пространстве предметов, если задано уравнение наблюдаемой поверхности F(X,Y,Z)=0. Затем по координатам X,Y,Z точки А, уравнению поверхности F(X,Y,Z)=0 и известным условиям освещения могут быть определены атрибуты точки А (яркость, цвет) и рассчитаны соответствующие атрибуты точки Л'изображения. Описанная процедура синтеза изображений основана на отслеживании луча, исходящего из пространства изображений в пространство предметов, то есть в направлении, противоположному ходу лучей в реальной системе. Этот подход в компьютерной графике называется методом обратного трассирования лучей.

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

376

368 :: 369 :: 370 :: 371 :: 372 :: 373 :: 374 :: 375 :: 376 :: Содержание


Содержание раздела