Programmsystem
für Verkehrs- und
Infrastrukturplanung
Trassenvisualisierung
1
ProVI
Copyright
Die in diesen Unterlagen enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den
Beispielen verwendeten Firmen, sonstigen Namen und Daten sind frei erfunden, soweit nichts anderes angegeben ist. Alle
Rechte, insbesondere des Nachdrucks, der Entnahme von Abbildungen, der Wiedergabe in irgendeiner Form (Druck, Foto-
kopie, Mikrofilm oder in einem anderen Verfahren) sind vorbehalten. Es darf ohne Genehmigung der Firma OBERMEYER
PLANEN + BERATEN GmbH kein Teil dieser Unterlagen für irgendwelche Zwecke vervielfältigt oder übertragen wer-
den, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln, elektronisch oder mechanisch, dies geschieht.
Warenzeichen
Alle in diesen Unterlagen genannten Warenzeichen sind Warenzeichen der jeweiligen Hersteller.
ProVI ist ein Warenzeichen der Firma OBERMEYER PLANEN + BERATEN GmbH.
2
Trassenvisualisierung
Inhalt
1 GRUNDLAGEN ......................................................................................... 4
1.1 EINLEITUNG ............................................................................................. 4
1.2 PROGRAMMAUFRUF............................................................................... 5
2 BESCHREIBUNG...................................................................................... 6
2.1 DIE OBERFLÄCHE.................................................................................... 6
2.2 LADEN EINES TRASSENPROJEKTES .................................................. 12
2.3 OBJEKTE ................................................................................................ 14
2.4 MATERIALIEN ......................................................................................... 20
2.5 NAVIGATION........................................................................................... 22
2.6 TEXTURIERUNG..................................................................................... 28
2.7 FARBEN .................................................................................................. 35
2.8 SCHATTIERUNGSARTEN ...................................................................... 37
2.9 3D-OPTIONEN ........................................................................................ 39
3
ProVI
1 Grundlagen
1.1 Einleitung
Das Programm TRAVIS (Trassenvisualisierung) ist ein von AutoCAD unabhängiges Pro-
gramm für die 3D-Visualisierung von mit ProVI erzeugten Trassen.
Primärziel des Programms ist es, dem Ingenieur schon in der Planungsphase die Möglichkeit
zu geben, möglichst einfach eine 3D-Darstellung erstellen zu können, mit der das Bauvorha-
ben in einem iterativen Prozess visuell auf Fehler überprüft werden kann. Besonderes Au-
genmerk ist dabei auf die häufigen Änderungen beim Trassenmodell zu legen.
Als sekundäres Ziel soll das Programm die Möglichkeit bieten, schnell und ohne großen Ar-
beitsaufwand oder besondere Kenntnisse qualitativ hochwertige Grafiken und Animationen zu
erstellen. Dies ist insbesondere nützlich, wenn diese Aufgabe aufgrund von Zeitmangel oder
fehlendem Budget nicht mit einem Spezialprogramm durchgeführt werden kann.
Die Trassendaten können direkt ohne den Umweg über ein Austauschformat vom Querprofil-
editor QPEDIT importiert werden.
Realisiert wurde TRAVIS mit OpenGL, einem 1992 von Silicon Graphics eingeführten Gra-
fik-Standard, mit dem hochwertige 2D und 3D-Darstellungen in Echtzeit berechnet werden
können.
4
Trassenvisualisierung
1.2 Programmaufruf
Der Programmaufruf erfolgt entweder
• durch Eingabe von TRAVIS in der AutoCAD-Befehlszeile oder
• durch Auswahl des Menüpunktes 3D-Visualisierung im Pull-down-Menü Lageplan Dar-
stellung.
• durch direkten Aufruf der ausführbaren Datei Travis.exe, die sich im Unterverzeichnis
Travis des ProVI-Verzeichnisses befindet.
5
ProVI
2 Beschreibung
Im folgenden wird ein kleiner Überblick über die Elemente der Benutzeroberfläche geliefert:
Menüleiste
Direkt unter der Titelleiste befindet sich die Menüleiste. Sie enthält fünf verschiedene Menüs,
die alle Zugriff auf diverse Hilfsmittel und Steuerelemente bieten. Die Menüs Datei, Rendern
und Ansicht existieren auch als Werkzeugkästen. Diese Menübefehle und ihre untergeordne-
ten Einträge lassen sich auch durch gleichzeitiges Drücken der ALT-Taste und des unterstri-
chenen Buchstabens aufrufen.
6
Trassenvisualisierung
Werkzeugkästen
Die Werkzeugkästen sind wie bei AutoCAD frei zu platzieren. Wenn der Benutzer die Maus
für eine bestimmte Zeitdauer auf eine Schaltfläche der Werkzeugleiste platziert wird ein be-
schreibender Text in einem kleinen Feld neben der Schaltfläche angezeigt. Ist die Statusleiste
aktiviert (im Menü: Fenster / Werkzeugkästen / Statusleiste ist aktiviert), so wird in dieser ein
etwas ausführlicherer Hilfetext angezeigt.
Werkzeugkasten Datei
Mit den Befehlen in diesem Werkzeugkasten können Projektdateien, die mit dem Querprofil-
editor QPEDIT erzeugt wurden, eingelesen oder aktualisiert werden.
Die diversen Einstellungen in TRAVIS, z.B. die Materialbelegung für die einzelnen Streifen,
welche Projektdatei verwendet wird, etc. können in einer Datei gesichert werden . Die Da-
teinamenserweiterung solcher Dateien ist "vis". Zum Öffnen vorhandener Dateien dient das
Symbol . Wurde eine vis-Datei geöffnet so erscheint in der oberen linken Ecke des Fens-
terrahmens der Dateiname.
Seitenansicht und Druckoption sind ebenfalls verfügbar.
Das Öffnen des Objekt- (siehe auch Kapitel Objekte) bzw. Materialfensters (siehe
auch Kapitel Materialien) geschieht wie der Aufruf der 3D-Optionen (siehe auch Kapitel
3D-Optionen) ebenfalls über diesen Werkzeugkasten.
Werkzeugkasten Rendern
Mit den Befehlen in diesem Werkzeugkasten können diverse Einstellungen bezüglich der
Darstellung im Ansichtsfenster getroffen werden, so kann z.B. mit dem Button zwischen
Drahtmodell und gefüllten Flächen umgeschaltet werden. Die Berechnung der durch den
Lichteinfall erzeugten Helligkeit kann ebenfalls wahlweise ein und ausgeschaltet werden .
Mit wird die Gouraud-Schattierung, mit die Texturierung, mit die Texturfilter
und mit der Nebel ein und ausgeschaltet. Lesen Sie mehr dazu in den Kapiteln Schattie-
rungsarten und Texturierung. Um bei einer Fahrsimulation entlang der Trasse eine möglichst
realistische Darstellung zu erhalten, ist es möglich eine Beleuchtung wie von Fahrzeug-
scheinwerfern zu aktivieren .
7
ProVI
Werkzeugkasten Kamera
Fenster Objekte
Als Objekt werden alle zur Darstellung benötigten Elemente bezeichnet, wie z.B. das Gelände
und die Streifen einer Trasse. Aber auch die Kameras werden als Objekte angesehen.
Die Betrachtungsarten der verschiedenen Objekte lassen sich am unteren Rand des Objekt-
Fensters einstellen.
Für genauere Erklärungen lesen Sie bitte das Kapitel Objekte.
8
Trassenvisualisierung
Fenster Materialien
Die Oberflächen der vorhandenen Streifen können mit Materialien belegt werden. Mit diesem
Fenster kann der Anwender den Streifen verschiedene Texturierungen (Rastergrafiken werden
auf Polygonflächen projiziert) zuweisen.
Das Fenster gliedert sich in drei Teile:
Buttonleiste
Mit ihr kann der Anwender Materialien laden oder das Materialvorschaufenster beeinflussen.
Materialvorschaufenster
Es liefert eine Vorschau, wie die Materialien in der Trasse aussehen würden. Zu diesem
Zweck kann wahlweise entweder eine Kugel oder ein Würfel mit einem Material tex-
turiert werden. Zur besseren Ansicht kann das Objekt gedreht werden, indem man auf die
gewünschte Materialvoransicht geht und die linke Maustaste drückt. Das Cursorsymbol wech-
selt und die Materialvoransicht kann durch Ziehen der Maus gedreht werden.
Wird eine neue Trasse importiert, so werden die einzelnen Objekte (Streifen, Gelände etc.)
mit einer Standardfarbe belegt. Der Anwender kann dann im Objektfenster ein Objekt aus-
wählen (keine Objektgruppe, z.B. Trasse) und die entsprechende Materialvoransicht wird ver-
tieft dargestellt.
9
ProVI
In den nachfolgenden Kapiteln wird der Leser genauer mit der Materie vertraut gemacht:
Für eine detailliertere Beschreibung der Arbeitsweise lesen Sie bitte das Kapitel Materia-
lien. Es befasst sich mehr mit der Fragestellung „Wie werden Materialien erzeugt?.
Für eine detailliertere Beschreibung der Ausrichtung der Texturierung lesen Sie bitte das
Kapitel Texturierung. Es befasst sich mehr mit der Fragestellung „Wie kann eine mög-
lichst fotorealistische Darstellung erzielt werden?.
10
Trassenvisualisierung
Ansichtsfenster
Wie bereits eingangs erwähnt können bis zu vier Ansichtsfenster eines Trassenprojektes
gleichzeitig geöffnet sein (Menüleiste / Fenster / Teilen).
Navigiert wird mit den Pfeiltasten Ï Ð Í Î und mit der linken oder rechten Maustaste.
Dabei unterscheidet man zwischen freier und trassengebundener Navigation.
11
ProVI
1. Im Werkzeugkasten Datei den Button drücken oder in der Menüleiste den Eintrag Da-
tei / Trassenprojekt importieren wählen.
2. In der anschließenden Dialogbox eine vom Querprofileditor QPEDIT erzeugte Projektdatei
(P<Achsnummer>.<Extension> wählen.
3. Der folgende Dialog legt die Dreiecksvermaschung der Trasse fest. Dazu muß der Anwen-
der die Stationen festlegen, an welcher Querprofile berechnet werden sollen. Hier ist es
möglich, auf die im Programm TRAZEI berechneten kritischen Stationen zuzugreifen oder
diese direkt berechnen zu lassen. Die zu verwendenden Querprofilstationen werden auch
grafisch dargestellt.
12
Trassenvisualisierung
4. Nun ist die Trasse geladen und der Anwender kann die Darstellung seinen Vorstellungen
entsprechend anpassen.
13
ProVI
2.3 Objekte
Als Objekt werden alle zur Darstellung benötigten Elemente bezeichnet wie z.B. das Gelände
oder die Streifen einer Trasse. Aber auch die Kameras werden als Objekte angesehen.
Die Betrachtungsarten der verschiedenen Objekte lassen sich am unteren Rand des Objekt-
Fensters einstellen.
Registerkarte Streifen
Ist diese Registerkarte aktiviert, so wird eine Baumstruktur mit allen Trassen und dem Gelän-
de angezeigt. Die Trassen gliedern sich wiederum in ihre Streifen auf. Alle Objekte in dieser
Baumstruktur enthalten neben ihrer Beschreibung ein Symbol (z.B. Streifensymbol) und ein
Kontrollkästchen zum Aktivieren der Objektdarstellung im Ansichtsfenster.
Wird ein Objekt selektiert, so wird im Ansichtsfenster die Dreiecksstruktur dieses Objektes
mit einer hell unterlegten Farbe dargestellt.
14
Trassenvisualisierung
Registerkarte Profile
Ist diese Registerkarte aktiviert, so wird eine Baumstruktur aller berechneten Querprofile an-
gezeigt. Die Querprofile gliedern sich wiederum in Streifen. Alle Objekte in dieser Baum-
struktur enthalten neben ihrer Beschreibung ein Symbol (z.B. Streifensymbol).
Wird ein Objekt selektiert, so wird im Ansichtsfenster die Dreiecksstruktur dieses Objektes
von der aktuellen Station bis zur nächsten Querprofilstation mit einer hell unterlegten Farbe
dargestellt. Die Stationsintervalle muß der Anwender beim Laden einer neuen Projektdatei
angeben.
Registerkarte Profile - Der Abschnitt von Station 40 zu Station 50 des Streifens Fahrbahn wird im
Ansichtsfenster (rechts) markiert
15
ProVI
Registerkarte Kameras
Ist diese Registerkarte aktiviert, so erhält der Anwender die Möglichkeit die Kamerapositio-
nen durch Eingabe der Koordinaten und Animationen zu definieren.
Registerkarte Kameras
16
Trassenvisualisierung
Einfache Kamerafahrt:
Bei dieser Variante wird die Kamera entlang eines Streifens bewegt. Hierbei wird die Kamera
nach jedem neuen Bild um eine bestimmte Distanz (Stationsinkrement) weiterbewegt.
Stations-Inkrement
Verändert wird dabei nur die Station (u-Koordinate), nicht jedoch der Abstand vom gewählten
Streifen oder die relative Richtung.
Der Streifen ist im unteren Teil der Registerkarte zu wählen. Wird kein Streifen selektiert, so
ist keine Kamerafahrt mit dieser Variante möglich. Die entsprechenden blauen Buttons im
oberen Teil der Registerkarte zum Befahren der Trasse bzw. zum Erzeugen einer AVI-Datei
sind ausgegraut.
Die Buttons für die einfache Kamerafahrt:
Erzeugen einer AVI-Datei (ein kleiner Dialog öffnet sich, in dem zusätzliche Optionen
zur AVI-Erzeugung eingegeben werden können)
Links: Selektierter Streifen ist Fahrbahn –1, Rechts: Kein Streifen selektiert
17
ProVI
Benutzerdefinierte Kamerafahrt:
Bei dieser Variante muß der Benutzer zunächst einige Kameras in der dafür vorgesehenen
Liste im oberen Bereich der Registerkarte speichern. Dabei wird jeder Kamera eine Ge-
schwindigkeit zugewiesen.
Die Kamerafahrt beginnt bei der ersten und endet bei der letzten Kamera in der Liste. Dazwi-
schen werden Blickpunkte, Richtungen und Geschwindigkeiten interpoliert. Dabei ist sowohl
eine freie Kamerafahrt als auch eine trassengebundene möglich.
Ein Eintrag in der Kameraliste für eine freie Kamerafahrt wird erreicht, indem man
1. keinen Streifen selektiert,
2. die korrekten globalen Koordinaten einträgt oder im Ansichtsfenster zur gewünschten Po-
sition (Ansicht) navigiert. (Siehe auch Navigation),
Globale Koordinaten
18
Trassenvisualisierung
Kamera anpassen: Die Koordinaten für freie oder trassengebundene Kameras überneh-
men. Ein Wechsel von freier Kamera zu trassengebundener Kamera und umgekehrt ist nicht
möglich.
Erzeugen einer AVI-Datei (ein kleiner Dialog öffnet sich, in dem zusätzliche Optionen
zur AVI-Erzeugung eingegeben werden können)
Die Option Darstellung ist sowohl für einfache als auch für benutzerdefinierte Kamerafahrten
gültig und regelt, welche Objekte in der Ansicht dargestellt werden. Objekte deren Abstand
zur Kamera in dem hier spezifizierten Intervall zwischen kleinster und größter Entfernung
liegt, werden auch dargestellt.
Option Darstellung
19
ProVI
2.4 Materialien
In diesem Abschnitt wird die Arbeitsweise des Materialfensters genauer beschrieben.
Wurde eine Trasse bereits geladen, so ist allen Streifen bereits eine Materialvoransicht zuge-
ordnet. In der Regel ist noch kein Material zugewiesen. Dabei können mehrere Streifen (z.B.
Streifen mit gleichem Streifentyp) die gleiche Materialvoransicht besitzen. Der Anwender
kann dann im Objektfenster ein Objekt auswählen (keine Objektgruppe also Trasse) und die
entsprechende Materialvoransicht wird vertieft dargestellt.
Die Zuweisung der Materialien geschieht durch Setzen einer Rastergrafik im Rollout-Dialog
Textur.
Durch Drücken des Buttons "Setzen" kann eine Rastergrafik geladen werden
Anschließend kann der Anwender die Ausrichtung der Texturierung bzw. die Anpassung der
Filter ändern. Lesen Sie dazu das Kapitel Texturierung.
Sind alle Änderungen zur Texturanpassung gemacht worden, so kann das Material abgespei-
chert werden, um es bei einer anderen Trasse wieder zu verwenden.
Für die Farbgebung lesen Sie bitte das Kapitel Farben.
Neues Material
Ein neues Material wird im Materialvorschaufenster eingefügt, d.h. ein zusätzlicher
Würfel (Materialvoransicht) wird im Materialvorschaufenster angezeigt, den der An-
wender mit einem Material zu belegen hat. Das neue Material kann zur Zeit noch kei-
nem Objekt zugewiesen werden.
Material löschen
Ein nicht mehr benötigtes Material wird gelöscht. Es ist darauf zu achten, dass das Ma-
terial keinem Objekt mehr zugewiesen ist, andernfalls erscheint eine Fehlermeldung und
das Material kann nicht gelöscht werden.
Material laden
Mit dieser Option kann man die Materialien aus einer Datei holen.
Material speichern
Mit dieser Option können Materialien gespeichert werden.
Rückseite beleuchten
Die Rückseite der Materialvoransicht wird beleuchtet.
20
Trassenvisualisierung
Kugel anzeigen
Als Materialvoransicht wird eine Kugel dargestellt.
Würfel anzeigen
Als Materialvoransicht wird ein Würfel dargestellt.
21
ProVI
2.5 Navigation
Dieses Kapitel befasst sich mit der Navigation im virtuellen Raum. Erläutert werden die freie
Navigation und die trassengebundene Navigation. Ferner wird auf die Realisierung von ani-
mierten Kamerafahrten eingegangen.
Freie Navigation
Die 3-dimensionalen Objekte müssen auf eine 2-dimensionale Grafik abgebildet werden, so
wie eine Kamera die Wirklichkeit auf einen Film bannt.
Unterschieden werden dabei zwei Arten von Transformationen.
• Die Modelltransformation legt Blickpunkt (Translation) und Blickrichtung (Rotation) fest,
also wo die Kamera steht und wohin sie zeigt.
• Die Projektionstransformation definiert die Perspektive. Das entspricht der Wahl eines
Objektivs und dem Einstellen des Zooms für die Kamera. Hier kann auch eine vordere und
hintere Clipping-Ebene angegeben werden. Objekte, die weiter entfernt sind als die hintere
Ebene oder näher liegen als die vordere Ebene, werden nicht dargestellt. Dies kann dazu
benutzt werden, Schnitte durch einen Körper zu legen.
In TRAVIS wird eine virtuelle Kamera durch ihre Position, einen Richtungsvektor und einen
Hochvektor beschreiben. Die beiden Vektoren stehen dabei immer senkrecht aufeinander und
spannen das Koordinatensystem der Kamera (x‘, y‘, z‘) auf. Der Richtungsvektor zeigt dabei
in die Richtung der negativen z‘-Achse, der Hochvektor in Richtung der y‘-Achse. Die x‘-
Achse kann leicht mit dem Kreuzprodukt von y‘- und z‘-Achse berechnet werden.
22
Trassenvisualisierung
Es lässt sich besonders leicht navigieren, wenn der Benutzer die Kamerastellung durch Ziehen
mit der Maus direkt im Ansichtsfenster verändern kann (Pan). Dabei erscheinen sowohl bei
der Translation als auch bei der Rotation zwei verschiedene Ansätze sinnvoll:
a) Relativ zur in die xy-Ebene projizierten y‘- und z‘-Achse und der z-Achse
b) Relativ zu den Kameraachsen
Welcher der Ansätze am geeignetsten ist hängt von der Anwendung ab.
Eine Navigation relativ zu den globalen Achsen x, y, z ist im allgemeinen nicht sinnvoll, da
dies die momentane Lage der Kamera völlig außer Acht lässt.
Rotation
Bei der Rotation ist die Kamera entsprechend den Benutzereingaben zu gieren, zu neigen oder
zu rollen. In TRAVIS geschieht dies mit der Mausbewegung bei gedrückter rechter Maustaste
und mit den Pfeiltasten Hoch” und Runter”.
Rotation relativ zur in die xy-Ebene projizierten y’- und z’-Achse und der z-Achse
Relativ zur in die xy-Ebene projizierten y‘- und z‘-Achse und der z-Achse
Diese Art der Rotation weist der xy-Ebene eine Sonderstellung zu. Sie ist gut für eine An-
wendung, wie TRAVIS geeignet, da das Interesse des Benutzers vorwiegend den parallel zur
xy-Ebene liegenden Trassen und dem Gelände gilt. Hingegen wäre sie bei einer Simulation
unseres Sternensystems sicher nicht sinnvoll, da es im Weltraum keinen Boden gibt.
Diese Variante ähnelt der Art und Weise, wie sich ein Mensch auf der Erde bewegt. Wenn er
sich umdreht, tut er dies um die vertikale Achse, unabhängig davon, ob er auf ebenem oder
schrägem Gelände steht. Die Neigung seines Kopfes erfolgt um horizontale Achsen.
23
ProVI
Translation
Bei der Translation ist die Kamera entsprechend den Panbewegungen rechts/links, o-
ben/unten, vorne/hinten zu verschieben. In TRAVIS geschieht dies mit der Mausbewegung
bei gedrückter linker Maustaste und den Pfeiltasten Hoch” und Runter”.
In Richtung der in die xy-Ebene projizierten y'- und z'- Achse und der z-Achse
In Richtung der in die xy-Ebene projizierte y‘- und z‘-Achse und der z-Achse
Bei dieser Variante ist die Translation abhängig vom momentanen Richtungswinkel der Ka-
mera, jedoch nicht von ihrer Neigung und ihrem Rollwinkel.
Auch hier wird der xy-Ebene eine Sonderstellung zugewiesen.
24
Trassenvisualisierung
Trassengebundene Navigation
Neben der freien Navigation ermöglicht TRAVIS auch eine trassengebundene Navigation.
Dafür wird zunächst ein beliebiger Bezugstreifen einer Trasse gewählt. Kamerastellungen
können dann auch relativ zu diesem Streifen angegeben werden. Die Position wird dabei
durch die Station, den Horizontalabstand und den Vertikalabstand vom Streifen festgelegt.
Die Richtung wird durch Gieren, Neigen und Rollen relativ zur Richtung der Trassenachse
bestimmt.
Gibt der Benutzer die Kamerastellung mit globalen Koordinaten ein, so müssen daraus die
relativen Koordinaten berechnet werden und umgekehrt. Nur so bleiben die Werte in den Ein-
gabefeldern immer synchron.
Dieser Ansatz erlaubt auch ein Durchfahren der Trasse aus der Sicht eines Verkehrsteilneh-
mers, so kann z.B. für die Ansicht eines LKW-Fahrers ein Vertikalabstand von zwei Metern
von einem Fahrstreifen verwendet werden und für die Sicht aus einem Sportwagen ein Ab-
stand von einem Meter.
Die trassengebundene Navigation bietet dem Benutzer eine wertvolle Hilfe, die Objekte zu
finden, die ihn interessieren. So hat er nicht das Gefühl irgendwo im virtuellen Raum ausge-
setzt worden zu sein.
Bei der Umrechnung von globalen zu relativen Koordinaten steht man vor dem Problem, dass
der Abstand von der Kamera zum Bezugstreifen nicht berechnet werden kann, wenn sie sich
außerhalb des Definitionsbereichs von Streifen oder Achse befindet. Hier können jedoch fol-
gende Vereinfachungen angewendet werden:
• Die Trassenachse wird tangential verlängert.
• Vor dem Streifenbeginn wird zur Berechnung der Abstand des ersten Streifenanfangs
verwendet.
• Hinter dem Streifenende wird der Abstand des letzten Streifenpunkts verwendet.
• In Aussparungen des Streifens wird der Abstand linear interpoliert.
25
ProVI
Trassengebundene Navigation
26
Trassenvisualisierung
27
ProVI
2.6 Texturierung
Dieses Kapitel erläutert den Nutzen von Texturen und wann ihre Anwendung sinnvoll ist. Es
wird erklärt, wie die Texturen auf den Polygonen ausgerichtet werden. Ferner wird auf die
Filter eingegangen, mit denen die Qualität der Rasteroperationen einer Texturierung bestimmt
wird.
Ausrichtung
Wie eine Textur auf einem Polygon ausgerichtet wird, bestimmen die zwei Texturkoordina-
ten s und t, die für jeden Punkt angegeben werden müssen (Texture-Mapping). Sie können
Werte zwischen 0 und 1 annehmen. Mit ihnen wird jeder Polygonecke ein Punkt auf der Tex-
tur zugewiesen. Die Texturteilungen geben an, wie viele Texturen in jeder Richtung auf einen
laufendem Meter projiziert werden sollen. Ferner ist es möglich Texturen zu drehen und ihren
Anfangspunkt zu verschieben.
Texturkoordinaten s und t
28
Trassenvisualisierung
Bei TRAVIS kann die Ausrichtung an den globalen Koordinaten (x, y, z) und an den Trassen-
koordinaten (u, v, w) erfolgen. Bei der ersten Variante können die Texturkoordinaten einfach
aus den Punktkoordinaten berechnet werden. Für die zweite werden hingegen die Stations-
nummer, Achsabstand bzw. die Höhe verwendet.
Im Materialfenster können aus diesen sechs Koordinatenachsen zwei gewählt werden, mit
denen dann die Texturkoordinaten ermittelt werden. Die Koordinaten bezüglich dieser Achsen
werden im folgenden mit k1 und k2 bezeichnet.
Die Texturkoordinaten s und t eines Punktes P berechnen sich folgendermaßen:
⎡ s ⎤ ⎛ ⎡ cosα sin α ⎤ ⎡ k1 ⎤ ⎡ k01 ⎤ ⎞ ⎡Ts ⎤
⎢ t ⎥ = ⎜⎜ ⎢ − sin α ⋅ − ⎟⋅
cos α ⎥⎦ ⎢⎣k 2 ⎥⎦ ⎢⎣k 02 ⎥⎦ ⎟⎠ ⎢⎣Tt ⎥⎦
⎣ ⎦ ⎝⎣
k1 und k2 sind dabei die Koordinaten von P bezüglich den gewählten Koordinatenachsen, k01
und k02 geben die Verschiebung an, α ist die Drehung der Textur und Ts und Tt bestimmen
die Teilung. In diesem Fall wird zuerst gedreht und die Verschiebung erfolgt entlang der ge-
drehten Achsen. Denkbar wäre genauso ein umgekehrtes Vorgehen.
29
ProVI
Texturparameter
Beispiel:
Die Punktkoordinaten sind (10,2; 158,1; 23,8). Die Textur soll an der um 30° gedrehten x-
und y-Achse ausgerichtet werden, eine Teilung von 2 bzw. 3 (Texturen) pro Meter haben und
in Richtung der ersten Achse um 1,5 Meter verschoben sein. Die Texturkoordinaten ergeben
sich dann wie folgt:
⎡ s ⎤ ⎛ ⎡ cos 30° sin 30° ⎤ ⎡ 10,2 ⎤ ⎡1,5⎤ ⎞ ⎡2⎤
⎢ t ⎥ = ⎜⎜ ⎢ − sin 30° cos 30°⎥ ⋅ ⎢158,1⎥ − ⎢ 0 ⎥ ⎟⎟ ⋅ ⎢ 3⎥
⎣ ⎦ ⎝⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎠ ⎣ ⎦
⎡172,77 ⎤ ⎡0,77⎤
=⎢ ⎥ → ⎢0,46⎥
⎣395,46⎦ ⎣ ⎦
Bei jeder ganzen Zahl von s bzw. t beginnt eine neue Texturreihe (Bei s=0 bzw. t=0 beginnt
die erste Zeile bzw. Spalte, bei s=1, bzw. t=1 die zweite, usw.). Um die Stelle in der Textur zu
finden, die zu einem Punkt P gehört, werden deshalb nur die Nachkommastellen von s und t
gebraucht.
30
Trassenvisualisierung
Filter
Die Filter legen die Rasteroperationen fest, mit denen die Texturen auf die Polygonoberflä-
chen projiziert werden. Die zwei Gruppen Vergrößerungsfilter und Verkleinerungsfilter kön-
nen unterschieden werden. Die erste wird angewendet, wenn eine Textur kleiner ist als sie in
der Grafik dargestellt werden soll, z.B. wenn das betreffende Polygon sehr nahe am Betrach-
ter liegt. Die Filter der zweiten Gruppe werden hingegen benutzt, wenn eine Textur verklei-
nert abgebildet werden muss.
Vergrößerungsfilter
Die einfachste Möglichkeit die Farbe eines Pixels auf dem Polygon zu ermitteln ist es, die
Farbe des entsprechenden Pixels auf der Textur zu verwenden. Es wird dafür immer das
nächstliegende Pixel verwendet. Bei einer Vergrößerung resultiert dies in einem „Aufpixeln
der Textur.
Der zweite Vergrößerungsfilter verwendet nicht das nächste Pixel sondern interpoliert ei-
ne Farbe aus den vier nächsten Pixels. Das Resultat hat wesentlich gleichmäßigere Kan-
ten und Farbübergänge.
31
ProVI
Verkleinerungsfilter
Die ersten beiden Verkleinerungsfilter berechnen eine Pixelfarbe analog den Vergrößerungs-
filtern aus dem nächsten Pixel oder den nächsten vier Pixels der Textur. Bei einer starken
Verkleinerung lässt sich damit jedoch kein besonders gutes Ergebnis erzielen. Auffallend sind
besonders die auftretenden Moiré-Effekte, d.h. durch die Verkleinerung eines Gittermusters
erscheinen Bögen und Kreise, wo eigentlich keine sein dürften.
Ein Mipmap
32
Trassenvisualisierung
Die einfachste Anwendung der Mipmaps ist die Verwendung des nächsten Pixels aus
dem Texturexemplar, dessen Größe am besten passt. Als Erweiterung ist es auch hier
möglich die vier nächsten Pixel zu interpolieren.
Die erzielten Ergebnisse sind bei diesen Filtern schon besser, jedoch stören die deutlich
sichtbaren Grenzen, an denen die Verwendung der verschieden großen Texturen wech-
selt.
Eine weitere Verbesserung wird erzielt, wenn nicht einfach die passendste Textur ge-
nommen wird, sondern die Farbe jedes Pixels mit den zwei passendsten Texturen ermit-
telt und dann interpoliert wird.
Auch hier ist es wieder möglich, die vier nächsten Pixel zu interpolieren. Dies wird dann
umgangssprachlich als trilineares (Interpolation von s, t und verschieden großen Textu-
ren) Filtern bezeichnet. Dieses Verfahren erzielt die besten Ergebnisse, ist aber auch am
aufwendigsten. Eine Echtzeitvisualisierung mit diesen Filtern erfordert eine Hardwarebe-
scheunigung.
33
ProVI
34
Trassenvisualisierung
2.7 Farben
Die Farbe, in der ein Objekt letztendlich in einer Grafik erscheint, hängt von zahlreichen Fak-
toren ab.
Materialfarben
Bei OpenGL können 4 verschiedene Materialfarben angegeben werden:
• Die Ambientefarbe legt die Schattierung auf der lichtabgewandten Seite eines Körpers
fest.
• Die Streufarbe dominiert die beleuchtete Körperseite. Liegt die Fläche so, dass ihre Nor-
male direkt auf die Lichtquelle zeigt, wird die volle Intensität der Farbe wirksam. Befindet
sich zwischen Normalenvektor und Lichtstrahl ein Winkel größer als 90°, so hat die Streu-
farbe keinen Einfluss mehr.
• Die Glanzfarbe kommt nur an einigen wenigen Glanzpunkten zur Wirkung, an denen das
Licht aus einer Lichtquelle vom Körper direkt in das Auge des Betrachters reflektiert wird.
Die Größe der Glanzpunkte kann durch die Angabe einer Glanzintensität beeinflusst wer-
den.
• Die Emissionsfarbe bietet die Möglichkeit unabhängig von allen Lichtquellen ein Eigen-
leuchten des Körpers erzeugen. Dadurch werden aber keine anderen Körper erhellt. Stan-
dardmäßig ist die Emissionsfarbe Schwarz, so dass sie keinen Einfluss hat.
Beispiel:
Um eine goldene Kugel darzustellen, könnte man eine rotbraune Ambientefarbe, eine gelbe
Streufarbe und eine weiße Glanzfarbe verwenden.
Lichtquellen
Lichtquellen werden durch eine Ambientefarbe, Streufarbe und eine Glanzfarbe definiert.
Jede dieser Farben interagiert mit den entsprechenden Materialfarben. Sind z.B. Streufarbe
und Glanzfarbe der Lichtquelle schwarz und die Ambientefarbe ist weiß, so werden alle Kör-
per in ihrer Ambientefarbe dargestellt, unabhängig von ihrer Lage und den anderen Material-
farben. Farbige Lichtquellen erhellen Körper mit einer ähnlichen Materialfarbe stärker als
andere. Eine blaue Lichtfarbe würde z.B. einen Körper mit blauen Materialfarben heller er-
scheinen lassen als einen mit roten Farben. Bei mehreren Lichtquellen in einer Szene summie-
ren sich die Farbintensitäten.
35
ProVI
Texturen
Der Einfluss von Texturen auf die Körperfarbe kann verschiedene Resultate haben:
• Die Textur kann die aus Materialfarben und Beleuchtung berechnete Farbe überschreiben.
Der Körper erhält dann die Farben der Textur, unabhängig von anderen Materialeinstellun-
gen und Lichtquellen.
• Die Textur kann mit dieser berechneten Farbe kombiniert werden. Dann lässt sich wieder
erkennen, welche Flächen dem Licht zu- und welche abgewandt sind. Dies hat jedoch ei-
nen Nebeneffekt: z.B. würde eine rote Materialfarbe eine weiße Textur auch rot einfärben,
was im allgemeinen nicht gewollt ist. Die Lösung hierfür ist, die Sättigung der Material-
farben vor dem Rendern auf Null zu setzen. Es werden dann Graustufen verwendet, die
dieselbe Helligkeit haben wie die Materialfarben, und die Farbart beim Rendern nicht be-
einflussen.
36
Trassenvisualisierung
2.8 Schattierungsarten
Um bei einem Körper den Lichteinfall berechnen zu können, muss man vorher seine Norma-
lenvektoren berechnen. Ohne diese ist es nicht möglich festzustellen, ob eine Oberfläche der
Lichtquelle zu- oder abgewandt ist. Der Körper würde dann in jedem Fall nur mit einer kon-
stanten Farbe ausgefüllt. Eine goldene Kugel würde z.B. konstant in gelb dargestellt werden.
Flat-Shading
Beim sogenannten Flat-Shading wird für jedes Polygon eine Normale angegeben. Bei ebenen
Flächen kann diese leicht aus dem Kreuzprodukt zweier Kanten berechnet werden. Die Farbe
wird dann anhand der Normalen einmal berechnet und die gesamte Fläche damit gefüllt.
Der Nachteil bei diesem Verfahren ist, dass so schattierte Oberflächen facettiert erscheinen.
Dies ist umso störender, je stärker eine Fläche gekrümmt ist. Um gute Ergebnisse zu erhalten,
müssen die einzelnen Polygone dann sehr klein angelegt werden.
37
ProVI
Gouraud-Shading
Beim Gouraud-Shading wird für alle Eckpunkte eines Polygons eine eigene Normale angege-
ben. So können runde Körper wesentlich realistischer dargestellt werden, und das mit weniger
Polygonen. An jedem Eckpunkt kann damit eine andere Farbe berechnet werden. Zwischen
den Ecken wird die Farbe linear interpoliert.
Dieses Verfahren kann auch dazu verwendet werden, eine Fläche anders zu schattierten, als es
ihre Form eigentlich erwarten ließe. Bei gekrümmten Körpern ist es nämlich sinnvoll aus den
Normalen benachbarter Flächen einen mittleren Normalenvektor zu berechnen und diesen am
gemeinsamen Eckpunkt der Flächen für die Schattierung zu verwenden. Die Polygone sind
dann zwar immer noch flach, werden aber schattiert als wären sie gekrümmt.
38
Trassenvisualisierung
2.9 3D-Optionen
In diesem Abschnitt werden die Einstellungen, mit denen die Umgebung und Atmosphäre in
TRAVIS festgelegt werden behandelt. Es wird auf die Beleuchtung eingegangen. Ferner wird
erläutert, wie ein realistischer Himmel dargestellt werden kann. Im letzten Abschnitt wird
erklärt, wie mit verschiedenen Kamerapositionen ein Antialising durchgeführt werden kann.
Registerkarte Beleuchtung
TRAVIS bietet derzeit nur 2 Lichtquellen an, obwohl in OpenGL auch mehr verwendet wer-
den können.
Mit der Hauptlichtquelle wird die Sonneneinstrahlung simuliert. Sie befindet sich deshalb
unendlich weit weg und ihre Strahlen treffen mit einem Zenitwinkel von 45° aus südlicher
Richtung auf die Erde.
Die zweite Lichtquelle besteht aus 2 Punktlichtern, die immer in Blickrichtung zeigen, so wie
dies zwei Autoscheinwerfer tun würden. Damit kann eine Trasse auch so dargestellt werden,
wie sie ein Fahrer bei Nacht sehen würde.
Für beide Lichtquellen kann die Ambiente-, Streu- und Glanzfarbe festgelegt werden (siehe
Kapitel Farben).
Registerkarte Himmel
Der Hintergrund kann auf verschiedene Arten dargestellt werden. Die einfachste ist ihn in
einer Farbe zu füllen. Dies ist beim Rendern mit Abstand am schnellsten, wirkt jedoch nicht
besonders realistisch.
In der Natur kann bei wolkenlosem Himmel ein Farbverlauf von Mittelblau im Zenit zu einem
sehr hellen Blau am Horizont festgestellt werden.
Um einen derartigen Himmel in OpenGL darzustellen bedarf es einiger Kunstgriffe. In TRA-
VIS wird dazu eine große Kugel verwendet, deren innere Oberfläche den beschriebenen Farb-
verlauf aufweist. Um diesen genau festzulegen, können bis zu 3 verschiedene Farben angege-
ben werden. Zwei Winkel bestimmen die Stellen, an denen die Farben ihre volle Intensität
erreichen. Beim Rendern der Kugel dürfen keine Lichtquellen berücksichtigt werden, da sonst
verschieden helle Stellen am Himmel auftauchen würden.
39
ProVI
Damit sich der Betrachter nicht aus dieser Kugel herausbewegen kann, muss diese mitbewegt
werden, so dass sich der Augpunkt stets im Mittelpunkt der Kugel befindet. Jedoch soll die
Richtung, in die der Betrachter sieht keinen Einfluss auf die Lage der Kugel haben, denn nur
so kann der Effekt erzielt werden, dass der Himmel umso dunkler wird, je weiter man nach
oben sieht.
Ein weiteres Problem stellen die Clipping-Ebenen der Kamera dar, die bei ungünstiger Lage
das Zeichnen des Himmels verhindern können. Deshalb muss der Radius der Kugel immer
etwas kleiner gewählt werden als die Entfernung der hinteren Clipping-Ebene.
40
Trassenvisualisierung
Registerkarte Nebel
In der Natur nehmen die Farbsättigung und der Kontrast von Gegenständen mit der Entfer-
nung zum Betrachter ab. Dies kann auch in OpenGL simuliert werden. Dabei wird die Nebel-
farbe unterschiedlich stark über die Objekte geblendet. Je weiter ein Objekt vom Betrachter
entfernt ist, desto mehr dominiert die Nebelfarbe gegenüber der eigentlichen Objektfarbe. Der
Darstellung wird dadurch mehr Tiefe verliehen.
3D-Optionen: Nebel
41
ProVI
Für die Wahl der unterschiedlichen Kamerastellungen gibt es zwei verschiedene Ansätze:
Variation der Kamerapositionen beim normalen Antialising
Bei der ersten wird die Richtung beibehalten und die Position auf der senkrecht zum Rich-
tungsvektor liegenden Ebene leicht variiert.
42
Trassenvisualisierung
unscharf
scharf
Fokusebene
43