триангуляция
От: piAnd Россия  
Дата: 05.11.04 11:21
Оценка:
Всем привет.
В статье Скворцова про алгоритмы триангуляции предлагается два способа перестроек (при попадании новой точки внутрь триангуляции) при НЕвыполнении условия Делоне:
1) "удаляй и строй". Т.е. никаких перестроек не производится, а вместо этого из триангуляции удаляются все треугольники (близлежащие к новой точке) НЕудовлетворяющие условию Делоне, и на образовавшемся месте строятся новые путем соединения ребрами новой точки и всех точек, ставших "границей" после удаления треугольников.

2) производятся перестройки методом флипа спаренных треугольников.

Вопрос чисто практический. Какой из этих способов более эффективен?

PS: и если 2) лучше, то как производить перестройку? Может ли одна и таже пара треугольников "флипаться" более одного раза?
Re: триангуляция
От: W0nder  
Дата: 05.11.04 11:29
Оценка:
A>В статье Скворцова

A>Вопрос чисто практический. Какой из этих способов более эффективен?

Там вроде внизу было написано сравнение же?
Re[2]: триангуляция
От: piAnd Россия  
Дата: 05.11.04 11:35
Оценка:
Здравствуйте, W0nder, Вы писали:

A>>В статье Скворцова


A>>Вопрос чисто практический. Какой из этих способов более эффективен?

W>Там вроде внизу было написано сравнение же?
ДА. это хорошо.
Но в статье прямо сказано, что наибольший вклад в скорость вностит процедура "поиска треугольника", а не способ перестройки при невыполнении условия Делоне.
Т.е. мне нужны практические советы какой способ лучше и как реализовывается 2)... (Там получается могут быть и зацикливания флипов до бесконечности?)
Re[3]: триангуляция
От: W0nder  
Дата: 05.11.04 11:53
Оценка:
Здравствуйте, piAnd, Вы писали:


A>Т.е. мне нужны практические советы какой способ лучше и как реализовывается 2)...

Имхо лучше флипать

A>(Там получается могут быть и зацикливания флипов до бесконечности?)

С какого пива?!
Re: триангуляция
От: Аноним  
Дата: 05.11.04 12:26
Оценка:
1) Из опыта практической реализации могу сказать,
что "удаляй и строй" реализуется сложнее (гораздо больше кода),
однако там можно немного сэкономить на скорости работы.
В целом рекомендую использовать метод флиппинга, т.к. его проще отладить.

2) Одна и таже пара флипаться не может дважды — это доказывается строго математически.

Скворцов.
Re[4]: триангуляция
От: piAnd Россия  
Дата: 05.11.04 12:28
Оценка:
Здравствуйте, W0nder, Вы писали:

W>Здравствуйте, piAnd, Вы писали:


W>Имхо лучше флипать

А можно чуть подробнее почему ИМХО лучше?

A>>(Там получается могут быть и зацикливания флипов до бесконечности?)

W>С какого пива?!
Не пинайте, но мне кажется может быть и такая ситуация:




На последнем рис.6 получается мы снова перестраиваем пару, с которой начинали...
Re[2]: триангуляция
От: W0nder  
Дата: 05.11.04 12:37
Оценка:
А>2) Одна и таже пара флипаться не может дважды — это доказывается строго математически.
А>Скворцов.
Так то в математике, а реально могут же быть погрешности?! Или я гоню?

Чаднов.
Re[5]: триангуляция
От: AlexSkvortsov  
Дата: 05.11.04 12:40
Оценка: 6 (2)
Здравствуйте, piAnd, Вы писали:

Количество перестроений в худшем случае после вставки
треугольника и вправду может быть велико.
Но оно конечно, и меньше N (общего числа точек в триангуляции),
а в среднем равно 2,5 — 3,0 в зависимости от вида
распределения исходных данных.

Доказательство зацикливания и конечности тривиально.
Вводим параметр Ss = "сумма минимальных углов всех треугольников" или
Sr "сумма радиусов описанных окружностей всех треугольников".
После перестроения по условию Делоне Ss всегда возрастает,
а Sr всегда уменьшается (это легко доказывается и следует из
определения условия Делоне).
Т.к. эти параметры монотонно изменяются, следовательно, одна и та же
комбинация треугольников никогда не повторится, т.е.
возможность зацикливания исключена.
А т.к. количество всех возможных триангуляций на N точках конечно
(зависит по экспоненте от N), то и перестроения когда-то закончатся.
Re[6]: триангуляция
От: piAnd Россия  
Дата: 05.11.04 12:52
Оценка:
Здравствуйте, AlexSkvortsov, Вы писали:

AS>Доказательство зацикливания и конечности тривиально.

AS>Вводим параметр Ss = "сумма минимальных углов всех треугольников" или
AS>Sr "сумма радиусов описанных окружностей всех треугольников".
AS>После перестроения по условию Делоне Ss всегда возрастает,
AS>а Sr всегда уменьшается (это легко доказывается и следует из
AS>определения условия Делоне).
AS>Т.к. эти параметры монотонно изменяются, следовательно, одна и та же
AS>комбинация треугольников никогда не повторится, т.е.
AS>возможность зацикливания исключена.
Кажется понятно!
То есть по ходу перестановок Sr уменьшается И НЕ МОЖЕТ ДАЖЕ ЛОКАЛЬНО ВОЗРАСТИ?

AS>А т.к. количество всех возможных триангуляций на N точках конечно

AS>(зависит по экспоненте от N), то и перестроения когда-то закончатся.
Спасибо!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.