Hallo zusammen,
ich bin gerade dabei eine Berechnung aufzustellen die mir CIRCA sagt wielange, zum Beispiel ein Zug, um von A nach B zu kommen unter der Berücksichtung von Haltestellenaufenthalten.
Was NICHT implementiert ist, sind die Aspekte der Beschleunigungs- & Bremsvorgänge. (Hat dazu vielleicht jemand eine Idee das recht einfach umzusetzen?)
Folgendes ist bis dato bei rumgekommen:
Delphi-Quellcode:
{
Berechnet die Fahrtzeit anhand der angebenen Parameter:
Parameter
v = ivMax Maximal Geschwindigkeit in km/h
k = iDistance Entfernung in Kilometer
n = iStationCount Anzahl der Haltestellen
Konstante
x = CONST Haltestellen Distanzparameter (Brems- & Beschleunigungsvorgang)
y = CONST Haltestellen Geschwindigkeitsvektor
Formel:
((x*n)/y) + (k-(x*n))/v
}
function calculateTravelTime(ivMax, iDistance, iStationCount: Integer): Extended;
const
STATION_SPEED : Integer = 35;
STATION_DISTANCE : Integer = 3;
var
iStationDistance,
iTotalDistance: Integer;
fStationTime,
fDistanceTime: Extended;
begin
iStationDistance := (STATION_DISTANCE*iStationCount);
iTotalDistance := iDistance - iStationDistance;
fStationTime := iStationDistance / STATION_SPEED;
fDistanceTime := iTotalDistance / ivMax;
Result := fStationTime + fDistanceTime;
end;
Das mit der o.g. Beschleunigung wäre Interessant, da hier bei den Werten (ivMax=280) und (STATION_SPEED=35) abprupt auf 35 km/h runtergeankert wird.
Mir ist natürlich auch klar, das nicht permanent mit 280 km/h über die Gleise geheizt wird. Diverse Streckenabschnitte werden später aber noch in die Berechnung eingefügt.
Wie stelle ich die Beschleunigungswerte und Bremsleistung am besten dar?
Motorleistung, Gewicht usw. spielen hier ja eine Rolle genau wie Gewicht und Bremsleistung pro Kilo o. Tonne?
Mit freundlichen Grüßen
Toby