Если я правильно понимаю, у вас есть объект, который некоторое время движется с постоянной скоростью, затем останавливается, затем снова запускается (с той же скоростью?), Затем останавливается, затем запускается и так далее? Он движется по одномерной траектории, поэтому расстояние от источника - единственный выход, который вас интересует?
Я предлагаю вам определить вспомогательную функцию с именем speedAt(time T)
, которая может выглядеть примерно так:
if 0 < T <= 25 then 5;
if 25 < T <= 32 then 0;
if 32 < T <= 47 then 3;
if 47 < T <= 49 then 0;
if 49 < T <= 125 then 1;
if 125 < T then 0.
Теперь вам нужно интегрировать эту функцию, чтобы получить расстояние, пройденное за время T, которое представлено областью между графиком T и горизонтальной осью (на графике x-y).
Поскольку это не дифференцируемая или непрерывная функция, вам не придется выполнять сложные математические вычисления, вы можете очень легко интегрировать численно. Немного так:
distanceTravelled = 0
for t = 1 to T
distanceTravelled = distanceTravelled + speedAt(t)
end
Возможно, это выглядит немного беспорядочно. Более сложный подход заключается в получении значения speedAt из структуры данных, но я надеюсь, что вы получите представление.