Не знаю можно или нет отнести этот алгоритм построения карты роботом
к векторному. Суть его заключается в том, что робот двигается по
полигону прямыми отрезками встречая препятствие от останавливается тем
самым завершая отрезок, разворачивается на какой либо угол и начинает
вновь свое движение до следующего препятствия. Таким способом он
покрывает отрезками всю территорию полигона.
Это видно на рисунки(голубые отрезки и красные точки 1-14)
После этапа разведки, начинается анализ данных. На этом этапе
находятся точки пересечения отрезков(на рисунке зеленые точки 1' и 2')
Когда все пересечения найдены можно приступать к использованию карты
например для того, что бы перейти из точки 4 в току 9 после применения
алгоритма нахождения кротчайшего пути, робот выберет путь 4-5-2'-9. Не
очень понятно объяснил но думаю вы поймете. Почему точка 2' может быть
использована? Потому что движение робота на отрезках 5-6 и 8-9 свободно
и проверенно. Этот пример похож чем то на железные дороги. Самое
сложное в реализации этого алгоритма это то, что робот всегда должен
точно знать где он находится, хотя это важно и для всех подобных
алгоритмов.
Для подключения сторонних библиотек в Microsoft Visual C++ необходимо:
1. Указать папку, где находятся библиотеки
Сервис->Пораметры->Проекты и решения->Каталоги VC++
В появившейся вкладке в выпадающем списке "Показать каталоги для"
выберите "Файлы библиотек". На экране появится список директорий, где
VC будет искать библиотеки. Добавьте в него вашу директорию или
директории.
2. Указать какие именно библиотеки надо включить в проект.
Проект->Свойства->Свойства конфигурации->Компоновщик->Ввод
Добавьте в "Дополнительные зависимости" только имена библиотек которые следует включить в проект.
3. Указать где находятся заголовочные файлы библиотек, т.е. указать
дополнительную директорию в которой VC будет искать файлы подключенные
директивой #include.
Сервис->Пораметры->Проекты и решения->Каталоги VC++
В появившейся вкладке в выпадающем списке "Показать каталоги для"
выберите "Включаемые файлы". На экране появится список директорий, где
VC будет искать файлы. Добавьте в него вашу директорию или директории.
Компьютерное зрение - это на сегодняшний день целая наука, занимающаяся
обработкой изображений, нахождением на них объектов, распознаванием
образов и многим другим. Она включает в себя элементы других наук таких
как математика, искусственный интеллект и д.р. Она сильно взаимосвязана
с ними, так как зрение и понимание увиденного - это сложный процесс.
На сегодняшний день существует много средств облегчающих разработку
программного обеспечения по этой теме. Одним из таких средств является
OpenCV. В этой библиотеке собрано большое количество методов для работы
с изображениями, и с видео. Скорость выполнения программ написаны с
помощью данной библиотеки очень велика, а так же скорость их
разработки. Не буду описывать все её особенности, о них можно узнать на
многочисленных ресурсах в интернете, просто скажу что я недавно начал с
ней работать и пока она мне очень нравится.
Алгоритм закрашивания очень часто используется в компьютерной графике для закрашивания фигур имеющих границы. Так же этот алгоритм может иметь и другое применение например его можно использовать для нахождения центра масс тела по его изображению. Приведу два алгоритма один рекурсивный, а второй линейный. Рекурсивный имеет один недостаток, его нельзя использовать для закрашивания больших фигур так как при большом количестве элементов происходит переполнение стека. Код использует OpenCV для работы с изображениями, но при желании их можно переписать под что угодно.