УДК 004.4(06) Технологии разработки программных систем Е.Л. КАРТАШЕВА, И.В. МИЖИРИЦКАЯ Московский инженерно-физический институт (государственный университет) ИНКРЕМЕНТАЛЬНЫЙ АЛГОРИТМ ПОЛИГОНИЗАЦИИ НЕЯВНЫХ ПОВЕРХНОСТЕЙ Рассматривается алгоритм триангуляции неявно заданных поверхностей с учетом отдельных фрагментов сеток, принадлежащих разбиваемым поверхностям. В данной работе описывается алгоритм триангуляции неявно заданных поверхностей, содержащих отдельные сеточные фрагменты, а именно, ребра, узлы и треугольники, лежащие на поверхности. Такая задача возникает при дискретизации неоднородных геометрических объектов [1], в которых отдельные компоненты, составляющие объект, задаются разными представлениями и разбиваются соответственно разными методами. Фрагменты поверхностной сетки могут также образовываться в результате уточнения поверхностных особенностей – острых ребер и вершин. Кроме того, разработанный алгоритм полезен также для ускорения полигонизации неявных поверхностей в процессе их модификации и редактирования. В этом случае для получения сетки на результирующей поверхности могут использоваться фрагменты сеток исходных поверхностей. В основе описываемого алгоритма дискретизации лежит метод наложения треугольников [2], в котором сетка достраивается по границам имеющихся треугольников, и новые треугольники строятся на касательной плоскости к поверхности, а затем проецируются на поверхность. Алгоритм включает два этапа. На первом этапе новые треугольники строятся по критерию Делоне, что позволяет быстро разрешить вопрос о пересечении поверхностных треугольников. Второй этап заключается в разбиении областей, которые остались нетриангулированными после первого этапа. В работе [2] на втором этапе выделялись контуры незаполненных областей и узлы контуров соединялись ребрами. При этом полагалось, что контуры с небольшим количеством вершин не разрезают поверхность и, следовательно, могут заполняться треугольниками, все узлы которых принадлежат одному и тому же контуру. Во всех остальных случаях ребра строились между вершинами, принадлежащими соседним контурам. Анализ показывает, что такой критерий заполнения областей может приводить к искажению формы и топологии поверхностей, в частности, ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 2 66 УДК 004.4(06) Технологии разработки программных систем вызывать «срезание» отдельных частей дискретизируемой поверхности или ошибочное соединение несвязанных компонент. При этом процедура выделения контуров требует заметных временных затрат. В нашем алгоритме на первом этапе, также как и в работе [2], треугольники строятся по критерию Делоне. При этом размер треугольников выбирается в соответствии с кривизной поверхности. На втором этапе, когда невозможно добавить ни одного треугольника, удовлетворяющего критерию Делоне, тактика дискретизации меняется. При этом дополнительный анализ контуров не производится. Новые треугольники строятся на граничных ребрах, т. е. на ребрах, имеющих менее двух смежных треугольников. Для очередного граничного ребра определяется касательная плоскость к поверхности в средней точке ребра. Далее находится ближайший к данной касательной плоскости граничный узел, который можно соединить с данным ребром так, что полученный треугольник не будет иметь перекрытий с уже имеющимися треугольниками на поверхности. Термин перекрытие в данном случае означает, что расстояние между треугольниками меньше заданного допустимого значения. Введенные нами процедуры сортировки узлов относительно касательной плоскости и проверки перекрытий треугольников позволяют избежать отмеченных выше недостатков и обеспечить робастность процедуры триангуляции неявно заданных поверхностей. Список литературы 1. V. Adzhiev, E. Kartasheva, T. Kunii, A. Pasko, B. Schmitt: Hybrid cellular-functional modeling of heterogeneous objects, Journal of Computing and Information Science in Engineering, Transactions of the ASME V.2, N.4, 2002. Р.312-322. 2. S. Akkouche, E. Galin Adaptive Implicit Surface Polygonization Using Marchingv Triangles Computer Graphics Forum V. 20, N. 2, 2001. Р. 67–80. ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 2 67