и вновь прога...
- From
- Vovanius Uryvaeff (2:5020/175.2)
- To
- Timoshkevich Denis
- Date
- 2002-11-12T19:27:01Z
- Area
- RU.ALGORITHMS
From: "Vovanius Uryvaeff" <micro-s@vniiofi.ru>
Sun Nov 10 2002 23:46, Timoshkevich Denis wrote to Egor Tsygvintsev:
ET>> Хай, All
ET>> помогите, плиз, написать прогу (на пасе) по этой задаче. хохма во
ET>> входных данных:
ET>> Дана карта местности, разбитая на участки разной проходимости,
ET>> причем области разной проходимости это непересекающиеся многоугольники
ET>> заданные своими вершинами. Необходимо проложить маршрут из точки А в
ET>> точку В требующий минимального времени.
TD> Строиш граф по следующиму принципу:
TD> многоугольники это вершины, а ребра показывают смежность фигур.
Это ты что-то загнул... Твой вариант годится, когда есть ограниченное кол-во
тропинок, и в каждом многоугольнике есть неболее одного перекрестка.
На самом-же деле путь должен представлять собой ломаную, вершины которой
находятся на вершинах многоугольника, либо их границах.
А вот здесь заскоки начинаются. В виде классического графа врядли получится
путь представить.
Разве что использовать следующую модификацию волнового поиска кратчайшего
пути:
"Разбегаться" по окружности во все стороны сразу, увеличивая постоянно время,
то есть кождый раз получая область, которую можно достигнуть за время t+dt.
Область можно представить ограниченной дугами эллипсов. dt можно брать равной
min(tc), где tc - минимальное время достижения любой точки, не покрытой на
данный момент областью достигнутого, или точки касания.
Либо извращаться с вариантом графа, в котором вершины - вершины
многоугольников, где вес каждого звена также придется определять нетривиально,
учитывая изменения маршрута на пересечениях со сторонами многоугольников.
Send Email to vovanius2000<yxo>mail. ru
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)