А.А. Солуянов
22
ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. Машиностроение. 2017. № 2 ͞
v
1
=
͞
a
2
−
͞
a
1
; ͞
v
2
=
͞
a
3
−
͞
a
2
; ͞
v
3
=
͞
a
1
−
͞
a
3
,
где ͞
a
k
—
координаты
k-
й вершины треугольника,
k
= 1…3.
Из каждой вершины треугольника в точку
,
n m
P
также строятся векторы: ͞
r
k
=
͞
p
n
,
m
−
͞
a
k
,
где ͞
p
n
,
m
—
координаты центра пикселя (точки
P
n
,
m
)
.
Из рис. 2 следует, что точка
P
n
,
m
находится внутри треугольника, если
повороты всех векторов ͞
v
k
относительно вершин
А
k
до совмещения их с век-
торами
͞r
k
выполняются против хода часовой стрелки. Это означает, что все
векторы ͞
c
k
, полученные в результате векторных произведений парных векторов
,
k k
v r
будут направлены в одну сторону. Единственными ненулевыми компо-
нентами векторов ͞
c
k
являются их
z-
компоненты:
c
kz
= v
kx
r
ky
–
v
ky
r
kx
.
Для принятия решения о нахождении центра пикселя внутри контура пло-
щадки достаточно проанализировать знаки
z-
компонент векторов ͞
c
k
. Если
z-
компоненты всех векторов отрицательны или равны нулю, то точка
P
n
,
m
—
внутри контура, если хотя бы одна из них положительна — нет. Данный тест
может применяться также и для площадок с числом вершин больше трех.
Вследствие наличия экранирования у объектов сложной формы в картинной
плоскости растры многих площадок могут накладываться друг на друга. Для кор-
ректного отображения таких объектов необходимо однозначно установить, какой
площадке соответствует каждый пиксель. Критерием принадлежности пикселя
изображению какой-либо площадки является минимум расстояния от картинной
плоскости до точки пересечения проектора этого пикселя с площадкой. После
нормирующего преобразования ближе к картинной плоскости расположены точ-
ки с минимальной
z
-координатой, часто называемой глубиной.
Область памяти, необходимую для хранения в процессе расчета текущих
значений
z
-координаты для пикселей, называют буфером (откуда произошло
название способа построения изображения объектов — метод
z
-буфера) или
буфером глубины
9
. Алгоритм
z
-буфера реализован аппаратно в видеокартах и
применяется при решении ряда задач
11, 12
. Графические процессоры обеспе-
чивают высокое быстродействие при расчете самых сложных СГМ. При этом от
исследователя требуются углубленные знания в области компьютерной графи-
ки. Вариант программной реализации
z
-буфера, предложенный в настоящей
работе, предназначен для тех задач, где определяющими показателями являются
надежность и универсальность применения, а быстродействие не считается
критически важным. Кроме того, этот способ не накладывает никаких ограни-
чений на форму площадок: это могут быть треугольники, четырехугольники,
изопараметрические элементы.