*120018*
о локализации точки
относительно плоских областей.
Недошивина А.И.
Воронежский институт МВД России, Воронеж, Россия
Введение. Одним из направлений вычислительной геометрии является
геометрический поиск, в котором принято выделять две основные проблемы: задачи
локализации и регионального поиска. Рассмотрим задачи первого типа.
Один из типичных примеров приложения задачи локализации точки
- это задача определения
местоположения. В качестве исходных данных может выступать, например, дорожная
карта, а в качестве запроса - пара
координат от глобальной системы навигации и определения местоположения (GPS). Ответом может быть номер дороги, на которой находится автомобиль.
Ознакомимся со следующими алгоритмами локализации точки: метод
луча, метод суммирования углов, локализация точки для выпуклого и звездного
многоугольника, метод полос, метод цепей, метод детализации триангуляции, метод
трапеций.
Задача локализации точки. Одной из главных моделей геометрического поиска
является задача локализации точки, когда файл представляет собой разбиение
геометрического пространства на области, а запрос является точкой. Локализация
состоит в определении области, содержащей запрошенную точку.
Трудоемкость этой задачи
существенно зависит от природы пространства и от способа его разбиения.
|
Рис.1 |
Метод
(суммирования) углов. Можно
определить, что данная точка (P) находится внутри многоугольника c вершинами V0, V1,
..., Vn = V0,
вычислив сумму:
Можно доказать,
что эта сумма есть не что иное, как windingnumber
(число
намоток или винтовое число) точки P относительно границы
многоугольника, с точностью до константного множителя 2π. Поэтому
можно считать, что точка лежит снаружи многоугольника, если сумма равна нулю
(или достаточно близка к нему, если используется приближённая арифметика).
Однако данный метод весьма непрактичен, так как требует вычисления
дорогостоящих операций для каждого ребра (обратных тригонометрических функций,
квадратных корней, деления), и был даже назван «худшим в мире алгоритмом» для данной задачи.
Локализация
точки относительно выпуклого и звездного многоугольников.
Метод для выпуклого многоугольника. В данном случае мы можем построить алгоритм намного
более быстрый, чем линейный. Возьмем любую точку q внутри многоугольника (например, геометрический центр
масс), проведем из нее все отрезки до вершин многоугольника. В силу выпуклости
многоугольник разобьется на непересекающиеся клинья (Рис. 3)
|
Рис.3 |
Теперь заметим, что
возможно упорядочить данные клинья по полярному углу против часовой стрелки и
применить бинарный поиск для поиска нужного клина. После того, как клин найден,
осталось только проверить, лежит ли точка внутри клина или снаружи. Точка z лежит
внутри клина, тогда и только тогда, когда поворот правый, если поворот левый,
то точка снаружи.
Чтобы можно было применить
двоичный поиск, вершины должны быть упорядочены по углу относительно некоторой
точки. Существует более обширный класс простых, многоугольников, включающий в
себя и выпуклые многоугольники, который
обладает этим свойством: это класс звездных
многоугольников. Действительно, звездный многоугольник Р (рис.4) содержит по
меньшей мере одну точку q такую, что
отрезок qpi лежит
целиком внутри многоугольника Р для любой вершины pi
из Р, i=1,…N.
|
Рис.4 |
Методы
локализации точки на планарном подразбиении. Любой плоский
прямолинейный граф (ППЛГ) определяет подразбиение плоскости (планарное
подразбиение). Локализация точки на планарном подразбиении – это процесс
определения области, содержащей запрошенную точку.
Чтобы вести поиск на планарном
подразбиении, на этапе предобработки производится декомпозиция исходных
областей на такие области, для которых поисковая операция относительно проста
(например, треугольники или трапеции). Тогда успех в локализации точки зависит
от возможности быстро сузить множество компонент декомпозиции, которые следует
просмотреть. Среди методов, таких как метод полос, метод цепей, метод
детализации триангуляции и метод трапеции,
Метод комплексного интегрирования в задаче о локализации точки относительно
стандартного многоугольника на плоскости. Рассмотрим
задачу о локализации точки относительно многоугольника на плоскости.
Это
известная задача вычислительной геометрии, имеющая много различных известных
способов решения. Наряду с достоинствами, каждое такое решение имеет свои
недостатки и ограничения. В основе нового метода лежит неожиданное применение
теорем Коши о вычетах из теории функций комплексного переменного. Этот метод
решения в некоторых отношениях превосходит известные на сегодняшний день
алгоритмы.
Как
уже было указано, алгоритм основан на использовании теорем Коши из теории
функций комплексного переменного.
Вычислим
величину
Вычислим
формулы для величины K при данных
координатах вершин многоугольника М и точки плоскости W.
Вначале
рассмотрим в качестве простого примера случай треугольника АВС, стороны
которого заданы прямыми: y=1-x, x=0, y=0. И данной точки с координатами W=(x0, y0). (рис.5)
|
Рис.5 Для
этого треугольника вычислим величину K, равную интегралу от функции комплексного
переменного по контуру треугольника ∆: |
Проанализируем
формулу. В результате величина K оказалась
равной с точностью до множителя сумме арктангенсов, аргументы которых
представляются в виде дробей. Знаменатели дробей – это уравнения сторон данного
треугольника, а числители – это уравнения перпендикуляров к каждой стороне в
вершинах треугольника.
Перейдём к рассмотрению
общего случая многоугольника. Для этого возьмем одну его сторону и произведем
все вычисления для нее.
Пусть отрезок АВ имеет координаты вершин А(х1,у1),
В(х2,у2). (рис.6)
|
Рис.6 |
Тогда прямая, на которой расположен треугольник,
задана уравнением:
Таким образом, получаем, что для стороны
многоугольника интеграл равен сумме арктангенсов и натуральных логарифмов. Но
если включить сторону в замкнутый контур многоугольника, логарифмы сокращают.
Величина K для многоугольника
становится равной сумме арктангенсов. Аргументы – дроби, где знаменатели –
уравнения сторон и числители – уравнения перпендикуляров к каждой стороне в
вершинах.
Когда этот интеграл равен нулю (K=0), точка не принадлежит многоугольнику; K=2πі, точка принадлежит многоугольнику; и если K=∞, точка находится на контуре многоугольника.
Окончательная формула имеет вид
где (
Полученная формула не упрощается при помощи
выражения для суммы арктангенсов. Однако суммирование арктангенсов можно
корректно провести частично в том случае, если известна дополнительная
частичная неполная информация о координатах точки.
Применением полученной формулы является метод
получения семейства тождеств для сумм арктангенсов. Например, очевидно, что
точка с координатами D=(666,13) лежит вне
треугольника, рассмотренного в примере
1. Следовательно, получаем
Полученная общая формула для произвольного
многоугольника позволяет решать поставленную задачу о локализации точки
относительно многоугольника аналитически при помощи вычислений.
Применение метода
комплексного интегрирования к задаче о локализации точки относительно
криволинейных многоугольных областей на плоскости. Данный метод работает и для криволинейных границ.
Рассмотрим
в качестве частного случая пример, с криволинейной стороной, заданной
уравнением:
|
Рис.7 |
Для
параболы от 0 до 1 интеграл от функции
комплексного переменного будет равен:
Для
точки W(-1;1):
Приложения.
Метод позволяет решать
поставленную задачу о локализации точки относительно криволинейных
многоугольных областей аналитически при помощи вычислений. Автору неизвестен
другой подобный аналитический метод решения задачи о локализации. Кроме того,
представляется, что к числу достоинств предложенного метода можно отнести три
его особенности:
1.
метод работает для криволинейных границ, составленных из кусков сплайнов,
кривых Безье и т.д. при этом вычисления с помощью пакета MATHEMATICA несколько усложняются, однако без принципиальных затруднений доводятся
до явных формул, как только заданы уравнения частей границы. Кроме того, для
каждой области вычисление проводится только один раз, далее выполняется простая
подстановка в уже полученную формулу;
2.
метод выгодно применять, когда точка лежит вблизи границы области.
Конкурирующие методы приводят к необходимости сравнивать практически равные
числа, тогда как в данном методе сравнивать приходится существенно различающиеся
по модулю величины: 0, 2π, ∞.
3.
данный метод не требует выпуклости многоугольника в отличие от
большинства других известных методов.
Методика может быть использована для оптимизации
сохранения данных, получаемых, например, при записи на компьютер результатов
слежения видеоаппаратурой или другой аппаратурой, относящейся к спецтехнике.
В настоящее время видеонаблюдение активно
используется во всех сферах деятельности. Например, на производстве, в торговых
и развлекательных центрах, на дорогах и парковках, для охраны частной
собственности и прочее.
Видеоизображения просматриваются дистанционно и сохраняются в видеоархив
или используется только часть видеоматериалов, например для создания
доказательной базы фактов правонарушения.
В
кадр зачастую попадает ненужная информация. Если это видео с места запрещенной
парковки на пешеходном переходе (в зоне остановки), то в кадре нас интересует
только участок дороги с пешеходным переходом (с зоной парковки), остальные
участки захватываемые объективом ненужные. Если мы хотим зафиксировать
запрещенный проезд по тротуару (на запрещающий сигнал светофора) – то будем
отслеживать определенную область кадра видеоряда. То же самое происходит при
наблюдении, например, за входом в здание. В кадре нам необходимо видеть только
вход и ничего более, чтобы объем видеоинформации был минимально возможным.
В
этом случае подходяще было бы применить метод комплексного интегрирования.
Для
стационарной камеры определим область кадра, которая необходима. Зададим эту
область координатами и вычисляем формулу для величины K при данных координатах вершин криволинейной
многоугольной области М. Точки плоскости в данном случае – это пиксели кадра,
подставим в вычисленную формулу с помощью программы. Программа осуществляет
следующий порядок действий:
1. выхватывает каждый кадр видеопотока;
2. для каждого кадра осуществляет попиксельную проверку:
1) координаты каждого пикселя подставляются в вычисленную
формулу К,
2) сохраняет все точки в новый массив, если величина К
=2πi,
3. Массив сохраняется как новый кадр видеофайла, который
содержит только интересующую нас область.
Таким
образом, мы сохранили лишь те пиксели, которые находились в интересующей нас
области, и значительно сократили объем видеофайла.
ЛИТЕРАТУРА
1.
Препарата Ф. Вычислительная геометрия. Введение/ Ф.Препарата, М.Шеймос. –
М.: Мир, 1989.
2.
Ласло М. Вычислительная геометрия и компьютерная графика на С++/ М.Ласло.
– М.: Бином, 1997
3.
Роджерс Д. Алгоритмические основы машинной графики/ Д.Роджерс. – М.: Мир,
1989
4.
Евграфов М.А. Аналитические функции/ М.А.Евграфов. – М.: Наука, 1991.
5.
Вышегородцева А.И., Ситник С.М.
О математическом алгоритме определения принадлежности точки
треугольнику. Всероссийская научно - практическая конференция "Охрана, безопасность и связь -
2005", часть 1.
6.
Вышегородцева А.И., Ситник С.М. О применении методов теории функций
комплексного переменного к задаче о локализации точки относительно
многоугольника, возникающей при сжатии данных видеонаблюдения. Чернозёмный
альманах научных исследований. Серия "Фундаментальная математика".№ 1
(8), 2009, С. 324--339.
7.
Недошивина А.И., Ситник С.М. Применение методов теории функций
комплексного переменного к одной задаче компьютерной геометрии. Сборник
материалов Всероссийской научно-практической конференции "Охрана,
безопасность и связь-2009". Воронежский институт МВД России, Воронеж,
2010, С. 202--203.
8.
Недошивина А.И. Об одной задаче компьютерной геометрии, применяемой при
сжатии результатов видеонаблюдений. Международная конференция молодых ученых
«Математический анализ и математическое моделирование», Владикавказ,
(Учреждение Российской академии наук Южный математический институт ВНЦ РАН и
РСО-А; 2010г.).
9.
Недошивина А.И. О локализации областей при видеонаблюдении. Международная
конференция Современные методы и проблемы теории операторов и гармонического
анализа и их приложения. Тезисы докладов, Ростов-на-Дону, Южный Федеральный
университет, 2012г. С.85-86
10.
Недошивина А.И. Сжатие видеоинформации с использованием методов теории
функций комплексного переменного. Информационная безопасность в государственных
и негосударственных структурах, “Информтех-2012”. Сборник материалов.
Юго-Западный государственный университет, Курск 2012,
C.45-50.