172
ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. “Машиностроение”. 2012
Для построения ячеек поверхности в соответствие с алгоритмом
(
см. рис. 5) необходимо производить построение временных ячеек по-
верхности и затем анализировать выполнение для них введенных вы-
ше ограничений 2, 3. Если ограничения выполнены, то считают, что
ячейка поверхности найдена, и можно переходить к поиску следую-
щей ячейки. Поскольку также должно соблюдаться ограничение 1, по-
иск проводят в два этапа. На первом этапе в качестве начальных точек
выбирают первые элементы
Z
-
массивов и дальнейший поиск проводят
только по их нечетным элементам, соответствующим точкам входа в
материал детали луча проецирования (шаги 1–1 — 1–4 на рис. 6). На
втором этапе в качестве начальных точек выбираются вторые элемен-
ты
Z
-
массивов, и поиск проводится только по их четным элементам,
т. е. по точкам выхода луча проецирования из тела детали (шаги
2–1 — 2–4
на рис. 6). Если в результате работы алгоритма найдена
ячейка поверхности (т. е. все ограничения выполнены), то индексы
всех четырех
Z
-
массивов увеличивают на 2. Так осуществляется пере-
ход к анализу точек, оставшихся в этих массивах. Если хотя бы одно
из ограничений не выполнено, то на 2 увеличивают только индекс в
том
Z
-
массиве, текущая точка которого имеет максимальную
Z
-
коор-
динату. Таким образом перебирают все возможные комбинации име-
ющихся точек для построения ячеек поверхности.
В качестве первого примера модели трехмерного тела рассмот-
рим модель шара (рис. 7), полученную с помощью метода 3MZBL.
При этом примем ограничение на угол наклона ячейки поверхности,
равное
30
°
.
В данном случае остаются разрывы между поверхностя-
ми, формируемыми с разных направлений проецирования.
На рис. 8 в качестве второго примера представлена модель тора,
демонстрирующая работу алгоритма при различном количестве
Z
-
элементов в разных точках сетки проецирования. Ограничение на
угол наклона ячейки поверхности принято равным
70
°
,
что позволя-
ет создать зону перекрытия достаточного размера. В данном случае
для получения качественной модели использован более мелкий шаг
сетки проецирования
Z
-
буфера по сравнению с шагом в предыдущем
примере.
Модели, приведенные на рис. 7 и 8, получены с помощью про-
грамм на языке C++, разработанных на основе описанных выше ал-
горитмов. Визуализация выполнена в свободно распространяемом
программном комплексе Paraview 3.14. Для отображения каждая че-
тырехугольная ячейка поверхности представлена двумя плоскими
треугольными элементами. Однако в действительности ячейка по-
верхности описывается на основе координат ее угловых точек с по-
мощью билинейных функций формы и именно в таком виде участву-
ет в алгоритме определения толщины срезаемого слоя.