На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Делаю автопилот
    Значит, есть у меня 2d карта и что-то типа автомобиля. Надо что-бы он ехал в точку (x,y) по максимально быстрому маршруту. Конечно, можно просто ехать вперед и, если надо, делать поворот. Но тогда может получится, что он будет ездить по кругу вокруг одной точки. Может есть алгоритм получше?
      Тебе надо почитать про алгоритм "Построение кратчайшего маршрута", если не найдешь в инете (в чём я очень сильно сомневаюсь) пиши, объясню, щас просто время нет.
        Нет, нужно не это.
        Допустим есть автомобиль (настоящий) , и есть точка в которую он должен попасть, и эта точка находится в одном метре от центра автомобиля справо. Таким образом что-бы он мог попасть в эту точку надо его развернуть на 90 градусов, но он может поворачиваться только когда едет, поэтому надо, что бы он отехал немного в сторону, развернулся и приехал в нужную точку, и этот маршрут должен быть оптимальным (или почти).
          Если у тебя есть BP то скачай из исходников (сейчас в incoming) oxota3. Игрушка которую я написал. Если у тебя есть этот самый BP, то я тебе где, что в этой проге надо раскомментировать, чтобы движение (тоже машинки) было наглядней.
          А если нету то я делал следующим образом. Высчитывал угол между направлением машинки (в данный момент) и прямой проходящей через машинку и точку в которую надо попасть. Если угол положительный поворачиваю машину влево, отрицательный вправо. Чтобы машина не дрыгалась можно ввести ограничение: при |угле|<(1/8)*Pi машину не поворачивать.
          Вот и все.
            Поиск минимального пути в лаберинте с различной шириной коридоров можно осуществить по алгоритму Чучундры. Прикол в том, что мы как бы прокладываем нить от начала маршрута в конец, причем нить идет или по стене, или от угла к углу.
              Sorry
              помоему я немного не вьехал в тему.
                http://delphigfx.mastak.ru/doc/path/path.htm
                ;D
                  Такое предложение. Сначала искать самый короткий условный маршрут принимая, что дороги -линии. А потом, устанавливаеш в найденом маршруте ширину дорог(полос), и ищеш самый короткий маршрут учитывая минимальный и макс. радиус поворота машини.
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0237 ]   [ 15 queries used ]   [ Generated: 27.04.24, 16:37 GMT ]