2008 Diplom M. Münch - Professur Mediengestaltung

Transcrição

2008 Diplom M. Münch - Professur Mediengestaltung
Fakultät Informatik
Institut für Software- und Multimediatechnik
Lehrstuhl für Mediengestaltung
Entwicklung eines multiperspektivischen Abbildungssystems für
die Arbeitsumgebung BiLL
(Bildsprache LiveLab)
Tobias Münch
Matr. Nr. 2845696
Diplomarbeit
27.03.2008
Verantwortlicher Hochschullehrer:
Prof. Dr.-Ing. habil. Rainer Groh
Wissenschaftlicher Betreuer:
Dipl.-Ing. Arch. Ingmar S. Franke, M.Sc. CV
Selbständigkeitserklärung
Hiermit erkläre ich, Tobias Münch, die vorliegende Diplomarbeit zum Thema Entwicklung
eines multiperspektivischen Abbildungssystems für die Arbeitsumgebung BiLL (Bildsprache
LiveLab) selbständig verfasst und keine anderen als die angegebenen Quellen und
Hilfsmittel verwendet zu haben.
Dresden, 27. März 2008
iii
Danksagung
Mein aufrichtiger Dank gilt all jenen, die mir mit fachlicher und persönlicher Hilfe während
meiner Diplomarbeit zur Seite gestanden haben. Einige Personen verdienen es zudem an
dieser Stelle besonders hervorgehoben zu werden.
Zuerst möchte ich mich bei Prof. Dr.-Ing. habil. Rainer Groh für die Möglichkeit bedanken,
meine Diplomarbeit am Lehrstuhl für Mediengestaltung an der TU Dresden schreiben zu
dürfen. Weiterhin gilt ihm und Dipl.-Ing. Arch. Ingmar S. Franke, M.Sc. CV besonderer
Dank für die fachliche Betreuung und die hilfreichen Ratschläge, die zur Verbesserung
meiner Arbeit beigetragen haben. Außerdem verdienen meine Kommilitonen Enrico Barth,
Thomas Ebner und Jan Wojdziak einen großen Dank für die stets hilfreiche Unterstützung
und die vielen konstruktiven Diskussionen während der Arbeit im Forschungslabor, die
immer angenehm und motivierend zugleich war.
Ein ganz persönlicher Dank gilt meiner Freundin Daniela Bayer, die eigene Interessen
zurücksteckte und mir mit voller Unterstützung beiseite stand. Sie leistete darüber hinaus
wertvolle Dienste bei der sprachlichen Überarbeitung des Textes. Nicht zuletzt verdienen
meine Eltern, Christoph und Christel Münch, einen herzlichen Dank, da sie mir zu jeder
Zeit ein sorgenfreies Studium ermöglichten und mir immer mit Zuspruch zur Seite standen.
iv
Inhaltsverzeichnis
1 Einleitung ........................................................................................................... 1 2 Grundlagen......................................................................................................... 7 2.1 Begriffe der Bildsprache ........................................................................................ 7 2.2 Begriffe der Computergrafik ............................................................................... 10 3 Multiperspektivische Klassen.......................................................................... 15 3.1 Relevanz für die Gegenstandsanalyse .................................................................. 15 3.2 Existierende Klassifikationen................................................................................ 15 3.3 Klassifikation zum Thema Multiperspektive ......................................................... 19 4 Verwandte Arbeiten ........................................................................................ 27 4.1 Kriterium zur Strukturierung der Evaluation......................................................... 27 4.2 Manipulation am Objekt ..................................................................................... 27 4.3 Manipulation am Abbildungsverfahren ............................................................... 31 4.4 Manipulation auf der Bildebene .......................................................................... 36 5 Synthese und Konzeption ............................................................................... 43 5.1 Leitfaden zur konzeptionellen Vorgehensweise ................................................... 43 5.2 Einführung in Bildsprache LiveLab (BiLL) .............................................................. 43 5.3 Anforderungen an Multiperspektive in BiLL ......................................................... 47 5.4 Eignung multiperspektivischer Methoden für BiLL ............................................... 49 5.5 Konzeption multiperspektivischer Abbildungen in BiLL ........................................ 58 6 Praktische Umsetzung ..................................................................................... 73 6.1 Überblick zu den Rahmenbedingungen ............................................................... 73 6.2 Klassenstruktur des Plug-Ins ................................................................................ 73 6.3 Implementierung der Abbildungskomponenten .................................................. 75 6.4 Implementierung der Animationskomponenten .................................................. 87 7 Ergebnisse ........................................................................................................ 95 7.1 Spezifikation der Testbasis .................................................................................. 95 7.2 Auswertung der Leistungsfähigkeit ..................................................................... 97 7.3 Auswertung der visuellen Resultate ..................................................................... 98 8 Zusammenfassung ......................................................................................... 111 8.1 Inhalt ................................................................................................................ 111 8.2 Fazit.................................................................................................................. 111 8.3 Ausblick ............................................................................................................ 112 A Anleitungen zur Benutzung des Plug-Ins ..................................................... 119 B Glossar ............................................................................................................ 125 C Abbildungsverzeichnis .................................................................................. 129 D Tabellenverzeichnis ....................................................................................... 130 E Literatur- und Quellenverzeichnis ................................................................ 131 v
Hinweise
Einige Fachbegriffe werden durch Kursivschrift besonders hervorgehoben, wenn sie für
den jeweiligen Abschnitt von besonderer Bedeutung sind. An dieser Stelle sei zudem
darauf hingewiesen, dass im Glossar (Anhang B) eine Reihe von Fachbegriffen erläutert
werden. Durch Kursivschrift und Anführungszeichen sind zudem auch Zitate im Text
gekennzeichnet
Autoren von referenzierten Arbeiten werden durch KAPITÄLCHEN formatiert. Bei der ersten
Erwähnung eines Autors oder einer Gruppe von Autoren in einem Abschnitt wird der
Quellenverweis mit zusätzlichen eckigen Klammern und dem Jahr der Veröffentlichung
nach dem Harvard Reference Style angegeben.
®
OpenGL ist ein eingetragenes Markenzeichen von Silicon Graphics, Inc.
vi
1 Einleitung
Die visuelle Wahrnehmung des Menschen ist geprägt durch den auf Zentralprojektion
basierenden Aufbau der Augen und der daraus resultierenden Zentralperspektive. Unsere
Erwartungshaltung beim Betrachten von Bildern und Videos ist demnach an die
Einhaltung dieser Perspektive geknüpft. Jedoch unterliegt die visuelle Wahrnehmung ein
paar wichtigen Einschränkungen. Wir verfügen nur über ein begrenztes Sehfeld und
können nur geradlinig schauen. Der Blick um Ecken oder hinter Objekte bleibt uns
verwehrt. Weiterhin können wir zeitgleich nur in eine bestimmte Richtung schauen.
Darstellungen, die von der Zentralperspektive abweichen, werden als optische Täuschungen oder unrealistische beziehungsweise unnatürliche Abbildungen bewertet.
Jedoch gibt es neben der Zentralperspektive viele andere Formen, die die Nachteile der
visuellen Wahrnehmung des Menschen aufheben.
In den folgenden Abschnitten wird erläutert, welche Vorteile sich aus alternativen
Perspektivenformen ergeben und wie sich diese für die Informationsvisualisierung nutzen
lassen. Darüber hinaus werden Ziele definiert, die es im Laufe der Arbeit zu erreichen gilt.
Den Abschluss dieses einleitenden Kapitels soll ein Überblick über Struktur und Aufbau
dieser Arbeit bilden.
Motivation
Abbildungen haben im Allgemeinen eine auf der Zentralperspektive aufbauende Bildkomposition, um der Erwartungshaltung des menschlichen Betrachters in möglichst
hohem Maße zu entsprechen. Die im vorherigen Absatz genannten Einschränkungen der
visuellen Wahrnehmung des Menschen gelten folglich auch für zentralperspektivische
Bilder. Für bestimmte Szenarien ist es jedoch vorteilhaft, ein erweitertes Sichtfeld
beziehungsweise mehrere kombinierte Ansichten in einer Abbildung zu realisieren. Diese
bereits in der Historie der Malerei angewandten Methoden lassen sich unter dem Begriff
der Multiperspektive zusammenfassen.
Damals erkannten die Künstler, dass die strikte Einhaltung einer dominanten Perspektive
nicht immer notwendig ist. Die Verwendung perspektivischer Unterschiede in einem Bild
diente zum Beispiel der gezielten Steuerung der Aufmerksamkeit des Betrachter oder der
Betonung einzelner Objekte. Im Altertum und im Mittelalter wurde dieses Merkmal als
Bedeutungsperspektive bezeichnet (vgl. [GROH 2004]). [FRANKE 2005B] stellt dazu fest:
„Mittelalterliche Bildstrukturen und die der Renaissance lehren Dialoge bewusst in
einer Visualisierung […] zu platzieren und für einen Betrachter […] wahrnehmungsergonomisch zu etablieren, zum Beispiel durch Multiperspektivität im
Bild.“
1
1 Einleitung
Abbildung 1.1 – Multiperspektive in der Malerei: Hugo von der Goes, „Portinari-Altar“, Mittelteil des
dreiteiligen Altars, 1475, [MEYERS 2008] (links oben); Pablo Picasso, „Femme Ecrivant“,
1934, [ARTINFO24.COM 2007] (links unten); M.C. Escher, „Up and Down“, 1947,
[MCESCHER.COM 2007] (rechts)
Als Beispiel für die mittelalterliche Bedeutungsperspektive dient in Abbildung 1.1 das
Altarbildnis von Hugo von der Goes. Man kann erkennen, dass die Personen im Vordergrund kleiner dargestellt werden als Personen im Hintergrund. Dieser Umstand ist mit der
Charakteristik der Bedeutungsperspektive zu erklären, wichtige Objekte und Personen
größer darzustellen als unwichtige, unabhängig von den korrekten, zentralperspektivischen Proportionen. Ausgewählte Objekte werden demnach aus einer gemeinsamen
Perspektive herausgelöst und als eigenständige Perspektiven auf der Bildebene wieder
vereint. Weitere Beispiele für Multiperspektive in der Malerei lassen sich verstärkt in der
Moderne wiederfinden. So zeigen Gemälde von M.C. Escher und Pablo Picasso nicht
2
1 Einleitung
selten multiperspektivische Tendenzen (siehe Abbildung 1.1). Neben der Bedeutung für
die Aufmerksamkeitssteuerung liegt die Absicht der Künstler hier vor allem auf der
Täuschung des Betrachters sowie einer Verstärkung des Ausdrucks.
Diese Effekte, die uns Künstler der Vergangenheit, aber auch der Gegenwart, aufzeigen,
bieten interessante Denkanstöße für eine Übertragung in andere, auf Abbildung von
Informationsräumen basierende, Szenarien. Ein Beispiel ist die rasante Entwicklung der
Computertechnik, in deren Zuge die elektronische Datenverarbeitung und infolgedessen
auch die elektronische Datenvisualisierung im alltäglichen Leben eine immer größere Rolle
spielt. Die vorherrschenden zweidimensionalen Ansätze reichen bei komplexen Datensätzen aber oftmals nicht aus, um ein umfassendes Verständnis der Relationen zwischen
einzelnen Informationen zu vermitteln. Dreidimensionale Verfahren zur Visualisierung von
Informationsräumen sind deshalb aktueller Gegenstand der Forschung.
Abbildung 1.2 – Dreidimensionale Datenvisualisierung in Google™ Earth mittels GE-Graph
[SGRILLO 2007]
In Abbildung 1.2 ist ein dreidimensionaler Datensatz der Verteilung von Krankheiten in
einer Region in Brasilien dargestellt. Wie dieses Beispiel zeigt, basieren aktuelle Verfahren
der dreidimensionalen Datenvisualisierung hauptsächlich auf Verwendung standardmäßiger Abbildungsverfahren, wie Zentral- und Parallelprojektion. Die vorangehend beschriebenen Einschränkungen dieser Projektionsformen wirken sich aber auch in diesen
Szenarien nachteilig aus. Daten, die sich außerhalb des Sichtbereiches befinden oder von
anderen Informationen verdeckt werden, gehen verloren und erschweren einen objektiven
Vergleich aller relevanten Inhalte. Der Effekt verstärkt sich zunehmend, je detaillierter man
einen bestimmten Bereich fokussiert.
3
1 Einleitung
Dieser als Detail-In-Context betitelte Sachverhalt lässt sich mithilfe von Multiperspektive
lösen, indem verschiedene Perspektiven zur Abbildung der Detail- und Überblicksinformationen (Kontext) verwendet werden. Durch Verschmelzung dieser Perspektiven in einer
gemeinsamen Abbildung kann ein fließender Übergang zwischen Detail- und Überblicksinformationen realisiert werden. Über den Einsatz bei der Informationsvisualisierung
hinaus finden Detail-In-Context-Metaphern zunehmend auch bei der Gestaltung von
grafischen Benutzungsschnittstellen Verwendung, wie es bei [DACHSELT & WEILAND 2006]
der Fall ist.
Ein weiteres alltägliches Beispiel für angewandte Multiperspektive stellen Wölbspiegel an
unübersichtlichen Kreuzungen dar. Ihre Aufgabe ist die Erweiterung des eingeschränkten
Sichtbereiches und die zusätzliche Vermittlung von Überblicksinformationen. Der dadurch
erzielte Aspekt der erhöhten Verkehrssicherheit lässt sich allgemein auch auf MenschComputer-Schnittstellen übertragen. So profitieren heute schon professionelle Trainingssimulatoren für Fahr- und Flugzeuge von kombinierten Perspektiven für verschiedene
Blickrichtungen.
Abbildung 1.3 – Dynamischer Fahrsimulator im „Zentrum für Fahrsimulation und Usability-Lab“ der BMW
Group [7-FORUM 2007]
Der in Abbildung 1.3 dargestellte Fahrsimulator zeigt, dass aktuelle Entwicklungen auf
diesem Gebiet sehr kosten- und platzintensiv ausfallen. Anhand neuer multiperspektivischer Techniken wird es möglich sein, die Kombination verschiedener Perspektiven
auch an kleinen Arbeitsplätzen in Echtzeit zu ermöglichen, indem Rechenaufwand und
Darstellungseigenschaften an Desktop-Systeme angepasst werden. Dadurch lässt sich der
Einsatzbereich eines solchen Modells beachtlich erweitern. Vorteile hinsichtlich Leistungsaufnahme und effizienter Darstellung sind zudem sehr hilfreich, wenn multiperspektivische Systeme zum Zweck der Sicherheit in Verkehrsmittel integriert werden. Demnach
ist es denkbar, dass Rückfahrsensoren und spezielle Spiegel für den toten Winkel in
Zukunft durch Kameras ersetzt werden, die dem Fahrer mittels Display im Cockpit zur
Verfügung stehen.
Wenn man den eben behandelten Aspekt der Verkehrssicherheit abstrahiert und zum
generellen Vorteil einer erhöhten Übersicht ableitet, ergeben sich vielfältige Einsatzgebiete
4
1 Einleitung
im Bereich der Informationsvisualisierung. Als spezieller Anwendungsfall soll der dreidimensionale Themenatlas einer Stadt dienen. Dieser erleichtert dem Benutzer die
Orientierung und hilft beim Finden bestimmter Lokalitäten und Sehenswürdigkeiten. Eine
mithilfe von Multiperspektive bereicherte dreidimensionale Abbildung von Straßenzügen
ermöglicht eine geradlinige, schnelle und intuitive Fortbewegung in der virtuellen Welt
und gleichzeitig die Darstellung seitlicher Ansichten auf Gebäude und Details am
Straßenrand. Diese Form der Abbildung hätte für den Betrachter einen ergonomischen
Mehrwert, da er die Richtung seiner Bewegung jederzeit unter Kontrolle behält und
dennoch sein Augenmerk auf Objekte richten kann, die der Bewegungsrichtung
abgewandt sind. Es erschließt sich also ein Vorteil in Bezug auf Fokussierung von Details
und gleichzeitiger Navigation im Szenenkontext. Dieser Vorteil gleicht daher auf
struktureller Ebene der vorhin beschriebenen Detail-In-Context-Metapher.
Zusammenfassend lassen sich aus dieser Motivation folgende Hauptaussagen ableiten:
Multiperspektive, die durch die Verknüpfung verschiedener Perspektiven definiert wird,
ermöglicht
Abbildungen
mit
erhöhtem
Informationsgehalt
gegenüber
normalen,
zentralperspektivischen Darstellungen. Ihr Einsatz ist also vor allem in den Szenarien
sinnvoll, in denen die Visualisierung großer Datenmengen im Vordergrund steht. Multiperspektive kann darüber hinaus bewirken, dass diese Daten in einer ergonomisch
aufbereiteten Form dem Betrachter präsentiert werden. Die Gebrauchstauglichkeit dreidimensionaler Anwendungen kann dadurch hinsichtlich Interaktion und Navigation
entscheidend verbessert werden. Wissenschaftliche Grundlagenforschung auf diesem
Gebiet wurde bereits durch [FRANKE 2005A] geleistet und soll hier als Verweis für weiteres
Interesse dienen.
Zielstellung
Die primäre Zielstellung dieser Arbeit ist in der Realisierung multiperspektivischer
Abbildungen in einer interaktiven Umgebung definiert. Eine solche Umgebung besteht
bereits in der Plattform Bildsprache LiveLab (BiLL), die am Lehrstuhl für Mediengestaltung
an der TU Dresden entwickelt wurde.
Es gilt dabei die speziellen Anforderungen und Rahmenbedingungen der Plattform zu
berücksichtigen und besonders zu unterstützen. Die Rahmenbedingungen werden durch
die Architektur und Technologie von BiLL vorgegeben und bestehen einerseits in der
Realisierung der Aufgabe als Plug-In und andererseits in der Verwendung der GrafikEngine OpenSceneGraph auf Basis von OpenGL. Die Anforderungen an das Plug-In sind in
der Kompatibilität zur Echtzeitfähigkeit, Animationsfähigkeit und Interaktivität definiert.
Dementsprechend muss ein Verfahren zur Erzeugung multiperspektivischer Abbildungen
gewählt werden, das diesen Anforderungen gerecht wird. Die primäre Zielstellung umfasst
daher zusätzlich die Behandlung der themenrelevanten Grundlagen sowie eine ausführliche Recherche und Evaluation aktueller Forschungsansätze zum Thema Multiperspektive.
Als zweites Ziel gilt die Dynamisierung multiperspektivischer Abbildungen anhand von
pfadgebundenen Animationen. Das zu erstellende Plug-In muss demnach Komponenten
5
1 Einleitung
enthalten, die die Definition eines Animationspfades ermöglichen sowie die Animation
ausführen. Mithilfe der Dynamisierung soll vor allem die Echtzeitfähigkeit der Multiperspektive hervorgehoben werden.
Gliederung
Zu Beginn werden die themenrelevanten Grundlagen dieser Arbeit in Kapitel 2 behandelt.
Die erläuterten Begriffe werden diesbezüglich in bestimmte Kategorien eingeteilt.
Der Begriff der Multiperspektive wird zudem in Kapitel 3 einer tiefergehenden Analyse
unterzogen. Zur Einleitung dieser Aufgabe werden in Abschnitt 3.2 existierende
Klassifikationen zum Thema bewertet und anschließend in Abschnitt 3.3 eine eigene
Klassifikation dargestellt. Die als Ergebnis dieses Kapitels resultierenden Klassen der
Einteilung dienen in der späteren Arbeit der Strukturierung für weiterer Analyse- und
Bewertungsprozesse.
Im folgenden Kapitel 4 wird ein Überblick über den aktuellen Stand der Forschung
gegeben. Die recherchierten Forschungsansätze werden in die Klassen der eigenen
Klassifikation aus dem vorhergehenden Kapitel eingeordnet und analysiert.
Das Kapitel 5 dient der Synthese der bekannten Grundlagen aus den Kapiteln 2 bis 4 und
den aufgabenspezifischen Anforderungen und Rahmenbedingungen. Deshalb wird in
Abschnitt 5.2 zunächst die Arbeitsumgebung BiLL vorgestellt und konkrete Rahmenbedingung für die konzeptionelle und praktische Arbeit analysiert. Weiterhin werden in
Abschnitt 5.3 die Anforderungen definiert, die an die Realisierung der Multiperspektive in
BiLL gestellt werden. Im anschließenden Abschnitt 5.4 werden die Forschungsansätze aus
Kapitel 4 bezüglich der festgelegten Anforderungen bewertet und eine begründete
Auswahl getroffen. Abschnitt 5.5 dient der Beschreibung des Konzepts, welches auf der
Charakteristik des ausgewählten Ansatzes aus dem vorhergehenden Abschnitt basiert. Der
konzeptionelle Teil ist untergliedert in strukturelle und technische Abschnitte.
Im Anschluss an die Konzeption schildert Kapitel 6 die Etappen der praktischen Umsetzung. Neben einer grundlegenden Beschreibung der verwendeten Architektur in
Abschnitt 6.2 findet eine Strukturierung anhand der beiden Teilbereiche Abbildung in
Abschnitt 6.3 und Animation in Abschnitt 6.4 statt.
Kapitel 7 umfasst die Ergebnisse, die mithilfe der realisierten Anwendung erzielt werden
und wertet diese aus. Nach der Definition einer einheitlichen Testbasis in Abschnitt 7.1
dient Abschnitt 7.2 dem Nachweis einer ausreichenden Leistungsfähigkeit hinsichtlich der
in Kapitel 5 definierten primären Anforderung. In Abschnitt 7.3 folgt die Auswertung der
visuellen Resultate sowie ein Vergleich zu einem Referenzansatz aus Kapitel 4.
Das abschließende Kapitel 8 dient der Zusammenfassung anhand einer allgemeinen
Inhaltsübersicht in Abschnitt 8.1 und einem Fazit zu den erzielten Ergebnissen in Abschnitt
8.2. Zudem werden weiterführende Forschungsansätze in Abschnitt 8.3 vorgestellt.
Im Anhang ist neben den Anleitungen zur Benutzung des Plug-Ins (A) ein Glossar (B) zu
ausgewählten Fachbegriffen der Arbeit, ein Abbildungsverzeichnis (C), ein Tabellenverzeichnis (D) sowie ein Literatur- und Quellenverzeichnis (E) zu finden.
6
2 Grundlagen
2.1 Begriffe der Bildsprache
2.1.1 Die Perspektive
Die Perspektive beschreibt die bildliche Darstellung dreidimensionaler Objekte eines
Informationsraumes auf einer zweidimensionalen Fläche – der Bildebene. Perspektivische
Darstellungen entstehen durch das Abbildungsverfahren der Projektion, das in Abschnitt
2.2.1 näher beschrieben ist. Basierend auf den verschiedenen Projektionsverfahren können
mehrere Formen der Perspektive unterschieden werden.
Zentralperspektive
Die Zentralperspektive ist gekennzeichnet durch die Eigenschaften der Zentralprojektion,
die wiederum in einem einzelnen Emissionspunkt für die Projektionsstrahlen und deren
geradliniges Abstrahlen in den Raum definiert sind. Charakteristisch für die Zentralprojektion sind das geradlinige Abbilden von Geraden – man spricht auch von Linearperspektive – sowie der gemeinsame Schnittpunkt der Raumlinien (Geraden in die Tiefe).
Dieser Punkt wird auch als Fluchtpunkt F bezeichnet und ist in Abbildung 2.1 (a) rot
dargestellt.
a)
b)
F
Abbildung 2.1 – Zentralperspektivische Ansicht eines Kreuzgewölbes (a) mit Raumlinien (rot) und Fluchtpunkt F sowie zum Vergleich die Aufriss-Darstellung als Ergebnis einer Parallelprojektion (b)
Nach den Maßstäben der Malerei ist die Zentralperspektive für Betrachtungen eines
Informationsraumes aus Augenhöhe definiert. Sofern sich der Augpunkt oberhalb oder
unterhalb der normalen Augenhöhe befindet, spricht von man entweder von Vogel- oder
Froschperspektive.
7
2 Grundlagen
Parallelperspektive
Im Unterschied zur Zentralperspektive basieren die charakteristischen Eigenschaften der
Parallelperspektive auf dem Abbildungsverfahren der Parallelprojektion. Demnach werden
Linien, die in Wirklichkeit parallel verlaufen, auch parallel dargestellt. Es findet kein
Zusammenlaufen der Linien zu einem Fluchtpunkt statt, welcher folglich bei der Parallelperspektive auch nicht existiert.
Die Parallelperspektive besitzt viele Anwendungsformen, die auf unterschiedlichen
Blickwinkeln und Verhältnisdarstellungen basieren. Die Isometrie zeigt ein Objekt bei
Skalierung der Koordinatenachsen mit gleichen Maßstäben. Die Kavalierperspektive zeigt
einen parallel zur Bildebene dargestellten Aufriss und eine um 45 Grad abgewinkelte und
zur Hälfte verkürzte Tiefendarstellung.
Die Eigenschaften der Parallelperspektive sind durch die Vermeidung perspektivischer
Verzerrungen vor allem in der Architektur sehr beliebt und finden dort verstärkt Anwendung.
Fischaugenperspektive
Die Fischaugenperspektive ermöglicht durch eine sehr kurze Brennweite im Vergleich zum
Bildformat sehr große Öffnungswinkel. Sämtliche geraden Linien, die nicht durch die
Bildmitte verlaufen, werden demnach gekrümmt abgebildet. Der Einsatz der Fischaugenperspektive reicht von weitwinkligen Panoramaaufnahmen bis hin zu Abbildungen von
Gebäudeinnenräumen. Ein Beispiel ist in Abbildung 8.1 dargestellt.
Multiperspektive
Die Multiperspektive beschreibt im Gegensatz zur Zentral- und Parallelperspektive keine
homogene Perspektive, die auf einer einzelnen, linearen Projektion basiert – auch als
Monoperspektive bezeichnet. Die Eigenschaft der Multiperspektive liegt in der Kombination verschiedener Perspektiven in einer Abbildung. Infolgedessen ist eine multiperspektivische Abbildung durch Perspektivenübergänge charakterisiert, die zwar keiner festen
Reglementierung unterliegen, aber dennoch ein entscheidender Faktor für die Qualität der
visuellen Darstellung sind.
Weiterhin besitzt jede einzelne Perspektive eigene Parameter wie zum Beispiel einen
Fluchtpunkt oder einen Augpunkt der Projektion. Diese Parameter können entweder in
Abhängigkeit zu Parametern anderer Perspektiven stehen oder nicht, wodurch sich die
Kontinuität einer Multiperspektive kennzeichnet.
Zusammenfassend ermöglicht die Multiperspektive die Darstellung einer größeren
Informationsmenge, als bei Verwendung einer Monoperspektive erzielt werden kann (vgl.
[FRANKE 2005A]). Sie eignet sich daher besonders für Szenarien, bei denen große
Informationsmengen visualisiert beziehungsweise unterschiedliche Ansichten auf einen
Informationsraum realisiert werden sollen.
8
2.1 Begriffe der Bildsprache
Bedeutungsperspektive
Die Bedeutungsperspektive stellt im Unterschied zu den vorangehenden Beispielen eine
Abbildungsform dar, die nicht auf einer geometrischen, sondern auf einer semantischen
Projektion beruht. Demnach erfolgt die Darstellung von Objekten nicht aufgrund ihrer
korrekten zentralperspektivischen Proportionen, sondern anhand ihrer Bedeutung. Folglich
werden nicht nahe, sondern wichtige Gegenstände groß dargestellt. Unwichtige Objekte
werden klein abgebildet, unabhängig von ihrer korrekten Größe und Raumposition (vgl.
[GROH 2004]).
Die Bedeutungsperspektive fand vor allem in der Malerei des Altertums und des
Mittelalters Verwendung. Ein Beispiel ist in Abbildung 1.1 dargestellt.
2.1.2 Die Lagedefinition im Raum
Um mit Perspektiven und den ihnen unterworfenen Objekten arbeiten zu können, muss
zunächst eine allgemeine Lagedefinition für den dreidimensionalen Raum hergeleitet
werden. Das Modell zur Lagedefinition ist immer relativ zur Lage des Augpunktes
Frontalebene
Sagittalebene
ausgerichtet und wird in drei Ebenen aufgeteilt (siehe Abbildung 2.2).
z
x
y
Transversalebene
Abbildung 2.2 – Lagedefinition im dreidimensionalen Raum anhand von Sagittalebene (rot), Frontalebene
(blau) und Transversalebene (gelb)
Die Transversalebene bezeichnet die Ebene am Boden, die eine parallele Ausrichtung zum
Horizont besitzt. Sie wird daher auch als Horizontalebene bezeichnet. Die Frontalebene ist
durch eine orthogonale Ausrichtung zur Blickrichtung und der Transversalebene definiert.
Folglich besitzen alle frontal ausgerichteten Objekte eine parallele Lage zur Bildebene
eines Abbildungssystems. Die Sagittalebene ist hauptsächlich durch den Hauptstrahl der
Projektion definiert und liegt demnach parallel zur Blickrichtung im Raum.
Wird von sagittaler, frontaler oder transversaler Ausrichtung gesprochen, so ist jeweils
eine parallele Lage zur betreffenden Raumebene gemeint.
9
2 Grundlagen
2.2 Begriffe der Computergrafik
2.2.1 Die Projektion
Als Projektion wird das Abbildungsverfahren für perspektivische Darstellungen bezeichnet.
Es dient der Erzeugung von zweidimensionalen Bildpunkten durch eine mathematische
oder semantische Abbildungsvorschrift aus Objektkoordinaten im dreidimensionalen
Raum. Die Abbildung erfolgt anhand von Projektionsstrahlen, die einer Emissionsquelle
entspringen und auf einem Objekt auftreffen. Der dazwischen liegende Schnittpunkt mit
der Bildebene stellt den abgebildeten Bildpunkt dar (siehe Abbildung 2.3). Je nach dem
wie die Beschaffenheit der Emissionsquelle oder der Projektionsstrahlen ist, unterscheidet
man in verschiedene Projektionsverfahren.
Zentralprojektion
Die Zentralprojektion ist definiert durch einen einzelnen Augpunkt, aus dem die
Projektionsstrahlen entspringen und in gleichmäßiger Staffelung in den Raum abstrahlen.
Die Projektionsstrahlen sind durch eine geradlinige Ausbreitung gekennzeichnet,
weswegen man auch von einer linearen Projektionsform spricht. Das Ergebnis einer
Zentralprojektion ist auf der Bildebene durch eine Zentralperspektive definiert (siehe
Abbildung 2.1 (a)).
P3
P‘3 = Q‘3
Q3
P2
Q2
P‘2 = Q‘2
Augpunkt
P‘1 = Q‘1
Q1
P1
Bildebene
Abbildung 2.3 – Zentralprojektion von zwei Dreiecken auf die Bildebene
Abbildung 2.3 zeigt eine schematische Darstellung für die Abbildung zweier Dreiecke im
dreidimensionalen Raum auf die zweidimensionale Bildebene. Die Bildpunkte entstehen
jeweils durch die Schnittpunkte der Projektionsstrahlen mit der Bildebene.
Parallelprojektion
Die Parallelprojektion ist durch einen unendlich weit entfernten Augpunkt definiert,
weswegen die Projektionsstrahlen parallel verlaufen. Infolge des fehlenden Schnittpunktes
der Projektionsstrahlen besitzt auch das Ergebnis auf der Bildebene keinen Fluchtpunkt.
10
2.2 Begriffe der Computergrafik
Das Fehlen von fluchtenden Raumlinien wiederum bewirkt eine Reduktion der Tiefenwahrnehmung. Dieses Merkmal charakterisiert folglich alle Abbildungsformen und
Perspektiven auf Basis der Parallelprojektion. Ein Beispiel für angewandte Parallelprojektion
ist die Aufriss-Darstellung in Abbildung 2.1 (b).
2.2.2 Das computergrafische Kameramodell
Das computergrafische Kameramodell stellt eine Adaption aus der realen Welt dar. Ebenso
wie bei einer echten Kamera gibt es eine Blende, durch welche die Projektionsstrahlen
fallen und eine Bildebene, auf der sie abgebildet werden. Im Unterschied zum realen
Modell sind der Aufbau und die Anordnung der Komponenten etwas anders, was auf
bestimmte Vereinfachungen im virtuellen Raum der Computergrafik zurückzuführen ist.
Die in Abbildung 2.4 dargestellten Komponenten des computergrafischen Kameramodells
werden nachfolgend genauer beschrieben (vgl. [WATT 2000]).
r
rpe
Bil
ö
htk
Sic
de
be
ne
Left
To
p
Au
gp
u
nk
t=
Ble
nd
e
tto
m
Right
Bo
Ne
ar
-C
lip
pi
ng
-P
lan
e
Fa
r-C
lip
pi
ng
-P
lan
e
Abbildung 2.4 – Das computergrafische Kameramodell mit seinen Komponenten: Blende, Sichtkörper, Bildebene und Projektionsstrahlen (rot)
Blende
Die Blende fungiert im Unterschied zum realen Kameramodell nicht zur Bündelung der
Projektionsstrahlen für eine dahinter befindliche Bildebene, sondern stellt deren
Ausgangspunkt dar. Dies ist mit der Charakteristik der Projektionsstrahlen im virtuellen
Raum begründet (siehe Abschnitt Projektionsstrahlen). Infolgedessen ist die Position der
Blende gleichzusetzen mit dem Augpunkt der Kamera.
Die reale Welt kennt viele verschiedene Blendenformen. Das computergrafische Kameramodell implementiert hauptsächlich die Lochblende, weshalb es mit dem Abbildungssystem der Camera Obscura – der Lochkamera – zu vergleichen ist. Die Lochblende ist
durch einen punktförmigen Lichtdurchlass gekennzeichnet, der bei Übertragung in den
11
2 Grundlagen
virtuellen Raum einen einzelnen Augpunkt verkörpert (siehe Abbildung 2.4). Eine weitere
Blendenform, die in der Computergrafik Verwendung findet, ist die Kreuzschlitzblende.
Sie unterstützt die Erzeugung multiperspektivischer Effekte und ist in Abbildung 4.6
dargestellt.
Sichtkörper
Der Sichtkörper des Kameramodells wird jeweils durch die äußersten Projektionsstrahlen
eingegrenzt. Diese werden vom Anwender über die Parameter Left, Right, Top und
Bottom definiert, wodurch sich eine rechteckige Grundfläche ergibt. Weiterhin wird der
Sichtkörper durch die Near- und Far-Clipping-Plane beschrieben, die jeweils den Beginn
und das Ende in der Tiefendimension festlegen. Anhand dieser sechs Parameter wird ein
Körper beschrieben, der die Form eines Pyramidenstumpfes besitzt und als Sichtkörper des
computergrafischen Kameramodells bezeichnet wird (siehe Abbildung 2.4).
Der Sichtkörper ist verantwortlich für die Definition des Abbildungsbereiches einer
virtuellen Kamera. Folglich werden alle Objekte, die sich in seinem Inneren befinden, auf
die Bildebene projiziert. Gegenstände, die nur teilweise vom Sichtkörper umschlossen
sind, werden durch das Clipping-Verfahren an der Schnittkante mit dem Sichtkörper
abgetrennt (vgl. [ORLAMÜNDER & MASCOLUS 2004]). Objekte außerhalb des Sichtkörpers
werden nicht abgebildet.
Bildebene
Die Bildebene stellt die zweidimensionale Fläche dar, auf die alle dreidimensionalen
Informationen abgebildet werden. Während sich die Bildebene im realen Kameramodell
hinter der Blende befindet, wird sie im virtuellen Raum mit der Near-Clipping-Plane des
Sichtkörpers gleichgesetzt. Grund hierfür ist die im virtuellen Raum inverse Projektionsrichtung, die im folgenden Abschnitt erläutert wird. Weiterhin wird die Bildebene
diskretisiert und besitzt anschließend eine definierte Auflösung von Bildpunkten in Höhe
und Breite.
Projektionsstrahlen
Die Projektionsstrahlen bilden alle dreidimensionalen Raumpunkte auf zweidimensionale
Bildpunkte auf der Bildebene ab. In der realen Welt basiert ihre Charakteristik auf den
Lichtstrahlen, die von einer Reihe von Objekten reflektiert werden und schließlich durch
die Blende auf der Bildebene auftreffen. Die exakte Übertragung dieses Modells in den
virtuellen Raum beansprucht aber eine enorme Rechenleistung, da es unendlich viele
Strahlen gibt. Folglich wird das Abbildungsverfahren im virtuellen Raum durch Umkehrung
der Projektionsrichtung vereinfacht (vgl. [BARTH & RAIDL 2006]). Alle Strahlen werden ausgehend vom Augpunkt der Projektion in linearer Form berechnet. Der Farb- und Helligkeitswert beim ersten Auftreffen auf ein Objekt stellt die Eigenschaft des abgebildeten
Bildpunktes auf der Bildebene dar.
Dieses Modell erlaubt es, die Anzahl der zu berechnenden Strahlen auf die Menge zu
begrenzen, die für die direkte Abbildung eines Objekts nötig ist.
12
2.2 Begriffe der Computergrafik
2.2.3 Die computergrafischen Abbildungsverfahren
Wie bereits in Abschnitt 2.2.2 und besonders unter dem Punkt Projektionsstrahlen
festgestellt wurde, basiert die Abbildung im virtuellen Raum auf Projektionsstrahlen, die
vom Augpunkt aus durch die Bildebene in die Szene abstrahlen.
Grundlegend für dieses Konzept haben sich im Bereich der Computergrafik zwei
Abbildungsverfahren herausgebildet, die eine Darstellung komplexer Objekte auf der
Bildebene ermöglichen. Sie werden als Rasterization und Raytracing bezeichnet und
anschließend vorgestellt.
Rasterization
Beim Rasterization-Verfahren (vgl. [ORLAMÜNDER & MASCOLUS 2004]) wird ausgehend vom
Augpunkt ein Projektionsstrahl zu jedem Eckpunkt der dreidimensionalen Szenengeometrie definiert. Anhand des Schnittpunktes des Strahls mit der Bildebene wird unter
Verwendung von Raster-Algorithmen ein nahgelegener Bildpunkt der Bildebene ausgewählt, für den der abgebildete Punktwert gespeichert wird. Als Ergebnis dieses Prozesses
werden alle vom Augpunkt aus sichtbaren Eckpunkte der Szenengeometrie auf die
Bildebene abgebildet. Es findet demnach eine Umwandlung der dreidimensionalen Raumkoordinaten in die zweidimensionalen Koordinaten der Bildebene statt. Für die Darstellung
komplexer Strukturen werden während des Abbildungsprozesses Tabellen angelegt, die
die Lage von Kanten und Flächen im Raum identifizieren. Beim Prozess des Rasterns
werden diese Informationen von Algorithmen verarbeitet. Kanten werden zum Beispiel
zwischen ihrem Start- und Endpunkt auf der Bildebene interpoliert, indem sie durch eine
Gerade verbunden werden. Diese Gerade schneidet die dazwischenliegenden Bildpunkte
der Bildebene. Mithilfe der Raster-Algorithmen wird entschieden, welcher Bildpunkt für
einen Abschnitt der Geraden auf der Bildebene dargestellt wird.
Es wird deutlich, dass das Rasterization-Verfahren die Menge an benötigten Projektionsstrahlen klein hält und daher eine sehr gute Leistungsfähigkeit erzielt. Es eignet sich
besonders gut zur Feststellung der Sichtbarkeit für einzelne Objekte in einer Szene. Zum
gegenwärtigen Zeitpunkt basiert die Mehrheit der Abbildungsverfahren auf der Basis des
Rasterization-Verfahren. Ein Beispiel stellt die populäre Grafikbibliothek OpenGL dar (vgl.
[OPENGL 2007]).
Raytracing
Das Raytracing-Verfahren (vgl. [BARTH & RAIDL 2006]) definiert für jeden Bildpunkt der
Bildebene einen Projektionsstrahl, der vom Augpunkt aus durch die Bildebene in die
dreidimensionale Szene abstrahlt. Beim Auftreffen des Strahls auf ein Objekt werden die
örtliche Materialbeschaffenheit, Helligkeit und Farbe des Schnittpunktes im Strahl
gespeichert und für die Berechnung des Bildpunktes auf der Bildebene verwendet.
Das Raytracing stellt weiterhin ein skalierbares Verfahren dar, dem zusätzliche
Iterationsstufen hinzugefügt werden können. Folglich kann der Strahl nach dem ersten
Auftreffen auf ein Objekt reflektiert werden und auf weitere Objekte treffen. Die während
dieses Prozesses aufgenommenen Informationen über Material, Farbe und Helligkeit
13
2 Grundlagen
werden für jede Iterationsstufe zusammengerechnet. Daher enthält der abgebildete
Bildpunkt Informationen aller Interaktionsflächen des Strahls und ermöglicht so die
Darstellung von Reflektionen und Spiegelungen. In der Realisierung dieser Effekte liegt
auch die Stärke des Raytracing-Verfahrens, jedoch ist durch die große Menge an
benötigten Strahlen sowie den komplexen Schnittpunktberechnungen über mehrere
Iterationsstufen hinweg der Verarbeitungsaufwand sehr viel höher als beim RasterizationVerfahren. Die Anwendung beschränkt sich daher gegenwärtig auf wenige spezialisierte
Szenarien, zum Beispiel anhand der Grafikbibliothek OpenRT (vgl. [OPENRT 2007]).
14
3 Multiperspektivische Klassen
3.1 Relevanz für die Gegenstandsanalyse
Zusätzlich zu den im vorhergehenden Kapitel erläuterten Grundlagen wird nun der Begriff
der Multiperspektive näher analysiert. Es wird untersucht, welche Formen der Multiperspektive bekannt sind und durch welche Eigenschaften diese charakterisiert werden.
Das Ergebnis der Untersuchung wird in Abschnitt 3.3 in Form einer Klassifikation
dargestellt. Diese dient der systematischen Sammlung abstrakter Klassen zur Ordnung und
Abgrenzung individueller Merkmalsräume. Bei der Vielzahl von Verfahren und Methoden
zur Erzeugung multiperspektivischer Abbildungen ist die Zuweisung einer solchen
Klassifikation sinnvoll, um Gemeinsamkeiten und Unterschiede besser ableiten zu können
und dadurch den Vergleich zu erleichtern. Desweiteren kann eine Klassifikation ein
besseres Verständnis für das Themenfeld bewirken. Im Rahmen dieser Arbeit wird sie
außerdem in den folgenden Kapiteln 4 (Verwandte Arbeiten) und 5 (Konzeption) der
Strukturierung tiefergehender Analysen dienen.
Weil die Thematik der Multiperspektive seit längerer Zeit Gegenstand der Forschung ist,
gibt es bereits mehrere Ansätze, um ihren Inhalt anhand von Klassifikationen zu
strukturieren. Diese bereits erarbeiteten Ansätze geben Aufschluss darüber, welche
Aspekte beim Finden einer vielfältigen und möglichst allgemeingültigen Einteilung der
Klassen hilfreich sind. Sie helfen darüber hinaus, das Thema von unterschiedlichen
Standpunkten aus zu betrachten. Zu Beginn wird daher in Abschnitt 3.2 eine Analyse
bereits existierender Klassifikationen zum Thema Multiperspektive durchgeführt.
3.2 Existierende Klassifikationen
Der Ansatz von [SCHINDLER ET AL. 2005] stellt eine sehr konkrete Klassifikation dar, die an
die gegebene Problemstellung ihres Forschungsansatzes angepasst ist. Dieser besteht
darin, multiperspektivische Bilder mit möglichst einfachen Mitteln rechnergestützt zu
realisieren und beeinflussende Parameter zu bewerten. Ihre Klassifikation der multiperspektivischen Verfahren ist in drei Klassen eingeteilt. Die erste Klasse beschreibt
Panoramabilder, die mehrere kontinuierliche Blickwinkel vereinen. Die zweite Klasse
beschreibt multiperspektivische Bilder, die durch Reflexionen an gebogenen Oberflächen
entstehen. Die dritte Klasse von Bildern entsteht durch Kombination mehrerer
nichtlinearer Perspektiven. Der Vorteil dieser Klassifikation ist, dass sie sehr praxisnah und
dadurch angepasst an die aktuellen Forschungsfelder zum Thema Multiperspektive
gewählt wurde. Zum Nachteil wirkt sich allerdings die starke Redundanz zwischen der
ersten und der dritten Klasse aus, da beide Kombinationen aus verschiedenen Blickwinkeln
beschreiben. Lediglich die Anzahl und die Sehfeldbreite jeder Perspektive sowie die Art
und Weise der Perspektivenwechsel gelten als Unterschied.
15
3 Multiperspektivische Klassen
[VALLANCE & CALDER 2001]
haben
einen
ähnlichen
Ansatz
zur
Beschreibung
multiperspektivischer Verfahren erarbeitet. Ihre Klassifikation, die ebenfalls in drei Klassen
eingeteilt ist, vermeidet jedoch jegliche Redundanz zwischen den Klassen. Die erste
definiert multiperspektivische Bilder, die durch die Kombination verschiedener übergangsloser und kontinuierlicher Blickrichtungen entstehen. Man bezeichnet die Abbildungen
dieser Klasse auch als Panoramen. Die zweite Klasse deckt Eigenschaften ab, die von der
vorhergehenden Klassifikation nicht berücksichtigt wurden. Sie beschreibt die Entstehung
multiperspektivischer Bilder durch Transformation der Objektgeometrie, zum Beispiel
durch das Krümmen der dreidimensionalen Struktur. Die dritte Klasse beschreibt die
Entstehung multiperspektivischer Abbildungen durch Reflexionen an gebogenen Oberflächen, wie es beim Hohlspiegel oder der Linse der Fall ist.
Diese Klassifikation stellt eine sehr ausgewogene Einteilung der Ordnungen dar, ist aber
noch immer sehr praxisnah und wenig abstrakt gewählt.
Der Klassifikationsansatz von [SINGH 2002] ist ebenfalls in drei Klassen unterteilt. Die erste
Klasse wird definiert durch Image Warping, also das Auffalten, Wölben beziehungsweise
Krümmen von Abbildungen auf der Bildebene. Image Warping ist folglich ein bildbasiertes
Verfahren zur Erzeugung neuer Perspektiven aus vorhandenem Bildmaterial im zweidimensionalen Raum (auch Image-Based-Rendering genannt). SINGH deklariert diese Klasse
als weitverbreitete Technik zur Manipulation digitaler Abbildungen, kritisiert aber
gleichzeitig die Beschränkung auf den zweidimensionalen Raum der Bildebene und die
damit verbundenen Einschränkungen für die Untersuchung verschiedener Blickwinkel und
räumlicher Beziehungen zwischen Objekten. Die zweite und dritte Klasse sind vergleichbar
mit bereits zuvor erläuterten Klassen. Sie beschreiben die Erstellung multiperspektivischer
Abbildungen zum einen durch Manipulation von dreidimensionalen Projektionen und zum
anderen durch Kombination verschiedener Blickwinkel zur Erzeugung von Panoramen.
Die in dieser Klassifikation berücksichtigten Transformationen auf der Bildebene infolge
Image Warping stellen eine funktionale Erweiterung der bisher evaluierten Ansätze dar.
Um jedoch den Status einer wirklich allgemeingültigen Klassifikation für sich beanspruchen zu können, fehlt die Klasse der Geometrietransformation am Objekt selbst.
Im Gegensatz zu den bisher diskutierten Ansätzen verspricht die Klassifikation von [FRANKE
2005A] eine sehr allgemeingültige Einteilung für die einzelnen multiperspektivischen
Methoden. FRANKE stützt sich auf das Abbildungssystem der Camera Obscura (siehe
Abschnitt 2.2.2), das in Abbildung 3.1 dargestellt ist. Die vier Bestandteile dieses Systems
sind erstens das abzubildende Objekt [O] selbst, zweitens der Lichtdurchlass [L] (Blende
oder Linse), drittens die Bildebene [B] und viertens die Projektionsstrahlen [S]. Diese vier
Bestandteile sind durch Manipulation veränderbar und beschreiben die wesentlichsten
Komponenten des Abbildungsprozesses. Sie stellen daher die Basis zur Beschreibung
sämtlicher multiperspektivischer Abbildungstechniken dar. Folglich orientiert sich FRANKE
daran und unterteilt seine Klassifikation in vier Klassen, wodurch alle vier Komponenten
berücksichtigt werden.
16
3.2 Existierende Klassifikationen
Multiperspektive
O
S
L
S
B
Abbildung 3.1 – Das Abbildungssystem der Camera Obscura nach [FRANKE 2005A]: [O] identifiziert das
abzubildende Objekt, [L] stellt den Lichtdurchlass (Blende oder Linse) dar, [B] steht für die
Bildebene und durch [S] werden die Projektionsstrahlen des Systems dargestellt.
Die erste Klasse gruppiert die multiperspektivischen Methoden, die durch Manipulationen
am Objekt [O] oder am Raum charakterisiert sind. Hierzu zählt zum Beispiel das Auffalten
oder Krümmen einer dreidimensionalen Struktur. Die zweite Klasse wird durch den
Aufbau des Linsensystems am Lichtdurchlass [L] definiert. Je nach Anzahl beziehungsweise
Stellung der Linse oder Blende kann die Abbildung des Objekts [O] auf die Bildebene [B]
beeinflusst werden. Die dritte Klasse wird durch Manipulation an der Bildebene [B]
abgegrenzt. Hier ordnet FRANKE zum Beispiel die Verwendung mehrerer Kameras ein, die
auf der Bildebene ein gemeinsames Bild erzeugen. Die vierte und letzte Klasse ordnet
FRANKE den Manipulationen an der Abbildungsfunktion [S] zu. Dazu zählt die Erstellung
multiperspektivischer Abbildungen durch Reflexionen an gebogenen Oberflächen, wie
zum Beispiel bei der Verwendung von Fisheye-Filtern (siehe Abschnitt 2.1.1).
Neben den Möglichkeiten, die Eigenschaften jeweils einer Klasse zu nutzen, beschreibt
FRANKE zusätzlich kombinierte Modifikationen aus [O], [L], [B] und [S]. Demnach ist eine
perspektivische Verzerrung (Klasse 2) eines Objekts gleichzeitig zur Manipulation der
Abbildung auf der Bildebene (Klasse 3) denkbar.
Die dargestellte Klassifikation kann zur Beschreibung vielfältiger multiperspektivischer
Verfahren herangezogen werden, da sie den Abbildungsvorgang in seiner grundlegenden
Form als Basis verwendet und folglich den Einfluss aller wesentlichen Komponenten
berücksichtigt. Als weitere positive Eigenschaft kann die abstrakte Formulierung der
Klassen aufgeführt werden, die eine breite Auslegung der kennzeichnenden Charakteristiken erlaubt. Aufgrund der Verwendung der vier Komponenten des Abbildungssystems zur Einteilung der Klassen können diese klar voneinander abgegrenzt und
Redundanzen verhindert werden.
17
3 Multiperspektivische Klassen
In Tabelle 1 werden alle Klassifikationen zusammengefasst und verglichen. Daraus ist
ersichtlich, dass die ersten drei Vertreter sich deutlich von der Klassifikation nach FRANKE
unterscheiden, da sie die Thematik von einem verstärkt praxisorientierten Blickpunkt aus
betrachten. Die Einteilung und Definition der Klassen ist demnach an ein bestimmtes
Problemfeld angepasst und lässt sich nur schwer auf abweichende Szenarien anwenden.
Zudem besitzen einige der Klassifikationen durch eine sehr spezifische Definition der
Klassen redundante Einteilungskriterien. Die Klassifikation nach FRANKE hingegen zeichnet
sich durch eine hohe Abstraktion aus. Die Definition der einzelnen Klassen ist demnach
sehr allgemeingültig und an viele Problemstellungen anpassbar.
[SCHINDLER ET AL.
2005]
[VALLANCE & CALDER
2002]
[SINGH 2002]
[FRANKE 2005A]
Klasse 1
Kombination
kontinuierlicher
Blickwinkel
Kombination
kontinuierlicher
Blickwinkel
Manipulation auf
der Bildebene mit
Image Warping
Manipulation der
Objektgeometrie
Klasse 2
Reflexionen an
gebogenen
Oberflächen
Manipulation der
Objektgeometrie
Manipulation der
Projektionseigenschaften
Manipulation am
optischen
Abbildungssystem
Klasse 3
Kombination
nichtlinearer
Perspektiven
Reflexionen an
gebogenen
Oberflächen
Kombination
kontinuierlicher
Blickwinkel
Manipulation auf
der Bildebene
Manipulation der
Abbildungsfunktion
Klasse 4
Abstraktionsgrad
Sehr praxisnah,
geringe Abstraktion
Sehr praxisnah,
geringe Abstraktion
Kombination aus
Abstraktion und
Praxisbezug
Sehr hoher
Abstraktionsgrad
basierend auf dem
Abbildungssystem
der Camera
Obscura
Allgemeingültigkeit
Sehr spezielle
Definition der
Klassen
Sehr spezielle
Definition der
Klassen
Eingeschränkt
allgemeingültig
Hohe Allgemeingültigkeit,
anwendbar auf alle
Formen der
Multiperspektive
Tabelle 1 – Zusammenfassung und Vergleich der evaluierten Klassifikationen
18
3.3 Klassifikation zum Thema Multiperspektive
3.3 Klassifikation zum Thema Multiperspektive
3.3.1 Kriterien zur Einteilung und Definition der Klassen
Aus den gewonnenen Ergebnissen des vorangegangenen Abschnitts lassen sich nun
Definitionen für Klassen einer angepassten Klassifikation ableiten. Die Einteilung nach
[FRANKE 2005A] erwies sich als vielseitigstes Beispiel und wird folglich als Grundlage
dienen.
Ebenso wie bei FRANKE werden die Komponenten des Abbildungsprozesses als Kriterium
für die Einteilung der Klassen herangezogen. Die Definitionen für die erste und dritte
Klasse können direkt von FRANKE übernommen werden, weil sie die Quelle (ein Objekt)
und das Ziel (die Bildebene) des Abbildungsvorgangs in der elementarsten Form
beschreiben. Die zweite Klasse charakterisiert den kompletten Abbildungsvorgang, der
zwischen Quelle und Ziel stattfindet. Sie ist demzufolge eine Vereinigung der zweiten und
vierten Klasse nach FRANKE. Grund für diese Vereinfachung ist das computergrafische
Kameramodell (siehe Abschnitt 2.2.2), das als Basis für die Realisierung von multiperspektivischen Abbildungen in dieser Arbeit dient. Dieses Modell besitzt keine
zusätzliche Definition für komplexe Linsen- oder Blendensysteme. Vielmehr werden diese
Effekte durch mathematische Berechnungen in die Abbildungsfunktion integriert. Die
Reduktion auf drei Klassen dient der klaren Strukturierung, die dem eben erläuterten
Anwendungskontext der vorliegenden Arbeit angepasst ist.
Im Anschluss werden die einzelnen Klassen Manipulation am Objekt (1), Manipulation am
Abbildungsverfahren (2) und Manipulation auf der Bildebene (3) vorgestellt und detailliert
charakterisiert. Die Beschreibung der Eigenschaften erfolgt anhand der Einteilung in die
Parameter der Manipulation (a) und die Übergänge zwischen Perspektiven (b).
3.3.2 Klasse 1 – Manipulation am Objekt
Die erste Klasse beschreibt alle multiperspektivischen Abbildungen, die auf Manipulation
der dreidimensionalen Objektstruktur beziehungsweise des Raumes basieren.
Parameter der Manipulation
Die Parameter der Manipulation beschreiben die Freiheitsgrade im Abbildungssystem, die
Einfluss auf die Eigenschaften der Darstellung haben. In dieser Klasse beschränken sich die
Parameter auf Transformationen an der Objektgeometrie beziehungsweise auf die
veränderte Anordnung einzelner Objektbestandteile (siehe Abbildung 3.2).
Ein erster Parameter ist der Abstand von einem Objekt zur Kamera. Wird zum Beispiel ein
Teil des Objekts durch Geometrietransformation näher an die Kamera herangeholt, so
erscheint er größer und wichtiger, da er im Verhältnis zu den umliegenden Objektteilen
detaillierter wahrgenommen wird.
Desweiteren können durch Rotation bestimmte Seiten eines Objekts direkter zur Kamera
orientiert werden, wodurch diese eine Betonung erhalten. Durch Anwendung einer
Scherung kann das Lageverhältnis verschiedener Objektseiten zueinander verändert und
19
3 Multiperspektivische Klassen
eine Abflachung der Objekttiefe bewirkt werden. Weiterhin kann ein Winkel definiert
werden, um den ein Objekt an einer bestimmten Stelle aufgefaltet beziehungsweise
gekrümmt wird. Je größer dieser Winkel gewählt wird, desto mehr ist von den
kameraabgewandten Seiten sichtbar (vgl. [VALLANCE & CALDER 2001]).
Abschließend muss unterschieden werden, ob die angewendeten Transformationen global
auf das gesamte Objekt oder nur lokal auf Objektteile angewendet werden.
a)
b)
Abbildung 3.2 – Multiperspektive durch Transformation der Objektgeometrie: Neuanordnung der Würfelflächen (a) und Krümmung bzw. Auffaltung des Objekts (b) [FRANKE 2005A]
Übergänge zwischen Perspektiven
Ein wichtiges Kriterium zur Bewertung multiperspektivischer Verfahren ist die Art und
Weise der Übergänge zwischen den einzelnen Perspektiven. Diese bestimmen maßgeblich
die optische Qualität einer Abbildung.
Für diese Klasse bedeutet dies, dass die Eigenschaften der angewandten Transformationsvorschriften Einfluss auf die Perspektivenübergänge haben. Kontinuierliche Transformationen sind durch einen gleichmäßigen Einfluss gekennzeichnet und bewirken folglich
weiche Übergänge (vgl. [VALLANCE & CALDER 2001]). Transformationen mit stark
wechselnder Charakteristik erzeugen deutlich wahrnehmbare Perspektivenübergänge.
Findet eine solche Transformation an einer Stelle statt, die durch eine abrupte Änderung
der Objektstruktur gekennzeichnet ist, fällt der Perspektivenübergang wiederum weniger
deutlich auf. Als Beispiel zählen Objektkanten, die von vornherein einen starken Übergang
darstellen (siehe Würfelkanten in Abbildung 3.2).
Weiterhin besteht ein Unterschied zwischen lokalen und globalen Transformationsvorschriften. Globale Transformationen minimieren das Risiko von abrupten Perspektivenübergängen, da sie ein Objekt im Ganzen verarbeiten (vgl. [ZAVESKY 2007]). Lokale
Transformationen können vor allem an den Rändern der Verarbeitung – also an den
Übergängen zu nicht transformierten Bereichen – stärkere Perspektivenwechsel oder sogar
Brüche bewirken.
20
3.3 Klassifikation zum Thema Multiperspektive
3.3.3 Klasse 2 – Manipulation am Abbildungsverfahren
Unter dem Begriff der Abbildung wird der Einfluss aller Komponenten zwischen Quelle
(das Objekt) und Ziel (die Bildebene) verstanden. In einem realen Abbildungssystem ist ein
maßgeblicher Bestandteil der Einfluss der Linse beziehungsweise der Blende. Durch sie
können die Projektionsstrahlen des Systems in einer Art und Weise abgelenkt oder verteilt
werden, dass sie neue Perspektiven auf ein Objekt oder in den Raum ermöglichen. Im
computergrafischen Kameramodell werden diese optischen Elemente ebenso berücksichtigt, indem sie in die mathematische Abbildungsfunktion integriert werden.
Außerdem ist der Einsatz bestimmter Spiegelformen denkbar, um die Projektionsstrahlen
des Abbildungsprozesses auf bestimmte Art und Weise neu zu verteilen.
a)
b)
B
c)
B
B
d) B
Abbildung 3.3 – Manipulation der Abbildung durch Hohlspiegel (a), Wölbspiegel (b), Sammellinse (c) und
Streulinse (d) mit jeweiligem Brennpunkt B
Parameter der Manipulation
Für diese Klasse gibt es zahlreiche Parameter, die sich hauptsächlich auf Art, Form und
Position der verwendeten optischen Elemente beziehen.
An erster Stelle muss die Form der Blende genannt werden. Gewöhnlich wird in
computergrafischen Abbildungssystemen die Lochblende verwendet, deren Lichtdurchlass
durch ein einziges Nadelloch charakterisiert ist. Damit lassen sich natürliche,
spiegelverkehrte Abbildungen erzeugen. Die Verwendung komplexer und gestaffelter
Blenden ermöglicht eine Selektion im Abbildungsprozess und folglich die Erzeugung
multiperspektivischer Darstellungen. Dazu zählt zum Beispiel die Kreuzschlitzblende
(vgl. [ZOMET ET AL. 2003]).
21
3 Multiperspektivische Klassen
Als weiterer Parameter hat die Form eines optischen Elements Einfluss auf die Darstellung.
Es wird grundlegend in Spiegel und Linsen unterschieden. Während Spiegel die Projektionsstrahlen reflektieren, werden sie bei Linsen gebrochen. Man unterscheidet die Spiegel
generell in Wölb- und Hohlspiegel. Linsen werden in Sammel- und Streulinsen unterteilt
(siehe Abbildung 3.3). Bei der Verwendung von Hohlspiegeln beziehungsweise Sammellinsen werden die Projektionsstrahlen in einem Brennpunkt gebündelt, der als gemeinsames Projektionszentrum dient. In diesem Punkt treffen Strahlen aus verschiedenen
Richtungen zusammen, wodurch die Abbildung dieses Bereiches von mehreren Seiten aus
ermöglicht wird. Anhand dieser Technik können demnach auch Seiten eines Objekts
abgebildet werden, die von der Kamera abgewandt sind.
Wölbspiegel und Streulinsen wiederum verteilen die Projektionsstrahlen mit der
Charakteristik eines Fächers im Raum. Der Brennpunkt liegt dann nicht direkt auf den
Projektionsstrahlen, sondern auf einer imaginären Verlängerung dieser in der entgegengesetzten Richtung (siehe Abbildung 3.3 (b) und (d)).
Durch Brechung und Reflexion können die Projektionsstrahlen folglich von einem
beliebigen Augpunkt in alle Richtungen gesendet werden, wodurch Abbildungssysteme
mit unbegrenztem Kameraöffnungswinkel nachgebildet werden können.
Während die Größe eines optischen Elements keinen Einfluss auf die Abbildung hat, ist die
Stärke der Krümmung von Spiegel oder Linse sehr wohl entscheidend. Prinzipiell lässt sich
feststellen, dass der Effekt, den das optische Element auf die Abbildung ausübt, sich
verstärkt, desto stärker die Krümmung seiner Oberfläche ist.
Betrachtet man den Effekt von Linsen und Spiegeln im Raum, so lässt sich der Einfluss
verschiedener Dimensionen feststellen. Ein Spiegel oder eine Linse kann in zwei oder in
drei Dimensionen gekrümmt sein. In Abhängigkeit davon lässt sich der Effekt des
optischen Elements in zwei oder in drei Dimensionen beobachten. Ein Beispiel für eine
dreidimensional gekrümmte Sammellinse stellt die Fischaugenperspektive dar (siehe
Abschnitt 2.1.1). Eine zweidimensional gekrümmte Streulinse dient stattdessen im Physikunterricht der Spektralzerlegung von Licht.
Ein weiterer Parameter ist der Abstand zwischen Objekt, optischem Element und Kamera.
Die Auswirkungen, die verschiedene Entfernungen auf die Abbildung haben, wurden
bereits ausführlich durch [SCHINDLER ET AL. 2005] beschrieben. Es wird wieder zwischen
Wölb-, Hohlspiegel, Sammel- und Streulinse unterschieden. Wölbspiegel erzeugen eine
verkleinerte und aufrechte Abbildung ihrer Umwelt. Die Entfernung zwischen Objekt,
Spiegel und Kamera hat hier nur minimalen Einfluss auf die Darstellung. Im Unterschied
dazu gibt es bei Hohlspiegeln starke Unterschiede. Bei großem Abstand zwischen Objekt
und Spiegel, der über die doppelte Brennweite hinausgeht, entsteht ein verkleinertes,
spiegelverkehrtes Bild. Bei einem Abstand zwischen doppelter und einfacher Brennweite
entsteht ein vergrößertes, spiegelverkehrtes Bild. Bei weiterer Verringerung des Abstands
wird ein vergrößertes und aufrechtes Bild erzeugt. Bei Sammellinsen wirkt ein Objekt
größer, desto weiter es von der Linse entfernt ist. Man kann diesen Effekt zum Beispiel bei
einer Lupe betrachten. Streulinsen haben die Eigenschaft, nahe Objekte größer abzubilden
als weit entfernte.
22
3.3 Klassifikation zum Thema Multiperspektive
Übergänge zwischen Perspektiven
Die optische Qualität der Perspektivenwechsel wird in dieser Klasse maßgeblich von der
Form der optischen Hilfsmittel bestimmt. Sind diese harmonisch und kontinuierlich
gebogen, so besitzen auch die erzeugten Abbildungen weiche und gleichmäßige
Übergänge zwischen den Perspektiven.
3.3.4 Klasse 3 – Manipulation auf der Bildebene
In der dritten Klasse werden alle Verfahren zusammengefasst, bei denen der
multiperspektivische Eindruck erst bei oder nach der Abbildung auf die Bildebene entsteht.
Möglichkeiten dies zu realisieren bieten Verfahren auf Basis des Image-Based-Rendering,
wie zum Beispiel das in Abschnitt 3.2 beschriebene Image Warping. Das Verfahren ist
durch zweidimensionale Transformationen auf der Bildebene gekennzeichnet und besitzt
daher Einschränkungen in der Verarbeitung räumlicher Informationen.
Eine sehr viel flexiblere Lösung besteht in der Kombination verschiedener Perspektiven auf
einer gemeinsamen Bildebene. Diese Technik wird in der aktuellen Forschung auch als
Image Mosaicing (Mosaikverfahren) bezeichnet und von [SHUM & HE 1999] als das
Zusammensetzen von Bildern aus verschiedenen einzelnen Aufnahmen einer sich
drehenden Kamera beschreiben. Im Zuge der Aufnahme werden die einzelnen Kameraeinstellungen so positioniert, dass ihre Abbildungen an den Rändern genau zusammenpassen. Ein Konzept auf Basis des Mosaikverfahrens stellt die Streifenkamera dar. Sie dient
im diesen Abschnitt als Vorlage zur Verdeutlichung der Eigenschaften dieser Klasse. Für
eine alternative Umsetzung des Mosaikverfahrens sei an dieser Stelle auf [SZELISKI & SHUM
1997] verwiesen.
Parameter der Manipulation
Die Streifenkamera nach dem Ansatz von [SHUM & HE 1999] ist maßgeblich durch den
Kamerapfad und den darauf definierten Kameraeinstellungen beschrieben. Durch Manipulation dieser beiden Komponenten kann das Abbildungsergebnis vielfältig beeinflusst
werden.
Der Kamerapfad beschreibt die Abhängigkeit der benachbarten Kameraeinstellungen in
Position und Ausrichtung. Er definiert folglich die Struktur des komplexen Abbildungssystems, das aus der Summe der einzelnen Kameraeinstellungen besteht. Die Form des
Pfades hat ähnlich der Form von optischen Elementen in Klasse 2 einen Einfluss auf die
Abbildung. Besitzt der Pfad eine geradlinige oder gleichmäßig geschwungene Form, so
sind die Abbildungen benachbarter Kameraeinstellungen durch perspektivische Ähnlichkeiten gekennzeichnet (siehe Abbildung 3.4 (b)). Bei Ecken oder stärkeren Richtungswechseln auf dem Pfad ergeben sich stärkere perspektivische Unterschiede auf der
Bildebene (siehe Abbildung 3.4 (a)). Die Effekte, die auf der Bildebene zu erwarten sind,
wurden von [SCHINDLER ET AL. 2005] für unterschiedliche Pfadformen beschrieben. Der
Kamerapfad kann darüber hinaus eine Hervorhebung beziehungsweise Betonung
23
3 Multiperspektivische Klassen
bewirken, weil Gegenstände mit geringer Distanz zum Pfad durch die Kamera detaillierter
dargestellt werden.
a) Kamerapfad
Bildebene
3
1
b) Kamerapfad
2
3
4
5
Bildebene
9
9
Abbildung 3.4 – Mosaikverfahren anhand einer Streifenkamera: Ein ungleichmäßiger Kamerapfad und
großer Einfluss einzelner Perspektiven führen zu lokaler Betonung (a), während ein
gleichmäßiger Pfad und geringer Einfluss einzelner Perspektiven eine Gleichwertigkeit
zwischen allen Teilabbildungen bewirken (b).
Eine Kameraeinstellung definiert eine spezielle Perspektive auf den Informationsraum. Die
Verteilung und die Menge der Perspektiven auf dem Kamerapfad beeinflussen die
Charakteristik der Abbildung. Sind auf dem Pfad nur wenige Perspektiven definiert,
besitzen sie einen großen Abstand zueinander (siehe Abbildung 3.4 (a)). Es zeigen sich
deutlich abweichende Kameraeigenschaften wie Position und Ausrichtung. Außerdem ist
der Öffnungswinkel jeder Kamera entsprechend groß, um die Lücke zur benachbarten
Perspektive abzudecken. Auf der Bildebene zeigen sich aufgrund der unterschiedlichen
Kameraeigenschaften auch sichtbare Unterschiede in den perspektivischen Darstellungen.
Diese Form der Komponentenkonfiguration bewirkt, dass eine einzelne Perspektive einen
großen Einfluss auf das Gesamtergebnis hat und folglich deren Eindruck steuern kann.
Eine Anwendung für diesen Fall ergibt sich aus der Betonung oder Hervorhebung
bestimmter Bildbereiche, zum Beispiel bei der Realisierung perspektivischer Korrekturen
für ausgewählte Objekte. Im Unterschied dazu bewirkt die Verwendung vieler Perspektiven, dass sich die Abstände zwischen ihnen verringern und die Unterschiede hinsichtlich
Position und Ausrichtung geringer ausfallen (siehe Abbildung 3.4 (b)). Die Bildebene ist
folglich feiner strukturiert und der besondere Einfluss einer einzelnen Perspektive kaum
noch feststellbar. Die resultierende Abbildung ist gekennzeichnet durch kontinuierlich
ineinander übergehende perspektivische Eigenschaften, wie zum Beispiel die Lage des
24
3.3 Klassifikation zum Thema Multiperspektive
Fluchtpunktes. Abbildungen anhand dieser Komponentenkonfiguration werden demnach
auch als blickpunktunabhängig beschrieben und finden in Form von weitwinkligen
Panoramaaufnahmen Verwendung.
[STAUDTE & NGUYEN 2005] beschreiben weitere Möglichkeiten der Parametrisierung. So
kann durch eine optimale und gleichmäßige Ausleuchtung einer Szene oder eines
bestimmten Objekts eine Kontrastverstärkung in der multiperspektivischen Abbildung
erzielt werden. Ihren Untersuchungen nach sorgt eine ambiente Lichtquelle für die besten
Ergebnisse, da sie besonders den Kontrast an den Objektkanten verbessert.
Übergänge zwischen Perspektiven
Beim Mosaikverfahren werden die Perspektivenübergänge durch die Schnittstellen der
einzelnen Teilabbildungen dargestellt. Folglich muss es das Ziel sein, die benachbarten
Kameraeinstellungen so zu positionieren und auszurichten, dass die abgebildeten
Perspektiven, wie bei [SHUM & HE 1999] beschrieben, exakt aneinanderpassen. Überschneidungen oder Lücken führen zur Darstellung redundanter Informationen oder zu
Informationsverlust und demnach zu deutlich sichtbaren Perspektivenbrüchen und
Qualitätsverlust.
25
4 Verwandte Arbeiten
4.1 Kriterium zur Strukturierung der Evaluation
Nach der Erläuterung der Grundlagen und dem Aufstellen einer, der Aufgabenstellung
angepassten, Klassifikation in den beiden vorhergehenden Kapiteln wird nun ein Überblick
über den aktuellen Stand der Forschung auf dem Gebiet der multiperspektivischen
Verfahren präsentiert.
Um die Evaluation der Vielzahl von verwandten Arbeiten zu strukturieren, wird die
Zuordnung zu den einzelnen Klassen der Klassifikation aus Abschnitt 3.3 als Unterscheidungskriterium verwendet. Es werden demnach in Abschnitt 4.2 zunächst die
Arbeiten zu der Klasse Manipulation am Objekt (1) untersucht. Im Anschluss folgen
Arbeiten zu den Klassen Manipulation am Abbildungsverfahren (2) in Abschnitt 4.3 und
Manipulation auf der Bildebene (3) in Abschnitt 4.4. Innerhalb der Klassen findet zudem
eine chronologische Ordnung der Ansätze nach dem Publikationsjahr statt.
4.2 Manipulation am Objekt
Multiperspektivische Verfahren der Klasse Manipulation am Objekt beschränken sich auf
Transformationen der Objektgeometrie beziehungsweise auf eine bestimmte Anordnung
der Objektbestandteile.
[KEAHEY 1998] bietet einen Ansatz zur Lösung des Detail-In-Context-Problems an. Dieses
besteht darin, überblicksartige- und detaillierte Informationen in einer Abbildung zu
vereinen. Als Szenario dient eine interaktive Landkarte, die neben geographischen
Informationen auch regionale Besonderheiten hervorhebt (siehe Abbildung 4.1 (b)).
KEAHEY nutzt in seinem Ansatz multiple, übergangslose Darstellungen, die vielfältige,
globale und für sich inhaltlich selbständige Ansichten eines Informationsraumes innerhalb
einer Abbildung ohne Unterbrechung erlauben. Die Erzeugung der Details innerhalb des
Kontexts erfolgt durch Dehnen und Verzerren des Informationsraumes. Solche Techniken
werden unter anderem als Polyfocal Projection, Fisheye Views, Distortion-oriented
Presentation beziehungsweise Focus + Context bezeichnet. KEAHEY fasst diese Techniken
unter dem Begriff der Nonlinear Magnifications, also den nichtlinearen Hervorhebungen,
zusammen. Die Grundcharakteristik der Nonlinear Magnifications sind sich nicht
verdeckende, lokale Hervorhebungen beziehungsweise Vergrößerungen, die dennoch eine
Sicht auf den umgebenden Kontext bewahren.
27
4 Verwandte Arbeiten
a)
b)
c)
Abbildung 4.1 – Einteilung der Oberfläche in funktionale Felder (a), Szenario einer interaktiven Karte mit
zusätzlichen Informationen (b), Einsatz weiterer Transformationen, um den Detail-InContext-Effekt zu verstärken (c) [KEAHEY 1998]
Um seinen Lösungsansatz zum Detail-In-Context-Problem zu realisieren, teilt KEAHEY die
Bildebene in Felder ein (siehe Abbildung 4.1 (a)). Durch ihre Transformation entstehen die
Magnification Fields, die die Detaildarstellungen des Informationsraumes beinhalten. Die
möglichen Transformationen können in drei Gruppen unterteilt werden. Die erste Gruppe
beschreibt einfache lokale Vergrößerungen beziehungsweise Hervorhebungen von
einzelnen Feldern, die dadurch näher zur Kamera positioniert werden und folglich größer
dargestellt werden (siehe Abbildung 4.1 (a)). Die zweite Gruppe ist durch Verfeinerung der
Netzstruktur für bestimmte lokale Felder durch Hinzufügen weitere Felder definiert,
wodurch sich die Felddichte im fokussierten Bereich erhöht und der Grad der lokalen
Detaillierung steigt. Als dritte Möglichkeit können bestimmten Feldern Objekte
zugewiesen werden, die zusätzliche Informationen enthalten. Für diese letzte Gruppe
kann weiterhin unterschieden werden, ob die Objekte in ebener Form auf einem lokalen
Maximum des Netzes positioniert oder ob sie genau auf die Oberflächenkrümmung der
hervorgehobenen Position abgebildet werden (siehe Abbildung 4.1 (b)). Der Vorteil
letzterer Variante liegt in den weichen Übergängen, die das Objekt zu den umliegenden
Feldern aufweist. Durch gleichzeitige Anwendung aller drei beschriebenen Gruppen
werden die besten Resultate erzeugt. Es entsteht ein visuell zusammenhängender
Informationsraum, der eine deutliche, aber dezent eingepasste, Hervorhebung der Details
im Gesamtkontext ermöglicht.
Zusätzlich zu den geometrischen Transformationen beschreibt KEAHEY Möglichkeiten, die
Detailwirkung im Kontext weiter zu verstärken. Durch Manipulation am Farbraum kann
durch Verstärkung beziehungsweise Verringerung von Kontrast, Farbtiefe und Helligkeit
eine stärkere Fokussierung erzielt werden (siehe Abbildung 4.1 (c)). Weiterhin ist die
Nutzung von Nebeleffekten sinnvoll, um Bereiche außerhalb des Fokus zu verschleiern.
28
4.2 Manipulation am Objekt
Abbildung 4.2 – Multiperspektive durch Objekttransformation: Durch Krümmung der Oberfläche entstehen
zwei kontinuierlich ineinander übergehende Perspektiven [VALLANCE & CALDER 2001].
Ähnlich wie bei [KEAHEY 1998] präsentieren auch [VALLANCE & CALDER 2001] eine Lösung
zum Detail-In-Context-Problem über Verwendung verschiedener Perspektiven. Als Anwendungsfall dient die dreidimensionale Szene eines Labyrinths. Ihr Ansatz bietet zwei
verschiedene Perspektiven auf dieses Labyrinth, die fließend ineinander übergehen (siehe
Abbildung 4.2). Zum einen gibt es eine Ich-Perspektive, die die Sicht eines virtuellen
Akteurs im Labyrinth visualisiert. Sie dient der einfachen Navigation und intuitiven
Interaktion mit der Szene. Zum anderen gibt es eine Draufsicht, die das Labyrinth aus der
Vogelperspektive zeigt. Diese Sicht dient der besseren Orientierung in der Szene. Der
kontinuierliche Übergang zwischen beiden Perspektiven wird durch eine Krümmung der
Objektgeometrie erreicht. Diese Krümmung wird mit einem Algorithmus berechnet und je
nach Bewegung des Akteurs im Labyrinth angepasst. Für eine sinnvolle Darstellung der
Informationen ist es wichtig, dass beide Perspektiven eine klare Trennung besitzen und
sich gegenseitig nicht zu sehr beeinflussen. Die Objekttransformation ist daher in drei
Bereiche unterteilt (siehe Abbildung 4.2). Der erste Bereich direkt nach dem Augpunkt ist
nicht gekrümmt und dient der Visualisierung der Ich-Perspektive. Der zweite Bereich ist
durch eine kontinuierliche Krümmung charakterisiert, die den Übergang zwischen den
Perspektiven darstellt. In diesem Bereich werden alle Punkte der dreidimensionalen
Struktur in Abhängigkeit ihres Abstands zum Augpunkt einzeln rotiert, wodurch ein
weicher Übergang erzeugt wird. Der dritte Bereich ist wiederum nicht gekrümmt und
besitzt den maximalen Neigungswinkel aus dem zweiten Bereich. Dieser dritte Transformationsabschnitt dient der Visualisierung der Vogelperspektive. Der Anfang und das
Ende des zweiten Bereiches sind durch Schwellenwerte definiert, anhand der man den
Verlauf der Krümmung beeinflussen kann.
29
4 Verwandte Arbeiten
Abbildung 4.3 – Zentralperspektivisch korrekte Abbildung der Stadtszene mit perspektivischen Verzerrungen
(oben) und korrigierte Perspektive (unten) [ZAVESKY 2007]
Einen weiteren Ansatz zur Erzeugung multiperspektivischer Abbildungen durch Objekttransformation stellt [ZAVESKY 2007] vor. Er behandelt das Problem der perspektivischen
Verzerrungen, die bei weitwinkligen Abbildungen im dreidimensionalen Raum entstehen.
Diese Verzerrungen sind für den Menschen unnatürlich, da die menschliche Wahrnehmung sich vom perfekten computergrafischen Raum unterscheidet. Unter Verwendung eines Algorithmus werden ausgewählte Objekte im Raum transformiert, so dass
sie bei Betrachtung mittels einer weitwinkligen Kamera perspektivisch korrekt erscheinen
(siehe Abbildung 4.3). Es wird also in Wirklichkeit nicht die Perspektive korrigiert, sondern
die geometrische Grundlage des Körpers, auf dessen Ausmaßen die perspektivische
Projektion und folglich auch die perspektivischen Verzerrungen berechnet werden. Die
Transformation des Objekts findet in mehreren Stufen statt und besteht aus einer Rotation
und einer Scherung. Als Grundlage für die Berechnung der neuen Geometrie dienen zum
einen die ursprüngliche Geometrie des Objekts, dessen Pivotpunkt sowie die aktuelle
Kameraposition. Das Ergebnis der Transformation kann weiterhin durch Verschiebung des
Pivotpunktes des Objekts beeinflusst werden.
30
4.3 Manipulation am Abbildungsverfahren
4.3 Manipulation am Abbildungsverfahren
Ansätze der Klasse 2 erzeugen multiperspektivische Abbildungen durch Transformation
der Abbildung, zum Beispiel anhand nichtlinearer Projektionsstrahlen oder Abbildungsfunktionen.
[LÖFFELMANN & GRÖLLER 1996] stellen in ihrem Ansatz eine Erweiterung des Kameramodells
für Raytracer (siehe Abschnitt 2.2.3) vor. Das Kameramodell wird als ein Satz von
dreidimensionalen Strahlen interpretiert, die jeder einen Startpunkt und eine Richtung
haben. Anhand eines Raytracers werden die Strahlen dann zur Abbildungen von Szenen
genutzt. Im Unterschied zu normalen Raytracern müssen die Strahlen jedoch nicht
zwingend den gleichen Ausgangspunkt haben. Diese Eigenschaft stellt den Grundstein für
ein abstraktes Kameramodell dar, das als Alternative für die standardmäßige Lochkamera
(siehe Abschnitt 2.2.2) eingeführt wird. Das abstrakte Modell basiert auf einfachen
Transformationen, die aus einer Beispielmenge ausgewählt und zu einem konkreten,
erweiterten Kameramodell zusammengesetzt werden. Anschließend wird dieses Modell in
den Abbildungsprozess integriert. Basierend auf den ausgewählten Transformationstypen
können viele erweiterte Kameras erstellt werden, die wiederum zu unterschiedlichen
Zwecken eingesetzt werden können. Die Bandbreite deckt verschiedene Effekte ab, die
nicht den Beschränkungen von realistischen Abbildungen unterliegen. Dazu zählt das
Zoomen in einen bestimmten Bildbereich oder das Erstellen von kombinierten Ansichten
eines Objekts innerhalb einer Abbildung.
a)
b)
Abbildung 4.4 – Beispiele für ein erweitertes Kameramodell nach [LÖFFELMANN & GRÖLLER 1996]: Die
Supperelliptic Camera (a) und die Hyperbolic Cylinder Camera (b) sind als komplexe
Oberflächen definiert, die als Emissionsquelle für Projektionsstrahlen dienen.
Als Beispiel dienen zwei konkrete Kameraimplementierungen. Die Superelliptic Camera
aus Abbildung 4.4 (a) nutzt eine superelliptische Grundform. Sie erlaubt den gleichzeitigen
Blick in alle Richtungen, unterliegt jedoch perspektivischen Verzerrungen. Diese Verzerrungen wirken sich weniger in beherrschenden Bereichen der Abbildungen aus, weil diese
31
4 Verwandte Arbeiten
nur geringe Perspektivenübergänge aufweisen. In der Nähe starker Perspektivenübergänge (an den abgerundeten Ecken des Modells) gibt es hingegen größere
Verzerrungen. Die Projektion ist kontinuierlich und über jeden Punkt der Abbildung
differenzierbar, so dass Sprünge weder in der Orientierung noch in der Ausrichtung der
Abbildung auftreten.
Die Hyperbolic Cylinder Camera aus Abbildung 4.4 (b) ist charakterisiert durch das Produkt
einer Hyperbel und einer Linie. Die Projektionsform dieser Kamera basiert auf den
Normalen der hyperbolisch-zylindrischen Oberfläche. Sie erlaubt nahezu verzerrungsfreies
Rendern und erzeugt im Vergleich zur normalen perspektivischen Projektionen signifikant
größere und weniger verzerrte Abbildungen.
[PELEG ET AL. 2001] präsentieren einen Ansatz zur Erstellung von multiperspektivischen
Stereobildern in der realen Welt. Stereobilder sind paarweise Bilder, die geringfügige
Verschiebungen für beide Augen aufweisen und infolgedessen für den Betrachter einen
Eindruck von räumlicher Tiefe vermitteln. Ziel des Ansatzes ist es, multiperspektivische
Panoramen in Form von Stereobildern zu erzeugen, um einen räumlichen Eindruck für
vollständige 360-Grad-Rundumsichten zu ermöglichen. Die Abbildung kann nicht mittels
zwei geringfügig verschobener rotierenden Kameras erfolgen, weil diese die Disparität für
alle Bereiche des Panoramas nicht erfüllen. Herkömmliche Methoden setzen daher multiperspektivische Stereobilder aus nacheinander erzeugten Teilbildern aus verschiedenen
Augpunkten zusammen (siehe Abschnitt 3.3.4), was aufgrund des zeitlichen Versatzes
Einschränkungen für die interaktive Nutzung dieser Bilder mit sich bringt.
Der Ansatz von PELEG ET AL. hingegen sieht die Verwendung optischer Elemente vor,
wodurch sich ein multiperspektivisches Bild in einem Stück und ohne sich bewegende
Komponenten erzeugen lässt. Diese optischen Elemente sind speziell geformte Spiegel
und Linsen, die in verschiedenen Varianten getestet wurden. Durch bestimmte Anordnung
und Ausrichtung dieser Elemente (Linse oder Spiegel) im Raum können die Projektionsstrahlen einer einzelnen Kamera so verteilt werden, wie es normalerweise bei Verwendung
einer rotierenden Kamera der Fall wäre. Das Verfahren ermöglicht dadurch die Erstellung
multiperspektivischer Bilder ohne den zeitlichen Versatz zwischen verschiedenen Kameraeinstellungen. Es eignet sich deshalb für interaktive und echtzeitbasierte Szenarien, wie
zum Beispiel das Aufzeichnen multiperspektivischer Videos.
Weiterhin bieten PELEG ET AL. einen Ansatz, das beschrieben Verfahren in den computergrafischen Raum zu portieren. Aufgrund der Komplexität ist dies jedoch nur bedingt
möglich und es müssen ein paar Einschränkungen in Kauf genommen werden. Dazu
gehört zum Beispiel der Verzicht auf optische Elemente. Stattdessen wird das Bild von
multiplen Augpunkten gerendert, was dem eigentlich zu vermeidenden Einsatz multipler
Kameras entspricht und in dieser Form eher in Klasse 3 (Manipulation auf der Bildebene)
einzuordnen wäre. Zusätzlich können die Ergebnisse dieser Arbeit auch zum Erstellen
normaler multiperspektivischer Bilder ohne räumlichen Effekt genutzt werden.
32
4.3 Manipulation am Abbildungsverfahren
Einen ähnlichen Hintergrund hat der Ansatz von [GLUCKMAN ET AL. 1998]. Auch sie
thematisieren die Erstellung multiperspektivischer Stereobilder unter Verwendung
bestimmter Optiken. Dies soll ebenfalls einen Verzicht auf bewegliche Teile im
Abbildungssystem ermöglichen und folglich die Eignung für interaktive Echtzeit-Szenarien
erhöhen. Das Abbildungssystem bei GLUCKMAN ET AL. besteht aus zwei omnidirektionalen
Kameras, die vertikal aneinander ausgerichtet sind. Jede Kamera besteht aus einer
gewöhnlichen Kamera und einem telezentrischen Objektiv sowie einem parabolischen
Spiegel. Das telezentrische Objektiv erzeugt eine näherungsweise parallele Projektion, die
zusammen mit dem parabolischen Spiegel ein weitwinkliges Abbildungssystem formt. Als
Besonderheit weist dieses System ein einziges Projektionszentrum auf, das sich im
Brennpunkt des parabolischen Spiegels befindet. Im Gegensatz dazu existieren bei
zusammengesetzten Abbildungen auf Basis von Mosaiken (siehe Abschnitt 3.3.4) mehrere
Projektionszentren. Die vertikale Anordnung der beiden Kameras geschieht aus zweierlei
Gründen: Zum einen verschiebt sich der Bereich der Singularität jeder Kamera, in dem die
Tiefe nicht berechnet werden kann, auf die Position, an der sich beide Kameras
überdecken, zum anderen besitzen beide Teile des Stereo-Panoramabildes übereinstimmende parallele epipolare Linien, wodurch sie bestens für Stereo-Verarbeitung in
Echtzeit geeignet sind.
[VALLANCE & CALDER 2002] präsentieren eine Programmierschnittstelle (API) zur Erstellung
multiperspektivischer Bilder. Die Schwerpunkte der Entwicklung lagen vor allem in der
Unterstützung interaktiver Szenarien und auf einem flexiblen Interface, das unabhängig
von der verwendeten Technik zur Erzeugung der Multiperspektive benutzt werden kann.
Weiterhin soll die API eine einfache Integration in bestehende Anwendungen
ermöglichen, was durch Nutzung des offenen Standards OpenGL gelang. Außerdem war
es das Ziel, die Funktionalität der API auch im Nachhinein erweitern zu können, um zum
Beispiel neue Techniken zur Erzeugung multiperspektivischer Abbildungen zu integrieren.
Die API deckt in ihrer Funktionalität zwei Hauptaufgaben ab, die in Klassen gekapselt sind.
Zunächst wird die Form der Kamera beschrieben, die sich von herkömmlichen
Lochkameras unterscheidet. In diesem Fall wird eine Oberfläche definiert, von der
gerendert werden soll. Dadurch kann die Kamera jede beliebige Form annehmen. Die
Spanne geht vom trivialen Fall eines einzelnen Punktes, also einer Lochkamera, bis hin zu
komplexen Oberflächen. Eine solche komplexe Oberfläche besteht dann aus vielen
einzelnen Flächen, die beliebig angeordnet sein können (siehe Abbildung 4.5 (b)).
Ausgehend von der Normalen jeder einzelnen Fläche werden dann die Projektionsstrahlen
über die Oberfläche verteilt. Die Projektionsstrahlen sind letztendlich für die Abbildung der
Szene auf der Bildebene verantwortlich. Diese komplexe Kameradefinition wird durch die
Oberflächen-Klasse repräsentiert. Die zweite Klasse beschreibt die dreidimensionalen
Daten einer Szene, die gerendert werden sollen. Sie wird als Geometrie-Klasse bezeichnet.
Durch diese Definition lässt sich innerhalb der API ein hohes Maß an Abstraktion erzielen,
was die Implementierung unterschiedlicher Techniken erlaubt.
33
4 Verwandte Arbeiten
Als konkretes Beispiel wählen VALLANCE und CALDER die Implementierung eines Raytracers
(siehe Abschnitt 2.2.3). Die Oberflächen-Klasse wird durch einen Satz von Projektionsstrahlen dargestellt, die auf einer beliebigen Oberfläche verteilt werden. Die GeometrieKlasse wird durch eine Menge von Dreiecken definiert. Als Anwendungsfall dient die
Szene eines Würfels (siehe Abbildung 4.5 (a)). Darüber wird die in Abbildung 4.5 (b) dargestellte Oberfläche positioniert, die als Emissionsquelle und Bildebene für die Projektionsstrahlen dient. Werden alle Strahlen durch den Raytracer von der Emissionsquelle über den
Würfel und wieder zurück auf die Bildebene projiziert, so entsteht das in Abbildung 4.5 (c)
dargestellte Bild.
a)
b)
c)
Abbildung 4.5 – Versuchsaufbau zur Erzeugung multiperspektivischer Abbildungen mittels Transformation
am Abbildungsverfahren: Über die Szene (a) wird ein spezielles Kameramodell (b) platziert.
Das Resultat stellt sich in einer multiperspektivischen Abbildung (c) der Szene dar
[VALLANCE & CALDER 2002].
Das Projekt von [ZOMET ET AL. 2003] hat die Erzeugung multiperspektivischer Abbildungen
anhand von speziellen Blenden zum Ziel. Sie untersuchen den Einfluss verschiedener
Formen von Kreuzschlitzblenden und ihre Auswirkungen auf der Bildebene. Eine
Kreuzschlitzblende ist charakterisiert durch zwei hintereinander liegende Blendenkomponenten, die beide eine längliche schmale Öffnung haben und kreuzförmig
zueinander angeordnet sind (siehe Abbildung 4.6 (a)). Zusätzlich kann dieses Modell durch
Verwendung nichtlinearer Öffnungen, wie zum Beispiel einem Kreis, erweitert werden.
Die ausschlaggebenden Parameter einer Kreuzschlitzblende sind Position und Abstand der
beiden Blendenkomponenten sowie Ausrichtung und Form der Öffnungen. Bei einer
Abbildung mittels dieser Blendenform treffen nur diejenigen Projektionsstrahlen einer
Emissionsquelle P(x,y,z) auf der Bildebene auf, die beide Öffnungen der Blendenkomponenten genau treffen. Durch diesen selektiven Prozess entstehen die für die
Kreuzschlitzblende typischen Effekte von Stauchung beziehungsweise Streckung der
Abbildung auf der Bildebene. Die Art und Stärke dieser Verformungsprozesse hängen von
der Stellung der Blendenöffnungen zueinander ab. Bei Verwendung dieser Blendenform
können durch bestimmte Kamerabewegungen multiperspektivische Effekte erzeugt
werden. Das in Abbildung 4.6 (c) dargestellte Testbild zeigt einen zunehmenden
34
4.3 Manipulation am Abbildungsverfahren
Übergang zur Vogelperspektive entlang der vertikalen Bildachse und demnach eine
wechselnde Position des Fluchtpunktes. Zum Vergleich zeigt Abbildung 4.6 (b) eine
Zentralperspektive der Szene.
b)
a)
c)
Abbildung 4.6 – Multiperspektivische Abbildungen durch eine Kreuzschlitzblende: Schematischer Aufbau (a),
zentralperspektivische Abbildung der Testszene als Vergleichsbild (b) und multiperspektivische Abbildung durch die Blende (c) [ZOMET ET AL. 2003]
a)
b)
Abbildung 4.7 – Erzeugung multiperspektivischer Bilder anhand einzelner Fragmente: Anordnung der
einzelnen Bildfragmente auf der Bildebene mit hervorgehobenen Überlagerungsbereichen (a) und finale Komposition (b) [YU & MCMILLAN 2004]
Ebenso wie bei [VALLANCE & CALDER 2002] war es die Idee von [YU & MCMILLAN 2004], ein
flexibles Framework zur Umsetzung multiperspektivischer Effekte zu entwickeln. Ihr
Ansatz basiert auf dem vorher eingeführten Modell der General Linear Cameras (GLC).
Eine GLC ist definiert durch drei Generatorstrahlen, die drei verschiedenen Punkten auf
der Bildebene entspringen. Sie erfasst das Strahlungsmaß entlang aller möglichen affinen
Kombinationen dieser Strahlen. Dadurch können mithilfe von GLCs viele verschiedene
35
4 Verwandte Arbeiten
multiperspektivische Kameramodelle beschrieben werden. Um darüber hinaus generelle
multiperspektivische Bilder definieren zu können, müssen die GLCs durch geeignete
Regeln so beschränkt werden, dass sie die Ansicht eines dreidimensionalen Objekts
kacheln. Anschließend können beliebige Ansichten erzeugt werden, indem vom Benutzer
wählbare Bildfragmente verschiedener GLCs in der Bildebene überlagert werden. In
Abbildung 4.7 ist zum einen die fragmentierte und finale Version eines multiperspektivischen Bildes nach YU und MCMILLAN abgebildet.
4.4 Manipulation auf der Bildebene
Die im Folgenden beschriebenen Ansätze basieren auf der Erzeugung multiperspektivischer Bilder durch Kombination verschiedener Teilabbildungen auf einer gemeinsamen
Bildebene.
Abbildung 4.8 – Multipanorama durch eine sich bewegenden Kamera [PELEG & HERMAN 1997]
Der Ansatz von [PELEG & HERMAN 1997] stellt ein Verfahren zur Erzeugung
multiperspektivischer Panoramen dar. Das Ziel ist eine Erweiterung von herkömmlichen
Mosaikverfahren (siehe Abschnitt 3.3.4), um deren Nachteile, die vor allem in starken
Verzerrungen der abgebildeten Objekte bestehen, zu beseitigen. Ihr Ansatz definiert daher
so genannte Mehrfachprojektionen, die die Erstellung von Panoramabildern unter
allgemeinen Bedingungen ermöglichen. Dazu zählt die uneingeschränkte Bewegungsfreiheit einer frei in der Hand gehaltenen Kamera hinsichtlich Translation und Rotation.
Eine Mehrfachprojektion besteht aus verschiedenen verknüpften Perspektiven, die
entweder anhand einer mathematischen Struktur (eben oder kreisförmig) oder willkürlich
angeordnet sind (siehe Abbildung 4.8). Jede einzelne Perspektive besitzt nur ein sehr
begrenztes Projektionsfeld, das von PELEG und HERMAN als eindimensionaler Streifen
bezeichnet wird. Aufgrund dieser Charakteristik vereinfacht sich die Montage der
einzelnen Teilbilder zu einem Gesamtbild, da keine aufwendigen Berechnungen an den
Rändern gemacht werden müssen. Ein einfaches Ausrichten der Streifen an den Rändern
der Nachbarn genügt. Diese Ausrichtung kann durch einfache Verschiebungs- und
Rotationstransformationen auf der Bildebene ermöglicht werden. Weiterhin entstehen bei
der Ausrichtung der Teilbilder keinerlei Verzerrungen in der Abbildung, wodurch die
Bildqualität beeinträchtigt wäre.
36
4.4 Manipulation auf der Bildebene
strip camera
a)
b)
film
scene
camera path
c)
c1
c2
c3
poorly
sampled
well-sampled
everywhere
Abbildung 4.9 – Multiperspektivische Abbildung eines Elefanten bei kreisförmiger Positionierung der
Kameras um das Objekt (a), schematische Darstellung einer Streifenkamera bei Umkreisung
eines Objekts (b) sowie Auswirkung der Perspektivenanzahl auf die Qualität der
Abbildung (c) [RADEMACHER & BISHOP 1998]
[RADEMACHER & BISHOP 1998] beschreiben die Vorteile von multiperspektivischen
Abbildungen für das Image-Based-Rendering (IBR). Hauptnachteil klassischer IBRTechniken ist, dass Informationen aus verschiedenen Bildern eines Datensatzes vereint
werden müssen. RADEMACHER und BISHOP nähern sich diesem Problem durch Definition der
Multiple-Center-Of-Projection-Images (MCOP). Ein MCOP-Bild ist eine Erweiterung eines
konventionellen Bildes. Es ist durch eine Menge verschiedener Projektionen von unterschiedlichen Augpunkten aus definiert, die in einer Abbildung vereint werden. Die
verschiedenen Projektionen sind in Form von Kameraeinstellungen auf einem Pfad angeordnet, der eine kontinuierliche Form haben muss. Jeder Pixel auf der Bildebene wird
von nur einer Kamera abgebildet. Jede Kamera kann aber eine beliebige Menge von Pixeln
abbilden, was wiederum vom jeweilig verwendeten Kameramodell abhängig ist. Die
formale Definition eines MCOP-Bildes ist daher für eine Vielzahl von Kameramodellen
geeignet. Weiterhin ist ein MCOP-Bild durch multiple und kontinuierlich ineinander
übergehende Perspektiven charakterisiert (siehe Abbildung 4.9 (a)). Daraus ergibt sich eine
hervorragende Eignung für das IBR, weil erstens alle Informationen in einer einzelnen
Abbildung statt in vielen unabhängigen Bildern enthalten sind und zweitens die Bildinformationen durch die kontinuierlich ineinander übergehenden Perspektiven eine gute
gegenseitige Verknüpfung aufweisen. Die Verwendung einer einzelnen kombinierten
Abbildung erlaubt zusätzlich eine höhere Flexibilität beim Erfassen des bildbasierten
Datensatzes für das IBR, weil jeweils nur ein Bild erstellt und gespeichert werden muss.
Dies bringt zum Beispiel Vorteile für die Unterstützung von Bildern mit unterschiedlichen
Auflösungen.
Als konkreten Anwendungsfall nutzen RADEMACHER und BISHOP die in Abbildung 4.9 (b)
dargestellte Streifenkamera (siehe Abschnitt 2.2.2), die sich entlang eines definierten
Pfades bewegt. Der Pfad kann eine beliebige Form haben und muss nicht geschlossen
37
4 Verwandte Arbeiten
sein. Auf dem Pfad werden verschiedene Perspektiven definiert, die beliebig positioniert
und ausgerichtet sein können (siehe Abbildung 4.9 (c)). Von jeder Perspektive wird ein
schmaler Bildstreifen von einem Pixel Breite auf die Bildebene abgebildet. Die Qualität der
erzielten Ergebnisse ist abhängig von Anzahl und Schärfe der einzelnen Teilbilder. Wie aus
Abbildung 4.9 (c) deutlich wird, entspricht eine höhere Anzahl von Teilbildern einer
genaueren Abbildung des Informationsraumes und umgekehrt. Bei Verwendung weniger
Perspektiven kann es demnach zu Informationsverlust beziehungsweise einer weniger
präzisen Abbildung kommen. In Abhängigkeit zu diesem Aspekt steht weiterhin die
Geschwindigkeit des Abbildungsprozesses. Je höher die Anzahl der Perspektiven ist, desto
länger dauert der Vorgang. Die strukturelle Komplexität und räumliche Tiefe einer Szene
hat jedoch keinen Einfluss auf die Dauer des Abbildungsprozesses.
Obwohl die MCOP-Bilder den herkömmlichen Panoramen sehr ähnlich sind, stellen
RADEMACHER und BISHOP wichtige Unterschiede zwischen ihnen heraus. Panoramen dienen
der Visualisierung von Objekten aus verschiedenen Blickrichtungen. Die Anordnung der
einzelnen Perspektiven kann beliebig gewählt werden. Die MCOP-Bilder stellen im
Gegensatz dazu einen multiperspektivischen Datensatz dar, der als Grundlage für die
Reproduktion von Informationen im dreidimensionalen Raum fungiert. Sie dienen folglich
als Ausgang für die Erzeugung neuer Ansichten von einer dreidimensionalen Szene, ohne
die dreidimensionale Struktur der Szene benutzen zu müssen. Dies ist nur möglich, weil im
Unterschied zu multiperspektivischen Panoramen, die Positionierung und Ausrichtung der
Perspektiven an die Einhaltung bestimmter, vorher festgelegter Regeln gebunden ist und
nicht vollkommen frei erfolgen kann. Diese Regeln dienen für die Berechnung der
dreidimensionalen Struktur als wichtige Konstante und sind der maßgebliche Unterschied
zu herkömmlichen multiperspektivischen Panoramen.
In einer weiteren Arbeit betrachten [PELEG & BEN-EZRA 1999] das Problem der Erzeugung
von Stereo-Panoramen. Ihre Arbeit baut auf dem von [PELEG & HERMAN 1997] entwickelten
Modell der Mehrfach-Projektionen auf und erweitert es für Stereobilder. Im Mittelpunkt
steht die Erzeugung von 360-Grad-Stereo-Panoramen anhand einer einzelnen Kamera.
Probleme alter Ansätze, die das Zusammensetzen von Stereo-Panoramen anhand von
einzelnen Mosaiks beschreiben, sollen damit behoben werden. Diese Probleme bestanden
vor allem in Abweichungen der Parallaxe zwischen den jeweiligen Stereobildern sowie
Maßstabsänderungen der abgebildeten Proportionen zwischen den verschiedenen
Ansichten. Um diese Ziele verwirklichen zu können, wurde eine neue Familie für Projektion
aus multiplen Augpunkten entwickelt, die kreisförmigen Projektionen. Zwei Panoramabilder, die anhand dieser Projektion abgebildet werden, dienen als Stereopaar.
Die Bilder werden auf folgende Art und Weise erzeugt: Zunächst wird ein kreisförmiger
Pfad definiert, auf dem verschiedene Perspektiven platziert und tangential ausgerichtet
werden. Die Perspektiven sind jeweils dem einen und dem anderen Teilpanorama des
Stereobildpaars zugeordnet. Für jedes Teilpanorama des Stereobildes gibt es eine separate
Bildebene, auf der die einzelnen Teilabbildungen der verschiedenen Perspektiven
aneinander gereiht werden. Es wird jedoch jeweils nur ein Streifen von einem Pixel Breite
38
4.4 Manipulation auf der Bildebene
von der Perspektive auf die Bildebene abgebildet. Der Stereoeffekt wird anhand der
unterschiedlichen tangentialen Ausrichtung der Perspektiven auf dem Kreis erzeugt,
wodurch eine gleichmäßige Parallaxe für den gesamten Kreis simuliert wird. Für das eine
Teilpanorama werden die Perspektiven tangential im Uhrzeigersinn ausgerichtet (siehe
Abbildung 4.10 (b)) und für das andere gegen den Uhrzeigersinn (siehe Abbildung 4.10
(c)). Schlussendlich werden beide Teilpanoramen in verschiedenen Farbkodierungen
gespeichert und übereinander gelegt. Das Resultat ist ein Stereo-Multipanorama.
Image Surface
Viewing Circle
(a)
(b)
(c)
Central Projection
Left-eye Projection
Right-eye Projection
Abbildung 4.10 – Die kreisförmigen Projektionen nach [PELEG & BEN-EZRA 1999]: Schema für die Aufzeichnung eines klassischen monoskopischen Panoramas mit einer Kamera (a) sowie
stereoskopisches Panorama anhand einer Kamera für das linke (b) und das rechte (c)
Teilbild
Der Ansatz von [AGRAWALA ET AL. 2000] verspricht neben einem Verfahren zur Erzeugung
multiperspektivischer Bilder auch einen Diskurs zu bestimmten Problemen und Einschränkungen, denen solche Abbildungen unterliegen. Das beschriebene Verfahren
basiert auf dem Zusammensetzen eines Bildes aus multiplen Perspektiven auf der
Bildebene. Jede Perspektive wird durch eine Kameragruppe charakterisiert. Eine solche
Gruppe besteht aus einer lokalen Kamera und einer Menge von geometrischen Objekten,
die durch die Kamera abgebildet werden. Die Positionierung und Ausrichtung der
einzelnen Perspektiven unterliegt nach AGRAWALA ET AL. keinen Beschränkungen. Durch
eine beliebige Verteilung der Kameras im Raum können aber die Sichtbarkeit und die
Verdeckungen zwischen Objekten von Kamera zu Kamera variieren und dadurch nicht
eindeutig festgelegt werden. AGRAWALA ET AL. lösen dieses Problem, indem sie neben den
lokalen Kameras, die für die Abbildung der einzelnen Objekte zuständig sind, noch eine
Masterkamera definieren. Die weitwinklige Masterkamera ist dafür verantwortlich, von
einem bestimmten Augpunkt aus die Sichtbarkeit und Tiefenstaffelung der Objekte für die
gesamte multiperspektivische Abbildung anhand eines Algorithmus zu bestimmen. Ist die
automatische Berechnung der Verdeckungen und Sichtbarkeit nicht zufriedenstellend,
kann nachträglich manuell korrigiert werden. Zur Vereinfachung kann die Rolle der
Masterkamera auch von einer beliebigen lokalen Kamera übernommen werden, die dann
zwei Funktionen besitzt.
39
4 Verwandte Arbeiten
a)
b)
c)
d)
e)
f)
Abbildung 4.11 – Erzeugung multiperspektivischer Abbildung durch Gewichtung einzelner Teilabbildungen:
Ansicht der Testszene (a), Multiperspektive des Kopfes mit zwei (b) und drei Kameras (c),
starke Deformierung durch unverhältnismäßige Gewichtung bestimmter Perspektiven (d-f)
[SINGH 2002]
In [SINGH 2002] wird ein weiterer Ansatz zur Erzeugung multiperspektivischer Bilder unter
Verwendung mehrerer Kameras beschrieben. Im Unterschied zu den bisher vorgestellten
Ansätzen erfolgt bei SINGH die Kombination verschiedener Zentralperspektiven auf der
Bildebene unter Berücksichtigung von Gewichtungsfaktoren. Das heißt, dass eine kontinuierliche Verschmelzung der Perspektiven stattfindet.
Die Priorität der einzelnen Perspektiven wird für einen bestimmten Bereich der Bildebene
durch die Gewichtungsfaktoren festgelegt. Besitzt eine Perspektive eine hohe Wertigkeit,
so hat ihre Abbildung einen hohen Einfluss auf die Darstellung des gesamten Bildes und
umgekehrt. Durch Hinzunahme weiterer Perspektiven können bestimmte Bereiche eines
Objekts fokussiert werden und infolgedessen detaillierter zur Gesamtabbildung beitragen.
Als Szenario benutzt SINGH die Darstellung eines dreidimensionalen Kopfes (siehe
Abbildung 4.11 (a)). In der Szene befinden sich weiterhin drei Kameras, wobei zwei davon
schräg von der Seite und eine weitere direkt von vorn auf das Objekt ausgerichtet sind.
Werden nur die beiden äußeren Kameras zur Erzeugung der Abbildung benutzt,
entstehen starke Verzerrungen im Zentrum des Kopfes, weil sich dort der Übergangsbereich beider Kameras befindet und keine frontale Abbildung existiert (siehe Abbildung
4.11 (b)). Durch unterschiedliche Gewichtung beider Kameras kann das Zentrum und
speziell die Nase des Kopfes nur in eine bestimmte Richtung verzerrt werden. Durch
Hinzunahme der frontalen Kamera kann eine exakte Abbildung der Kopfmitte erfolgen
(siehe Abbildung 4.11 (c)). Durch Veränderung des Einflusses der frontalen Kamera kann
40
4.4 Manipulation auf der Bildebene
der Effekt entweder verstärkt oder verringert werden. Die Gewichtung der einzelnen
Perspektiven bewirkt also eine Änderung ihres Einflusses auf die Gesamtabbildung. Eine
Erweiterung des Sichtbereiches kann aber nur durch Hinzunahme weiterer Perspektiven
erfolgen. In den Abbildung 4.11 (d) bis (f) sind visuelle Deformierungen des Kopfes zu
sehen, die durch übertriebene Gewichtung bestimmter Kameras herbeigeführt werden.
a)
b)
Abbildung 4.12 – Multiperspektive mittels des Pushbroom-Verfahrens: Staffelung aller aufgenommen
Videoframes im spatiotemporalen Volumen (a) und ein ausgewähltes Pushbroom-Bild (rot)
aus dessen Mitte (b) [RIEGER & GEPP 2005]
In [SEITZ & KIM 2003] sowie [RIEGER & GEPP 2005] wird die Erzeugung multiperspektivischer
Abbildung anhand des Pushbroom-Verfahrens beschrieben. Mittels einer Kamera werden
sukzessive verschiedene Frames einer Bewegung aufgenommen. Ordnet man diese Frames
entlang der Zeitachse hintereinander an, entsteht ein dreidimensionaler Informationsraum,
der auch spatiotemporales Volumen genannt wird (siehe Abbildung 4.12 (a)).
Nach RIEGER und GEPP sind die besten Ergebnisse zu erwarten, wenn ein geradliniger
Verlauf der Kamera gewählt wird. Jedoch bescheinigen SEITZ und KIM ebenso eine Eignung
für gekrümmte und kreisförmige Bewegungen der Kamera.
Das spatiotemporale Volumen dient als Grundlage für die Erzeugung der PushbroomBilder, indem das Volumen entlang der Zeitachse in verschiedene Teilbilder zerschnitten
wird. Jedes einzelne Pushbroom-Bild enthält demnach jeweils einen Pixelstreifen aller
zuvor abgebildeten Frames und vereint deren verschiedene Perspektiven. In Abbildung
4.12 (b) ist der Pushbroom-Effekt anhand eines Beispiels dargestellt.
Pushbroom-Bilder können auch mithilfe von Pushbroom-Sensoren und ohne den Umweg
über das spatiotemporale Volumen erzeugt werden. Ein Pushbroom-Sensor ist eine
spezielle Kamera, die aus einem Array von Zeilensensoren besteht. Dieses System setzt ein
Bild aus mehreren simultan aufgenommenen Bildzeilen zusammen. Der PushbroomSensor tastet, montiert auf eine bewegliche Plattform, die Umgebung ab und bildet die
Informationen der Zeilensensoren auf eine Bildebene ab.
Durch erneute Kombination aller Pushbroom-Bilder entsteht das Pushbroom-Video, bei
dem im Vergleich zum spatiotemporalen Volumen die x-Achse der Bildebene mit der
41
4 Verwandte Arbeiten
z-Achse der Zeit vertauscht wurde. Charakteristisch für das Ergebnis-Video ist die
entstandene Auglinie. Jedes Pushbroom-Bild des Videos besteht aus sukzessiv aufgenommenen Bildspalten, die theoretisch auch durch mehrere Kameras simultan erzeugt
werden können. Das Pushbroom-Video ist demnach die Darstellung von multiplen Sichten
auf eine Szene in zeitlicher Veränderung.
Nach RIEGER und GEPP kann man mithilfe des Pushbroom-Verfahrens „[…] nicht nur
einzelne multiperspektivische Darstellungen einer Szene generieren, sondern zusätzlich
Unterschiede zwischen verschiedenen Perspektiven aufzeigen und somit dem Betrachter
einen neuen Zugang für das Verständnis komplexer dreidimensionaler Räume bieten.
Realisiert wird dies durch eine kontinuierliche zeitliche Aneinanderreihung multiperspektivischer Darstellungen […]“.
42
5 Synthese und Konzeption
5.1 Leitfaden zur konzeptionellen Vorgehensweise
Nachdem in den vorangehenden Kapiteln anhand einer Begriffserklärung, Klassifikation
und Evaluation die Grundlagen für das Arbeiten mit multiperspektivischen Verfahren
gelegt wurden, erfolgt nun eine Adaption der erlangten Erkenntnisse an die spezielle
Problematik dieser Arbeit.
Wie bereits im ersten Kapitel erwähnt wurde, besteht das Ziel in der Integration
multiperspektivischer Methoden in die bereits vorhandene Plattform Bildsprache LiveLab
(BiLL). Zu diesem Zweck wird in Abschnitt 5.2 die Arbeitsumgebung vorgestellt und
Rahmenbedingungen genannt, die für die Konzeption und Implementierung wichtig sind.
Anschließend werden in Abschnitt 5.3 Anforderungen definiert, die ein Verfahren zur
Erzeugung multiperspektivischer Abbildungen bei einer Integration in BiLL erfüllen muss.
Diese Anforderungen basieren zum einen auf dem angestrebten Anwendungsfeld und
zum anderen auf den im vorhergehenden Abschnitt definierten Rahmenbedingungen. In
Abschnitt 5.4 folgt eine Analyse und Bewertung der in Kapitel 4 vorgestellten Ansätze. Als
Bewertungskriterien dienen die zuvor beschriebenen Anforderungen. Nach der Auswahl
der am besten geeigneten Methode mit Begründung schließt sich in Abschnitt 5.5 die
Konzeption zur Realisierung der Zielstellung an. Dieser Abschnitt dient neben der
Erläuterung von Kernkomponenten auch der Vorstellung von Optimierungen.
Das erläuterte Konzept stellt die Basis für die praktische Umsetzung dar, die in Kapitel 6
beschrieben wird.
5.2 Einführung in Bildsprache LiveLab (BiLL)
BiLL ist eine Arbeitsumgebung zur Visualisierung von bildnerischen und gestalterischen
Effekten in dreidimensionalen Szenen. Das Hauptaugenmerk bei der Entwicklung lag vor
allem auf der Realisierung der Möglichkeit der interaktiven Navigation mit geladenen
Objekten und Szenen sowie deren Darstellung in Echtzeit. BiLL erfüllt primär den Zweck,
analytische Untersuchungen im Bereich der Bildsprache und der Wahrnehmungspsychologie zu ermöglichen. Darüber hinaus können bereits existierende statische
Forschungsergebnisse auf ihre Relevanz und Eignung in dynamischen Szenarien geprüft
werden.
Zunächst wird eine allgemeine Charakterisierung von BiLL vorgenommen, um
anschließend konkrete Anforderungen an die Realisierung multiperspektivischer Abbildungen stellen zu können. Darüber hinaus werden technische Rahmenbedingungen
erläutert, die für die Konzeption und Implementierung des praktischen Teils der Aufgabenstellung von Bedeutung sind.
43
5 Synthese und Konzeption
Charakterisierung der Arbeitsumgebung
Die Arbeitsumgebung BiLL wurde maßgeblich nach Kriterien der Gebrauchstauglichkeit
und Leistungsfähigkeit entwickelt. Der erste Fakt wird durch eine strukturelle Trennung
der wichtigsten Funktionen gewährleistet, indem die Oberfläche in zwei voneinander
unabhängige Fenster unterteilt ist. Das erste Fenster wird als Viewer bezeichnet und ist für
die Visualisierung der dreidimensionalen Szenendaten verantwortlich. Im zweiten Fenster
wird der Editor angezeigt, der verschiedene Funktionen zur Manipulation der Anzeige im
Viewer bereitstellt. Dieses als Zweifenstersystem bezeichnete Konzept bietet ein hohes
Maß an Flexibilität für den Benutzer, da er jederzeit selbst entscheiden kann, auf welchen
Bereich der Anwendung er seinen Fokus legt. Außerdem können die Darstellungs- und
Bearbeitungsfunktionen unabhängig voneinander benutzt werden. Dies bringt den Vorteil,
dass der Nutzer das Ergebnis seiner Einstellungen im Editor live im Viewer verfolgen kann.
In Abbildung 5.1 sind beide Fenster nebeneinander dargestellt.
Abbildung 5.1 – Benutzungsoberfläche von Bildsprache LiveLab (BiLL) bestehend aus zwei Komponenten:
Das Darstellungsfenster – Viewer (links) und das Bearbeitungsfenster – Editor (rechts)
Der Viewer kann entweder im Fenster- oder im Vollbildmodus betrieben werden. Darüber
hinaus bietet er über ein Head-Up-Display die Möglichkeit, den Editor aufzurufen oder die
Anwendung zu beenden.
Über den Editor werden die Bearbeitungsfunktionen der Anwendung gesteuert. Er ist
unterteilt in eine Menüleiste (oben), einen Szenenbrowser (links) und eine Kartengruppe
(rechts). Die Menüleiste bietet Zugriff auf die wichtigsten Funktionen der Anwendung.
Dazu gehören das Laden und Speichern von Szenen, die Auswahl des aktuellen Kameraund Interaktionsmodus sowie des Beleuchtungsmodells. Der Szenenbrowser bietet eine
Übersicht über den strukturellen Aufbau der aktuell geladenen Szene. Er dient zudem der
Auswahl bestimmter Objekte. Die Kartengruppe ist in mehrere Karten unterteilt und
beinhaltet alle weiteren Funktionen. Über die Kartenreiter an der oberen Kante kann
direkt auf die jeweiligen Inhalte zugegriffen werden. Zum gegenwärtigen Zeitpunkt sind
Funktionen zur Manipulation von Objekteigenschaften und Darstellungsparametern
integriert.
44
5.2 Einführung in Bildsprache LiveLab (BiLL)
Das zweite Hauptkriterium, das in der Darstellung von Abbildungen in Echtzeit definiert
ist, wird durch den Einsatz von leistungsoptimierten Technologien erreicht. Dazu zählt an
erster Stelle die Grafikbibliothek OpenGL (vgl. [OPENGL 2007]). Da OpenGL in seinem
Umfang jedoch sehr komplex und in der Anwendung sehr aufwendig gestaltet ist, wurde
auf ein spezielles Framework als 3D-Grafik-Engine zurückgegriffen. Hierbei handelt es sich
um OpenSceneGraph (OSG), das einen Werkzeug- und Funktionssatz für OpenGL auf
Grundlage eines Szenengraphen darstellt (vgl. [OPENSCENEGRAPH 2007]). Es lassen sich
daher trotz vereinfachter Anwendbarkeit alle Vorteile von OpenGL nutzen. Ein weiterer
Vorteil von OpenGL und OSG ist die Plattformunabhängigkeit, wonach es in Kombination
mit allen Betriebssystemen und Programmiersprachen genutzt werden kann. Der beste
Weg ist jedoch die Entwicklung mit C++, da auch OSG selbst in dieser Sprache
geschrieben ist und C++ darüber hinaus durch effiziente Speicherverwaltung eine hohe
Leistungsfähigkeit aufweist. Ebenso wie bei der Grafik-Engine wurde auch zum Erstellen
der GUI ein Framework zur Vereinfachung genutzt. Das Fast Light Toolkit (FLTK) bietet
neben vielen Gestaltungsmöglichkeiten für Fensterapplikationen einen grafischen Editor
zum Erstellen von Benutzungsschnittstellen (vgl. [FLTK 2007]). Weitere Informationen zum
Technologieentscheid für BiLL können in [EBNER 2007] nachgeschlagen werden.
Im Anschluss an die allgemeine Einführung werden nun technische Rahmenbedingungen
für die Entwicklung neuer Funktionalität in BiLL spezifiziert. Sie dienen als Grundlage für
Konzeption und Implementierung.
Plug-In-Architektur
Die Arbeitsumgebung BiLL wurde als offene Forschungsplattform entwickelt, die mit der
Zeit eine fortlaufende Weiterentwicklung erfahren soll. Dies birgt jedoch das Problem,
dass durch zu viele unterschiedliche Entwicklungsabläufe mit der Zeit Inkonsistenzen in
den Datenstamm der Anwendung einfließen. Um diese Schwachstelle von vornherein auszuschließen, wurde die Anwendung durch [WOJDZIAK 2007] um eine Plug-In-Architektur
erweitert. Die Hauptanwendung wird demnach als abgeschlossener Entwicklungszweig
angesehen, der nur in Ausnahmefällen von einem autorisierten Administrator erweitert
wird. Drittentwickler können dem Programm zusätzliche Funktionalitäten durch
Implementierung eines Plug-Ins hinzufügen. Da der Quellcode der Plug-Ins vollkommen
unabhängig von der Hauptanwendung entwickelt und verwaltet wird, können keine Interferenzen und Inkonsistenzen im Datenstamm auftreten. Als Bindeglied zwischen Hauptanwendung und Plug-In dient die Plug-In-Schnittstelle, die verschiedene Funktionen für
den Zugriff auf Parameter und Objekte der Hauptanwendung gewährt. Dazu zählt zum
Beispiel die Steuerung der Kamera im Darstellungsfenster oder der Zugriff auf einzelne
Knoten des Szenengraphs. Die Schnittstelle ermöglicht demnach eine bidirektionale
Kommunikation zwischen Plug-In und Hauptanwendung, indem sie Informationen über
Parameterwerte dem Plug-In zur Verfügung stellt und gleichzeitig die Manipulation von
Komponenten ermöglicht. Ein durch die Plug-In-Architektur geschuldeter Nachteil besteht
in der fehlenden Möglichkeit der Kommunikation zwischen einzelnen Plug-Ins. So können
Plug-Ins nicht auf Parameter anderer Plug-Ins zugreifen oder diese manipulieren. Eine
45
5 Synthese und Konzeption
Kombination von Effekten verschiedener Plug-Ins wird infolgedessen erschwert. Lediglich
die auf einem Szenengraph basierende Szenenstruktur stellt eine durch die Plug-Ins
gemeinsam nutzbare Datenbasis dar. Der Austausch szenenfremder Daten, wie zum
Beispiel Kameraeinstellungen, ist aber nicht möglich.
Visualisierung im Viewer
Die Darstellung von Szenen und darauf angewendeten Effekten ist die Hauptaufgabe der
Arbeitsumgebung. Dementsprechend stellt der Viewer das Herzstück der Anwendung dar,
denn er ist für die Abbildung der dreidimensionalen Szenendaten auf die zweidimensionale Bildebene verantwortlich. Die in BiLL verwendete Implementierung des
Viewers basiert auf OpenProducer (vgl. [OPENPRODUCER 2007]) und ist in Abbildung 5.2
schematisch dargestellt. Seine Komponenten und Funktionsweise werden im Folgenden
zum besseren Verständnis des Abbildungsvorgangs kurz erläutert.
View Frustum
Render Surface
Scene
Projection Rectangle
Lens
Abbildung 5.2 – Das Kameramodell aus Bildsprache LiveLab basiert auf dem OpenProducer
[OPENPRODUCER 2007].
Der wichtigste Bestandteil des Viewers ist das Viewer-Objekt selbst. Es verwaltet alle
Komponenten und besitzt alle grundlegenden Parameter. Eine dieser Komponenten ist die
Bildebene (Render Surface), auf die alle Informationen abgebildet werden. Die Parameter,
die es für die Bildebene zu spezifizieren gilt, sind die Breite, die Höhe sowie die Bildschirmposition des Ausgabefensters. Die Kamera stellt die nächste relevante Komponente
dar. Sie ist zuständig für die Abbildung der Informationen einer dreidimensionalen Szene
auf die Bildebene. Demnach wird eine Kamera auch einer vorher definierten Bildebene
zugeordnet. Weiterhin muss festgelegt werden, auf welchen Bereich der Bildebene die
Kamera ihren Sichtbereich abbilden soll (Projection Rectangle). Bei Verwendung von nur
einer Kamera wäre dies selbstverständlich die gesamte Bildebene. In Szenarien mit
mehreren Kameras muss die Bildebene jedoch aufgeteilt werden, so dass jede Kamera
ihren eigenen Bereich für die Abbildung hat und es keine Überschneidungen gibt. Darüber
hinaus muss für jede Kamera der Sichtkörper (View Frustum) eingestellt werden. Anhand
des Sichtkörpers werden die Parameter der Abbildung spezifiziert. Dazu zählen an erster
Stelle der horizontale und vertikale Kameraöffnungswinkel sowie die für das Clipping
entscheidenden Tiefengrenzen der Abbildung. Die letzte wichtige Einstellung der Kamera
betrifft die View-Matrix. Diese legt anhand von Vektoren die Kameraposition sowie deren
46
5.3 Anforderungen an Multiperspektive in BiLL
Ausrichtung in der Szene fest. Die vollständig definierten Kameras werden einer KameraKonfiguration zugeordnet und dem Viewer-Objekt zur Verfügung gestellt. Anschließend
werden die Daten der dreidimensionalen Szene in das Viewer-Objekt geladen und dieses
abschließend initialisiert. Der Viewer ist damit betriebsbereit und kann mit der Abbildung
der Szenendaten auf die Bildebene beginnen.
Parallelverarbeitung durch Nutzung verschiedener Threads
Die wichtigste Randbedingung bei der Entwicklung von BiLL war die Fähigkeit, Szenen
und darauf angewendete bildnerische beziehungsweise gestalterische Effekte in Echtzeit
abzubilden. Um die bestmöglichste Leistung mit dem Softwaresystem zu erzielen, wurden
die beiden Hauptkomponenten für Darstellung und Bearbeitung einer Abbildung in zwei
parallele Verarbeitungseinheiten gegliedert. Diese werden als Threads bezeichnet und
dienen der Parallelverarbeitung verschiedener Programmteile in einem Betriebssystem,
wodurch ein Leistungsgewinn erzielt wird. Da es für die Anwendung einen definierten
Einstiegspunkt geben muss, sind die Prioritäten der beiden Threads gestaffelt. Der primäre
Thread, aus dem die Anwendung gestartet wird, ist der Viewer-Thread für die Darstellung.
Der Editor-Thread wiederum ist diesem untergeordnet und beinhaltet die grafische
Benutzeroberfläche des Editors.
Eine Einschränkung, die diese Aufteilung mit sich bringt, ist die fehlende Möglichkeit, die
Viewer-Parameter für die Darstellung vollständig zu beeinflussen. Auf der einen Seite ist es
zwar möglich, die Position und Ausrichtung der Kamera interaktiv während der Darstellung zu verändern sowie die Dimensionen der Bildebene zu steuern, auf der anderen
Seite kann jedoch kein Einfluss auf die Anzahl der Kameras und die Charakteristik des
Ausgabefensters genommen werden. Um dies zu realisieren, muss der für die Darstellung
verantwortliche Viewer neu initialisiert werden. Dies ist aufgrund der starken gegenseitigen Abhängigkeit zwischen Viewer und dem ausführenden Viewer-Thread nicht
möglich. Eine Neuinitialisierung beziehungsweise ein Neustart des Viewers bedarf einen
Neustart des Viewer-Threads, was wiederum die gesamte Anwendung neu starten würde.
Aktuelle Arbeitsdaten und spezielle Einstellungen zur Programmlaufzeit gehen dadurch
verloren. Dieser Fakt sowie die Einschränkungen bei der Plug-In-Schnittstelle stellen die
wichtigsten Rahmenbedingungen für die Entwicklung neuer Funktionalitäten dar.
5.3 Anforderungen an Multiperspektive in BiLL
Multiperspektivische Abbildungen können nach den Erkenntnissen aus Kapitel 3 und 4 in
vielen verschiedenen Formen und auf unterschiedlichen Wegen realisiert werden. Die
Zielstellung dieser Arbeit sowie die zuvor beschriebenen Rahmenbedingungen implizieren
jedoch konkrete Anforderungen an ein multiperspektivisches Verfahren, die anschließend
beschrieben werden. Neben der Erläuterung der jeweiligen Anforderungsfelder erfolgt
zusätzlich eine Sortierung hinsichtlich der Wertigkeit. Die erste Anforderung hat demnach
in Bewertungsprozessen der folgenden Kapitel den größten Einfluss.
47
5 Synthese und Konzeption
Die Arbeitsumgebung BiLL wurde konzipiert, um Szenen und darauf angewendete Effekte
in Echtzeit darzustellen. Dieser Fakt soll auch das ausschlaggebende Kriterium für die
Realisierung multiperspektivischer Abbildungen sein. Daher besteht die Anforderung mit
der höchsten Priorität in einer ressourcenschonenden Verarbeitung und Berechnung der
Abbildungen, damit eine akzeptable Leistung in Echtzeit erzielt werden kann. Diese
Leistungsfähigkeit kann am besten anhand der Bildrate gemessen werden. Laut
[STIX 2002] sind mindestens 60 Bilder pro Sekunde notwendig, um ein für den Menschen
vollkommen flüssig wahrnehmbares Bild zu erzeugen. Anwendungen in der Praxis zeigen
jedoch, dass bereits ab 25 Bildern pro Sekunde flüssige Animationen wahrnehmbar sind.
Das in Europa vorherrschende Format für TV-Übertragungen mit dem Namen PAL basiert
zum Beispiel auf einer Bildrate von 25 Bildern in der Sekunde (vgl. [WEBER 2003]).
Unterhalb dieser Grenze bis mindestens 15 Bilder pro Sekunde sind Animationen durch
stärkere Verzögerungen und Störungen gekennzeichnet, werden jedoch nach STIX noch
immer als bewegte Bilder wahrgenommen. Das Ziel für die Realisierung multiperspektivischer Abbildungen liegt demnach in einer Bildrate von mindestens 25 Bildern in der
Sekunde, um flüssige Animationen zu gewährleisten. Diese primäre Anforderung wird in
folgenden Kapiteln als Echtzeitfähigkeit beschrieben.
Um den Vorteil der Echtzeitdarstellung vollständig nutzen zu können, bietet sich eine
Dynamisierung der multiperspektivischen Abbildungen an. Daraus resultiert wiederum die
Anforderung der Kompatibilität zu verschiedenen Animations- und Navigationsformen. Da
die Szene an sich – aus Gründen eines einheitlichen Datenstamms für alle Funktionen der
Anwendung – nicht verändert werden sollte, muss die jeweilige Bewegung auf alle
Komponenten des multiperspektivischen Abbildungssystems angewendet werden. Dies
setzt voraus, dass das Abbildungssystem nicht zu komplex strukturiert ist und sich die
jeweiligen Komponenten einzeln und in fester Abhängigkeit zueinander verschieben
lassen. Dadurch wird gewährleistet, dass trotz einer Bewegung die innere Struktur des
Abbildungssystems erhalten bleibt. Diese sekundäre Anforderung wird nachfolgend als
Animationsfähigkeit beschrieben.
Eine weitere Anforderung besteht in der interaktiven Kontrolle aller Parameter einer multiperspektivischen Abbildung. Das Abbildungssystem eines konkreten Forschungsansatzes
muss demnach eine ständige Aktualisierung seiner Struktur und seiner Konfiguration
ermöglichen. Infolgedessen kann der Einfluss, den jeder Parameter auf die Charakteristik
der Abbildung hat, besser verfolgt und bewertet werden. Kombiniert mit der Darstellung
in Echtzeit ermöglicht die interaktive Manipulation der Darstellung ein direktes, visuelles
Feedback über die Auswirkung des veränderten Parameters. Dies stellt für die Forschung
eine optimale Plattform dar, um neue Erkenntnisse zu gewinnen. In nachfolgenden
Kapiteln soll diese tertiäre Anforderung als Interaktivität bezeichnet werden.
48
5.4 Eignung multiperspektivischer Methoden für BiLL
5.4 Eignung multiperspektivischer Methoden für BiLL
5.4.1 Erläuterungen zum Bewertungsverfahren
In Kapitel 4 wurden bereits aktuelle Verfahren zur Erzeugung multiperspektivischer
Abbildungen vorgestellt. Im folgenden Abschnitt wird nun deren Eignung für eine Realisierung im Rahmen von BiLL bewertet. Der Grad der Eignung hängt hauptsächlich von den
in Abschnitt 5.3 beschriebenen Anforderungen ab, die sich durch Echtzeitfähigkeit (a),
Animationsfähigkeit (b) und Interaktivität (c) von multiperspektivischen Verfahren zusammenfassen lassen. Der Prozess zur Bewertung wird anhand der Klassifikation (siehe
Abschnitt 3.3) strukturiert. Diese sieht eine Unterteilung des gesamten Spektrums multiperspektivischer Verfahren in die Klassen Manipulation am Objekt (1), Manipulation am
Abbildungsverfahren (2) sowie Manipulation auf der Bildebene (3) vor.
5.4.2 Manipulation am Objekt
Multiperspektivische Verfahren der Klasse 1 beschränken sich auf Transformationen der
Objektstruktur und -geometrie (siehe Abschnitt 3.3.2).
Echtzeitfähigkeit
Die Echtzeitfähigkeit von Geometrietransformationen ist grundlegend von der Komplexität
des zu manipulierenden Objekts sowie von der Komplexität der Transformationsvorschrift
abhängig, denn diese ergeben zusammen den maximalen Berechnungsaufwand, der für
jeden Frame zu bewältigen ist.
Wie die in Abschnitt 4.2 vorgestellten Verfahren beweisen, ist eine Geometrietransformation in Echtzeit prinzipiell möglich. Nachfolgend soll erörtert werden, ob sich daraus
eine generelle Eignung für die Arbeitsumgebung BiLL ableiten lässt.
[KEAHEY
1998]
definiert
zur
Erzeugung
multiperspektivischer
Abbildungen
die
Magnification Fields (siehe Abbildung 4.1), die als zweidimensionale Grundform den Input
für die Geometrietransformationen darstellen. Es findet also eine Beschränkung der
unterstützten Objektstrukturen auf zweidimensionale Flächen statt. Die Transformationsvorschriften können im Unterschied dazu komplex definiert und auf beliebige Felder
angewendet werden.
[VALLANCE & CALDER 2001] hingegen definieren Einschränkungen jeweils für die Objektstruktur und die Transformationsvorschriften. Unterstützt werden Szenen mit einer dominanten zweidimensionalen Grundform. Bei einer Landschaft wäre demnach der Szenenboden Gegenstand der Geometrietransformation, in dessen Abhängigkeit alle darauf
positionierten Objekte manipuliert werden. Die Transformationsvorschrift beschränkt sich
auf eine Krümmung des Raumes, die innerhalb festzulegender Schwellenwerte nur in
einer Dimension anwendbar ist (siehe Abbildung 4.2).
Der von [ZAVESKY 2007] vorgestellte Ansatz ist im Unterschied zu den ersten beiden auf
beliebig geformte, dreidimensionale Strukturen anwendbar. Er definiert aber, ähnlich wie
bei VALLANCE und CALDER, Einschränkungen für die Transformationsvorschriften. Der von
49
5 Synthese und Konzeption
ZAVESKY vorgestellte Algorithmus lässt nur eine globale Manipulation des gesamten
Objekts zu, nicht jedoch die Veränderung bestimmter Teile oder spezieller Knoten eines
Objekts. Demnach unterstützt dieser Algorithmus keine lokalen Transformationen, die
eine Seite des Objekts gesondert behandeln, um diese in einer zur Hauptperspektive
veränderten Ansicht darzustellen.
Die Echtzeitfähigkeit der drei aufgeführten Beispiele basiert folglich auf Einschränkungen
an der Komplexität des Verfahrens. Entweder ist die Anwendung wie bei KEAHEY sowie
VALLANCE und CALDER auf zweidimensionale Strukturen, die geringere strukturelle
Ansprüche an ein Verfahren stellen, begrenzt oder es findet wie bei ZAVESKY eine
Limitierung möglicher Transformationsvorschriften statt. Die im Rahmen dieser Arbeit zu
entwickelnden multiperspektivischen Darstellungen sollen aber möglichst wenigen Beschränkungen unterliegen, weswegen sich für diese Klasse keine uneingeschränkte
Eignung feststellen lässt.
Animationsfähigkeit
Hinsichtlich der Anforderung der Animationsfähigkeit bieten Verfahren dieser Klasse einen
wesentlichen Vorteil, weil sie die Abbildung multiperspektivischer Darstellungen mit nur
einer Kamera ermöglichen. Das Abbildungssystem hat folglich eine sehr einfache Struktur
und lässt sich leicht in einer Szene animieren.
Ein klarer Nachteil ist jedoch, dass die angewendeten Objekttransformationen immer nur
für eine bestimmte Kameraeinstellung und eine Objektposition berechnet werden und
auch nur für diese eine Kombination eine sinnvolle Darstellung bieten. Sobald sich das
Objekt oder die Kamera bewegen, muss die Objekttransformation auf Basis der veränderten Parameter neu berechnet werden. Der Algorithmus von [ZAVESKY 2007] zum
Beispiel berechnet die Objekttransformation für jeden Frame der Animation in Abhängigkeit zur Kamera- und Objektposition.
Zur Gewährleistung einer guten Animations-, aber auch einer akzeptablen Echtzeitfähigkeit sind die im vorigen Abschnitt beschriebenen Einschränkungen für Objektgeometrie und Transformationsvorschriften also essenziell, um den Berechnungsaufwand
in jedem Frame gering zu halten. Eine vollkommen freie Transformation würde sehr große
Anforderungen an die Realisierung stellen, denn dann müsste jeder Knotenpunkt einer
dreidimensionalen Struktur einzeln und in relativer Abhängigkeit zu benachbarten Knoten
verarbeitet werden. Die Berücksichtigung von Abhängigkeiten zwischen Knoten dient
dabei dem Erhalt der einheitlichen Objektstruktur. Bei komplexen Objekten mit mehreren
zehn- bis hunderttausend Knotenpunkten, die wiederum mehrere strukturelle Abhängigkeiten untereinander haben, stellt dies jedoch einen enormen Berechnungsaufwand pro
Frame dar.
Eine allgemeine Animationsfähigkeit kann folglich nur für einfache Objekte oder
eingeschränkte Transformationen erwartet werden. Komplexe Objekte und vollkommen
freie Transformationsvorschriften können nur in statischen Szenarien verarbeitet werden.
50
5.4 Eignung multiperspektivischer Methoden für BiLL
Interaktivität
Weil das Abbildungssystem bei Verfahren dieser Klasse von Manipulationen ausgenommen ist und demnach keiner ständigen Aktualisierung bedarf, kann prinzipiell eine gute
Interaktivität festgestellt werden. Jedoch ergeben sich ähnlich wie bei der Animationsfähigkeit indirekte Abhängigkeiten, die das Ergebnis der Interaktivität beeinflussen.
Durch die Veränderung der Geometrie kann es zu Störungen zwischen benachbarten
Objekten kommen. Durch lokale Transformationen treten verstärkt Beziehungsänderungen zwischen manipulierten und originalen Gegenständen auf, die sich zum Beispiel
durch Überschneidungen der Objektstruktur äußern können. Auch ein plötzliches Loslösen
eines Gegenstandes vom Boden ist möglich. Der Ansatz von [ZAVESKY 2007] ist zum
Beispiel durch diese Störungen gekennzeichnet und bietet daher nicht immer verlässliche
Informationen über die Lage eines Objekts im Raum und seine relative Beziehung zu
Nachbarn.
Um diesen Lageverschiebungseffekten entgegenzuwirken, beschreibt [WOJDZIAK 2007]
zwei verschiedene Möglichkeiten. Zum einen kann per Kollisionserkennung die Durchdringung von Objekten gezielt verhindert werden, indem eine Transformation nur bis zur
Objektgrenze eines benachbarten Objekts durchgeführt wird. Auf der anderen Seite kann
die Verarbeitungsreihenfolge beim Rendern der einzelnen Objekte bewusst modifiziert
werden, damit ein Objekt generell vor einem anderen dargestellt wird, auch wenn Teile
des Objekts sich mit benachbarten überschneiden. Die von WOJDZIAK beschriebenen
Möglichkeiten sind momentan jedoch nur für manuelle Korrekturen anwendbar. Eine
automatische Anpassung ist nur unter erheblichem Analyseaufwand der dreidimensionalen Szene möglich und gegenwärtig nicht ausreichend erforscht.
Eine problemlose Interaktivität kann folglich für strukturell einfache Szenen mit geringen
Objektbeziehungen, wie zum Beispiel bei [KEAHEY 1998] und [VALLANCE & CALDER 2001],
festgestellt werden. Der Grad der Interaktivität sinkt mit zunehmender Komplexität einer
Szene.
5.4.3 Manipulation am Abbildungsverfahren
Die Verfahren der Klasse 2 erzeugen multiperspektivische Abbildungen durch Transformation der Abbildung, zum Beispiel anhand nichtlinearer Projektionsstrahlen oder
komplexer Abbildungsfunktionen.
Echtzeitfähigkeit
Die Echtzeitfähigkeit eines konkreten Ansatzes dieser Klasse basiert vor allem auf dem
Berechnungsaufwand, der während des Abbildungsprozesses entsteht. Im Folgenden wird
geklärt, ob sich die in Abschnitt 4.3 beschriebenen Ansätze für eine Realisierung in
Echtzeit eignen. Diesbezüglich wird vor allem die Gestaltung der nichtlinearen und
komplexen Projektionsverfahren analysiert.
[LÖFFELMANN & GRÖLLER 1996] sowie [VALLANCE & CALDER 2002] definieren erweiterte
Kameramodelle, die sich von herkömmlichen Modellen durch eine besondere Formung
der Projektions- und Bildebene unterscheiden. Die Projektion geht nicht von einem
51
5 Synthese und Konzeption
einzelnen Augpunkt, sondern von einer beliebig geformten Fläche aus (siehe Abbildung
4.4). Die Projektionsstrahlen des Systems werden anhand der Normalen über die gesamte
Oberfläche verteilt und strahlen in den Raum ab.
[PELEG ET AL. 2001] und [GLUCKMAN ET AL. 1998] hingegen basieren ihre Abbildungssysteme
auf einem einzelnen Augpunkt und realisieren die Manipulation des Projektionsverfahrens
durch Verwendung optischer Elemente. Anhand von Spiegeln oder Linsen werden die
Projektionsstrahlen reflektiert oder gebrochen und folglich auf einem nichtlinearen Weg in
der Szene verteilt, um neue Blickwinkel zu ermöglichen. Obwohl beide Ansätze nur für die
reale Welt realisiert wurden, bieten sie interessante Angriffspunkte für eine Umsetzung im
virtuellen Raum.
Die Realisierung der beschriebenen Projektionsverfahren dieser Klasse ist anhand des
herkömmlichen Rasterization-Verfahrens (siehe Abschnitt 2.2.3) nicht möglich, da die
Einschränkungen für den Augpunkt oder die Projektionsstrahlen nicht eingehalten werden
können. Die Verwendung des rechenintensiven Raytracing-Verfahrens (siehe Abschnitt
2.2.3) ist für die Umsetzung nichtlinearer Projektionen daher unumgänglich. Zum einen
können mittels Raytracing verschiedene und unabhängige Emissionszentren für Strahlen
definiert werden und zum anderen kann die Bahn der Projektionsstrahlen über mehrere
Schnittpunkte hinweg verfolgt werden. Infolgedessen lassen sich komplexe Oberflächen
als Projektionsebenen definieren und die Berechnung von Reflexions- und Brechungseffekten für Projektionsstrahlen wird möglich.
Die computergrafische Realisierung des Raytracing-Verfahrens in Echtzeit ist nach
[WALD 2004] und [ABERT 2006] zum gegenwärtigen Zeitpunkt an die Verwendung
spezieller Software und angepasster Hardware gebunden, um die nötige Rechenleistung
und Verarbeitungseffizienz zu erzielen. Eine solche Softwarebibliothek ist zum Beispiel
OpenRT (vgl. [OPENRT 2007]). Die Rahmenbedingungen dieser Arbeit lassen jedoch den
Einsatz spezieller Grafiksoftware nicht zu, da BiLL auf OpenGL und demnach auf dem
Rasterization-Verfahren basiert. Die experimentelle Simulation von Raytracing mittels
OpenGL ist nach [ZARNS & MARSH 2006] noch nicht leistungsfähig genug und auf
handelsüblichen Arbeitsplatzrechnern nicht anwendbar. Die Verwendung modifizierter
Hardware würde überdies die Flexibilität von BiLL erheblich einschränken und kommt
daher ebenso nicht in Frage.
Es kann folglich nur eine eingeschränkte Echtzeitfähigkeit für Verfahren der Klasse 2
festgestellt werden, die darüber hinaus aus technischen Gründen zur Arbeitsumgebung
BiLL nicht kompatibel sind.
Animationsfähigkeit
Die Animationsfähigkeit eines Verfahrens beruht maßgeblich auf der Komplexität aller
Komponenten des Abbildungsprozesses. Die für diese Klasse vorgestellten Ansätze unterscheiden sich in solche, die alle Komponenten zentral vereinen und jene, bei denen die
Komponenten in der Szene verteilt sind.
52
5.4 Eignung multiperspektivischer Methoden für BiLL
a)
b)
Abbildung 5.3 – Multiperspektive durch Einsatz eines Wölbspiegels (a) oder einer mathematisch
beschreibbaren Oberfläche (b): Es ist deutlich der große Platzbedarf des Abbildungssystems,
bestehend aus Kamera und Spiegel (rot), zu sehen. Dies führt in komplexen Szenen häufig
zu Überschneidungen des Abbildungssystems mit anderen Objekten während des Ablaufs
von Animationen. Exemplarische Projektionsstrahlen werden anhand der weißen Pfeile
dargestellt.
Die Verfahren nach [LÖFFELMANN & GRÖLLER 1996] sowie [VALLANCE & CALDER 2002]
besitzen ein strukturell wenig komplexes Abbildungssystem. In beiden Fällen erfolgt die
Abbildung anhand eines erweiterten Kameramodells in Form einer mathematisch
beschreibbaren Oberfläche. Dieses Konstrukt kann ähnlich wie eine herkömmliche
computergrafische Kamera (siehe Abschnitt 2.2.2) durch eine Szene bewegt werden.
Dem entgegen stehen die sehr viel komplexer strukturierten Abbildungssysteme nach
[PELEG ET AL. 2001], [GLUCKMAN ET AL. 1998] sowie [ZOMET ET AL. 2003]. Diese Ansätze
basieren auf der gezielten Ablenkung von Projektionsstrahlen durch in der Szene verteilte
Spiegel, Linsen oder Blenden. Die Animation eines solchen Abbildungssystems stößt in
komplex strukturierten Szenen schnell an ihre Grenzen, weil es zu häufigen Überschneidungen der optischen Elemente mit anderen Objekten in der Szene kommt (siehe
Abbildung 5.3). Der Bewegungsradius für eine konfliktfreie Animation wird daher enorm
eingeschränkt.
Ein optisches Element besitzt zudem eine exakt an die Kameraeinstellung und den
Objektstandort angepasste Position und Ausrichtung, um die Projektionsstrahlen zwischen
diesen beiden Komponenten korrekt weiterzuleiten. Eine Bewegung des Objekts oder der
Kamera während einer Animation erfordert die fortlaufende Anpassung von Position und
Ausrichtung des optischen Elements, wodurch zusätzlicher Verarbeitungsaufwand entsteht.
Zusammenfassend kann eine generelle Animationsfähigkeit für Verfahren dieser Klasse
festgestellt werden. Die zuletzt beschriebenen Ansätze auf Basis optischer Elemente sind
jedoch durch Einschränkungen in komplex strukturierten Szenen gekennzeichnet.
Interaktivität
Die Interaktivität bei Methoden der Klasse 2 bezieht sich hauptsächlich auf Parameter, die
die strukturellen Eigenschaften des Abbildungssystems beschreiben. So kann zum Beispiel
53
5 Synthese und Konzeption
die Oberflächenform einer komplexen Kamera oder die Positionierung und Ausrichtung
optischer Elemente parametrisiert werden. Auch hier gelten die zur Animationsfähigkeit
erläuterten Beschränkungen. Demnach sollte unbedingt verhindert werden, dass die
Dimensionen der Oberfläche einer komplexen Kamera oder einzelne optische Elemente
sich mit anderen Objekten der Szene überschneiden. Die Charakteristik des visuellen
Feedbacks einer interaktiven Manipulation der Darstellung ist wiederum von der Echtzeitfähigkeit des Abbildungssystems abhängig. Es kann daher eine allgemeine Interaktivität
für Methoden dieser Klasse festgestellt werden.
5.4.4 Manipulation auf der Bildebene
Die untersuchten Methoden der Klasse 3 setzen multiperspektivische Abbildungen nach
dem Konzept des Mosaikverfahrens anhand einzelner Perspektiven auf der Bildebene
zusammen.
Echtzeitfähigkeit
Die Echtzeitfähigkeit von Methoden dieser Klasse basiert hauptsächlich auf der Anzahl der
parallelen Perspektiven, der Form ihrer Abbildung sowie der Art und Weise, wie sie auf der
Bildebene verarbeitet werden.
Die Anzahl der Perspektiven hat nach [RADEMACHER & BISHOP 1998] einen hohen Einfluss
auf die Echtzeitfähigkeit. Auch wenn die Menge der Informationen auf der Bildebene
gleich bleibt, kann eine hohe Perspektivenanzahl und demnach eine hohe Dichte eine
genauere Darstellung aller Details bewirken (siehe Abbildung 4.9 (c)). Für die Verarbeitung
der Informationen bedeutet dies, dass mehr Verwaltungsaufwand beim Definieren und
Abbilden der einzelnen Perspektiven entsteht. Gründe für diesen Umstand werden in Abschnitt 8.3 erläutert. Weiterhin wird in Abschnitt 5.5.4 anhand einer Beispielkonfiguration
gezeigt, in welchem Verhältnis die Perspektivenzahl zur Echtzeitfähigkeit steht.
Ebenso einen Einfluss auf die Echtzeitfähigkeit hat die Form der Abbildung. Man
unterscheidet die Abbildung aller Perspektiven anhand einer sich bewegenden Kamera
und die Zuordnung unabhängiger Kameras zu jeder Perspektive. Der erste Fall wurde von
[PELEG & HERMAN 1997] sowie [RADEMACHER & BISHOP 1998] anhand einer rotierenden
Kamera realisiert. Um eine Darstellung in Echtzeit zu ermöglichen, müsste die Kamera
innerhalb aller Frames auf jede der einzelnen Kameraeinstellungen positioniert und
ausgerichtet werden und die Perspektiven schrittweise auf die Bildebene abbilden. Dies
stellt einen sehr hohen Aufwand dar und wird zudem durch die von BiLL verwendete
Technologie nicht unterstützt, weil die Grafikbibliothek OpenSceneGraph die Abbildung
einer Kamera nur einmal in einem Frame erlaubt. Als Alternative kann durch die
Zuordnung einer eigenständigen Kamera zu jeder definierten Perspektive im Abbildungssystem eine simultane Abbildung aller Perspektiven auf die Bildebene erfolgen. Der
erhöhte Verwaltungs- und Synchronisationsaufwand ist im Verhältnis zum eigentlichen
Abbildungsprozess sehr gering. Die Realisierung multiperspektivischer Abbildungen auf
Basis von Klasse 3 kann im Rahmen der Arbeitsumgebung BiLL nur anhand von mehreren
parallelen Kameras in Echtzeit erfolgen.
54
5.4 Eignung multiperspektivischer Methoden für BiLL
In [SINGH 2002] wird ein komplexerer Ansatz des Mosaikverfahrens beschrieben, bei dem
die einzelnen Perspektiven unter zusätzlicher Berücksichtigung von Gewichtungsfaktoren
auf der Bildebene überlagert und verschmolzen werden. Dieser Ansatz ermöglicht gute
visuelle Resultate auch bei Verwendung weniger Perspektiven. Obwohl die Gewichtung
und Überlagerung der Perspektiven einen Mehraufwand darstellt, kann aufgrund der
wenigen parallelen Perspektiven auch hier eine gute Echtzeitfähigkeit erzielt werden.
Zusammenfassend kann für Methoden dieser Klasse eine gute Echtzeitfähigkeit festgestellt werden, was sich anhand von Leistungstests in Abschnitt 5.5.4 auch belegen lässt.
Abbildung 5.4 – Multiperspektivisches Abbildungssystem aus mehreren Kameras: Durch Positionierung aller
Kameras auf einem Punkt (im roten Kreis) wird der geringste Raum in einer Szene
beansprucht und die Animationsfähigkeit erhöht.
Animationsfähigkeit
Die Komplexität und Struktur eines Abbildungssystems der Klasse 3, bestehend aus
mehreren Kameras, ist verantwortlich für eine gute Animationsfähigkeit. Dieses Verhalten
ist ähnlich dem der Klasse 2, nur dass in diesem Fall eine direkte Abbildung stattfindet und
kein Umweg über die Reflexion an optischen Elementen notwendig ist. Folglich können
Abbildungssysteme dieser Klasse kompakter strukturiert werden und es verringert sich die
Gefahr von Überschneidungen mit anderen Szenenbestandteilen (siehe Abbildung 5.4).
Die Bewegung des Abbildungssystems kann so flexibler gestaltet werden, woraus sich eine
bessere Animationsfähigkeit ergibt. Dennoch gilt hier die Regel: Je komplexer die
Strukturierung und Verteilung der Kameras im Abbildungssystem ist, desto größer ist der
Platzbedarf und desto unflexibler wird infolgedessen die Animationsfähigkeit.
Zusätzlich bewirkt das Wegfallen indirekter Abbildungskomponenten wie zum Beispiel
Spiegeln, dass die Erhaltung der Struktur des Abbildungssystems während einer Animation
einfacher wird. Demnach müssen ausschließlich strukturelle Beziehungen zwischen den
Kameras des Systems berücksichtigt werden.
55
5 Synthese und Konzeption
Interaktivität
Für das Kriterium der Interaktivität spielt die Charakteristik des Mosaikverfahrens eine
ausschlaggebende Rolle. Dieses ist darauf ausgelegt, dass benachbarte Perspektiven auf
der Bildebene genau aneinanderpassen, um fließende visuelle Übergänge zu ermöglichen.
Der Sichtkörper (siehe Abschnitt 2.2.2) jeder einzelnen Kamera nimmt diesbezüglich eine
zentrale Rolle ein. Benachbarte Perspektiven bedürfen jederzeit – auch bei Verschiebungen
aufgrund von Animationen – einer exakten Anpassung der Sichtkörper, was auf verschiedenen Wegen erzielt werden kann.
Die einfachste Methode ist eine Neuberechnung der einzelnen Sichtkörper, damit diese
wieder exakt zueinander passen. Die Berechnung kann bei Abbildungssystemen mit einer
mathematisch beschreibbaren Struktur, zum Beispiel die Anordnung der Perspektiven in
einem Kreis oder entlang einer Geraden, anhand eines Algorithmus erfolgen.
Besitzt das Abbildungssystem eine beliebige Struktur, so gibt es keine globale Formel zu
Berechnung der Sichtkörper und diese können nicht automatisch angepasst werden. Hier
kommt es vielmehr darauf an, das vorhandene Bildmaterial der einzelnen Perspektiven im
zweidimensionalen Raum auf der Bildebene korrekt aneinander anzupassen. Das kann
über Mustererkennung in den Randbereichen jeder einzelnen Perspektive erreicht werden.
Dieser Prozess ist aber sehr rechenaufwendig und eignet sich nur bedingt für eine
Darstellung in Echtzeit.
Der Einsatz einer mathematisch beschreibbaren Struktur des Abbildungssystems ist
demnach vorteilhaft, damit eine automatische und effiziente Anpassung der Sichtkörper
jeder einzelnen Perspektive realisiert werden kann. Infolgedessen kann bei jeglicher
Interaktion mit dem Abbildungssystem jederzeit eine korrekte Darstellung auf der
Bildebene gewährleistet werden.
5.4.5 Auswahl und Begründung
Aufgrund der Bewertung der einzelnen Klassen in den vorherigen Abschnitten lässt sich
feststellen, dass mittels der Manipulation auf der Bildebene (Klasse 3) die besten
Ergebnisse in Abhängigkeit zu den in Abschnitt 5.3 definierten Anforderungen erzielt
werden können. Die Vorteile dieser Klasse lassen sich vor allem im Bereich der
Echtzeitfähigkeit feststellen, was wiederum die Anforderung mit der höchsten Priorität ist.
Die Verwendung multipler Kameras und paralleler Abbildungen erzielt im Vergleich
bessere Ergebnisse, als sie durch Transformationen an der Objektgeometrie oder am
Abbildungsverfahren zu erwarten sind. Bei den beiden letztgenannten Klassen lässt sich
im Gegenteil eher eine klare Untauglichkeit für eine echtzeitfähige Realisierung in BiLL
feststellen. Auch für die Anforderung der Animationsfähigkeit kann die beste Eignung in
der dritten Klasse festgestellt werden. So erlaubt diese eine sehr übersichtliche
Strukturierung des Abbildungssystems, wodurch die Realisierung von Animationen besser
unterstützt werden kann. Im Bereich der Interaktivität als tertiäre Anforderung lässt sich
bei allen Klassen eine nahezu gleichwertige Eignung feststellen, wobei jede Klasse
spezifische Vor- und Nachteile aufweist. In Tabelle 2 sind alle Bewertungskriterien noch
56
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
einmal zusammengefasst. Aufbauend auf dieser Methodenauswahl wird im folgenden
Abschnitt ein Konzept dargestellt, nach dem die Realisierung multiperspektivischer
Abbildungen in der Arbeitsumgebung BiLL erfolgt.
(a)
Echtzeitfähigkeit
(b)
Animationsfähigkeit
(c)
Interaktivität
(Klasse 1)
Manipulation
am Objekt
Im starken Maße
abhängig von der
Komplexität der
Objektgeometrie und der
Transformationsvorschrift,
ohne Definition von
Einschränkungen nicht
realisierbar
Fortlaufende Anpassung der
Objekttransformation für sich
ändernde
Kameraeinstellungen und
Objektstandorte notwendig
Große Gefahr von
Geometrieüberschneidungen bei
benachbarten Objekten bei
singulärer Verarbeitung
(Klasse 2)
Manipulation
am
Abbildungsverfahren
Individuelle Berechnung
und komplette
Nachverfolgung eines
jeden Projektionsstrahls
notwendig,
nur in Verbindung mit
spezieller Soft- und
Hardware realisierbar
Abhängig von der
strukturellen Komplexität des
Abbildungssystems, erhöhter
Platzbedarf durch in der
Szene verteilte Spiegel und
Linsen
Fähigkeit zur Interaktion
basiert hauptsächlich auf
Echtzeit- und
Animationsfähigkeit
(Klasse 3)
Manipulation
auf der
Bildebene
Gute Ergebnisse bei
simultaner Abbildung
vieler paralleler Kameras
und Kombination der
Perspektiven auf der
Bildebene
Abhängig von struktureller
Komplexität des
Abbildungssystems,
geringer Platzbedarf der
multiplen Kameras
Anpassung des
Sichtkörpers jeder
einzelnen Perspektive
notwendig,
um kontinuierliche
Übergänge zwischen
Perspektiven zu erhalten
Tabelle 2 – Zusammenfassung zur Bewertung der Eignung der einzelnen Klassen in Abhängigkeit von den
definierten Anforderungen
57
5 Synthese und Konzeption
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
5.5.1 Überblick zum Konzept
Auf Basis der im vorhergehenden Abschnitt abgeschlossenen Methodenauswahl wird nun
ein Konzept zur Realisierung multiperspektivischer Abbildungen in der Arbeitsumgebung
BiLL vorgestellt.
Wie bereits in Kapitel 3 beschrieben, entstehen multiperspektivische Effekte durch
Manipulationen der einzelnen Komponenten des Abbildungssystems, unabhängig davon,
welches spezielle Verfahren angewendet wird. In Abschnitt 5.5.2 wird daher ein konkretes
Abbildungssystem definiert, dass den Eigenschaften der gewählten Methode entspricht.
Anschließend werden Ansätze zur Optimierung vorgestellt, die die Leistungsfähigkeit des
Konzepts und die Darstellungsqualität der Abbildungen weiter verbessern. Es wird
unterteilt in strukturelle Optimierung am Modell in Abschnitt 5.5.3 und technische
Optimierung in der Umsetzung in Abschnitt 5.5.4.
5.5.2 Definition des Abbildungssystems
Das Abbildungssystem stellt das Kernmodul einer Anwendung zur Visualisierung dreidimensionaler Szenen dar. Es ist dafür verantwortlich, die dreidimensionalen Objektdaten
in zweidimensionale Bilddaten zu überführen. Die Anforderungen, die das Abbildungssystem im Rahmen dieser Arbeit erfüllen muss, sind die Abbildung der Szenendaten in
Echtzeit, die Eignung zur Realisierung von Animationen sowie die Möglichkeit der
interaktiven Manipulation des Abbildungssystems. Zudem besteht das Schlüsselkriterium
in einer Kompatibilität zu multiperspektivischen Abbildungen. Wie bereits in Abschnitt 5.4
festgestellt wurde, eignen sich zur Realisierung dieser Anforderungen Verfahren auf Basis
von Bildebenentransformationen am besten. Aus diesem Grund wird für dieses Konzept
ebenfalls die in Abschnitt 3.3.4 vorgestellte Technik des Mosaikverfahrens zur Kombination verschiedener Perspektiven verwendet. Im Folgenden werden die Komponenten
beschrieben, die ein Abbildungssystem auf Basis des Mosaikverfahrens unbedingt
enthalten muss.
Kamera
Die Kamera ist die grundlegendste Komponente eines Abbildungssystems. Sie ist für die
Erfassung der dreidimensionalen Szenendaten verantwortlich und leitet die Informationen
an weitere Komponenten des Systems weiter. Eine Kamera im dreidimensionalen Raum
besitzt Parameter, durch die die Abbildung beeinflusst werden kann (siehe Abbildung 5.2).
Zunächst hat jede Kamera eine spezifische Position und Ausrichtung im Raum. Während
die Position in den drei Raumkoordinaten x, y und z angegeben wird, definiert sich die
Ausrichtung durch drei unabhängige Rotationen um alle drei Achsen des Koordinatensystems. Die Positions- und Ausrichtungswerte werden in einer View-Matrix zusammengefasst, welche folglich eine Kameraeinstellung beziehungsweise eine Perspektive
58
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
komplett beschreibt. Weiterhin kann der Sichtkörper einer Kamera definiert werden (siehe
Abschnitt 2.2.2).
a)
b)
c)
Abbildung 5.5 – Realisierte Kameramodelle in BiLL und ihre typische Grundform:
Centric-Circular-View als kreisförmiges Modell mit Ausrichtung zum Kreisinneren (a),
Panoramic-Circular-View als kreisförmiges Modell mit radialer Ausrichtung nach außen (b)
und Straight-Lined-View als geradliniges Modell mit variabler Ausrichtung der Kameras (c)
Kameramodell
Das Kameramodell ist die strukturell umfangreichste Komponente eines Abbildungssystems. Es ist für die Organisation einer Vielzahl von Kameras verantwortlich, die in einer
dreidimensionalen Szene verteilt sind. Jede einzelne Kamera bildet jeweils eine Perspektive
ab und trägt damit zur Erzeugung der multiperspektivischen Abbildung bei. Die
Positionierung und Ausrichtung der Kameras kann völlig frei erfolgen.
Nach Erkenntnissen aus Abschnitt 5.4.4 ist die Verwendung mathematisch beschreibbarer
Grundformen jedoch sinnvoller, weil dann die Manipulation und Interaktion mit dem
Kameramodell basierend auf Algorithmen automatisiert werden kann. Dieses Prinzip lässt
sich auch bei der Mehrzahl der untersuchten Arbeiten aus Kapitel 4 feststellen. Zu den
einfachsten Formen zählen die Platzierung der Kameras anhand eines Kreises oder einer
Geraden. Die Verwendung eines Kreises bietet gute Möglichkeiten, vielfältige multiperspektivische Abbildungen zu erzeugen. Er dient daher als erste Form zur Definition von
Kameramodellen in BiLL. Durch Ausrichtung der Kameras zum Mittelpunkt des Kreises
lässt sich ein einzelnes Objekt von mehreren Seiten abbilden. Dieses Modell wird in als
Centric-Circular-View (CCV) bezeichnet und ist in Abbildung 5.5 (a) dargestellt. Besitzen
die Kameras jedoch eine gegensätzliche Ausrichtung und zeigen vom Mittelpunkt weg, so
können sie einen Rundblick in den Raum ermöglichen. Abbildungen dieser Art werden
auch als Panoramen bezeichnet und besitzen in BiLL den Namen Panoramic-Circular-View
(PCV) (siehe Abbildung 5.5 (b)). Durch weitergehende Parametrisierung dieser Modelle
können die Abbildungen zusätzlich modifiziert werden. Zu den wichtigsten Parametern
zählen der maximale Öffnungswinkel des Kreises in Winkelgrad und die Anzahl der
verwendeten Kameras. Ein Kreisöffnungswinkel von 360 Grad entspricht einem
vollständigen Rundblick. Außerdem kann über den Radius des Kreises eine weitere
59
5 Synthese und Konzeption
Manipulation vorgenommen werden. Ist eine Platzierung aller Kameras auf einem
einzelnen Punkt gewünscht, so wird der Radius des Kreises auf Null gesetzt.
Zusätzlich zu den Kameramodellen auf Basis einer Kreisform wird noch ein drittes Modell
spezifiziert. Diesem Modell liegt die Grundform der Geraden zugrunde, auf der alle
Kameras verteilt werden. Als Parameter gelten in diesem Fall die Anzahl der Kameras,
deren Abstand untereinander sowie die gemeinsame Ausrichtung. In der Arbeitsumgebung BiLL wird dieses Modell als Straight-Lined-View (SLV) bezeichnet und ist in
Abbildung 5.5 (c) dargestellt. Es dient der Visualisierung von multiperspektivischen
Effekten, die der Parallelprojektion (siehe Abschnitt 2.2.1) und dem Pushbroom-Verfahren
(siehe Abschnitt 4.4) ähneln.
Kamera 1,2,3...
Bildebene
1
era
2
Kam amera era 3
4
K
Kam amera
K
Abbildung 5.6 – Konzept zur Aufteilung der Bildebene: Jede Perspektive des Kameramodells wird auf einen
vorher festgelegten Bereich auf der Bildebene projiziert. Auf der Bildebene verschmelzen
alle Teilabbildungen zu einem finalen, multiperspektivischen Bild.
Bildebene
Auf der Bildebene findet die zweidimensionale Abbildung einer dreidimensionalen Szene
statt. Sie ist das Ziel aller Projektionen der einzelnen Kameras. Bei dem in diesem Konzept
zum Einsatz kommenden Mosaikverfahren spielt die Strukturierung der Bildebene eine
wichtige Rolle. Jede im Kameramodell definierte Perspektive bekommt ihren eigenen
Bereich auf der Bildebene zugeteilt. In diesen Bereich darf nur jeweils diese eine Kamera
abbilden.
Die Art und Weise der Aufteilung der Bildebene ist abhängig von der Charakteristik des
jeweiligen Kameramodells. Im Rahmen dieses Konzeptes werden jedoch nur Kameramodelle verwendet, bei denen die Perspektiven jeweils auf der Transversalebene (siehe
Abschnitt 2.1.2) verteilt sind. Dieses Modell wird allgemein auch als Streifenkamera
bezeichnet. Die Beschränkung auf das Modell der Streifenkamera dient in dieser Arbeit zur
Vereinheitlichung der individuell abgeleiteten Kameramodelle und der Vereinfachung ihrer
internen Organisation. Die Aufteilung der Bildebene erfolgt demnach durch schrittweise
Kombination der Perspektiven, wie in Abbildung 5.6 dargestellt ist. Ebenso wie das
60
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
Kameramodell ist auch die Bildebene vielfältig parametrisierbar. So kann zum Beispiel die
Höhe und die Breite eines jeden Teilbereiches festgelegt werden. Die Anzahl der
Teilsegmente auf der Bildebene ist wiederum immer von der Anzahl der definierten
Perspektiven abhängig.
Anhand dieser drei Komponenten – Kamera, Kameramodell und Bildebene – lässt sich das
multiperspektivische Abbildungssystem vollständig beschreiben. Die eben vorgenommenen Definitionen sind jedoch sehr allgemein und noch durch einige Einschränkungen
bezüglich Darstellungsqualität und Leistungsfähigkeit gekennzeichnet. In den beiden
folgenden Abschnitten werden diese Einschränkungen erläutert und Lösungsansätze
konzipiert. Es wird in strukturelle und technische Optimierung unterteilt.
5.5.3 Strukturelle Optimierung am Modell
Anhand der strukturellen Optimierung werden die Lösungsansätze beschrieben, die auf
die Modelleigenschaften des Abbildungssystems angewendet werden. Sie beschreiben
also Verbesserungen, die die Kamera, das Kameramodell oder die Bildebene betreffen.
Vollständige und partielle Multiperspektive
Ein hauptsächliches Anwendungsfeld der Multiperspektive sind Panoramaabbildungen von
Landschaften. Diese Beispiele sind uns im Alltag am geläufigsten, wodurch auch eine
gewisse Prägung in diese Richtung nicht zu vermeiden ist. Diese Panoramen haben
zumeist eine besonders auffällige gemeinsame Eigenschaft – sie bilden einen vollständigen
360-Grad-Rundblick ab. Obwohl mit dieser Methode die meisten Informationen visualisiert
werden können, gibt es auch Nachteile im Bereich des Wahrnehmungsrealismus. Die bei
Multipanoramen gewöhnlich auftretenden Verzerrungen und Krümmungen horizontaler
Linien sind umso stärker, desto größer der abzubildende Winkel gewählt wird.
Desweiteren sind multiperspektivische Abbildungen nicht in dem Maße wahrnehmungsrealistisch, wie es herkömmliche zentralperspektivische Abbildungen sind. Darunter leidet
der Dialog und der Verständnisprozess zwischen Betrachter und Abbildung, weil der
Bildinhalt nicht sofort identifiziert werden kann.
Durch gezielte Kombination zentralperspektivischer und multiperspektivischer Abbildungen kann jedoch der Bildeindruck mehr an die Erwartungshaltung des Menschen
angepasst werden, ohne den Mehrwert einer multiperspektivischen Abbildung zu
verlieren. Der Betrachter kann demnach an den zentralperspektivischen Komponenten
einer Abbildung den Bildinhalt schneller identifizieren und dieses Wissen anschließend auf
den multiperspektivischen Teil anwenden, um einen erweiterten Informationsgehalt aus
der Abbildung zu erhalten.
Aus diesen Ergebnissen lassen sich zwei verschiedene Darstellungskonzepte für multiperspektivische Abbildungen ableiten. Die vollständige Multiperspektive ist charakterisiert
durch einen vollständigen 360-Grad-Rundblick auf ein Objekt oder in den Raum (siehe
Abbildung 5.7). Sie besitzt dadurch zwar den größeren Informationsgehalt, jedoch
gleichzeitig die geringere Erwartungskonformität, wodurch der Nutzen des Bildes
eingeschränkt ist.
61
5 Synthese und Konzeption
Die partielle Multiperspektive ist durch die Kombination von multi- und zentralperspektivischen Abbildungen definiert. Sie besitzt zudem einen geringeren abzubildenden Winkel
als die vollständige Multiperspektive. Abbildung 5.8 zeigt die Beispielrealisierung einer
partiellen Multiperspektive mit einem Abbildungswinkel von 90 Grad und den entsprechenden Kameras, die diesen abdecken. Am linken und rechten Rand der Abbildung
wird jeweils eine Zentralperspektive des Objekts angehängt (durch blauen Hintergrund
gekennzeichnet). Beide Darstellungsmodelle werden in die Arbeitsumgebung BiLL
integriert und können dort wahlweise genutzt werden.
Abbildung 5.7 – Darstellung der vollständigen Multiperspektive am Beispiel der CCV: Ein vollständiger 360Grad-Rundblick ermöglicht die Abbildung aller Informationen, besitzt jedoch den Nachteil
einer geringeren Erwartungskonformität, wodurch der Dialog zwischen Betrachter und Bild
gestört wird.
Abbildung 5.8 – Darstellung der partiellen Multiperspektive am Beispiel der CCV: Ein beschränkter
Abbildungswinkel (hier: 90 Grad) verhindert die üblichen starken Verzerrungen und
ermöglicht zusammen mit den zentralperspektivischen Randkameras (blau) eine
erwartungskonformere Wahrnehmung.
Abstimmung der Kamerasichtkörper
Eine weitere Optimierung betrifft die Sichtkörper (siehe Abschnitt 2.2.2) der einzelnen
Kameras in einem komplexen Kameramodell. Wie schon in Abschnitt 5.4.4 erläutert, ist
eine exakte Angleichung der jeweils benachbarten Sichtkörper erforderlich, da es sonst
Unregelmäßigkeiten in der Darstellung gibt. Wie Abbildung 5.9 verdeutlicht, kann es sich
dabei entweder um Informationsverlust oder um die redundante Darstellung von Informationen handeln. Es gibt zwei verschiedene Parameter, die Einfluss auf die Art und
Ausprägung des Problems haben. Zum ersten ist dies der Abstand zwischen den Kameras
62
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
und dem Objekt. Umso weiter sich die Kameras vom Objekt entfernen, desto mehr
überschneiden sich die benachbarten Sichtkörper. Das Ergebnis wäre eine redundante
Abbildung der Informationen im Schnittbereich. Im Umkehrschluss driften die Sichtkörper
weiter auseinander, desto geringer der Abstand zwischen Objekt und Kameras wird. In
diesem Fall würden Informationen zwischen den Grenzen der benachbarten Sichtkörper
verloren gehen. Um die Flexibilität bei der Definition von Kameramodellen und die
Benutzerinteraktion mit ihnen nicht einzuschränken, ist folglich eine Anpassung der
Sichtkörper
notwendig.
Sind
zwei
benachbarte
Kameras
aufgrund
struktureller
Gegebenheiten im Abbildungssystem weit von dem Objekt entfernt, so muss der
Öffnungswinkel ihrer jeweiligen Sichtkörper verringert werden, um eine Überschneidung
zu verhindern. Befinden sich die Kameras aber sehr nah am Objekt, so muss der Öffnungswinkel der benachbarten Sichtkörper vergrößert werden, um dem Informationsverlust
entgegen zu wirken.
a)
b)
Abbildung 5.9 – Problemfeld der Sichtkörperbeziehung zwischen benachbarten Kameras: Überschneidung
(rot) bei zu breiten Sichtkörpern oder zu großen Abstand zwischen Kameras und Objekt (a),
Informationsverlust (rot) durch unvollständige Abdeckung des Informationsraumes bei zu
schmalen Sichtkörpern oder bei zu kleinem Abstand der Kameras zum Objekt (b). Die
gestrichelte grüne Linie markiert den Punkt der optimalen Abstimmung zwischen beiden
Sichtkörpern.
Eine weitere Abhängigkeit ergibt sich zwischen der Kameraanzahl und den Sichtkörpern.
Bei Verwendung weniger Kameras besitzen die einzelnen Sichtkörper einen großen
Öffnungswinkel, um alle Details abbilden zu können. In Folge dieses großen Öffnungswinkels tritt jedoch schnell eine Überscheidung der Sichtkörper auf. Daraus lässt sich
schließen, dass bei Verwendung kleiner Öffnungswinkel und vielen Kameras das Abstimmungsproblem zwischen den Sichtkörpern weniger stark auftritt. Die Verwendung einer
63
5 Synthese und Konzeption
Vielzahl von Kameras ist folglich bei der Lösung von Abstimmungsschwierigkeiten
zwischen benachbarten Sichtkörpern eine gute Lösung, weil dadurch der Öffnungswinkel
des Sichtkörpers jeder einzelnen Kamera sehr klein gehalten werden kann.
Die bisherigen Erkenntnisse zum Thema Sichtkörperabstimmung ergeben, dass dieses
Problemfeld maßgeblich vom verwendeten Kameramodell und dessen Charakteristik hinsichtlich Kamerapositionierung und -ausrichtung beeinflusst wird. Anschließend werden
die konkreten Problemstellungen anhand der Kameramodelle aus Abschnitt 5.5.2 vorgestellt und bewertet.
Das SLV-Modell ist durch Kameras definiert, die auf einer Geraden positioniert und
gleichmäßig ausgerichtet sind. Eine Vermeidung von Abstimmungsschwierigkeiten
zwischen den Sichtkörpern kann also nur erfolgen, wenn die einzelnen Sichtkörper parallel
zueinander verlaufen. Dieses Kriterium kann zum Beispiel durch Verwendung einer
Parallelprojektion für jede einzelne Kamera erfüllt werden. Nachteilig wirkt sich jedoch
aus, dass die Parallelisierung bei dieser Projektionsform sowohl in der vertikalen als auch in
der horizontalen Ebene erfolgt, wobei nur die Horizontale für die Abstimmung benachbarter Sichtkörper wirklich notwendig wäre. Der visuelle Nachteil der Parallelprojektion, der durch fehlende Tiefenrelationen in einem Verlust der Räumlichkeit definiert
ist, tritt daher stärker auf als unbedingt notwendig ist. Als Alternative ist die Verwendung
vieler zentralperspektivischer Kameras zu sehen, die parallel angeordnet werden. Sie
ermöglichen die Definition von Sichtkörpern mit sehr schmalem Öffnungswinkel für jede
einzelne Kamera, die infolgedessen annähernd parallel verlaufen. Es entsteht dadurch eine
Projektionsform, die in der Horizontalen parallel- und in der Vertikalen zentralperspektivisch ist. Folglich kann der Vorteil der Tiefenwirkung mit dem Vorteil der einfachen
Sichtkörperabstimmung vereint werden.
Das CCV-Kameramodell ist durch kreisförmig platzierte Kameras mit Ausrichtung zum
Kreisinneren definiert. Die konkave Lagebeziehung der benachbarten Kameras zueinander
bewirkt eine noch stärkere Überschneidung der Sichtkörper als im Fall des SLV-Modells.
Die Verwendung paralleler Projektionen kann daher in diesem Szenario nicht als Lösung
dienen. Vielmehr ist es notwendig, einen konisch zusammenlaufenden Sichtkörper zu
definieren. Dadurch kann gewährleistet werden, dass die Sichtkörper der benachbarten
Kameras genau zusammenpassen. Herkömmliche Projektionsverfahren unterstützen diese
Ausformung des Sichtkörpers nicht, weshalb eine experimentelle Definition abgeleitet
werden musste. Als Basis dient eine Zentralprojektion, die ebenso einen pyramidenförmigen Sichtkörper besitzt. Um den Effekt des konisch zusammenlaufenden Sichtkörpers zu erzielen, werden die Near- und Far-Clipping-Plane getauscht. Dieses theoretisch
funktionierende Modell erzielt in der Praxis jedoch leider nicht den gewünschten Effekt,
wie in Abbildung 5.10 dargestellt ist. Anstelle einer Invertierung des Sichtkörpers erfolgt
eine Umkehrung der Blickrichtung. Die Abbildung wird dementsprechend in der Form
umgewandelt, dass sich die Innenseiten des Objekts nach außen und die Außenseiten
nach innen drehen. Die Abbildung wirkt insgesamt dunkler, weil die Lichtquellen nur die
Außenseiten des Objekts beleuchten. In Abbildung 5.10 ist der rot markierte Bereich
etwas aufgehellt, damit die Details der Projektion deutlich werden. Weiterhin kann man
64
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
beobachten, dass sich die Tiefenrelationen umdrehen und Objekte, die weiter hinten
liegen, größer erscheinen als nahe. Dieser Effekt lässt sich vor dem Hintergrund der
invertierten Zentralperspektive logisch nachvollziehen, verhindert aber gleichzeitig selbst
eine theoretische Eignung des Ansatzes zur Lösung der Sichtkörperangleichung.
Es bleibt also auch in diesem Szenario nur der Weg über die Verwendung vieler Kameras
und entsprechenden Sichtkörpern mit geringem Öffnungswinkel.
Abbildung 5.10 – Problemfeld der Sichtkörperangleichung beim CCV-Kameramodell: Die Verwendung einer
invertierten zentralperspektivischen Projektion bringt in der Praxis nicht die gewünschten
Ergebnisse (rechts). Zum Vergleich ist links eine normale zentralperspektivische Abbildung
dargestellt.
Abschließend muss noch das PCV-Modell betrachtet werden. Es ist definiert durch
kreisförmig platzierte Kameras, die radial nach außen ausgerichtet sind. Die Charakteristik
dieses Modells kommt der Form des Kamerasichtkörpers am ehesten entgegen, da jede
Kamera einen pyramidenförmigen Abbildungsbereich für sich beansprucht. Die beste
Kompatibilität ergibt sich, wenn, wie in Abbildung 5.5 (b) dargestellt, der Radius des
Kreises auf null gesetzt wird. Dann sind alle Kameras auf einem einzelnen Punkt platziert
und nur die Ausrichtung ist unterschiedlich. In diesem Fall kann jeder Sichtkörper genau
an die Grenzen der benachbarten Perspektive angepasst werden. Aus diesem Grund
wurde für BiLL auch die Integration dieses Spezialfalles vorgesehen.
Räumliche Struktur der Kameramodelle
In Abschnitt 5.5.2 wurde bereits die Funktion und Rolle von Kameramodellen für ein
multiperspektivisches Abbildungssystem erläutert. Da ein solches Kameramodell sehr
komplex definiert ist, gibt es eine Reihe von Parametern, die das Ergebnis der Abbildung
beeinflussen. Einige dieser Parameter wurden bereits in Abschnitt 5.5.2 sowie in
[SCHINDLER ET AL. 2005] vorgestellt.
Dieser Abschnitt beschreibt speziell den Einfluss räumlicher Parameter auf das Abbildungsergebnis. Die dritte Dimension ist in Bezug auf Kameramodelle vor allem relevant
hinsichtlich der Lage im Raum. Während die prinzipielle Struktur anhand des konkreten
Kameramodells vorgegeben ist (zum Beispiel kreisförmig beim PCV-Modell), kann die
Ausrichtung bezüglich der Koordinatenachsen variieren.
65
5 Synthese und Konzeption
Abbildung 5.11 zeigt eine konkrete Realisierung des PCV-Modells, das parallel zur x- und
z-Achse ausgerichtet ist. Es besitzt vier Kontrollstellen d1, d2, d3 und d4, die die Lage des
Modells im Raum beschreiben. d1 definiert den Blick nach vorn bezüglich der Position des
Betrachters. d2 und d4 beschreiben jeweils den Blick zur Seite nach links beziehungsweise
nach rechts. Mithilfe von d3 wird der Blick nach hinten bezüglich der Position des
Betrachters angegeben. Für jede Kontrollstelle wird anhand eines grünen Kreises
zusätzlich das Projektionszentrum angegeben, damit die Ausrichtung der Kamera an der
jeweiligen Position abgeschätzt werden kann.
Bei achsenparalleler Ausrichtung des PCV-Modells haben die Kameras in allen vier
Kontrollstellen denselben Abstand zur Grundfläche. Jede einzelne Kamera ist wiederum
radial zur Grundform des Modells ausgerichtet, weswegen sich ihre Projektionszentren
genau auf der Horizontlinie der Szene befinden. Als Resultat dieser Konstellation ergibt
sich für die multiperspektivische Abbildung ein geradliniger Szenenhorizont.
Wird nun dasselbe Modell wie in Abbildung 5.12 mit dem Blick des Betrachters um
45 Winkelgrad nach oben geneigt, so besitzt das Kameramodell keine achsenparallele
Ausrichtung mehr. Das Projektionszentrum an Position d1 befindet sich nun oberhalb des
Szenenhorizonts, für Position d3 dagegen unterhalb. Die Projektionszentren der beiden
seitlichen Kontrollstellen befinden sich zwar auf der Horizontlinie, jedoch ist der Blick an
diesen Stellen wegen der allgemeinen Schieflage des Modells seitlich um 45 Winkelgrad
gekippt. Das Ergebnis dieser Konstellation resultiert in einem geschwungenen Szenenhorizont.
Ein ähnlicher Effekt ist zu beobachten, wenn das Kameramodell wie in Abbildung 5.13 um
45 Winkelgrad zur Seite gekippt wird. Die achsenparallele Ausrichtung geht auch in
diesem Fall verloren und die Lage der Projektionszentren an den einzelnen Kontrollstellen
ist ähnlich dem vorherigen Beispiel nicht einheitlich. Das Resultat ist wiederum ein
geschwungener Szenenhorizont.
Als Ergebnis dieser Beispiele lässt sich feststellen, dass räumliche Parameter von
Kameramodellen einen starken Einfluss auf multiperspektivische Abbildungen haben.
Während aus dem achsenparallelen Beispiel in Abbildung 5.11 ein sinnvolles Ergebnis
folgt, erzeugen die im Raum geneigten oder gekippten Kameramodelle stark verzerrte
Abbildungen. Dieser Effekt lässt sich sowohl bei Modellen mit kreisförmiger Grundstruktur
(PCV, CCV) als auch bei geradliniger Form feststellen (SLV). Weil diese Verzerrungen die
Lesbarkeit eines multiperspektivischen Bildes verschlechtern, ohne einen visuellen oder
informellen Vorteil zu besitzen, werden alle Kameramodelle in BiLL standardmäßig parallel
zur x- und z-Achse definiert.
66
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
d2
d3
(Frontalsicht)
(Seite Rechts)
(Rückansicht)
d2
d1
(Seite Links)
d3
d4
d4
x
d1
d Höhe der
Kameraposition
d1 = d2 = d3 = d4
z
Abbildung 5.11 – Multiperspektivische Abbildung bei achsenparalleler Definition des Kameramodells: Die
kreisförmige Grundstruktur im Schema (links) hat an jedem Punkt denselben Abstand zu
den Koordinatenachsen x und z. Der Szenenhorizont (rot) in der Darstellung rechts
verläuft geradlinig.
d4
d1
d2
d3
d3
d2
α = 45°
d4
x
d1
d1 > d2 = d4 > d3
z
Abbildung 5.12 – Multiperspektivische Abbildung bei Neigung des Kameramodells um 45 Winkelgrad nach
oben: Die Abstände der Grundstruktur zu den Koordinatenachsen variieren. Der Szenenhorizont (rot) verläuft geschwungen.
d4
d1
d2
d3
d3
d2
α = 45°
d4
x
d1
d2 < d1 = d3 < d4
z
Abbildung 5.13 – Multiperspektivische Abbildung bei Kippen des Kameramodells um 45 Winkelgrad nach
links: Die Abstände der Grundstruktur zu den Koordinatenachsen variieren. Der Szenenhorizont (rot) verläuft geschwungen.
67
5 Synthese und Konzeption
5.5.4 Technische Optimierung in der Umsetzung
Neben der eben vorgestellten strukturellen Optimierung gibt es noch einen weiteren
Bereich, in dem Verbesserungen hinsichtlich Leistungsfähigkeit und Darstellungsqualität
erzielt werden können. Dieser zielt vor allem auf die technische Umsetzung des Konzepts
und die verwendeten Technologien ab. Die anschließenden Verbesserungen beziehen sich
konkret auf die Realisierung des Abbildungssystems, die spezielle Verwendung von
Threads zur Parallelverarbeitung und das Panel-Design zur Informationsvisualisierung. Die
nachfolgenden Leistungstests beziehen sich auf die in Tabelle 3 definierten Testsysteme.
Testsystem 1 ist eine aktuelle Referenz-Plattform aus dem Jahr 2007, wogegen Testsystem 2 zu Vergleichszwecken eine ältere Plattform aus dem Jahr 2003 darstellt.
Testsystem 1
(Aktuelle Generation – 2007)
Testsystem 2
(Ältere Generation – 2003 )
Prozessor
Intel® Core™ 2 Duo CPU 6600 mit 2 x
2,40 GHz
AMD Athtlon XP 2600+ mit 2,1 GHz
Front-Side-Bus
1,07 GHz
198 MHz
Grafikkarte
NVIDIA GeForce 8800 GTS mit 320 MB
NVIDIA GeForce FX 5600 mit 128 MB
Arbeitsspeicher
2 GB DDR2, 668 MHz, Dual Channel
1 GB DDR, 333 MHz
Tabelle 3 – Hardware-Konfiguration der Testsysteme: Testsystem 1 stellt eine Referenz der aktuellen
Generation dar und Testsystem 2 ist ein älteres Vergleichssystem.
Technologieentscheid für das Abbildungssystem
Die
Aufgaben
und
die
Verwendung
sowie
der
strukturelle
Aufbau
eines
Abbildungssystems – in der Computergrafik auch als Viewer bezeichnet – wurde bereits in
Abschnitt 5.5.2 ausführlich beschrieben. Anschließend werden verschiedene Möglichkeiten zur technischen Realisierung beleuchtet und deren Vor- und Nachteile analysiert.
Als Grundvoraussetzung für die Auswahl geeigneter Kandidaten gilt die Kompatibilität zur
verwendeten Grafik-Engine OpenSceneGraph (OSG). Neben verschiedenen ViewerKonzepten werden auch verschiedene Versionen der fortlaufenden Entwicklung berücksichtigt. In der recht jungen Entwicklungsgeschichte von OSG haben sich drei ViewerKonzepte etabliert. In der populären Version OSG 1.2 stellt der osgProducer-Viewer das
tragende Abbildungssystem dar. In der neuen Version OSG 2.0 entstand durch starke
Umstrukturierungen ein völlig neues Viewer-Konzept. Dieses wird durch den osgViewer
und den Composite-Viewer dargestellt.
68
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
Der osgProducer-Viewer basiert
auf dem externen
Projekt OpenProducer (vgl.
[OPENPRODUCER 2007]) und stellt eine Integration für OSG dar. Der Vorteil dieses Viewers
ist, dass er ebenso wie die Arbeitsumgebung BiLL in der Version OSG 1.2 implementiert
ist. Er bietet darüber hinaus zufriedenstellende Leistungswerte bei Verwendung mehrerer
Kameras.
60
osgProducer-Viewer (OSG 1.2)
Composite-Viewer (OSG 2.0)
50
Schwellenwert für flüssige Animationen
Schwellenwert für bewegte Bilder
40
30
Bildrate in Bilder pro Sekunde
25
20
15
10
0
0
10
25
35
42
50
60
70
80
90
100
110
120
130
150
200
300
29
29
25
19
19
18
17
14
14
13
9
7
25
23
20
20
19
18
14
11
8
24
17
10
15
26
22
7
18
13
Anzahl der verwendeten Kameras
59
59
59
43
29
Frames pro Sekunde für osgProducer-Viewer (OSG 1.2)
59
59
59
55
31
29
29
29
Frames pro Sekunde für Composite-Viewer (OSG 2.0)
0
0
0
22
6
0
0
14
= + 15 %
Leistungsdifferenz beider Viewer in Prozent
Abbildung 5.14 – Leistungsvergleich zwischen osgProducer-Viewer und Composite-Viewer: Die jeweiligen
Kurven zeigen die erzielten Bildraten in Abhängigkeit zu den verwendeten Kameras. Die
darunter abgebildete Tabelle vergleicht die Bildraten und stellt den Leistungsvorteil des
Composite-Viewers heraus. Als Testbasis wurden auf Testsystem 1 Bilder in WUXGAAuflösung von einer 4 MB großen Szene gerendert. Weiterhin sind die Schwellenwerte für
flüssige Animationen (grün) und bewegte Bilder (rot) dargestellt.
In der weiterentwickelten Version OSG 2.0 wurde das Viewer-Konzept komplett überarbeitet. Zum einen wurde die Abhängigkeit zu externen Projekten aufgelöst und zum
anderen verschiedene Viewer-Modelle mit speziellen Fähigkeiten realisiert. All diese
Viewer-Modelle basieren auf dem neuen Baustein osg::View, der die zentrale Implementierung für einzelne Perspektiven darstellt. Der osgViewer ist der direkte Nachfolger des
osgProducer-Viewer und stellt eine Erweiterung der osg::View dar. Er ist optimiert für das
Rendern mit multiplen Threads, kann jedoch aufgrund der starken Abhängigkeit zu
69
5 Synthese und Konzeption
osg::View jeweils nur eine parallele Perspektive verarbeiten. Eine Eignung für
multiperspektivische Abbildungen schließt sich damit aus.
Um innerhalb von OSG 2.0 dennoch multiple Perspektiven zu unterstützen, wurde der
Composite-Viewer entwickelt. Er besitzt die Möglichkeit, mehrere Perspektiven vom Typ
osg::View zu kombinieren und wurde speziell daraufhin optimiert. Wie in Abbildung 5.14
zu sehen ist, bietet der Composite-Viewer im Vergleich zum osgProducer-Viewer einen
wesentlichen Leistungsvorteil von circa 15 Prozent. Basis des Vergleichs ist das Testsystem
1, auf dem Bilder in WUXGA-Qualität (Auflösung von 1920 x 1200 Bildpunkten) von einer
4 MB großen Testszene gerendert wurden. Geht man von der in Abschnitt 5.3
aufgestellten Anforderung bezüglich Echtzeitfähigkeit aus, die flüssige Animation über
einer Bildrate von 25 und bewegte Bilder über 15 Bilder pro Sekunde definiert, dann kann
der Composite-Viewer bei bis zu 80 parallelen Kameras bedenkenlos verwendet werden.
Der osgProducer-Viewer unterschreitet diesen Schwellenwert jedoch bereits bei über 70
parallelen Kameras. Eine weitere Versuchsreihe, die den Einfluss der Szenengröße auf die
Bildrate analysiert, stellt sogar weiter wachsende Vorteile des Composite-Viewers heraus
(siehe Tabelle 4).
Kameras
1
35
70
100
150
200
osgProducer-Viewer (OSG 1.2) – Bildrate in Bilder pro Sekunde
Testszene 1 (287 KB)
59
59
29
25
16
11
Testszene 2 (1.047 KB)
59
59
30
23
15
11
Testszene 3 (3.989 KB)
59
43
25
18
13
9
Composite Viewer (OSG 2.0) – Bildrate in Bilder pro Sekunde
Testszene 1 (287 KB)
59
59
59
50
34
24
Testszene 2 (1.047 KB)
59
59
59
50
33
25
Testszene 3 (3.989 KB)
59
55
29
20
14
11
Tabelle 4 – Einfluss der Szenengröße auf die Bildrate: Als Testbasis dienen drei unterschiedlich große
Testszenen. Die Werte beziehen sich auf das Rendern von Bildern in WUXGA-Auflösung mit
Testsystem 1. Der Vorteil des Composite-Viewers schwankt je nach Szenengröße zwischen 7 und
56 Prozent (rot) an effektivem Leistungsgewinn.
Es ist deutlich zu erkennen, dass der Leistungsvorteil des Composite-Viewers bis zu 56 Prozent ansteigt, wenn kleinere Testszenen verwendet werden. Demnach ist die Realisierung
von multiperspektivischen Abbildungen in Echtzeit auch mit 200 Kameras durchaus
möglich. Obwohl der eindeutige Leistungsvorteil ganz klar für die Verwendung des
Composite-Viewers spricht, gilt es auch einen Nachteil nicht zu ignorieren. Der
70
5.5 Konzeption multiperspektivischer Abbildungen in BiLL
Composite-Viewer basiert auf OSG 2.0 und ist demnach nicht direkt in die Arbeitsumgebung BiLL zu integrieren, weil diese in OSG 1.2 implementiert ist. Es sind daher
Möglichkeiten zu prüfen, wie beide Elemente ohne größeren Aufwand vereint werden
können. Eine erste Möglichkeit besteht in der kompletten Konvertierung von BiLL in OSG
2.0. Das impliziert jedoch einen erheblichen Änderungsaufwand des Quellcodes, da die
Funktionalitäten des Viewers viele Komponenten beeinflussen. Zum anderen ist nicht auszuschließen, dass strukturelle Konvertierungsprobleme und Inkompatibilitäten auftreten
können, da die konzeptionellen Unterschiede zwischen osgProducer-Viewer und dessen
Nachfolger osgViewer sehr groß sind.
Eine Lösung, die mehr Erfolg verspricht, besteht in der Integration des alten ViewerModells in OSG 2.0. Obwohl der osgProducer-Viewer nicht mehr Bestandteil von OSG 2.0
ist, wird das Projekt separat weitergeführt und ist zudem vollständig zu OSG 2.0
kompatibel. Dieser Ansatz erspart die aufwendige Umstrukturierung des Viewers und die
restlichen von BiLL verwendeten Komponenten können direkt in OSG 2.0 übernommen
werden. Eine Kombination beider Elemente ist demzufolge ohne größere Schwierigkeiten
möglich und stellt den letzteren Ansatz als eindeutigen Favoriten heraus.
Als Grundlage der Implementierung dienen folglich OSG 2.0 als Grafik-Engine und dessen
Composite-Viewer sowie der zusätzlich integrierte osgProducer-Viewer. Zusammen bilden
beide ein duales Viewer-Konzept. Ein weiteres Konzeptionskriterium, das von dieser
Konstellation des Abbildungssystems abhängig ist, wird anschließend beschrieben.
Strukturierung der Informationsausgabe
Wie bereits in Abschnitt 5.2 erläutert wurde, ist eine umfangreiche Manipulation des
Abbildungssystems in der Arbeitsumgebung BiLL nicht möglich. Infolgedessen kann der
standardmäßige Viewer im Hauptfenster nicht zur Erzeugung multiperspektivischer Abbildungen verwendet werden. Die Implementierung eines zusätzlichen Viewers in einem
separaten Fenster ist daher unumgänglich.
An dieser Stelle ist das im vorherigen Abschnitt beschriebene duale Viewer-Konzept von
Vorteil. Das Standard-Viewer-Fenster kann folglich auf Basis des älteren osgProducerViewer unverändert weiter benutzt werden. Zur Visualisierung der Multiperspektive wird
ein weiteres Ausgabefenster erzeugt, das auf dem neuen Composite-Viewer aus OSG 2.0
aufbaut. Die Vorteile der leichten Integration des osgProducer-Viewer und der besseren
Leistungsfähigkeit des Composite-Viewer können damit optimal kombiniert werden.
Obwohl dieses duale Viewer-Konzept Nachteile hinsichtlich der Handhabung und der
Platzaufteilung auf einen Bildschirm besitzt, ergeben sich dennoch ein paar wesentliche
Vorzüge. So kann zum Beispiel der Viewer im Hauptfenster zur Orientierung in der Szene
verwendet werden, weil dieses die wahrnehmungskonformere Abbildung bereitstellt.
Außerdem kann der visuelle Unterschied zwischen beiden Ausgabefenstern auch für
Vorher-Nachher-Vergleiche verwendet werden, die helfen, Vorteile von multiperspektivischer Visualisierung noch besser zu verdeutlichen.
71
5 Synthese und Konzeption
Parallelverarbeitung durch Nutzung eines zusätzlichen Threads
In Abschnitt 5.2 wurde bereits das Konzept zur Parallelverarbeitung in BiLL vorgestellt. Es
basiert auf der Nutzung von zwei verschiedenen Threads, die jeweils für den Viewer und
den Editor zuständig sind.
Durch den in den vorhergehenden Abschnitten beschriebenen Bedarf an einem weiteren
Ausgabefenster für die Multiperspektive muss auch dieses Konzept erweitert werden.
Ohne Definition eines zusätzlichen Threads würden der Editor und der Viewer für die
Multiperspektive in einem Thread ablaufen. Dies führt zu Interaktions- und Darstellungsproblemen zwischen beiden Fenstern, weil das Betriebssystem den Zugriff auf jeweils nur
ein Fenster aktiviert. Eine parallele Nutzung beider Fenster ist aber unbedingt erforderlich,
damit man über den Editor die multiperspektivischen Parameter verändern kann und
gleichzeitig eine visuelle Rückmeldung von der Darstellung im anderen Fenster bekommt.
Durch Definition eines weiteren Threads im Rahmen des Plug-Ins kann das zusätzliche
Ausgabefenster ohne Probleme in die Anwendung integriert und parallel genutzt werden.
Mit diesem Abschnitt wird die konzeptionelle Planung des Plug-Ins abgeschlossen. Es
wurden darin alle notwendigen Rahmenbedingungen, die durch die Arbeitsumgebung
BiLL gestellt werden, berücksichtigt. Im folgenden Kapitel werden Details der technischen
Umsetzung beschrieben.
72
6 Praktische Umsetzung
6.1 Überblick zu den Rahmenbedingungen
Nach Abschluss der konzeptionellen Arbeit im vorangegangenen Kapitel wird im
Folgenden die Phase der Implementierung beschrieben. Wie bereits in Abschnitt 5.2
erläutert, wurde die Arbeitsumgebung BiLL als erweiterbare Anwendung entworfen. Die
Realisierung zusätzlicher Funktionalitäten wird demnach durch Entwicklung von Plug-Ins
erreicht. Im anschließenden Abschnitt 6.2 werden Aufbau und Klassenstruktur des
erstellten Plug-Ins dargestellt.
In der Zielstellung wurde deutlich gemacht, dass der praktische Teil der Arbeit aus zwei
Hauptaufgaben besteht. Während Anforderungen und Konzepte zur Realisierung multiperspektivischer Abbildungen bereits ausführlich in Kapitel 5 beschrieben wurden, sind
jetzt zusätzlich die Komponenten zu ihrer Dynamisierung von Interesse. Der gesamte
Umfang der Implementierung lässt sich demnach in zwei Kategorien teilen. Die erste
besteht in den Komponenten zur Abbildung einer dreidimensionalen Szene in ein zweidimensionales, multiperspektivisches Bild und wird in Abschnitt 6.3 detailliert beschrieben.
Besonderes Augenmerk wird auf die Gestaltung der grafischen Benutzeroberfläche und
die technische Umsetzung konkreter Kameramodelle gelegt. Überdies werden Merkmale
der Sichtkörperanpassung beschrieben, die eine kontinuierliche und gleichmäßige multiperspektivische Abbildung erst ermöglichen.
Die zweite Kategorie fasst alle Komponenten zur Realisierung von Animationen zusammen und wird in Abschnitt 6.4 dargestellt. Im Mittelpunkt stehen die Wahl einer geeigneten Datenstruktur zur Verarbeitung mehrerer Animationspfade sowie Mechanismen
zur Interpolation von Bewegungen und Rotationen für weiche und flüssige Animationen.
Ebenso wie im vorhergehenden Abschnitt wird zudem die Benutzeroberfläche dieser
Komponente beschrieben.
6.2 Klassenstruktur des Plug-Ins
Die im vorangehenden Abschnitt beschriebenen Teile der praktischen Umsetzung besitzen
eine klare semantische Trennung. Auf der einen Seite gilt es, Komponenten zur Erzeugung
multiperspektivischer Abbildungen zu erstellen, auf der anderen Seite stehen die
Komponenten zur Realisierung von Animationen.
Eine wichtige Rahmenbedingung aus Abschnitt 5.2 ist unterdessen entscheidend für die
Strukturierung der Aufgabe. Aufgrund der in BiLL verwendeten Plug-In-Architektur ist es
nicht möglich, dass Plug-Ins untereinander Daten austauschen können. Jedes Plug-In stellt
für sich eine funktionell abgeschlossene Einheit dar, die alle relevanten Komponenten
selbst enthalten muss. Weil eine Kommunikation zwischen den Animations- und Abbildungskomponenten jedoch unbedingt erforderlich ist, muss die Realisierung innerhalb
eines Plug-Ins erfolgen. Eine strukturelle Trennung würde erhebliche Einschränkungen bei
der Funktionalität bewirken.
73
6 Praktische Umsetzung
Grundlegend ist das Plug-In in fünf verschiedene Module strukturiert, die wiederum drei
Klassen zugeordnet sind (siehe Abbildung 6.1). Zunächst werden die einzelnen
Komponenten kurz benannt und beschrieben. In den folgenden Abschnitten werden dann
zusätzlich Implementierungsdetails erläutert.
Abbildungsmodul
Das zentrale Modul des Plug-Ins ist für den gesamten Abbildungsprozess zuständig. Es
verarbeitet die Eingaben zu bestimmten Parametern der Multiperspektive über die
Benutzerschnittstelle sowie die strukturellen Besonderheiten eines gewählten Kameramodells. Das Abbildungsmodul kapselt alle wichtigen Objekte für die Darstellung und ist
für deren Steuerung verantwortlich. Zu diesen Objekten zählen unter anderem der Viewer,
die Kamera und die Bildebene. Strukturell ist das Abbildungsmodul der Klasse RMIThread
zugeordnet, weil es innerhalb des zusätzlich erzeugten Threads ausgeführt wird.
Kameramodelle
Die Kameramodelle stellen einen Teil des Abbildungsmoduls dar, werden aber aufgrund
ihrer Komplexität separat betrachtet. Insgesamt wurden drei verschiedene Modelle nach
der in Abschnitt 5.5.2 beschriebenen Form realisiert. Das Modul zur Definition der
Kameramodelle ist aufgrund seiner strukturellen Abhängigkeit zum Abbildungsmodul
ebenfalls in der Klasse RMIThread implementiert.
Animationsmodul
Das Animationsmodul ist für die Dynamisierung multiperspektivischer Abbildung
verantwortlich. Es beinhaltet neben einer Datenstruktur zur Speicherung von Kontrollpunkten einen Mechanismus zur Realisierung von pfadgebundenen Animationen. Das
Animationsmodul ist ebenso wie die Kameramodelle aufgrund der starken strukturellen
Abhängigkeit zum Abbildungssystem in der Klasse RMIThread implementiert.
Benutzungsschnittstelle
Die Benutzungsschnittstelle ist für die Visualisierung der grafischen Oberfläche des PlugIns zuständig. Außerdem leitet sie alle Interaktionen, die über die Oberfläche gemacht
werden, an die Verarbeitungslogik weiter und dient folglich dem Dialog zwischen
Anwender und Anwendung. Strukturell ist die Benutzeroberfläche an die beiden Hauptaufgaben angepasst und demnach in zwei Bereiche unterteilt. Zum einen gibt es
Funktionen zur Manipulation der multiperspektivischen Abbildungen und zum anderen
Möglichkeiten, um Animationen zu definieren. In der Plug-In-Architektur von BiLL wird die
Benutzungsschnittstelle in der Klasse PlugObjectChild integriert. Diese stellt die Hauptklasse des Plug-Ins dar.
Interaktionsmodul
Zusätzlich zur grafischen Benutzungsschnittstelle gibt es noch ein separates Interaktionsmodul. Es verarbeitet alle Interaktionen, die unabhängig von der Benutzerschnittstelle
74
6.3 Implementierung der Abbildungskomponenten
auftreten. Ein Beispiel kann die Steuerung der Animation über Schnelltasten sein. Eine
ausführliche Auflistung aller Tastaturbefehle für das multiperspektivische Ausgabefenster
kann im Anhang oder im BiLL-Handbuch nachgelesen werden. Das Interaktionsmodul
wurde innerhalb der Klasse RMIEventHandler realisiert.
implements OpenThreads::Thread
implements PlugObject
RMIThread
PlugObjectChild
BiLLInterface *_billInterface
RMIThread *_thread
...
BiLLInterface *_billInterface
osg::Viewer::CompositeViewer viewer
osg::Viewer::View _mview, _lview, _rview
osg::Node _scene
osg::GraphicsContext _gc
KomplexPath *FirstPath
PathNode *FirstNode, *CurrentNode
...
Animationsmodul
Kameramodelle
Abbildungsmodul
const char* setName(void)
const char* setVersion(void)
const char* setDescription(void)
void setGUI(void)
void init(void)
...
virtual void run(void)
...
void playAnim(void)
void pauseAnim(void)
void setAnimSpeed(int s)
void addPath(int id, char* pathName)
void addNode(int n_id; int p_id, char* nodeName)
...
void setCamModel(char* m)
void setViewQuantity(int q)
void setViewDistance(double d)
void setViewAltitude(double a)
void setTotalAngle(double a)
...
void setViewWidth(double v)
void setRightBorder(double r)
void setLeftBorder(double l)
void setWindowWidth(int w)
void setWindowHeight(int h)
void setWindowMode(bool m)
...
Benutzungsschnittstelle
implements osgGA::GUIEventHandler
RMIEventHandler
RMIThread *_thread
bool handle(const osgGA::GUIEventAdapter &ea,
const osgGA::GUIActionAdapter &us)
Interaktionsmodul
implements DLLProxy
DLLProxyChild
...
...
Child
...
...
Abbildung 6.1 – Klassenstruktur des Plug-Ins: Die hauptsächlichen Funktionen beschränken sich auf fünf
Module und drei Klassen. Die übrigen Klassen sind für die Bereitstellung der Plug-InFunktionalitäten und deren Integration in die Hauptanwendung verantwortlich.
6.3 Implementierung der Abbildungskomponenten
Nach der generellen Beschreibung der Plug-In-Struktur im Abschnitt zuvor werden nun
Implementierungsdetails zu speziellen Komponenten erläutert. Die Unterteilung der
Komponenten nach den beiden Hauptaufgaben des Plug-Ins soll eine hilfreiche Strukturierung des Abschnitts gewährleisten. Im Folgenden werden Details der Abbildungskomponenten beschrieben. Besonderes Augenmerk gilt der Benutzeroberfläche, dem
Abbildungssystem, der Realisierung von Kameramodellen und der Sichtkörperberechnung.
Design der grafischen Benutzerschnittstelle
Bereits
im
vorhergehenden
Abschnitt
wurde
erläutert,
dass
die
grafische
Benutzerschnittstelle thematisch in zwei Bereiche gegliedert ist. Zum einen gibt es
Einstellungen an der multiperspektivischen Abbildung und zum anderen Einstellungen zur
Definition von Animationen. Um beide Oberflächen semantisch als auch strukturell zu
trennen, werden beide Bereiche in separaten Gruppen umgesetzt. Eine parallele
Darstellung beider ist nicht möglich und erhöht die Übersichtlichkeit der Oberfläche als
auch die Orientierung zwischen den einzelnen Funktionsbereichen. Über die Auswahlbox
75
6 Praktische Umsetzung
Choose Panel wird ausgewählt, welche Oberfläche angezeigt werden soll. Es folgt die
Erläuterung zu den Einstellungsmöglichkeiten an der multiperspektivischen Abbildung
(siehe Abbildung 6.2).
z.B.: 1920 Pixel
Bildebenenbreite
Aufteilung der Bildebene
multiperspektivischer
Zentralbereich
zentralperspektivische
Randbereiche
Zentral: 1120 Pixel
Rechts: 400 Pixel,
Links: 400 Pixel
Anzahl der Perspektiven
z.B.: 80 Kameras
Division der Breite durch Perspektiven
Breite einer Perspektive
1120 Pixel / 80 Kameras
= 14 Pixel pro Kamera
statische Manipulationen
vor dem Abbildungsprozess
dynamische Manipulationen
während der Abbildung
Zoomstufe der
Abbildung
Öffnungswinkel des
Abbildungssystems
z.B.: 380
z.B.: 180 Grad
Neigung der
Perspektiven
Höhe der
Perspektiven
z.B.: 0 Grad
Abbildung 6.2 – Das Multiperspective-Viewer-Settings-Panel zur Parametrisierung multiperspektivischer
Abbildungen (links) und die Abhängigkeiten zwischen den Parametern (rechts)
Das Multiperspective-Viewer-Settings-Panel ist in drei Funktionsgruppen gegliedert. Zuerst
ist es notwendig, die Größe des Ausgabefensters über Breite und Höhe zu spezifizieren.
Zusätzlich kann hier die Option Vollbild (Fullscreen) gewählt werden. Die Größe des
Ausgabefensters ist zudem mit der Größe der Bildebene gleichzusetzen.
Die zweite Gruppe dient der Parametrisierung der einzelnen Perspektiven. Die wichtigste
Option in diesem Feld ist die Wahl des Kameramodells (Camera Model). Weiterhin kann
die Zoomstufe der Abbildung (Zoom View) eingestellt werden. Je größer die Zoomstufe
gewählt wird, desto näher und größer erscheinen die einzelnen Objekte der Abbildung.
Über die Neigung (Incline View) können die einzelnen Perspektiven des Kameramodells
nach oben oder unten geschwenkt werden. Die Funktionen Perspektivenabstand (View
Distance) und Perspektivenhöhe (View Altitude) stehen nur bei bestimmten Kameramodellen zur Verfügung. Der Perspektivenabstand definiert den Abstand zwischen zwei
benachbarten Perspektiven und findet beim SLV-Kameramodell Verwendung. Die
Perspektivenhöhe definiert die Höhe einer Perspektive über der x-Achse und ist nur bei
Verwendung des CCV-Kameramodells aktiv.
Die dritte Funktionsgruppe dient der Strukturierung der Bildebene. Bereits in Abschnitt
5.5.3 wurde erläutert, dass die Aufteilung der Bildebene in unterschiedliche Bereiche
sinnvoll ist. In der Mitte der Bildebene befindet sich der Zentralbereich (Center Area) in
76
6.3 Implementierung der Abbildungskomponenten
dem ausschließlich die multiperspektivische Projektion anhand multipler Kameras
stattfindet. Für diesen Zentralbereich kann demnach eine Anzahl an Perspektiven
(Perspectives), die Breite des gesamten Abbildungsbereiches (Width) in Pixel und ein
Öffnungswinkel für das Kameramodell (Distortion) definiert werden. Der Öffnungswinkel
in Winkelgrad gibt an, über welchen Kreisbogen die Kameras verteilt werden. Diese
Funktion ist nur für die Kameramodelle aktiv, die auf einer kreisförmigen Struktur basieren
(PCV und CCV). Der Öffnungswinkel unterliegt keinen Einschränkungen und kann beliebig
groß gewählt werden, auch über 360 Winkelgrad hinaus. Zusätzlich kann für den
Zentralbereich noch eine abweichende Ausrichtung (Attitude) definiert werden, die das
gesamte Kameramodell nach links oder rechts bezüglich der Position des Betrachters
dreht.
Zusätzlich zum Zentralbereich kann am linken und rechten Rand der Abbildung jeweils ein
Randbereich (Border Area) definiert werden. Diese Randbereiche basieren im Unterschied
zum multiperspektivischen Zentralbereich auf einer einzelnen Zentralperspektive. Für diese
Bereiche kann nur die Breite der Abbildung (Width) in Pixel eingestellt werden. Die Menge
der Perspektiven ist entweder 0 (Abbildung ohne Randbereich) oder 1 (bei Verwendung
der Randbereiche). Ein Öffnungswinkel oder eine alternative Ausrichtung existiert für die
Randbereiche nicht.
Zusammenfassend lässt sich feststellen, dass das Multiperspective-Viewer-Settings-Panel
eine Vielzahl von Funktionen umfasst. Ein Großteil dieser Funktion ist zudem voneinander
abhängig, weswegen die Veränderung eines bestimmten Parameters gleichzeitig die
Veränderung anderer Parameter bedarf. Damit der Benutzer des Plug-Ins die Abhängigkeiten nicht kennen und anwenden muss, werden diese automatisch im Hintergrund
verarbeitet. In Abbildung 6.2 sind Beispiele der Abhängigkeiten zwischen den Parametern
dargestellt.
Zunächst wird zwischen Parametern unterschieden, die vor der Initialisierung des Abbildungssystems festgelegt werden müssen und denen, die auch während der Abbildung
interaktiv verändert werden können.
Zu der ersten Gruppe zählen Parameter, die die Struktur und Aufteilung der Bildebene
definieren, weil diese vor der Initialisierung unveränderlich feststehen muss. Ausgehend
von der Breite der Bildebene wird festgestellt, wie groß der Zentralbereich und die
Randbereiche sind. Sind Randbereiche definiert, so wird ihnen jeweils eine Perspektive und
demnach eine Kamera zugeordnet. Der Zentralbereich wiederum wird auf mehrere
Kameras aufgeteilt. Da die Verarbeitung ganzzahliger Werte bei der Aufteilung der
Bildebene von Vorteil ist, basiert die Anzahl der möglichen Perspektiven auf der Breite des
Zentralbereiches in Pixeln. In Abbildung 6.2 wird anhand der roten Zahlen ein Rechenbeispiel aufgezeigt. Bei einer Bildebene im WUXGA-Format mit 1920 x 1200 Pixel und
zwei Randbereichen von jeweils 400 Pixeln Breite, besitzt der multiperspektivische Zentralbereich eine Breite von 1120 Pixeln. Bei Verwendung von 80 Kameras ergibt sich demnach
eine Breite von 14 Pixeln pro Perspektive. Weitere ganzzahlige Teiler von 1120 sind 40,
56, 70, 112, 140, 160, 224 und 280. Wie man sieht, wird dadurch die Auswahl möglicher
Perspektivenzahlen erheblich eingeschränkt. Jedoch werden Rundungsfehler bei der
77
6 Praktische Umsetzung
Berechnung der Perspektiven vermieden, indem immer mit ganzen Zahlen gerechnet wird.
Zudem ist festzustellen, dass die verbleibende Auswahl an Perspektivenzahlen vollkommen
ausreicht und visuelle sowie leistungstechnische Unterschiede zwischen den einzelnen
Konstellationen kaum auffallen. Die maximale Anzahl von Perspektiven wird immer durch
die Breite des Zentralbereiches vorgegeben, in dem Rechenbeispiel liegt sie bei 1120
parallelen Kameras. Anhand dieser Parameter – Breite der Bildebene, Aufteilung der
Abbildungsbereiche und Anzahl paralleler Perspektiven – sowie einem ausgewählten
Kameramodell kann das Abbildungssystem initialisiert werden.
Die zweite Gruppe der Parameter manipuliert die Ausgabe während des Abbildungsprozesses und kann vom Benutzer interaktiv angepasst werden. Die Parameter
beziehen sich in dieser Gruppe vor allem auf die Struktur des Kameramodells sowie die
Eigenschaften einzelner Perspektiven. Die beiden wichtigsten Parameter sind die
Zoomstufe sowie der Öffnungswinkel des Kameramodells. Beide Parameter stehen in
einem indirekt proportionalen Verhältnis, weil die Größe der Bildebene als ihr
gemeinsamer Bezugspunkt unveränderlich ist. Wird demnach der Öffnungswinkel des
Kameramodells vergrößert, muss sich die Zoomstufe verringern, weil sonst, bei
gleichbleibender Bildebene, die Abbildung gestaucht wirken würde. Mithilfe der
automatischen Regulierung der Parameter werden die korrekten Proportionen der
abgebildeten Objekte erhalten. Weitere Parameter dieser Gruppe sind die Höhe und
Neigung einzelner Perspektiven sowie der Abstand zwischen benachbarten Perspektiven.
Diese Parameter besitzen jedoch keine Abhängigkeiten zu anderen Werten.
Das Multiperspective-Viewer-Settings-Panel ist anhand des obigen Abschnitts vollständig
beschrieben. Den Abschluss der Benutzeroberfläche bildet eine Gruppe, die ebenso wie
die Auswahlbox zur Wahl des Panels für beide Oberflächen gleich ist. Über die
Schaltfläche Run wird das Fenster mit dem multiperspektivischen Abbildungssystem
geöffnet.
Realisierung des Abbildungssystems
Die Abbildungskomponenten sind grundlegend in das Abbildungssystem und die
Kameramodelle unterteilt. Während die wichtigsten Schritte des Abbildungsprozesses
bereits in Abschnitt 5.2 beschrieben wurden, folgt anschließend eine konkrete
Implementierung anhand des Composite-Viewers aus OSG 2.0. Abbildung 6.3 stellt eine
schematische Übersicht der wichtigsten Klassen CompositeViewer, GraphicsContext,
Camera, und View dar.
Die Klasse CompositeViewer ist die Kontroll- und Steuerungseinheit für das Abbildungssystem. Sie kann ein oder mehrere Objekte der Klasse View verwalten und auf die
Bildebene abbilden. Eine View ist durch eine einzelne Perspektive beziehungsweise Ansicht
in den Raum definiert. Das Konzept des Composite-Viewers sieht vor, dass einzelne Views
unabhängig voneinander in einer Anwendung verwendet werden und demnach auch
unterschiedliche Szenendaten abbilden können. Die dreidimensionalen Szenedaten
werden deshalb jeder einzelnen View zugeordnet. Für den Fall der multiperspektivischen
Abbildungen wird diese Besonderheit jedoch nicht benötigt, da derselbe Szenenkontext
78
6.3 Implementierung der Abbildungskomponenten
durch mehrere Perspektiven dargestellt werden soll. Deshalb werden jeder einzelnen View
die gleichen Szenendaten zugeordnet. Weiterhin besitzt jede View eine Masterkamera, die
für die Abbildung verantwortlich ist. Für die Klasse Camera können verschiedene
Eigenschaften definiert werden. Der Sichtkörper (siehe Abschnitt 2.2.2) einer Camera
beschreibt unter anderem den vertikalen und horizontalen Kameraöffnungswinkel. Der
Parameter Viewport definiert den Bereich auf der Bildebene, auf den die Camera ihre
gerenderten Daten hin abbildet. Über die ViewMatrix werden Position und Ausrichtung
der Camera spezifiziert. Eine letzte Klasse ist der GraphicsContext. Er beschreibt die
Dimensionen der Bildebene über die Parameter Breite und Höhe sowie die Eigenschaften
des Ausgabefensters. Neben der Bildschirmposition kann ebenso der Fensterstil und der
Fenstername definiert werden.
osg::GraphicsContext
RenderSurface
pos x, pos y,
width, height
osg::GraphicsContext
Definition der Dimensionen (width, height) und
Position (x,y) der Bildebene (RenderSurface) und
des Ausgabefensters
setGraphicsContext()
setViewport()
osg::Camera
getCamera()
osgViewer::View
setViewMatrix()
setProjectionMatrixAsFrustum()
setSceneData()
frame()
setGraphicsContext() - Zuweisen der
Bildebenenparameter zu jeder Kamera
setViewport() - Festlegen des Abbildungsbereichs
einer Kamera auf der Bildebene
setViewMatrix() - Definition von Position und
Ausrichtung der Kamera
setProjectionMatrixAsFrustum() - Definition des
Sichtkörpers der Kamera
osgViewer::View
Eine einzelne Perspektive bzw. Ansicht in den Raum
getCamera() - Zugriff auf die Masterkamera vom Typ
osg::Camera einer osgViewer::View
setSceneData() - Zuweisen der dreidimensionalen
Szenendaten zu jeder Ansicht
addView()
osgViewer::CompositeViewer
osg::Camera
Eine Kamera, die jeweils einer einzelnen
osgViewer::View (Perspektive) zugeordnet ist
realize()
osgViewer::CompositeViewer
Kontroll- und Steuerungsobjekt des Abbildungssystems; Verwaltung und Abbildung einer oder
mehrere Perspektiven vom Typ osgViewer::View
addView() - Fügt eine Perspektive vom Typ
osgViewer::View dem Abbildungssystem hinzu
realize() - Initialisiert das Abbildungssystem mit allen
eingestellten Parametern
frame() - Bildet alle im Abbildungssystem registrierten
Perspektiven auf die Bildebene ab
Abbildung 6.3 – Das Abbildungssystem auf Basis von OSG 2.0 und dem Composite-Viewer unter
Berücksichtigung struktureller Abhängigkeiten der einzelnen Klassen
79
6 Praktische Umsetzung
Implementierung der Kameramodelle
In engem Zusammenhang mit dem bereits beschriebenen Abbildungssystem steht die
Realisierung verschiedener Kameramodelle. In Abschnitt 6.2 wurde deren Bedeutung für
den Abbildungsprozess sowie verschiedene Formen für die Umsetzung in der Arbeitsumgebung BiLL erläutert. Demnach sind die wichtigsten Parameter bei der Definition von
Kameramodellen die Positionierung und Ausrichtung der einzelnen Kameras.
Als Ergebnis aus Abschnitt 5.4.4 stellt die Verwendung einer mathematisch beschreibbaren Grundform einen wesentlichen Vorteil für die Automatisierung dieses Prozesses dar,
weil dadurch die Definition jeder einzelnen Kamera anhand eines Algorithmus ermöglicht
wird. Die für eine Realisierung in BiLL definierten Modelle Panoramic-Circular-View (PCV)
und Centric-Circular-View (CCV) basieren auf der Grundform eines Kreises und die
Straight-Lined-View (SLV) auf einer Geraden.
Außerdem ist die Existenz eines Referenzpunktes wichtig, in dessen Abhängigkeit jede
einzelne Kamera positioniert und ausgerichtet wird. Die Funktion des Referenzpunktes
übernimmt eine Masterkamera, die für jedes der implementierten Modelle definiert ist.
Alle weiteren Kameras werden als Slavekameras bezeichnet.
Im Anschluss werden die technischen Grundlagen erläutert, die eine erfolgreiche
computergrafische Realisierung ermöglichen.
ra
me
eka
Slav
90°
90°
°
45
Mas
terk
am
era
ng
htu
ric
Aus
ius
Rad
0°
Abbildungsbereich b
a
r
y
Position x
180°
x (Breite)
y (Höhe)
270°
Kreisöffnungswinkel in Winkelgrad
z (Tiefe)
en
bog
reis
K
dem
auf
d
n
ta
abs
era
Kam
Abbildung 6.4 – Schematische Darstellung des PCV-Kameramodells mit den wesentlichen Parametern der
Manipulation: Das Beispiel zeigt eine konkrete Realisierung mit sechs Kameras, die einen
Bereich von 270 Winkelgrad abbilden. Jede Kamera ist demnach für einen Teilbereich von
45 Winkelgrad der Abbildung verantwortlich.
80
6.3 Implementierung der Abbildungskomponenten
Beim PCV-Modell sind die einzelnen Kameras auf dem Kreis mit radialer Ausrichtung
angeordnet, dass heißt, sie sind um 90 Winkelgrad zur Kreistangente gedreht. Die
Fokussierung ist vom Kreiszentrum abgewendet. Die Positionsberechnung jeder einzelnen
Kamera wird wiederum von einer Vielzahl von Faktoren beeinflusst. Wie in Abbildung 6.4
ersichtlich ist, werden alle Kameras auf dem Kreis gleichmäßig verteilt. Sie besitzen folglich
untereinander einen einheitlichen Abstand, der für eine kontinuierliche und ausgewogene
Form der Abbildung garantiert.
Wichtig für die Berechnung sind die Anzahl der Kameras und der Kreisöffnungswinkel in
Winkelgrad, der durch die Kameras abgedeckt wird. Anhand dieser beiden Werte lässt
sich bestimmen, welchen Anteil des Kreisbogens eine einzelne Kamera abbildet. Bei einer
Verwendung von sechs Kameras und einem Kreisöffnungswinkel von 270 Winkelgrad wie
in Abbildung 6.4 ist jede Kamera für jeweils 45 Winkelgrad des Kreises verantwortlich.
Mithilfe des Kreisradius und der allgemeinen Kreisgleichung kann anschließend die exakte
Position in x- und y-Koordinaten für jede einzelne Kamera ermittelt werden. Die Masterkamera wird während dieses Prozesses als erste definiert. Anschließend werden die
Slavekameras im Uhrzeigersinn mit der inkrementellen Ausrichtung festgelegt, bis der
maximal abzubildende Kreisöffnungswinkel erreicht wurde. Der Wert für den Abstand
zwischen den Kameras entspricht der Breite des Abbildungsbereiches, da jede Kamera
genau mittig in ihrem Abbildungsbereich platziert wird. Für das Beispiel aus Abbildung 6.4
gelten demnach für die Breite des Abbildungsbereiches sowie für den Abstand zwischen
zwei benachbarten Kameras jeweils der Wert des Kreisbogens, der einem Kreisöffnungswinkel von 45 Winkelgrad entspricht.
In der praktischen Anwendung dieses Kameramodells ergeben sich spezielle Einschränkungen beziehungsweise Erweiterungen, die auf den Erkenntnissen zur Modelloptimierung aus Abschnitt 5.5.3 beruhen. Demnach ist die Reduzierung des Kreisradius
auf den Wert Null sinnvoll, um die Abstimmung benachbarter Sichtkörper zu erleichtern.
Außerdem wird die Definition der Kamerapositionen auf die x- und z-Dimension
beschränkt. Höhenunterschiede zwischen den einzelnen Kameras in der y-Dimension
werden vermieden. Darüber hinaus kann das Modell durch Hinzufügen zentralperspektivischer Ansichten an den Rändern des Abbildungsbereiches ergänzt werden, um eine
partielle Multiperspektive zu erzeugen.
Das CCV-Modell ist dem PCV-Modell sehr ähnlich, denn es definiert ebenso radial an
einem Kreis ausgerichtete Kameras. Der Unterschied besteht jedoch darin, dass die
Kameras zum Kreiszentrum ausgerichtet sind (siehe Abbildung 6.5). Die Positionierung der
einzelnen Kameras errechnet sich ebenso aus Kreisradius und Kameraverteilung sowie der
allgemeinen Kreisgleichung. Durch die gegensätzliche Ausrichtung der Kameras erfolgt
deren Definition jedoch entgegen dem Uhrzeigersinn. Folglich sind auch für dieses Modell
die einzelnen Perspektiven auf der Bildebene von links nach rechts angeordnet. Ebenso
wie beim PCV-Modell ist eine Erweiterung des Abbildungsbereiches durch Definition von
Randperspektiven möglich und die Positionierung der Kameras beschränkt sich auf die
x- und z-Dimension (siehe Abschnitt 5.5.3).
81
90°
6 Praktische Umsetzung
cht
ung
Slav
eka
me
ra
Aus
ri
45
°
90°
a
Rad
ius
y
180°
era
am
terk
s
a
M
r
0°
Abbildungsbereich b
Position x
Kreisöffnungswinkel in Winkelgrad
z (Tiefe)
reis
bog
en
270°
Kam
era
abs
tan
d au
f de
mK
x (Breite)
y (Höhe)
Abbildung 6.5 – Schematische Darstellung des CCV-Kameramodells mit den wesentlichen Parametern der
Manipulation
Das SLV-Modell besitzt eine geradlinige Grundform zur Anordnung der Kameras. Die
Berechnung der dreidimensionalen Lage dieser Geraden im Raum stellt daher die erste
Aufgabe dar.
Als Grundlage dieser Berechnung dient das in OSG integrierte Modell zur Definition von
Ansichten in einem Raum, das in Abbildung 6.6 dargestellt ist. Es besteht aus den
Vektoren eye, center und up und kann über die Funktion getLookAt() abgerufen werden.
Der eye-Vektor definiert den Augpunkt des Betrachters, der gleichzeitig auch den Nullpunkt P0 des zu definierenden Kameramodells darstellt. Der Punkt, auf den geblickt wird,
ist durch den center-Vektor beschrieben. Er wird allgemein auch als Referenzpunkt
bezeichnet. Der up-Vektor beschreibt die Ausrichtung der Blickdefinition nach oben und
ist für die Rotation der Ansicht um die x- und z-Achse zuständig.
Durch Subtraktion des eye- und center-Vektors lässt sich der Vektor view errechnen, der
die Orientierung des zu erstellenden Kameramodells angibt und genau in dessen
Blickrichtung zeigt. Die geradlinige Grundform des Kameramodells kann anschließend
durch den Vektor ortho definiert werden, der orthogonal zum view- und up-Vektor
ausgerichtet ist. Zur besseren Visualisierung dieser Abhängigkeit wird in Abbildung 6.6
zusätzlich der Vektor upcopy dargestellt, der eine identische Ausrichtung zu up besitzt, aber
vom Ursprungspunkt Pu des Koordinatensystems in den Nullpunkt P0 des Kameramodells
verschoben wurde.
82
6.3 Implementierung der Abbildungskomponenten
y
up copy
opy
up
ortho
90°
eye
P0
90°
view
center
Pu
x
z
Abbildung 6.6 – Die OSG-Betrachterinformationen eye, center und up nach getLookAt() als Grundlage für
die Berechnung und Definition des SLV-Kameramodells mit den Vektoren view und ortho
Das abgebildete System bietet die Möglichkeit zur restriktionsfreien Platzierung eines SLVKameramodells. Jedoch ist nach den Erkenntnissen aus Abschnitt 5.5.3 eine Reduktion der
Freiheitsgrade auf die x- und z-Dimension sinnvoll, weshalb die Werte der y-Dimension
konstant nach dem Wert von P0 definiert werden.
Auf der Grundlage der Vektoren view und ortho sowie ihrem Schnittpunkt P0 kann nun
das Kameramodell im Raum definiert werden. Wie bereits bei den beiden vorhergehenden
Modellen beginnt dieser Vorgang mit der Definition der Masterkamera, die über den
Vektor eye direkt in P0 positioniert wird. Die weiteren Slavekameras werden in Abhängigkeit zur Masterkamera in gleichmäßigen Abständen auf dem Vektor ortho verteilt.
Dieser dient als geradlinige Grundform des Modells. Wie in Abbildung 6.7 dargestellt,
errechnet sich der Wert für den Abstand aus einer Nutzereingabe über die grafische
Oberfläche und dem normalisierten ortho-Vektor in Abhängigkeit zur Masterkamera. Die
Abbildung zeigt weiterhin, dass eine Hälfte der Slavekameras in positiver und die andere
Hälfte in negativer Richtung zur Masterkamera positioniert wird. Demnach befindet sich
die Masterkamera nicht am Rand, sondern in der Mitte des definierten Modells.
Die Vorteile dieser Vorgehensweise sind vor allem in Abschnitt 6.4 relevant, in dem die
globale Positionierung von Kameramodellen in einer dreidimensionalen Szene zur
Realisierung von Animationen beschrieben wird.
83
6 Praktische Umsetzung
+( ortho . (3 . dist))
+( ortho . (2 . dist))
-( ortho . (2 . dist))
+( ortho . (1 . dist)) -( ortho . (1 . dist))
((
xo
ortho = y o
zo
P0
v4
v3
v2
eye
v5
v6
Beispielrechnung für v4
v4 = eye
+( ortho . (3 . dist))
dist = Abstandswert durch Nutzereingabe
((
xu
Pu = y u
zu
Abbildung 6.7 – Positionsberechnung für die einzelnen Kameras im SLV-Modell: Die Masterkamera (rot) wird
durch den Vektor eye in P0 definiert. In Abhängigkeit zur Masterkamera werden die
Slavekameras in positiver und negativer Richtung auf dem Vektor ortho in gleichen
Abständen verteilt.
((
g
un
ht
ric
Au
s
M
°
90
((
xo
ortho = y o
zo
Sl
av
ek
am
er
a
as
te
rk
am
er
a
a
xv
view = y v
zv
P0
+ Abstand v
- Abstand v
Kameraabstand in Raumeinheiten
Abbildung 6.8 – Schematische Darstellung des SLV-Kameramodells mit den wesentlichen Parametern der
Manipulation
Zum Abschluss zeigt Abbildung 6.8 einen Überblick zu allen Parametern des SLV-Modells.
Zusätzlich zu der bisher erläuterten Definition des Modells im Raum und der Positionierung und Verteilung der Kameras auf dem Vektor ortho wird die variable Ausrichtung
der Kameras dargestellt. Es ist zu beachten, dass alle Kameras untereinander eine
identische Ausrichtung aufweisen. Jedoch muss diese nicht zwangsläufig dem view-Vektor
entsprechen, der die Ausrichtung des gesamten Kameramodells definiert.
84
6.3 Implementierung der Abbildungskomponenten
Details der Sichtkörperberechnung
Anhand der aus Abschnitt 5.5.3 gewonnenen Erkenntnisse wird deutlich, dass die
Sichtkörperberechnung für jede einzelne Kamera ein entscheidender Faktor für die visuelle
Qualität einer multiperspektivischen Abbildung ist. Nur bei einer perfekten Angleichung
benachbarter Sichtkörper entstehen kontinuierliche Übergänge zwischen den Perspektiven. Im Folgenden werden die Lösungsansätze vorgestellt, die im Rahmen des Plug-Ins
für BiLL umgesetzt wurden.
Ausschlaggebend für die Berechnung ist der Aufbau des Sichtkörpers (siehe Abschnitt
2.2.2). Er wird definiert durch eine rechte, linke, obere und untere Begrenzung sowie eine
Near- und eine Far-Clipping-Plane. Aufgrund des verwendeten Konzepts der Streifenkamera sind alle Kameras des Abbildungssystems transversal angeordnet. Für die Abstimmung der Kamerasichtkörper sind deshalb nur die Werte für die linke und rechte
Begrenzung des Sichtkörpers relevant, denn an diesen treffen die benachbarten Perspektiven aneinander. Außerdem muss die Erhaltung korrekter Abbildungsproportionen ein
Ziel der Sichtkörperberechnung sein, damit Stauchungen oder Streckungen der Abbildung
auf der Bildebene vermieden werden. Es erfolgt daher anhand von Manipulationen an der
oberen und unteren Begrenzung des Sichtkörpers die Einhaltung des korrekten Proportionsverhältnisses.
Aufgrund der Relevanz dieser vier Parameter des Sichtkörpers ist die Berechnung jeweils in
vier separate Formeln für die linke, rechte, obere und untere Sichtkörperbegrenzung
unterteilt (siehe Tabelle 5).
Neben diesen vier Parametern hat weiterhin eine Vielzahl von externen Faktoren Einfluss
auf die Berechnung des Sichtkörpers. An erster Stelle ist die Höhe und Breite der abzubildenden Perspektive auf der Bildebene zu nennen. Außerdem ist die Berechnung
maßgeblich davon abhängig, in welcher räumlichen Beziehung die benachbarten Kameras
zueinander stehen und in welcher Häufigkeit sie auftreten. Daher stellt das Kameramodell
ein zweites Merkmal dar, anhand dessen die Form der Berechnung unterschieden werden
muss. Die Formeln zur Erzeugung korrekter Sichtkörper werden deshalb für jedes
Kameramodell separat definiert und implementiert.
Im Falle des PCV-Kameramodells kann, wie bereits in Abschnitt 5.5.3 nachgewiesen, eine
perfekte Abstimmung benachbarter Sichtkörper für alle Modellzustände erreicht werden
(unter der Bedingung: Radius = 0). Wie aus Tabelle 5 ersichtlich, wird die korrekte Breite
des Sichtkörpers anhand der linken und rechten Begrenzung durch das Verhältnis von
Kameraanzahl zu abgebildetem Öffnungswinkel pro Kamera errechnet. Der Parameter
_scale steht dabei in einem indirekt proportionalen Verhältnis zum totalen Öffnungswinkel
des gesamten Abbildungssystems. Die Erhaltung der Abbildungsproportion erfolgt anhand
der oberen und unteren Sichtkörpergrenze durch die eben aufgestellte Abhängigkeit der
Sichtkörperbreite (_scale x _viewQuantity) zu dem Seitenverhältnis der Abbildung auf der
Bildebene (_vheight / _vwidth). Der Parameter _inclineView gibt eine asymmetrische Verschiebung des Sichtkörpers nach oben oder unten an und dient der Neigung der Perspektive, sofern dies vom Anwender eingestellt wurde. Die Konstanten n und m dienen der
85
6 Praktische Umsetzung
Fixierung eines definierten Sichtkörperzustandes, zu welchem die beschriebenen Berechnungen relativ ausgeführt werden.
_vheight
Höhe der perspektivischen Abbildung
_vwidth
Breite der perspektivischen Abbildung
_scale
_viewQuantity
_inclineView
Skalierung der perspektivischen Abbildung
Anzahl der Perspektiven
Neigung der perspektivischen Abbildung
n
Horizontale Konstante = 1200
m
Vertikale Konstante = 1500
n
left = left * _scale * _viewQuantity
n
right = right * _scale * _viewQuantity
_vheight * m
bottom = bottom * _scale * _vwidth * _viewQuantity + _inclineView
_vheight * m
top = top * _scale * _vwidth * _viewQuantity + _inclineView
Tabelle 5 – Formeln der Sichtkörperberechnung für Abbildungen mit dem PCV- und dem SLV-Kameramodell
Aufgrund der Ähnlichkeit von den Einstellungsmöglichkeiten sowie den Abhängigkeiten
zwischen den benachbarten Perspektiven kann das Berechnungsmodell der PCV auch für
das SLV-Kameramodell angewendet werden.
Weil für das CCV-Kameramodell im Unterschied zur PCV nie eine perfekte Sichtkörperabstimmung erzielt werden kann, ist die Verwendung einiger Parameter des Kameramodells nicht notwendig. Folglich sind die Berechnungsformeln sehr viel einfacher und
werden in Tabelle 6 dargestellt. Die Breite und Höhe des Sichtkörpers wird nur anhand
derer Verhältnis von Abbildungsbreite beziehungsweise Abbildungshöhe auf der Bildebene zu den Fixationskonstanten v oder w berechnet. Zusätzlich gibt es ebenso wie beim
PCV- und SLV-Kameramodell die Möglichkeit, den Sichtkörper asymmetrisch über
_inclineView zu verschieben. Infolgedessen wird eine Neigung der Perspektive nach oben
oder unten realisiert.
86
6.4 Implementierung der Animationskomponenten
_vheight
Höhe der perspektivischen Abbildung
_vwidth
Breite der perspektivischen Abbildung
_inclineView
v
w
Neigung der perspektivischen Abbildung
Horizontale Konstante = 1200
Vertikale Konstante = 1000
left/right = left/right *
_vwidth
v
top/bottom = top/bottom *
_vheight
+ _inclineView
w
Tabelle 6 – Formeln der Sichtkörperberechnung für Abbildungen mit dem CCV-Kameramodell
6.4 Implementierung der Animationskomponenten
Neben den Abbildungskomponenten sind zusätzliche Module wichtig, die für eine Dynamisierung der Szenendarstellung verantwortlich sind. Dadurch lassen sich multiperspektivische Effekte nicht nur in den drei Raumdimensionen betrachten, sondern auch in ihrer
zeitlichen Abhängigkeit, wodurch der Aspekt der Echtzeitfähigkeit erst richtig zur Geltung
kommt.
In der Arbeitsumgebung BiLL wurde diese Dynamisierung durch vier unterschiedliche
Animationsformen realisiert. Erstens können pfadgebundene Animationen über eine
Sequenz von Wegpunkten definiert und abgespielt werden (Path Animation). Zweitens
kann sich der Nutzer auch durch freie Navigation im dreidimensionalen Informationsraum
einer multiperspektivischen Abbildung fortbewegen (Synchronized Navigation). Drittens
kann die fortlaufende Umkreisung eines Objekts als Animation gewählt werden (Circular
Animation). Eine vierte Option wird durch die Speicherung einer einzelnen Perspektive
dargestellt (Static Point). Durch den statischen Charakter dieser Variante zählt Static Point
jedoch nur aus organisatorischen Gründen zu den Animationsformen.
Da die Synchronized Navigation keine vorherigen Eingaben durch den Anwender benötigt
und folglich sofort benutzt werden kann, ist sie als Standard-Animationsform im Plug-In
definiert. Die weiteren Animationsformen werden unter der Gruppe der alternativen
Animationsformen zusammengefasst und sind teilweise nur für bestimmte Parameter
verfügbar. Die Circular Animation ist zum Beispiel ausschließlich für das CCV-Kameramodell verwendbar. Eine Path Animation (wählbar für das PCV- und das SLV-Modell)
hingegen ist nur möglich, wenn mindestens zwei Wegpunkte im aktuell ausgewählten
Pfad definiert werden. Ist nur ein Wegpunkt im Pfad definiert, steht für das PCV- und SLVModell nur Static Point als alternative Animationsform zur Verfügung. Wenn der aktuell
gewählte Pfad keinen Wegpunkt enthält, ist die alternative Animationsform für das PCV-
87
6 Praktische Umsetzung
und SLV-Modell deaktiviert. Die nachfolgenden Abschnitte dienen der Erläuterung der
grafischen Benutzerschnittstelle sowie der technischen Details der Animationsformen.
Design der grafischen Benutzerschnittstelle
Ebenso wie die Abbildungskomponenten werden auch die Animationskomponenten über
eine separate Benutzeroberfläche kontrolliert. Die Funktionen im Animation-Settings-Panel
sind in drei Bereiche unterteilt.
Die erste Funktion besteht in der Auswahl der Animationsform (Animation Mode). Es kann
in Abhängigkeit zu den im vorangegangenen Absatz beschriebenen Einschränkungen
zwischen der Synchronized Navigation, der Path Animation, der Circular Animation und
Static Point gewählt werden.
Die zweite Funktionsgruppe dient der Definition und Verwaltung dreidimensionaler Pfade,
die die Basis der Pfadanimationen sind. Zu diesem Zweck lassen sich Wegpunkte (Nodes)
hinzufügen, benennen oder löschen. Für jede Szene können mehrere Pfade definiert und
wieder gelöscht werden. Die Wegpunkte des aktuell selektierten Pfades werden in der
Path Node List angezeigt.
Der dritte Funktionsbereich dient der Kontrolle des Animationsstatus. Neben den Befehlen
für Play und Pause kann die Geschwindigkeit der Animation eingestellt werden. Über den
Restart-Button kann die Animation auf den Ausgangspunkt zurückgesetzt werden.
Abbildung 6.9 – Das Animation-Settings-Panel mit den einzelnen Funktionsgruppen zur Kontrolle der
Animationsform und -parameter
88
6.4 Implementierung der Animationskomponenten
Path Animation
Die pfadgebundenen Animationen (Path Animation) stellen eine gerichtete Navigation in
einer Szene dar. Durch das Festlegen verschiedener Wegpunkte kann ein komplexer Pfad
erstellt werden, der später Schritt für Schritt durch ein komplexes Kameramodell
abgefahren wird. Die Positionierung und Ausrichtung des Kameramodells erfolgt anhand
der Masterkamera, die bereits in Abschnitt 6.3 ausführlich beschrieben wurde. Diese
Animationsform ist mit Walk-through- oder Fly-through-Metaphern vergleichbar und
bedarf hauptsächlich zwei bestimmter Komponenten zur Verwirklichung. Zuerst wird eine
Datenstruktur zur Speicherung der dreidimensionalen Wegpunkte benötigt. Darüber
hinaus muss ein Mechanismus entwickelt werden, der eine Bewegung zwischen diesen
festen Punkten interpoliert. Beide Komponenten werden im Anschluss beschrieben.
Die Datenstruktur hat die Aufgabe, alle relevanten Informationen zur Definition mehrerer
Animationspfade und den zugehörigen Wegpunkten zu speichern. Um dies zu realisieren,
wurden im Plug-In zwei Strukturelemente eingeführt (siehe Abbildung 6.10).
Das erste Element dient dem Speichern eines Pfades und wird als KomplexPath
bezeichnet. Es besitzt einen Namen und eine Id, um den konkreten Pfad zu identifizieren.
Das zweite Element heißt PathNode und dient der Speicherung eines einzelnen
Wegpunktes. Es besitzt für die Identifikation ebenso einen Namen und eine Id. Zusätzlich
muss für einen Wegpunkt die Lage im Raum spezifiziert werden. Dies geschieht durch
eine komplexe Matrix, die neben den dreidimensionalen Raumkoordinaten auch die
Rotationen um alle drei Koordinatenachsen definiert. Anhand dieser Lagedefinition kann
die Masterkamera eines komplexen Kameramodells in jedem Wegpunkt genau positioniert
und ausgerichtet werden. Die Datenstruktur umfasst im Normalfall mehrere Elemente vom
Typ KomplexPath und PathNode, um einzelne Pfade mit mehreren Wegpunkten zu
beschreiben. Bislang sind die Dateneinheiten aber vollkommen unabhängig voneinander.
Um aus einer Menge verschiedener PathNodes einen komplexen Animationspfad zu
erzeugen, muss eine Reihenfolge definiert werden. Dies kann entweder durch Verwendung eines Feldes oder durch Listen geschehen. Ein Feld ist eine statische Struktur, die
zu Beginn der Initialisierung mit einer maximalen Größe definiert wird. Dieser Speicherplatz wird reserviert, unabhängig davon, ob er auch wirklich verwendet wird. Listen bieten
im Vergleich dazu eine wesentlich flexiblere Struktur zum Speichern von Daten an, denn
diese belegen nur den Speicherplatz, den sie auch wirklich verwenden. Die reservierte
Speichermenge wächst und sinkt mit jedem hinzugefügten oder entfernten Listenelement.
Da die Komplexität von Animationspfaden sehr unterschiedlich sein kann und außerdem
nicht vorhersehbar ist, bieten Listen in diesem Punkt die bessere Lösung.
Nachteilig ist jedoch, dass die Verwaltung der einzelnen Listenelemente komplizierter als
bei der Verwendung eines Feldes mit vordefinierter Größe ist. Während man über Indizes
direkt auf jedes Element in einem Feld zugreifen kann, besteht diese Möglichkeit bei einer
Liste nicht. Die einzelnen Elemente einer Liste sind nur durch einen physikalischen
Speicherort definiert. Für den Zugriff auf den Inhalt eines Listenelementes muss ein Pointer
auf diese Speicheradresse angelegt werden. Zur anschließenden Erzeugung der Struktur
89
6 Praktische Umsetzung
und Reihenfolge eines komplexen Pfades muss jedes Listenelement eine Relation zu den
Elementen der benachbarten Wegpunkte aufweisen. Um dies zu realisieren, enthält jedes
Listenelement vom Typ PathNode einen Pointer next, der auf das jeweils nachfolgende
Listenelement zeigt. Das letzte Listenelement besitzt keinen Nachfolger und der Pointer
bleibt in diesem Fall leer.
0
next
KomplexPath
PathNode
first
next
...
...
PathNode
next
PathNode
next
...
0
next
KomplexPath
PathNode
first
next
...
...
...
PathNode
next
PathNode
next
...
0
next
KomplexPath
PathNode
first
next
...
...
PathNode
next
PathNode
next
...
0
next
KomplexPath
PathNode
int id;
char* name;
PathNode* first;
KomplexPath* next;
int id;
char* name;
osg::Matrixd point;
PathNode* next;
first
next
first path
...
...
0
current node
current path
Abbildung 6.10 – Datenstruktur zur Speicherung der Wegpunkte in verschiedenen Pfaden als einfach
verkettete, zweidimensionale Liste mit Pointern (Pfeile) zur Verknüpfung
Als Ergebnis dieser Verknüpfung entsteht für jeden angelegten Pfad eine unabhängige,
verkettete Liste. Damit in der Anwendung wahlweise auf die Daten der Listen zugegriffen
werden kann, müssen zusätzlich Pointer erstellt werden, die den Anfang der Listen
markieren. Diese werden als first-Pointer bezeichnet und sind Bestandteil des jeweiligen
KomplexPath-Elementes.
Um den dynamischen Charakter der Datenstruktur beizubehalten, müssen diese
KomplexPath-Elemente ebenfalls in einer skalierbaren Form verwaltet werden. Dazu bietet
sich wiederum eine verkettete Liste an, in der die einzelnen Pfade sequentiell geordnet
werden. Ebenso wie bei der inneren Struktur eines Pfades verweisen hier next-Pointer auf
das jeweils folgende KomplexPath-Element.
Das Ergebnis ist eine komplexe Datenstruktur in Form einer einfach verketteten
zweidimensionalen Liste (siehe Abbildung 6.10). Um den Zugriff auf alle Elemente zu
gewährleisten, ist nur ein einziger Pointer notwendig, für den in der Anwendung
dauerhaft Speicherplatz reserviert werden muss. Dieser first-path-Pointer markiert das
erste KomplexPath-Element und dient somit dem Einstieg in die komplexe Struktur. Um
90
6.4 Implementierung der Animationskomponenten
Operationen wie das Hinzufügen oder Löschen von Elementen zu ermöglichen, sind
außerdem zwei weitere Pointer notwendig. Der aktuell ausgewählte Pfad wird über den
Pointer current path markiert. Der darin befindliche aktuelle Wegpunkt wird über den
Pointer current node beschrieben.
Die zweite Komponente zur Realisierung pfadgebundener Animationen ist für die
Interpolation der Bewegung zwischen den einzelnen Wegpunkten verantwortlich. Man
unterscheidet diesen Mechanismus in den Translations- und den Rotationsanteil. Während
der Translationsanteil die positionelle Veränderung beschreibt, definiert der Rotationsanteil
die Anpassung der Ausrichtung zwischen zwei Wegpunkten. Beide Anteile werden
getrennt voneinander berechnet und angewendet.
Wie bereits im vorangehenden Absatz beschrieben, werden alle Lagedaten eines Wegpunktes in einer Matrix gespeichert. Diese Matrix besteht zum einen aus einer 3 x 3 Matrix
zur Festlegung der Ausrichtung im Raum und Rotation um die Achsen des Koordinatensystems, zum anderen aus einem Vektor zur Definition der Koordinaten des Punktes.
Aus Abbildung 6.11 wird deutlich, dass die Interpolation der Bewegung jeweils zwischen
den Vektoren zweier benachbarter Wegpunkte bestimmt wird. Für einen komplexen
Animationspfad mit mehreren Wegpunkten gibt es also einen aktiven Pfadabschnitt, der
zum aktuellen Zeitpunkt durch die Vektoren vstart und vend begrenzt wird. Beide Vektoren
entsprechen den jeweils gespeicherten Vektoren der Wegpunkte.
Zur Interpolation des Translationsanteils der Bewegung wird zunächst ein Differenzvektor
vdiff gebildet, der den Verlauf der Bewegung nachzeichnet und sich aus der Subtraktion
von vend und vstart ergibt. Anschließend wird dieser Differenzvektor in Abhängigkeit seiner
Länge diskretisiert und dementsprechend in kleine Teilstücke (Einheiten) zerlegt. Infolgedessen besteht jeder beliebige Differenzvektor aus einer definierten Anzahl gleich großer
Einheiten. Die identische Größe dieser Einheiten dient als Berechnungsbasis bei der Realisierung gleichmäßiger Animationsgeschwindigkeiten auf dem Pfad.
Der Vektor vcurrent gibt zu jedem Zeitpunkt die aktuelle Position der Animation auf dem
Pfad an. Zu Beginn jedes Frames der Animation wird vcurrent um eine definierte Anzahl von
Einheiten, entsprechend den diskretisierten Teilstücken, auf dem Pfad versetzt. Je größer
die Anzahl von Einheiten ist, desto schneller ist die Bewegung. Negative Werte führen
demnach zu einer rückwärtsgewandten Fortbewegung.
Das komplexe Kameramodell (PCV, CCV oder SLV), was auf diese Weise animiert werden
soll, wird anhand von vcurrent in jedem Frame neu positioniert, indem die Masterkamera des
Modells exakt an die Position von vcurrent gesetzt wird. Die Positionen der weiteren Kameras
berechnen sich wiederum anhand der Struktur des gewählten Kameramodells (siehe
Abschnitt 6.3).
91
6 Praktische Umsetzung
y
aktiver Animationsabschnitt
zwischen vstart und vend
P1
Der Differenzvektor
vdiff wird in t diskrete
Einheiten zerlegt
P2
((
x1
v1 = y 1
z1
aktuelle Position des
Abbildungssystems :
t 83
t 84
t 85
vcurrent = vstart + n .
((
x2
v2 = y 2 = vstart
z2
( (( (
x diff
x3 - x2
vdiff = y diff = y 3 - y 2
z diff
z3 - z2
( (
x
P3
((
vdiff
t
mit n = 0,1,2,3,...,t
x c u r re n t
vcurrent = y c u r re n t
z c u r re n t
x4
v4 = y 4
z4
( )
((
x3
v3 = y 3 = vend
z3
z
P4
Abbildung 6.11 – Schematische Darstellung der ersten vier Wegpunkte eines Animationspfades und des
Mechanismus zur Interpolation einer Bewegung (Translationsanteil)
Neben der positionellen Bewegung auf dem Pfad muss noch die Ausrichtung berücksichtigt werden. Bei komplexen Pfaden mit häufiger Richtungsänderung verändert sich die
Ausrichtung oft an jedem Wegpunkt. Der Rotationsanteil der Interpolation gibt daher die
Ausrichtung für einen Punkt des Pfades an. Zu Beginn eines Animationsabschnitts wird die
gespeicherte Ausrichtung des Wegpunktes in vstart übernommen. Zur Erzeugung weicher
Übergänge an jedem Wegpunkt wird diese Ausrichtung während der Bewegung im
aktiven Animationsabschnitt schrittweise an die Ausrichtung in vend angepasst. Um
dennoch eine möglichst geradlinige Animation ohne ständige Verschiebungen in der
Ausrichtung zu erhalten, wird der Prozess zur Interpolation der Ausrichtung innerhalb der
ersten 100 Frames eines Animationsabschnitts abgeschlossen. Dies entspricht je nach
Framerate den ersten zwei bis drei Sekunden einer Teilstrecke. Ein Großteil der Pfadstrecke
wird demzufolge mit der Ausrichtung des Zielpunktes vend absolviert, was eine optimale
Fokussierung der Bewegungsrichtung erlaubt.
92
6.4 Implementierung der Animationskomponenten
Die technische Umsetzung dieser Anpassung der Ausrichtung ist der Interpolation der
Bewegung sehr ähnlich. Zunächst werden die Rotationsmatrizen der Wegpunkte von vstart
und vend jeweils in einen Rotationsvektor umgerechnet. Aus diesen beiden Vektoren wird
wiederum ein Differenzvektor errechnet und über 100 Teilstücke diskretisiert. Innerhalb
der ersten 100 Frames eines Animationsabschnitts werden dann die diskretisierten Teile
des Differenzvektors sukzessive auf die Ausrichtung von vstart hinzuaddiert und es ergibt
sich eine schrittweise Drehung.
Wie es bereits beim Translationsanteil der Fall war, werden diese Berechnungen nur für
die Masterkamera eines Modells ausgeführt. Die Ausrichtung der Masterkamera wiederum
beeinflusst die Lage des Kameramodells im Raum und folglich auch die Ausrichtung der
weiteren Kameras.
Mit Abschluss dieses Prozesses sind der Translations- und der Rotationsanteil einer
Bewegung für einen Animationsabschnitt berechnet. Sobald die Animation einen
Wegpunkt des Pfades überquert, werden die Vektoren vstart und vend entsprechend der
neuen aktuellen Wegpunkte ersetzt und die vorhergehenden Berechnungen wiederholt.
Synchronized Navigation
Die Animationsform der freien Navigation (Synchronized Navigation) ermöglicht das
Entdecken einer Szene, ohne vorher komplexe Pfade erstellen zu müssen. In der
Computergrafik beruht die freie Navigation immer auf einer direkten Interaktion mit einer
Kamera, die den dreidimensionalen Raum abbildet. Diese Interaktion wird von einem
Handler gesteuert, der die Nutzereingaben über Maus oder Keyboard verarbeitet und in
Bewegungen der Kamera innerhalb der Szene umsetzt. Ein solcher Interaktionshandler ist
immer direkt mit der Kamera, die er beeinflusst, verbunden.
Multiperspektivische Abbildungen bestehen im Unterschied zu normalen zentralperspektivischen aus multiplen, parallelen Perspektiven, die jeweils von einer eigenen Kamera
abgebildet werden. Jede Kamera besitzt demnach einen eigenen, unabhängigen
Interaktionshandler. Eine globale Verarbeitung von Interaktionen über einen zentralen
Interaktionshandler ist nicht möglich.
Im Rahmen der Arbeitsumgebung BiLL gibt es jedoch eine Möglichkeit, dieses Problem zu
umgehen. Mit dem Viewer im Hauptfenster besteht bereits eine singuläre, zentralperspektivische Ansicht des Raumes, die über den zugehörigen Interaktionshandler problemlos
gesteuert werden kann. Durch Synchronisation dieser Kamera mit der Masterkamera des
multiperspektivischen Abbildungssystems kann eine indirekte freie Navigation erzeugt
werden. Während jedes Frames der Animation wird die Position und Ausrichtung der
Kamera im Hauptfenster ausgelesen und auf die Masterkamera der multiperspektivischen
Abbildung übertragen. Ebenso wie bei der pfadgebundenen Animation werden die
weiteren Kameras über die Struktur des verwendeten Kameramodells berechnet. Dies
erzeugt eine synchronisierte Animation in beiden Ausgabefenstern und ermöglicht eine
freie Navigation in multiperspektivischen Abbildungen.
93
6 Praktische Umsetzung
Circular Animation
Die Circular Animation beschreibt eine kreisförmige Rotation um einen Mittelpunkt und ist
ausschließlich für die Verwendung mit dem CCV-Kameramodell vorgesehen. Der Grund
dafür liegt in den Darstellungseigenschaften des CCV-Modells, die nur für einen ganz
bestimmten Bereich des Raumes sinnvolle Ergebnisse liefern (siehe Abschnitt 7.3.1). Die
Circular Animation fokussiert genau diesen Bereich und verbessert folglich die Wirkung
von Abbildungen mit dem CCV-Modell.
Die Verarbeitungslogik, die hinter dieser Animationsform steht, basiert auf der Definition
des CCV-Kameramodells und ist daher auch durch dessen Eigenschaften hinsichtlich
Positionierung und Ausrichtung der Kameras gekennzeichnet. In jedem Frame wird die
Position der Masterkamera um einen bestimmten Winkel auf der kreisförmigen
Grundstruktur verschoben. Wie groß dieser Winkel ist, hängt von der gewählten
Animationsgeschwindigkeit ab. Die weiteren Slavekameras werden anhand der Definition
des Modells in Abhängigkeit zur Masterkamera angeordnet. Daraus ergibt sich eine
Rotation des gesamten CCV-Modells um den Mittelpunkt der kreisförmigen Modellstruktur.
Static Point
Die Variante Static Point bezeichnet eine Ansicht in den Raum, die durch einen einzelnen
Wegpunkt definiert wird. Mithilfe von Static Point soll es möglich sein, interessante
Perspektiven zu speichern. Da im Rahmen dieser Variante keine Animation stattfindet, sind
keine zusätzlichen Berechnungen notwendig.
*
Weiterführende Informationen zur Nutzung der Plug-In-Funktionalitäten sind in Anhang A
zu finden. Es sind in diesem Zusammenhang eine detaillierte Beschreibung der
Benutzeroberfläche des Plug-Ins und Anleitungen zum Umgang mit Kameramodellen und
Animationsformen aufgeführt.
94
7 Ergebnisse
7.1 Spezifikation der Testbasis
Dieses Kapitel dient der Auswertung der Ergebnisse, die mittels des entwickelten Plug-Ins
erzielt werden. Zunächst wird die Testbasis vorgestellt, die Grundlage für alle Ergebnisse
ist. Anschließend wird in Abschnitt 7.2 überprüft, inwiefern das primäre Kriterium der
Echtzeitfähigkeit aus Abschnitt 5.3 erfüllt wurde. In Abschnitt 7.3 werden daraufhin die
visuellen Resultate beschrieben und bewertet. In diesem Rahmen werden die drei
verschiedenen Kameramodelle des Plug-Ins betrachtet sowie ein Vergleich zu einem
Referenzansatz gezogen.
Im Folgenden werden einheitliche Rahmenbedingungen für den Test geschaffen, damit
die Ergebnisse besser vergleichbar sind. Die technische Basis ist durch die in Abschnitt
5.5.4 vorgestellten Testsysteme gegeben. Diese sind einerseits durch eine aktuelle
Referenzplattform aus dem Jahr 2007 und andererseits durch eine ältere Vergleichsplattform aus dem Jahr 2003 definiert.
Die inhaltliche Basis des Tests besteht aus zwei Szenen, die jeweils unterschiedliche
Anforderungen an die Eigenschaften der Abbildung stellen. Die erste Szene verdeutlicht
strukturelle Parameter des Raumes sowie die Charakteristik bestimmter Objektbeziehungen und wird im Folgenden unter dem Namen Strukturszene verwendet. Wie in
Abbildung 7.1 ersichtlich ist, werden anhand dieser Szene die Abbildungseigenschaften
eines bestimmten Kameramodells in ihrer räumlichen Ausprägung hervorgehoben. Die
Szene besteht aus einer schachbrettartigen Bodenform und weiteren farbigen Raumlinien.
Darüber hinaus sind an markanten Punkten Testobjekte in Form von Säulen platziert. Die
Sockelform der Säulen ist auf der linken Seite rund und auf der rechten Seite quadratisch.
Der Zweck dieser Grundformen wird in Abschnitt 7.3 für jedes einzelne Kameramodell
beschrieben. Mit einer Größe von 291 KB stellt die Strukturszene nur geringe Leistungsanforderungen an den Echtzeittest in Abschnitt 7.2.
Die zweite Szene stellt im Unterschied zum abstrakten Szenario der Strukturszene einen
realen Anwendungsfall dar. Es ist zu beachten, dass die entwickelten Kameramodelle
jeweils sehr spezielle Charakteristiken haben und folglich für ganz individuelle
Anschauungsbeispiele geeignet sind. Dennoch soll an dieser Stelle eine einheitliche Szene
gefunden werden, die alle Kameramodelle gleichsam bedient. Die unter dem Namen
Semantikszene verwendete Darstellung beschreibt einen Ausstellungsbereich für Fahrzeuge mit entsprechender Umgebung und ist in Abbildung 7.2 zu sehen. Ein solches
Szenario
dient
zum
Beispiel
Automobilherstellern
zum
Vergleich
verschiedener
Designstudien in der Entwicklungsphase, um deren Wirkung und Ausdruck zu evaluieren.
Die Szene besteht aus drei nebeneinander platzierten Fahrzeugen und im Hintergrund aus
einem Gebäude mit Parkplatz.
95
7 Ergebnisse
Abbildung 7.1 – Strukturszene zum allgemeinen Test der Abbildungseigenschaften (geringe Leistungsanforderung)
Abbildung 7.2 – Semantikszene zur Darstellung der Abbildungseigenschaften bei starken inhaltlichen
Zusammenhängen (sehr hohe Leistungsanforderung)
Bei normaler zentralperspektivischer Abbildung der Szene entstehen an den Rändern
durch den Kameraöffnungswinkel starke Verzerrungen, weswegen die Objekte am Rand
größer und breiter wirken als die in der Mitte. Ein objektiver Vergleich wird deshalb
erschwert. Um eine gleichmäßige Darstellung der Szene zu erzielen, bietet sich dem-
96
7.2 Auswertung der Leistungsfähigkeit
zufolge die Anwendung multiperspektivischer Abbildungsverfahren an. Die Bewertungskriterien für die Qualität der Darstellung sind in der Art und Weise, wie die einzelnen
Objekte und Ebenen in der Szene abgebildet werden, definiert. Während die Fahrzeuge
die Eigenschaften der direkten Abbildung offenlegen sollen, dient der Hintergrund zur
Verdeutlichung der Umgebungsvisualisierung eines Kameramodells. Mit einer Größe von
7,5 MB stellt die Szene sehr hohe Anforderungen an den Echtzeittest in Abschnitt 7.2.
7.2 Auswertung der Leistungsfähigkeit
Die Leistungsfähigkeit des erstellten Abbildungssystems wird primär durch das Kriterium
der Echtzeitfähigkeit definiert. Was unter Echtzeitfähigkeit verstanden wird, ist bereits in
Abschnitt 5.3 ausführlich beschrieben. Demnach sollte die Abbildung mit mindestens
25 Bildern pro Sekunde ablaufen, denn bis zu diesem Wert gelten Animationen als
flüssige Abfolge. Ein Grenzwert ist weiterhin bei 15 Bildern pro Sekunde definiert. Unter
diesem Wert werden Animation nicht mehr als bewegte Bilder wahrgenommen.
Testsystem 1
Kameras
Testsystem 2
Strukturszene
Semantikszene
Strukturszene
Semantikszene
20
59
59
39
13
40
59
41
33
8
80
59
24
23
-
128
51
16
15
-
160
47
13
12
-
256
26
8
8
-
320
23
-
-
-
640
11
-
-
-
Tabelle 7 – Erzielte Bildraten in Bildern pro Sekunde für die verschiedenen Testsysteme und Szenen mit
unterschiedlichen Anforderungen (Strukturszene – 291 KB) (Semantikszene – 7,5 MB)
Im Folgenden wird die Leistungsfähigkeit bezüglich der beiden Testszenen anhand der
beiden Testsysteme festgestellt. Dementsprechend stehen vier Testreihen für die Auswertung zur Verfügung. Sie werden in Tabelle 7 gegenübergestellt. Die Rahmenbedingungen des Tests bestehen darüber hinaus in dem Rendern von Bildern im SXGAFormat mit einer Auflösung von 1280 x 1024 Bildpunkten.
Anhand der aufgelisteten Werte lässt sich für jedes Testsystem und bezüglich jeder
Testszene ermitteln, bis zu welcher Anzahl an parallelen Kameras das Kriterium der
97
7 Ergebnisse
Echtzeit erfüllt wird. Aus der Tabelle ist ersichtlich, dass sowohl die Leistungsfähigkeit des
Testsystems als auch die Leistungsanforderungen der Testszenen einen sehr großen
Einfluss auf die erzielten Bildraten haben. Wie zu erwarten, erzielt das Abbildungssystem
beim Rendern von Bildern der Strukturszene auf Testsystem 1 die besten Ergebnisse.
Demzufolge können flüssige Animationen bis zu einem Einsatz von 320 parallelen
Kameras erzielt werden. Die von der Leistungsanforderung sehr viel anspruchsvoller zu
bewertende Semantikszene indessen erlaubt flüssige Animationen nur bis zu 80 parallelen
Kameras. Testsystem 2 hingegen zeigt deutliche Schwächen auf. Demnach können
Darstellungen von der Strukturszene nur bis zu maximal 80 parallelen Kameras flüssig
abgebildet werden. Die Semantikszene kann überhaupt nicht mehr sinnvoll verarbeitet
werden. Schon beim Einsatz von 20 parallelen Kameras wird der Grenzwert für bewegte
Bilder unterschritten.
Zusammenfassend lässt sich feststellen, dass multiperspektivische Abbildungen mit dem
entwickelten Plug-In auf aktuellen Testsystemen ohne Probleme möglich sind. Dies gilt für
einfache, aber auch für sehr komplexe Szenen. Bei Verwendung älterer Hardware
beschränkt sich der Einsatzbereich auf weniger anspruchsvolle Szenen. Jedoch kann auch
hier bis zu einem gewissen Grad eine Eignung festgestellt werden.
7.3 Auswertung der visuellen Resultate
7.3.1 Besonderheiten der Kameramodelle
In diesem Abschnitt werden die visuellen Ergebnisse des Plug-Ins ausgewertet. Wie bereits
angedeutet, besitzen die Kameramodelle zum Teil sehr spezielle Abbildungscharakteristiken und eignen sich folglich für ganz unterschiedliche Szenarien. Deshalb werden
anschließend diese Modelle separat voneinander betrachtet und dementsprechend unterschiedliche Ausschnitte beziehungsweise Bereiche der Testszenen dargestellt.
PCV
Die Panoramic-Circular-View (PCV) basiert auf der Grundform eines Kreises mit mehreren
radial ausgerichteten Kameras. Dieser Ansatz entspricht daher nicht nur dem Namen nach
den Eigenschaften einer Panorama-Abbildung. Durch Kombination verschiedener übergangsloser Fluchtpunkte lässt sich ein Blick in den Raum darstellen, der einem
weitwinkligen Abbildungssystem gleicht. Die Eigenschaft des Kameramodells erlaubt
Öffnungswinkel bis 360 Grad oder mehr. Perspektivische Verzerrungen, wie sie bei
weitwinkligen Abbildungssystemen basierend auf einer Kamera entstehen, werden
infolgedessen vermieden. Dieser Effekt wird jedoch nur in der horizontalen Ebene
angewendet. Die vertikale Ebene wird in jedem Bereich der Abbildung immer nur durch
eine Kamera dargestellt, weswegen dort leichte perspektivische Verzerrungen auftreten
können. Da das gängige Seitenverhältnis bei Abbildungen jedoch meist in die Richtung
des Breitbildformats tendiert, sind solche Verzerrungen in der vertikalen Ebene eher zu
vernachlässigen.
98
7.3 Auswertung der visuellen Resultate
Abbildung 7.3 – Angewandte PCV auf die Strukturszene bei einem Öffnungswinkel von 210 Grad
Abbildung 7.4 – Angewandte PCV auf die Semantikszene bei einem Öffnungswinkel von 160 Grad
Als visuelles Resultat dieses Kameramodells ergeben sich auf der Bildebene die für
Panoramen typischen Krümmungen (siehe Abbildung 7.3). Ursache dafür ist eine durch
das Kameramodell gekrümmte Bildebene, die wiederum eine Beugung des Raumes
bewirkt. Wie bereits im vorangehenden Abschnitt beschrieben, tritt dieser Effekt nur in
der horizontalen Ebene auf und beeinflusst demnach die Dimension der Breite und der
Tiefe. Die vertikalen Raumlinien der Höhe sind die einzigen, die nicht beeinflusst werden
und weiterhin geradlinig verlaufen. Sie bilden in der Abbildung deswegen die einzigen
wirklichen Bezugspunkte, weil sie unverändert sind.
Mit dem Abbildungssystem des PCV-Modells lässt sich dank uneingeschränkter
Öffnungswinkel zwar ein guter Überblick über den Raum gewinnen, doch verliert man
gleichzeitig an Orientierungs- und Vergleichsmöglichkeiten. Es lässt sich in der Struktur-
99
7 Ergebnisse
szene aus Abbildung 7.3 zum Beispiel nur anhand des Bodenmusters feststellen, dass die
Säulen alle auf einer Linie platziert sind. In der Semantikszene aus Abbildung 7.4
wiederum fehlen helfende Muster und die Fahrzeuge werden nicht als linear angeordnete
Objekte wahrgenommen. Der Größenunterschied zwischen den normalerweise gleich
großen Objekten unterstützt in beiden Szenen die realistische Tiefenwahrnehmung,
verschlechtert aber deren Vergleichbarkeit.
Weiterhin kann festgestellt werden, dass die typische Raumbeugung in verschiedenen
Bereichen der Abbildungen unterschiedlich stark wahrnehmbar ist, obwohl sie eigentlich
kontinuierlich stark auftritt. Dieser Fakt lässt sich besonders bei der Strukturszene sehr gut
beobachten. Die horizontalen Linien sind in der Mitte der Abbildung sehr stark gekrümmt.
Der Effekt verstärkt sich weiterhin, je näher die Linie zur Kamera positioniert ist. Dieselben
Linien in den Randbereichen der Abbildung weisen hingegen kaum nennenswerte
Krümmungen auf. Dafür sind am Rand die Perspektivenlinien (Linien in die Tiefe) stark
gekrümmt. Um diesen Effekt zu verstehen, muss man berücksichtigen, dass die Bildebene
nicht eben zur zentralen Blickrichtung ausgerichtet, sondern im Raum gekrümmt ist.
Zusammen mit der Krümmung ergibt sich für jeden Bereich der Bildebene ein eigenes
Projektionszentrum im Raum, in welches die Linien fluchten. Jeder Bereich der Bildebene
besitzt folglich eine eigene Sagittal- und Frontalebene (siehe Abschnitt 2.1.2).
Die Stärke der Linienkrümmung in der Abbildung hängt davon ab, wie ihre Lage bezüglich
der Sagittalebene in dem betreffenden Bereich der Bildebene ist. Besitzt die Linie eine
frontale Ausrichtung, so weist sie eine starke Krümmung auf. Je mehr sich die Linie einer
sagittalen Ausrichtung annähert, umso weniger ist die Krümmung wahrnehmbar.
Außerdem verstärkt sich der Effekt der Krümmung bei frontaler Ausrichtung, umso näher
die Linie zur Kamera positioniert ist.
Überträgt man das Wissen um diesen Effekt in die Semantikszene aus Abbildung 7.4, so
lässt sich die auftretende Raumbeugung dort ebenfalls besser deuten. Es ist festzustellen,
dass das Fahrzeug in der Mitte eine leichte, aber wahrnehmbare Krümmung aufweist, was
wiederum mit der frontalen Ausrichtung zur Sagittalebene in diesem Bereich der
Bildebene zu erklären ist. Das linke und rechte Fahrzeug hingegen weisen keine wahrnehmbare Krümmung auf, weil sie eine verstärkt sagittale Ausrichtung besitzen.
Zusammenfassend lässt sich feststellen, dass Abbildungen mit dem PCV-Kameramodell
eine Reihe charakteristischer Eigenschaften aufweisen, die zum Teil auch Nachteile für die
visuelle Darstellung in sich bergen. Der Verlust an Vergleichbarkeit von Objekten sowie
eine verschlechterte Orientierung durch die starke Krümmung des Raumes wird jedoch
durch einen erheblich verbesserten Überblick aufgewogen. Weiterhin kann man feststellen, dass die erzielten Effekte allesamt skalierbar sind und vom gewählten Öffnungswinkel abhängen. Demnach verringern sich die beschriebenen Nachteile bei kleineren
Öffnungswinkeln, führen jedoch auch zu einer Verringerung der Überblickswirkung. Je
nach gewähltem Öffnungswinkel eignet sich das Modell folglich für verschiedene
Szenarien. Unter Verwendung großer Öffnungswinkel lassen sich Panoramaabbildungen
von Informationsräumen erstellen. Kleine Öffnungswinkel hingegen sind prädestiniert zur
Beseitigung perspektivischer Verzerrungen bei weitwinkligen Aufnahmen.
100
7.3 Auswertung der visuellen Resultate
SLV
Die Straight-Lined-View (SLV) stellt ein Kameramodell auf Basis einer geradlinigen
Grundform dar. Alle Perspektiven sind parallel angeordnet und verfügen über eine
identische Blickrichtung. Diese Form der Anordnung bewirkt einen perspektivischen Effekt,
der der Parallelprojektion (siehe Abschnitt 2.2.1) ähnelt. Jedoch gilt ebenso wie bei der
PCV auch bei diesem Kameramodell die Einschränkung, dass die spezielle Charakteristik
nur in der horizontalen Ebene auftritt. Der Grund dafür ist die zweidimensionale Struktur
des Modells, die alle Kameras nur auf einer transversalen Ebene definiert. Demnach
resultiert aus dem SLV-Modell eine spezielle Multiperspektive, die in der horizontalen
Ebene einer Parallelprojektion und in der vertikalen Ebene einer Zentralprojektion entspricht.
Die visuellen Eigenschaften des Modells lassen sich am besten anhand der Strukturszene in
Abbildung 7.5 erkennen. Diese Abbildung besteht nach der Definition in Abschnitt 5.5.3
aus drei Bereichen. Die SLV wird im mittleren Bereich angewendet, während der linke und
rechte Rand jeweils aus einer angehängten Zentralperspektive besteht. Durch den direkten
Vergleich der Zentralperspektive mit der SLV wird deutlich, dass der Effekt der SLV wirklich
nur in der horizontalen Ebene wirksam ist. Anhand des Schachbrettmusters kann man
feststellen, dass in der Mitte die Kästchen mit zunehmender räumlicher Tiefe zwar kürzer,
aber nicht schmaler werden. Die Breite der Kästchen ist im Bereich der SLV überall gleich,
was für die Eigenschaft der horizontalen Parallelprojektion spricht. Verglichen dazu kann
man in den Randbereichen einen zentralperspektivischen Raumeffekt in Breite und Tiefe
beobachten.
In Abbildung 7.6 lässt sich dieser Effekt ebenso anhand der Semantikszene feststellen. Die
Asphalt- und Grastextur erscheint ähnlich dem Schachbrettmuster im Vordergrund stark
gestaucht. An der Grastextur kann zudem der Übergang zum zentralperspektivischen
Randbereich erkannt werden, in welchem die Textur ihre normale räumliche Ausdehnung
besitzt. Das Gebäude im Hintergrund wirkt hingegen zum Vordergrund gestreckt, da es
durch die horizontale Parallelprojektion der SLV eine größere Ausdehnung auf der
Bildebene hat als bei einer Zentralprojektion. Dies kann besonders beim Übergang zum
zentralperspektivischen Randbereich beobachtet werden.
Im Unterschied zum PCV-Modell erlaubt das SLV-Modell die Vergleichbarkeit verschiedener Objekte. Dieser Effekt beschränkt sich jedoch auf frontal zur Bildebene ausgerichtete Gegenstände, wie zum Beispiel die Säulen der Strukturszene oder die Fahrzeuge der Semantikszene. Diese Besonderheit ist wiederum das Ergebnis der horizontalen
Parallel- und vertikalen Zentralprojektion. Ein nachteiliger und bekannter Nebeneffekt
einer Parallelprojektion ist jedoch der Verlust der Tiefenwahrnehmung, die folglich im Fall
der SLV nur in der horizontalen Ebene auftritt.
Eine weitere Charakteristik besteht in der Abstimmung der Kamerasichtkörper. Durch die
parallele Anordnung und identische Ausrichtung der Kameras ist eine Überschneidung der
Sichtkörper nicht zu vermeiden. Folglich muss eine Ebene definiert werden, in welcher
diese Überschneidung stattfindet. Da die Sichtkörper beim SLV-Modell eine identische
Form haben, ist diese Ebene immer parallel zur Bildebene positioniert. Im Bereich dieser
101
7 Ergebnisse
Überschneidungsebene passen die Sichtkörper perfekt aneinander. Davor und dahinter
gibt es entweder Lücken oder Überschneidungen (siehe Abbildung 5.9), was zu einem
Qualitätsverlust in der Abbildung führt. Dies kann in Abbildung 7.6 zum Beispiel an der
unscharfen Darstellung des Gebäudes im Hintergrund erkannt werden.
Infolgedessen lässt sich die Eignung des SLV-Modells vor allem auf flächige Szenarien
lenken, die keine große räumliche Tiefe aufweisen und in denen sich die wichtigen und
interessanten Objekte auf einer, zur Bildebene parallelen, Linie befinden. Bezogen auf das
Szenario der Semantikszene in Abbildung 7.6 sind die Fahrzeuge diese frontal ausgerichteten Objekte.
Abbildung 7.5 – Angewandte SLV auf die Strukturszene mit sagittaler Ausrichtung der Kameras und
zusätzlichen zentralperspektivischen Randansichten
Abbildung 7.6 – Angewandte SLV auf die Semantikszene mit sagittaler Ausrichtung der Kameras und
zusätzlichen zentralperspektivischen Randansichten
102
7.3 Auswertung der visuellen Resultate
Ein letzter Parameter stellt die einheitliche Ausrichtung der Kameras dar. Bei sagittaler
Ausrichtung zeigt die Abbildung die bereits vorher beschriebene Eigenschaft der
horizontalen Parallelprojektion. Wird die Ausrichtung jedoch verändert, so wird der
Bereich der Parallelprojektion in die Drehrichtung gekrümmt. Die Effekte, die sich mit
unterschiedlichen Ausrichtungen der Kameras erzielen lassen, sind vergleichbar mit dem
Pushbroom-Verfahren (siehe Abschnitt 4.4 oder [SEITZ & KIM 2003]).
CCV
Die Centric-Circular-View (CCV) basiert, ebenso wie die PCV, auf der Grundform eines
Kreises. Jedoch ergibt sich durch die umgekehrte Ausrichtung der Kameras zum
Kreiszentrum hin ein vollkommen gegensätzlicher visueller Effekt. Die PCV ermöglicht die
Visualisierung eines Informationsraumes aus dessen Zentrum in verschiedene Blickrichtungen. Im Unterschied dazu bildet die CCV einen Informationsraum von außen in
mehreren Perspektiven ab, wodurch verschiedene Seiten parallel dargestellt werden
können.
Abbildung 7.7 verdeutlicht die Anwendung der CCV auf die Strukturszene. Ebenso wie
bei der SLV ist auch in diesem Beispiel die Darstellung in einen zentralen und zwei
Randbereiche geteilt. Im zentralen Bereich wird die CCV angewendet, die Randbereiche
bestehen aus normalen Zentralperspektiven.
Zunächst ist die Auffaltung des Informationsraumes bemerkbar, denn es werden
verschiedene Seiten der Szene dargestellt. Infolge des kontinuierlichen Überganges
zwischen den benachbarten Perspektiven entsteht eine Krümmung. Die Form der
Krümmung ist jedoch über die gesamte Tiefe der Szene hinweg nicht einheitlich. Im
vorderen Bereich ist eine kreisrunde Krümmung bemerkbar, die, verglichen zur PCV,
gegensätzlich geformt ist. Dies ist für die SLV mit der gegensätzlichen Ausrichtung der
Kameras auf der Kreisform zu erklären. Die kreisförmige Krümmung wandelt sich mit
zunehmender Tiefe bis zu einem definierten Schwellenwert in eine flächige Krümmung
um. Nach Überschreitung dieses Schwellenwertes verstärkt sich mit größerer Entfernung
wieder die kreisförmige Krümmung, diesmal jedoch entsprechend der PCV mit einer
umgekehrten Orientierung des Kreises. Es findet folglich eine vollständige Umkehrung der
Krümmungsform statt, die im mittleren Bereich von Abbildung 7.7 zum Beispiel an dem
Schachbrettmuster oder an den blauen Raumlinien beobachtet werden kann.
Die Erklärung dieses Effektes basiert auf den Projektionsstrahlen der kreisrund
angeordneten Kameras. Anhand der Struktur des SLV-Modells sind alle Kameras auf das
Kreiszentrum hin ausgerichtet. Folglich findet auf dem Projektionsweg zum Kreiszentrum
eine immer stärker werdende Verdichtung der Strahlen statt, bis diese sich im Kreiszentrum schneiden. Danach gehen die Strahlen wieder auseinander. Der Projektionsweg
jedes Strahls ist folglich durch drei Etappen charakterisiert. Durch die Verdichtung der
Strahlen in der ersten Etappe entsteht die SLV-typische kreisförmige Krümmung des
Informationsraumes. Der Schnittpunkt der Strahlen stellt die zweite Etappe dar und ist in
Abbildung 7.7 durch die dicke, zentrale, rote Line markiert. Nach Überschreiten dieses
Schnittpunktes gehen die Strahlen in der dritten Etappe wieder auseinander, wodurch
103
7 Ergebnisse
eine, zur ersten Etappe gegenläufige, kreisförmige Krümmung entsteht. Der Strahlenverlauf der dritten Etappe entspricht, wie bereits weiter oben beschrieben, dem des
Modells der PCV, weswegen sich auch eine Ähnlichkeit der Krümmungsform erkennen
lässt.
Abbildung 7.7 – Angewandte CCV auf die Strukturszene bei einem Öffnungswinkel von 90 Grad und
zusätzlichen zentralperspektivischen Randansichten
Die beschriebene dreistufige Krümmungscharakteristik verursacht einen Abbildungseffekt,
der nicht leicht zu interpretieren ist. Vielmehr ist vor allem im Bereich des Strahlenschnittpunktes eine starke Fluktuation der Raumlinien erkennbar, die die Brauchbarkeit einer
Abbildung erheblich reduzieren. Demnach sollte der Effekt in seine Etappen zerlegt
werden, um eine sinnvolle Nutzung zu gewährleisten. Weil die Charakteristik der dritten
Etappe bereits im PCV-Kameramodell enthalten ist, bleibt für die CCV die Verwendung
der ersten Etappe.
Deshalb gilt es also Anwendungsfälle zu wählen, bei denen eine Projektion der Strahlen
über ihren Schnittpunkt hinaus nicht möglich beziehungsweise nicht sichtbar ist. Der
Schnittpunkt der Strahlen müsste sich demnach in einem Objekt befinden, über dessen
Grenzen hinweg sich keine weiteren sichtbaren Gegenstände in einer Szene befinden. Die
Eignung lässt sich daher vor allem auf einzelne Objekte oder kleine Objektgruppen
festsetzen. Komplexe Szenen, wie etwa die Semantikszene, sind aber ungeeignet. Als
realer Anwendungsfall wurde daher in Abbildung 7.8 nur ein Ausschnitt der
Semantikszene gewählt, der als zentralen Bestandteil ein einzelnes Fahrzeug enthält. Man
kann die Krümmung beziehungsweise Auffaltung der Objektstruktur um 45 Winkelgrad
im mittleren Bereich der Abbildung erkennen. Am linken und rechten Rand wurde
wiederum eine Zentralperspektive angehängt. Mithilfe der CCV lassen sich viele
Abbildungen mit einer ähnlichen Charakteristik wie in Abbildung 7.8 erzeugen. Der
gewählte Öffnungswinkel des Systems, der gleichzeitig die Stärke der Auffaltung des
Objekts charakterisiert, ist zudem beliebig groß wählbar (auch über 360 Winkelgrad
hinaus).
104
7.3 Auswertung der visuellen Resultate
Abbildung 7.8 – Angewandte CCV auf einen Ausschnitt der Semantikszene bei einem Öffnungswinkel von
45 Grad und zusätzlichen zentralperspektivischen Randansichten
7.3.2 Vergleich mit einem Referenzansatz
Die mithilfe des Plug-Ins und der integrierten Kameramodelle erzielten Ergebnisse sind
sehr unterschiedlich, lassen sich jedoch, wie in Abschnitt 7.3.1 gezeigt, auch auf
gemeinsame Szenarien gut anwenden. In diesem Abschnitt soll gezeigt werden, wie sich
die Ergebnisse im Vergleich zu anderen Ansätzen der Multiperspektive einordnen lassen.
Als Referenzansatz dient das in Abschnitt 4.2 erläuterte Verfahren der Erweiterten
Perspektivischen Korrektur (EPK), das am Lehrstuhl für Mediengestaltung an der
TU Dresden entwickelt wurde. Weil die Charakteristik des PCV-Modells am besten zum
Anwendungsgebiet der EPK passt, wird dieses als repräsentativer Vergleichspartner
dienen. Für beide Ansätze existiert ein Plug-In für die Arbeitsumgebung BiLL, die
zusammen mit der Strukturszene (siehe Abbildung 7.2) die Vergleichsbasis bilden. Im
Folgenden werden die speziellen Eigenschaften sowie Vor- und Nachteile beider Verfahren
bewertet und anschließend grafisch gegenübergestellt.
EPK
Die EPK ist ein multiperspektivisches Verfahren, das auf der Transformation der Objektgeometrie basiert. Die Darstellung der Szene erfolgt mit einer einzelnen Kamera, die
maximal bis zu 180 Winkelgrad abbilden kann. Bei großen Öffnungswinkeln treten am
Rand der Abbildung starke perspektivische Verzerrungen auf. Diese Verzerrungen werden
mithilfe der EPK durch Scherung und Rotation für ausgewählte Objekte aufgehoben.
Folglich handelt es sich bei der EPK um ein selektives Verfahren, das nicht alle Objekte in
einer Szene behandeln muss. Die selektive Verarbeitung einzelner Objekte bewirkt, dass
diese aus dem Gesamtkontext einer Szene herausgelöst werden. Die Darstellung der
Szene ist daher nicht kontinuierlich und kann Brüche durch starke Perspektivenübergänge
enthalten. Zum Beispiel kann dieser Effekt in Abbildung 7.10 (a) anhand der Säulen
beobachtet werden. Bei einem Öffnungswinkel von 120 Grad verzerrt sich die
schachbrettartige Bodenstruktur an den Rändern merklich. Die Säulen sind die einzigen
korrigierten Objekte und passen folglich nicht mehr in das vorgegebene Bodenmuster. Die
originale Lagebeziehung der Objekte zueinander geht infolgedessen verloren. Der
105
7 Ergebnisse
perspektivische Bruch in der Abbildung entsteht an der Schnittstelle zwischen Säule und
Boden. Dieser Effekt kann sich weiterhin verstärken, wenn Objekte sich berühren.
Infolgedessen kann es leicht zu Durchdringungen oder auch Abhebungen kommen.
Der Grund hierfür liegt in dem Berechnungsalgorithmus der EPK, der als zentralen
Bezugspunkt den Pivotpunkt eines Objekts verwendet. Alle Kanten eines Objekts werden
relativ zu diesem Pivotpunkt transformiert. Durch die Veränderung der Objektgeometrie
kann es deshalb, je nach Lage des Pivotpunktes, zu Überschneidungen mit benachbarten
Objekten kommen. Eine manuelle Verschiebung des Pivotpunktes beseitigt dieses
Problem, schränkt aber auch die Automatisierung ein. Sehr komplexe Objekte werden
außerdem uneinheitlich transformiert, weil die Kanten je nach Abstand zum Pivotpunkt
unterschiedlich verarbeitet werden.
Objekt 1
Objekt 2
e
α
α
d
β
x
Flächenwerte: x, y
Bildebenenabstände: d, e, f
Kameraöffnungswinkel: α, β
x
Bildebene EPK
f
y
Objekt 3
Kamera
Bildebene PCV
Abbildung 7.9 – Vergleich des Abbildungsprozesses von EPK (orange) und PCV (grün) am Beispiel einer
Szene, mit drei im Raum verteilten Objekten: Objekt 2 wird einmal in seiner natürlichen
Form (grün) und in seiner durch die EPK transformierten Form (schwarz) dargestellt.
106
7.3 Auswertung der visuellen Resultate
Neben der selektiven Verarbeitung von Objekten ist die Charakteristik der Bildebene ein
wichtiges Merkmal der EPK. Wie bereits erwähnt, basiert das Verfahren auf der Nutzung
einer einzelnen Kamera. Folglich geschieht die Abbildung aller Objekte auf eine einzelne,
flache Bildebene. Der Ansatz der EPK kann daher mit dem Prinzip eines Malers verglichen
werden, der ein Bild auf einer flachen Leinwand erstellt. Beide Szenarien verbindet die
zweidimensionale Bezugsform, die Einfluss auf die Darstellung einzelner Objekte nimmt.
Für die EPK bedeutet dies, dass alle Objekte, die parallel zur Bildebene positioniert sind,
gleich groß abgebildet werden. Es spielt dabei keine Rolle, wie weit ein Objekt wirklich
von der Kamera entfernt ist. In Abbildung 7.9 kann man sehen, dass Objekt 2 (Abstand e)
eigentlich weiter von der Kamera entfernt ist als Objekt 1 (Abstand d). Der Flächenwert (x)
der Abbildung ist jedoch identisch. Die Abbildungsgröße (bzw. der Flächenwert) eines
Objekts im dreidimensionalen Raum ist definiert durch dessen Abstand zur Bildebene
(d,e,f) und dem minimal benötigten Kameraöffnungswinkel (α,β) für dessen Abbildung.
Bei der EPK jedoch wird aufgrund der zweidimensionalen Bildebene das korrekte
Abstandsverhältnis (d zu e+f) verändert (d zu e). Zudem variiert wegen der Geometrietransformation der benötigte Kameraöffnungswinkel (α zu β). Als Resultat ist der Flächenwert beider Abbildungen identisch und beide Objekte werden gleich groß dargestellt.
Dieser Effekt kann in Abbildung 7.10 (a) beobachtet werden.
Zusammenfassend kann man feststellen, dass die EPK das Größenverhältnis von parallel
zur Bildebene angeordneten Objekten erhält, die absolute Größe bezüglich der Raumposition aber verändert. Es ergibt sich demnach eine gute Vergleichbarkeit für frontal
angeordnete Objekte.
Ein weiterer Aspekt die Bildebene betreffend ist die Beschränkung des Abbildungsbereiches. Wie bereits erwähnt, stellt bei der EPK die Bildebene eine Fläche in der Szenenstruktur dar. Demzufolge können – bezogen auf Abbildung 7.9 – nur Objekte darauf
dargestellt werden, die sich vor der Bildebene befinden (Objekt 1 und 2). Gegenstände
hinter der Bildebene (Objekt 3) werden nicht berücksichtigt. Mit dieser Eigenschaft lässt
sich auch der auf maximal 180 Grad beschränkte Kameraöffnungswinkel erklären.
PCV
Das Verfahren der PCV basiert, im Unterschied zur EPK, auf einer Vielzahl von Kameras,
die kreisförmig angeordnet sind. Jede Kamera besitzt ihre eigene Definition der Bildebene,
die später zu einer gemeinsamen Bildebene zusammengesetzt werden. Aus diesem Grund
ist die Bildebene nicht flach, sondern der kreisförmigen Grundstruktur folgend gebogen.
Die bei der EPK beschriebene Leinwand-Metapher kann deshalb in diesem Fall nicht
angewendet werden. Infolge der Krümmung wird das korrekte Abstandsverhältnis der
abzubildenden Objekte zur Bildebene nicht verändert und bleibt nach Abbildung 7.9 bei d
zu e+f. Der Abstand f gibt demnach den visuellen Unterschied zwischen EPK und PCV an
und führt dazu, dass Objekte einen umso kleineren Flächenwert (y) besitzen, je weiter sie
von der Kamera entfernt sind. Der Kameraöffnungswinkel ist im Fall der PCV für jede
Perspektive konstant (α) und hat deshalb keinen Einfluss. Die Summe dieser Parameter
bewirkt, dass für jedes Objekt die korrekte Größe bezüglich seiner Raumposition
107
7 Ergebnisse
dargestellt wird (siehe Abbildung 7.10 (b)). Im Umkehrschluss erschwert dies aber die
Vergleichbarkeit von Objekten, worin ein Vorteil der EPK besteht.
Die Krümmung der Bildebene bietet jedoch im Vergleich zur EPK einen entscheidenden
Vorteil. Mithilfe der PCV ist es möglich, beliebige Ansichten in den Raum zu erstellen.
Einschränkungen bezüglich des Kameraöffnungswinkels gibt es nicht, denn jede
zusätzliche Kamera auf der Kreisstruktur erweitert den Öffnungswinkel des gesamten Abbildungssystems. Infolgedessen sind Öffnungswinkel auch über 360 Grad ohne Probleme
realisierbar. Für Abbildung 7.9 bedeutet dies, dass das Objekt 3 anhand der PCV
abgebildet werden kann, denn es befindet sich vor der Bildebene. Mithilfe der EPK wäre
es nicht möglich.
a)
b)
Abbildung 7.10 – Vergleich von EPK (a) und PCV (b) anhand der Strukturszene mit einem Kameraöffnungswinkel von 120 Grad
108
7.3 Auswertung der visuellen Resultate
Abschließend muss ein Fakt betrachtet werden, in dem sich die PCV deutlich von der EPK
unterscheidet. Während bei der EPK die Transformation auf ausgewählte Objekte
angewendet wird, stellt die PCV eine allgemeine Abbildung dar. Durch die Grundstruktur
des Kreises sowie den einheitlichen Kameraöffnungswinkel für jede Perspektive ist eine
Hervorhebung oder Betonung einzelner Objekte wie bei der EPK nicht möglich. Vielmehr
gibt es einen kontinuierlichen Übergang zwischen den Perspektiven. Jedes Objekt der
Szene wird von dem Abbildungssystem gleichermaßen abgebildet. Demzufolge können
die EPK-typischen Perspektivenbrüche nicht auftreten. Abbildung 7.10 (b) zeigt, dass trotz
der Beugung des Raumes alle Säulen genau in das Muster der Bodenform passen.
Schlussfolgerung
Die EPK und die PCV sind zwei Ansätze mit unterschiedlichen Charakteristiken und
entsprechenden Vor- und Nachteilen. In Abbildung 7.10 kann man sehen, dass die
perspektivisch korrekte Darstellung der Objekte bei beiden Methoden nahezu gleich ist.
Der Unterschied beider Ansätze bezieht sich vor allem auf die Abbildung des Raumes
sowie die Darstellung von Objektbeziehungen (zum Beispiel bei der Lagedefinition oder
den Größenverhältnissen).
Aktuelle Implementierungen der EPK zeigen jedoch noch Schwächen. Demnach erlaubt
das Plug-In für die Arbeitsumgebung BiLL nur die Anwendung auf Einzelobjekte, die aus
einem Polygonnetz bestehen. Komplexe Objekte werden nicht unterstützt. Weiterhin ist
der Ansatz in seiner Funktionsweise limitiert, denn bei sehr großen Kameraöffnungswinkeln können Objekte zum Teil nicht mehr sinnvoll transformiert werden. Bis zu einem
Öffnungswinkel von 150 Grad kann man jedoch gute visuelle Ergebnisse erzielen.
Die Vorteile der EPK liegen in einer geringen Leistungsanforderung und der
Vergleichbarkeit von Objekten. Nachteilig sind der selektive Charakter und die geringe
Größe des Abbildungswinkels.
Für die EPK können demnach Szenarien mit einfacher dreidimensionaler Struktur und
geringer räumlicher Verteilung empfohlen werden.
Die PCV hingegen besitzt keine Einschränkungen beim Öffnungswinkel. Obwohl die
Proportionen, Position und Ausrichtung der einzelnen Objekte exakt wiedergegeben
werden, fällt die Orientierung schwerer, da der Gesamtkontext des Informationsraumes,
dem sich jedes Objekt unterordnet, sehr stark verzerrt wird. Der Darstellung fehlt daher
bei großen Öffnungswinkeln über 120 Grad die Übersichtlichkeit.
Dennoch sind komplexe Szenarien, mit großer räumlicher Verteilung der Objekte, eine
Stärke der PCV. Zudem kann sie, wie bereits in Abschnitt 7.3 erläutert, zur perspektivischen Korrektur verwendet werden. Hier empfehlen sich jedoch kleine Öffnungswinkel
bis zu 90 Grad.
*
Um den Einstieg in die Benutzung der Plug-In-Funktionalitäten zu vereinfachen, bietet
Anhang A eine umfassende Übersicht zu allen wichtigen Komponenten. Neben der
Definition von Kameramodellen und Animationen werden dort auch die Tastaturbefehle
erläutert.
109
8 Zusammenfassung
8.1 Inhalt
Die Behandlung des Themas Multiperspektive stellt einen zentralen Teil dieser Arbeit dar.
Beginnend mit einer grundlegenden Definition eng verwandter Begriffe wird das
Fundament für eine wissenschaftliche Auseinandersetzung mit der Materie gelegt. Der
Begriff der Multiperspektive wird zudem anhand einer Klassifikation detailliert analysiert.
Dieses Basiswissen dient anschließend der Strukturierung einer zielgerichteten Recherche
im aktuellen Forschungsgebiet. Es stellt sich heraus, dass multiperspektivische Methoden
im Anwendungsgebiet der Computergrafik grundlegend in drei Klassen unterteilt werden
können. Im Rahmen der Synthese wird überprüft, inwiefern Methoden dieser Klassen mit
den speziellen Anforderungen und Rahmenbedingungen in dieser Arbeit vereinbar sind.
Nach einer begründeten Auswahl eines bestimmten Verfahrens wird, aufbauend auf
dessen Charakteristik, ein Konzept zur Realisierung multiperspektivischer Abbildungen
ausführlich beschrieben. Im Anschluss erfolgen die Erläuterung der technischen
Realisierung des Konzepts sowie die Rechtfertigung von Detaillösungen für bestimmte
Implementierungsprobleme. Den Abschluss bilden eine umfangreiche Auswertung der
erzielten Ergebnisse und eine Einordnung dieser in das Forschungsgebiet anhand des
Vergleichs zu einem Referenzansatz.
Als praktisches Ergebnis dieser Arbeit konnte ein Plug-In für die Arbeitsumgebung BiLL
erstellt werden, welches die Darstellung multiperspektivischer Abbildungen unter den
gegebenen Rahmenbedingungen und Anforderungen ermöglicht. Darüber hinaus werden
Komponenten entwickelt und beschrieben, die die Definition und Ausführung von
Animationen in dreidimensionalen Szenen realisieren. Diese Animationen haben die
Aufgabe, multiperspektivische Abbildungen und Effekte im Rahmen der Anwendung zu
dynamisieren.
8.2 Fazit
Als Resultat der Klassifikation und der Recherche ergeben sich drei Klassen, in die
multiperspektivische Methoden eingeordnet werden. Dies sind die Klassen für Geometrietransformationen, Abbildungstransformationen und Bildebenentransformationen.
Darüber hinaus werden Anforderungen und Rahmenbedingungen für die gegebene
Problemstellung untersucht. Als Anforderungen gelten die Unterstützung von Echtzeitfähigkeit, Animationsfähigkeit und Interaktivität. Die Rahmenbedingungen werden durch
die bestehende Arbeitsumgebung BiLL vorgegeben und bestehen in einer Realisierung
mittels Rasterization basierter Verfahren (OpenGL und OpenSceneGraph).
Im Rahmen dieser Arbeit wird geklärt, inwiefern sich Methoden der multiperspektivischen
Klassen in Abhängigkeit dieser Anforderungen und Rahmenbedingungen umsetzen
lassen.
111
8 Zusammenfassung
Für Methoden auf Basis von Geometrie- und Abbildungstransformationen kann zum
aktuellen Zeitpunkt nur eine eingeschränkte Eignung festgestellt werden. Dies hängt zum
einen vom hohen Ressourcenbedarf spezieller Verarbeitungstechniken, wie zum Beispiel
dem Raytracing-Verfahren, ab. Zum anderen besitzen diese Verfahren Einschränkungen,
die die Erzeugung vielfältiger multiperspektivischer Abbildungen nicht erlauben. Dazu
zählen zum Beispiel globale Transformationsvorschriften für Objektstrukturen, die zwar
schnell verarbeitet werden können, aber nur begrenzte Möglichkeiten für die
Multiperspektive bieten.
Die Realisierung vielfältiger, multiperspektivischer Abbildungen in Echtzeit ist gegenwärtig
nur anhand von Transformationen auf der Bildebene möglich. Dementsprechend basiert
das Konzept auf der Charakteristik einer Streifenkamera. Diese ermöglicht eine zusätzliche
Vereinfachung der Struktur des Abbildungssystems, indem die Aufteilung der Bildebene
auf vertikale Streifen beschränkt wird. Es kann dadurch ein weitere Verbesserung der
Leistungsfähigkeit erzielt werden, die das primäre Ziel der Echtzeitfähigkeit unterstützt.
Anhand der Tests in Abschnitt 7.2 wird bewiesen, dass das erarbeitete Konzept
multiperspektivische Abbildungen auf Endsystemen mit verschiedenen Leistungen
ermöglicht. Für Systeme neuerer Generationen kann darüber hinaus eine sehr gute
Eignung festgestellt werden. Dies spiegelt sich in der Verarbeitungsfähigkeit für komplexe
Szenen wieder.
Der Anspruch der Realisierung vielfältiger, multiperspektivischer Effekte wird durch die
verschiedenen Kameramodelle bedient, die jeweils eine sehr spezielle Charakteristik
aufweisen und sich für verschiedene Szenarien eignen.
8.3 Ausblick
Die Thematik der Multiperspektive stellt ein sehr umfangreiches Forschungs- und
Anwendungsgebiet dar. Es gibt unzählige Richtungen, die einer tiefergehenden
Untersuchung bedürfen. Viele dieser Ansätze passen aber nicht in den thematischen und
zeitlichen Rahmen dieser Arbeit und werden deshalb anschließend für weiterführende
Forschungsarbeiten vorgestellt.
Konkret betrifft dies zum Beispiel die Erweiterung bestehender Kameramodelle oder die
gezielte Anpassung der Hardware, um die Leistungsfähigkeit und Echtzeitfähigkeit weiter
zu verbessern.
Dreidimensionale Multiperspektive
Die in dieser Arbeit vorgestellten Kameramodelle gleichen sich in dem Merkmal, dass sie
multiperspektivische Effekte nur auf zwei Raumdimensionen ermöglichen. Demnach
beschränken sich die Effekte auf die Breite und die Tiefe der Abbildung. Geschuldet ist
dieser Fakt dem konzeptionellen Ansatz der Streifenkamera, welcher die vertikale
Dimension der Raumhöhe durch die Aufteilung der Bildebene als feste Bezugsgröße
definiert. Infolgedessen besitzen auch die Kameramodelle allesamt eine zweidimensionale
Grundstruktur, zum Beispiel den Kreis oder die Gerade.
112
8.3 Ausblick
Dieser Ansatz kann jedoch erweitert werden, indem den Kameramodellen eine weitere
Dimension hinzugefügt wird. Demnach kann man sich die Kugel als Erweiterung des
Kreises vorstellen oder die Fläche für die Gerade. Folglich können die Kameras zusätzlich
in der dritten Dimension verteilt werden, wodurch der Effekt einer dreidimensionalen
Multiperspektive entsteht. Das Gemälde „Balcony“ von M.C. Escher in Abbildung 8.1
zeigt, wie ein solcher Effekt aussehen kann. Die Charakteristik des gezeigten Beispiels ist
auch mit der Fischaugenperspektive vergleichbar und kann als Ansatz für die Entwicklung
einer dreidimensionalen Multiperspektive dienen.
Abbildung 8.1 – Dreidimensionale Multiperspektive: Das Gemälde „Balcony“ von M.C. Escher zeigt eine
dreidimensionale Beugung des Raumes (links) [MCESCHER.COM 2007]. Dreidimensionale
Multiperspektive verlangt nach einer alternativen Strukturierung von Kameramodell und
Bildebene (rechts).
Infolge der dreidimensionalen Struktur des Kameramodells muss auch ein neues Konzept
zur Aufteilung der Bildebene erarbeitet werden. Wie aus Abbildung 8.1 ersichtlich, reicht
eine Strukturierung in Streifen nicht aus. Als einfache Form ist zum Beispiel die Aufteilung
in quadratische Einheiten denkbar. Jedem Quadrat ist demnach eine eigene Kamera in der
dreidimensionalen Struktur des Kameramodells zugeordnet.
Mithilfe dieser Strukturen können noch komplexere multiperspektivische Effekte erzielt
werden, die zum Beispiel bei Detail-In-Context-Visualisierungen Verwendung finden.
[KEAHEY 1998] sowie [VALLANCE & CALDER 2001], die bereits in Abschnitt 4.2 beschrieben
wurden, haben in einem themenverwandten Gebiet hierfür Vorarbeit geleistet.
113
8 Zusammenfassung
Stereo-Multiperspektive
Zum gegenwärtigen Zeitpunkt wird das Feld der computergrafischen Datenvisualisierung
von monoskopischen Verfahren dominiert, wobei jede Perspektive durch eine einzelne
Kamera abgebildet wird. Infolgedessen entsteht nur ein eingeschränkter Eindruck von
dreidimensionalen Strukturen.
Im Unterschied dazu können stereoskopische Verfahren eine bessere Raumwirkung
vermitteln, indem sie sich an der menschlichen Wahrnehmung orientieren. Unter
Verwendung von zwei parallel angeordneten Kameras wird die natürliche Parallaxe des
Menschen simuliert. Jedoch ist der technische Aufwand ungleich höher, da vielfältige
Parameter zur Realisierung des räumlichen Eindrucks verarbeitet werden müssen und
zusätzlich spezielle Hardware zur Darstellung benötigt wird.
Für den Einsatz in multiperspektivischen Abbildungssystemen potenziert sich der
Aufwand, da bestimmte Abhängigkeiten der einzelnen Perspektiven untereinander einen
zusätzlichen Einfluss auf die Verarbeitung des stereoskopischen Effektes haben. Die
Probleme, die damit verbunden sind, wurden bereits von [GLUCKMAN ET AL. 1998], [PELEG &
BEN-EZRA 1999] sowie [PELEG ET AL. 2001] ausführlich analysiert und in Kapitel 4
beschrieben. Aufbauend auf ihren Forschungsergebnissen und den entwickelten
Lösungsansätzen kann eine Aufgabe zur Realisierung einer Stereo-Multiperspektive in der
Arbeitsumgebung BiLL oder auch zur allgemeinen Verwendung formuliert werden.
Soft- und hardwareseitig beschleunigte Multiperspektive
Ein Ergebnis dieser Arbeit besteht in der Feststellung, dass die Realisierung
multiperspektivischer Effekte in Echtzeit sehr rechenaufwendig ist und daher gegenwärtig
für manche Konzepte auf Desktop-Systemen nicht umsetzbar ist. Demnach kann durch
weiterführende Verbesserung von Echtzeit-Raytracing-Verfahren zum Beispiel die
Möglichkeit geschaffen werden, multiperspektivische Verfahren auf Basis von Transformationen an der Abbildungsvorschrift in Echtzeit zu ermöglichen. Zum jetzigen
Zeitpunkt lässt sich eine solche Eignung nur für sehr einfache Szenarien oder unter
Verwendung speziell modifizierter Hardware feststellen.
Weiterhin bedarf die unter dem Punkt dreidimensionale Multiperspektive vorgestellte
Erweiterung einer Vervielfachung der parallel eingesetzten Kameras. Die Ergebnisse dieser
Arbeit haben gezeigt, dass die Anzahl der parallelen Perspektiven einen erheblichen
Einfluss auf die erzielten Bildraten hat. Folglich können unter Verwendung herkömmlicher
Softwarebibliotheken wie OpenGL und standardisierter Hardware nicht unbegrenzt viele
Kameras eingesetzt werden. Ein Grund hierfür liegt in dem Aufbau der Rendering-Pipeline
und den hardwareseitig optimierten Verarbeitungsstrukturen für grafische Abbildungen.
Diese sind vor allem darauf ausgelegt, große Informationsmengen einer Perspektive zu
verarbeiten. Für den beschriebenen Fall der Multiperspektive fallen jedoch viele parallele
Perspektiven mit sehr kleinen Datenmengen an.
Ein möglicher weiterführender Forschungsansatz besteht also in der Konzeption einer
angepassten Hardware und einer entsprechenden Grafik-API für deren Steuerung. Diese
114
8.3 Ausblick
Aufgabe würde demnach dem Vorbild modifizierter Grafik-Hardware zur Realisierung von
Echtzeit-Raytracing entsprechen.
Interaktion mit kombinierten Perspektiven
Eine letzte Erweiterung betrifft das in Abschnitt 6.4 beschriebene Problem der Interaktion
mit kombinierten Perspektiven. Aufgrund des standardisierten Konzepts des InteraktionsHandlers, das in vielen Grafik-APIs umgesetzt ist, wird eine Steuerung verschiedener
paralleler Perspektiven erschwert, denn jede Perspektive besitzt eine Steuerungseinheit für
sich selbst. Die Interaktionsverarbeitung basiert auf den Eingaben über Maus oder Tastatur
und wird für jede Perspektive durch ihren Handler in Bewegungen der Kamera in der
Szene umgerechnet. Um eine Kopplung aller Perspektiven zu erreichen, müsste entweder
ein
globaler
Mechanismus
zur
Interaktionsverarbeitung
implementiert
oder
die
bestehenden Handler erweitert werden.
Für den Anwendungsfall der Arbeitsumgebung BiLL und der verwendeten Grafik-API
OpenSceneGraph bedeutet dies, dass eine Identifikation der gegenwärtig aktiven
Perspektive erfolgen muss. Die aktive Perspektive ist immer die, auf der der Mauszeiger
positioniert ist. Die über ein Eingabegerät gemachten Steuerungsbefehle gehen nur an
den Handler der aktiven Perspektive. Da die im Plug-In verwendeten Kameramodelle alle
auf homogenen Strukturen basieren, ist eine nachträgliche Synchronisation der übrigen
Perspektiven einfach zu realisieren. Folglich muss nur eine, auf der Struktur des Kameramodells basierende, Verschiebung sukzessive auf jede weitere Kamera aufgerechnet
werden.
Weil die aktuelle Version von OpenSceneGraph eine solche Identifikation der aktiven
Perspektive nicht ermöglicht, muss dies in Form einer eigenständigen Erweiterung realisiert
werden. In diesem Rahmen ist es zwingend erforderlich, die Kompatibilität zu zukünftigen
Versionen von OpenSceneGraph zu erhalten.
115
Anhang
Anleitungen zur Benutzung des Plug-Ins
A Anleitungen zur Benutzung des Plug-Ins
Dieser Abschnitt dient der Erläuterung der Plug-In-Funktionalitäten und soll deren Handhabung erleichtern. Zunächst werden die Benutzeroberfläche und die Tastaturbefehle des
Plug-Ins beschrieben. Im Anschluss wird jeweils ein Anwendungsszenario für jedes der
implementierten Kameramodelle (PCV, SLV, CCV) vorgestellt. Abschließend werden die
realisierten Animationsformen kurz erläutert.
Benutzeroberfläche
Die Benutzeroberfläche des Plug-Ins besteht aus zwei Teilen (siehe Abbildung A.1). Das
Multiperspective-Viewer-Settings-Panel gruppiert Funktionen zur Manipulation der multiperspektivischen Abbildung. Das Animation-Settings-Panel hingegen dient der Definition
und dem Abspielen von Animationen.
Abbildung A.1 – Das Multiperspective-Viewer-Settings-Panel (links) und das Animation-Settings-Panel (rechts)
stellen die Benutzeroberfläche des Plug-Ins dar.
In den folgenden Tabellen A.1, A.2 und A.3 werden die Funktionen der Oberfläche
erläutert.
119
Anleitungen zur Benutzung des Plug-Ins
Funktion
Erläuterung
Choose Panel
Auswahl der Teiloberfläche (Multiperspective-ViewerSettings oder Animation-Settings)
Run
Öffnet das Ausgabefester für das multiperspektivische
Abbildungssystem
Tabelle A.1 – Generelle Funktionen der Oberfläche
Funktion
Erläuterung
Window Width
Breite des Ausgabefensters (gleichzeitig die Breite der
Bildebene)
Window Height
Höhe des Ausgabefensters (gleichzeitig die Höhe der
Bildebene)
Fullscreen
Darstellung im Vollbildmodus
Camera Model
Auswahl des Kameramodells (PCV, SLV, CCV)
Zoom View
Skalierung der Abbildung (Vergrößern oder Verkleinern)
Incline View
Neigung der Kameras des Modells nach oben oder unten
View Distance
Abstände zwischen benachbarten Kameras (nur bei SLV)
View Altitude
Höhe der Kameras über dem Szenenboden (nur bei CCV)
Center Area
Zentralbereich zur Darstellung der Multiperspektive
Border Area
Randbereich (links und rechts) als Zentralperspektive
Perspectives
Anzahl der Perspektiven / Kameras für jeweiligen Bereich
Distortion
Kreisöffnungswinkel für Kameramodell in Winkelgrad (nur
bei PCV und CCV und ausschließlich für den Zentralbereich)
Width
Breite der Abbildung auf der Bildebene in Pixeln für
jeweiligen Bereich
Attitude
Anfängliche Ausrichtung des Kameramodells in Winkelgrad
Tabelle A.2 – Funktionen des Multiperspective-Viewer-Settings-Panel
120
Anleitungen zur Benutzung des Plug-Ins
Funktion
Erläuterung
Animation Mode
Auswahl der Animationsform
New Path
Neuen Animationspfad erstellen
Delete Path
Aktuellen Animationspfad löschen
Add Node
Neuen Wegpunkt zum aktuellen Animationspfad
hinzufügen
Delete Node
Selektierten Wegpunkt aus Animationspfad löschen
Play
Animation abspielen
Pause
Animation unterbrechen
Restart
Animation auf den Anfang zurücksetzen
Speed
Animationsgeschwindigkeit einstellen
Framerate
Anzeige der aktuellen Bildrate
Tabelle A.3 – Funktionen des Animation-Settings-Panel
Tastaturbefehle
Zu den Funktionen zum Animationsablauf gibt es zusätzlich noch Tastaturbefehle, die eine
schnelle Kontrolle über die Parameter der Animation ermöglichen (siehe Tabelle A.4).
Taste
Erläuterung
P
Unterbrechen und Fortsetzen der Animation (Pause / Play)
R
Zurücksetzen der Animation (Restart)
Page Up (Bild auf)
Animationsgeschwindigkeit beschleunigen (Speed +1)
Page Down (Bild ab)
Animationsgeschwindigkeit bremsen (Speed – 1)
Tabelle A.4 – Tastaturbefehle des Plug-Ins
121
Anleitungen zur Benutzung des Plug-Ins
PCV-Anleitung
In diesem Abschnitt wird erläutert, wie multiperspektivische Abbildungen anhand des
PCV-Kameramodells definiert und benutzt werden. Anschließend wird das Vorgehen
Schritt für Schritt anhand von Beispielwerten beschrieben:
•
Laden des Plug-Ins (PluginRMI.dll) im Plug-In-Manager (Menüpunkt Extras)
•
Laden der Beispielszene „Neumarkt.3ds“ mit Open (Menüpunkt File)
•
Vollbildmodus wählen (Fullscreen)
•
Selektieren des PCV-Kameramodells (Camera Model)
•
Einstellen der gewünschten Perspektivenanzahl (Perspectives) für den
Zentralbereich (günstig: 100 bis 200 Perspektiven.)
•
Kreisöffnungswinkel (Distortion) einstellen (zum Beispiel 270 Grad)
•
Animationsform wählen (siehe Abschnitt Animationsformen)
•
Abbildungsfenster mit Run öffnen
•
Während der dynamischen Abbildung kann der Kreisöffnungswinkel (Distortion),
die Perspektivenneigung (Incline View) und die anfängliche Ausrichtung des
Kameramodells (Attitude) verändert werden.
Die Werte für Perspektivenanzahl, Kreisöffnungswinkel und Größe des Ausgabefensters
können beliebig gewählt werden. Optional können auch zentralperspektivische Randbereiche an den Seiten hinzugefügt werden. Es sollten für das PCV-Modell bevorzugt Szenen
verwendet werden, die den festgestellten Eigenschaften in Abschnitt 7.3.1 entsprechen.
SLV-Anleitung
Im Folgenden wird ein Beispiel für die Anwendung des SLV-Modells beschrieben:
•
Laden des Plug-Ins (PluginRMI.dll) im Plug-In-Manager (Menüpunkt Extras)
•
Laden der Beispielszene „Neumarkt.3ds“ mit Open (Menüpunkt File)
•
Selektieren des SLV-Kameramodells (Camera Model)
•
Abbildungsbreite (Width) für Zentralbereich (Center Area) auf 500 Pixel stellen
•
Abbildungsbreite (Width) für Randbereiche (Border Area) auf je 200 Pixel stellen
•
Höhe des Ausgabefensters (Window Height) auf 800 Pixel stellen
•
Perspektivenanzahl (Perspectives) für Zentralbereich auf 250 Kameras stellen
•
Perspektivenabstand (View Distance) auf 0.50 stellen
•
Animationsform wählen (siehe Abschnitt Animationsformen)
•
Abbildungsfenster mit Run öffnen
•
Während der dynamischen Abbildung muss der Perspektivenabstand (View
Distance) beziehungsweise der Skalierungsfaktor (Zoom View) angepasst werden,
damit eine gute Abstimmung der benachbarten Kamerasichtkörper erzielt werden
kann. Mittels Attitude kann die Ausrichtung der Kameras manipuliert werden.
122
Anleitungen zur Benutzung des Plug-Ins
Die im Beispiel verwendeten Werte sind aufeinander abgestimmt und erzeugen je nach
Perspektive in die Szene ein gutes visuelles Ergebnis. Prinzipiell können aber alle Parameter
frei gewählt werden. Das Finden von gut zueinanderpassenden Werten für die Definition
des Kameramodells ist jedoch manchmal nicht ganz einfach, weswegen die dargestellten
Werte als Orientierung für eigene Experimente mit dem SLV-Modell dienen sollen. Wenn
der Vollbildmodus verwendet wird, müssen die einzelnen Werte entsprechend der Bildschirmauflösung angepasst werden.
Es sollten für das SLV-Modell bevorzugt Szenen verwendet werden, die den festgestellten
Eigenschaften in Abschnitt 7.3.1 entsprechen.
CCV-Anleitung
Im Folgenden wird ebenfalls anhand von Beispielwerten die Anwendung des CCV-Modells
beschrieben:
•
Laden des Plug-Ins (PluginRMI.dll) im Plug-In-Manager (Menüpunkt Extras)
•
Laden der Beispielszene „2005_Crossfire_Low.3ds“ mit Open (Menüpunkt File)
•
Selektieren des CCV-Kameramodells (Camera Model)
•
Abbildungsbreite (Width) für Zentralbereich (Center Area) auf 400 Pixel stellen
•
Abbildungsbreite (Width) für Randbereiche (Border Area) auf je 300 Pixel stellen
•
Höhe des Ausgabefensters (Window Height) auf 800 Pixel stellen
•
Perspektivenanzahl (Perspectives) für Zentralbereich (Center Area) auf 200
Kameras stellen
•
Kreisöffnungswinkel (Distortion) auf 100 Grad stellen
•
Perspektivenhöhe (View Altitude) auf 30 stellen
•
Skalierungsfaktor (Zoom View) auf -350 stellen (entspricht dem Radius der
kreisförmigen Grundstruktur)
•
Animationsform Circular Animation ist verbindlich für dieses Kameramodell (Es
kann keine andere Animationsform verwendet werden.)
•
Abbildungsfenster mit Run öffnen
•
Während der dynamischen Abbildung kann der Einfluss der Parameter Zoom View,
Incline View, View Altitude, Attitude und Distortion experimentell erforscht
werden.
Wie schon beim SLV-Modell sind auch hier die Beispielwerte genau aufeinander
abgestimmt, um ein gutes visuelles Ergebnis zu erzielen. Prinzipiell können aber auch für
diesen Fall die Werte beliebig gewählt werden. Bei Verwendung des Vollbildmodus
müssen die Werte an die veränderte Auflösung des Ausgabefensters angepasst werden.
Es sollten für das CCV-Modell bevorzugt Szenen verwendet werden, die den festgestellten
Eigenschaften in Abschnitt 7.3.1 entsprechen.
123
Anleitungen zur Benutzung des Plug-Ins
Animationsformen
Es sind im Plug-In vier verschiedene Animationsformen implementiert, die sich über das
Animation-Settings-Panel definieren und benutzen lassen.
•
Synchronized Navigation
•
Path Animation
•
Static Point
•
Circular Animation
Die Synchronized Navigation ist die voreingestellte Animationsform. Die anderen drei
Formen werden zur alternativen Animationsform zusammengefasst und sind nur unter
bestimmten Bedingungen verfügbar.
Die Synchronized Navigation stellt die freie Navigation im Raum dar. Sie wird über das
Hauptausgabefenster BiLL::Viewer gesteuert, indem sich der Nutzer per Maus durch die
Szene bewegt. Alle Bewegungen werden auf die Masterkamera des Abbildungssystems im
Ausgabefenster der Multiperspektive übertragen und demnach erfolgt eine indirekte
Bewegung
des
multiperspektivischen
Abbildungssystems.
Weil
die
Synchronized
Navigation keine Voreinstellungen durch den Nutzer benötigt, ist sie als StandardAnimationsform im Plug-In definiert.
Die Path Animation stellt eine pfadgebundene Animation dar. Im Animation-SettingsPanel können mehrere Pfade und Wegpunkte für Pfade definiert werden. Die Path
Animation kann nur für das PCV- und das SLV-Kameramodell verwendet werden.
Weiterhin müssen mindestens zwei Wegpunkte im aktuellen Pfad definiert sein, damit ein
Animationspfad berechnet werden kann.
Das Definieren der Wegpunkte erfolgt durch Ausrichten der Kamera im Hauptausgabefenster BiLL::Viewer auf eine bestimmte Perspektive und anschließendes Speichern als
Wegpunkt im Animation-Settings-Panel.
Die Variante Static Point ist durch eine einzelne Perspektive beschrieben und wird anhand
eines Animationspfades mit einem einzigen Wegpunkt definiert. Bei Static Point findet
daher keine Animation statt. Diese Variante ist ebenso nur für das PCV- und SLV-Modell
anwendbar.
Die Circular Animation beschreibt eine kreisförmige Animationsform, die ausschließlich für
das CCV-Kameramodell verwendbar ist. Die Charakteristik dieser Animationsform hebt die
Bereiche der Abbildung hervor, die vorteilhaft für eine Visualisierung mit dem CCV-Modell
sind.
124
Glossar
B Glossar
AUGLINIE
Die Auglinie bezeichnet den Hauptstrahl der Projektion entlang der optischen
Achse vom Augpunkt auf die Bildebene. Bei der Abbildung einer Zentralperspektive wird die Auglinie identisch mit der Sagittalebene auf der Bildebene
dargestellt.
AUGPUNKT
Der Augpunkt beschreibt den Ort des Betrachters beziehungsweise der Kamera. Er
ist demnach der Ausgangspunkt der Projektion und dient als Emissionsquelle für
die Projektionsstrahlen.
API
Ein Application Programming Interface (API) ist eine Programmierschnittstelle, die
es anderen Programmen ermöglicht, Funktionen einer Software zu nutzen. Der
Begriff beschreibt zum Beispiel häufig die Schnittstellen von Softwarebibliotheken.
BILD-IN-BILD-METHAPER
Die Bild-In-Bild-Metapher (PIP) beschreibt die Kombination zweier Perspektiven,
indem in einer Abbildung eine separate Abbildung eingefügt wird. Die eingefügte
Abbildung besitzt jedoch eine klare Trennung von der unterliegenden Perspektive,
was zum Beispiel durch einen Rahmen zusätzlich unterstrichen werden kann.
Deshalb spricht man bei PIP auch nicht von Multiperspektive. Beide Abbildungen
haben weiterhin einen unabhängigen Aug- und Fluchtpunkt.
BILDRATE
In der Computergrafik bezeichnet die Bildrate die Anzahl der Einzelbilder (Frames),
die pro Sekunde berechnet und auf der Bildebene beziehungsweise dem
Bildschirm dargestellt werden. Je höher die Bildrate, desto flüssiger ist die
dargestellte Bildsequenz.
CCV-KAMERAMODELL
Das Centric-Circular-View-Modell (CCV) beschreibt die kreisförmige Anordnung
mehrerer Kameras mit einer Ausrichtung zum Kreiszentrum.
CLIPPING
Das Clipping beschreibt einen Prozess in der Rendering-Pipeline, der Objekte, die
außerhalb des Sichtbereiches liegen, abschneidet. Dadurch wird die Menge der
darzustellenden Informationen schon vor dem eigentlichen Abbildungsprozess
reduziert und Verarbeitungsressourcen gespart. Das Clipping basiert auf den
Abbildungsgrenzen, die durch den Sichtkörper der Kamera vorgeben werden.
Demnach werden Informationen außerhalb des Sichtkörpers nicht verarbeitet (vgl.
[ORLAMÜNDER & MASCOLUS 2004] und [BUNDROCK ET AL. 2003]).
DETAIL-IN-CONTEXT
Die Grundidee des Detail-In-Context-Konzepts besteht in dem Hervorheben eines
Objekts oder einer Information, um diese mit vollen Details abzubilden. Währenddessen wird parallel eine Übersicht des umgebenden Informationsraumes – dem
Kontext – vermittelt.
125
Glossar
ECHTZEIT
Die Echtzeit beschreibt die Zeit, die ein Vorgang in der realen Welt benötigt.
Übertragen auf das Gebiet der Informatik und speziell der Computergrafik
bedeutet dies, dass ein durch den Computer berechneter und visualisierter
Vorgang einen bestimmten zeitlichen Rahmen beansprucht, der das menschliche
Zeitempfinden nicht stört.
Die Echtzeitfähigkeit beschreibt die Eigenschaft eines Verarbeitungssystems,
Prozesse in Echtzeit zu berechnen und darzustellen.
EPK
Die Erweiterte Perspektivische Korrektur (EPK) ist ein Verfahren zur Erzeugung
multiperspektivischer Abbildungen auf Basis von Geometrietransformationen. Es
wirkt dem Auftreten von perspektivischen Verzerrungen bei Abbildungen mit
großem Kameraöffnungswinkel entgegen (vgl. [ZAVESKY 2007]).
FLUCHTPUNKT
Eine perspektivische Abbildung ist charakterisiert durch einen Punkt, in den alle in
die Raumtiefe führenden Linien zulaufen. Dieser Punkt wird als Fluchtpunkt
bezeichnet. Ferner ist er identisch mit dem Punkt, auf den die Kamera oder der
Betrachter einer Abbildung blickt. Er stellt folglich das Zentrum der Projektion dar.
FRAME
Der Frame bezeichnet ein Einzelbild einer Bildsequenz, zum Beispiel während einer
Animation.
GUI
Die GUI (Graphical User Interface) bezeichnet die grafische Benutzerschnittstelle
beziehungsweise Oberfläche und dient der Interaktion zwischen Anwender und
Anwendung.
HEAD-UP-DISPLAY
Das Head-Up-Display ist ein Anzeigesystem, das zusätzliche Informationen in das
Sichtfeld des Betrachters projiziert. In der Computergrafik dient es oft der
Darstellung von zweidimensionalen Informationen, die auf einer transparenten
Ebene über der dreidimensionalen Raumdarstellung liegen.
IMAGE-BASED RENDERING
Das Image-Based-Rendering (IBR) ist ein alternativer Ansatz zur 3D-Modellierung,
um fotorealistische Abbildungen zu erzeugen. Aus einem Satz von vorgefertigten
Bildern können demnach weitere Abbildungen errechnet werden, die nahezu die
gleiche Darstellungsqualität haben wie die Originale. Im Idealfall ermöglicht das
IBR das automatische Erstellen von dreidimensionalen Szenen aus zweidimensionalen Fotos. Zum gegenwärtigen Zeitpunkt unterliegt die Anwendung der IBR
noch einigen Einschränkungen, weil die Verarbeitung der Komplexität der realen
Welt aktuelle Computersysteme überfordert (vgl. [RADEMACHER & BISHOP 1998]).
126
Glossar
MONOSKOPIE
Unter Monoskopie versteht man das Abbilden einer Perspektive über eine einzelne
Kamera. Folglich ergeben sich aus diesem Verfahren Einschränkungen für die
räumliche Wahrnehmung. Aufgrund der einfachen Realisierung und Verarbeitung
dominiert die Monoskopie zum gegenwärtigen Zeitpunkt das Anwendungsfeld der
Computergrafik.
NORMALE
Die Normale ist eine Eigenschaft von Flächen. In der Computergrafik beschreibt sie
die Ausrichtung einer Fläche im Raum (auch Oberflächennormale). Die Normale ist
eine Gerade und steht immer senkrecht auf der zugehörigen Fläche.
PANORAMA
Ein Panorama beschreibt die Abbildung eines Informationsraumes mit einem sehr
großen Öffnungswinkel bis zu 360 Grad. Übliche Aufnahmetechniken sind
entweder in einer sich drehenden oder in vielen parallelen Kameras definiert. Ein
Panorama ist aufgrund der kontinuierlich ineinander übergehenden Fluchtpunkte
durch Krümmungen der Raumstruktur gekennzeichnet.
PARALLAXE
Die Parallaxe bezeichnet die scheinbare Änderung der Position eines Objekts, wenn
der Betrachter seine Position verschiebt. Sie begünstigt folglich die Raumwahrnehmung. Der Mensch besitzt durch den Augenabstand eine natürliche
Parallaxe.
PCV-KAMERAMODELL
Das Modell der Panoramic-Circular-View (PCV) beschreibt die kreisförmige
Anordnung mehrerer Kameras mit radialer Ausrichtung vom Kreiszentrum weg.
PIVOTPUNKT
Der Pivotpunkt charakterisiert den Punkt eines Objekts oder einer Gruppe, in
dessen Abhängigkeit alle Manipulationsoperationen ausgeführt werden. Folglich
werden alle Skalierungs- und Rotationsoperationen um den Pivotpunkt vorgenommen. Der Pivotpunkt besitzt keinen festen Standort bezüglich eines Objekts
und kann frei im Raum positioniert werden.
PLUG-IN
Unter einem Plug-In versteht man die software- oder hardwareseitige Erweiterung
der Funktionalitäten einer Stammsystems bei gleichzeitig nahtloser Integration.
Plug-Ins unterstützen deshalb die Modularisierung und Flexibilität einer Software
oder Hardware (vgl. [VÖLTER & MARQUARDT 2002]).
POINTER
Ein Pointer ist eine Variable, die auf den Wert einer anderen Variable verweist. Der
Pointer zeigt dabei selbst nur auf den physischen Speicherbereich der Variable, in
dem der eigentliche Wert gespeichert ist.
127
Glossar
RENDERING-PIPELINE
In der Computergrafik beschreibt die Rendering-Pipeline den Weg von der
vektoriellen, mathematischen Beschreibung einer Szene zum gerasterten Bild auf
dem Monitor. Bestandteil des Verarbeitungsprozesses sind Koordinatentransformationen, das Clipping (siehe Clipping) und Antialising (vgl. [BUNDROCK ET AL.
2003]).
SICHTKÖRPER
Der Sichtkörper (auch View Frustum) stellt den Abbildungsbereich einer dreidimensionalen Projektion dar. Im Rahmen einer Zentralprojektion besitzt er die
Form eines Pyramidenstumpfes und wird durch sechs Parameter begrenzt. Diese
bestehen durch eine obere (Up), untere (Bottom), linke (Left) und rechte (Right)
Grenze sowie eine vordere (Near-Clipping-Plane) und eine hintere (Far-ClippingPlane) Begrenzung. Der Sichtkörper einer Projektion umschließt alle Informationen,
die abgebildet werden (siehe Clipping).
SLV-KAMERAMODELL
Das Modell der Straight-Lined-View (SLV) beschreibt die Anordnung mehrerer
Kameras auf einer Geraden mit variabler, aber einheitlicher Ausrichtung.
STEREOSKOPIE
Die Stereoskopie ist ein Verfahren, bei dem eine Perspektive durch zwei Kameras
abgebildet wird. Beide Kameras sind durch einen räumlichen Versatz gekennzeichnet, der die räumliche Wahrnehmung durch Ausnutzung der Parallaxe
begünstigt. Die menschliche Wahrnehmung ist durch die zwei Augen und den
Augenabstand eine natürliche Form der Stereoskopie.
STREIFENKAMERA
Das Konzept der Streifenkamera charakterisiert ein Modell zur Strukturierung der
Bildebene und des Abbildungsprozesses. Die Bildebene wird in eine Vielzahl von
schmalen, vertikalen Streifen geteilt und jeder Streifen wird einer eigenen
Perspektive zugeordnet. Die Abbildung der Perspektiven erfolgt entweder
asynchron durch eine Kamera mit zeitlichem Versatz oder synchron durch viele
parallele Kameras. Das Ergebnis der Streifenkamera ist folglich eine multiperspektivische Abbildung (vgl. [RADEMACHER & BISHOP 1998]).
SZENENGRAPH
Der Szenengraph beschreibt eine objektorientierte Datenstruktur zur logischen und
räumlichen Anordnung von Objekten in einer dreidimensionalen Szene. Er besteht
aus Knoten mit angehängten Daten und Verbindungen zwischen diesen Knoten.
Die Knotenverbindungen beschreiben weiterhin die spezielle Struktur des
Graphen. Eine häufig verwendete Form ist die hierarchische Strukturierung in
einem azyklischen Graph (vgl. [SEEWALD 2004]).
THREAD
Ein Thread bezeichnet eine Ausführungseinheit beziehungsweise einen Programmteil zur Strukturierung der Parallelverarbeitung. Der Thread selbst beinhaltet einen
sequentiellen Abarbeitungsstrang. Die eigentliche Parallelisierung erfolgt zwischen
mehreren Threads in einem abgeschlossenen System, zum Beispiel dem Betriebssystem.
128
Abbildungsverzeichnis
C Abbildungsverzeichnis
Abbildung 1.1 – Multiperspektive in der Malerei […] ...................................................................... 2 Abbildung 1.2 – Dreidimensionale Datenvisualisierung in Google™ Earth mittels GE-Graph […] ...... 3 Abbildung 1.3 – Dynamischer Fahrsimulator […] ............................................................................ 4 Abbildung 2.1 – Zentralperspektivische Ansicht eines Kreuzgewölbes […] ...................................... 7 Abbildung 2.2 – Lagedefinition im dreidimensionalen Raum […] .................................................... 9 Abbildung 2.3 – Zentralprojektion von zwei Dreiecken auf die Bildebene ..................................... 10 Abbildung 2.4 – Das computergrafische Kameramodell mit seinen Komponenten […] ................. 11 Abbildung 3.1 – Das Abbildungssystem der Camera Obscura nach [FRANKE 2005A] […] ................ 17 Abbildung 3.2 – Multiperspektive durch Transformation der Objektgeometrie […] ....................... 20 Abbildung 3.3 – Manipulation der Abbildung durch Hohlspiegel (a), Wölbspiegel (b) […] ............. 21 Abbildung 3.4 – Mosaikverfahren anhand einer Streifenkamera […] ............................................ 24 Abbildung 4.1 – Einteilung der Oberfläche in funktionale Felder […] ............................................ 28 Abbildung 4.2 – Multiperspektive durch Objekttransformation […] .............................................. 29 Abbildung 4.3 – Zentralperspektivisch korrekte Abbildung der Stadtszene […] ............................. 30 Abbildung 4.4 – Beispiele für ein erweitertes Kameramodell […] .................................................. 31 Abbildung 4.5 – Versuchsaufbau zur Erzeugung multiperspektivischer Abbildungen mittels
Transformation am Abbildungsverfahren […]...................................................... 34 Abbildung 4.6 – Multiperspektivische Abbildungen durch eine Kreuzschlitzblende […]................. 35 Abbildung 4.7 – Erzeugung multiperspektivischer Bilder anhand einzelner Fragmente […] ........... 35 Abbildung 4.8 – Multipanorama durch eine sich bewegenden Kamera [PELEG & HERMAN 1997] ..... 36 Abbildung 4.9 – Multiperspektivische Abbildung eines Elefanten bei kreisförmiger Positionierung
der Kameras um das Objekt […] ......................................................................... 37 Abbildung 4.10 – Die kreisförmigen Projektionen nach [PELEG & BEN-EZRA 1999] […] ..................... 39 Abbildung 4.11 – Erzeugung multiperspektivischer Abbildung durch Gewichtung einzelner
Teilabbildungen […]. ........................................................................................ 40 Abbildung 4.12 – Multiperspektive mittels des Pushbroom-Verfahrens […] .................................. 41 Abbildung 5.1 – Benutzungsoberfläche von Bildsprache LiveLab (BiLL) […] ................................... 44 Abbildung 5.2 – Das Kameramodell aus Bildsprache LiveLab basiert auf dem OpenProducer […].. 46 Abbildung 5.3 – Multiperspektive durch Einsatz eines Wölbspiegels (a) oder einer mathematisch
beschreibbaren Oberfläche (b) […] ...................................................................... 53 Abbildung 5.4 – Multiperspektivisches Abbildungssystem aus mehreren Kameras […] .................. 55 Abbildung 5.5 – Realisierte Kameramodelle in BiLL und ihre typische Grundform […] ................... 59 Abbildung 5.6 – Konzept zur Aufteilung der Bildebene […] .......................................................... 60 Abbildung 5.7 – Darstellung der vollständigen Multiperspektive am Beispiel der CCV […] ............ 62 Abbildung 5.8 – Darstellung der partiellen Multiperspektive am Beispiel der CCV […] .................. 62 Abbildung 5.9 – Problemfeld der Sichtkörperbeziehung zwischen benachbarten Kameras […] ..... 63 Abbildung 5.10 – Problemfeld der Sichtkörperangleichung beim CCV-Kameramodell […] ............ 65 Abbildung 5.11 – Multiperspektivische Abbildung bei achsenparalleler Definition des
Kameramodells […] .......................................................................................... 67 Abbildung 5.12 – Multiperspektivische Abbildung bei Neigung des Kameramodells um 45 Grad
nach oben […] ................................................................................................. 67 Abbildung 5.13 – Multiperspektivische Abbildung bei Kippen des Kameramodells um 45 Grad nach
links […] ........................................................................................................... 67 129
Tabellenverzeichnis
Abbildung 5.14 – Leistungsvergleich zwischen osgProducer-Viewer und Composite-Viewer […] .. 69 Abbildung 6.1 – Klassenstruktur des Multiperspektiv-Plug-Ins […] ................................................ 75 Abbildung 6.2 – Das Multiperspective-Viewer-Settings-Panel […] ................................................. 76 Abbildung 6.3 – Das Abbildungssystem auf Basis von OSG 2.0 und dem Composite-Viewer […] .. 79 Abbildung 6.4 – Schematische Darstellung des PCV-Kameramodells […] ...................................... 80 Abbildung 6.5 – Schematische Darstellung des CCV-Kameramodells […] ..................................... 82 Abbildung 6.6 – Die OSG-Betrachterinformationen eye, center und up nach getLookAt() […] ...... 83 Abbildung 6.7 – Positionsberechnung für die einzelnen Kameras im SLV-Modell […] .................... 84 Abbildung 6.8 – Schematische Darstellung des SLV-Kameramodells […] ....................................... 84 Abbildung 6.9 – Das Animation-Settings-Panel […]....................................................................... 88 Abbildung 6.10 – Datenstruktur zur Speicherung der Wegpunkte in verschiedenen Pfaden als
einfach verkettete, zweidimensionale Liste […] ................................................. 90 Abbildung 6.11 – Schematische Darstellung der ersten vier Wegpunkte eines Animationspfades
und des Mechanismus zur Interpolation einer Bewegung (Translationsanteil).... 92 Abbildung 7.1 – Strukturszene zum allgemeinen Test der Abbildungseigenschaften […] .............. 96 Abbildung 7.2 – Semantikszene zur Darstellung der Abbildungseigenschaften bei starken
inhaltlichen Zusammenhängen […]................................................................... 96 Abbildung 7.3 – Angewandte PCV auf die Strukturszene bei […] 210 Grad .................................. 99 Abbildung 7.4 – Angewandte PCV auf die Semantikszene bei […] 160 Grad ................................ 99 Abbildung 7.5 – Angewandte SLV auf die Strukturszene […] ...................................................... 102 Abbildung 7.6 – Angewandte SLV auf die Semantikszene […] .................................................... 102 Abbildung 7.7 – Angewandte CCV auf die Strukturszene bei […] 90 Grad […] .......................... 104 Abbildung 7.8 – Angewandte CCV auf einen Ausschnitt der Semantikszene bei […] 45 Grad ... 105 Abbildung 7.9 – Vergleich des Abbildungsprozesses von EPK (orange) und PCV (grün) […]. ....... 106 Abbildung 7.10 – Vergleich von EPK (a) und PCV (b) anhand der Strukturszene mit einem
Kameraöffnungswinkel von 120 Grad ............................................................ 108 Abbildung 8.1 – Dreidimensionale Multiperspektive […] ............................................................. 113
Abbildung A.1 – Das Multiperspective-Viewer-Settings-Panel (links) und das Animation-SettingsPanel (rechts) stellen die Benutzeroberfläche des Plug-Ins dar..…………..……119
D Tabellenverzeichnis
Tabelle 1 – Zusammenfassung und Vergleich der evaluierten Klassifikationen ............................... 18 Tabelle 2 – Zusammenfassung zur Bewertung der Eignung der einzelnen Klassen […] .................. 57 Tabelle 3 – Hardware-Konfiguration der Testsysteme […] ............................................................. 68 Tabelle 4 – Einfluss der Szenengröße auf die Bildrate […] ............................................................. 70 Tabelle 5 – Formeln der Sichtkörperberechnung für […] PCV- und dem SLV-Kameramodell .......... 86 Tabelle 6 – Formeln der Sichtkörperberechnung für Abbildungen mit dem CCV-Kameramodell .... 87 Tabelle 7 – Erzielte Bildraten in Bildern pro Sekunde für die verschiedenen Testsysteme […] ......... 97
Tabelle A.1 – Generelle Funktionen der Oberfläche…………………….... ……….……………….120
Tabelle A.2 – Funktionen des Multiperspective-Viewer-Settings-Panel…. ………………………..120
Tabelle A.3 – Funktionen des Animation-Settings-Panel………………… ………..………………121
Tabelle A.4 – Tastaturbefehle des Plug-Ins………………………………… ………………………..121
130
Literatur- und Quellenverzeichnis
E Literatur- und Quellenverzeichnis
[7-FORUM 2007]
7-Forum.com, „Innovationstage 2006: BMW Fahrassistenzsysteme“,
gesehen 12. Dezember 2007
http://www.7-forum.com
/news/2006/fahrerassistenzsysteme/bmw_dynamischer_fahrsimulator.php
[ABERT 2006]
Oliver Abert, “Echtzeit Ray Tracing”, Universität Koblenz-Landau, 2006
http://www.uni-koblenz.de/~cg/ws0607/cg2folien/06EchtzeitRaytracing_print2.pdf
[AGRAWALA ET AL. 2000]
Maneesh Agrawala, Denis Zorin und Tamara Munzner. „Artisitic Multiprojection
Rendering”, Eurographics Rendering Workshop, Seiten 125-136, 2000
http://graphics.stanford.edu/papers/mpr/mpr.pdf
[ARTINFO24.COM 2007]
Artinfo24.com, „Pablo Picasso“, gesehen 27. Dezember 2007
http://www.artinfo24.com/kuenstler-verzeichnis.php?id=229
[BARTH & RAIDL 2006]
Wilhelm Barth, Günther Raidl, „Raytracing“, Algorithms and Data Structures
Group, Institut für Computergrafik und Algorithmen, TU Wien, 2006,
gesehen 10. Januar 2008
http://www.ads.tuwien.ac.at/research/Raytracing.html
[BUNDROCK ET AL. 2003]
Jan Bundrock, Olaf Fruggel, Dirk Nitschke, „Die Rendering Pipeline“, Institut für
Informatik, Humboldt-Universität Berlin, 2003
http://www2.informatik.hu-berlin.de/~nitschke/files/renderingpipeline.pdf.gz
[DACHSELT & WEILAND 2006]
Raimund Dachselt, Markus Weiland, „Timezoom, A Flexible Detail and Context
Timeline“, Conference on Human Factors in Computing Systems (CHI 2006)
Extended Abstracts, Montreal, Kanada, 22.-27. April 2006
http://www-mmt.inf.tu-dresden.de/Projekte/Publikationen/details/0604.pdf
[EBNER 2007]
Thomas Ebner, „Bildsprache LiveLab, Konzeption und Realisierung einer
interaktiven Arbeitsumgebung für die Erforschung wahrnehmungsrealistischer
Projektion“, Diplomarbeit, Lehrstuhl für Mediengestaltung, Institut Software- und
Multimediatechnik, TU Dresden, November 2007
http://web.inf.tu-dresden.de/mg/_downloads/_files/2007_Diplomarbeit_Ebner.pdf
[FLTK 2007]
Homepage des GUI-Toolkits FLTK – Fast Light Toolkit, gesehen 13. November 2008
http://www.fltk.org
131
Literatur- und Quellenverzeichnis
[FRANKE 2005A]
Ingmar S. Franke, „Multiperspektive versus Ergonomie“, 50. Internationales
Wissenschaftliches Kolloquium, TU Ilmenau, 19.-23. September 2005
http://web.inf.tu-dresden.de
/mg/_downloads/_files/Franke-Multiperspektive_vs_Ergonomie-Fullpaper4Print.pdf
[FRANKE 2005B]
Ingmar S. Franke, „Hybride Perspektive in der Computergrafik“, Lehrstuhl für
Mediengestaltung, Institut Software- und Multimediatechnik, TU Dresden, 2005
http://web.inf.tu-dresden.de
/mg/_downloads/_files/Franke-3D_NordOst_2005_Folien.pdf
[GLUCKMAN ET AL. 1998]
Joshua Gluckman, Shree K. Nayar, Keith J. Thoresz, “Real-Time Omnidirectional
and Panoramic Stereo”, Proc. of the 1998 DARPA Image Understanding
Workshop, Monterey, California, November 1998
http://cis.poly.edu/~gluckman/papers/iuw98a.pdf
[GROH 2004]
Rainer Groh, “Das Interaktionsbild – Zu den bildnerischen und theoretischen
Grundlagen der Interfacegestaltung”, TUDpress Verlag der Wissenschaften,
Dresden, 2005
(ISBN: 3-938863-05-6)
[KEAHEY 1998]
T. Alan Keahey, „The Generalized Detail-In-Context Problem“, Proc. of the IEEE
Symposium on Information Visualization, IEEE, 1998
ftp://ftp.cs.indiana.edu/pub/tkeahey/papers/infovis.98/paper.pdf
[LÖFFELMANN & GRÖLLER 1996]
Helwig Löffelmann, Eduard Gröller, „Ray Tracing with Extended Cameras“, The
Journal of Visualization and Computer Animation 7, Seiten 211-228, Oktober
1996
http://www.cg.tuwien.ac.at
/research/publications/1995/Loeffelmann-1995-RTE/TR-186-2-95-06Paper.ps.gz
[MCESCHER.COM 2007]
MCEscher.com, “Picture gallery ‘Back in Holland 1941 – 1954’”,
gesehen 02. Dezember 2007
http://www.mcescher.com/Gallery/gallery-back.htm
[MEYERS 2008]
Meyers Online Lexikon, “Goes”, gesehen 10. Februar 2007
http://lexikon.meyers.de/meyers/Goes
[OPENGL 2007]
Homepage der Grafik-API OpenGL, gesehen 12. November 2007
http://www.opengl.org
132
Literatur- und Quellenverzeichnis
[OPENPRODUCER 2007]
Homepage der Kamera-Bibliothek OpenProducer, gesehen 12. November 2007
http://www.andesengineering.com/Producer/index.php
[OPENRT 2007]
Homepage der auf Raytracing basierten Grafikbibliothek OpenRT, gesehen 12.
November 2007
http://www.openrt.de/
[OPENSCENEGRAPH 2007]
Homepage der Szenengraph API OpenSceneGraph, gesehen 12. November 2007
http://www.openscenegraph.org
[OPENTHREADS 2007]
Homepage der Threading-Bibliothek OpenThreads, gesehen 12. Novemeber 2007
http://openthreads.sourceforge.net/
[ORLAMÜNDER & MASCOLUS 2004]
Dieter Orlamünder, Wilfried Mascolus, „Computergrafik und OpenGL – Eine
systematische Einführung“, Fachbuchverlag Leipzig, 2004
(ISBN: 3-446-22837-3)
[PELEG & HERMAN 1997]
Shmuel Peleg, Joshua Herman, “Panoramic Mosaics by Manifold Projection”, Proc.
of IEEE Conf. Computer Vision and Pattern Recognition, Seiten 338-343, Juni 1997
http://www.cs.huji.ac.il/labs/vision/papers/cvpr97-manifold.pdf
[PELEG & BEN-EZRA 1999]
Shmuel Peleg, Moshe Ben-Ezra, “Stereo Panorama with a Single Camera”, Proc. of
IEEE Conf. Computer Vision and Pattern Recognition, Seiten 395-401, Juni 1999
http://www.wisdom.weizmann.ac.il
/~armin/AdvVision02/Papers/Lecture4/StereoPanoramaSingleCamera.pdf
[PELEG ET AL. 2001]
Shmuel Peleg, Moshe Ben-Ezra, Yael Pritch, “Omnistereo: Panoramic Stereo
Imaging”, IEEE Trans. Pattern Analysis and Machine Intelligence Vol. 23 No. 3,
Seiten 279-290, 2001
http://citeseer.ist.psu.edu/cache/papers/cs/27768/http:zSzzSzwww.cs.huji.ac.ilzSz~
pelegzSzpaperszSzpami01-omnistereo.pdf/peleg01omnistereo.pdf
[RADEMACHER & BISHOP 1998]
Paul Rademacher, Gary Bishop, “Multiple-Center-of-Projection Images”, Proc. of
SIGGRAPH 98, Seiten 199-206, ACM, 1998
http://www.paulrademacher.com/unc/papers/Rademacher-mcop98.pdf
[RIEGER & GEPP 2005]
Robert Rieger, Oliver Gepp, “Multiperspektive mittels Pushbroom”, Lehrstuhl für
Mediengestaltung, Institut für Software- und Multimediatechnik, TU Dresden,
2005
http://web.inf.tu-dresden.de/mg//_projects/223/KPIK_RR_OG.pdf
133
Literatur- und Quellenverzeichnis
[SCHINDLER ET AL. 2005]
Judith Schindler, Felicitas Ritz, Ingmar S. Franke, Martin Zavesky,
“Multiperspektivische Bilder mit 3D-Werkzeugen“, Semesterarbeit,
Komplexpraktikum Multiperspektive, Lehrstuhl für Mediengestaltung, Institut
Software- und Multimediatechnik, TU Dresden, 2005
http://web.inf.tu-dresden.de
/mg/_downloads/_files/Franke-Ritz-Schindler_Multiperspektive.pdf
[SEEWALD 2004]
Sascha Seewald, „Grafik-APIs zur Softwareentwicklung für die
computergestützte Sehschulung“, Diplomarbeit, Lehrstuhl für Computergrafik und
Visualisierung, Institut Software- und Multimediatechnik, TU Dresden, 2004
http://www.inf.tu-dresden.de
/content/institutes/smt/cg/results/majorthesis/sseewald/files/Diplomarbeit.pdf
[SEITZ & KIM 2003]
Steven M. Seitz, Jiwon Kim, “Multiperspective Imaging”, IEEE Computer Graphics
and Applications, University of Washington, November 2003
http://ieeexplore.ieee.org/iel5/38/27840/01242377.pdf?arnumber=1242377
[SHUM & HE 1999]
Heung-Yeung Shum, Li-Wei He, “Rendering with Concentric Mosaics”,
SIGGRAPH’99, Los Angeles, August 1999
http://research.microsoft.com/china/papers/Rendering_Concentric_Mosaics.pdf
[SGRILLO 2007]
Ricardo Sgrillo, „GE-Graph for Google Earth“ Cocoa Research Center
(CEPLAC/CEPEC), Ilheus, Bahia, Brasilien, August 2007
http://www.sgrillo.net/googleearth/gegraph.htm
[SINGH 2002]
Karan Singh, „A Fresh Perspective“, Graphics Interface, 2002
http://citeseer.ist.psu.edu/cache/papers/cs2/287/http:zSzzSzwww.dgp.toronto.eduz
SzpaperszSzksingh_GI2002.pdf/a-fresh-perspective.pdf
[STAUDTE & NGUYEN 2005]
Thomas Staudte, Duc Minh Nguyen, “Projektionen multiperspektivischer
Panoramen von dreidimensionalen Körpern auf gekrümmte Oberflächen“,
Lehrstuhl für Mediengestaltung, Institut Software- und Multimediatechnik,
TU Dresden, 2005
http://web.inf.tu-dresden.de/mg//_projects/223/KPIK_TS_MDN.pdf
[STIX 2002]
Dr. Reinhardt Stix, „Grundzüge und Methoden der EDV für Bauingenieure“,
Institut für Technische Mathematik, Geometrie und Bauinformatik, Fakultät für
Bauingenieurwissenschaften, Universität Innsbruck, 2002
http://techmath.uibk.ac.at/numbau/stix/vorlesung.doc
134
Literatur- und Quellenverzeichnis
[SZELISKI & SHUM 1997]
Richard Szeliski, Heung-Yeung Shum, „Creating Full View Panoramic Image
Mosaics and Environment Maps“, Proc. of ACM SIGGRAPH, Los Angeles, 1997
http://www.cs.utexas.edu/users/amenta/papers/szeliski.pdf
[VALLANCE & CALDER 2001]
Scott Vallance, Paul Calder, „Context in 3D Planar Navigation“, Proc. of the
Australasian User Interface Conference AUIC 2001, Seiten 93-99, Queensland,
Januar 2001
http://delivery.acm.org/10.1145/550000/545659/p93-vallance.pdf?key1=545659
&key2=2902875021&coll=GUIDE&dl=GUIDE&CFID=20543127&CFTOKEN=63530
390
[VALLANCE & CALDER 2002]
Scott Vallance, Paul Calder, „Multi Perspective Images for Visualisation“, PanSydney Area Workshop on Visual Information Processing (VIP2001), Sydney, 2002
http://crpit.com/confpapers/CRPITV11Vallance.pdf
[VÖLTER & MARQUARDT 2002]
Markus Völter, Klaus Marquardt, „Plug-Ins – Applikationsspezifische
Komponenten“, In: JavaSpektrum, Juni 2002
http://www.voelter.de/data/articles/PlugInComponents.pdf
[WALD 2004]
Ingo Wald, „Realtime Ray Tracing and Interactive Global Illumination“,
Dissertation, Professur für Informatik / Computergraphik, Universität des
Saarlandes, Juli 2004
http://scidok.sulb.uni-saarland.de/volltexte/2004/319/
[WATT 2000]
Alan Watt, „3D Computer Graphics“, 3. Auflage, Addison-Wesley, Harlow, 2000
(ISBN: 978-0201631869)
[WEBER 2003]
David Weber, „Der Phase Alternating Line (PAL) TV-Standard“, Institut für
Informatik, Universität Zürich, 2003, unveröffentlicht
[WOJDZIAK 2007]
Jan Wojdziak, „Konzeption und Realisierung einer Komponentenarchitektur für die
Arbeitsumgebung Bildsprache LiveLab (BiLL)“, Diplomarbeit, Lehrstuhl für
Mediengestaltung, Institut Software- und Multimediatechnik, TU Dresden, Oktober
2007
http://web.inf.tu-dresden.de
/mg/_downloads/_files/2007_Diplomarbeit_Wojdziak.pdf
[YU & MCMILLAN 2004]
Jingyi Yu, Leonard McMillan, “A Framework for Multiperspective Rendering”,
Computer Graphics Forum, Mai 2004
http://groups.csail.mit.edu/graphics/pubs/egsr2004_framemultirendering.pdf
135
Literatur- und Quellenverzeichnis
[ZARNS & MARSH 2006]
Kris Zarns, Ronald Marsh, „RAYGL: An OpenGL to POVRAY API“, Department of
Computer Science, University of North Dakota, 2006
http://www.micsymposium.org/mics_2006/papers/ZarnsAndMarsh.pdf
[ZAVESKY 2007]
Martin Zavesky, „Dynamische Multiperspektive – Untersuchung der Eigenschaften
von perspektivisch korrigierten Abbildungen in dynamischen Kontexten“,
Diplomarbeit, Lehrstuhl für Mediengestaltung, Institut Software- und
Multimediatechnik, TU Dresden, 2006
http://web.inf.tu-dresden.de
/mg/_downloads/_files/2007_Diplomarbeit_Zavesky.pdf
[ZOMET ET AL. 2003]
Assaf Zomet, Doron Feldman, Shmuel Peleg, Daphna Weinshall, “Mosaicing new
views – The crossed-slits projection”, IEEE Trans. on PAMI, Seiten 741-754, 2003
http://www.cs.huji.ac.il/~peleg/papers/pami03-xslits.pdf
136

Documentos relacionados