Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Маршруты

Ответ
 
Опции темы Опции просмотра
Старый 09.12.2012, 16:31   #136
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

тысячные считаются для каждой секции (секция есть отрезок между двумя TrackNode, у каждой из которой есть координаты и высота).
gradient:=(Segment.Node1.y - Segment.Node2.y) / (Segment.Length / Translator.MetersInDekart) * 1000;
т.е. разница высот (в метрах), деленная на длину секции в метрах. и помноженное на 1000, чтобы ‰.

плюсы с минусами это понятно, для этого я подумаю над рисование векторов – стрелочек, указывающий направление, откуда считалось значение.

обьединять это хорошая идея, надо подумать.

воспринимается плохо – дык это карта, а не профиль пути все-таки. но я начал с добывания данных, профиль еще нарисуется. а раз данные есть, почему бы не повесить на отдельную галочку. вот мне уже щас хоть бери и печатай и едь..
я еще галочку Абсолютные высоты добавить планирую..

высоту от нуля? а что есть ноль? самая минимальная высота в маршруте? нормировать по ней?
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 09.12.2012, 17:36   #137
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
Zabor хороший собеседник
По умолчанию

Ноль он и Африке ноль, т.е. значение 0.0.

Позволяет отобразить общий ландшафт, с минусом это уже выемка, с плюсом горка.

По алгоритму понял, ты берешь следующий трек как конец расчитываемого.

В W еще есть параметр QDirection, второе значение это уклон секции, не знаю зеркалится ли он в tdb, можно было-бы воспользоваться, но есть подводный камень - он считается от линка, т.е. минус это еще не значит уклон, все зависит от того откуда выкладывали путь.

Наверно по следующему треку вычислять окончание правильно, но как быть если два трека, скажем по 500 метров стыкуются концами? Ведь высота линков ни о чем не скажет, хотя между ними, если они имеют разные уклоны должно что-то быть.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 09.12.2012, 18:50   #138
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

ну ноль есть ноль, а в савелово, например, нету ноля, там ландшафт в среднем на 120 м выше уровня моря. что плохого? плюс и минус с выемкой и горкой – это понятие относительное. одна платформа на 120 м, вторая на 100. что здесь происходит – первая на горке, или вторая в выемке?? то то же неизвестно. а вот если мы знаем среднеландшафтную высоту в вакууме – 120, – то значит вторая платформа в выемке.

w файлы я вообще не трогаю, там загадок своих полно. пока данных хватает..

Добавлено через 3 минуты
Цитата:
Сообщение от Zabor Посмотреть сообщение
По алгоритму понял, ты берешь следующий трек как конец расчитываемого.
внутри TrVectorSections да, там сколько точек, столько рожается и секций, но на одну меньше (10 точек, 9 секций),
а межузловые отношения описаны в ссылающихся узлах TrPins, по ним находим привязанные секции.
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Старый 09.12.2012, 19:23   #139
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
Zabor хороший собеседник
По умолчанию

Ничего плохого, я вот и говорю - уровень расположения станций еще ничего не определяет. За точку отсчета можно в принципе принять среднее значение высоты всех секций, но оно опять не даст 100% гарантии определения спуска/подъема.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 09.12.2012, 19:31   #140
Riddik007
Разработчик
 
Аватар для Riddik007
 
Регистрация: 09.03.2008
Адрес: Украина
Сообщений: 1,843
Вы сказали Спасибо: 3,571
Поблагодарили 3,181 раз(а) в 715 сообщениях
Riddik007 стоит на развилке (репутация по умолчанию)
По умолчанию

я думаю что надо брать самое меньшее значение та и все. потом от него профиль строиться и видно сразу подъемы и спуски.
Riddik007 вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Riddik007 за это полезное сообщение:
Старый 09.12.2012, 19:55   #141
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

ну если речь про диапазон график профиля, то тут все прозрачно: нижняя планка – наименьшая высота, встречаемая в трекнодах, верхняя – наибольшая
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Net за это полезное сообщение:
Старый 10.12.2012, 08:55   #142
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

почти научил читать tsection.dat. пока еще не до конца понял, в какую сторону вертеть секции и как их откладывать
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Старый 10.12.2012, 14:44   #143
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

tsection.dat уже читается.. я так думаю, что для него повесим отдельный пункт меню, один раз вычитаем и сохраним в свой формат (двоичный сжатый), и будет он лежать под боком у маппера.. мгновенно загружаться секции будут, и не придется его парсить каждый раз. а сам tsection.dat меняется относительно редко. поменялся – перечитал его и все дела..

я, кстати, с картами такой же механизм думал сохранить степановку во что-то похожее, и весить будет не 17 метров, а 1 к примеру, грузиться почти в момент, и что главное, не жрать 230 метров на его разбор...
кто за?

Добавлено через 1 час 4 минуты
итого:
tsection.dat - 5.05 МБ, загрузка 2-3 с
двоичный несжатый индексный файл - 1.21 мб, загрузка доли секунды
двоичный сжатый индексный файл - 171 кб, загрузка доли секунды
расход памяти на разбор дерева отсутствует
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Net за это полезное сообщение:
Старый 10.12.2012, 14:46   #144
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
Zabor хороший собеседник
По умолчанию

Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).

А tsection.dat это же динамическая гадость, как ты там разобрался.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 10.12.2012, 15:05   #145
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

Цитата:
Сообщение от Zabor Посмотреть сообщение
Мну за, особенно БД создать по секциям, включая длину кривых и просто из неё подставлять при отрисовке "технической" карты, тогда куски, из которых состоят многие секции из tdb не надо будет вычитывать и для глаза привычнее, а если еще и подписать секции то вообще отпад =)).
это все в идеале конечно же, ломать существующее я не буду, т.к. tdb надо чем то же открывать, пускай чтобы потом и в своем сохранять.. но я думаю не хранить секции, т.к. код кеширования уже есть и работает универсально.
а вот сохранять/читать слепки структур, в которых у меня хранится вся эта куча – это несложно..

Цитата:
А tsection.dat это же динамическая гадость, как ты там разобрался.
раскурил..
а вообще разве не в нем хранится инфа по форме обьектов?
в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота.. в общем, все что надо для красивой отрисовки ломаных дугой...

Добавлено через 9 минут
1.1 beta.
ftp://netanton.no-ip.org/pub/mapper-setup.exe

здесь уже индексатор tsection (кому не лень, выложите свой idx где-то),
а также добавлена отрисовка уклонов, высот...
в общем внимательно смотрим что нового на левой панели
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Net за это полезное сообщение:
Старый 10.12.2012, 15:06   #146
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,938
Вы сказали Спасибо: 11,499
Поблагодарили 10,291 раз(а) в 3,846 сообщениях
Zabor хороший собеседник
По умолчанию

Цитата:
в TrVectorSection, который в tdb, первый параметр каждой записи как раз указывает на TrackSectionID... а в tsection.dat по этому ИД находим запись и смотрим ее форму - длину, радиус кривой, угол поворота..
Угу, только эта связь частенько разрывается, случается данные в tsection.dat кривые, есть несколько типичных ситуаций, когда этот механизм дает сбои в 100% случаев, не удивлюсь, если ты в tsection.dat раскопаешь горы мусора.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 10.12.2012, 15:16   #147
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

дык я пока этот маппер, да и менеджер сценариев до кучи писал, уже стал почетным археологом в этих дебрях, не удивлюсь.
мало того, видел своими глазами, как в TrackItems одна нода платформы вторым концом привязана к светофору
а миллиард потерянных светофоров без линков (или то просто нерабочие по ИСИ?), это давно не новость..

мы что в tsection найдем, то и будем с его помощью дугами рисовать, а остальное как сейчас
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Net за это полезное сообщение:
Старый 11.12.2012, 00:35   #148
Tarik
Опытный
 
Аватар для Tarik
 
Регистрация: 17.05.2011
Адрес: Льв.жд ст.Стрый
Сообщений: 176
Вы сказали Спасибо: 267
Поблагодарили 203 раз(а) в 93 сообщениях
Tarik стоит на развилке (репутация по умолчанию)
Отправить сообщение для Tarik с помощью ICQ
По умолчанию

Вот, косяк вылез. Не везде отображаются уклоны. Там уклон порядка 16 тыщ.
Tarik вне форума   Ответить с цитированием
Старый 11.12.2012, 01:06   #149
Net
Матёрый пользователь
 
Аватар для Net
 
Регистрация: 07.10.2009
Адрес: Украина, Черкассы
Сообщений: 373
Вы сказали Спасибо: 150
Поблагодарили 329 раз(а) в 112 сообщениях
Net стоит на развилке (репутация по умолчанию)
Отправить сообщение для Net с помощью ICQ
По умолчанию

Tarik, можно tdb посмотреть?
__________________
«Внимание, сейчас вылетит птичка» — сказал машинист и полез в ВВК. :D
Net вне форума   Ответить с цитированием
Старый 11.12.2012, 01:17   #150
Riddik007
Разработчик
 
Аватар для Riddik007
 
Регистрация: 09.03.2008
Адрес: Украина
Сообщений: 1,843
Вы сказали Спасибо: 3,571
Поблагодарили 3,181 раз(а) в 715 сообщениях
Riddik007 стоит на развилке (репутация по умолчанию)
По умолчанию

У меня кстати тоже не все уклоны.
"А он там есть" (с) ДМБ
Riddik007 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:10. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?