у него путь готовый есть уже) просто ему нужно сделать координаты контрольных точек, чтоб не писать MoveTo на каждую точку пути)))
вот именно так, есть массив точек xyz пути, надо удалить лишние посредством провода прямых линий, а в геодате по диагонали нельзя двигатса
Добавлено через 1 минуту
Цитата:
Сообщение от mira
а ты попробуй рисавать еще 1 линию вплотную к этой со сдвигом в один пиксель. если обе линии проходят то вперед, пока в мою светлую голову не приходит ничего другова ))
но это хренова :\ так лишние точки будут задействованы и тупить всё будет
вот на рисунке - синие точки это все точки из массива точек пути, бордовым отмечено какие точки должны остатся путём провода линий и узнавания что можно валить нанапрямую
__________________ Начало.
Последний раз редактировалось supernewbie, 19.04.2011 в 19:39.
Причина: Добавлено сообщение
по логике от каждой бордовой точки можно провести к другой бордовой линию и не будет препятствия, примерно так
не, ну стоп...
Путь у тебя синим показан, не?
Как мы можем выбрать точки, которые буду соединены в обход пути?
ЗЫ сейчас кстати конечно вижу, что я тупо разделил на прямые отрезки, но которые по сути излишни местами... А раньше так путь и прокладывал, и ток глядя на твой рисунок осознал, что в случае клиента линейки, там путь во многих случаях и без доп обхода норм должен проложиться (надо будет по этому поводу подумать как следует)....
не, ну стоп...
Путь у тебя синим показан, не?
Как мы можем выбрать точки, которые буду соединены в обход пути?
ЗЫ сейчас кстати конечно вижу, что я тупо разделил на прямые отрезки, но которые по сути излишни местами... А раньше так путь и прокладывал, и ток глядя на твой рисунок осознал, что в случае клиента линейки, там путь во многих случаях и без доп обхода норм должен проложиться (надо будет по этому поводу подумать как следует)....
путь синим, по факту каждый пиксель=координата, надо оставить тока бордовые т.к. по ним буду посылать мув то локейшек епт) для этого надо провести *бучую линию и каждую координату линии проверить на наличие препятствий, если их нет - удаляем координату и так все координаты пока не останутся только одни бордовые, че тупишь))
короче, не напрягайся, просто скажи как нарисовать линию без диагональных точек *ля
и если примеры будут - пиши на дельфе их плз
__________________ Начало.
Последний раз редактировалось supernewbie, 19.04.2011 в 19:59.
Я похоже, что-то не понимаю в этой жизни...)))
Либо синие точки - хрен знает что и хз зачем оно нам надо, либо это кратчайший путь, по которому мы в итоге должны двигаться...
Если синие - кратчайший путь (который похоже построен неверно), то мы не можем двигаться по пути, который ты обозначил зеленым.
А если это не кратчайший путь, то зачем он нам нужен вообще?))
Последний раз редактировалось Aries, 19.04.2011 в 20:05.
Похоже на то
Напоследок выскажу свое мнение и убегаю по делам)))
Короче тут 3 варианта:
1) Синим показан кратчайший путь. Т.е. мы не должны с него отклоняться, т.к. один хрен больше уже не сократишь. И тогда твои фиолетовые точки не в тему.
2) Синий путь - какой-то путь, не пойми зачем показанный, и мы ориентируемся по фиолетовым точкам => (см. *)
3) Синий - якобы кратчайший путь, но судя по зеленой линии он таковым не является и => (см. *)
* необходимо переделывать/писать заново алгоритм поиска пути
ЗЫ пример 1 - показаны точки, которые при идеальном раскладе должны использоваться при прохождении, учитывая, что синий путь - кратчайший.
Пример 2 - то как это делается в моем способе, но есть идея как привести к примеру 1... Вечером могу набросать, если понадобится.