он боитса что диагональная линия пути проскочит между двумя такимиже диагональным пикселами геодаты как я понимаю) и получитса типа как итти можно.
а ты попробуй рисавать еще 1 линию вплотную к этой со сдвигом в один пиксель. если обе линии проходят то вперед, пока в мою светлую голову не приходит ничего другова ))
Я похоже, что-то не понимаю в этой жизни...)))
Либо синие точки - хрен знает что и хз зачем оно нам надо, либо это кратчайший путь, по которому мы в итоге должны двигаться...
Если синие - кратчайший путь (который похоже построен неверно), то мы не можем двигаться по пути, который ты обозначил зеленым.
А если это не кратчайший путь, то зачем он нам нужен вообще?))
Последний раз редактировалось Aries, 19.04.2011 в 20:05.
Похоже на то
Напоследок выскажу свое мнение и убегаю по делам)))
Короче тут 3 варианта:
1) Синим показан кратчайший путь. Т.е. мы не должны с него отклоняться, т.к. один хрен больше уже не сократишь. И тогда твои фиолетовые точки не в тему.
2) Синий путь - какой-то путь, не пойми зачем показанный, и мы ориентируемся по фиолетовым точкам => (см. *)
3) Синий - якобы кратчайший путь, но судя по зеленой линии он таковым не является и => (см. *)
* необходимо переделывать/писать заново алгоритм поиска пути
ЗЫ пример 1 - показаны точки, которые при идеальном раскладе должны использоваться при прохождении, учитывая, что синий путь - кратчайший.
Пример 2 - то как это делается в моем способе, но есть идея как привести к примеру 1... Вечером могу набросать, если понадобится.
можно вообще сделать тупо. первичный путь у тебя типа массиваю начинаеш с 1го элемента проводить отрезки сначало до 2го потом до 3го итд пока отрезок не пересечет препятствие. если пересек на элементе 10 преграду то то проводиш новый отрезок от 1 до 9 и начинаеш с 9го проводить отрезки в 10, 11 итд.
тупо но действенно если объемы не столь огромны и вызывать не часто =)