AviaSkins.Forums

Go Back   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Не самолетом единым ...

Notices

Reply
 
Thread Tools Search this Thread Display Modes
Old 14.09.2009, 12:05   #1
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default Генерация маршрутов

Тут вроде наиболее близкая тема для моего вопроса:

Имеем мод Zuti
Стоит задача в генераторе миссий сгенерировать маршрут для транспорта, чтоб он шел по дороге.
Есть уже проверенные способы или какие идеи для этого?
На дороге используются только точки поворотов.
Самый простой способ, это нарисовать в ПР несколько маршрутов и затем вставлять их.. но это прокатит для статичных карт. Для динамичных же, для разнообразия маршрутов, необходимо рисовать много десятков маршрутов, на некоторых - за сотню. Трудоемко.
Без привязки к дорогам можно делать, но не айс. То по лесам, то по полям, то по воде поедут. Дополнительная проблема - привязка к мостам.

Повторяю - задача для автоматической генерации точек, имея начало и конец.
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 16:06   #2
deSAD
Модератор
 
deSAD's Avatar
 
Join Date: 06.03.2007
Location: Киев, Украина
Posts: 11391
Send a message via ICQ to deSAD Send a message via Skype™ to deSAD
Default

Quote:
Originally Posted by JGr124_boRada View Post
... Имеем мод Zuti
Это который?
__________________
deSAD is offline   Reply With Quote
Old 14.09.2009, 17:01   #3
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Который по движущейся наземке для догфайта.
Да не в нем суть. А в том что появилась возможность запустить колонны ехать, но не по заранее нарисованным в ПР маршрутам, а чтоб софт генерил маршруты в файл mis. По двум точкам - начало и конец.
Вопрос не совсем в тему форума, но именно тут тусуются креативщики. Не на сухом же спрашивать...
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 19:27   #4
deSAD
Модератор
 
deSAD's Avatar
 
Join Date: 06.03.2007
Location: Киев, Украина
Posts: 11391
Send a message via ICQ to deSAD Send a message via Skype™ to deSAD
Default

Quote:
Originally Posted by JGr124_boRada View Post
Да не в нем суть. А в том что появилась возможность запустить колонны ехать, но не по заранее нарисованным в ПР маршрутам, а чтоб софт генерил маршруты в файл mis. По двум точкам - начало и конец.
Ну, на самом деле, получается, что маршрут нужно не генерировать, а выбирать Выбирать из некоего множества, которое, скажем так, ограничено сеткой дорог. Сетку можно вытащить из map_T.tga, воспользовавшись утилиткой от mr N. Ну а далее задача, насколько я понимаю, превращается в чисто математическую.
__________________
deSAD is offline   Reply With Quote
Old 14.09.2009, 20:07   #5
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Quote:
Originally Posted by deSAD View Post
Ну, на самом деле, получается, что маршрут нужно не генерировать, а выбирать Выбирать из некоего множества, которое, скажем так, ограничено сеткой дорог. Сетку можно вытащить из map_T.tga, воспользовавшись утилиткой от mr N. Ну а далее задача, насколько я понимаю, превращается в чисто математическую.
Это я уже обсасывал. Утилитка дает только дороги. Причем она рисует их а не вырезает.
Для маршрута же необходимы именно точки поворотов. Это сокращает значительно объем данных. Вот если б вытащить повороты только.. это значительно облегчит задачу.
Но и в этом случае боюсь время обсчета будет значительным. Хотя, и не столь критичным.

Тут примерно посчитал. Чтоб на Крым сделать достаточное количество маршрутов - придется минимум 60-80 маршрутов нарисовать.
Но пока это самый реальный способ, учитывая мосты.

Last edited by JGr124_boRada : 14.09.2009 at 20:18
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 20:13   #6
SJack
Местный
 
Join Date: 27.12.2007
Location: Харьков
Posts: 250
Send a message via ICQ to SJack Send a message via Skype™ to SJack
Default

Quote:
Originally Posted by JGr124_boRada View Post
Есть уже проверенные способы или какие идеи для этого?
Ну, идея-то есть. В полном редакторе уже есть код поиска пути. Даже примерно понятно где он там (классы Path, PPoint, PNodes, PathFind). Но там все несколько запутано, так сразу не совсем понятно как это применить вне полного редактора.
SJack is offline   Reply With Quote
Old 14.09.2009, 20:21   #7
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Quote:
Originally Posted by SJack View Post
Ну, идея-то есть. В полном редакторе уже есть код поиска пути. Даже примерно понятно где он там (классы Path, PPoint, PNodes, PathFind). Но там все несколько запутано, так сразу не совсем понятно как это применить вне полного редактора.
Нуу.. туда мне не добраться. Я понимаю, что редактор использует или тот же tga или что-то похожее, и + статики мостов.
Вот выдрать бы алгоритм - в редакторе это делается двумя инсертами - начало и конец, все остальное софт.
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 20:23   #8
Karabas-Barabas
Местный
 
Join Date: 08.02.2009
Posts: 2078
Send a message via ICQ to Karabas-Barabas
Default

Quote:
Originally Posted by JGr124_boRada View Post
Это я уже обсасывал. Утилитка дает только дороги. Причем она рисует их а не вырезает.
Для маршрута же необходимы именно точки поворотов. Это сокращает значительно объем данных. Вот если б вытащить повороты только.. это значительно облегчит задачу.
Но и в этом случае боюсь время обсчета будет значительным. Хотя, и не столь критичным.

Тут примерно посчитал. Чтоб на Крым сделать достаточное количество маршрутов - придется минимум 60-80 маршрутов нарисовать.
Но пока это самый реальный способ, учитывая мосты.
А если проложить маршруты в редакторе?
Хотя бы по основным дорогам. Тупо, в ручную, из одного края к другому.
Там же будут все повороты и мосты.
Останется только все это отсортировать и можно генерить маршруты.
Ну и наконец, как-то же редактор их создает, значит копая глубже можно вытащить вообще сам алгоритм и прикрутить его к генератору миссий.

А, уже написали.

Last edited by Karabas-Barabas : 14.09.2009 at 20:26
Karabas-Barabas is offline   Reply With Quote
Old 14.09.2009, 20:36   #9
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Это я уже сделал. Получил несколько списков
Попробовал такой алгоритм:
беру точку старта. Ищу к ней ближайшую на дороге ( неоптимизировано, долго ищу) Затем от неё в ту или другую сторона по списку тупо копирую точки. тут проблема - посчитать дистанцию, пока только по прямой между стартом и следующей точкой. Но вот например провести маршрут имея 2 точки - два города например.. тут уже клинит мою голову. Только перебор - обсчитываем несколько маршрутов и берем тот который ближе всего подходит..
черт.. такие массивы получаются...
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 20:49   #10
LePage
Местный
 
Join Date: 15.06.2009
Posts: 114
Default

Вручную тяжко будет.
Гляньте на карту Нормандия1 хотя бы.


з/ы/ перебор маршрутов это из теории графов - алгоритм не сильно сложный (вложенные циклы, рекурсивные вызовы + стек). Сложнее построить сам граф, все его отрезки от поворота до поворота и точки ветвлений (перекрестки). Грубо говоря, оцифровать все дороги. Вот как это сделать на автомате, пока не представляю.

Last edited by LePage : 14.09.2009 at 21:26
LePage is offline   Reply With Quote
Old 14.09.2009, 21:17   #11
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Тут можно подойти так - "хватит и 10 колонн на карте", и тогда проблем нет. Но если делать что-то более красивое и логичное, колонны направлять от складов и заводов к точкам снабжения, а пункты меняются каждую миссию, На ГФ, например, если место позволяет. то точки для целей находятся в каждом квадрате, да и не по одной зачастую...
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 21:36   #12
LePage
Местный
 
Join Date: 15.06.2009
Posts: 114
Default

Можно конечно попробовать провести трассировку дорог из map_T.tga на предмет точек поворота.
Вопрос - кто знает - к чему привязаны координаты в Иле?
LePage is offline   Reply With Quote
Old 14.09.2009, 21:42   #13
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Что значит к чему? 1 пиксел = 200 метрам на map_t
JGr124_boRada is offline   Reply With Quote
Old 14.09.2009, 22:41   #14
deSAD
Модератор
 
deSAD's Avatar
 
Join Date: 06.03.2007
Location: Киев, Украина
Posts: 11391
Send a message via ICQ to deSAD Send a message via Skype™ to deSAD
Default

Quote:
Originally Posted by JGr124_boRada View Post
Это я уже обсасывал. Утилитка дает только дороги. Причем она рисует их а не вырезает.
Как сказать ... Кнопки Save As... в блоках дорог сохраняют дороги из map_t в виде отдельных файлов (они там нарисованы черным по белому) Тобто получается 2-битный файл и сделать трассировку такого, ПМСМ, задача для программера не из сложных ... я так думаю (с)
__________________
deSAD is offline   Reply With Quote
Old 14.09.2009, 22:50   #15
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

А, это да. Но я программер-самоучка поневоле. Для меня сложно.
JGr124_boRada is offline   Reply With Quote
Old 15.09.2009, 13:15   #16
LePage
Местный
 
Join Date: 15.06.2009
Posts: 114
Default

Quote:
Originally Posted by JGr124_boRada View Post
Что значит к чему? 1 пиксел = 200 метрам на map_t
Грубо говоря верхний левый угол 00000.00 00000.00
Правый нижний хххххх.00 ххххх.00
Я имею ввиду те координаты что стоят в файле миссии:
(пример)
[0_Chief_Road]
500.00 43500.00 20.00 0 70 5.555555820465088
6300.00 43500.00 20.00
6500.00 43700.00 20.00
9900.00 43700.00 20.00
10100.00 43900.00 20.00
....
и все это в метрах?
LePage is offline   Reply With Quote
Old 15.09.2009, 13:51   #17
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

0 = левый нижний угол.
Цифры в метрах.
JGr124_boRada is offline   Reply With Quote
Old 15.09.2009, 15:10   #18
deSAD
Модератор
 
deSAD's Avatar
 
Join Date: 06.03.2007
Location: Киев, Украина
Posts: 11391
Send a message via ICQ to deSAD Send a message via Skype™ to deSAD
Default

Quote:
Originally Posted by JGr124_boRada View Post
А, это да. Но я программер-самоучка поневоле. Для меня сложно.
Упс Тогда видится два варианта ... Или привлекать SJack'а (прошу простить великодушно, что в третьем лице ) - товарищ, как-никак, программер, или идти на поклон к народу, поддерживающему нынче АДВ - там ведь, ЕМНИП, колонны путешествуют по карте ... нет?
__________________
deSAD is offline   Reply With Quote
Old 15.09.2009, 15:24   #19
JGr124_boRada
Местный
 
Join Date: 19.02.2009
Posts: 450
Default

Жив разве еще АДВ?
Не.. на поклон не пойду никуда. Лоб уже расшиб. Сделаю как смогу.
Я только подсказки прошу.
JGr124_boRada is offline   Reply With Quote
Old 15.09.2009, 17:51   #20
=FPS=Cutlass
Местный
 
Join Date: 06.06.2007
Posts: 597
Send a message via ICQ to =FPS=Cutlass
Default

Quote:
Originally Posted by deSAD View Post
Упс Тогда видится два варианта ... Или привлекать SJack'а (прошу простить великодушно, что в третьем лице ) - товарищ, как-никак, программер, или идти на поклон к народу, поддерживающему нынче АДВ - там ведь, ЕМНИП, колонны путешествуют по карте ... нет?
С АДВшным софтом скорее всего никто не поможет....
Сами ГТ не дадут, а админам с АДВ не разрешат давать....
=FPS=Cutlass is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +3. The time now is 05:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Рейтинг@Mail.ru