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