Механика локомотива
Зная расстояние от производства до города, можно определить время, за которое поезд его проедет. И наоборот, зная время движения поезда по маршруту, можно определить расстояние.
Основными показателями локомотива являются:
- Тяга S - максимальное число вагонов, которые он тянет.
- Скорость V - максимально возможная скорость.
- Ускорение A - количество км/ч, набираемых за секунду разгона (от 1 до 20).
- Износ R - реальная скорость не превышает указанный процент от максимальной.
Движение поезда бывает двух типов: разгон и равномерное движение. График скорости от времени выглядит так:
Разгон. Начальная скорость составляет 0, конечная - VR. Время разгона до максимума составляет T=VR/A секунд. За это время поезд проезжает расстояние D=AT2/2.
Равномерное движение. Скорость составляет VR, за время T поезд проходит расстояние VRT.
Пройденное поездом расстояние - площадь под графиком (интеграл от скорости).
Расчёт времени маршрута
Как определить, за какое время поезд проедет заданное расстояние L при движении на прямом маршруте (производство-город).
Поезд достигает максимальной скорости через T=VR/A секунд. За это время поезд успевает проехать X=AT2/2. Далее возможны два варианта:
Если X<=L, то поезд не успеет разогнаться, и время движения составит sqrt(2L/A) (sqrt - квадратный корень).
Если X>L, то поезд разгонится до максимальной скорости, и время движения составит T+(L-X)/(VR)
Чтобы определить общее время маршрута, нужно умножить эту величину на 2, затем прибавить время ожидания на производстве.
Расчёт расстояния
Пусть у нас известно время ожидания W и общее время движения T на прямом маршруте. Как определить расстояние от производства до города?
Время движения в одну сторону составит T0=(T-W)/2. Время разгона T1=VR/A, за это время поезд проезжает X=AT2/2. Далее опять возможны два варианта:
Если T0⩽T1, то поезд не успеет разогнаться, и расстояние составит AT02/2.
Если T0>T1, то общее расстояние составит X+(T0-T1)VR.
Доход в час
Ожидаемый доход в час расчитывается по формуле: 3600PS/T, где P - цена за вагон, S - тяга, T - время круга.
Формулы
В реальных вычислениях приходится учитывать, что скорость указывается в км/ч, ускорение - в км/ч/с, а расстояние - в метрах. Поэтому в формулах встречается магическая константа 3.6=3600/1000 (3600 секунд в одном часе и 1000 метров в одном километре).
// расчёт времени
function RNTIME(train,dist,wait) {
var t = trainparams_(train);
var r = t.r/100; // износ
var t1 = t.v*r/t.a; // время разгона с учётом износа
var a = t.a/3.6; // ускорение в нужных единицах
var v = t.v*r/3.6; // максимальная скорость с учётом износа
var l1 = a*t1*t1/2; // длина разгона
var l2 = dist-l1; // длина пути на максимальной скорости
if (l2<0) { // если разгон не успевает сделать
t1 = Math.sqrt(2*dist/a);
l2 = 0;
}
t2 = l2/v;
var t0 = t1+t2;
return 2*t0+wait;
}
// расчёт расстояния
function RNDIST(train,time,wait) {
var t = trainparams_(train);
var r = t.r/100; // износ
var t0 = (time-wait)/2; // время пути в одну сторону
var t1 = t.v*r/t.a; // время разгона с учётом износа
var t2 = t0-t1; // время движения на максимальной скорости
if (t2<0) { // если разгон не успевает сделать
t2 = 0;
t1 = t0;
}
var a = t.a/3.6; // ускорение в нужных единицах
var v = t.v*r/3.6; // максимальная скорость с учётом износа
var l1 = a*t1*t1/2; // длина разгона
var l2 = v*t2; // длина пути на максимальной скорости
var l=l1+l2;
return l;
}
(Если кому-то это интересно: функции написаны на языке JavaScript, их можно использовать в таблицах Google Docs)
Длина перегона
Используя формулы, можно посчитать длину различных перегонов. Она окажется разной. Например, вычисленное мною расстояние от города Синевилль до зерна - 750 м, до угля и брёвен - 880 м. В различных прикидках обычно считают, что длина перегона составляет примерно 750-900 м.
Однако эти величины будут не очень точными. Реальное игровое поле состоит из шестиугольников-сот. Размер рельсов одной соты составляет 126 м. При этом в начале и конце маршрута между двумя узлами берётся по половине этой величины.
Так что на самом деле указаные выше примеры расстояний - это 756 и 882 метра (6 и 7 сегментов-сот).
Обратите внимание, что в новых раундах, начиная с версии 6.6.1, длина рельсы в одной соте будет составлять 63 метра.
Интересно, что расстояние от города до ближайших производств на классике обычно составляет 5-6 сот, на карте США 4-5 сот. Ласточки чувствуют эту разницу, в результате первый ап на карте США случается чуть быстрее, чем на классике.