Научная статья на тему 'ПОСТРОЕНИЕ ДИАГРАММЫ ВОРОНОГО С ОГРАНИЧЕНИЯМИ НА ПЛОСКОСТИ'

ПОСТРОЕНИЕ ДИАГРАММЫ ВОРОНОГО С ОГРАНИЧЕНИЯМИ НА ПЛОСКОСТИ Текст научной статьи по специальности «Математика»

CC BY
249
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ДИАГРАММА ВОРОНОГО / ОБРАТНАЯ ЗАДАЧА ВОРОНОГО / ПЛОСКАЯ РАСЧЕТНАЯ СЕТКА / VORONOI DIAGRAM / INVERSE VORONOI PROBLEM / PLANAR MESH

Аннотация научной статьи по математике, автор научной работы — Киреев Тимур Фаритович, Булгакова Гузель Талгатовна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Construction of the Voronoi diagram with constraints on а plane

Purpose. The problem of construction the Voronoi diagram with constrains on a plane, also known as the generalized inverse Voronoi problem, is considered. The problem is to construct a Voronoi diagram on the plane, which edges lie on a given set of segments. Methodology. Constructing a Voronoi diagram with constraints is based on the formation of a set of circles and the placement of sites of the diagram at the intersections of these circles. The procedure for constructing a diagram is described by a formal language to prove its correctness. Findings. An algorithm for constructing a constrained Voronoi diagram with proof of correctness is proposed. A procedure for constructing a two-dimensional computational grid based on such a diagram is described. Value. The proposed algorithm is rather brief and has a simple proof of correctness. The use of such a grid can improve the accuracy of the numerical solution of some problems in fluid mechanics.

Текст научной работы на тему «ПОСТРОЕНИЕ ДИАГРАММЫ ВОРОНОГО С ОГРАНИЧЕНИЯМИ НА ПЛОСКОСТИ»

Вычислительные технологии

Том 24, № 4, 2019

Построение диаграммы Вороного с ограничениями

на плоскости*

Т. Ф. Киреев", Г. Т. Булгакова

1Уфимский государственный авиационный технический университет, Россия "Контактный e-mail: kireevtf@ufntc.ru

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

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

Библиографическая ссылка: Киреев Т.Ф., Булгакова Г.Т. Построение диаграммы Вороного с ограничениями на плоскости // Вычислительные технологии. 2019. Т. 24, № 4. С. 28-37. БОТ: 10.25743/1СТ.2019.24.4.003.

Введение

Диаграмма Вороного имеет огромное множество применений, одно из них — построение расчетных сеток для численного решения задач гидро- и геомеханики. Для таких задач традиционно используются хорошо изученные сетки на основе триангуляции расчетной области, в частности триангуляции Делоне [1-3]. По сравнению с ними сетки на основе диаграммы Вороного имеют некоторые преимущества: их ячейки представляют собой выпуклые многоугольники, а использование узлов-генераторов диаграммы Вороного в качестве расчетных узлов делает такую сетку в точности ортогональной.

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

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

* Title translation and abstract in English can be found on page 37.

© ИВТ СО РАН, 2019.

Задача построения диаграммы Вороного часто рассматривается как задача построения триангуляции Делоне и наоборот, из-за двойственности между этими двумя объектами. Однако триангуляция Делоне с ограничениями уже не является двойственной к диаграмме Вороного с ограничениями [5]. Узловые точки диаграммы, которая двойственна к такой триангуляции, будут лежать на ребрах триангуляции, поэтому ребра этой диаграммы всегда будут перпендикулярны структурным отрезкам, вместо того чтобы лежать на них.

Для учета ограничений в диаграмме Вороного чаще всего применяют метод отсечения, при котором ячейки Вороного обрезаются так, чтобы их границы лежали на структурных отрезках [6]. Недостаток этого похода заключается в том, что ячейки вблизи структурных отрезков становятся невыпуклыми и теряют свойство ортогональности.

В данной работе изучается вопрос построения диаграммы Вороного с ограничениями, в которой ребра ячеек Вороного в точности формируют структурные отрезки ограничения, т. е. ячейки Вороного не обрезаются. Эта задача также известна как обобщенная обратная задача Вороного (Generalized Inverse Voronoi Problem) [7]. Она заключается в том, чтобы по заданному ограничению найти набор узлов, для которых диаграмма Вороного будет являться диаграммой Вороного с ограничением. В предположении, что узлы диаграммы Вороного могут лежать сколь угодно близко друг к другу, очевидно, что решение этой задачи всегда существует. Открытой проблемой остается поиск оптимального решения, в котором множество узлов диаграммы было бы минимально [8]. Для случая, когда структурные отрезки ограничения разбивают плоскость на прямоугольники, существует простой алгоритм решения этой задачи с помощью решетки Ханана [8].

Один из подходов для построения диаграммы Вороного с ограничениями заключается в использовании триангуляции Делоне [5]. Сначала генерируется триангуляция Делоне с ограничениями, затем проводится локальная корректировка триангуляции: ее ребра перестраиваются так, чтобы они оказались перпендикулярны структурным отрезкам. В конце вычисляется диаграмма Вороного, двойственная к полученной триангуляции. Достоинство алгоритма заключается в том, что он "прокладывает мост" между триангуляцией с ограничениями и диаграммой Вороного с ограничениями. Так, например, можно использовать готовые алгоритмы измельчения или сглаживания триангуляции, чтобы получить измельченную или сглаженную диаграмму Вороного. Второй подход заключается в формировании множества узлов диаграммы Вороного напрямую, без использования триангуляции Делоне [9, 10].

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

1. Диаграмма Вороного

Определение 1. Для заданного конечного множества точек S С R2 ячейкой Вороного точки г Е S называется множество

VoroCell(S,i) = {х Е R2 : ||ж - г|| < ||ж - j|| Vj Е S,j = г} .

Определение 2. Ребром между ячейками VoroCell(S,i) и VoroCell(S, j) при г = j называется непустое множество

VoroEdge(S,i,j) = VoroCell(S,i) П VoroCell(S,j).

Определение 3. Вершиной между ячейками УатаСбИ(Б,г), УатаСбИ(Б,]) и Уата-Се11(Б, к) при г = ] и г = к называется непустое множество

УатаУбтЬбх (Б,ъ,],к) = УатаСбИ (Б,т).

Ячейка Вороного — это открытая выпуклая область в К2, поскольку ее можно представить в виде пересечения 1 — 1 полуплоскостей. Поэтому ребра между ячейками Вороного представляют собой отрезки, лучи или линии в К2, а вершины между ячейками Вороного — точки в К2. Ребро или вершина могут не существовать, если соответствующее пересечение ячеек Вороного пусто. Иногда ребро может вырождаться в точку, а несколько вершин могут совпадать друг с другом (это происходит, когда Б содержит 4 и более точек, лежащих на одной окружности).

Утверждение 1. Пусть Б С К2 — конечное множество, г Е Б, С — открытый круг конечного радиуса, граница которого проходит через точку г, и С П 5 = 0. Тогда УатаСбИ(Б, г) содержит в себе центр круга С.

Доказательство. Пусть с — центр круга С. Предположим, что с Е УатаСбИ(Б,г). Тогда существует точка ] Е Б, такая, что ] = г и с Е УатаСбИ(Б,]), следовательно, \\с — ] || ^ ||с — г||. Если ||с — Ц\ < \\с — г||, то возникает противоречие с условием С П Б = 0, поскольку ] Е С. Если же \\с — ] \\ = \\с — г\ \, то точка с лежит в пересечении УатаСбИ(Б, г) П УатаСбИ(Б,]), что противоречит исходному предположению. □

Следствие 1.1. Пусть Б С К2 — конечное множество, г,] Е Б — две различные точки, С — открытый круг конечного радиуса, граница которого проходит через точки г,], и С П 5 = 0. Тогда ребро УатаЕйдв(Б,г,]) существует и содержит в себе центр круга С.

Доказательство. Пусть с — центр круга С. Согласно утверждению 1, с Е УатаСбИ(Б, г) и с Е УатаСбИ(Б,]). Значит, с Е УатаЕйдв(Б,г,]), а следовательно, это ребро существует. □

Следствие 1.2. Пусть Б С К2 — конечное множество, 1,],к Е Б — три различные точки, С — открытый круг конечного радиуса, граница которого проходит через точки г,], к, и СП5 = 0. Тогда вершина УатаУбтЬбх(Б, г,], к) существует и совпадает, с центром круга С.

Доказательство. Пусть с — центр круга С. Согласно утверждению 1, с Е УатаСбИ(Б, г), с Е УатаСбИ(Б,]) и с Е УатаСбИ(Б, к). Значит, с Е УатаУвтЬвх(Б, г,], к), а следовательно, эта вершина существует. Но УатаУбтЬбх(Б, г,], к) может быть либо пустым множеством, либо состоять из одной точки, поэтому с = УатаУбтЬбх (Б, %,], к). □

Определение 4. Множеством ячеек диаграммы Вороного называется

УС (Б) = { УатаСбП (Б, г)}^8 . Определение 5. Множеством ребер диаграммы Вороного называется

УЕ (Б ) = { УатаEdgб (Б,г,3 )}г,е8= .

Определение 6. Множеством вершин диаграммы Вороного называется

УУ(Б) = {УогоУеНех.

Определение 7. Диаграммой Вороного для множества точек Б С К2 называется кортеж

УБ(Б) = (УС(Б), УЕ(Б), УУ(5)).

Определение 8. Точки Б диаграммы Вороного УБ (Б) называются узлами или узловыми точками.

Задача построения диаграммы Вороного заключается в том, чтобы по заданным узловым точкам Б найти диаграмму Вороного УБ(Б). На практике, как правило, множество Б выступает в качестве входных данных.

2. Диаграмма Вороного с ограничениями

Определение 9. Плоский конечный граф С = (У,Е) в К2, в котором все ребра Е являются отрезками, а все вершины V имеют ненулевую степень, называется ограничением. Ребра графа называются структурными отрезками. Ребро между двумя вершинами и ь2 обозначается (у\,у2).

Ограничение С может состоять из нескольких компонентов связности и содержать в себе некоторое количество циклов.

Определение 10. Диаграмма Вороного УБ (Б) поддерживает ограничение С, если:

1) У С УУ(Б);

2) V (е Е Е) 3 ({еъ ..., ек} С УЕ (Б)) : е = у г=1.к ег.

В этом случае УБ (Б) называется диаграммой Вороного с ограничением С.

Утверждение 2. Пусть Б С К2 — конечное множество, С = ({ь\,ь2} , {е}) — ограничение, в котором е = (у\,у2). Если существует два открытых круга С\ и С2 с конечными радиусами и центрами в точках и ь2, таких, что

1) \дС\ П 51 > 3 и \дС2 П 51 > 3,

2) дС-1 П дС2 = {г,з}С Б, г =

3) С\ П 5 = С2 П 5 = 0,

то диаграмма Вороного УБ (Б) поддерживает ограничение С.

Доказательство. Поскольку дС\ — окружность и \дС\ П 5\ > 3, то в дС\ П 5 найдутся три различные точки. Согласно следствию 1.2, Е УУ (Б). Аналогично у2 Е УУ (Б). Согласно следствию 1.1, ребро УотоЕйде(Б, г,]) содержит в себе точки и у2. Поскольку УотоЕйде(Б, г,]) — выпуклое множество (отрезок, луч или линия), оно содержит в себе ребро е графа.

Докажем теперь, что УотоЕйде(Б,г,]) не может содержать никаких других точек, кроме е. Рассмотрим точку х = + (1 — Ь) у2 для некоторого Ь > 1. Поскольку \дС\ П > 3, на границе круга С\ найдется точка к Е Б, отличная от точек г и ]. Круги С\ и С2 не содержат точку к,иих границы пересекаются в точках г,], поэтому ||ж — к\\ < ||ж — г|| = ||ж — ]\\. Значит, точка х не принадлежит множествам УотоСе11(Б,1), УотоСе11 (Б,]), а следовательно, не принадлежит множеству УотоЕйде(Б, ). Аналогично для случая Ь < 0. Таким образом, е = (ь\,ь2) = УотоЕйде(Б,г,]) С Е. □

Рис. 1. Примеры диаграмм Вороного с ограничением. Серыми и черными линиями показаны ребра диаграммы, синими точками — узлы диаграммы

На рис. 1, а показаны диаграмма Вороного, поддерживающая ограничение С = ({щ,у2}, {е}), где е = (щ,у2), и соответствующие окружности дС\ и дС2 с центрами в точках У\ и у2. Множество 5 состоит из четырех точек. На рис 1, б показаны диаграмма Вороного, поддерживающая ограничение С = ({у\,у2,у3,у4} , {е,д,К}), где е = (щ,у2) , д = (у2, у3) , Ь = (у2, у4), и соответствующие окружности дС\, дС2, дС3, дС4. Множество 5 состоит из девяти точек.

Задачу построения диаграммы Вороного с ограничением можно сформулировать следующим образом: по заданному ограничению С требуется найти такое множество узлов 5, при котором диаграмма Вороного УВ (5) будет являться диаграммой Вороного с ограничением С. Эта формулировка эквивалентна постановке обобщенной обратной задачи Вороного.

Алгоритм 1. Построение диаграммы Вороного с ограничениями

Входные данные: ограничение С = (V, Е).

Результат: множество 5 С К2, такое, что УБ(Б) поддерживает ограничение С.

1. Выбрать достаточно малое число е и для каждой вершины у Е V построить открытый круг С (у ) радиуса е с центром в точке у так, чтобы:

а) Уух, У2 Е У,уг = У2 : С (ух ) П С (^) = 0;

б) Уе = \уъ У2) Е Е : dгst (С(уг), С(^)) > е;

в) Уу Е V, Уе = (ух, у2) Е Е,у = ух,у = у2 : dist (С(у),е) > е.

2. На каждом ребре е Е Е расположить последовательно достаточно большое

количество точек ,т2,..., ^ (е) | Е е ив центре каждой точки построить

открытый круг С(<ш1) достаточного радиуса так, чтобы:

а) Уе,д Е Е,е = д, Е {1,..., к(е)} , У3 Е {1,..., к(д)} : С^) П С(т°) = 0;

б) Уе Е Е, Уг Е {1,...,к (е)} , У] Е {1,...,к (е)} ,г = з : С «) П С (ю]) = 0 & | дС (-ш?) П дС(т*) | =2 & ^ — з | = 1;

в) Уу Е V, Уе Е Е, Уг Е {2,..., к (е) — 1} : С (юе{) П С (у) = 0;

г) Vv Е V., Ve = (уъу2) Е Е : С «) П С (у) = 0 & \дС «) П дС (у )\ =2 & у = щ ;

= 2^

д) Vv Е V, Уе = (УЪУ2) Е Е : С (тек{е)) П С (у) = 0 & дС (тек{е)) П дС (у)

V = У2.

3. Уе = (у\,у2) Е Е : добавить две точки пересечения окружностей дС(и)е) и дС(щ) и две точки пересечения окружностей дС) и дС(у2) в множество 5.

4. Уе Е Е, VI Е {1,...,к(е) — 1} : добавить две точки пересечения окружностей дС(т(е) и дС(те+1) в множество 5.

5. Vv Е V : если степень вершины V равна 1, то добавить в Б произвольную точку V * на окружности дС (у), такую, что:

а) V * Е $;

б) Vv' Е V : V * Е С (у');

в) Ve Е Е, VI Е {1,...,к(е)} : V* / С (>ше).

Лемма 1. Алгоритм 1 решает задачу построения диаграммы Вороного с ограничениями.

Доказательство. На шаге 1 строится набор непересекающихся кругов С (у) в вершинах у Е V. Условие 1 б алгоритма гарантирует, что на шаге 2 на каждом ребре е Е Е можно будет выбрать хотя бы одну точку м!. Условие 1в алгоритма необходимо для того, чтобы круги С (у) располагались на некотором расстоянии от ребер Е (за исключением ребер, инцидентных вершине у), и благодаря этому на шаге 2 алгоритма в каждой точке < каждого ребра е Е Е можно будет выбрать некоторый ненулевой радиус круга С (ш(е).

На шаге 2 строятся центры кругов ^е на ребрах Е и круги С(т(е) (рис. 2). Условие 2 а гарантирует, что круги С(т(е) и С(м?), расположенные на разных ребрах, не пересекаются между собой. Условие 2 б обеспечивает то, что круги С(ш(е) пересекаются только с двумя соседними кругами С('ш—) (если г > 1) и С(гш(е+1) (если г < к(е)), расположенными на одном общем ребре. Условия 2в-д накладывают ограничения на характер пересечения кругов С (т(е) и С (у). Так, каждый круг С ('ш!), расположенный на ребре е = (у 1,у2), пересекается только с кругом С(у1), а каждый круг С(^(е), расположенный на ребре е = (у1,у2), пересекается только с кругом С(у2). Кроме того, условия 2 б, 2 г и 2 д обеспечивают то, что границы каждой пары пересекающихся кругов пересекаются между собой ровно в двух точках.

Наконец, на шагах 3 и 4 формируется множество £, состоящее из точек на границах кругов С (у) и С (ш(е). Поскольку в графе С все вершины имеют ненулевую степень,

Vv Е V, 3е = (у,у2) Е Е : \дС Ю П С (у )\ = 2, а значит, множество 5 будет содержать по две точки с границы каждого круга С (у).

Рис. 2. Иллюстрация к алгоритму 1. Серыми и черными линиями показаны ребра диаграммы, синими точками — узлы диаграммы

Завершающий шаг 5 нужен для того, чтобы в множество Б попало как минимум по три точки с границы каждого круга С (у).

Докажем, что УБ(Б) поддерживает ограничение С. Рассмотрим произвольное ребро е = {у\,у2) Е Е и построенное на шаге 2 множество точек |т\,т2, Е е. Ребро е

можно представить в виде объединения нескольких отрезков:

е = {VI,= {щт^и(и)е1,т2,)и...и(ыек{е),ь2) .

Обозначив 'Ш0 = У\ и /шек^е)+1 = у2, имеем

е = «^^(и)^ w12)и...и('шек{е),'шек{е)+1) .

В результате выполнения шагов 1 и 2 алгоритма при г Е {0,...,&(е)} для каждого отрезка имеется два круга С(т?) и С(,ш<1+1), центры которых совпадают с концами отрезка. Кроме того,

| дС(м—) П дС«) | = | дС«) П дС(те+1) \ = \дС(те+1) П дС(те+2) \ = 2

в силу условий 2 б, 2 г и 2 д. Поэтому для кругов С(м?) и С(,ш%+1) справедливо

дС(тег) П дС) = {аг, Ьг] С Б, аг = Ьг, г Е {0, ..,к(е)} ,

а следовательно,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

\дС«) П 5\> 4, г Е {1, ...,к(е)} .

Благодаря шагу 5 имеем

\дС«) П 5\> 3, г Е{0,к(е) + 1} .

Условия 1 а и 2а-д алгоритма гарантируют, что при г Е {0,..., к(е) + 1} внутрь круга С ) не попадут никакие точки пересечения пар каких-либо других кругов, поэтому

С «) П 5 = 0, г Е {0,...,к(е)+ 1} .

По утверждению 2, диаграмма Вороного УБ(Б) для каждого г Е {0, ...,к(е)} содержит ребро (и^= УотоЕСдеи две вершины и^ и Таким образом,

1) V С УУ(Б);

2) V (е Е Е) 3 ({еъ ..., ек} С УЕ(Б)) : е = иг=!..к

т.е. УБ(Б) поддерживает ограничение С. □

Для графа С = (V, Е) и вершины у Е V обозначим С \ у граф, который получается из графа С удалением вершины у и всех ребер {у, и), инцидентных вершине V (при этом вершины и не удаляются). Так же обозначим С \ е граф, который получается из графа С удалением ребра е.

1

В качестве е на шаге 1 алгоритма можно взять число — {С1вЬ (у, С \ г^}. На ша-

ге 2 алгоритма точки ^1,1^2,, — | на ребре е = {у1,у2) Е Е можно расположить

1

равномерно с шагом к = -сИвЬ (е \ (С (^ и С (у2)) ,С \ е), а радиусы кругов С(чи1;) 3

выбрать равными —к (чтобы соседние круги С (и/?) пересекались между собой в двух точках).

Рис. 3. Пример диаграммы Вороного с ограничением: а — ограничение; б — диаграмма Вороного. Черными линиями показаны ребра ограничения и диаграммы, синими точками — узлы диаграммы

Если требуется минимизировать количество элементов в множестве в, то можно итерационно объединять пары соседних кругов С('Ш?) в один круг большего радиуса до тех пор, пока условия 1 и 2 удовлетворяются.

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

На практике может быть полезна немного другая постановка задачи построения диаграммы Вороного с ограничениями: по заданному ограничению С и заданному множеству узлов ¿о требуется найти такое множество узлов при котором диаграмма Вороного УБ(¿0 и будет являться диаграммой Вороного с ограничением С. Для решения этой задачи достаточно дополнить шаги 1 и 2 алгоритма 1 условиями:

1) Уу е V : С(у) п 50 = 0;

2) Уе е Е, Уг е {1,...,к(е)} : С «) П ¿0 = 0.

Эти условия можно удовлетворить, удалив из множества ¿0 подмножества С (у) П ¿0 и и ееЕ^е{1,...,к(е)}С П ¿0 либо выбрав радиусы кругов С (у) и С (м?) достаточно малыми, а число к(е) достаточно большим, не модифицируя при этом ¿0.

Для построения двумерной расчетной сетки с ограничением С можно использовать множество ¿0 = {(гАх,] Ау) е : % = 1,...,п; ] = 1,...,т}, для которого диаграмма Вороного является равномерной сеткой из прямоугольных ячеек длиной Ах и шириной Ау. На рис. 4, а показана расчетная сетка для прямоугольной области с ограничением из рис. 3, а, построенная таким методом.

Одна из важных задач — построение сеток для областей со сложными границами. Построив диаграмму Вороного с ограничением в виде замкнутого непересекающегося контура, можно получить расчетную сетку для области, ограниченной этим контуром (рис. 4, б).

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

Для каждого треугольника пересечение трех его сфер будет определять два узла диаграммы Вороного, равноудаленных от плоскости треугольника [9, 10].

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

Благодарности. Работа выполнена при поддержке ООО "Уфимский НТЦ" и РФФИ (грант № 17-41-020226-р_а).

Список литературы / References

[1] Shewchuk, J.R. Delaunay refinement algorithms for triangular mesh generation // Comput. Geometry. 2002. Vol. 22, No. 1-3. P. 21-74.

[2] Lo S.H. Finite element mesh generation. London: CRC Press, 2014. 672 p.

[3] Frey, P., George, P.L. Mesh generation: application to finite elements. 2nd Edition. London: ISTE & Wiley LTD, 2008. 848 p.

[4] Palagi, C.L., Aziz, K. Use of voronoi grid in reservoir simulation // SPE Advanced Technology Series. 1994. Vol. 2, No. 2. P. 69-77.

[5] Branets, L.V., Branets, L.V., Ghai, S.S. et al. Efficient and accurate reservoir modeling using adaptive gridding with global scale up // Proc. of SPE Reservoir Simulation Symp. 2009. 11 p. SPE118946. DOI: 10.2118/118946-MS.

[6] Yan, D., Wang, W., Levy, B., Liu, Y. Efficient computation of clipped Voronoi diagram for mesh generation // Computer-Aided Design. 2013. Vol. 45, No. 4. P. 843-852.

[7] Aloupis, G., Perez-Roses, H., Pineda-Villavicencio, G. et al. Fitting voronoi diagrams to planar tesselations // Intern. Work. on Combinatorial Algorithms IWOCA 2013: Combinatorial Algorithms, Heidelberg, 2013. P. 349-361.

[8] Banerjee, S., Bhattacharya, B.B., Das, S. et al. On the construction of generalized voronoi inverse of a rectangular tessellation // Proc. 9th Intern. IEEE Symp. on Voronoi Diagrams in Sci. and Eng. New Brunswick, NJ: IEEE, 2012. P 132-137.

[9] Berge, R.L. Unstructured pebi grids adapting to geological feautres in subsurface reservoirs: Master's thesis. Norwegian Univ. of Sci. and Techn., 2016. 105 p.

[10] Abdelkader, A., Bajaj, C.L., Ebeida, M.S., Mitchell, S.A. A seed placement strategy for conforming voronoi meshing // Proc. of 29th Canadian Conf. on Comput. Geometry. CCCG 2017, Ottawa, Ontario, July 26-28. 2017. P. 95-100.

Поступила в 'редакцию 18 января 2019 г., с доработки — 24 апреля 2019 г.

Construction of the Voronoi diagram with constraints on а plane

klreev, tlmur f.*, bulgakova, guzel t.

1Ufa State Aviation Technical University, Ufa, 450000, Russia * Corresponding author: Kireev, Timur F., e-mail: kireevtf@ufntc.ru

Purpose. The problem of construction the Voronoi diagram with constrains on a plane, also known as the generalized inverse Voronoi problem, is considered. The problem is to construct a Voronoi diagram on the plane, which edges lie on a given set of segments.

Methodology. Constructing a Voronoi diagram with constraints is based on the formation of a set of circles and the placement of sites of the diagram at the intersections of these circles. The procedure for constructing a diagram is described by a formal language to prove its correctness.

Findings. An algorithm for constructing a constrained Voronoi diagram with proof of correctness is proposed. A procedure for constructing a two-dimensional computational grid based on such a diagram is described.

Value. The proposed algorithm is rather brief and has a simple proof of correctness. The use of such a grid can improve the accuracy of the numerical solution of some problems in fluid mechanics.

Keywords: Voronoi diagram, inverse Voronoi problem, planar mesh.

Cite: Kireev, T.F., Bulgakova, G.T. Constructing a conforming Voronoi diagram on the plane // Computational Technologies. 2019. Vol. 24, No. 4. P. 28-37. (In Russ.) DOI: 10.25743/ICT.2019.24.4.003.

Acknowledgements. This research was supported by Ufa NTC LLC and RFBR (grant No. 17-41-020226-р_а).

Received January 18, 2019 Received in revised form April 24, 2019

© ICT SB RAS, 2019

i Надоели баннеры? Вы всегда можете отключить рекламу.