Digit писал(а):В общем, проверил векторный вариант на листикеробот поедет достаточно прямо...
Что и требовалось доказать

Digit писал(а):Но все-таки он не в состоянии проехать между двумя препятствиями по центру - он будет прижиматься к одному из препятствий.
А вы когда между двумя домами проходите - тоже обязательно по центру идете или где ближе?
Боитесь стукнуться - увеличивайте SafeDistance.Digit писал(а):А еще решение задачи триангуляции не в статье не описано
Триангуляция то зачем?
сказали же что нафиг её не надо, у меня решено в общем виде будет. Триангуляция - лишь частный случай получится.Digit писал(а):Мы ж не можем сделать полносвязный граф - надо проверять пересечение ребер графа и препятствий... В общем, как-то так
Пересечение отрезка и ломанной - распишу обязательно.
Digit писал(а):=DeaD= писал(а):Может вообще не париться, да в википедию сослаться общую? Алгоритм_Дейкстры
Как думаешь? Или оттуда стырить описалово?
Я в примечание (внизу) вставил ссылку и на Дейкстру и на его алгоритм... Не знаю даже. Может в общих словах, так сказать "для чайников", сделать описание, а за подробностями посылать в Вики?
Наоборот "для продвинутых" описание тут, а для тех кто не вкурил - в вику за подробностями.
Digit писал(а):Рисунков достаточно?
Ща будем смотреть.
Digit писал(а):А зачем обводить препятствия, представленные в виде прямоугольников, прямоугольниками со скругленными углами? Мы ж по-танковски поворачиваем и на время поворота забили...
Банально иначе наша система может ответ дать "фиг проедешь" когда проезд есть, просто двигаться придется коряво

Digit писал(а):Вики писал(а):После построения такой карты границ препятствий можно легко составить граф допустимых путей на базе вершин многоугольников из только что построенной карты и начальной + конечной вершин. При этом, конечно, каждое ребро графа допустимо, если не пересекает какой-либо границы препятствия.
Вот к вопросу о триангуляции, о которой я говорил выше... Надо привести алгоритм, позволяющий построить граф, удовлетворяющий условиям из цитаты.
Будет, будет. Правда при чем тут триангуляция?
Триангуляция вроде - когда по точным данным свои координаты находим.Digit писал(а):...в общем для иллюстрации "на пальцах" засунул туда алгоритм А*. Пойдет? Или вообще теперь огромная статья - никто читать не будет?
Про алгоритм А* - посмотрю что сделано

Добавлено спустя 1 минуту 15 секунд:
Вообще есть желание разнести поиск пути на векторной карте и поиск пути на растровой карте.
А* - к растровой с простейшей дейкстрой.
А мой навороченный алгоритм - к векторной.
Добавлено спустя 15 минут 32 секунды:
Digit писал(а):Но все-таки он не в состоянии проехать между двумя препятствиями по центру - он будет прижиматься к одному из препятствий. А еще решение задачи триангуляции не в статье не описано
Digit в википедии писал(а):Переход от векторной карты к взвешенному графу. Показан один из множества вариантов построения графа на данном наборе вершин.
Аааааа! Я понял, что ты не понял
что значит "один из множества"? На данном наборе вершин граф определяется единственным образом. Пересечение либо есть, либо нет. Все ребра которые не пересекают границы препятствий обязательно есть, остальные нет.И у тебя на графе не хватает огромной кучи ребер. И некоторые вершины непонятно откуда (углы карты, где нет препятствий).

Могу убрать 

С самопересечениями нам реально достаточно соединить все вершины со всеми, а потом последовательно проверить каждое ребро на пересечение с препятствием...
короче, наверное, проще не обращать внимание на эти мои глюки 

Останется из точки старта перемещаться каждый раз в клетку с наименьшим числом (по сравнению с соседями) и все.