-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein rechnerunterstütztes Verfahren
und ein Computersystem zur Positionierung eines Zeigers in einer
dreidimensionalen Szene. Insbesondere bezieht sich die Erfindung
auf ein rechnerunterstütztes
Verfahren und ein rechnerunterstütztes
Visualisierungssystem zur Positionierung eines Zeigers in einer
dreidimensionalen Szene in einem Visualisierungssystem, wobei eine
Ansicht der dreidimensionalen Szene auf einem zweidimensionalen
Bildschirm angezeigt wird.
-
Hintergrund der Erfindung
-
Rechnerunterstütze Visualisierungssysteme
werden in vielen Gebieten, wie Computerspiele, dreidimensionale
Modelle, und fortgeschrittener wissenschaftlicher Visualisierung,
beispielsweise Mikroskopie, verwendet. Typischerweise verwenden
rechnerunterstützte
Visualisierungssysteme Kameramodelle mit Zentralprojektion oder
Parallelprojektion zur Erfassung von Bildern von Eingangsdaten,
die dreidimensionale Szenen definieren. Bilder werden durch Projizieren
von dreidimensionalen Objekten auf eine Ansichts-(Projektions-)Ebene
(oder Ansichts-Anschluss) projiziert und dann durch Abbilden der
Ansichtsebene auf einen zweidimensionalen Bildschirm erhalten. In
einem Kamera-Modell mit Zentralprojektion gehen Projektionslinien
vom Zentrum der Projektion, dem definierten Gesichtspunkt, aus.
Bei Kameramodellen mit Parallelprojektion werden Bilder, die den
Ansichtspunkt bei einer unendlichen Distanz von der Ansicht der Projektionsfläche haben, erhalten.
Die Schnittstelle von diesen Projektionslinien mit der Ansichts-/Projektions-Ebene
bilden die projizierten zweidimensionalen Bilder des dreidimensionalen
Objekts. Demnach wird eine dreidimensionale Szene auf dem zweidimensionalen
Bildschirm, wie auch die Ansichts-/Projektions-Ebene des Kameramodells,
von dem definierten Ansichtspunkt der Kamera gezeigt. Die Darstellung
der dreidimensionalen Szene auf dem zweidimensionalen Bildschirm
mangelt es an Darstellung von Tiefe und Distanz. Insbesondere in
dreidimensionalen Szenen, die viele Objekte von unbekannter Form
und Grösse
umfassen, wird ein Benutzer ohne jegliche visuelle Aufschlüsse in Tiefenwahrnehmung
gelassen. Demnach ist es für
einen Benutzer sehr schwierig, einen Zeiger, d. h. einen Cursor,
in einer dreidimensionalen Szene zu platzieren. Nachfolgend wird
das Kamera-Modell eines rechnerunterstützten Visualisierungssystems,
das durch seine Ansichts-/Projektions-Ebene und seinen Gesichtspunkt definiert
ist, auch als „Kamera" bezeichnet.
-
In
US 6,057,827 wird ein Computergraphik-Modellierungssystem
beschrieben, welches es für
einen Benutzer möglich
macht, einen Zeiger genau an einem geometrischen Punkt eines dreidimensionalen
Objektes zu positionieren. Gemäss
US 6,057,827 wird in Antwort
auf ein Benutzersignal der Zeiger automatisch zum geometrischen
Punkt des dreidimensionalen Objektes, der am nächsten zur aktuellen Position
des Zeigers liegt, bewegt. Ohne weitere zusätzliche visuelle Hinweise muss
der Benutzer jedoch weiterhin den Zeiger auf eine nahe Umgebung
des dreidimensionalen Objektes bewegen, während der Benutzer keine visuelle
Hinweise für
die Tiefenpositionierung des Zeigers erhält.
-
Eine
verbesserte Tiefenwahrnehmung kann durch Hinzufügen von Mitteln zur stereoskopischen
Ansicht erzielt werden. Jedoch sind nicht alle Benutzer in der Lage,
eine verbesserte Tiefenwahrnehmung von stereoskopischen Ansichten
zu erhalten. Im Weiteren werden Hardware-Vorrichtungen, wie Ferngläser oder Filtergläser, die
zum Erhalt von stereoskopischen Ansichten benötigt werden, durch die Benutzer
oftmals als unpraktisch und unbequem empfunden.
-
US 5,751,927 beschreibt
ein Verfahren zur Herstellung der visuellen Wahrnehmung von räumlichen Strukturen
durch Bearbeitung von Bildern, die auf einem im Wesentlichen flachen
Bildschirm dargestellt werden. Gemäss
US 5,751,927 werden die Bilder von
kleinen definierten Verschiebungen in einem offenbarten Gesichtswinkel
abgeleitet. Die Verschiebungen werden ausgewählt, um in Richtung und bei
Wiederhol-Frequenzen, wie ruckartiges Anhalten, wahrnehmbar zu erscheinen,
um Bewegungs-Parallax-Empfindungen beim
Benutzer auszulösen.
Die Verschiebungen werden durch Scherung normal zur Sichtlinie oder
Verdrehung zur räumlichen
Struktur gemacht. Gemäss
US 5,751,927 wird eine finite
Anzahl von effektiven Umschalt-Positionen verwendet, beispielsweise
werden acht mögliche
Scherungs-Orte verwendet. Von ursprünglichen Bildern, die von einer
Bilder-Datenbank
erhalten werden, werden die verschobenen Bilder durch einen Transformations-Apparat
berechnet und in einer transformierten Datenbank gespeichert. Um
die Verteilung des ruckartigen Anhaltens während normaler Augenbewegungen
zu modellieren, wird eine Pseudo-Poisson-Verteilung für den Umschaltvorgang
verwendet, und die Umschaltungen werden in einer Pseudo-zufälligen Weise
ausgeführt.
-
Darstellung der Erfindung
-
Es
ist ein Ziel dieser Erfindung, ein rechnerunterstütztes Verfahren
und ein Computersystem zur Positionierung eines Zeigers in einer
dreidimensionalen Szene in einem Visualisierungssystem bereitzustellen, welches
Verfahren und System mindestens einige der Nachteile des Standes
der Technik nicht haben. Insbesondere ist es ein Ziel der vorliegenden
Erfindung, ein rechnerunterstütztes
Verfahren und ein rechnerunterstütztes
Visualisierungssystem zur Positionierung eines Zeigers in einer
dreidimensionalen Szene bereitzustellen, welches Verfahren und System
dem Benutzer eine Tiefenwahrnehmung bereitstellt, wenn dieser die dreidimensionale
Szene, die auf einem zweidimensionalen Bildschirm gezeigt wird,
betrachtet. Es ist ein weiteres Ziel der vorliegenden Erfindung,
ein rechnerunterstütztes
Verfahren und ein rechnerunterstütztes
Visualisierungssystem zur Positionierung eines Zeigers in einer
dreidimensionalen Szene bereitzustellen, welches Verfahren und System
dem Benutzer eine verbesserte Tiefenwahrnehmung ohne das Erfordernis
von Hardware-Vorrichtungen für
stereoskopische Darstellung bereitzustellen.
-
Gemäss der vorliegenden
Erfindung werden diese Ziele insbesondere durch die Merkmale der
unabhängigen
Ansprüche
erzielt. Zusätzlich
werden weitere vorteilhafte Ausführungsbeispiele
von den abhängigen Ansprüchen und
der Beschreibung beschrieben.
-
Gemäss der vorliegenden
Erfindung werden die obengenannten Ziele insbesondere erzielt, indem
für die
Positionierung eines Zeigers (Cursors) in einer dreidimensionalen
Szene in einem rechnerunterstützten
Visualisierungssystem, eine Ansicht der Szene auf einem zweidimensionalen
Bildschirm gezeigt wird, wobei die Ansicht der dreidimensionalen
Szene automatisch animiert ist, um einem Benutzer die Ansicht der
dreidimensionalen Szene mit einem kinetischen Tiefeneffekt bereitzustellen.
Während
der Animierung der Ansicht werden Signale, die die Positionierungswerte
für drei
Dimensionen anzeigen, vom Benutzer erhalten. Beispielsweise können die
Positionierungswerte in den zwei Dimensionen des Bildschirms und
einer Tiefendimension vertikal zum Bildschirm spezifiziert werden.
In Antwort auf die Signale wird der Zeiger basierend auf den Positionierungswerten
positioniert, während
die Ansicht animiert wird. Die Bereitstellung einer animierten Ansicht der
dreidimensionalen Szene für
den Benutzer, macht es für
den Benutzer möglich,
die Ansicht der dreidimensionalen Szene mit einer Tiefenwahrnehmung
zu sehen. Dieser sogenannte kinetische Tiefeneffekt wurde 1953 durch
H. Wallach und D. N. O'Connell, „The Kinetic
Depth Effect", Journal
of Experimental Psychology, 45, 205–217, beschrieben.
-
Während die
animierte Ansicht der dreidimensionalen Szene dem Benutzer bereitgestellt
wird, werden Benutzersignale empfangen und der Zeiger wird demgemäss positioniert.
Demnach ist es für
den Benutzer möglich,
den Zeiger in der dreidimensionalen Szene nicht nur in zwei, sondern
auch in drei Dimensionen zu platzieren. Beispielsweise kann der
Benutzer den Zeiger in den zwei Dimensionen des Bildschirms, und
auch in der Tiefendimension vertikal zu den zwei Dimensionen des
Bildschirms platzieren. Das Definieren der Position zur Platzierung
des Zeigers in der dreidimensionalen Szene ist mittels konventionellen
Eingabe-Vorrichtungen, wie eine Maus mit einem Scrolling-Rad, möglich.
-
Das
Bereitstellen einer animierten Ansicht der dreidimensionalen Szene
mit einem kinetischen Tiefeneffekt für den Benutzer, macht es für den Benutzer
möglich,
den Zeiger in allen drei Dimensionen ohne die Ausführung von
weiteren Operationen zu platzieren, z. B. gibt es kein Bedürfnis für den Benutzer,
alternative Ansichten manuell auszuwählen. Es gibt auch kein Erfordernis
für den
Benutzer, weitere Vorrichtungen zur stereoskopischen Ansicht zu
verwenden. Das Bereitstellen einer automatisch animierten Ansicht
der dreidimensionalen Szene mit einem kinetischen Tiefeneffekt für den Benutzer
versetzt auch Benutzer ohne die Fähigkeit für stereoskopische Ansichten
weiterhin in die Lage, die Tiefe wahrzunehmen. Weiter macht es die
Animierung der Ansicht der dreidimensionalen Szene möglich, einen
kinetischen Tiefeneffekt sowohl in Systemen, die eine Zentralprojektion
verwenden, wie auch in Systemen, die Parallelprojektion verwenden,
zu produzieren.
-
Gemäss der Erfindung
wird die Ansicht der dreidimensionalen Szene auf dem zweidimensionalen
Bildschirm gezeigt, wie auf eine Ansichtsprojektionsebene der Kamera
von einem definierten Gesichtspunkt der Kamera projiziert. Die Ansicht
der dreidimensionalen Szene beinhaltet eine Ansicht des Zeigers,
wie dieser auf die Ansichtsprojektionsebene vom Gesichtspunkt projiziert
ist. Die Animierung der Ansicht der dreidimensionalen Szene beinhaltet
eine Anwendung einer Transformation zur dreidimensionalen Szene
oder der Kamera. Die Transformation wird so angewandt, dass die
Ansicht des Zeigers im Wesentlichen statisch bleibt. Mit anderen
Worten wird die Projektion des Zeigers, die durch eine Schnittstelle
einer Projektionslinie (durch den Gesichtspunkt und einen aktuellen
Ort des Zeigers verlaufend) mit der Ansichtsprojektionsebene definiert
ist, fixiert gehalten. Demnach profitiert der Benutzer zur Positionierung
des Zeigers von einer verbesserten Tiefenwahrnehmung der dreidimensionalen
Szene, ohne durch die Bewegung des Zeigers gehindert zu sein.
-
Gemäss der Erfindung
beinhaltet die Transformation entweder eine Rotation oder eine Scherung,
wobei die Rotation um eine Rotationsachse, die durch einen aktuellen
Ort des Zeigers verläuft,
ausgeführt
wird und wobei die Scherung entlang einer Scherungsebene, die durch
den aktuellen Ort des Zeigers verläuft, ausgeführt wird. Zur Bereitstellung
einer animierten Ansicht der dreidimensionalen Szene mit einem optimalen
kinetischen Tiefeneffekt für
den Benutzer sind die Rotationsachse, bzw. die Scherungsebene, im
Wesentlichen parallel zur Ansichtsprojektionsebene.
-
Die
Anwendung einer Rotations-Transformation auf die dreidimensionale
Szene oder die Kamera verändert
die relative Positionierung der Kamera und der dreidimensionalen
Szene. Mit anderen Worten hat die Anwendung einer Rotations-Transformation
auf die dreidimensionale Szene oder die Kamera den Effekt der Bewegung
der dreidimensionalen Szene relativ zur Kamera bzw. der Bewegung
der Kamera relativ zur dreidimensionalen Szene. Wenn die relative
Positionierung der Kamera und der dreidimensionalen Szene geändert wird, ändert die
relative Positionierung des Gesichtspunktes der Kamera und der Ansichtsprojektionsebene der
Kamera bezüglich
der dreidimensionalen Szene, während
der Ansichtspunkt relativ zur Ansichtsprojektionsebene fixiert bleibt.
Wenn demnach die relative Positionierung der Kamera und der dreidimensionalen
Szene verändert
werden, wird entweder die Position des Gesichtspunktes oder die
der Ansichtsprojektionsebene relativ zur dreidimensionalen Szene
verändert
oder die Positionen von Objekten der dreidimensionalen Szene werden
relativ zum Gesichtspunkt und der Ansichtsprojektionsebene verändert.
-
Das
Ausführen
der Rotations-Transformation um eine Achse, die durch einen aktuellen
Ort des Zeigers verläuft,
und das Ausführen
der Scherungs-Transformation um eine (Scherungs-)Ebene, die durch den aktuellen Ort
des Zeigers verläuft,
hat den Vorteil, dass der Ort des Zeigers durch die Transformation
nicht beeinflusst wird. Demnach bewegt sich die Darstellung (Ansicht)
des Zeigers im zweidimensionalen Bildschirm als ein Resultat der
Transformation nicht. Demnach wird der Benutzer zur Positionierung
des Zeigers nicht durch eine unerwartete Zeigerbewegung gestört.
-
Die
Anwendung einer Scherungs-Transformation auf die dreidimensionale
Szene oder auf die Kamera hat den Effekt des Wechselns der perspektivischen
Ansicht der dreidimensionalen Szene. Vorzugsweise wird die Scherungs-Transformation
auf die dreidimensionale Szene angewandt; jedoch kann die Scherungs-Transformation auch
auf die Kamera durch entsprechendes Alternieren der Positionen des
Gesichtspunkts und der Ansichtsprojektionsebene relativ zur Scherungs-Ebene
angewandt werden. Verglichen zur Animierung der Ansicht der dreidimensionalen
Szene mittels einer Rotations-Transformation resultiert das Animieren
der Ansicht mittels einer Scherungs-Transformation in einer animierten Ansicht
der dreidimensionalen Szene, die dem Benutzer stabiler erscheint.
-
In
einem anderen bevorzugten Ausführungsbeispiel
wird die Ansicht kontinuierlich in einer definierten Bewegung mit
zyklischer Repetition animiert. Ein kontinuierlich wiederholtes
Bewegungsmuster macht es möglich,
den Benutzer mit den dreidimensionalen Eigenschaften der auf dem
Bildschirm gezeigten Szene bekannt zu machen, d. h. der Benutzer
wird an die Tiefenaspekte der dreidimensionalen Szene gewöhnt. Eine sanfte,
gleichmässig
kontinuierliche Animation der Ansicht macht es für den Benutzer einfacher, die
kinetischen Tiefeneffekte wahrzunehmen, als eine nicht kontinuierliche,
zufällige
Animation der Ansicht.
-
In
einem weiteren bevorzugten Ausführungsbeispiel
wird die Ansicht in einer Vorwärts-
und Rückwärts-Schwenkbewegung
um einen aktuellen Ort des Zeigers bei einer definierten Geschwindigkeit
und mit einem definierten Schwenkwinkel animiert. Beispielsweise
ist der Schwenkwinkel im Bereich von 3 bis 6 Grad gewählt. Beispielsweise
wird der Zeiger durch einen dreidimensionalen Zeiger dargestellt,
und der Schwenkpunkt ist innerhalb des Zeigers angeordnet. Die Animation
der Ansicht in einer kontinuierlichen Vorwärts- und Rückwärts-Schwenkbewegung um den
Schwenkpunkt bezweckt die Darstellung der dreidimensionalen Szene,
die auf dem zweidimensionalen Bildschirm erscheint, wie wenn der
Benutzer seinen Kopf rückwärts und vorwärts in der
horizontalen oder vertikalen Dimension des Bildschirms bewegen würde. Das
Platzieren des Schwenkpunktes beim aktuellen Ort des Zeigers hat
den Vorteil, dass eine Projektion des Zeigers auf die Ansichtsprojektionsebene
in der Ansichtsprojektionsebene fixiert bleibt. Demnach bewegt sich
die Darstellung (Ansicht) des Zeigers in dem zweidimensionalen Bildschirm
als ein Resultat der Bewegung der Kamera bzw. der dreidimensionalen
Szene nicht. Demnach wird der Benutzer zur Positionierung des Zeigers
nicht durch die Zeigerbewegung, die automatisch und unabhängig von
den Positionssignalen des Benutzers auftritt, gestört.
-
Zusätzlich zu
einem rechnerunterstützten
Verfahren und einem rechnerunterstützten Visualisierungssystem
zum Positionieren eines Zeigers in einer dreidimensionalen Szene,
die auf einem zweidimensionalen Bildschirm gezeigt wird, bezieht
sich die vorliegende Erfindung auch auf ein Computerprogramm-Produkt,
das Computerprogramm-Codemittel zur Steuerung eines oder mehrerer
Prozessoren eines Computers beinhaltet, insbesondere ein Computerprogramm-Produkt,
das ein computerlesbares Medium beinhaltet, das die Computerprogramm-Codemittel
darin beinhaltet.
-
Kurze Beschreibung der Zeichnungen
-
Die
vorliegende Erfindung wird im Detail unter Bezugnahme auf die Zeichnungen
beispielhaft erklärt, in
welchen:
-
1 ein
Blockdiagramm zeigt, das eine beispielhafte Konfiguration eines
rechnerunterstützten
Visualisierungssystems mit einem Bildschirm und einer daran befestigten
Zeigervorrichtung schematisch illustriert.
-
2a, 2b und 2c Ansichten
zeigen, die schematisch die Projektion von Objekten in einer dreidimensionalen
Szene von einem Gesichtspunkt in eine Ansichtsprojektionsebene illustrieren,
wobei die dreidimensionale Szene zwischen dem Gesichtspunkt und
der Ansichtsprojektionsebene angeordnet wurde, wobei Objekte der
dreidimensionalen Szene auf beiden Seiten der Ansichtsprojektionsebene
angeordnet sind, oder wobei die Ansichtsprojektionsebene zwischen
dem Gesichtspunkt, bzw. der dreidimensionalen Szene angeordnet wurde.
-
3a eine
Ansicht zeigt, die die Projektion einer dreidimensionalen Szene
von einem Gesichtspunkt auf eine Ansichtsprojektionsebene illustriert,
wobei ein in der dreidimensionalen Szene platzierter Zeiger als eine
Zeigerprojektion auf die Ansichtsprojektionsebene projiziert wird.
-
3b eine
Ansicht zeigt, die die Projektion der dreidimensionalen Szene von 3a schematisch illustriert,
wobei die Projektionen des Gesichtspunkts und der Ansichtsprojektionsebene
um den Zeiger verschwenkt werden.
-
4 eine
Ansicht zeigt, die schematisch den kontinuierlichen Wechsel der
relativen Positionen des Gesichtspunkts und der Ansichtsprojektionsebene
bezüglich
der dreidimensionalen Szene durch Schwenken des Gesichtspunkts und
der Ansichtsprojektionsebene um den Zeiger illustriert.
-
5a, 5b und 5c dreidimensionale
Darstellungen zeigen, die die Projektion einer dreidimensionalen
Szene von einem Gesichtspunkt auf eine Ansichtsprojektionsebene
illustrieren, wobei die relativen Positionen des Gesichtspunkts
und der Ansichtsprojektionsebene bezüglich der dreidimensionalen
Szene verändert
werden.
-
6a, 6b und 6c jeweils
den zweidimensionalen Bildschirm zeigen, der die dreidimensionale
Szene bei unterschiedlichen Phasen der animierten Ansicht zeigt.
-
7 dreidimensionale
Darstellungen zeigt, die schematisch unterschiedliche Arten von
Bewegungen für
die Animierung der Ansicht der dreidimensionalen Szene illustriert.
-
8 eine
Ansicht zeigt, die schematisch den kontinuierlichen Wechsel der
dreidimensionalen Szene illustriert, welcher von einer Scherungs-Transformation,
die auf die dreidimensionale Szene angewandt wird, resultiert.
-
9 dreidimensionale
Darstellungen zeigt, die unterschiedliche Arten von Bewegungen zur
Animierung der Ansicht der dreidimensionalen Szene illustrieren.
-
Detaillierte Beschreibung von bevorzugten
Ausführungsformen
-
In 1 bezieht
sich das Bezugszeichen 1 auf ein rechnerunterstütztes Visualisierungssystem.
Wie in 1 gezeigt, beinhaltet das rechnerunterstützte Visualisierungssystem
einen Computer 1',
der mit einem zweidimensionalen Bildschirm 3, einer Zeigervorrichtung 2,
beispielsweise eine Maus, einem Track Ball oder einem Touch Pad,
und einer Tastatur 17 verbunden ist. Der Computer 1' ist mit einem
oder mehreren Prozessoren ausgestattet, und ist beispielsweise als
ein Personalcomputer implementiert. Die Zeigervorrichtung 2 macht
es für
einen Benutzer möglich,
Signale für
Positionierungswerte dem Computer 1' bereitzustellen. Vorzugsweise
ist die Zeigervorrichtung 2 mit Mitteln ausgestattet, beispielsweise
einem Scrolling-Rad 21, um dem Computer nicht nur Signale
für die
Positionierungswerte in zwei Dimensionen des Bildschirms 3 bereitzustellen,
sondern auch in der Tiefendimension (vertikal zu den zwei Dimensionen
des Bildschirms 3). Alternativ kann ein Signal für die Tiefendimension
(und die zwei Dimensionen des Bildschirms 3) beispielsweise
auch mittels der Tastatur 17 dem Computer 1' bereitgestellt
werden. In einem Ausführungsbeispiel
beinhaltet das rechnerunterstützte
Visualisierungssystem 1 ein gemeinsames Gehäuse, das
den Computer 1',
den zweidimensionalen Bildschirm 3, die Zeigervorrichtung 2,
und/oder die Tastatur 17 beinhaltet. Beispielsweise ist
das rechnerunterstützte
Visualisierungssystem 1 als eine mobile tragbare Vorrichtung,
wie ein Laptop, Notebook oder Palmtop Computer, oder als ein Personal
Data Assistant (PDA) oder ein Mobiltelefon ausgebildet.
-
Wie
in 1 illustriert, beinhaltet der Computer 1' einen Treiber 16 für die Zeigevorrichtung 2.
Der Treiber 16 ist konfiguriert, um Zeigersignale von der
Zeigervorrichtung 2 (und/oder von der Tastatur 17)
zu erhalten, und um Positionierungswerte für die zwei Dimensionen des
Bildschirms 3, die x- und y-Koordinaten, und für die Tiefendimension,
die z-Koordinate,
zu generieren. Der Fachmann wird verstehen, dass die Zeigersignale, die
durch die Zeigervorrichtung 2 (oder durch alternative Mittel)
bereitgestellt werden, nicht auf die Positionierung des Zeigers
relativ zu den drei Dimensionen (x, y, z) eines Koordinatensystems,
das durch den Bildschirm 3 definiert ist, limitiert ist,
sondern auch alternativ zur Positionierung des Zeigers relativ zu
den drei Dimensionen (u, v, w) eines Koordinatensystems, das eine
dreidimensionale Szene, die auf dem Bildschirm 3 angezeigt werden
soll, definiert wird.
-
In
einer weiteren Ausführungsform
werden die dreidimensionalen Zeigersignale von den zweidimensionalen
Signalen einer Zeigervorrichtung, wie eine Computermaus, durch einen
Treiber generiert, der automatisch einen Positionierungswert für die dritte
Dimension bestimmt. Der Treiber bestimmt die Positionierungswerte
für die
dritte Dimension, beispielsweise vom zweidimensionalen Signal und
der dreidimensionalen Szene, durch Auswählen des Positionierungswertes
für die
dritte Dimension, welche in einigen Zusammenhängen ein bester Wert von allen
möglichen
Werten entlang der Sichtlinie ist.
-
Der
Computer 1' beinhaltet
auch eine konventionelle Video-Steuerung 15,
beispielsweise eine Video-Karte, um den Bildschirm 3 zu
steuern.
-
In 1 bezieht
sich das Bezugszeichen 14 auf eine Datenquelle. Die Datenquelle
ist darstellend für Datenspeicher,
eine Programmierungs-Schnittstelle oder eine Hardware-Schnittstelle, die
Eingangsdaten bereitstellt, welche eine dreidimensionale Szene,
die auf dem Bildschirm 3 angezeigt werden soll, definiert.
Typischerweise definieren die Eingangsdaten die dreidimensionale
Szene auf der Basis von einem oder mehreren dreidimensionalen Objekten,
wobei jedes Objekt durch seine Form, Grösse und Position definiert
wird. Beispielsweise werden die Eingangsdaten von einer externen Vorrichtung 5,
wie ein Datenspeicher, eine Videokamera oder ein digitales Mikroskop,
erhalten, die mit dem Computer 1' verbunden ist. Die Eingangsdaten
können
auch von einem Applikations-Programm,
wie ein Computerspiel, ein computerunterstütztes Design- oder Modellierungsprogramm,
oder ein fortgeschrittenes wissenschaftliches Visualisierungsprogramm,
wie eine digitale Mikroskopie-Applikation, empfangen werden. Die
Eingangsdaten können
in unterschiedlichen Formaten, wie ein Stapel von 2D-TIFF-Dateien (Tagged
Image File Format) oder einer VRML-Datei (Virtual Reality Modeling
Language) mit Objekt-Koordinaten, bereitgestellt werden.
-
In 1 bezieht
sich Bezugseichen 10 auf funktionale Module, die das Visualisierungs-System
antreiben: ein 3D-Visualisierungsmodul 11,
ein Animationsmodul 12, und ein Parametermodul 13.
Die funktionalen Module 10 sind vorzugsweise als programmierte
Software-Module auf einem computerlesbaren Medium gespeichert, das
fest oder trennbar mit den Prozessoren des Computers 1' verbunden ist.
Der Fachmann wird jedoch verstehen, dass die Funktionsmodule 10 auch
voll oder teilweise mittels Hardware implementiert werden können.
-
Das
3D-Visualisierungsmodul 11 beinhaltet Softwarefunktionen
zur Implementierung eines Kameramodells, das durch seine Ansichtsprojektionsebene
und seinen Gesichtspunkt definiert ist. In anderen Worten beinhaltet
das 3D-Visualisierungsmodul 11 Softwarefunktionen zur Projektion
der dreidimensionalen Objekte, die in der dreidimensionalen Szene
vorhanden sind, auf die Ansichtsprojektionsebene der Kamera, wie
vom definierten Gesichtspunkt der Kamera gesehen. Wie in den 2a, 2b und 2c illustriert,
sind die dreidimensionalen Objekte, die in der dreidimensionalen
Szene 43 vorhanden sind, auf die Ansichtsprojektionsebene 42 durch
Projektionslinien 44, die vom Gesichtspunkt 41 ausgehen,
projiziert. Der Schnittpunkt der Projektionslinien 44 mit
der Ansichtsprojektionsebene 42 bildet das projizierte
zweidimensionale Bild der dreidimensionalen Szene und dessen dreidimensionalen
Objekte. Der Gesichtspunkt 41 und die Ansichtsprojektionsebene 42 bilden
eine Kamera, wobei die Ansichtsprojektionsebene 42 und
der Gesichtspunkt 41 so definiert werden können, dass
die dreidimensionale Szene 43 zwischen dem Gesichtspunkt 41 und
der Ansichtsprojektionsebene 42 angeordnet ist, wie in 2a gezeigt;
dass die dreidimensionale Szene 43 Objekte hat, die auf
beiden Seiten der Ansichtsprojektionsebene 42 angeordnet
sind, wie in 2b gezeigt; oder dass die dreidimensionale
Szene 43 auf der Seite der Ansichtsprojektionsebene 42 angeordnet
ist, die vom Gesichtspunkt 41 weggerichtet ist, wie in 2c gezeigt.
Anstelle einer Zentralprojektion wird Parallelprojektion der dreidimensionalen
Szene durch Definieren des Gesichtspunkts 41 der Kamera
bei einer unendlichen Distanz von der Ansichtsebene 42 erhalten.
Durch Zuordnen des zweidimensionalen Bildes von der Ansichtsprojektionsebene 42 durch
die Video-Steuerung 15 auf dem zweidimensionalen Bildschirm 3,
wird ein zweidimensionales Bild 48 der dreidimensionalen
Szene auf dem Bildschirm 3 dargestellt. Vorzugsweise sind
die Funktionen des 3D-Visualisierungsmoduls 11 über eine
Applikations-Programmschnittstelle verfügbar. Beispielsweise beinhalten
die 3D-Visualisierungsmodule Programmfunktionen von OpenGL, von
Silicon Graphics, Inc., oder von Direct 3D von Microsoft, Inc..
-
Das
Animationsmodul 12 ist konfiguriert, um automatisch und
in Echtzeit die Ansicht der dreidimensionalen Szene zu animieren,
um einem Benutzer die Ansicht der dreidimensionalen Szene 43 mit
einem kinetischen Tiefeneffekt bereitzustellen. Die Ansicht der
dreidimensionalen Szene ist durch Anwenden einer Transformation
auf die dreidimensionale Szene 43 oder auf die Kamera animiert.
-
Die
Transformation ist eine räumliche
Transformation, die für
jeden Punkt in der dreidimensionalen Szene 43 oder für die Ansichtsprojektionsebene 42 der
Kamera und den Gesichtspunkt 41, einen neuen räumlichen
Ort von einem aktuellen räumlichen
Ort berechnet. Vorzugsweise ist die Transformation eine lineare Transformation,
insbesondere eine affine Transformation, wie Scherung oder Rotation,
die auf die dreidimensionale Szene 43 oder die Kamera in
Echtzeit angewandt wird. Die lineare Transformation ordnet jedem
Punkt eines Objekts, das durch einen dreidimensionalen Vektor [a,
b, c] definiert ist, durch Multiplikation mit einer drei-auf-drei
Transformationsmatrix einen entsprechenden Punkt des transformierten
Objektes, der durch einen neuen dreidimensionalen Vektor [a', b', c'] definiert ist,
zu. Der Fachmann wird verstehen, dass es auch möglich ist, nicht lineare Transformationen
auf die dreidimensionale Szene anzuwenden, beispielsweise eine Transformation,
wie Rotation oder Scherung, die nur auf eine definierte, limitierte
räumliche
Umgebung des Zeigers angewandt wird. Das Animationsmodul 12 ist
konfiguriert, um eine Rotations- und/oder Scherungs-Transformation
auf die dreidimensionale Szene 43 oder auf die Kamera anzuwenden.
Beispielsweise kann mittels des Parameter-Moduls 13 die
Transformationsart durch den Benutzer von einer Liste von definierten
Transformationsarten ausgewählt
werden. Standardmässig
wird jedoch die Scherungstransformation als die bevorzugte Transformationsart
ausgewählt.
Das Animationsmodul 12 ist ausgebildet, um die Transformation
auf die dreidimensionale Szene 43 oder die Kamera so anzuwenden,
dass die Projektion (Ansicht) des Zeigers im Wesentlichen statisch
bleibt. Für
die Rotations-Transformation wird das statische Halten der Zeiger-Projektion 46 durch
Ausführen
der Rotation um eine Rotationsachse, die durch einen aktuellen Ort
des Zeigers 45 verläuft
und die im Wesentlichen parallel zur Ansichtsprojektionsebene 42 ist,
ausgeführt.
Für die Scherungs-Transformation wird
das statische Halten der Zeiger-Projektion 46 durch Ausführen der
Scherung um eine Scherungsebene p, die durch einen aktuellen Ort
des Zeigers 45 verläuft
und die im Wesentlichen parallel zur Ansichtsprojektionsebene 42 ausgerichtet
ist, erzielt.
-
Der
folgende Abschnitt zeigt ein Beispiel eines kommentierten Programm-Codes
in C++ zur automatischen Animierung der Ansicht der dreidimensionalen
Szene 43, durch Anwenden einer Rotations-Transformation auf
die dreidimensionale Szene 43. Im Wesentlichen verwendet
das hier gezeigte Beispiel OpenGL-Funktionsaufrufe, um die Animation zu
erhalten. Im vorliegenden Beispiel hat das Anwenden einer Rotations-Transformation
auf die dreidimensionale Szene den Vorteil, dass der gleiche Programmcode
für eine perspektivische
Kamera, wie auch für
eine orthogonale Kamera, verwendet werden kann. In dem Beispiel
hat die Rotation den Effekt, dass die dreidimensionale Szene relativ
zur Kamera bewegt wird. In dem Beispiel wird die dreidimensionale
Szene zurück
und vorwärts
um den aktuellen Ort des Zeigers verschwenkt.
-
-
-
Als
ein Resultat der Rotations-Transformation wird die relative Positionierung
der Kamera und der dreidimensionalen Szene 43 verändert. Wie
in den 3a und 3b gezeigt,
sind der Gesichtspunkt 41 und die Ansichtsprojektionsebene 42 um
den Zeiger (oder Cursor) 45 rotiert, während der Gesichtspunkt 41 relativ
zur Ansichtsprojektionsebene 42 festgehalten wird. Da die
Bewegung der dreidimensionalen Szene 43 relativ zur Kamera äquivalent
zur Bewegung der Kamera relativ zur dreidimensionalen Szene 43 ist,
ist das Verändern der
Positionen der Objekte der dreidimensionalen Szene 43 relativ
zum Gesichtspunkt 41 und der Ansichtsprojektionsebene 42 äquivalent
zur Veränderung
der Positionen des Gesichtspunkts 41 und der Ansichtsprojektionsebene 42 bezüglich der
dreidimensionalen Szene 43. Die aktuelle Position des Zeigers 45 wird
kontinuierlich von den Positionierungswerten, die durch den Treiber 16 bereitgestellt
werden, bestimmt. Demnach wird die Kamera, als ein Resultat der
Rotation, um eine aktuelle Position des Zeigers 45 verschwenkt,
so dass der Ort der Zeiger-Projektion,
der durch den Schnittpunkt der Projektionslinie 44', die durch
den Gesichtspunkt 41 und den Zeiger 45 verläuft, auf
der Ansichtsprojektionsebene 42 fixiert bleibt. Wie in 3b gesehen
werden kann, verändert
sich aufgrund der Rotation α des
Gesichtspunkts 41 und der Ansichtsprojektionsebene 42 um den
Zeiger 45, die Projektion von allen anderen Objekten der
dreidimensionalen Szene 43 auf der Ansichtsprojektionsebene 42.
Mit anderen Worten, verglichen zu 3a, werden
die Orte der Schnittstellen der Projektionslinien mit der Ansichtsprojektionsebene 42 in 3b bewegt.
-
Um
dem Benutzer auf dem Bildschirm 3 eine Ansicht der dreidimensionalen
Szene 43 mit einem kinetischen Tiefeneffekt bereitzustellen,
wird das Animationsmodul 12 so konfiguriert, um automatisch
die Ansicht der dreidimensionalen Szene durch kontinuierliches Anwenden
von räumlichen
Transformationen auf die dreidimensionale Szene 43 zu animieren.
Eine kontinuierliche Animation der projizierten und angezeigten
Ansicht der dreidimensionalen Szene wird durch zyklisches Wiederholen
einer Serie von Rotations-Transformationen mit kontinuierlichem
Wechseln der Transformationsmatrix erzielt. Wenn eine Rotations-Transformation angewendet
wird, wird die Transformations-Matrix kontinuierlich verändert, um
einen Effekt zu erzielen, als wenn die Kamera (oder die dreidimensionale
Szene 43) kontinuierlich mit einer definierten Bewegung
bewegt wird. Die definierte Bewegung wird zyklisch wiederholt, und
die aktuelle Position des Zeigers 45 wird als ein definierter
fester Punkt verwendet. Beispielsweise, wie vorher für die Transformationsart
beschrieben, kann die definierte Bewegung durch den Benutzer von
einer Liste von definierten Bewegungsarten mittels des Parametermoduls 13 ausgewählt werden.
Wie es schematisch in 7 illustriert ist, beinhalten
die definierten Bewegungen die Bewegungen der Kamera in einem u/v/w-Koordinatensystem,
wobei der Gesichtspunkt der Kamera im Wesentlichen in einer (u/v)
Referenzebene mit der zentralen Projektionslinie w* als eine Normale
bewegt wird. Beispiele von definierten Bewegungen beinhalten eine
zirkulare Bewegung A, die diagonale Bewegung B, eine Bewegung in
der Form einer "8" (nicht gezeigt),
die horizontale Bewegung C oder die vertikale Bewegung D. Die diagonalen
B, horizontalen C und vertikalen Bewegungen D beinhalten eine Bewegung
von einem Startpunkt zu einem Endpunkt und vom Endpunkt zurück zum Startpunkt.
Das Anwenden von Transformationen, welche den Bewegungen des Gesichtspunkts
der Kamera im Wesentlichen in der Referenzebene entsprechen, lässt die
Darstellung der dreidimensionalen Szene im zweidimensionalen Bildschirm
so zu erscheinen, als wenn der Benutzer seinen Kopf parallel zur
Bildschirmoberfläche
bewegt, um eine alternative Ansicht der dreidimensionalen Szene
zu erhalten. Das Anwenden von Transformationen, welche in einer
Bewegung des Gesichtspunkts der Kamera in der u-Dimension (horizontale
Richtung) resultieren, entspricht einer (horizontalen) Seitwärtsbewegung
des Kopfes; Bewegung des Gesichtspunkts der Kamera in der v-Dimension
(vertikale Richtung) entspricht der (vertikalen) Nickbewegung des
Kopfes; kombinierte Bewegung des Gesichtspunkts der Kamera in der
u- und v-Dimension (horizontale und vertikale Richtungen) kann beispielsweise
einer zirkularen Bewegung des Kopfes entsprechen. Das Parameter-Modul 13 stellt
auch eine Benutzerschnittstelle bereit, um Parameter für unterschiedliche
Arten von definierten Bewegungen zu spezifizieren, beispielsweise
die Geschwindigkeit der Bewegung oder ein Schwenkwinkel Φ (oder eine
Scherungsamplitude S) einer Schwenkbewegung. Ohne jede Benutzerangabe
verwendet das Animationsmodul 12 Standardparameter, die
im Computer 1' gespeichert
sind. Vorzugsweise liegt die Zykluszeit (Periode) in einem Bereich
von 1 bis 3 Sekunden. Vorzugsweise liegt der Schwenkwinkel im Bereich
von 2 bis 10 Grad, so dass die Bewegung der angezeigten dreidimensionalen
Objekte relativ zu ihrer entsprechenden Grösse klein ist.
-
Wie
im Beispiel von 4 gezeigt, rotiert das Animationsmodul 12 für eine horizontale
Bewegung (in der U-Dimension bzw. X-Dimension) um eine Rotationsachse, die
durch den Zeiger 45 parallel zur Ansichtsprojektionsebene 42a, 42b, 42c verläuft. Alternativ
kann die Kamera rotiert werden, so dass der Gesichtspunkt und die
Ansichtsprojektionsebene sich in einer Schwenkbewegung um den Zeiger 45 bewegen.
In dem in 4 gezeigten Beispiel wird der
Gesichtspunkt schrittweise und wiederholt (zyklisch) entlang der
Kurve t von einem ursprünglichen
zentralen Gesichtspunkt 41b, der eine zentrale Projektionslinie
w* hat, zu einem ersten Endgesichtspunkt 41a bewegt; vom
ersten Endgesichtspunkt 41a zurück zum zentralen Gesichtspunkt 41b;
vom zentralen Gesichtspunkt 41b zu einem zweiten Endgesichtspunkt 41c;
und vom zweiten Endpunkt 41c zurück zum zentralen Gesichtspunkt 41b.
Die Ansichtsprojektionsebene 46a, 46b, 46c bleibt
immer fixiert zum Gesichtspunkt 41a, 41b, 41c.
Diese kontinuierliche Zurück-und-Vorwärts-Schwenkbewegung
der Kamera (oder eine entsprechende Schwenkbewegung der dreidimensionalen
Szene) resultiert in einer animierten Ansicht der dreidimensionalen
Szene auf dem zweidimensionalen Bildschirm 3, wobei sich
die dreidimensionalen Objekte kontinuierlich nach rechts und zurück nach
links bewegen, wobei die angezeigte Ansicht des Zeigers 49 fest bleibt.
Abhängig
von der definierten Bewegung ist die Kurve t als eine gerade, gekurvte
oder runde Linie in der U/V Referenzebene definiert. Die Kurve t
kann auch mit einem Radius R relativ zum Zeiger 45 definiert sein.
-
In
der 5b wird die projizierte dreidimensionale Szene 47b der
dreidimensionalen Szene 43b auf der Projektionsebene 42,
wie vom Gesichtspunkt 41 gesehen, projiziert. Weiterhin
wird der projizierte Zeiger 46 des Zeigers 45 auf
der Projektionsebene 42, wie vom Gesichtspunkt 41 gesehen,
gezeigt.
-
In 5a sind
die relativen Positionen des Gesichtspunkts 41 und der
Ansichtsprojektionsebene 42 bezüglich der dreidimensionalen
Szene verändert.
Im Beispiel der 5a wird der Wechsel der relativen
Positionierung als ein Resultat der Rotation β der dreidimensionalen Szene 43a um
den Zeiger 45 erhalten. Jedoch kann der Wechsel der relativen
Positionierung auch durch das Rotieren der Kamera um den Zeiger 45 erhalten
werden. Wie es in 5a gesehen werden kann, ist
die projizierte dreidimensionale Szene 47a unterschiedlich
zu der projizierten dreidimensionalen Szene 47b, wie in 5b gezeigt.
Die projizierte dreidimensionale Szene 47a erscheint, als
wenn diese von einem Gesichtspunkt, der weiter rechts als der Gesichtspunkt in 5b liegt,
gesehen wird.
-
In 5c wird
der Wechsel der relativen Positionen des Gesichtspunkts 41 und
der Ansichtsprojektionsebene 42 bezüglich der dreidimensionalen
Szene als ein Resultat der Rotation 6 der dreidimensionalen Szene 43c um
den Zeiger 45 erhalten. Nochmals, der Wechsel der relativen
Positionierung kann auch durch Rotation der Kamera um den Zeiger 45 erhalten
werden. Wie es in 5c gesehen werden kann, ist
die dreidimensionale Szene 47c unterschiedlich zu den projizierten
dreidimensionalen Szenen 47a, 47b, die in den 5a bzw. 5b gezeigt
werden. Die projizierte dreidimensionale Szene 47c erscheint,
als wenn diese von einem Gesichtspunkt betrachtet wird, der weiter
links als der Gesichtspunkt in den 5a und 5b angeordnet
ist.
-
In 6a wird
der zweidimensionale Bildschirm 3 gezeigt, welcher eine
Ansicht der dreidimensionalen Szene 48a und eine Ansicht
des Zeigers 49 anzeigt. Die angezeigte Ansicht der dreidimensionalen
Szene 48a entspricht der projizierten dreidimensionalen
Szene 47a von 5a. Beispielsweise entspricht
die angezeigte Ansicht der dreidimensionalen Szene 48a einer
Ansicht der dreidimensionalen Szene von einer Kamerakonfiguration
mit dem ersten Endgesichtpunkt 41a von 4.
Sobald die Kamera sich entlang der Kurve t von 4 bewegt, ändert sich
die perspektivische Ansicht der dreidimensionalen Szene, die auf
Bildschirm 3 angezeigt wird, schrittweise. Sobald die Kamera
die Konfiguration mit dem zentralen Gesichtspunkt 41b von 4 erreicht,
zeigt der Bildschirm 3 die dreidimensionale Szene 48b und
eine Ansicht des Zeigers 49, wie in 6b gezeigt.
Die angezeigte Ansicht der dreidimensionalen Szene 48b entspricht
der projizierten dreidimensionalen Szene 47b von 5b.
Die Kamera wird weiter entlang der Kurve t von 4 bewegt
und die perspektivische Ansicht der dreidimensionalen Szene, die
auf dem Bildschirm 3 angezeigt wird, ändert schrittweise. Sobald
die Kamera die Konfiguration mit dem zweiten Endgesichtspunkt 41c der 4 erreicht,
zeigt der Bildschirm 3 die dreidimensionale Szene 48c und
eine Ansicht des Zeigers 49, wie dies in 6c illustriert ist.
Die angezeigte Ansicht der dreidimensionalen Szene 48c entspricht
der projizierten dreidimensionalen Szene 47c von 5c.
Diese Animation der Ansicht der dreidimensionalen Szene wird fortgesetzt,
solange die Kamera zurück
auf der Kurve t von 4 bewegt wird, von dem zweiten
Endgesichtspunkt 41c durch den zentralen Gesichtspunkt 41b,
zurück
zum ersten Endgesichtspunkt 41a. Nachfolgend kann der Zyklus
erneut wiederholt werden. Alternativ wird die dreidimensionale Szene
entsprechend rotiert werden, um die gleiche animierte Ansicht der
dreidimensionalen Szene auf dem Bildschirm 3 zu erhalten.
-
8 illustriert
eine Scherungstransformation als die bevorzugte räumliche
Transformation, die auf die dreidimensionale Szene 43 angewandt
wird, um in Echtzeit die Ansicht der dreidimensionalen Szene 48b automatisch
zu animieren. Die Scherungsoperation wird um die Scherungsebene
p ausgeführt,
welche durch den Zeiger 45 parallel zur Ansichtsprojektionsebene 42 verläuft. Wie
es in der Ansicht in 8 gezeigt wird, wird die Scherungsoperation
mit einer maximalen Scherungsamplitude S, die als die Distanz zwischen
den dreidimensionalen Szenen 43a und 43b definiert
ist, die als ein Resultat der angewandten Scherungstransformation die
grösste
Deformation haben. Eine kontinuierliche Animation der projizierten
und angezeigten Ansicht der dreidimensionalen Szene wird durch zyklisches
Wiederholen einer Serie von Scherungstransformationen mit kontinuierlichem
Wechsel der Transformationsmatrix erzielt. Wie in 8 gezeigt,
startet ein Zyklus mit der initialen, nicht deformierten dreidimensionalen
Szene 43; von dort wird die Scherungstransformation kontinuierlich
in kleinen Schritten auf die Scherungsamplitude angewandt, bis die
Scherungstransformation in der transformierten dreidimensionalen
Szene 43a resultiert; nachfolgend wird die Scherungstransformation
kontinuierlich in kleinen Dekrementen der Scherungsamplitude angewandt,
bis die Scherungstransformation in der transformierten dreidimensionalen
Szene 43b resultiert; letztendlich wird der Zyklus durch
das Anwenden der Scherungstransformation in kontinuierlichen kleinen
Inkrementen auf die Scherungsamplitude beendet, bis die Scherungstransformation
in der initialen nicht deformierten dreidimensionalen Szene 43 resultiert.
Durch die kontinuierliche Scherung der dreidimensionalen Szene, ändert sich
die perspektivische Ansicht der dreidimensionalen Szene, die auf
dem Bildschirm 3 gezeigt wird, wie vom Gesichtspunkt 41 auf
die Ansichtsprojektionsebene projiziert, schrittweise. Das Anwenden
der Scherungstransformation innerhalb eines vollen Bereiches der
Scherungsamplitude S entspricht dem Anwenden der Scherungstransformation
innerhalb des Schwenkwinkels Φ,
wie in 8 gezeigt. Der Fachmann wird verstehen, dass die
Animation der Ansicht der dreidimensionalen Szene durch eine Scherungstransformation
alternativ durch eine entsprechende Scherung der Kamera, insbesondere
durch Scherung des Gesichtspunkts und der Ansichtsprojektionsebene
einer parallelen Projektionskamera, erzielt werden kann.
-
Wie
es oben mit Bezug zur 7 beschrieben worden ist, können nicht
nur die Informationsart, sondern auch eine Bewegungsart durch den
Benutzer mittels des Parametermoduls 13 ausgewählt werden.
Gemäss
der ausgewählten
Bewegungsart animiert das Animationsmodul 12 automatisch
die Ansicht der dreidimensionalen Szene, um dem Benutzer eine Ansicht
der dreidimensionalen Szene 43 mit einem kinetischen Tiefeneffekt
bereitzustellen.
-
Durch
Anwenden einer Scherungstransformation wird die Transformationsmatrix
kontinuierlich verändert,
um einen Effekt zu erzielen, als wenn die dreidimensionale Szene 43 (oder
die Kamera) mit einer definierten Bewegung geschert worden wäre. Die
definierte Bewegung der Scherungstransformation wird zyklisch repetiert,
während
die Scherungsebene p 45 fixiert gehalten wird. In 9 wird,
um unterschiedliche Arten von Bewegungen der Scherungstransformation
zu illustrieren, die Bewegung von Punkten auf der dreidimensionalen
Szene 43, die auf einer Achse 61 angeordnet sind,
die durch einen Fixpunkt 6 in der Scherungsebene p verläuft, gezeigt.
Das Bezugszeichen w' bezieht
sich auf eine Normale zur Scherungsebene p, die durch den Fixpunkt 6 verläuft. Wie
es schematisch in der 9 gezeigt wird, werden die Punkte
auf der Achse 61 durch die Scherungstransformationen bewegt,
so dass die Schnittpunkte der Achse 61 mit den u/v-Referenzebenen parallel
zur Scherungsebene p Bewegungen, wie eine Kreisbewegung Q (Kreisbewegung
Q' in Rückwärtsrichtung),
die diagonale Bewegung R (diagonale Bewegung R' in Rückwärtsrichtung), eine Bewegung
in der Form einer „8" (nicht gezeigt),
die horizontale Bewegung S (horizontale Bewegung S' in Rückwärtsrichtung),
oder die vertikale Bewegung T (vertikale Bewegung T' in Rückwärtsrichtung),
definieren. Als ein Resultat von diesen Scherungstransformationen
erscheint die Darstellung der dreidimensionalen Szene im zweidimensionalen Bildschirm,
als wenn der Benutzer seinen Kopf parallel zum Bildschirm bewegt
hätte,
um eine alternative Ansicht der dreidimensionalen Szene zu erhalten.
Das Anwenden von Transformationen, welche in einer Bewegung der
Schnittstellen in der u-Dimension (horizontale Richtung) resultieren,
entsprechen einer (horizontalen) Seitwärtsbewegung des Kopfes; Bewegungen
der Schnittstellen in der v-Dimension (vertikale Dimension) entsprechen
einer (vertikalen) Nickbewegung des Kopfes; kombinierte Bewegungen
der Schnittstellen in der u- und v-Dimension (horizontale und vertikale
Richtungen) können
beispielsweise einer Kreisbewegung des Kopfes entsprechen.
-
Für die Rotationstransformation
sowie für
die Scherungstransformation ist die bevorzugte (standardmässige) Bewegung
zur kontinuierlichen und automatisierten Bewegung der Ansicht der
dreidimensionalen Szene in Echtzeit eine Zurück-und-Vorwärts-Schwenkbewegung um die aktuelle Position
des Zeigers, entsprechend der horizontalen Bewegung C, wie mit Bezug
zu
-
7 beschrieben,
bzw. entsprechend der horizontalen Bewegung S, wie mit Bezug zu 9 beschrieben.
-
Der
folgende Absatz zeigt ein Beispiel eines kommentierten Programmcodes
unter Verwendung von OpenGL Funktionsaufrufen zur automatischen
Animierung der Ansicht der dreidimensionalen Szene 43 durch Anwendung
einer Scherungstransformation auf die dreidimensionalen Szene 43.
-
-