home

Laborbericht


Grundplatte: Anlegen der Polygone

Eine der wesentlichen Schritte ist das Anlegen der Grundplatte mit Polygonen, deren Höhenkoordinate sich aus den digitalen Geländedaten ergibt.

Hüllkurven

Von Prototyp unverändert übernommen wurde das Berechnen der Streckenhüllkurven. Diese Hüllkurven, die in einem gestaffelten Abstand zur Strecke ermittelt werden, stellen die Grenzlinien dar, ab denen die Gittermaschenweite der Grundplattenpolygone sich ändert. Je weiter weg von der Strecke, desto größer wird die Gitterweite, um letztendlich Polygone einzusparen.

Grundplattenpolygone

Auch beim Anlegen der Polygone wurde einiges vom Prototypen übernommen. Zunächst werden im gesamten von der "Bounding-Box" des digitalen Geländemodells gebildeten Bereichs flächendeckend zweidimensionale Quadrate in den verschiedenen Staffelungen der Gitterweite angelegt.

Dann werden diese Maschenetze gegen die inneren und äußeren begrenzenden Hüllkurven geschnitten, so dass nur der Bereich dieser Maschennetze übrig bleibt, der tatsächlich zwischen den beiden zugehörigen Hüllkurven liegt. Neu ist jetzt, dass die innerste Hüllkurve geprägt wird durch die Umschließende der Streckenlandschaft, um dort einen bündigen Anschluss zu erreichen.

Neu ist auch eine drastische Verringerung der Rechenzeit dadurch, dass alle die Gittermaschen vor dem Hüllkurvenschnitt radikal gelöscht werden, wenn deren Fläche bereits Bestandteil einer quadratischen Gittermasche größerer Weite ist. Die verschiedenen Verfahren des Geländeformers bleiben natürlich rechenintensiv, insbesondere die Polygonschnitte, aber nach dieser Optimierung sollte sich auch auf Rechnern mittlerer Leistung das Kaffeetrinken zwischendurch nur bedingt lohnen.

Eine besondere Behandlung benötigen die Löcher in der Streckenlandschaft. Sind sie klein, oder haben sie schmale Flächen, so werden sie nicht mit den digitalen Höhendaten behandelt, sondern das Loch in der Streckenlandschaft wird schlicht zum Grundplattenpolygon erklärt.

Höhen ausgleichen

Die vom Geländeformer angelegten Gittermaschen aus dem digitalen Geländemodell sind zunächst alle quadratisch. Die Höhe der Eckpunkte wird jeweils durch den direkt ermittelbaren oder sonst bilinear gemittelten Höhenwert der Kartendaten bestimmt. Beim Schnitt gegen die Streckenlandschaft kann es aber in unmittelbarer Nachbarschaft zu Mascheneckpunkten auch mal einen erheblichen Höhenversatz zwischen Geländemodell und Streckenlandschaft geben, je nachdem, wie akkurat die Streckenlandschaft dem digitalen Geländemodell folgt. Durch ein Tiefpassfilter wird daher eine Glättung der Höhendaten vorgenommen, um derartige Geländeabbrüche zu vermeiden. Natürlich kann man solch plötzlichen Abbrüchen auch dadurch zuvorkommen, dass man in der Streckenlandschaft bereits vorher geeignete Dämme, Einschnitte oder Stützmauern anlegt.  

Triangulieren

Beim Schnitt gegen die verschiedenen Hüllkurven werden teilweise aus den ursprünglich quadratischen Gittermaschen Polygone mit deutlich mehr als vier Eckpunkten. Solche im Wortsinne vieleckigen Vielecke können weder vom Streckeneditor noch vom Fahrsimulator vernünftig verarbeitet werden, wenn man sie nicht vorher in Dreiecke zerlegt = trianguliert. Für die Triangulierung wird eine Implementation auf Basis des Seidelschen Algorithmus gewählt, die neben einer sinnvollen Zuordnung der Dreiecke auch noch den Vorteil hat, recht flott zu sein.

Bilder

Die folgenden Bilder sollen einen bessere Eindruck von dem vermitteln, was im bisherigen Text erläutert wurde. Zunächst werden drei Beispiele von Gittermodellen vorgestellt, und anschließend das, was man nachher tatsächlich als Ergebnis bekommt, mit Darstellungen der DX-Vorschau des Streckeneditors:

 

meshes1.gif (63782 Byte)

Bild 1 zeigt quadratische und dreieckige Grundplattenpolygone mit einem Grundraster von 50 m zwischen Streckenlandschaft und einer 200m-Hüllkurve und außerhalb Grundplattenpolygone mit einer Gitterweite von 150 m. Gut zu erkennen ist auch der Effekt der Triangulierung an den Schnittkanten zur Streckenlandschaft und zur 200m-Hüllkurve

 

 

meshes3.gif (53086 Byte)

Bild 2 zeigt ähnlich wie Bild 2 im Streckenlandschafts-Bericht den Bereich der Stützmauern. Erkennbar ist der bündige Abschluss der Grundplattenpolygone mit der Hüllkurve der Streckenlanschaft, aber auch der eine oder andere Höhenversatz. Diese Darstellung ist ohne einen Höhenausgleich (die Glättung der Höhenwerte) erzeugt worden.

 

 

meshes2.gif (44089 Byte)

Bild 3 zeigt einen ähnlichen Ausschnitt wie Bild 3 aus dem Bericht "Streckenlandschaft" mit einem der Löcher der Streckenlandschaft am Bahnsteigende. Zu erkennen ist das mit Dreiecken aufgefüllte Innere des Lochs und außerdem wieder der Anschluss der Grundplattenpolygone an an alle Punkte der (gelben) Hüllkurve der Streckenlandschaft.

 

 

dxprevw1.jpg (10326 Byte)

Bild 4 ist, wie die folgenden auch, ein Screenshot der DX-Vorschau des Streckeneditors und zeigt den nördlichen Beginn der Teststrecke, ein noch eher flaches Tal.

 

 

dxprevw2.jpg (17608 Byte)

Bild 5 ist am nördlichen Kopf des kleinen Bahnhofs aufgenommen. Vor dem rechten Bahnsteig erkennt man das aufgefüllte Loch.

 

 

dxprevw3.jpg (16872 Byte)

Bild 6 zeigt einen Bereich, an dem das Tal enger wird und die Strecke am linken Hang im Einschnitt verläuft. Der Einschnitt in dieser Form ist ohne vorheriges Zutun bei der Streckenlandschaft allein vom Geländeformer berechnet worden. Auf der rechten Seite der Strecke hat sich der Höhenausgleich ausgewirkt und die Höhenpunkte unmittelbar neben der Strecke etwas abgesenkt.

 

 

dxprevw4.jpg (16716 Byte)

Bild 7 zeigt die Gegend um die Stützmauern. Erkennbar ist der bündige Abschluss gegen die durch die Stützmauer gebildete Streckenlandschaftshüllkurve. Erkennbar ist aber auch, das das Originalgelände hier sehr viel sanfter verläuft und die Stützmauer überflüssig ist. In der Realität gibt es übrigens tatsächlich Stützmauern an dieser Strecke, allerdings weiter talaufwärts.


© 2001 Roland Ziegler