Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:traffic:timetable:coordinates

Koordinaten im Fahrplan

Ähnlich wie in Fahrzeugmakros gibt es auch im Fahrplan Anwendungsgebiete, die die Angabe von Koordinaten notwendig machen, insbesondere Vorder- und Hintergrundbilder, deren Position über Koordinaten angegeben wird.

Grundsätzlich wird dabei immer die X-Koordinate (horizontal nach rechts) zuerst angegeben, dann die Y-Koordinate (vertikal nach oben). Die Werte werden dabei per Komma getrennt.

X,Y

Horizontale Koordinate (X)

Referenzpunkt am Bild

Die angegebene Koordinate bezieht sich immer auf eine X-Position im Bild selbst. Standardmäßig, wenn nichts weiter angegeben wird, ist diese ganz links im Bild, ebenso bei vorangehendem Kleiner-Zeichen (<).

X
<X

Wenn sich die Koordinate auf die Mitte des Bildes (bzw. bei Bildern mit gerader Anzahl an Pixeln in horizontaler Richtung die Pixelspalte links von der Mitte) beziehen soll, wird ein Asterisk (*) vorangestellt.

*X

Soll sie sich auf den rechten Bildrand beziehen, wird ein Größer-Zeichen (>) vorangestellt.

>X

In den meisten Fällen erspart man sich damit das Herumhantieren mit der Länge einzusetzender Bilder.

Prozentwert relativ zur Trassenlänge

Die grundlegendste Positionierungsmethode in horizontaler Richtung ist relativ zur Länge der Trasse. Ein X-Wert in Form einer einzelnen angegebenen Zahl ist ein prozentualer Anteil der Trassenlänge, gemessen von links.

Relativwert

0 ist also das linke Ende der Trasse, 100 das rechte. Ist der Wert negativ oder größer als 100, liegt die Position außerhalb des sichtbaren Bereichs der Trasse.

Der Nachteil der relativen X-Koordinate ist, daß die tatsächliche absolute Position abhängig ist von der Länge der Trasse, im Vollbildmodus also meistens der Bildschirmauflösung. Wenn man z. B. fünf Objekte auf 10%, 30%, 50%, 70% und 90% der Trassenlänge anordnet, stehen sie auf einem älteren Bildschirm mit einer Auflösung von 1280×1024 Pixeln viel enger beieinander als auf einem 4K-Bildschirm, auf dem die Trassen dreimal so lang sind. Auf explizite Größenangaben für Trassen reagieren relative Positionen ebenso empfindlich.

Positionierung in absoluten Pixelzahlen

Die X-Koordinate kann auch in absoluten Pixelzahlen angegeben werden, die von der Trassenlänge unabhängig sind. Diese müssen sich aber immer auf eine relative Position beziehen und werden zu dieser addiert oder von dieser subtrahiert.

Relativwert+Pixelzahl
Relativwert-Pixelzahl

Wenn also beispielsweise vom linken Bildrand aus gezählt werden soll, wird die Pixelzahl zu 0 addiert.

0+Pixelzahl

Wenn vom rechten Bildrand aus gezählt werden soll, wird nach links gezählt, daher muß die Pixelzahl von 100 subtrahiert werden.

100-Pixelzahl

Zufallswerte

Statt starrer Zahlen kann man auch Zahlenbereiche angeben, innerhalb derer die tatsächlich verwendete Zahl zufällig gewählt wird. An sich funktioniert diese Zufallsauswahl wie überall sonst in Traffic (von-bis); im Fall von relativen X-Koordinaten im Fahrplan aber bestünde Verwechslungsgefahr mit der Subtraktion von Pixelzahlen von Relativzahlen. Um dies zu umgehen, hängt man noch ein Pluszeichen (+) an:

von-bis+

Auch die Pixelzahlen können auf die gleiche Weise zufallsgesteuert werden. Hier sollte allerdings mit Klammern gearbeitet werden.

Relativposition+(von-bis)
Relativposition-(von-bis)

Zufällige Positionierung beiderseits einer Relativposition ist allerdings aufwendiger zu realisieren, weil die Pixelzahlen keine negativen Werte annehmen.

(Relativposition-(0-maximal links))|(Relativposition+(0-maximal rechts))

Wer mag, kann auch beide Werte per Zufall steuern, auch wenn das recht wenig Sinn ergeben dürfte.

Prozent von-Prozent bis+(Pixel von-Pixel bis)

Auffüllen bis zum Trassenrand

Ein Bild oder eine Reihe von Bildern kann mit einfachen Mitteln, also ohne Wiederholung in der Bilderangabe, bis zum Rand der Trasse aufgefüllt werden. Dafür werden zwei Punkte (..) verwendet. Das ist sinnvoll beispielsweise bei Gleiskörpern, Fahrleitungen, Bahnsteigen oder sich wiederholenden Himmelssegmenten.

Wenn die Punkte vor der X-Position stehen, wird von der X-Position nach links aufgefüllt.

..X

Beim Auffüllen nach links ist es übrigens sinnvoll, die X-Koordinate sich auf den rechten Rand des einzufügenden Bildes beziehen zu lassen, damit die Bilderkette auch wirklich an dieser Koordinate endet.

>..X

Stehen sie hinter der X-Position, wird von dieser nach rechts aufgefüllt.

X..

Wenn nur diese Punkte eingetragen werden, wird über die gesamte Trassenlänge aufgefüllt.

..

In diesem Fall wird die genaue X-Position (sozusagen die Phasenlage) der sich wiederholenden Bilder mit einem dritten Wert gewählt, der nach der Y-Koordinate eingetragen wird, um z. B. bei Oberleitungen oder Telegrafenleitungen trotzdem die Kontrolle über die Position der Masten zu haben.

..,Y,Phasenlage

Sinnvollerweise ist dieser Wert zu wählen zwischen null und der Länge des sich wiederholenden Bilderkonstrukts.

Um dann auch noch diese Phasenlage zufällig zu machen, damit sie sich bei mehrfach generierten Trassen nicht wiederholt, wird statt der Phasenlage eine Raute (#) eingetragen.

..,Y,#

Speichern und Wiederaufrufen von X-Koordinaten

X-Koordinaten können anhand bereits gesetzter Bilder gespeichert und zum Setzen weiterer Bilder wieder aufgerufen werden. Damit können relativ einfach Bilder in Abhängigkeit anderer Bilder positioniert werden. Diese Möglichkeit bringt einiges an Vorteilen mit sich:

  • Das Herumrechnen mit Bilderlängen kann damit stark reduziert werden.
  • Man kann Bilder vor oder hinter zufällig positionierte Bilder setzen, aber in Abhängigkeit von deren Position.
  • Man braucht auch fixe X-Koordinaten nur einmal einzugeben, was das Feineinstellen von Vorder- und Hintergründen erheblich erleichtert.

Speichern

Gespeichert werden X-Koordinaten mit einem Gleichheitszeichen (=) und einem Namen. Beides wird hinter die Angabe der X-Koordinate gestellt, also noch vor die Y-Koordinate. Der Name unterliegt dabei denselben Konventionen wie Makronamen.

X=Name,Y

Dabei wird standardmäßig der Punkt am Bild oder an der Bilderreihe abgefragt, mit dem das Bild oder die Bilderreihe positioniert wird. Das kann aber überschrieben werden mit einem entsprechenden Zeichen (<, *, >), das dem Gleichheitszeichen vorangestellt wird.

X=<Name fragt die Position der äußersten linken Pixelspalte des Bildes oder der Bilderreihe ab.

X=*Name fragt die Position der Mitte ab.

X= >Name fragt die Position der äußersten rechten Pixelspalte ab.

Man kann auch mehrere gespeicherte Positionen auf einmal ableiten. Diese werden einfach hintereinandergereiht.

X=<Name links=*Name Mitte= >Name rechts

Aufrufen

Zum Wiederaufrufen einer gespeicherten X-Position wird einfach der Name angegeben, unter dem die Position gespeichert ist. Dabei wird die wiederaufgerufene Position genauso gehandhabt wie eine relative Positionsangabe. Das heißt, Pixelzahlen können zu ihr addiert und von ihr subtrahiert werden, um etwa einen Abstand oder eine Überlappung zu erzeugen.

Ebenso kann auch eine aufgerufene X-Position wahlweise auf das linke Ende (<), die Mitte (*) oder das rechte Ende (>) eines Bildes oder einer Bilderreihe angewendet werden.

Beispiel

Um einmal zu demonstrieren, wie das Speichern und Aufrufen funktioniert: Als erstes wird ein Bahnhofsgebäude positioniert. Die Position soll relativ zum rechten Ende der Trasse definiert werden…

100

…und zwar 10 bis 60 Pixel von diesem entfernt.

100-(10-60)

Damit nun das Gebäude nicht aus der Trasse herausrutscht, wird diese Positionsangabe auf das rechte Ende des Gebäudebildes angewandt.

>100-(10-60)

An das linke Ende soll in einem weiteren Schritt noch etwas angesetzt werden. Also wird diese Position gespeichert:

>100-(10-60)=<LinksVomBahnhof

Danach wird ein Zaun eingezeichnet, der links an den Bahnhof angrenzen soll.

LinksVomBahnhof

Nun überlappt dieses Zaunsegment sich mit dem Bahnhof, weil es über sein linkes Ende positioniert ist. Also muß es über sein rechtes Ende positioniert werden.

>LinksVomBahnhof

Ein einzelnes Zaunsegment sieht nicht gut aus. Man könnte es jetzt wiederholen, aber es müßte sehr oft wiederholt werden, damit auch auf sehr hochauflösenden Bildschirmen kein Zaunende zu sehen ist. Also wird es aufgefüllt bis zum linken Ende der Trasse.

..>LinksVomBahnhof

Zu guter Letzt klafft zwischen dem Zaun und dem Bahnhofsgebäude immer noch eine fünf Pixel große Lücke, weil das Bahnhofsgebäude ein überkragendes Dach hat und daher die Wand des Gebäudes nicht mit dem Bildrand abschließt. Also wird der Zaun fünf Pixel weiter rechts positioniert.

..>LinksVomBahnhof+5

Man könnte später auch Züge in Abhängigkeit vom Bahnhofsgebäude halten lassen. Sagen wir, das Bahnhofsgebäude ist 300 Pixel lang, und die Züge sollen genau mittig vorm eigentlichen Empfangsgebäude halten. Weil an dieses noch ein Güterschuppen anschließt, ist das nicht die Mitte des Bildes, sondern 110 Pixel von links. Und das linke Ende haben wir ja gespeichert. Dann kann man die Halteposition der Züge auf die Position des Gebäudes beziehen:

M=STOP;P=*LinksVomBahnhof+110

Oder wir lassen die Züge mit einer Ungenauigkeit von ± 50 Pixeln halten.

M=STOP;P=*LinksVomBahnhof+(60-160)

Vertikale Koordinate (Y)

Für die vertikale Koordinate gelten andere Regeln. Eine relative Positionierung in Prozent gibt es hier nicht, nur Angaben in Pixeln. Gezählt wird dabei von unten.

Ohne zusätzliche Angaben wird dabei der untere Rand des Bildes relativ zum unteren Rand der Trasse angeordnet. Dieser ergibt sich aus der Größe des Bereichs, den die Trasse unterhalb des eigentlichen Fahrwegs hat.

X,Y

Position relativ zum Fahrweg

Häufiger will man aber Bilder in der Höhe relativ zum Fahrweg positionieren, etwa Gleiskörper oder Bahnsteige. Dann müßte man eigentlich anfangen zu rechnen auf der Grundlage, wie hoch das einzufügende Bild und wie groß der Abstand des Fahrwegs zum unteren Trassenrand ist. Und jedes Mal, wenn man den unteren Trassenrand neu einstellt, muß man die Bilder neu positionieren.

Das kann man sich aber erleichtern, indem vor der Y-Koordinate ein Circumflex (^) eingesetzt wird. Dieser bewirkt, daß der obere Rand des Bildes relativ zum Fahrweg positioniert wird.

X,^Y

Dabei schließt der Wert ^0 genau bündig mit dem Fahrweg ab, was die korrekte Position für Gleiskörperbilder ist.

Position relativ zur Oberleitung

Seit Traffic 4.14 ist es auch möglich, Bilder relativ zur Höhe der Oberleitung zu positionieren. Das funktioniert allerdings nur, wenn es eine Oberleitungshöhe gibt, die durch die Fahrzeuge definiert ist, wenn also beim Erstellen der Trasse schon bekannt ist, was für Fahrzeuge darüber fahren. In $SCENEs funktioniert es also nicht, in $GROUPS nur, wenn die Vorder- und Hintergrundbilder innerhalb der Trassen definiert sind und nicht in der $GROUP.

Für diese Art der Positionierung wird eine Raute (#) vorangestellt. Die eigentliche Position bezieht sich weiterhin auf den unteren Rand des einzufügenden Bildes (wie standardmäßig, aber im Gegensatz zur Positionierung relativ zum Fahrweg). Gemessen wird sie von der Oberleitungshöhe aus, was normalerweise 58 Pixel über dem Fahrweg ist.

X,#Y

Eine durchgehende Oberleitung, deren Mastsockel normalerweise bündig mit dem Fahrweg abschließen, also 58 Pixel unterhalb des Fahrdrahts enden, würde also so positioniert:

..,#-58,#

Der Vorteil dieser Art der Positionierung, sofern sie anwendbar ist, ist, daß es in der Bildvorschau von Oberleitungsbildern einfacher ist zu ermitteln, wie weit der Fahrdraht vom unteren Bildrand entfernt ist, und sie auf der Grundlage dieses Wertes somit einfacher zu setzen ist. Außerdem paßt sich auf Trassen, die jeweils von nur einer einzigen Zusammenstellung befahren werden, die Oberleitungshöhe der Stromabnehmerhöhe der vorbeifahrenden Fahrzeuge an.

Zufallswert

Auch in Y-Richtung kann ein Zufallswert angegeben werden, sofern das sinnvoll ist.

X,von-bis
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden.
Weitere Information
de/traffic/timetable/coordinates.txt · Zuletzt geändert: 2019/01/27 19:13 von marting