Триангуляция Делоне на Сфере
Версия от 04:59, 20 ноября 2016; Novik (обсуждение | вклад) (Новая страница: «=Динамический алгоритм= ==Локализация в триангуляции== Построим алгоритм на сфере по анал...»)
Содержание
Динамический алгоритм
Локализация в триангуляции
Построим алгоритм на сфере по аналогии с плоскостью.
Структура данных
Локализационная структура состоит из нескольких уровней, где каждый уровень — триангуляция Делоне. На нижнем уровне содержатся все точки. Далее точка с вероятностью попадает на следующий уровень. Если на последнем уровне находится одна точка, то дальше она уже не пойдет.
| Лемма (О количестве уровней): |
Математическое ожидание уровней в локализационной структуре . |
| Доказательство: |
| То же самое, что и для плоскости. |
| Утверждение: |
Локализационная структура занимает памяти. |
| Опять же доказательство копируется с плоскости. |
Принадлежность треугольнику
Пусть дана точки , , , на сфере с центром , тогда принадлежит треугольнику , тогда и только тогда, когда поворот относительно плоскостей , , одинаковый.
Алгоритм
Чтобы найти треугольник, которому принадлежит точка запроса(точка ), сначала найдем ближайшую к ней точку триангуляции(точка ), а зачем вдоль луча будем обходить треугольники, пока не локализуемся.
Поиск точки :
- На последнем уровне нашей структуры находиться точек, поэтому просто переберем эти точки и найдем ближайшую к .
- При переходе с уровня на новая ближайшая точка может быть только внутри окружности с центром в точке проходящей через точку (ближайшая точка на уровне). Переберем всех соседей точки и выберем ближайшего к точке . Повторяем эту операцию, пока можем приближаться к точке запроса.
| Лемма: |
Алгоритм найдет ближайшую точку |
| Доказательство: |
| Допустим, что это не так. Это значит, что в внутри окружности с центром в точке , на которой лежит точка , есть какие-то другие точки. |