24.03.2011, 17:34 | #1 (permalink) |
Новичок
Регистрация: 12.03.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Моделирование волнового алгоритма на С++
В файлах заданы карты двумерных лабиринтов. В программе выбирается карта. Нужна пошаговая демонстрация формирования фронта волны для поиска пути (кратчайшего) между двумя клетками. Двигаться можно только на соседнюю клетку (по вертикали или по горизонтали). Удобнее формировать путь с конца – тогда можно двигаться от начала в любую сторону уменьшения номера шага. На первом шаге в список заносятся координаты клеток, смежных с клеткой конца пути, в них помещается «1». На втором – создается список еще не рассмотренных клеток, в которые можно попасть из клеток, помеченных «1», в них заносится «2». И т.д., пока не будет достигнута клетка начала. При просмотре любого списка клетка, для которой помечены соседи, удаляется из списка. Удобно использовать динамическую структуру типа «очередь». Клетки, занятые препятствиями можно пометить «-1». Для динамической демонстрации распространения фронта волны можно использовать вывод вспомогательной матрицы с числами и матрицы, где препятствия и фронт помечаются квадратиками разного цвета. Перерисовку фронта можно производить в момент перехода на очередной шаг. |
24.03.2011, 17:34 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В ранее созданных темах можно найти важный ответ Моделирование фильтров с использованием MatLab Delphi: моделирование силовых линий электрического поля |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|