-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur dynamischen
Erzeugung von synthetischen Bildern mit automatischem Detaillierungsgrad,
sowie auf eine Vorrichtung zur Anwendung dieses Verfahrens.
-
Die
in Flugsimulatoren verwendeten Maschinen zur Synthese von Echtzeitbildern
sind in der Lage, Bilder mit einer Qualität nahe der Realität zu erzeugen,
insbesondere aufgrund der massiven Verwendung von Texturen. Die
maximale Anzahl von in jedem Bildzyklus anzeigbaren Polygonen bleibt
aber ihre hauptsächliche
Begrenzung.
-
Man
stellt leider fest, dass diese Anzahl in manchen Situationen sehr
schlecht ausgewertet wird. Unabhängig
von der Sichtweite des Betrachters wird nämlich den entfernten Flächenelementen ebensoviel
Aufmerksamkeit geschenkt wie den nahen Flächenelementen. Bei der Berechnung
ist aber die Relevanz der entfernten Flächenelemente im Bild sehr gering
im Verhältnis
zu denjenigen, die sich nahe dem Betrachter befinden. In der Vergangenheit wurden
bestimmte Versuche durchgeführt,
um die weit entfernt liegende Landschaft zu vereinfachen. Diese
Versuche haben sich aber als wenig wirksam und in Bezug auf die
Verwaltung der Datenbanken als zu einschränkend erwiesen.
-
Die
Anzeige von realen Geländen
in synthetischen Darstellungen ist aufgrund des Vorhandenseins von
Höhenmessungsablesungen
möglich, die
von Radar- oder Satellitenbeobachtungen stammen. Diese Höhenmessungsdaten
haben im allgemeinen die Form eines zweidimensionalen Rasters, das
an jedem Punkt die Höhe
angibt.
-
Das
Geländemodell
(Algorithmen und Datenstrukturen), das diese Höhenmessungsdaten verwaltet,
muss die drei folgenden Forderungen berücksichtigen, die insbesondere
für Flugzeugsteuerungssimulatoren
grundlegend sind:
- – Wiedergabegenauigkeit:
Die
charakteristischen Aspekte der Geländeform (Bergspitzen, Täler) sind
visuelle Referenzpunkte, die für
die Piloten sehr wichtig sind und einen Einfluss auf die Qualität ihres
Trainings und ihrer Entscheidungen während einer Mission haben. Die
Beachtung der Kammlinien ist also eine wesentliche Bedingung für jedes
kartographische Modell.
- – Wirtschaftlichkeit
der Informationen:
Bei gleicher Präzision beeinflusst die Anzahl
von ein Gelände
darstellenden Polygonen direkt die Reaktionszeiten des Echtzeitsimulators
(Wiedergabe, Kollision, Rollen, Sichtverbindung...). Da die Unebenheit
eines Geländes
nicht regelmäßig ist,
muss die Vernetzung sich der Geländeform anpassen,
lose in den Bereichen mit konstanter Neigung, fein in den welligen
Bereichen.
- – Erzeugungsgeschwindigkeit:
Da
die Simulations-Datenbanken tausende von Quadratkilometern abdecken
können,
sind ihre Erzeugungskosten direkt mit der Verwendung von leistungsfähigen Algorithmen
verbunden, die es ermöglichen,
die verschiedenen Datenquellen (Flächenmessung, Höhenmessung,
Lichtmessung) in kürzester
Zeit zu integrieren.
-
Da
die Datenbanken von Flugzeugsimulatoren im allgemeinen sehr groß sind,
ist die Anzahl von das Gelände
darstellenden Flächenelementen
beträchtlich.
Die Bildschirmeinheit kann aber in Echtzeit nur einige tausend Flächenelemente
anzeigen. Um sehr schnell diejenigen zu unterdrücken, die sich nicht im Sichtfeld befinden,
führt man
ein regionales Vorabschneiden durch. Bei der Modellierung der Datenbank
wird das Gelände
in rechtwinklige Zonen aufgeteilt, die Regionen genannt werden.
Einfache Pyramiden-Kasten-Schnittstellenberechnungen
ermöglichen
es, die sichtbaren Regionen auszuwählen und so eine sehr große Anzahl
von Flächenelementen
zu eliminieren.
-
Dieses
Abschneiden ist auch sehr nützlich, wenn
die Datenbank nicht auf einmal in den Speicher geladen werden kann.
Es genügt
dann, nur die Regionen zu laden, die in dem auf den Betrachter zentrierten
Umkreis enthalten sind und einen Radius gleich der Sichtweite aufweisen.
Diese lokale Datenbank wird während
der Bewegung des Betrachters nach und nach aktualisiert: Die Regionen,
die den Umkreis verlassen, werden entladen und durch diejenigen
ersetzt, die in den Umkreis eintreten. So beschränkt nur der Speicherraum die
Größe der Datenbanken.
-
Für geringe
Sichtweiten (< 10
km) und ein mittelmäßig welliges
Gelände
hat sich ein regionales Vorabschneiden als ausreichend erwiesen,
um die Rechenfrequenz der Bilder zu garantieren. Darüber hinaus
bleibt die Ladungsverwaltung der Bildschirmeinheit problematisch.
Eine Überladung
der Bildschirmeinheit mit Polygonen äußert sich in Bildsprüngen aufgrund
von Zyklusüberschreitungen.
Diese Situation ist für
einen Echtzeit-Flugsimulator nur schwer akzeptierbar.
-
Die
einzige derzeit zur Verfügung
stehende Abhilfemaßnahme
besteht darin, die Zonen der Datenbanken zu vereinfachen, in denen
die Anzeige "klemmt". Diese Lösung ist
teuer und unpraktisch. Außerdem
ist die Geländeform
für große Sichtweiten viel
zu stark vereinfacht.
-
Nur
komplizierte Detaillierungsgrad-Algorithmen können die Anzahl von angezeigten
Flächenelementen
drastisch reduzieren, ohne die Bildqualität zu verschlechtern. Diese
Algorithmen entstehen aus der folgenden Feststellung: Die Relevanz
eines Polygons des Geländes,
d. h. die Anzahl von Pixeln, die es auf dem Bildschirm einnimmt,
ist umso geringer, je weiter dieses Polygon entfernt ist. Wenn man
nichts tut, wird ein Teil der graphischen Leistungsfähigkeit der
Maschine damit vertan, Polygone zu stutzen, zu projizieren, zu strukturieren,
usw., die schließlich
nur ein oder zwei Pixel auf dem Bildschirm einnehmen. Die ganze
Schwierigkeit besteht also darin, ein von einem beweglichen Betrachter
gesehenes Gelände zu
vereinfachen, ohne der Relevanz des Bilds zu schaden.
-
Aufgrund
der mathematischen und algorithmischen Komplexität hat kein Konstrukteur von
Simulatoren eine solche Vorrichtung in tatsächlich wirksamer Weise integriert.
-
Ein
erster Versuch besteht darin, verschiedene Detaillierungsgrade für jede Region
vorzuberechnen und in Echtzeit von einem Grad zum anderen umzuschalten.
Leider hat dieses Verfahren viele Nachteile:
- – Abhängigkeit
von den Regionen:
Da die Regionen hier die Rolle von Grenzen
zwischen Detaillierungsgraden spielen, hängt die Qualität des Umschaltens
von ihren Größen ab.
- – Speicherplatzbedarf:
Der
Speicherplatzbedarf begrenzt die Anzahl von Detaillierungsgraden
pro Region und beeinträchtigt
das dynamische Laden der Datenbank. Außerdem variiert diese Anzahl
in Abhängigkeit
von der Geländeform
jeder Region.
- – zu
abrupte Umschaltung:
Je geringer die Anzahl von Detaillierungsgraden einer
Region ist, desto abrupter ist die Umschaltung. Diese Bild-Artefakte
sind für
den Piloten sehr störend.
-
Um
diesen Problemen abzuhelfen, wurden hierarchische Geländemodelle
in Betracht gezogen. Insbesondere ein auf die hierarchische Triangulation gründendes
Modell, das von «Hierarchical
Triangulation for multiresolution surface description» von De Floriani
et al, ACM Transactions on Graphics, Okt. 1995 vorgeschlagen wird,
und ein eine Technik eines sich anpassenden Detaillierungsgrads
anwendendes Modell, das in «An
adaptive level of detail technique for real time display in virtual
reality» von
Widley et al. 24th AIPR Workshop beschrieben wird. Eine Hierarchie
von Detaillierungsgraden innerhalb einer gleichen Datenstruktur
(quad-tree, Delaunay-pyramid) speichert nur die Änderungen, um von einem Detaillierungsgrad
zum anderen überzugehen,
was zu einer großen
Speicherersparnis führt.
Der Suchbaum wird durchlaufen, um die in Abhängigkeit von der erforderlichen
Präzision
anzuzeigenden Dreiecke auszuwählen.
-
Es
bleiben drei größere Nachteile:
- – Globaler
Detaillierungsgrad:
Die Konstruktion der aufeinanderfolgenden
Detaillierungsgrade basiert nur auf einem Präzisionskriterium, unabhängig von
der Position eines Betrachters. Die Reihenfolge des Auftretens der Punkte
ist starr, während
die Relevanz der Punkte eben in Abhängigkeit von der Position des
Betrachters variiert.
- – Veränderungen
des Geländes
nicht möglich:
Diese
Strukturen von hierarchischen Daten sind starr und erlauben keine
Veränderung
des Geländes
in Echtzeit. Es wäre
notwendig, den ganzen Suchbaum neu zu konstruieren, was zu teuer
ist. Zusätzliche
Kosten der Erzeugung der Datenbank. Die Erzeugung der Datenbank
bleibt ein sehr teurer Vorgang. Die mit der Echtzeit verbundenen
Zwänge
verkomplizieren die Modellierung der Szene.
-
Die
vorliegende Erfindung hat ein Verfahren zur dynamischen Erzeugung
von synthetischen Bildern zum Gegenstand, das es ermöglicht,
in Echtzeit synthetische Bilder mit der größtmöglichen Wiedergabegenauigkeit
und der bestmöglichen
Wiedergabe zu erzeugen, ohne große Rechenmittel zu erfordern, unter
Berücksichtigung
der Relevanz der Punkte der verschiedenen Detaillierungsgrade in
Abhängigkeit von
der Position des Betrachters, wobei dieses Verfahren auch Veränderungen
der Konfiguration des Geländes
in Echtzeit erlaubt.
-
Die
vorliegende Erfindung hat auch einen dynamischen Generator von synthetischen
Bildern zum Gegenstand, der Mittel aufweist, die so kostengünstig wie
möglich
sind, vorzugsweise Mittel wie Rechner und Speichermittel für Datenbanken,
die einfach und im Handel erhältlich
sind.
-
Das
erfindungsgemäße Verfahren
besteht darin, eine Datenbank ausgehend von einer Datei zu erstellen,
welche die topographischen Daten hinsichtlich der darzustellenden
Gelände
enthält,
die am wenigsten signifikanten Daten zu entfernen, und dann die
darzustellenden Punkte in Echtzeit in Abhängigkeit vom erforderlichen
Detaillierungsgrad zu berechnen, der selbst von der Position des
Betrachters, von der maximalen Höhe
des darzustellenden Geländes,
von der Sichtweite und dem erforderlichen Detaillierungsgrad abhängig ist,
indem eine Untereinheit der Punkte der Datenbank ausgewählt wird,
die einen Geländeabschnitt
definiert, dessen Detaillierungsgrad sich geändert hat, indem eine unregelmäßige Vernetzung
des ausgewählten
Geländeabschnitts
durchgeführt
wird, vorzugsweise eine Delaunay-Vernetzung, und eine Textur auf
die aus der Vernetzung entstehenden Polygone angewendet wird.
-
Gemäß einem
Aspekt des erfindungsgemäßen Verfahrens
wird die Präzision
der Darstellung des Geländes
durch Hinzufügen
oder Entfernen von Punkten in der Vernetzung lokal geregelt, wobei
die Auswahl dieser Punkte in Abhängigkeit
von der Geländeform,
der Position des Betrachters und der Art des Fahrzeugs erfolgt,
auf dem sich der Betrachter befindet.
-
Die
vorliegende Erfindung wird besser verstanden werden anhand der detaillierten
Beschreibung eines Ausführungsbeispiels,
das in der beiliegenden Zeichnung dargestellt ist, in der zeigen:
-
1 ein
Beispiel für
eine bedingte Delaunay Triangulation, die von der vorliegenden Erfindung
verwendet werden kann,
-
2 ein
Diagramm, das die Entwicklung des Triangulationsfehlers einer Fläche in Abhängigkeit
von der Anzahl der für
ihre Darstellung ausgewählten
Punkte zeigt,
-
3 ein erklärendes Schema, das die Wirkung
des Einfügens
eines signifikanten Punkts auf den Triangulationsfehler zeigt,
-
4 ein
vereinfachtes Schema der Software-Struktur eines graphischen Prozessors,
der das erfindungsgemäße Verfahren
anwendet,
-
5 eine
vereinfachte erklärende
Ansicht in Perspektive, die das Winkelfehlerkriterium definiert,
das von der vorliegenden Erfindung verwendet wird, und
-
6 ein
vereinfachtes Beispiel, das das erfindungsgemäße Kippen eines Detaillierungsgrads
N auf einen Detaillierungsgrad N + 1 erklärt.
-
Um
ein Geländemodell
herzustellen, verwendet die vorliegende Erfindung eine Vernetzungstechnik,
die auf der Delaunay-Triangulation, und genauer auf der bedingten
Delaunay-Triangulation, beruht, die in 1 schematisch
dargestellt ist. Die die Knoten der Vernetzung definierenden Punkte
P können
willkürlich
in der Ebene der verarbeiteten Region 1 verteilt sein.
Diese Region 1 ist eine der Zonen des Geländes. Im
Beispiel der 1 ist diese Zone einfach ein
Rechteck.
-
Diese
Vernetzungstechnik hat viele Vorteile. Zunächst erlaubt es die Einfachheit
der verarbeiteten Objekte (Dreiecke), sie in Echtzeit zu verarbeiten. Dies
beruht insbesondere auf der Tatsache, dass die meisten Algorithmen
der Sichtbarmachung und der geometrischen Manipulation aufgrund
der exklusiven Verwendung von Dreiecken vereinfacht und beschleunigt
werden. Für
eine gegebene Einheit von Punkten (Punkte einer Höhenmessungsablesung)
ist außerdem
die entsprechende Delaunay Triangulation einzig, was es ermöglicht,
diese Punkte in einer beliebigen Reihenfolge zu verarbeiten. Die
bemerkenswerte Eigenschaft der Delaunay Triangulation ist es, Dreiecke
zu erzeugen, die so gleichseitig wie möglich sind. Diese Eigenschaft
ist bei der Bildsynthese sehr vorteilhaft, bei der sie die Probleme
des Aliassing und der digitalen Präzision verringert.
-
Die
Delaunay Triangulation ermöglicht
es, einen Punkt in eine bereits triangulierte Einheit einzufügen oder
daraus zu entfernen, ohne alle Punkte erneut berechnen zu müssen, aufgrund
des nur lokalen Einflusses eines solchen Punkts. Eine solche interaktive
Manipulation begünstigt
auch die Veränderung eines
angezeigten Geländes
in Echtzeit.
-
Die
bedingte Delaunay Triangulation garantiert das Vorhandensein bestimmter
Kanten in der Vernetzung, was es ermöglicht, die Geometrie der in das
Gelände
integrierter Objekte (Straßen,
Eisenbahnstrecken, Bauwerke, ...) zu berücksichtigen.
-
Außer der
Triangulation verwendet die vorliegende Erfindung die Filterung
der angezeigten Geländeflächen. Diese
Filterung ermöglicht
es, die am wenigsten signifikanten Punkte von dieser Fläche zu entfernen,
wodurch die Verarbeitung der anzuzeigenden geographischen Zone vereinfacht
werden kann. Die anschließend
an den verbleibenden Punkten dieser Fläche durchgeführte Triangulation
entspricht dem feinsten Detaillierungsgrad der Datenbank, die diese
Punkte liefert.
-
Die
Filterung besteht darin, die Triangulation des Geländes durch
ein iteratives Verfahren zu verfeinern. Für jeden Punkt P wird die Entfernung
zwischen diesem Punkt und dem Punkt Q berechnet, der die Projektion
von P auf die laufende Triangulation ist. Diese Entfernung entspricht
lokal dem vorhandenen Fehler zwischen der Fläche des angenäherten Geländes (Ergebnis
der laufenden Triangulation) und der Fläche des realen Geländes. Nachdem
so die Fehler betreffend die verschiedenen Punkte berechnet wurden,
wählt man
den Punkt des maximalen Fehlers und fügt ihn in die laufende Triangulation
ein. Man wiederholt diesen Schritt, bis der maximale Fehler der
Punkte der betrachteten Zone kleiner als ein Schwellwert ist, den
man in Abhängigkeit
vom gewünschten
Realismus der Anzeige und unter Berücksichtigung der notwendigen
Rechenleistung zur Überschreitung
dieses Schwellwerts für
verschiedene Geländetypen
festlegt.
-
Die
Kurve der 2 zeigt die Entwicklung des
Fehlers (entsprechend der Entfernung PQ, wie sie oben definiert
wurde) in Abhängigkeit
von der Anzahl von Punkten, die eine gegebene Zone definieren. Da
das Gelände
im allgemeinen keine konvexe Fläche
ist, kann das Einfügen
eines Punkts in die laufende Triangulation zur Wirkung haben, den
Fehler zu vergrößern, anstatt
ihn zu verringern.
-
So
nimmt man an, wie zum Beispiel in 3A dargestellt,
dass man entlang eines gewellten Geländeabschnitts am Anfang über vier
Punkte P1, P2, P3 und P4 verfügt.
Die ursprüngliche
Annäherung
ist das Segment P1–P2.
Der Punkt, der danach eingefügt
wird, ist derjenige, dessen Entfernung zum Segment P1–P2 die
größte ist.
Angenommen, es handelt sich um P3. Man stellt dann fest, dass der neue
Fehler von P4 (Entfernung von P4 zum Segment P3–P2) größer sein kann als die Entfernung
D' zwischen P3 und
seiner Projektion Q3 auf das Segment P1–P2. Im allgemeinen stellt
man fest, dass nach mehreren aufeinanderfolgenden Einfügungen der
Fehler schließlich
unter den Wert (D' im
Beispiel der 3A) sinkt, den er beim Einfügen des
ersten Punkts (P3 im betrachteten Beispiel) hatte. In der Praxis
wiederholt man diesen Einfügungsschritt,
bis der maximale Fehler geringer wird als ein festgelegter Schwellwert.
Im Diagramm der 2 wurden die vorübergehenden
Spitzen aufgrund des Einfügens von
Punkten (wie P4) entfernt, die Geländeformen entsprechen, die
eine zur laufenden Krümmung
umgekehrte Krümmung
haben. Man stellt also gemäß dieser 2 eine
praktisch exponentielle Verringerung des maximalen Fehlers fest,
sobald die Anzahl von eine gegebene Zone definierenden Punkten (mit Abmessungen
in der Größenordnung
von 100 km2) tausend überschreitet. Es ist also für einen
gegebenen Geländeformtyp
(wenig wellig, mittelmäßig gebirgig,
sehr gebirgig ...) möglich,
Versuche durchzuführen,
um eine Kurve wie diejenige der 2 zu erhalten,
und das Verhältnis
zwischen der Genauigkeit der Darstellung des Geländes und der Anzahl von für eine getreue
Darstellung des Geländes
notwendigen Punkten zu optimieren, ohne den graphischen Rechenprozessor
oder "graphischen
Motor" unnötig zu überlasten
(über eine
bestimmte Anzahl von Punkten hinaus wird der Präzisionsgewinn im Vergleich
mit der Erhöhung
der Anzahl von Berechnungen lächerlich
gering).
-
Ausgehend
von den obigen Prinzipien besteht die Erfindung darin, die Datenbank
in Echtzeit so zu verändern,
dass an den graphischen Motor nur die vom Standpunkt des Betrachters
charakteristischen Polygone gesandt werden. Die Genauigkeit des
Geländes
wird lokal durch Hinzufügen
und Entfernen von Punkten in der laufenden Vernetzung geregelt.
Die Auswahl der einzufügenden
und zu entfernenden Punkte berücksichtigt
die Geländeform
(insbesondere, um die Kammlinien genau zu beachten, die für den Piloten
eines Hubschraubers oder eines Flugzeugs ein wichtiges Element der
Landschaft sind), die Position des Betrachters und den Fahrzeugtyp
(Panzer, Flugzeug, Hubschrauber ...).
-
Das
Schema der 4 stellt vereinfacht die beiden
Hauptsoftwareschichten 2, 3 des graphischen Motors
dar, die das erfindungsgemäße Verfahren
anwenden. Die Schicht 2 ist diejenige, die mit der Delaunay
Triangulation geladen ist, welche im asynchronen Modus durchgeführt wird.
Sie führt
unter anderem die Laderegelung des Prozessors (Optimierung der Verarbeitung
von Datenpaketen, die im asynchronen Modus durchgehen), die Berechnung des
Detaillierungsgrads und die Neugenerierung der Datenbank (nach lokaler
Veränderung
der Beschreibung des Geländes)
auf das Format des Host-Prozessors durch.
-
Die
Schicht 3 ist die eigentliche graphische Task, die den
Bildschirm mit einer Taktfolge von zum Beispiel 30 Hz auffrischt.
Diese Task führt
hauptsächlich
das Vorabschneiden der Regionen (um nur die für den Betrachter sichtbaren
Regionen anzeigen zu müssen),
die Anzeige und den Übergang
zwischen zwei Detaillierungsgraden durch.
-
Die
Zusammenwirkung zwischen den beiden Softwareschichten 2 und 3 geschieht
folgendermaßen.
Man nimmt an, dass das graphische System Szenen anzeigt, die ein
Betrachter sehen muss, der sich zu einem gegebenen Zeitpunkt in
einem Kraftfahrzeugsimulator befindet. Die graphische Task 3 sendet
in regelmäßigen Zeitabständen (zum
Beispiel mit der Taktfolge von 30 Hz, wie oben erläutert) die anzuzeigenden
Delaunayvernetzten Polygone (in Abhängigkeit von der Bewegung des
Fahrzeugs). Diese Polygone entsprechen dem laufenden Detaillierungsgrad,
der angezeigt ist. In asynchroner Weise berechnet die Delaunay Task 2 erneut
den geeigneten Detaillierungsgrad, um die Positionsänderung des
Betrachters in Bezug auf die angezeigte Region zu berücksichtigen.
Die Punkte, die dann relevant geworden sind (sichtbar für den Betrachter
und notwendig für
die realistische Definition der Landschaft, d. h. nicht zu weit
vom Betrachter entfernt), werden in die Delaunay-Vernetzung eingefügt. Die
unnütz
gewordenen Punkte werden entfernt. Das Auswahlverfahren dieser Punkte
wird nachfolgend genauer erklärt. Sobald
die neue Vernetzung berechnet ist, ersetzt sie die alte durch Kippen
(in 4 mit "Flip-Flop" bezeichnet).
-
Bei
jeder von der Schicht 3 übertragenen Aufforderung zur Änderung
des Detaillierungsgrads berechnet der graphische Prozessor erneut
die Relevanz der von der Datenbank stammenden Punkte. Bei einem
Betrachter, der sich sehr schnell umdrehen kann (Hubschrauberpilot
oder Panzerpilot), werden alle Geländeregionen der lokalen Datenbank
verarbeitet. Im gegenteiligen Fall (Pilot eines zivilen Flugzeugs,
...) werden nur die Regionen erneut berechnet, die sich auf den
Kurs des Fahrzeugs beziehen. Man kann so die Anzahl von zu verarbeitenden
Regionen verringern. Die Auswahl der in eine Vernetzung einzufügenden oder
aus ihr zu entfernenden Punkte erfolgt unter Beachtung der drei
folgenden Kriterien:
- 1°) Determinismus-Kriterium. Die
für eine
gegebene Position eines Betrachters erhaltene Triangulation muss
immer die gleiche sein, unabhängig vom
von diesem Betrachter eingeschlagenen Weg, um in diese Position
zu gelangen. In anderen Worten muss die Berechnung der Relevanz eines
Punkts von den vorhergehenden Berechnungen unabhängig sein.
- 2°)
Kriterium der Kontinuität
des Aussehens der Regionen. Wenn ein Punkt am Rand einer Region eingefügt oder
entfernt wird, muss er auch für
die benachbarte Region eingefügt
oder entfernt werden. Auf diese Weise wird die geometrische Verbindung
zwischen benachbarten Regionen garantiert.
- 3°)
Kriterium der Beachtung der Geländeform.
Die charakteristischen Punkte des Geländes müssen beibehalten werden.
-
Erfindungsgemäß erfolgt
die Berechnung der Relevanz eines Punkts Pn einer Vernetzung (d.
h. die Bestimmung der Notwendigkeit, diesen Punkt beizubehalten
oder ihn bei einer Änderung
des Detaillierungsgrads zu entfernen) folgendermaßen.
-
Es
sei O der Punkt des Raums, wo sich der Betrachter befindet, und
Qn die senkrechte Projektion (gemäß der lokalen Senkrechten)
von Pn auf die Triangulation Pm, die den Punkt Pn nicht enthält. Die die
Relevanz des Punkts Pn bestimmende Variable ist der Winkel Ea, der
von den Halbgeraden OPn und OQn gebildet wird (siehe 5).
Dieser Winkel Ea kann Winkelfehler genannt werden (entsprechend dem
Entfernen von Pn).
-
Um
das erste oben erwähnte
Kriterium zu erfüllen,
ist es wichtig, dass die Bewertung des Winkels Ea für eine gegebene
laufende Position des Punkts immer den gleichen Wert liefert, da
sonst die Triangulation nicht deterministisch wäre. Es würde sogar ein Instabilitätsphänomen erzeugt,
wenn die Berechnung von Ea von den benachbarten Punkten abhängen würde, da
dann das Einfügen
eines Punkts die Winkelfehler der benachbarten Punkte beeinflussen würde, was
zu einer unendlichen Schleife von Einfügungen und Entfernungen von
Punkten führen
könnte.
Außerdem
würden
die Grenzpunkte zwischen zwei benachbarten Regionen nicht gleichzeitig
eingefügt
oder entfernt, da ihre Winkelfehler unterschiedlich wären, und
das obige Kriterium 2 würde nicht
beachtet.
-
Aus
all diesen Gründen
wird bei der Berechnung von Ea die Entfernung Dn zwischen Pn und
Qn nicht berechnet, indem Pn auf die laufende Triangulation projiziert
wird, die Pn nicht enthält.
Tatsächlich wird
diese Entfernung konstant und wird in der oben in Bezug auf die 3A und 3C erläuterten
Weise vorberechnet. Bei der visuellen Simulation wird dieser Höhenfehler
in einen Winkelfehler in Bezug auf den Betrachter umgewandelt. Wenn
der so berechnete Winkelfehler größer ist als ein Schwellenwert
Eseuil, wird der Punkt Pn eingefügt,
sonst wird er entfernt.
-
Die
graphische Task 3 steuert die Umschaltung des Detaillierungsgrads,
d. h. die Umschaltung zwischen einer Szene vor einem Einfüg-/Entfernungsvorgang
von Punkten aufgrund einer Positionsveränderung des Betrachters, und
einer Szene direkt nach diesem Vorgang. In 6, die eine
Draufsicht ist, ist der Kippvorgang eines Detaillierungsgrads N auf
einen Grad N + 1 vereinfacht dargestellt. Um zu verhindern, dass
der Übergang
zwischen den diesen Detaillierungsgraden entsprechenden Triangulationen
einen "Popping" genannten visuellen
Artefakt erzeugt, sondern praktisch unsichtbar oder zumindest nicht
störend
ist, wird ein "Morphing" durchgeführt, eine
an sich bekannte Interpolationstechnik. Die Morphing-Zwischentriangulation
wird während
der ganzen Zeit angezeigt, die der Morphing-Vorgang dauert (um einen
abrupten Sprung zwischen dem Ausgangs-Detaillierungsgrad und dem Ankunfts-Detaillierungsgrad
zu vermeiden). Diese Zwischentriangulation wird berechnet, indem
die Punkte der Triangulationen der beiden Detaillierungsgrade beibehalten werden,
wobei die möglichen
Schnittpunkte hinzugefügt
werden.
-
Im
vereinfachten Beispiel der 6 sind links
drei benachbarte, nicht koplanare Dreiecke dargestellt, die Teil
des Detaillierungsgrads N sind und zusammen eine linke Fläche mit
einem fünfeckigen Umriss
a, b, c, d, e bilden, dessen zwei Dreiecken gemeinsame Kanten be
und bd sind. Rechts in der Figur ist der Detaillierungsgrad N +
1 dargestellt (man kann genauso vom Detaillierungsgrad N – 1 sprechen),
dessen linke Fläche
den gleichen fünfeckigen Umriss
a, b, c, d, e hat wie im Detaillierungsgrad N, aber mit einem Spitze
f, die sich von oben gesehen im wesentlichen in der Mitte des fünfeckigen
Umrisses befindet. Diese Spitze f ist über fünf Kanten mit den fünf Spitzen
des Fünfecks
verbunden. In der Mitte der 6 ist die
Zwischentriangulation dargestellt.
-
Um
einen praktisch unsichtbaren Übergang zwischen
den Detaillierungsgraden N und N + 1 zu gewährleisten, werden in der Ausgangstriangulation drei
neue Punkte zugewiesen (siehe Darstellung in der Mitte der 6):
- – i1 auf der Kante be (auf der durch be und
af verlaufenden Senkrechten)
- – i2 auf der Kante bd (auf der durch bd und
cf verlaufenden Senkrechten)
- – f
auf der Fläche
bde (auf der durch die Endposition von f verlaufenden Senkrechten).
-
Dann
werden diese drei Punkte progressiv verschoben ("Morphing"-Vorgang), bis:
- – i1 sich auf der Kante of befindet
- – i2 sich auf der Kante fc befindet
- – f
seine Bezugsposition erreicht.
-
Wenn
die Endpositionen dieser drei Punkte erreicht sind, wird der Morphing-Vorgang
beendet, und die neue Triangulation des Detaillierungsgrads N +
1 wird angezeigt (d. h. die dreieckige Fläche rechts in 6).
-
Die
Anhebungsgeschwindigkeit eines Punkts hängt von mehreren Faktoren ab,
insbesondere von mindestens einem der folgenden Faktoren:
- – von
seiner Sichtbarkeit durch den Betrachter. So wird ein Punkt, der
sich nicht im augenblicklichen Sichtfeld des Betrachters befindet,
sofort angehoben;
- – von
der Bewegungsgeschwindigkeit des Betrachters. Wenn er unbeweglich
ist, wird das Anheben der Punkte eingefroren;
- – von
der Entfernung des Punkts zum Betrachter. Bei gleicher Höhe steigt
der Punkt umso schneller an, je weiter er vom Betrachter entfernt
ist.
-
Aufgrund
dieser Merkmale des erfindungsgemäßen Verfahrens erhält man eine
schnelle Umschaltung der aufeinanderfolgenden Detaillierungsgrade
mit dem bestmöglichen
fließenden Übergang zwischen
Bildern.
-
Die
weiteren Vorteile des erfindungsgemäßen Verfahrens sind:
- – eine
Reduzierung des Volumens der Datenbank ohne Qualitätsverlust
des Bilds. Das Anzeigesystem ist in der Lage, ein Bild mit derselben
Wiedergabe zu berechnen wie dasjenige, das durch die Verfahren des
Stands der Technik erhalten wurde, aber mit sehr viel weniger Polygonen:
im Mittel kann man 2/3 der Flächenelemente
entfernen, ohne das Bild zu verschlechtern.
- – Automatisierung
der Ladeverwaltung des graphischen Prozessors. Es passt die Datenbank
an die Leistungen der Hardware durch einfaches Einstellen eines
Parameters an (Schwellenwinkelfehler). Es ermöglicht also, unter Berücksichtigung der
Möglichkeiten
des graphischen und des Anzeigesystems den besten Realismus für die Anzeige
der Szenen zu erhalten.
- – Es
vereinfacht die Erzeugung der Datenbank: die Vorausberechnung der
Detaillierungsgrade wird unnötig
(der geeignete Detaillierungsgrad wird direkt von der Schicht 2 der
Triangulation erzeugt), was in gleichem Maße den Herstellungspreis der
Mittel zur Erzeugung der Datenbank verringert.
- – Es
ermöglicht
die Veränderung
der Darstellung des Geländes
in Echtzeit, insbesondere, um sie an anspruchsvolle Simulationsszenarien
oder an neue Erfordernisse, wie zum Beispiel die interaktive verteilte
Simulation, anpassen zu können.