DE69130198T2 - Bildanzeigesysteme - Google Patents
BildanzeigesystemeInfo
- Publication number
- DE69130198T2 DE69130198T2 DE69130198T DE69130198T DE69130198T2 DE 69130198 T2 DE69130198 T2 DE 69130198T2 DE 69130198 T DE69130198 T DE 69130198T DE 69130198 T DE69130198 T DE 69130198T DE 69130198 T2 DE69130198 T2 DE 69130198T2
- Authority
- DE
- Germany
- Prior art keywords
- viewpoint
- movement
- poi
- image
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf Techniken zum Erzeugen der Wahrnehmung eines sich bewegenden Blickpunktes innerhalb eines dreidimensionalen Raumes, der auf einer Anzeigevorrichtung dargestellt wird.
- Fairchild, K. M., Poltrok, S. E., and Firnas, G. W., "SemNet: Three-Dimensional Graphic Represantations of Large Knowledge Bases," in Guindon, R., ed., Cognitive Science and its Applications for Human-Computer Interaction, Lawrence Erlbaum, Hillsdale, N. J., 1988, pp. 201-233, beschreiben Sem-Net, eine dreidimensionale graphische Schnittstelle. SemNet ermöglicht semantische Navigationstechniken, wie etwa relative Bewegung, absolute Bewegung und Teleportation. Abschnitt 5 erläutert Navigieren und Blättern, enthaltend Blickpunkt- Bewegungstechniken, wie etwa das Bewegen des Blickpunktes dicht an ein Element, das der Betrachter untersuchen muß. Abschnitt 5.2.1 beschreibt eine relative Bewegung mit unabhängigen Steuerungen für drei orthogonale Rotationen des Blickpunktes und Vorwärts- sowie Rückwärtsbewegung entlang der Sichtlinie. Es sind Werkzeuge für die Einstellung der Geschwindigkeit von Bewegung und Rotation vorhanden, die relative Bewegung ist jedoch langsam und ungünstig zu handhaben. Abschnitt 5.2.2 beschreibt die absolute Bewegung, bei der der Anwender auf einen gewünschten Blickpunktort auf einer Karte des dreidimensionalen, Kenntnisraums deuten kann. Die Karte kann zwei oder drei zweidimensionale Teile haben, wobei jeder Teil eine Koordinatenebene im Raum repräsentiert, und der Anwender kann die Position des Blickpunktes durch Bewegen eines Sternchens in einer Ebene zu einer Zeit unter Verwendung der Maus verändern. Ein Filter stellt sicher, daß sich der Blickpunkt langsam bewegt, wodurch man den Eindruck einer Fortbewegung durch den dreidimensionalen Raum erhält. Obwohl die absolute Bewegung schneller und einfacher ist als die relative Bewegung, ist sie nicht sehr präzise, und die Bewegung des Blickpunktes auf mehr als einer Karte ist verwirrend. Abschnitt 5.2.3 beschreibt die Teleportation, bei der ein Anwender ein kürzlich besuchtes Kenntniselement aus einem Menü wählen und sich sofort zum Ort des Kenntniselementes bewegen kann. Abschnitt 5.2.4 beschreibt die Hyperraumbewegung, bei der die Endpunkte, die mit einem gewählten Kenntniselement verbunden sind, temporär zu den sie umgebenden Positionen bewegt werden, und dann in ihre Ursprungspositionen zurückspringen, nachdem ein neuer Endpunkt gewählt wurde.
- Ein Artikel von C. Ware und S. Osbourne in Computer Graphics Vol. 24 (1990)2. Seite 175-183 beschreibt drei Metaphern für die Erforschung und die Steuerung einer virtuellen Kamera in virtuellen Umgebungen unter Verwendung einer Anwender-Eingabevorrichtung.
- Burton, R. R., Sketch: A Drawing Program for Interlisp-D, Xerox Corporation, Palo Alto Research Center, ISL-14, August 1985, pp. 44-48 beschreibt Techniken zum Verändern des Teils einer Zeichnung, die in einem Fenster gesehen wird. Eine Zeichnung ist eine Sammlung von Elementen, wie etwa Linien und Text. Die Zeichnung hat einen Weltkoordinatenraum, und die Position jedes Elementes wird mit den Werten in diesem Raum angegeben. Eine Zeichnung wird innerhalb eines Fensters angesehen und editiert, das einen Bereich des Koordinatenraumes einer Zeichnung darstellt und beliebige der Elemente zeigt, die sich in diesem Bereich befinden. Der Bereich wird durch den Maßstab des Fensters, seiner Größe und die Werte seiner linken und unteren Koordinate bestimmt. Wie es in Fig. 59-62 dargestellt ist, kann der Fenstermaßstab durch den Bewegungsansicht-Befehl oder den Autozoom-Befehl verändert werden. Der Anwender kann den Bewegungsansicht-Befehl aus dem Befehlemenü wählen und dann den Cursor benutzen, um einen neuen Teil der Zeichnung zu definieren, der im Fenster erscheinen soll, indem er die Maustaste in der einen Ecke drückt und den Cursor zur anderen Ecke zieht; der ausgewählte Bereich wird angepaßt, um das Zeichnungsfenster zu füllen. Der Anwender kann den Autozoom-Befehl aus dem Befehlsmenü wählen, dann den Cursor zu dem Punkt in der Zeichnung führen, um den das Zoomen erfolgen soll, und dann einen oder zwei Tasten drücken, um anzuzeigen, ob ein- oder ausgezoomt werden soll; Einzoomen macht das Bild größer, wobei der Punkt unter dem Cursor am gleichen Ort bleibt, während Auszoomen das Bild kleiner macht, wobei der Punkt unter dem Cursor an derselben Stelle bleibt. Das Bild wächst weiter an oder schrumpft um die Position des Cursors, solange eine der Tasten gedrückt bleibt.
- Die vorliegende Erfindungen gibt Techniken zum Betreiben eines Systems an, um die Wahrnehmung der Bewegung eines Blickpunktes in einem dreidimensionalen Arbeitsraum zu erzeugen. Kennzeichnet der Anwender einen Punkt von Interesse auf einem Objekt, kann sich der Blickpunkt diesem Punkt des Interesses asymptotisch sowohl mit radialer als auch seitlicher Bewegung nähern. Die Orientierung des Blickpunktes kann sich drehen, um den Punkt des Interesses im Blickfeld zu behalten. Das Blickfeld kann zudem um den interessierenden Punkt durch Drehen des Blickpunktes zentriert werden.
- Ein Aspekt der Erfindung basiert auf der Erkenntnis eines grundlegenden Problems bei der Bewegung des Blickpunktes in einem dreidimensionalen Arbeitsraum. Es ist häufig wünschenswert, den Blickpunkt dichter an ein bestimmtes Ziel heranzuführen. Der Anwender kann beispielsweise den Wunsch haben, ein Detail eines Objektes aus nächster Nähe zu betrachten. Herkömmliche Techniken lassen einen einfachen Weg für den Anwender, eine derartige Bewegung des Blickpunktes zu erhalten, nicht zu.
- Dieser Aspekt basiert weiterhin auf der Entdeckung einer Anwenderschnittstellen-Technik, die dieses Problem löst. Der Anwender kann einen Zielbereich wählen, und in Abhängigkeit dessen bewegt sich der Blickpunkt in eine geeignete Blickposition.
- Diese Technik kann mit einer Zeigevorrichtung, wie etwa einer Maus, angewendet werden. Der Anwender kann eine Maustaste drücken, um einen Bereich auf der Oberfläche des Objektes zu kennzeichnen, auf die der Zeiger im Augenblick zeigt. Der Anwender kann zudem mit einem Signal die Bewegung des Blickpunktes zu einem angezeigten Punkt in diesem Bereich verlangen, auf den sich mit "Punkt von Interesse" oder "POI" bezogen wird. Wünscht der Anwender eine Bewegung des Blickpunktes zum POI, auf das sich mit "POI-Annäherung" bezogen wird, kann das System eine animierte Bewegung erzeugen, so daß die Konstanz des Objektes erhalten bleibt.
- Ein Aspekt der Erfindung, auf den sich bezogen wird, basiert auf der Erkenntnis eines Problems bei der Ausführung der POI- Annäherung. Ist die Blickpunktbewegung schnell, hat der Anwender Schwierigkeiten, die Bewegung so zu steuern, daß sie in einer geeigneten Position endet. Ist die Blickpunktbewegung jedoch langsam, nimmt sie zuviel Zeit in Anspruch. Herkömmliche Blickpunkt-Bewegungstechniken werden diesem Problem nur unzureichend gerecht.
- Dieser Aspekt basiert weiterhin auf der Entdeckung, das dieses Problem durch Ausführen der POI-Annäherung in asymptotischer Art und Weise auf der Basis von Koordinatendaten gelöst werden kann, die die Positionen des Blickpunktes und des POI im dreidimensionalen Arbeitsraum kennzeichnen. Der Blickpunkt kann sich beispielsweise dem POI entlang eines Strahls in nacheinander kleiner werdenden Schritten nähern, die sich der Endblickposition asymptotisch nähern.
- Diese Lösung kann mit einer logarithmischen Bewegungsfunktion erreicht werden. Während jedes Animationszyklus können die x-, y- und z-Verschiebungen zwischen der augenblicklichen Blickpunktposition und dem POI um dieselbe proportionale Größe reduziert werden, auf die sich mit Annährungs-Proportionalitätskonstante bezogen wird. Demzufolge scheint ein Zielobjekt mit einer konstanten Proportionalitätsrate zu wachsen, wodurch es einfach wird, vorauszusagen, wann der Blickpunkt die gewünschte Position erreichen wird. Dies ermöglicht eine anfänglich schnelle Bewegung und dann eine zunehmend langsamere Bewegung, wodurch es dem Anwender gestattet wird, die Bewegung effizienter durch Repositionieren des POI als Blickpunkt in Nähe des Ziels zu steuern. Zudem liefert diese Darstellung die Wahrnehmung einer natürlichen Bewegung im dreidimensionalen Arbeitsraum. Die POI- Annäherung kann so geleitet werden, daß der Blickpunkt nicht zu dicht an den POI gelangt.
- Einige eng verwandte Aspekte der Erfindung basieren auf der Erkenntnis, daß die POI-Annäherung nicht allen Anforderungen des Anwenders bezüglich der Blickpunktbewegung gerecht wird.
- Ein Problem bei der einfachen POI-Annäherung besteht darin, daß sie den Blickpunkt nicht in geeigneter Weise ausrichtet. Dieses Problem kann durch Justieren des Blickpunktes gelöst werden, entweder während der POI-Annäherung oder unabhängig von dieser Annäherung. Ein Weg, den Blickpunkt zu justieren, besteht darin, den Blickpunkt seitlich zur Oberflächen-Normalen am POI zu bewegen. Ein anderer darin, den POI zu drehen, um den POI an derselben Position im Blickfeld zu halten, oder ihn zur Mitte des Blickfeldes zu bewegen.
- Eine seitliche Blickpunktbewegung hat in vielen Fällen den unmittelbaren Effekt, den POI von der Mitte des Blickfeldes wegzubewegen. Dieses Problem kann durch Kompensation der Blickpunktdrehung gelöst werden. Wird der Blickpunkt um einen Winkel gedreht, der gleich dem Winkel ist, dem die seitliche Blickpunktbewegung gegenüberliegt, bleibt der POI an der gleichen Position im Blickfeld.
- In vielen Fällen beläßt die oben beschriebene Blickpunktbewegung den POI trotzdem in einem wesentlichen Anstand von der Mitte des Blickfeldes. Dieses Problem kann durch die Zentrierung der Blickpunktdrehung gelöst werden. Bei jedem Schritt kann der Blickpunkt bis zu einer maximalen Blickpunktdrehung gedreht werden, um den POI zu zentrieren. Diese Zentrierung kann zusätzlich zur Blickpunktdrehung durchgeführt werden, um die seitliche Blickpunktbewegung zu kompensieren.
- Werden diese und weitere Arten der Blickpunktbewegung in angemessener Weise angewendet, kann die daraus resultierende Bewegung schwierig und verwirrend sein. Insbesondere wenn der Anwender zu viel Freiheitsgrade steuern muß, kann er Schwierigkeiten haben, die gewünschte Blickpunktbewegung zu erreichen.
- Eine weitere Technik basiert auf der Entdeckung, daß unterschiedliche Arten der Blickpunktbewegung integriert werden können, wenn die Verschiebung zwischen zwei Schritten eine Funktion der Distanz zwischen dem Blickpunkt und des POI ist. Mit diesem Ansatz kann jede Art von Blickpunktbewegung von einem gegebenen Punkt unabhängig von einer vorherigen Blickpunktbewegung erfolgen und mit einer Funktion ermittelt werden, die mit anderen Arten der Blickpunktbewegung vom selben Punkt kompatibel ist.
- Ein Beispiel dieses Ansatzes ist die Integration der POI- Annäherung mit der Blickpunktbewegung weg vom POI, auf die sich im folgenden mit "POI-Rückweg" bezogen wird. Wie es oben beschrieben worden ist, kann die POI-Annäherung einer Logarithmusfunktion mit einer Annäherungs-Proportionalitätskonstante folgen. Zum Zwecke der Symmetrie zwischen POI-Annäherung und -Rückweg, kann die POI-Rückweg-Funktion eine Logarithmusfunktion mit einer Rückwegs-Proportionalitätskonstante sein, so daß jeder Rückwegschritt zwischen zwei Punkten die gleiche Länge wie ein Annäherungsschritt in die entgegengesetzte Richtung zwischen diesen beiden Punkten hat.
- Die seitliche Blickpunktbewegung kann ebenfalls mit POI-Annäherung und -Rückweg integriert werden, um eine Bewegung zur Oberflächen-Normalen am POI zu ermöglichen. Während jedes Animationszyklus wird die Verschiebung von der POI-Annäherung oder dem Rückzug verwendet, um einen Zwischenblickpunkt zu erhalten; man erhält eine Vektor-Normale zum POI und findet einen seitlichen Positionspunkt auf dem Vektor in einer Distanz, die der Distanz vom POI zum Zwischenblickpunkt gleicht; und den Endblickpunkt findet man dann entlang einer Linie vom Zwischenblickpunkt zum seitlichen Positionspunkt. Die Linie kann ein Bogen oder eine Sehne sein. Die Verschiebung vom Zwischenblickpunkt zum Endblickpunkt kann eine Proportionale der Linie sein, die man unter Verwendung einer seitlichen Proportionalitätskonstante findet. Um diese seitliche Bewegung mit der POI-Annäherung zu integrieren, sollte die seitliche Proportionalitätskonstante ausreichend größer sein als die Annäherungs-Proportionalitätskonstante, der sich der Blickpunkt zur Normalen nähert, bevor er eine geeignete Distanz erreicht, um den POI zu sehen.
- Ein weiterer Aspekt der Erfindung basiert auf der Erkenntnis eines zugrundeliegenden Problems bei der Blickpunktbewegung relativ zu einem POI. Wenn die Blickpunktbewegung fortschreitet, könnte es der Anwender wünschen, die POI-Position einzustellen, insbesondere während der POI-Annäherung, bei der der POI und der umgebende Bereich auf der Anzeigevorrichtung zunehmend größer werden. Der Anwender kann die POI-Position einstellen, indem er die Blickpunktbewegung relativ zum momentanen POI beendet und dann einen neuen POI angibt und eine Blickpunktbewegung relativ zum neuen POI verlangt. Dies würde jedoch eine ungünstige Sequenz von Blickpunktbewegungen erzeugen.
- Dieser Aspekt basiert zudem auf der Entdeckung einer Technik, die die POI-Position ohne Unterbrechung der Blickpunktbewe gung einstellt. Mit dieser Technik kann der Anwender eine gewünschte Blickpunktbewegung erzeugen, während er unabhängig davon die POI-Position einstellt. Der Anwender kann die Blickpunktbewegung mit Hilfe von Tasten steuern, um aus ein paar einfachen Optionen zu wählen, wie etwa Bewegen des Blickpunktes zum POI, Bewegen des Blickpunktes weg vom POI, oder Beibehalten des Blickpunktes an der vorherigen Position; bei einer seitlichen Betriebsart kann jede Art einer radialen Blickpunktbewegung mit einer seitlichen Blickpunktbewegung kombiniert werden, mit einer zusätzlichen Auswahl zum seitlichen Bewegen des Blickpunktes ohne diesen zum POI oder davon weg zu bewegen. Der Anwender kann die POI-Position mit Hilfe einer Anwender-Eingabevorrichtung, wie etwa einer Maus, steuern, um Positionsänderungen anzuzeigen. Das unabhängige Abrufen einer Blickpunktbewegung und die Einstellung der POI-Position ist insbesondere wirkungsvoll, da ein typischer Anwender leicht beides zur selben Zeit ohne Verwirrung befehlen kann. Der Anwender kann beispielsweise eine Hand für den Befehl einer Blickpunktbewegung und die andere Hand für die Steuerung der POI-Position verwenden.
- Ein damit eng verwandter Aspekt der Erfindung basiert auf der Erkenntnis, daß die Einstellung der POI-Position versehentlich zu einem Sprung des POI vom einen zum anderen Objekt führen kann. Dieses Problem kann gelöst werden, indem der POI gezwungen wird, auf derselben Objektoberfläche während einer Blickpunktbewegung zu bleiben. Diese Lösung kann angewendet werden, indem ein Kreis oder eine andere Form auf der Objektoberfläche dargestellt wird, die auf den POI zentriert ist, um dem Anwender bei der Positionierung des POI zu helfen. Stellt der Anwender die Position des POI ein, wie etwa durch Bedienen einer Maus, wird ein weiterer Kreis an der einge stellten Position dargestellt, der als bewegte Fortsetzung des vorherigen Kreises wahrnehmbar ist.
- Gemäß eines Aspektes der vorliegenden Erfindung wird ein Verfahren zum Bedienen eines Systems angegeben, das enthält: eine Anzeigevorrichtung, eine Anwender-Eingabevorrichtung und einen Prozessor, der angeschlossen ist, um Signale von der Anwender-Eingabevorrichtung zu empfangen und Bilder auf der Anzeigevorrichtung darzustellen; wobei die Anwender-Eingabevorrichtung Signale erzeugt, die Bereiche innerhalb der dargestellten Bilder kennzeichnen, und Signale, die eine Blickpunktbewegung befehlen; und das Verfahren folgende Schritte enthält:
- (a) Darstellen eines ersten Bildes auf der Anzeigevorrichtung; wobei das erste Bild eine erste Oberfläche enthält, die wahrnehmbar ist, wenn sie von einem ersten Blickpunkt innerhalb des dreidimensionalen Arbeitsraumes betrachtet wird, und der Schritt zur Darstellung des ersten Bildes einen Unterschritt zum Speichern der Blickpunkt-Koordinatendaten enthält, die eine Position des ersten Blickpunktes in einem dreidimensionalen Arbeitsraum kennzeichnen;
- (b) Empfangen eines ersten bereichskennzeichnenden Signals und eines ersten Signals, aus der Anwender-Eingabevorrichtung, das eine Bewegung befiehlt; wobei das erste bereichskennzeichnende Signal einen ersten Bereich auf der ersten Oberfläche anzeigt und das erste Bewegungsbefehl-Signal eine Blickpunktbewegung relativ zum ersten Bereich verlangt;
- (c) in Abhängigkeit des ersten bereichskennzeichnenden Signals und des ersten Bewegungsbefehl-Signals, Erhalten eines zweiten Blickpunktes innerhalb des dreidimensionalen Arbeitsraumes, der aus der Position, die durch die gespei cherten Blickpunkt-Koordinatendaten gekennzeichnet wird, relativ zum ersten Bereich und zur ersten Oberfläche verschoben ist;
- (d) Darstellen eines zweiten Bildes auf der Anzeigevorrichtung; wobei das zweite Bild eine zweite Oberfläche enthält, die als Fortsetzung der ersten Oberfläche wahrnehmbar ist, die von diesem zweiten Blickpunkt aus betrachtet wird.
- Gemäß eines weiteren Aspektes der vorliegenden Erfindung wird ein Bildanzeigesystem angegeben, das enthält:
- eine Anzeigevorrichtung,
- eine Anwender-Eingabevorrichtung, zum Erzeugen von Signalen, und
- einen Prozessor, der angeschlossen ist, um Signale aus der Anwender-Eingabevorrichtung zu empfangen und Bilder auf der Anzeigevorrichtung darzustellen, wobei der Prozessor einen Speicher hat;
- die Anwender-Eingabevorrichtung Signale erzeugt, die eine Blickpunktbewegung und eine Punkt-von-Interesse-Bewegung abrufen, die Anwender-Eingabevorrichtung so aufgebaut ist, daß der Anwender eine Blickpunktbewegung und eine Punkt-von- Interesse-Bewegung unabhängig abrufen kann;
- der Prozessor eine erste Einrichtung enthält, um ein erstes Bild auf der Anzeigevorrichtung anzuzeigen, das erste Bild eine erste Oberfläche enthält, die wahrnehmbar ist, wenn sie von einem ersten Blickpunkt innerhalb des dreidimensionalen Arbeitsraums betrachtet wird, das erste Bild einen ersten Punkt von Interesse auf der ersten Oberfläche enthält, die erste Einrichtung weiterhin Blickpunkt-Koordinatendaten speichert, die eine Position des ersten Blickpunktes im dreidimensionalen Arbeitsraum kennzeichnen; wobei
- der Prozessor weiterhin eine zweite Einrichtung zum Empfangen einer ersten Bewegungsbefehl-Signalabfolge enthält, die eine erste Blickpunktbewegung und eine erste Punkt-von-Interesse- Bewegung befiehlt;
- der Prozessor weiterhin eine dritte Einrichtung zum Erhalten eines zweiten Blickpunktes innerhalb des dreidimensionalen Arbeitsraumes in Abhängigkeit des ersten Bereichs-Kennzeichnungssignals und des ersten Bewegungs-Anforderungssignals enthält, wobei der zweite Blickpunkt von der Position, die mit den gespeicherten Blickpunktkoordinaten gekennzeichnet ist, relativ zum ersten Bereich auf der ersten Oberfläche verschoben ist; und eine vierte Einrichtung zum Darstellen eines zweiten Bildes auf der Anzeigevorrichtung, wobei das zweite Bild eine zweite Oberfläche enthält, die als eine Fortsetzung der ersten Oberfläche wahrnehmbar ist, wenn sie von dem zweiten Blickpunkt innerhalb des dreidimensionalen Arbeitsraumes betrachtet wird, und das zweite Bild einen zweiten Punkt von Interesse auf der zweiten Oberfläche enthält, wobei der zweite Punkt von Interesse in Übereinstimmung mit der Bewegung des ersten Punkts von Interesse verschoben wird.
- Die vorliegende Erfindung wird nun beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. In diesen ist:
- Fig. 1 eine schematische Ansicht einer Oberfläche, die von einem Blickpunkt in einem dreidimensionalen Arbeitsraum wahrnehmbar ist;
- Fig. 2A eine schematische Ansicht eines dargestellten Bildes, das die Oberfläche aus Fig. 1 enthält;
- Fig. 2B eine schematische Ansicht eines weiteren dargestellten Bildes, das eine Oberfläche enthält, die als Fortsetzung der Oberfläche von Fig. 2A wahrnehmbar ist, wenn sie von einem anderen Blickpunkt betrachtet wird;
- Fig. 3 ein Flußdiagramm, das die wesentlichen Schritte der Blickpunktbewegung zeigt;
- Fig. 4A eine Draufsicht, die eine radiale Blickpunktbewegung zu einem Punkt auf einer Oberfläche ohne Zentrierung zeigt;
- Fig. 4B eine Draufsicht, die eine radiale Blickpunktbewegung zu einem Punkt auf einer Oberfläche mit Zentrierung zeigt;
- Fig. 5 eine Draufsicht, die eine seitliche Blickpunktbewegung mit Blickpunktdrehung und eine Blickpunktbewegung zeigt, die seitliche und radiale Anteile enthält;
- Fig. 6 eine dreidimensionale Ansicht, die eine Blickpunktbewegung mit seitlichen und radialen Anteilen zeigt;
- Fig. 7 eine Draufsicht, die eine Blickpunktbewegung mit der Bewegung eines Punktes von Interesse zeigt;
- Fig. 8 ein Flußdiagramm, das die wesentlichen Schritte bei der Darstellung eines dreidimensionalen Arbeitsraumes von einem neuen Standpunkt in Abhängigkeit einer Anforderung einer Blickpunktbewegung und einer Bewegung eines Punktes von Interesse darstellt;
- Fig. 9 ein Blockschaltbild, das die Bestandteile in einem System zeigt, das die Blickpunktbewegung und die Bewegung eines Punktes von Interesse ermöglicht;
- Fig. 10 ein Flußdiagramm, daß die Schritte in einer Animationsschleife zeigt, die die Blickpunktbewegung und die Bewegung eines Punktes von Interesse ermöglicht;
- Fig. 11 ein Flußdiagramm, das die Schritte beim Ermitteln eines Ausgangspunktes von Interesse von Fig. 10 darstellt;
- Fig. 12 ein Flußdiagramm, das die Schritte beim Ermitteln eines momentanen Punktes von Interesse und einer Blickpunktposition von Fig. 10 zeigt;
- Fig. 13 ein Flußdiagramm, das die Schritte bei einer radialen Blickpunktbewegung von Fig. 12 zeigt, und
- Fig. 14 ein Flußdiagramm, das die Schritte bei einer seitlichen Blickpunktbewegung von Fig. 12 zeigt.
- Die folgenden konzeptionellen Rahmenbedingungen sind für das Verständnis des großen Anwendungsbereichs der Erfindung hilfreich, wobei die im folgenden definierten Begriffe die gekennzeichnete Bedeutung in der gesamten Anmeldung und den Ansprüchen haben.
- Ein "Datenverarbeitungssystem" ist ein System, das Daten verarbeitet. Ein "Datenprozessor" oder "Prozessor" ist irgendein Bestandteil des Systems, der Daten verarbeiten kann, wobei dieser eine oder mehrere Zentralverarbeitungseinheiten oder andere Verarbeitungskomponenten enthalten kann.
- Eine "Anwender-Eingabevorrichtung" ist eine Einrichtung zur Erzeugung von Signalen, basierend auf den Aktionen eines Anwenders. Die Anwender-Eingabevorrichtung kann eine oder mehrere "Anwender-Eingabevorrichtungen" enthalten, die Signale auf der Basis von Aktionen eines Anwenders erzeugen, wie etwa eine Tastatur oder eine Maus. Die Signalabfolge, die mit der Anwender-Eingabevorrichtung erzeugt wird, kann somit Daten enthalten, die eine Mausbetätigung kennzeichnen, oder Daten, die eine Tatstaturbetätigung kennzeichnen.
- Ein "Bild" ist ein Lichtmuster. Eine "Bildausgabevorrichtung" ist eine Vorrichtung, die eine Ausgabe erzeugen kann, die ein Bild definiert. Eine "Anzeigevorrichtung" ist eine Bildausgabevorrichtung, die eine Ausgabe erzeugt, die ein Bild in sichtbarer Gestalt definiert. Eine Anzeigevorrichtung kann beispielsweise eine Kathodenstrahlröhre umfassen; eine Anordnung von lichtabstrahlenden, -reflektierenden oder -absorbierenden Elementen; eine Anordnung, die Zeichen auf ein Papier oder ein anderes Medium aufbringt; oder jeder weitere Aufbau, der dazu geeignet ist, ein Bild in sichtbarer Gestalt zu definieren. Ein "Bild" auf einer Anzeigevorrichtung "darzustellen" bedeutet, die Anzeigevorrichtung so anzusteuern, daß ein Betrachter das Bild wahrnehmen kann.
- Es sind eine Vielzahl von Anzeigetechniken für Datenverarbeitungssysteme verfügbar, die beispielsweise unterschiedliche graphische Anwenderschnittstellen enthalten, doch trotz ihrer Unterschiedlichkeit haben diese Techniken bestimmte gemein same Eigenschaften. Eine grundlegende Eigenschaft besteht darin, daß eine Anzeigevorrichtung menschliche Wahrnehmungen erzeugt. Bei dieser Anmeldung bezieht sich der Ausdruck "Anzeigemerkmal" auf jede menschliche Wahrnehmung, die mit einer Anzeigevorrichtung erzeugt wird.
- Ein "Anzeigeobjekt" oder "Objekt" ist ein Anzeigemerkmal, das als kohärente Einheit wahrnehmbar ist. Eine "Objektoberfläche" oder "Oberfläche" ist ein Anzeigemerkmal, das als Oberfläche eines Anzeigeobjektes wahrnehmbar ist; beispielsweise ist die Außengrenze eines dreidimensionalen Anzeigeobjektes eine Oberfläche. Ein "Bereich" auf einer Oberfläche ist ein begrenztes Gebiet auf der Oberfläche; beispielsweise ist ein einzelner Punkt der kleinste mögliche Bereich einer Oberfläche. Eine "Form" ist ein Anzeigeobjekt, das eine erkennbare Umrandung aufweist; beispielsweise ist ein rundes Anzeigeobjekt eine Form.
- Ein Bild "enthält" ein Objekt, eine Oberfläche, einen Bereich oder eine Form, wenn die Darstellung des Bildes eine Wahrnehmung des Objektes, der Oberfläche, des Bereiches oder der Form erzeugen kann.
- Ein "Arbeitsraum" wird wahrgenommen, wenn Objekte oder andere Anzeigemerkmale in einem Bild so wahrgenommen werden, daß sie Positionen in einem Raum haben. Ein "dreidimensionaler Arbeitsraum" ist als ein sich in drei orthogonalen Richtungen erstreckender Arbeitsraum wahrnehmbar. Normalerweise hat eine Anzeigevorrichtung eine zweidimensionale Anzeigeoberfläche und die Wahrnehmung einer dritten Dimension wird durch visuelle Hilfsmittel erzeugt, wie etwa Perspektivlinien, die auf einen Fluchtpunkt zulaufen, durch Verschatten entfernter Objekte durch nahe Objekte, Größenänderungen der Objekte, die sich auf den Betrachter zu- oder von ihm wegbewegen, durch perspektive Darstellung von Objekten, unterschiedliche Schattierung von Objekten in unterschiedlichen Entfernungen vom Betrachter usw. Dreidimensionale Arbeitsräume umfassen nicht nur Arbeitsräume, in denen alle diese Hilfsmittel kombiniert sind, um die Wahrnehmung von drei Dimensionen zu erzeugen, sondern auch Arbeitsräume, in denen ein einzelnes Hilfsmittel die Wahrnehmung von drei Dimensionen erzeugen kann. Beispielsweise kann ein Arbeitsraum mit sich überlappenden Anzeigeobjekten oder ein Arbeitsraum, innerhalb dessen eine Ansicht auf ein Objekt zoomen kann, ein dreidimensionaler Arbeitsraum sein, obwohl die darin enthaltene Objekte in einer orthographischen Projektion ohne Perspektive dargestellt sind.
- Ein dreidimensionaler Arbeitsraum wird gewöhnlich wahrgenommen, als würde er von einer Position innerhalb des Arbeitsraumes aus gesehen, und diese Position ist der "Blickpunkt". Die "Orientierungsrichtung" ist die Richtung, vom Blickpunkt in das Blickfeld entlang der Achse in der Mitte des Blickfeldes.
- Um einen dreidimensionalen Arbeitsraum darzustellen, kann ein System Daten speichern, die "Koordinaten" der Position eines Objektes, eines Blickpunktes oder eines anderen Anzeigemerkmals im Arbeitsraum beschreiben. Datenbeschreibende Koordinaten eines Anzeigemerkmals können dann bei der Darstellung des Anzeigemerkmals so verwendet werden, daß es als an den beschriebenen Koordinaten positioniert wahrnehmbar ist. Die "Distanz" zwischen zwei Anzeigemerkmalen ist die wahrnehmbare Distanz zwischen denselben und kann aus ihren Koordinaten ermittelt werden, wenn diese so dargestellt sind, daß sie als an ihren Koordinaten positioniert erscheinen.
- Ein Signal aus der Anwender-Eingabevorrichtung "kennzeichnet" einen Oberflächenbereich, wenn das Signal Daten enthält, mit denen der Bereich identifiziert werden kann. Wenn beispielsweise ein Signal Daten enthält, die die Verschiebung des Mauspfeiles kennzeichnen, kann ein System einen Punkt in der Anzeigeebene finden, der auf der vorherigen Zeigerposition basiert. Dieser Punkt kann dann dazu verwendet werden, einen Strahl vom Blickpunkt in den dargestellten dreidimensionalen Arbeitsraum zu projizieren, und die Koordinaten der Anzeigemerkmale können dazu verwendet werden, das nächstgelegene Anzeigemerkmal zu finden, das mit dem Strahl geschnitten wird. Der Punkt oder eine Punktabfolge an diesem Schnitt können somit als Bereich identifiziert werden.
- Eine "Normale" innerhalb eines Bereiches auf einer Oberfläche ist eine Linie, die die Oberfläche innerhalb des Bereiches in rechtem Winkel schneidet. Die "horizontale Normale" kann beispielsweise als eine Linie in einer Ebene parallel zur x-y- Koordinatenebene definiert werden, die senkrecht zur Grenze der Oberfläche in der Ebene verläuft.
- Ein zweites Anzeigemerkmal ist als eine "Fortsetzung" eines ersten Anzeigemerkmals wahrnehmbar, wenn die Darstellung des zweiten Anzeigemerkmals der Darstellung des ersten Anzeigemerkmals derart folgt, daß der Anwender das erste Anzeigemerkmal als Fortsetzung wahrnimmt, wenn das zweite Anzeigemerkmal dargestellt wird. Dies kann auftreten, wenn die folgende Anzeige von zwei Anzeigemerkmalen so dicht bezüglich Zeit und Raum erfolgt, daß sie als dasselbe Anzeigemerkmal erscheinen. Ein Beispiel dieses Phänomens wird "Objektkonstanz" genannt.
- Eine "Animationsschleife" ist eine wiederholte Tätigkeit, bei der jede Wiederholung ein Bild darstellt und bei der Objekte und andere Anzeigemerkmale in jedem Bild als Fortsetzung der Objekte und Anzeigemerkmale im nächsten vorangehenden Bild erscheinen. Gibt der Anwender Signale über die Anwender-Eingabevorrichtung ein, können die Signale als Ereignisse in einer Warteschlange eingereiht werden, und jede Schleife kann einige der Ereignisse aus dieser Warteschlange bearbeiten. Ein zweites Anzeigemerkmal ist als "bewegte Fortsetzung" oder "verschobene Fortsetzung" eines ersten Anzeigemerkmals wahrnehmbar, wenn es als Fortsetzung an einer anderen Position wahrnehmbar ist. Das erste Anzeigemerkmal wird als "sich bewegend", als "Bewegung" habend, "Bewegung" oder als "verschoben" innerhalb des Arbeitsraumes wahrgenommen.
- Eine "Blickpunktverschiebung" oder "Blickpunktbewegung" tritt auf, wenn eine Sequenz von Bildern dargestellt wird, die als Ansichten eines dreidimensionalen Arbeitsraumes von einem sich bewegenden oder verschobenen Blickpunkt wahrnehmbar sind. Diese Wahrnehmung kann aus der Wahrnehmung von Objekten im Arbeitsraum als Fortsetzungen resultieren. Die Blickpunktbewegung ist "relativ" zu einem Punkt oder anderen Bereich des Bildes, wenn der Blickpunkt als sich bewegend im Bezug auf den Punkt oder den anderen Bereich wahrgenommen wird. Ein "Punkt von Interesse" oder "POI" ist ein Punkt, der vom Anwender gekennzeichnet wird und zu dem sich der Blickpunkt bewegen kann.
- Eine "Verschiebung" ist eine Distanz, um die ein Merkmal oder der Blickpunkt als verschoben innerhalb des Arbeitsraumes wahrgenommen wird.
- Eine "Radialbewegung" oder "Radialverschiebung" wird als Bewegung oder Verschiebung entlang eines oder mehrerer Strahlen wahrgenommen. Ein Strahl erstreckt sich von einem "radialen Ursprung". Der Blickpunkt kann radial zu oder von einem radialen Ursprung im dreidimensionalen Raum bewegt oder verschoben werden, und der radiale Ursprung kann ein POI sein.
- Eine "seitliche Bewegung" oder "seitliche Verschiebung" wird als Bewegung oder Verschiebung in einer Richtung seitlich zu einem oder mehreren Strahlen wahrgenommen. Der Blickpunkt kann beispielsweise seitlich in einer Richtung senkrecht zu einem sich vom POI erstreckenden Strahl verschoben oder bewegt werden, und die seitliche Bewegung kann zur Normalen des POI erfolgen.
- Die Orientierungsrichtung des Blickpunktes "verschiebt" sich, wenn sie sich um einen Winkel ändert, auf den sich als "Verschiebungswinkel" bezogen wird. Die Orientierungsrichtung kann sich ohne Blickpunktbewegung verschieben. Beispielsweise kann sich die Orientierungsrichtung um einen Winkel verschieben, der einen POI näher an die Mitte des Blickfeldes bringt.
- Signale von der Anwender-Eingabevorrichtung können eine Blickpunktbewegung und eine Bewegung des POI abrufen. Wenn der Anwender die Blickpunkt- und POI-Bewegung getrennt und beide Bewegungsarten gleichzeitig abrufen kann, dann ist die Anwender-Eingabevorrichtung so aufgebaut, daß der Anwender die Blickpunkt- und POI-Bewegung "unabhängig" abrufen kann. Beispielsweise kann der Anwender eine Maus oder eine weitere Zeigevorrichtung für das Abrufen der POI-Bewegung mit einer Hand bedienen und unabhängig davon Tasten auf der Tastatur für das Anfordern der Blickpunktbewegung mit der anderen Hand bedienen.
- Ein sich bewegender Blickpunkt wird als folgender oder definierender "Pfad" innerhalb eines Arbeitsraumes wahrgenommen. Ein "asymptotischer Pfad" ist ein Pfad, auf dem sich die wahrgenommene Geschwindigkeit derart verringert, daß sich der Pfad einer Asymptote annähert, diese jedoch nicht erreicht.
- Wenn der Blickpunkt als folgender oder asymptotischer Pfad wahrgenommen wird, folgen die Verschiebungen zwischen aufeinanderfolgenden Positionen einer "asymptotischen Funktion". Ein Beispiel für eine asymptotische Funktion ist eine Funktion, bei der sich ein Logarithmus asymptotisch Null nähert, während sich die Zeit erhöht. Der Begriff "Logarithmusfunktion" enthält Funktionen dieser Art, wie auch Funktionen, die sich diesen annähern.
- Eine "Distanzfunktion" zwischen zwei Punkten oder Positionen ist eine Funktion, die für jede Distanzabfolge eine Abfolge entsprechender Werte erzeugt. Man erhält beispielsweise eine einfache Logarithmusfunktion der Distanz zwischen zwei Punkten oder Positionen dadurch, daß man eine "Proportionale" der Distanz nimmt, die für einen Teil der Distanz steht, der größer als Null aber kleiner als die Gesamtdistanz ist. Eine Distanzproportionale kann man durch Multiplikation der Distanz mit einer "Proportionalitätskonstanten" erhalten, wobei die Proportionalitätskonstante eine Größe aufweist, die größer als Null und geringer als 1 ist. Ein weiteres Beispiel für eine Distanzfunktion zwischen einem ersten und zweiten Punkt ist eine Funktion, die einen dritten Punkt ermittelt, der vom ersten Punkt so weit wie der zweite Punkt entfernt ist.
- Eine "Positionsfunktion" ist eine Funktion, die für jede Abfolge von Positionen eine Abfolge entsprechender Werte liefert. Beispielsweise ist eine einfache Logarithmus- Positionsfunktion eine Logarithmusfunktion der Distanz zwischen der Position und einer weiteren Position, wie es oben im Bezug auf die Distanzfunktion beschrieben wurde.
- Fig. 1-8 zeigen allgemeine Eigenschaften der Erfindung. Fig. 1 stellt die Oberfläche dar, die in einem dreidimensionalen Arbeitsraum wahrnehmbar ist. Fig. 2A und 2B zeigen Bilder vor und nach der Blickpunktbewegung. Fig. 3 ist ein Flußdiagramm, daß die wesentlichen Schritte bei der Darstellung einer Sequenz von Bildern mit Blickpunktbewegung zeigt. Fig. 4A und 4B sind Draufsichten, die eine radiale Blickpunktbewegung entlang eines asymptotischen Pfades zu einem Punkt von Interesse auf einer Oberfläche darstellen, wobei Fig. 4B zudem einen Zentriervorgang zeigt. Fig. 5 ist eine Draufsicht die eine seitliche Blickpunktbewegung entlang eines asymptotischen Pfades zeigt, der einem Boden folgt, und stellt zudem eine Blickpunktbewegung dar, die sowohl eine radiale als auch seitliche Bewegung enthält. Fig. 6 ist eine dreidimensionale Ansicht, die eine Blickpunktbewegung darstellt, die sowohl eine radiale als auch eine seitliche Bewegung enthält, und die seitliche Bewegung entlang eines asymptotischen Pfades zeigt, der einer Sehne folgt. Fig. 7 ist eine Draufsicht, die eine radiale Blickpunktbewegung mit einer Bewegung eines Punktes von Interesse auf einer Oberfläche zeigt. Fig. 8 ist ein Flußdiagramm der Schritte bei der Blickpunktbewegung und der Einstellung der Position des Punktes auf der Oberfläche.
- Fig. 1 zeigt die Oberfläche 10, die wahrnehmbar ist, wenn sie vom Blickpunkt 14 in einem dreidimensionalen Arbeitsraum betrachtet wird. Der Blickpunkt 14 ist im Ursprung eines Koordinatensystems gezeigt, das sich mit seiner Blickachse entlang der z-Achse orientiert. Eine gestrichelte Linie erstreckt sich vom Blickpunkt 14 zum Punkt 16 auf der Oberfläche 10. Punkt 16 ist mit einem Kreis gekennzeichnet, dessen Position mit einer Anwender-Eingabevorrichtung, wie etwa einer Maus, gesteuert werden kann.
- Fig. 2 zeigt ein Bild 20, innerhalb dessen die Oberfläche 10 wahrnehmbar ist, wenn es vom Blickpunkt 14 in einem dreidimensionalen Arbeitsraum betrachtet wird. Fig. 2B zeigt ein Bild 22 mit einer Oberfläche 24, die einen Punkt 26 in einem Kreis enthält. Durch Darstellung einer geeigneten Bildsequenz, kann die Oberfläche 24 als Fortsetzung der Oberfläche 10 wahrgenommen werden, jedoch von einem anderen Blickpunkt im dreidimensionalen Arbeitsraum betrachtet. Wenn ein Anwender den Punkt 16 kennzeichnet und eine Blickpunktbewegung zu Punkt 16 verlangt, kann ein System, das das Bild 20 darstellt, mit einer Bildsequenz antworten, die in Bild 22 endet, so daß der Anwender den Punkt 26, der als Fortsetzung von Punkt 16 wahrnehmbar ist, und die Umgebung in größerem Detail sehen kann.
- Fig. 3 zeigt die wesentlichen Schritte, die ein System bei der Darstellung einer Sequenz dieser Art ausführen kann. Der Schritt in Kasten 30 stellt das erste Bild der Sequenz mit einer Oberfläche dar, die in einem dreidimensionalen Arbeitsraum wahrnehmbar ist. Der Schritt in Kasten 32 empfängt eine Signalabfolge von einer Anwender-Eingabevorrichtung, die einen POI auf der Oberfläche kennzeichnet und eine Blickpunktbewegung relativ zum POI befiehlt. In Abhängigkeit dessen stellt der Schritt in Kasten 34 ein Bild dar, das als Ansicht durch Bewegung des Blickpunktes relativ zum POI wahrnehmbar ist. Das Bild, das in Kasten 34 dargestellt wird, enthält eine Oberfläche, die als eine Fortsetzung der in Kasten 30 dargestellten Oberfläche wahrnehmbar ist. Der Schritt in Kasten 36 empfängt eine weitere Signalabfolge, wobei dieses mal sowohl eine POI- als auch eine Blickpunktbewegung verlangt wird. Der Schritt in Kasten 38 antwortet mit der Darstellung eines Bildes, das als Ansicht durch Bewegung des POI und durch Bewegung des Blickpunktes relativ zum POI wahrnehmbar ist. Das in Kasten 38 dargestellte Bild enthält eine Oberfläche, die als Fortsetzung der in Kasten 30 dargestellten Oberfläche wahrnehmbar ist, und der POI ist als bewegte Fortsetzung des vorherigen POI wahrnehmbar, wobei die POI- Bewegung auf der Oberfläche stattfindet. Die Schritte 36 und 38 können wiederholt werden, bis man ein befriedigendes Bild erhält.
- Fig. 4A stellt eine Technik zum Bewegen eines Blickpunktes radial zu einem auf einer Oberfläche 50 gekennzeichneten POI dar. Der Blickpunkt 52 ist der erste in einer Sequenz von Blickpunktpositionen und mit seiner Blickrichtung entlang der v-Achse orientiert, einer Achse, die als Anfangsblickrichtung definiert ist, wobei ihr Ursprung im Blickpunkt 52 liegt. In Fig. 4A erstreckt sich der Strahl, entlang dessen die Radialbewegung auftritt, vom Blickpunkt durch einen POI auf der Oberfläche 50.
- In Abhängigkeit eines ersten Signals, das die Blickpunktbewegung zum POI befiehlt, wird ein Bild dargestellt, das ein Objekt 50 vom Blickpunkt 54 aus zeigt, der vom Blickpunkt 52 entlang des Strahls vom Blickpunkt 52 durch den POI verschoben ist. Der Blickpunkt 54 kann zum POI um eine Distanz verschoben werden, die eine Proportionale zur Distanz vom Blickpunkt 52 zum POI ist.
- Ähnlich können in Abhängigkeit eines zweiten und dritten Signals, die eine weitere Blickpunktbewegung zum POI befehlen, Bilder von den Blickpunkten 56 und 58 dargestellt werden, die entlang des Strahls zum POI mit derselben Proportionalen verschoben sind. Weiterhin kann in Abhängigkeit eines vierten Signals, das eine Blickpunktbewegung vom POI befiehlt, der Blickpunkt vom Blickpunkt 58 zum Blickpunkt 56 verschoben werden, wodurch der Pfad zurückverfolgt wird, dem bei der Annäherung zum POI gefolgt wurde.
- Die Blickpunktbewegung aus Fig. 4 folgt einem asymptotischen Pfad, da sich der Pfad dem POI nähert, diesen aber nicht erreicht. Insbesondere erfolgt die POI-Annäherung entlang des asymptotischen Pfades zu Beginn schnell und dann zunehmend langsamer, wodurch es dem Anwender gestattet ist, die Bewegung einfacher zu steuern, wenn der POI aus dichterer Entfernung betrachtet wird.
- Fig. 4A zeigt zudem, warum eine radiale POI-Annäherung für eine befriedigende Ansicht des POI nicht ausreichend ist: Wie es für den Blickpunkt 54 dargestellt ist, ändert sich mit seiner Blickrichtung entlang der Achse v', parallel zur Achse v, die Blickrichtung während der radialen POI-Annäherung nicht. Wenn sie von den Blickpunkten 54, 56 und 58 aus betrachtet wird, erscheint die Oberfläche 50 näher als vom Blickpunkt 52, ist jedoch für eine Betrachtung kaum ausgerichtet, und der POI bleibt am Rand des Blickfeldes.
- Fig. 4B zeigt, wie die Blickpunktzentrierung mit der radialen POI-Annäherung kombiniert werden kann, um eine befriedigende Ansicht des POI zu erreichen. Die Oberfläche 60 und der Blickpunkt 62 entsprechen der Oberfläche 50 und des Blickpunktes 52 aus Fig. 4A. Der Blickpunkt 64 entspricht Blickpunkt 54, wird jedoch teilweise zum POI gedreht, so daß der POI dichter an der Mitte des Blickfeldes ist. Die Blickrichtung des Blickpunktes 64 verläuft entlang der Achse v', die sich, anstelle parallel zur Achse v zu verlaufen, in einem Winkel zwischen der Achse v' und dem Strahl vom Blickpunkt 64 zum POI befindet. Der Blickpunkt 66 entspricht dem Blickpunkt 56, ist jedoch vollständig zum POI gedreht, so daß sich der POI in der Mitte des Blickfeldes befindet. Der Blickpunkt 68 entspricht Blickpunkt 58 und ist nicht weiter gedreht, so daß der POI in der Mitte des Blickfeldes bleibt. Die Blickrichtungen der Blickpunkte 66 und 68 verlaufen entlang der Achse v", die nicht parallel zur Achse v oder v' liegt, sondern entlang des Strahles von jedem Blickpunkt zum POI verläuft.
- Die Zentrierung, die in Fig. 4B dargestellt ist, kann dadurch erreicht werden, daß bei jedem Schritt der verbleibende Winkel zwischen der Blickrichtung und dem Strahl zum POI bestimmt wird. Überschreitet der verbleibende Winkel eine maximale Einzelschrittdrehung, wird der Blickpunkt mit dieser Einzelschrittdrehung gedreht. Andernfalls wird der Blickpunkt um den vollständig verbleibenden Winkel gedreht.
- Fig. 5 zeigt, wie die seitliche Blickpunktbewegung und die Blickpunktdrehung mit der Blickpunkt-Annäherung kombiniert werden können, um eine befriedigende POI-Ansicht zu erhalten. Das Objekt wird zu Beginn vom Blickpunkt 72 betrachtet, wobei die Blickrichtung zu Erläuterung entlang der z-Achse dargestellt ist.
- Eine seitliche Blickpunktbewegung mit Drehung aber ohne radiale Bewegung ist mit den Blickpunkten 74, 76 und 78 gezeigt, wobei jeder zum Punkt 80 verschoben ist, der sich auf der Horizontalnormalen zum POI auf der Oberfläche 70 befindet, und in diesem speziellen Fall in derselben x-z- Ebene ist, wie der Blickpunkt 72 und der POI; im allgemeinen Fall, wie es unter Bezugnahme auf Fig. 6 beschrieben ist, befindet sich der Blickpunkt nicht in derselben Ebene wie der POI, so daß die seitliche Bewegung auch eine y-Komponente enthält. Die Blickpunktdrehung in der x-z-Ebene behält den Senkrechtsinn des Betrachters bei. Die seitlichen Verschiebungen in Fig. 5 erfolgen zur Erläuterung entlang eines Bogens und folgen einem asymptotischen Pfad.
- Die Blickpunkte 74, 76 und 78 stellen zudem eine Blickpunktdrehung dar. Die Blickrichtung jedes dieser Blickpunkte wird vom vorhergehenden Blickpunkt weggedreht, um den POI im Blickfeld zu halten. Die Blickpunktdrehung enthält darüber hinaus eine Blickpunktzentrierung, wie es unter Bezugnahme auf Fig. 4 beschrieben wurde, was den POI, wie dargestellt, in die Mitte des Blickfeldes bringt.
- Die seitliche Blickpunktbewegung mit Drehung und radialer Bewegung wird mit den Blickpunkten 84, 86 und 88 dargestellt. Diese Blickpunktsequenz kann beispielsweise auftreten, wenn sich der Ursprungsblickpunkt 72 in derselben x-z-Ebene befindet wie der POI, und wenn der POI während der Blickpunktbewegung nicht bewegt wird. In diesem Fall tritt die radiale Blickpunktbewegung in derselben Ebene auf, wie die seitliche Blickpunktbewegung. Tatsächlich können radiale und seitliche Bewegungskomponenten kombiniert werden, um die Blickpunktbewegung zu bewirken, wie es mit den Blickpunkten 84, 86 und 88 dargestellt ist. Die seitliche Bewegungsrate kann in ausreichendem Maße größer sein als die Annäherungs-Bewegungsrate, mit der sich der Blickpunkt der Normalen nähert, bevor er sich der Oberfläche nähert, wodurch es dem Anwender gestattet ist, die Distanz von der Oberfläche entlang der Normalen einzustellen.
- Fig. 6 zeigt ein weiteres Beispiel einer Blickpunktbewegung, die eine radiale und seitliche Bewegung und eine Blickpunktzentrierung enthält. Die Oberfläche 100 wird im dreidimensionalen Arbeitsraum wahrgenommen. Am POI 102 hat die Oberfläche eine Normale 104, und die Horizontalnormale 106 ist die Projektion der Normalen 104 auf eine Horizontalebene, die den POI 102 enthält.
- In Abhängigkeit eines Signals, das eine Blickpunktbewegung vom Ausgangsblickpunkt 110 zum POI 102 befiehlt, werden die Koordinaten des Zwischenblickpunktes 112 ermittelt und dazu verwendet, die Koordinaten des Endblickpunktes 114 zu erhalten. Mit anderen Worten bewegt sich der Blickpunkt vom Ausgangsblickpunkt 110 zum Endblickpunkt 114 in einem einzigen Schritt, wobei der Zwischenblickpunkt 112 für Berechnungszwecke genutzt wird.
- Die Koordinaten des Zwischenblickpunktes 112 werden durch eine radiale Verschiebung vom Ausgangsblickpunkt 110 entlang des Strahls vom POI 102 durch den Ausgangsblickpunkt 110 ermittelt. Der Ausgangsblickpunkt 110 befindet sich unter der Horizontalebene, die den POI 102 enthält, so daß die radiale Verschiebung x-, y- und z-Komponenten enthält.
- Die Koordinaten des Endblickpunktes 114 findet man durch seitliche Verschiebung vom Zwischenblickpunkt 112 entlang einer Sehne. Wie es gezeigt ist, kann die Sehne den Zwischenblickpunkt 112 und den Normalpunkt 116 verbinden, ein Punkt auf der Horizontalnormalen 106, der vom POI 102 denselben Abstand hat wie der Zwischenblickpunkt 112; alternativ dazu kann die seitliche Verschiebung entlang einer Sehne erfolgen, die den Zwischenblickpunkt 112 mit einem Punkt auf der Normalen 104 verbindet, oder entlang eines Bogens wie in Fig. 5.
- Fig. 6 stellt die Projektion der Blickpunkte 110, 112 und 114 und des Normalenpunktes 116 auf die x-z-Ebene dar, um zu zeigen, wie man die seitliche Verschiebung erhalten kann. Nachdem man die Koordinaten des Zwischenblickpunktes 112 erhalten hat, ist die Projektion 120 des Ausgangsblickpunktes 110 nicht Bestandteil bei der Errechnung der seitlichen Verschiebung. Die Projektion 122 des Zwischenblickpunktes 112 und die Projektion 126 des Punktes 116 bilden die Endpunkte einer projizierten Sehne. Die Projektion 124 des Endblickpunktes 114 befindet sich auf der Sehne, versetzt von der Projektion 122 um eine Proportionale der Sehne. Der x- und z-Versatz von der Projektion 122 zur Projektion 124 ist derselbe, wie die x- und z-Komponenten der seitlichen Verschiebung vom Blickpunkt 112 zum Blickpunkt 114.
- Die y-Komponente der seitlichen Verschiebung hat dasselbe Verhältnis zum y-Versatz zwischen dem Blickpunkt 112 und dem Normalpunkt 116, wie die x- und z-Komponenten zu den x- und z-Versätzen. Beim Erhalten der y-Komponente sollte jedoch ein Test durchgeführt werden, um zu ermitteln, ob die Normale 104 beim POI 102 parallel oder beinahe parallel zur y-Achse ist. Wenn nicht, kann die seitliche Verschiebung unter Verwendung der x-, y-, und z-Komponenten ausgeführt werden, wie es oben beschrieben wurde. Sollte die Normale 104 jedoch parallel zur y-Achse sein, könnte es vorzuziehen sein, die seitliche Verschiebung nicht auszuführen - anstelle dessen kann die Blickpunktbewegung auf eine radiale Bewegung und eine Drehung des Blickpunktes begrenzt werden, um den POI in die Mitte des Blickfeldes zu bringen. Dies Verhindert die Möglichkeit einer direkten Ansicht nach unten oder nach oben.
- Wenn dieselbe Proportion für jede Schrittabfolge verwendet wird, folgt die seitliche Bewegung einem asymptotischen Pfad. Die Funktion, die verwendet wird, um die seitliche Verschiebung in jedem Schritt zu erhalten, ist eine Logarithmusfunktion. Eine ähnliche Funktion könnte für die seitliche Bewegung entlang eines Bogens wie in Fig. 5 angewendet werden.
- Fig. 7 zeigt eine Blickpunktbewegung zusammen mit der Bewegung eines Punktes von Interesse. Die Oberfläche 140 ist in einem dreidimensionalen Arbeitsraum wahrnehmbar und enthält den POI 142 und POI 144. Vom Ausgangsblickpunkt 150 wird eine radiale Bewegung zum POI 142 gefordert, so daß ein Bild vom Blickpunkt 152 auf dem Strahl vom POI 142 durch den Blick punkt 150 dargestellt wird. Dann wird, während der Befehl für eine radiale Bewegung zum POI fortdauert, zudem ein Befehl für eine Bewegung zum POI 144 empfangen, so daß ein Bild vom Blickpunkt 154 auf dem Strahl vom POI 144 durch den Blickpunkt 152 dargestellt wird.
- Fig. 8 zeigt die Schritte, die innerhalb der Schritte in den Kästen 34 und 38 aus Fig. 3 durchgeführt werden können, um eine Blickpunktbewegung zu erzeugen, wie sie in Fig. 4-7 dargestellt ist. Der Schritt in Kasten 170 beginnt mit dem Erhalt eines neuen Strahls aus einem Anwendersignal, das mit den Schritten in den Kästen 32 und 36 aus Fig. 3 von einer Maus oder einer anderen Anwender-Eingabevorrichtung empfangen werden kann, die einen Strahl im dreidimensionalen Arbeitsraum kennzeichnen können. Der neue Strahl kann beispielsweise mit einem Einheitsvektor mit demselben Ursprung wie der vorhergehende Strahl gekennzeichnet werden, und ist normalerweise dicht an der Richtung des vorhergehenden Strahls, da die Bewegung einer mechanischen Zeigevorrichtung durch den Anwender im Vergleich zur Rechengeschwindigkeit langsam ist.
- Der Schritt in Kasten 172 findet einen neuen POI durch Ermittlung des Schnittpunktes des neuen Strahls und der Oberfläche eines ausgewählten Objektes. Schneidet der neue Strahl die Oberfläche des ausgewählten Objektes nicht, kann der POI der Punkt auf der Objektoberfläche sein, der sich am dichtesten am neuen Strahl befindet; der neue POI kann alternativ dazu innerhalb der zuvor ausgewählten Objektoberfläche gehalten werden, indem das zweidimensionale Signal auf der Oberfläche anstelle auf der gesamten Anzeigeoberfläche dargestellt wird, so daß der Strahl immer die Oberfläche schneidet. Beim Schritt in Kasten 32 von Fig. 3 enthält die Signal abfolge eine Kennzeichnung eines neu ausgewählten Objektes. Beim Schritt in Kasten 36 ist das ausgewählte Objekt des zuvor ausgewählte Objekt.
- Der Schritt in Kasten 180 verzweigt sich in Abhängigkeit eines die Blickpunktbewegungsart auswählenden Signals, das bei den Schritten in den Kästen 32 und 36 von den Tasten einer Tastatur oder einer Maus empfangen werden kann. Wählt das Signal keine Blickpunktbewegung aus, nimmt der Schritt in Kasten 182 die vorherige Position als neue Position. Wählt das Signal eine Blickpunktbewegung vom oder zum POI, verzweigt sich der Schritt in Kasten 184, basierend darauf, ob die abgerufene Bewegung zum oder vom POI weg erfolgt. Erfolgt sie zum POI, nimmt der Schritt in Kasten 186 als neue Radialposition die nächste Position in Richtung zum POI auf einem asymptotischen Pfad. Erfolgt sie vom POI weg, nimmt der Schritt in Kasten 188 als neue Radialposition die nächste Position weg vom POI auf dem asymptotischen Pfad. Wählt das Signal nur eine seitliche Bewegung aus, nimmt der Schritt in Kästen 190 die vorherige Position als neue Radialposition.
- Hat man die neue Radialposition erhalten, und befindet sich das System in einer Betriebsart, die eine seitliche Bewegung enthält, dann nimmt der Schritt in Kasten 192 als neue Position die nächste Position auf einem seitlichen asymptotischen Pfad von der neuen Radialposition zur POI-Normalen. Dieser Schritt dreht zudem den Blickpunkt in geeigneter Weise, wobei eine Zentrierung enthalten ist. Befindet sich das System nicht in der seitlichen Betriebsart, ist die neue Position die Radialposition von Kasten 186, Kasten 188 oder Kasten 190.
- Schließlich stellt der Schritt in Kasten 190 ein Bild dar, in dem ein Objekt wahrnehmbar ist, wie es von einem Blickpunkt in der neuen Position von Kasten 182 oder Kasten 192 gesehen wird. Dann kehrt das System zu Kasten 36 für den nächsten Schritt der Blickpunktbewegung zurück.
- Die Erfindung kann in unterschiedlichen Datenverarbeitungssystemen angewendet werden. Es wurde erfolgreich auf einer Silicon Graphics Iris-Workstation verwendet, die die Graphiktreiber-Option enthält.
- Fig. 9 zeigt Bestandteile eines Systems, bei dem die vorliegende Erfindung zur Anwendung kommt, wobei relevante Elemente im Speicher enthalten sind. Das System 200 enthält einen Prozessor 202 der angeschlossen ist, um Eingabesignale von einer Tastatur und Maus 204 zu empfangen und Bilder auf einer Anzeigevorrichtung 206 darzustellen. Der Prozessor 202 arbeitet durch Zugriff auf einen Programmspeicher 212, um Befehle zu erhalten, die er dann ausführt. Während der Ausführung der Befehle, kann der Prozessor 202 zusätzlich zum Empfangen von Eingabesignalen und dem Darstellen von Bildern auf den Datenspeicher 214 zugreifen.
- Der Programmspeicher 212 enthält das Betriebssystem 220, das die Befehle zur Ausführung von Graphikoperationen enthält, die alle Bestandteil der Silicon Graphics Iris-Wokstation mit Graphiktreiber sind. In Vorbereitung einer interaktiven Sitzung führt der Prozessor 202 ein Setup und eine Initialisierung der Software 222 aus. Bei der laufenden Anwendung ist der Prozessor 202 dazu eingerichtet, einen Common-Lisp und einen Common-Lisp-Objekt-Systemkode auszuführen und wird mit Parametern initialisiert, von denen einige im folgenden Erwähnt sind. Die weiteren Routinen im Programmspeicher 212 aus Fig. 9 werden mit den Common-Lisp-Objekt-Systemklassen und -Verfahren verwendet.
- In Abhängigkeit einer geeigneten Anfrage führt der Prozessor 202 eine Animationsschleifen-Routine 224 aus, die eine Schleife enthält, die solange fortdauert, bis sie durch ein geeignetes Signal von der Tastatur und Maus 204 beendet wird. Jeder Zyklus der Schleife kann Doppelpuffer-Techniken verwenden, um ein entsprechendes Bild auf der Anzeigevorrichtung 226 darzustellen, wobei die entsprechenden Bilder zusammen eine Sequenz bilden, so daß die Anzeigemerkmale in jedem Bild als Fortsetzungen der Anzeigemerkmale in den vorangegangenen Bildern in Übereinstimmung mit den Objektkonstanz-Techniken erscheinen.
- Jeder Animationszyklus enthält eine Abfrage über eingabebearbeitende Subroutinen 226, um den nächsten Punkt in einer First-in-first-out (FIFO) -Ereigniswarteschleife zu empfangen und zu bearbeiten, die vom Betriebssystem aufrechterhalten wird. Die Ereigniswarteschleife enthält Signale vom Anwender, wie etwa Tasteneingaben, Mausereignisse, Mauszeigerbewegungen in oder aus einem Fenster, und Mauszeigerbewegungen, die ein Fenster bewegen und neuformen, und kann zudem Ereignisse von anderen Quellen, wie etwa von anderen Vorgängen enthalten.
- Jeder Animationszyklus enthält zudem eine Abfrage über Blickpunktbewegungs-Subroutinen 232, um die momentane Position des Blickpunktes zu bestimmen. Dann fragt der Animationszyklus 3D-Arbeitsraum-Subroutinen 228 ab, um den dreidimensionalen Arbeitsraum neu zu zeichnen. Beim Neuzeichnen des Arbeitsraumes fragen die 3D-Arbeitsraum-Subroutinen 228 Objektzeichnungs-Subroutinen 230 ab, um jedes Objekt im Arbeitsraum neu zu zeichnen.
- Der Datenspeicher 214 enthält eine 3D-Arbeitsraum-Datenstruktur 240, Objekt-Datenstrukturen 242, eine Blickpunkt-Datenstruktur 244, wie auch andere Daten, die während der Ausführung der Befehle im Programmspeicher 212 gespeichert werden und auf die zugegriffen wird. Die 3D-Arbeitsraum-Datenstruktur 240 kann eine Liste von Objekten im Arbeitsraum und Daten enthalten, die die Ausdehnung des Arbeitsraumes beschreiben. Die Objekt-Datenstrukturen 242 können für jedes Objekt Typendaten enthalten, die seine geometrische Form beschreiben, Koordinatendaten, die eine Position innerhalb des dreidimensionalen Arbeitsraumes beschreiben, Erstreckungsdaten, die einem Bereich, wie etwa einen Würfel oder eine Kugel beschreiben, der das Objekt enthält, und eine Liste anderer Objekte, die, soweit vorhanden, an dem Objekt angebracht sind. Die Blickpunkt-Datenstruktur 244 kann Koordinatendaten enthalten, die eine Position des Blickpunktes innerhalb des dreidimensionalen Arbeitsraumes beschreiben, Daten, die eine Blickrichtung beschreiben, und Daten, die eine Richtung des Körpers beschreiben. Zusammen ergeben die Arbeitsraum-Datenstruktur 240, die Objekt-Datenstrukturen 242 und die Blickpunkt-Datenstruktur 244 ein Modell des Arbeitsraumes und seiner Bestandteile.
- Die Animationsschleifen-Routine 224 kann auf verschiedene Art und Weise angewendet werden. Fig. 10 zeigt relevante Schritte einer Animationsschleife, die bei der laufenden Anwendung der Erfindung ausgeführt werden.
- Der Schritt in Kasten 260 erhält das nächste Ereignis aus der Ereigniswarteschleife zur Bearbeitung. Der Schritt in Kasten 262 verzweigt sich auf der Basis des nächsten Ereignisses. Ist das nächste Ereignis ein Signal, das den Beginn eines POI-Fluges abfragt, ausgelöst durch einen Druck auf die mittlere Maustaste, führt der Schritt in Kasten 264 einen Suchvorgang aus, um das Objekt zu finden, auf das momentan gezeigt wird, stellt eine momentane Auswahlvariable ein, um anzuzeigen, daß das angezeigte Objekt momentan ausgewählt ist, findet den Ausgangs-POI und, wenn das ausgewählte Objekt eben ist, die Normale am POI und führt andere geeignete Operationen für das neu ausgewählte Objekt aus. Der Schritt in Kasten 264 kann Objektzugriffs-Datenstrukturen 242 enthalten, um Koordinatendaten abzurufen, die die Position eines Objektes beschreiben. Wenn jedoch das nächste Ereignis ein Signal ist, das das Ende des POI-Fluges abfragt, ausgelöst durch Loslassen der mittleren Maustaste, setzt der Schritt in Kasten 266 die momentane Auswahlvariable rück, um anzuzeigen, daß das Objekt momentan nicht länger ausgewählt ist. Ist das nächste Ereignis ein anderes Signal, wird es in Kasten 268 entsprechend bearbeitet. Der Schritt in Kasten 268 kann Speicherdaten enthalten, die einen Tastendruck oder ein anderes empfangenes Signal kennzeichnen.
- Der Schritt in Kasten 270 findet den momentanen POI und die Blickpunktposition, um diese beim Neuzeichnen des Arbeitsraumes und der Objekte zu verwenden, wie es im folgenden detaillierter Beschrieben wird. Im einfachsten Fall bewegt sich der Blickpunkt nicht, so daß die Koordinatendaten, die eine vorherige Blickpunktposition beschreiben, durch Zugreifen auf die Blickpunkt-Datenstruktur 244 abgerufen werden können.
- Der Schritt in Kasten 272 zeichnet den dreidimensionalen Arbeitsraum für die Betrachtung vom momentanen Blickpunkt. Dieser Schritt kann den Arbeitsraum mit unterschiedlichen Hilfsmitteln zeichnen, um die Wahrnehmung der drei Dimensionen zu verstärken, enthaltend Ecken, Schattierung und weitere visuelle Hilfsmittel, um eine Wand, eine Decke und einen Boden zu kennzeichnen. Der Schritt kann eine Arbeitsraumzugriffs-Datenstruktur 240 enthalten, um Daten abzurufen, die die Ausdehnung des Arbeitsraumes beschreiben.
- Der Schritt in Kasten 280 beginnt eine iterative Schleife, die jedes Objekt zeichnet. Wie oben bemerkt, enthält die Arbeitsraum-Datenstruktur 240 eine Liste der Objekte im Arbeitsraum, und dieser Liste kann mit der iterativen Schleife gefolgt werden. Der Schritt in Kasten 282 führt Operationen aus, um die Position des nächsten Objektes auf der Liste zu bestimmen und das Objekt in seiner Position zu zeichnen. Auf die Objekt-Datenstrukturen 242 kann zugegriffen werden, um Daten für jedes Objekt abzurufen. Das momentan ausgewählte Objekt kann mit einem POI-Kreis auf der geeigneten, dem Objekt nächstgelegenen Oberfläche, zentriert auf den POI gezeichnet werden.
- Sind alle Objekte gezeichnet, schaltet der Schritt in Kasten 284 Puffer, so daß der Arbeitsraum und die Objekte, die in den Kästen 272 und 282 gezeichnet wurden, auf der Anzeigevorrichtung 206 dargestellt werden. Dann kehrt die Schleife zum Anfang zurück.
- Die Animationsschleife kann unterschiedliche zusätzliche Operationen enthalten. Wenn beispielsweise der Blickpunkt in eine Position bewegt wird, so daß er gegen eine Wand des Arbeitsraumes stößt, kann die Ansicht des Arbeitsraumes grau gemacht werden, um ein visuelles Hilfsmittel zur Verfügung zu stellen.
- Der Schritt in Kasten 264 aus Fig. 10 kann auf unterschiedliche Art, und Weise angewendet werden. Fig. 11 zeigt grundlegende Schritte beim Ermitteln des Ausgangs-POI.
- Der Schritt in Kasten 300 beginnt mit der Zusammenstellung einer Gruppe ausgesuchter Objekte. Auf der Silicon Graphics Workstation können die Auswahl- und Endauswahl-Funktionen verwendet werden, um zu ermitteln, ob gerenderte Objekte in einen Auswahl-Bereich ragen; Objekte, die in den Auswahl- Bereich ragen, sind in der Gruppe der ausgesuchten Objekte enthalten.
- Der Schritt in Kasten 302 liest die momentane Mausposition und verwendet die zweidimensionalen Daten der Position, die mit der Maus angezeigt werden, um Daten zu erzeugen, die den Ursprung und die Richtung eines neuen Strahls beschreiben, der sich vom Blickpunkt durch die Position erstreckt, die mit der Maus angezeigt wird. Auf der Silicon Graphics Workstation kann die mapw-Funktion verwendet werden, um die Koordinaten des neuen Strahls unter Verwendung der Koordinaten der momentanen Mausposition zu erhalten. Bevor die mapw-Funktion aufgerufen wird, wird eine geeignete Transformationsmatrix eingerichtet, wobei die Blickpunkt-Datenstruktur 244 verwendet wird. Die Koordinaten, die mit der mapw-Funktion zurückgegeben werden, können dann verwendet werden, um einen Einheitsvektor zu erzeugen, der die Richtung des neuen Strahls beschreibt.
- Der Schritt in Kasten 310 beginnt eine iterative Schleife, die jedes der ausgesuchten Objekte bearbeitet. Die Schleife beginnt in Kasten 312 mit Ermittlung des Punktes, wo der neue Strahl aus Kasten 302 das nächste ausgesuchte Objekt schneidet. Für ein kugelförmiges Objekt beispielsweise, kann dies bewerkstelligt werden, indem die Kugel zum Ursprung übersetzt und der Ursprung des Strahles in ähnlicher Weise übersetzt wird, worauf die Distanz vom Strahlenursprung zur Kugeloberfläche mit einer quadratischen Gleichung errechnet wird. Die kleinste gültige Lösung wird als Distanz genommen, und der Einheitsvektor, der die Richtung des neuen Strahls kennzeichnet, wird dann dazu verwendet, die Komponenten der Schnittpunkt-Koordinaten zu ermitteln.
- Der Test in Kasten 314 bestimmt, ob das behandelte ausgesuchte Objekt das erste ausgesuchte Objekt ist, oder ob es dichter am Ursprung des Strahls liegt als das vorhergehende nächstgelegene ausgesuchte Objekt. Wenn eine der Bedingungen erfüllt ist, stellt der Schritt in Kasten 316 einen Wert ein, der anzeigt, daß dieses ausgesuchte Objekt das soweit nächst gelegene ausgesuchte Objekt ist, und speichert die Koordinaten des Schnittpunktes und die Distanz vom Strahlusrprung.
- Sind alle ausgesuchten Objekte von der iterativen Schleife bearbeitet worden, stellt der Schritt in Kasten 320 Werte ein, die anzeigen, daß das nächstgelegene gefundene Objekt das momentan ausgewählte POI-Objekt ist, und das sich der Ausgangs-POI an den Schnittpunkt-Koordinaten auf dem derzeit ausgewählten POI-Objekt befindet. Der Schritt in Kasten 320 kann zudem den Cursor ausblenden, so daß dieser durch ein POI-Muster ersetzt werden kann. Ist das momentan ausgewählte POI-Objekt eben, kann der Schritt in Kasten 320 darüber hinaus die Horizontal-Normale zur Ebene am Ausgangs-POI und einen zweidimensionalen Begrenzungskasten für das Objekt errechnen. Dann schreitet die Routine zum Schritt in Kasten 270 von Fig. 10 fort.
- Die Ermittlung des momentanen POI und des Blickpunktes im Schritt von Kasten 270 aus Fig. 10 kann auf unterschiedliche Art und Weise angewendet werden. Fig. 12 zeigt Schritte bei der Ermittlung des derzeitigen POI und grundlegende Schritte bei der Ermittlung des momentanen Blickpunktes. Fig. 13 zeigt Schritte bei der radialen Blickpunktbewegung. Fig. 14 zeigt Schritte bei der seitlichen Blickpunktbewegung.
- Der Schritt in Kasten 350 von Fig. 12 beginnt mit einer Verzweigung; basierend darauf, ob ein POI-Objekt momentan ausgewählt ist. Wenn nicht, endet die Subroutine, wenn jedoch ein POI-Objekt momentan ausgewählt ist, liest der Schritt in Kasten 352 die derzeitige Mausposition und verwendet die zweidimensionalen Koordinaten der Position, die mit der Maus angezeigt sind, um Daten zu erzeugen, die den Ursprung und die Richtung eines neuen Strahls anzeigen, der sich vom Blickpunkt durch die Position erstreckt, die mit der Maus angezeigt wird. Auf der Silicon Graphics Workstation kann die mapw-Funktion verwendet werden, um die Koordinaten dieses Strahls unter Verwendung der Koordinaten der momentanen Mausposition zu erhalten. Bevor die mapw-Funktion aufgerufen wird, wird eine geeignete Transformationsmatrix unter Verwendung der Blickpunkt-Datenstruktur 244 eingestellt. Die Koordinaten, die durch die mapw-Funktion zurückgegeben werden, können dann dazu verwendet werden, einen Einheitsvektor zu erzeugen, der die Richtung des neuen Strahls anzeigt.
- Der Schritt in Kasten 360 verzweigt sich basierend darauf, ob das momentane POI-Objekt ein komplexes Objekt ist oder nicht, was ein Objekt bezeichnet, das eine Anzahl daran angebrachter, einfacher Objekte aufweist. Ist dies der Fall, ermittelt der Schritt in Kasten 362 den POI auf dem einfachen Objekt, das sich am dichtesten am Strahl von Kasten 352 befindet. Ist das Objekt bereits ein einfaches Objekt, ermittelt der Schritt in Kasten 364 den POI auf seiner Oberfläche. Der POI kann für unterschiedliche Objekte auf unterschiedliche Art und Weise, in Abhängigkeit ihrer Geometrie ermittelt werden. Ist das Objekt beispielsweise eben, wie etwa ein Rechteck, und kann es mit Ebenengleichungen beschrieben werden, kann der Schnittpunkt mit einem Strahl durch Parametersubstitution errechnet werden. Eine ähnliche Parametersubstitution kann bei kugelförmigen Objekten verwendet werden.
- Der Schritt in Kasten 370 verzweigt sich basierend darauf, ob eine der Tasten gedrückt ist, die eine Blickpunktbewegung verlangt. Ist keine gedrückt, endet die Routine. Ist eine gedrückt, führt der Schritt in Kasten 372, wie verlangt, eine radiale Blickpunktbewegung aus. Wenn der Schritt in Kasten 374 ermittelt, daß sich das System in einer Betriebsart befindet, die eine seitliche Blickpunktbewegung zuläßt, dann führt der Schritt in Kasten 376 eine geeignete seitliche Bewegung durch, bevor die Subroutine endet.
- Fig. 13 zeigt Schritte, die durchgeführt werden können, um den Schritt in Kasten 372 aus Fig. 12 anzuwenden. Der Schritt 400 beginnt mit der Verzweigung gemäß der Tasten, die eine Blickpunktbewegung befehlen. Die Leertaste kann eine Blickpunktbewegung zum POI anzeigen, und die linke Alt-Taste kann eine Blickpunktbewegung vom POI weg anzeigen. Werden beide gedrückt, kann eine seitliche Blickpunktbewegung zur POI-Normalen erfolgen, wenn man sich in einer Betriebsart befindet, die eine seitliche Bewegung zuläßt.
- Wird die Leertaste gedrückt, die eine Bewegung zum POI anzeigt, ermittelt der Schritt in Kasten 402 eine neue Radialposition des Blickpunktes auf einem asymptotischen Pfad zum POI. Es können die folgenden Gleichungen verwendet werden, um die neuen Blickpunkt-Koordinaten Blickx, Blicky und Blickz zu erhalten:
- Blickx = Blickx - % Radialannäherung · (Blickx - poix);
- Blicky = Blicky - % Radialannäherung · (Blicky - poiy); und
- Blickz = Blickz - % Radialannäherung · (Blickz - poiz),
- wobei % Radialannäherung ein Wert sein kann, der während der Initialisierung gespeichert wird. Die Wahl eines Wertes hängt von der Geschwindigkeit der verwendeten Animationsschleife ab; es wurde ein großer Bereich von Werten um 0,15 verwendet, um eine befriedigende Bewegung zu erzeugen.
- Wird die linke Alt-Taste gedrückt, die eine Bewegung vom POI weg anzeigt, ermittelt der Schritt in Kasten 404 eine neue Radialposition des Blickpunktes auf einem asymptotischen Pfad weg vom POI. Es können die folgenden Gleichungen verwendet werden, um die neuen Blickpunkt-Koordinaten Blickx, Blicks und Blickz zu erhalten:
- Blickx = Blickx + % Radialentfernung · (Blickx - poix);
- Blicky = Blicky + % Radialentfernung · (Blicky - poiy); und
- Blickz = Blickz + % Radialentfernung · (Blickz - poiz),
- wobei % Radialentfernung ein Wert sein kann, der während der Initialisierung gespeichert wird, und so gewählt werden kann, daß der asymptotischen Pfad weg vom POI den asymptotischen Pfad zum POI zurückverfolgt.
- Werden sowohl Leer- als auch linke Alt-Taste gedrückt, was eine nur seitliche Bewegung anzeigt, setzt der Schritt in Kasten 406 die neue Radialposition des Blickpunktes der vorhergehenden Blickpunktposition gleich.
- Der Schritt in Kasten 410 testet die neue Radialposition von Kasten 402, Kasten 404 oder Kasten 406, um zu ermitteln, ob sich diese zu dicht an der POI-Position befindet. Dies kann mit einen Vergleich der Distanz zwischen der neuen Radialpo sition und der POI-Position mit einer Minimaldistanz bewerkstelligt werden. Ist die neue Radialposition zu dicht, schreitet die Subroutine zu Kasten 374 in Fig. 12 fort, ohne Änderung der vorherigen Blickpunktposition. Ist die neue Radialposition hingegen ausreichend weit vom POI entfernt, führt der Schritt in Kasten 412 eine Anheft-Operation an der neuen Radialposition und den Arbeitsraumgrenzen durch und bewegt dann den Blickpunkt zur angehefteten neuen Radialposition. Der Schritt in Kasten 412 könnte beispielsweise die neue Radialposition an den Grenzen, die durch Wände oder andere Anzeigemerkmale definiert sind, anheften.
- Fig. 14 zeigt Schritte, die durchgeführt werden können, um den Schritt in Kasten 376 von Fig. 12 anzuwenden. Der Schritt in Kasten 430 beginnt mit der Ermittlung der horizontalen Distanz vom POI zum Blickpunkt, was einfach die Quadratwurzel der Summe der Quadrate der Differenzen zwischen den x- und z- Koordinaten des POI und des Blickpunktes ist, und mit der Ermittlung eins Normalen-Punktes, der sich auf der Horizontalnormalen am POI befindet und zudem die horizontale Distanz vom POI ist. Den Normalenpunkt kann man mit den folgenden Gleichungen erhalten:
- Normalex = poix + Horizontaldistanz · poiNormalex;
- Normaley = poiy; und
- Normalez = poiz + Horizontaldistanz · poiNormalez
- Im allgemeinen Fall kann der Normalenpunkt auf der Normalen am POI sein, so daß die folgenden Gleichungen verwendet werden können:
- Normalex = poix + Distanz · poiNormalex;
- Normaley = poiy + Distanz · poiNormaley; und
- Normalez = poiz + Distanz · poiNormalez,
- wobei Distanz der Abstand vom POI zum Blickpunkt in den drei Dimensionen ist.
- Der Schritt in Kasten 432 testet, ob die horizontale Distanz von Kasten 430 so klein ist, daß eine seitliche Bewegung ungeeignet ist, in welchem Fall der Schritt in Kasten 434 die neue Position auf die vorherige Blickpunktposition einstellt.
- Der Schritt in Kasten 440 verzweigt sich basierend darauf, welche Betriebsart einer seitlichen Blickpunktbewegung wirksam ist. Bei der Sehnen-Betriebsart folgt der Blickpunkt einer Sehne, wie es in Fig. 6 dargestellt ist. In der Bogen- Betriebsart folgt der Blickpunkt einem Bogen, wie es in Fig. 5 gezeigt ist.
- In der Sehnen-Betriebsart stellt der Schritt in Kasten 442 die neue Position auf einen Punkt auf der Sehne zwischen der Blickpunktposition und dem Normalenpunkt ein. Der Blickpunkt kann einem asymptotischen Pfad entlang der Sehne folgen, in welchem Fall eine Logarithmusfunktion verwendet werden kann, um die neue Position zu bestimmen. Es können die folgenden Gleichungen verwendet werden:
- Blickx = Blickx + % seitlich · (Blickx - Normalex);
- Blicky = Blicky + % seitlich · (Blicky - Normaley); und
- Blickz = Blickz + % seitlich · (Blickz - Normalez),
- wobei % seitlich ein Wert sein kann, der während der Initialisierung gespeichert wird. Die Wahl eines Wertes hängt vom Wert % Radialannäherung ab, da sich der Blickpunkt zur Normalen bewegen sollte, bevor die gewünschte Radialdistanz erreicht ist. Mit % Radialannäherung mit einem Wert 0,15 wurde der Wert 0,25 für % seitlich verwendet, um eine ausreichende seitliche Bewegung zu erzeugen.
- In der Bogen-Betriebsart ermittelt der Schritt in Kasten 444 den seitlichen Gesamtwinkel von der Blickpunktposition zum Normalenpunkt. Dieser seitliche Winkel θ kann mit folgenden Gleichungen bestimmt werden:
- θBlick = atan (Blickx - poix, Blickz - poiz);
- θNormale = atan (poiNormalex, poiNormalez), und
- θ = θNormale - θBlick,
- wobei atan die arctangens-Funktion ist.
- Der Schritt in Kasten 450 testet dann, ob θ zu groß ist, um eine seitliche Bewegung zum Normalenpunkt in einem Schritt zuzulassen. Die Blickpunktposition kann einem asymptotischen Pfad entlang des Bogens folgen, wobei folgende Gleichung verwendet wird:
- θ = (1 - % drehen) · θ,
- wobei % drehen ein Wert sein kann, der während der Initialisierung gespeichert wird, wie es oben unter Bezugnahme auf % seitlich erläutert wurde. Alternativ dazu kann θ mit einem Maximal-Schrittwinkel verglichen werden, wie etwa π/10; ist θ zu groß, begrenzt der Schritt in Kasten 452 θ auf den Maximal-Schrittwinkel.
- Dann stellt der Schritt in Kasten 454 die neue Position auf einen Punkt auf dem Bogen ein, was mit den folgenden Gleichungen bewerkstelligt werden kann:
- Blickx = poix + Horizontaldistanz · sin(θBlick + θ);
- Blicky = poly; und
- Blickz = poiz + Horizontaldistanz · cos(θBlick + θ).
- Für den allgemeinen Fall ist es zudem erforderlich, einen zweiten Winkel für eine seitliche Bewegung in der y-Richtung zu berechnen, was mit der folgenden Gleichung getan werden kann:
- θv = atan(poiNormaley, k) - atan (Blicky - poiy, Horizontaldistanz),
- wobei k die Horizontaldistanz des poiNormalen-Vektors ist.
- Wenn die neue Position in Kasten 434, Kasten 442 oder Kasten 454 ermittelt wurde, heftet der Schritt in Kasten 460 die neue Position an einer Arbeitsraumbegrenzung. Der Arbeitsraum kann als Raum angenommen werden, so daß die neue Position so heftet wird, daß sie sich innerhalb des Bodens, der Wände und der Decke des Raumes befindet. Eine Anheftung kann auch dann verwendet werden, wenn der Blickpunkt in den Bereich des Arbeitsraumes fällt, der von einem Objekt besetzt ist, um den Blickpunkt außerhalb des Objektes zu bewegen. Nach der Anheftung kann die arctangens-Funktion verwendet werden, um den momentanen Winkel des Blickpunktes und den momentanen seitlichen Winkel für die Verwendung in weiteren Rechnungen erneut zu errechnen.
- Der Schritt in Kasten 462 ermittelt einen POI-Drehwinkel, der die seitliche Bewegung kompensiert. Ohne Kompensation bewegt die seitliche Bewegung den POI unter dem Mauscursor heraus und kann den POI aus dem Blickfeld bewegen, was für den Anwender verwirrend ist. Für eine Drehung in der x-z-Ebene kann der Drehwinkel derselbe sein, wie der Winkel θ, wie es oben beschrieben wurde. Für den allgemeinen Fall, bei dem der Drehpunkt ebenfalls in der y-Richtung gedreht wird, kombiniert der POI-Drehwinkel θ und θv, die errechnet werden, wie es oben erläutert wurde.
- Der Schritt in Kasten 470 testet, ob der Blickpunkt in einer Zentrier-Betriebsart bewegt wird. Bei einer Zentrier- Betriebsart, wird der Blickpunkt ebenfalls gedreht, um den POI in die Mitte des Blickfeldes zu bringen. In der Zentrier- Betriebsart ermittelt der Schritt in Kasten 472 den Zentrierwinkel zwischen der Orientierung des Blickpunktes und der Richtung eines Strahles vom Blickpunkt zum POI, was in der x- z-Ebene unter Verwendung der folgenden Gleichung bewerkstelligt werden kann:
- θ = atan(poix - Blickx, poiz - Blickz) - atan(dobx, dobz),
- wobei dob eine horizontale Richtung eines Körpervektors der Länge 1 kennzeichnet. Die Richtung des Körpervektors zeigt die Richtung des Blickpunktes in der x-z-Ebene an.
- Der Schritt in Kasten 474 vergleicht den Zentrierwinkel aus Kasten 472 mit einem Maximal-Zentrierwinkel, wie etwa 18º, um zu bestimmen, ob dieser zu groß ist. Ist dies der Fall, begrenzt der Schritt in Kasten 476 den Zentrierwinkel durch Einstellung desselben auf den Maximal-Zentrierwinkel.
- Sind sowohl der POI-Drehwinkel als auch der Zentrierwinkel ermittelt worden, bestimmt der Schritt in Kasten 480, ob die Summe der beiden Winkel θt ausreichend größer ist als Null, um eine deutliche Blickpunktdrehung zu bewirken. Ist dies der Fall, dreht der Schritt in Kasten 482 den Blickpunkt dementsprechend. Dieser Schritt kann durch Modifikation der Richtung des Körpervektors unter Verwendung der folgenden Gleichungen durchgeführt werden:
- dobx = dobx + sinθt,
- dobz = dobz + cosθt
- In einer x-z-Ebene kann der Blickpunkt durch Modifikation lediglich von dob gedreht werden, da dob nur mit den x- und z-Komponenten angewendet wird. Für den allgemeinen Fall, in dem der Blickpunkt auch in der y-Richtung gedreht wird, kann die Länge des Blickvektors, dog gekennzeichnet und ebenfalls mit der Länge 1 angenommen, mit der folgenden Gleichung modifiziert werden:
- dogy = dogy + sin(θv)t,
- wobei θv errechnet wird, wie es oben erläutert wurde. Der dog- Vektor kann als Vektor vom Blickpunkt in das Blickfeld betrachtet werden, das der Achse eines Blickkegels folgt.
- Ist der Blickpunkt gedreht worden, bewegt der Schritt in Kasten 484 den Mauscursor zur resultierenden Position des POI. Dies ist notwendig, damit der Anwender damit fortfahren kann, die POI-Position zu steuern.
- Die Erfindung wurde mit der Verwendung einer Maus beschrieben, um Signale zu erzeugen, die eine POI-Bewegung abrufen, und mit einer Tastatur, um Signale zu erzeugen, die eine Blickpunktbewegung erzeugen. Die Erfindung kann ebenso mit einer multidimensionalen Eingabevorrichtung, wie etwa einem VPL-Handschuh verwendet werden, um einen Strahl in einen dreidimensionalen Arbeitsraum zu richten. Dieselbe Eingabevorrichtung kann ebenso verwendet werden, um eine Blickpunktbewegung etwa durch Drücken zu befehlen, um eine aufgerufene Bewegungsart anzuzeigen.
- Die Erfindung kann mit den Animationstechniken eingesetzt werden, die in Robertson, G. G., Card, S. K., and Mackinlay, J. D., "The Cognitive Coprocessor Archiecture for Interactive User Interfaces", Proceedings of the ACM SIGGRAPH Symposium an User Interface Software and Technology, Williamsburg, Virginia, Novbember 13-15, 1989, pp. 10-18 beschrieben sind.
Claims (10)
1. Verfahren zum Bedienen eines Systems das enthält: eine
Anzeigevorrichtung (206), eine Anwender-Eingabevorrichtung
(204) und einen Prozessor (202), der angeschlossen ist, um
Signale von der Anwender-Eingabevorrichtung zu empfangen und
Bilder auf der Anzeigevorrichtung (206) darzustellen; wobei
die Anwender-Eingabevorrichtung (204) Signale erzeugt, die
Bereiche innerhalb der dargestellten Bilder kennzeichnen, und
Signale, die eine Blickpunktbewegung befehlen, und das
Verfahren folgende Schritte enthält:
(a) Darstellen eines ersten Bildes (20) auf der
Anzeigevorrichtung; wobei das erste Bild (20) eine erste Oberfläche
(10) enthält, die wahrnehmbar ist, wenn sie von einem ersten
Blickpunkt (14) innerhalb eines dreidimensionalen
Arbeitsraumes betrachtet wird; und der Schritt zur Darstellung des
ersten Bildes (20) einen Unterschritt zum Speichern der
Blickpunkt-Koordinatendaten enthält, die eine Position des
ersten Blickpunktes (14) in einem dreidimensionalen
Arbeitsraum kennzeichnen; gekennzeichnet durch
(b) Empfangen eines ersten bereichskennzeichnenden Signals
und eines ersten Signals aus der Anwender-Eingabevorrichtung
(204), das eine Bewegung befiehlt; wobei das erste
bereichskennzeichnende Signal einen ersten Bereich (16) auf der
ersten Oberfläche (10) angibt und das erste Bewegungsbefehl-
Signal eine Blickpunktbewegung relativ zum ersten Bereich
(16) verlangt;
(c) in Abhängigkeit des ersten bereichskennzeichnenden
Signals und des ersten Bewegungsbefehl-Signals, Erhalten
eines zweiten Blickpunktes innerhalb des dreidimensionalen
Arbeitsraumes, der aus der Position, die mit den
gespeicherten Blickpunkt-Koordinatendaten gekennzeichnet wird, relativ
zum ersten Bereich (16) auf der ersten Oberfläche verschoben
ist;
(d) Darstellen eines zweiten Bildes (22) auf der
Anzeigevorrichtung (206); wobei das zweite Bild (22) eine zweite
Oberfläche (204) enthält, die als Fortsetzung der ersten
Oberfläche (10) wahrnehmbar ist, die von diesem zweiten Blickpunkt
aus betrachtet wird.
2. Das Verfahren nach Anspruch 1, bei dem das erste
bereichskennzeichnende Signal einen Punkt (16) auf der ersten
Oberfläche kennzeichnet.
3. Das Verfahren nach Anspruch 1 oder 2, bei dem die erste
Oberfläche (10) als mit einer Normalen im ersten Bereich (16)
versehen wahrnehmbar ist, wobei sich der zweite Blickpunkt
näher an der Normalen befindet als der erste Blickpunkt (14).
4. Das Verfahren nach Anspruch 3, bei dem der erste
Blickpunkt (14) als mit einer ersten Orientierungsrichtung
versehen wahrnehmbar und der zweite Blickpunkt als mit einer
zweiten Orientierungsrichtung versehen wahrnehmbar ist, wobei die
zweite Orientierungsrichtung zum ersten Bereich (16) von der
ersten Orientierungsrichtung verschoben ist.
5. Das Verfahren nach Anspruch 4, bei dem der zweite
Blickpunkt als um eine Bogenlänge dichter an der Normalen liegend
als der erste Blickpunkt (14) wahrnehmbar ist und die zweite
Orientierungsrichtung als um einen Verschiebungswinkel von
der ersten Orientierungsrichtung verschoben wahrnehmbar ist,
wobei der Verschiebungswinkel ein Winkel ist, der der
Bogenlänge gegenüberliegt.
6. Das Verfahren nach Anspruch 1, bei dem die Schritte (a)
bis (d) nacheinander wiederholt werden, wodurch eine Abfolge
von Bildern auf der Anzeigevorrichtung dargestellt wird.
7. Das Verfahren nach Anspruch 6, bei dem jeder zweite
Blickpunkt von jedem ersten Blickpunkt (14) um eine Rückbewegungs-
Verschiebung vom ersten Bereich (16) verschoben ist.
8. Das Verfahren nach Anspruch 7, bei dem jede Rückbewegungs-
Verschiebung einer Logarithmusfunktion folgt.
9. Das Verfahren nach Anspruch 7, bei dem die entsprechende
Oberfläche jedes Schrittes begrenzt ist, das entsprechende
Bewegungsbefehl-Signal des ersten Schrittes ein
Anfangs-Bewegungsbefehl-Signal ist und das entsprechende Bewegungsbefehl-
Signal eines zweiten Schrittes ein
Beendigungs-Bewegungsbefehl-Signal ist, wobei der entsprechende Bereich jedes
Schrittes nach dem ersten Schritt bis zum zweiten Schritt
gezwungen wird, innerhalb der begrenzten Oberfläche des
Schrittes zu bleiben.
10. Bildanzeigesystem, enthaltend:
eine Anzeigevorrichtung (206);
eine Anwender-Eingabevorrichtung (204), zum Erzeugen von
Signalen; und
einen Prozessor (202), der angeschlossen ist, um Signale aus
der Anwender-Eingabevorrichtung zu empfangen und Bilder auf
der Anzeigevorrichtung darzustellen, wobei der Prozessor
(214) einen Speicher hat;
die Anwender-Eingabevorrichtung (204) Signale erzeugt, die
eine Blickpunktbewegung und eine Punkt von-Interesse-Bewegung
befehlen und die Anwender-Eingabevorrichtung (204) so
aufgebaut ist, daß der Anwender eine Blickpunktbewegung und eine
Punkt von-Interesse-Bewegung unabhängig befehlen kann;
der Prozessor eine erste Einrichtung enthält, um ein erstes
Bild (20) auf der Anzeigevorrichtung (206) anzuzeigen, das
erste Bild (20) eine erste Oberfläche (10) enthält, die
wahrnehmbar ist, wenn sie von einem ersten Blickpunkt (14)
innerhalb des dreidimensionalen Arbeitsraums betrachtet wird, das
erste Bild (20) einen ersten Punkt von Interesse (16) auf der
ersten Oberfläche (10) enthält und die erste Einrichtung
weiterhin Blickpunkt-Koordinatendaten speichert, die eine
Position des ersten Blickpunktes (14) im dreidimensionalen
Arbeitsraum kennzeichnen; dadurch gekennzeichnet, daß
der Prozessor weiterhin eine zweite Einrichtung zum Empfangen
einer ersten Bewegungsbefehl-Signalabfolge enthält, die eine
erste Blickpunktbewegung und eine erste
Punkt von-Interesse-
Bewegung befiehlt; und
der Prozessor weiterhin eine dritte Einrichtung zum Erhalten
eines zweiten Blickpunktes innerhalb des dreidimensionalen
Arbeitsraumes in Abhängigkeit des ersten
Bereichs-Kennzeichnungssignals und des ersten Bewegungsbefehl-Signals enthält,
wobei der zweite Blickpunkt von der Position, die mit den
gespeicherten Blickpunktkoordinaten gekennzeichnet ist,
relativ zum ersten Bereich (16) auf der ersten Oberfläche (10)
verschoben ist, und eine vierte Einrichtung zum Darstellen
eines zweiten Bildes (22) auf der Anzeigevorrichtung (206),
wobei das zweite Bild (22) eine zweite Oberfläche (24)
enthält, die als eine Fortsetzung der ersten Oberfläche (10)
wahrnehmbar ist, die von dem zweiten Blickpunkt innerhalb des
dreidimensionalen Arbeitsraumes betrachtet wird, und das
zweite Bild (22) einen zweiten Punkt von Interesse (26) auf
der zweiten Oberfläche (24) enthält, wobei der zweite Punkt
von Interesse (26) in Übereinstimmung mit der Bewegung des
ersten Punkts von Interesse (16) verschoben wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/561,627 US5276785A (en) | 1990-08-02 | 1990-08-02 | Moving viewpoint with respect to a target in a three-dimensional workspace |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69130198D1 DE69130198D1 (de) | 1998-10-22 |
| DE69130198T2 true DE69130198T2 (de) | 1999-03-04 |
Family
ID=24242757
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69130198T Expired - Fee Related DE69130198T2 (de) | 1990-08-02 | 1991-08-02 | Bildanzeigesysteme |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5276785A (de) |
| EP (1) | EP0471484B1 (de) |
| JP (1) | JP3240156B2 (de) |
| DE (1) | DE69130198T2 (de) |
Families Citing this family (145)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5359703A (en) * | 1990-08-02 | 1994-10-25 | Xerox Corporation | Moving an object in a three-dimensional workspace |
| GB2256567B (en) * | 1991-06-05 | 1995-01-11 | Sony Broadcast & Communication | Modelling system for imaging three-dimensional models |
| JP2719056B2 (ja) * | 1991-08-20 | 1998-02-25 | 富士通株式会社 | 三次元物体描画装置 |
| US5333254A (en) * | 1991-10-02 | 1994-07-26 | Xerox Corporation | Methods of centering nodes in a hierarchical display |
| US5742779A (en) * | 1991-11-14 | 1998-04-21 | Tolfa Corporation | Method of communication using sized icons, text, and audio |
| US5734384A (en) * | 1991-11-29 | 1998-03-31 | Picker International, Inc. | Cross-referenced sectioning and reprojection of diagnostic image volumes |
| US5384908A (en) * | 1991-12-30 | 1995-01-24 | Xerox Corporation | Avoiding oscillation in interactive animation |
| CA2100893A1 (en) * | 1992-08-06 | 1994-02-07 | Michael E. Stickney | Interactive computerized witness interrogation recording tool |
| US5973700A (en) * | 1992-09-16 | 1999-10-26 | Eastman Kodak Company | Method and apparatus for optimizing the resolution of images which have an apparent depth |
| US5557714A (en) * | 1993-01-29 | 1996-09-17 | Microsoft Corporation | Method and system for rotating a three-dimensional model about two orthogonal axes |
| US5590268A (en) * | 1993-03-31 | 1996-12-31 | Kabushiki Kaisha Toshiba | System and method for evaluating a workspace represented by a three-dimensional model |
| US5790950A (en) | 1994-03-18 | 1998-08-04 | Fujitsu Limited | Computer graphics apparatus having an improved walk-through function |
| US5608850A (en) * | 1994-04-14 | 1997-03-04 | Xerox Corporation | Transporting a display object coupled to a viewpoint within or between navigable workspaces |
| US5689628A (en) * | 1994-04-14 | 1997-11-18 | Xerox Corporation | Coupling a display object to a viewpoint in a navigable workspace |
| US5831630A (en) * | 1994-08-04 | 1998-11-03 | Fujitsu Limited | Three-dimensional model processing system |
| US5973694A (en) * | 1995-06-02 | 1999-10-26 | Chatham Telecommunications, Inc., | Method of communication using sized icons, text, and audio |
| DE69628091T2 (de) * | 1995-06-13 | 2004-04-01 | Matsushita Electric Industrial Co., Ltd., Kadoma | Fahrzeugnavigationsvorrichtung und Aufzeichnungsmedium zur Programmabspeicherung dafür |
| US5856844A (en) * | 1995-09-21 | 1999-01-05 | Omniplanar, Inc. | Method and apparatus for determining position and orientation |
| JPH09153146A (ja) * | 1995-09-28 | 1997-06-10 | Toshiba Corp | 仮想空間表示方法 |
| WO1997021194A1 (en) * | 1995-12-07 | 1997-06-12 | Sega Enterprises, Ltd. | Image generation apparatus, image generation method, game machine using the method, and medium |
| US5574836A (en) * | 1996-01-22 | 1996-11-12 | Broemmelsiek; Raymond M. | Interactive display apparatus and method with viewer position compensation |
| US6426757B1 (en) | 1996-03-04 | 2002-07-30 | International Business Machines Corporation | Method and apparatus for providing pseudo-3D rendering for virtual reality computer user interfaces |
| GB9606791D0 (en) * | 1996-03-29 | 1996-06-05 | British Telecomm | Control interface |
| US5808613A (en) * | 1996-05-28 | 1998-09-15 | Silicon Graphics, Inc. | Network navigator with enhanced navigational abilities |
| US5832139A (en) * | 1996-07-31 | 1998-11-03 | Omniplanar, Inc. | Method and apparatus for determining degrees of freedom of a camera |
| US6721952B1 (en) | 1996-08-06 | 2004-04-13 | Roxio, Inc. | Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing |
| US6054996A (en) * | 1996-11-20 | 2000-04-25 | Interntional Business Machines Corporation | Data processing system and method for controlling a view of a realistic object in a display device |
| US6052130A (en) * | 1996-11-20 | 2000-04-18 | International Business Machines Corporation | Data processing system and method for scaling a realistic object on a user interface |
| IL119928A (en) * | 1996-12-29 | 2001-01-11 | Univ Ramot | Model-based view extrapolation for interactive virtual reality systems |
| US6111581A (en) * | 1997-01-27 | 2000-08-29 | International Business Machines Corporation | Method and system for classifying user objects in a three-dimensional (3D) environment on a display in a computer system |
| US6121971A (en) * | 1997-01-27 | 2000-09-19 | International Business Machines Corporation | Method and system for providing visual hierarchy of task groups and related viewpoints of a three dimensional environment in a display of a computer system |
| US6054985A (en) * | 1997-01-27 | 2000-04-25 | International Business Machines Corporation | Data processing system and method for simulating compound objects |
| US5973697A (en) * | 1997-01-27 | 1999-10-26 | International Business Machines Corporation | Method and system for providing preferred face views of objects in a three-dimensional (3D) environment in a display in a computer system |
| US6081270A (en) * | 1997-01-27 | 2000-06-27 | International Business Machines Corporation | Method and system for providing an improved view of an object in a three-dimensional environment on a computer display |
| US5969724A (en) * | 1997-01-31 | 1999-10-19 | International Business Machines Corporation | Method and system for navigating through opaque structures on a display |
| JPH1186038A (ja) | 1997-03-03 | 1999-03-30 | Sega Enterp Ltd | 画像処理装置、画像処理方法及び媒体並びにゲーム機 |
| US5936624A (en) * | 1997-03-07 | 1999-08-10 | International Business Machines Corporation | Data processing system having a logical containment system and method therefor |
| US5969720A (en) * | 1997-03-07 | 1999-10-19 | International Business Machines Corporation | Data processing system and method for implementing an informative container for a file system |
| US6104406A (en) * | 1997-04-04 | 2000-08-15 | International Business Machines Corporation | Back away navigation from three-dimensional objects in three-dimensional workspace interactive displays |
| US5900879A (en) * | 1997-04-28 | 1999-05-04 | International Business Machines Corporation | Three-dimensional workspace interactive display having browsing viewpoints for navigation and work viewpoints for user-object interactive non-navigational work functions with automatic switching to browsing viewpoints upon completion of work functions |
| US6064389A (en) * | 1997-05-27 | 2000-05-16 | International Business Machines Corporation | Distance dependent selective activation of three-dimensional objects in three-dimensional workspace interactive displays |
| US6529210B1 (en) | 1998-04-08 | 2003-03-04 | Altor Systems, Inc. | Indirect object manipulation in a simulation |
| US6160553A (en) * | 1998-09-14 | 2000-12-12 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and in which object occlusion is avoided |
| US6166738A (en) * | 1998-09-14 | 2000-12-26 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects |
| US6414677B1 (en) | 1998-09-14 | 2002-07-02 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups proximally located objects |
| US6243093B1 (en) | 1998-09-14 | 2001-06-05 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups matching objects |
| US6188405B1 (en) | 1998-09-14 | 2001-02-13 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects |
| US6249290B1 (en) * | 1998-12-14 | 2001-06-19 | Sony Corporation | Object oriented zooming graphical user interface |
| US6346938B1 (en) | 1999-04-27 | 2002-02-12 | Harris Corporation | Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model |
| JP4019240B2 (ja) * | 1999-05-07 | 2007-12-12 | 株式会社セガ | 画像処理方法、記録媒体及び画像処理装置 |
| US6947044B1 (en) * | 1999-05-21 | 2005-09-20 | Kulas Charles J | Creation and playback of computer-generated productions using script-controlled rendering engines |
| US6738066B1 (en) * | 1999-07-30 | 2004-05-18 | Electric Plant, Inc. | System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display |
| USD535657S1 (en) | 1999-12-20 | 2007-01-23 | Apple Computer, Inc. | User interface for computer display |
| US7434177B1 (en) | 1999-12-20 | 2008-10-07 | Apple Inc. | User interface for providing consolidation and access |
| US6686938B1 (en) * | 2000-01-05 | 2004-02-03 | Apple Computer, Inc. | Method and system for providing an embedded application toolbar |
| US7522186B2 (en) | 2000-03-07 | 2009-04-21 | L-3 Communications Corporation | Method and apparatus for providing immersive surveillance |
| DE10016753A1 (de) * | 2000-04-04 | 2001-10-11 | Definiens Ag | Verfahren zum Navigieren zwischen Ausschnitten in einem Darstellungsraum |
| US7168051B2 (en) | 2000-10-10 | 2007-01-23 | Addnclick, Inc. | System and method to configure and provide a network-enabled three-dimensional computing environment |
| EP1363246A4 (de) * | 2001-02-23 | 2006-11-08 | Fujitsu Ltd | "anzeigesteuereinrichtung, mit der anzeigesteuereinrichtung ausgestattetes informationsendgerät und ansichtspunktpositionssteuereinrichtung" |
| US6987512B2 (en) * | 2001-03-29 | 2006-01-17 | Microsoft Corporation | 3D navigation techniques |
| US7269632B2 (en) | 2001-06-05 | 2007-09-11 | Xdyne, Inc. | Networked computer system for communicating and operating in a virtual reality environment |
| US7190365B2 (en) * | 2001-09-06 | 2007-03-13 | Schlumberger Technology Corporation | Method for navigating in a multi-scale three-dimensional scene |
| US7043701B2 (en) * | 2002-01-07 | 2006-05-09 | Xerox Corporation | Opacity desktop with depth perception |
| US7221287B2 (en) | 2002-03-05 | 2007-05-22 | Triangle Software Llc | Three-dimensional traffic report |
| GB2387519B (en) * | 2002-04-08 | 2005-06-22 | Canon Europa Nv | Viewing controller for three-dimensional computer graphics |
| US6917360B2 (en) * | 2002-06-21 | 2005-07-12 | Schlumberger Technology Corporation | System and method for adaptively labeling multi-dimensional images |
| US7042449B2 (en) * | 2002-06-28 | 2006-05-09 | Autodesk Canada Co. | Push-tumble three dimensional navigation system |
| US8044953B2 (en) * | 2002-06-28 | 2011-10-25 | Autodesk, Inc. | System for interactive 3D navigation for proximal object inspection |
| JP3744002B2 (ja) * | 2002-10-04 | 2006-02-08 | ソニー株式会社 | 表示装置、撮像装置、および撮像/表示システム |
| US7589732B2 (en) * | 2002-11-05 | 2009-09-15 | Autodesk, Inc. | System and method of integrated spatial and temporal navigation |
| US7570261B1 (en) | 2003-03-06 | 2009-08-04 | Xdyne, Inc. | Apparatus and method for creating a virtual three-dimensional environment, and method of generating revenue therefrom |
| US20050128212A1 (en) * | 2003-03-06 | 2005-06-16 | Edecker Ada M. | System and method for minimizing the amount of data necessary to create a virtual three-dimensional environment |
| WO2004114648A2 (en) * | 2003-06-19 | 2004-12-29 | L-3 Communications Corporation | Method and apparatus for providing a scalable multi-camera distributed video processing and visualization surveillance system |
| US7259778B2 (en) * | 2003-07-01 | 2007-08-21 | L-3 Communications Corporation | Method and apparatus for placing sensors using 3D models |
| US20050046645A1 (en) * | 2003-07-24 | 2005-03-03 | Breton Pierre Felix | Autoscaling |
| WO2005013063A2 (en) | 2003-07-25 | 2005-02-10 | Landsonar, Inc. | System and method for determining recommended departure time |
| JP3734815B2 (ja) * | 2003-12-10 | 2006-01-11 | 任天堂株式会社 | 携帯ゲーム装置及びゲームプログラム |
| US7646394B1 (en) | 2004-03-05 | 2010-01-12 | Hrl Laboratories, Llc | System and method for operating in a virtual environment |
| US8267780B2 (en) | 2004-03-31 | 2012-09-18 | Nintendo Co., Ltd. | Game console and memory card |
| WO2005101097A2 (en) * | 2004-04-05 | 2005-10-27 | Vesely Michael A | Horizontal perspective display |
| US7796134B2 (en) * | 2004-06-01 | 2010-09-14 | Infinite Z, Inc. | Multi-plane horizontal perspective display |
| US20060126926A1 (en) * | 2004-11-30 | 2006-06-15 | Vesely Michael A | Horizontal perspective representation |
| US8717423B2 (en) * | 2005-05-09 | 2014-05-06 | Zspace, Inc. | Modifying perspective of stereoscopic images based on changes in user viewpoint |
| WO2006121957A2 (en) * | 2005-05-09 | 2006-11-16 | Michael Vesely | Three dimensional horizontal perspective workstation |
| US20060252979A1 (en) * | 2005-05-09 | 2006-11-09 | Vesely Michael A | Biofeedback eyewear system |
| US7875132B2 (en) * | 2005-05-31 | 2011-01-25 | United Technologies Corporation | High temperature aluminum alloys |
| WO2007011748A2 (en) * | 2005-07-14 | 2007-01-25 | Molsoft, Llc | Structured documents for displaying and interaction with three dimensional objects |
| US20070040905A1 (en) * | 2005-08-18 | 2007-02-22 | Vesely Michael A | Stereoscopic display using polarized eyewear |
| US9070402B2 (en) * | 2006-03-13 | 2015-06-30 | Autodesk, Inc. | 3D model presentation system with motion and transitions at each camera view point of interest (POI) with imageless jumps to each POI |
| JP4737539B2 (ja) * | 2006-05-03 | 2011-08-03 | 株式会社ソニー・コンピュータエンタテインメント | マルチメディア再生装置および背景画像表示方法 |
| JP2007306353A (ja) * | 2006-05-12 | 2007-11-22 | Opt Kk | 動画の表示方法、動画表示システムおよび広角動画撮像装置 |
| US8127235B2 (en) | 2007-11-30 | 2012-02-28 | International Business Machines Corporation | Automatic increasing of capacity of a virtual space in a virtual world |
| US20090164919A1 (en) | 2007-12-24 | 2009-06-25 | Cary Lee Bates | Generating data for managing encounters in a virtual world environment |
| WO2009089126A1 (en) | 2008-01-04 | 2009-07-16 | 3M Innovative Properties Company | Three-dimensional model refinement |
| US8515718B2 (en) * | 2008-01-31 | 2013-08-20 | Siemens Ag | Method and device for visualizing an installation of automation systems together with a workpiece |
| AU2009236690B2 (en) * | 2008-04-14 | 2014-10-23 | Google Inc. | Swoop navigation |
| US8508534B1 (en) * | 2008-05-30 | 2013-08-13 | Adobe Systems Incorporated | Animating objects using relative motion |
| US8477139B2 (en) * | 2008-06-09 | 2013-07-02 | Apple Inc. | Touch screen device, method, and graphical user interface for manipulating three-dimensional virtual objects |
| JP2012501016A (ja) * | 2008-08-22 | 2012-01-12 | グーグル インコーポレイテッド | モバイルデバイス上の3次元環境内でのナビゲーション |
| US9046924B2 (en) * | 2009-03-04 | 2015-06-02 | Pelmorex Canada Inc. | Gesture based interaction with traffic data |
| US8619072B2 (en) | 2009-03-04 | 2013-12-31 | Triangle Software Llc | Controlling a three-dimensional virtual broadcast presentation |
| US8982116B2 (en) * | 2009-03-04 | 2015-03-17 | Pelmorex Canada Inc. | Touch screen based interaction with traffic data |
| US20110066933A1 (en) * | 2009-09-02 | 2011-03-17 | Ludwig Lester F | Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization |
| US9297924B2 (en) | 2009-12-28 | 2016-03-29 | Landmark Graphics Corporation | Method and system of displaying data sets indicative of physical parameters associated with a formation penetrated by a wellbore |
| US8717360B2 (en) | 2010-01-29 | 2014-05-06 | Zspace, Inc. | Presenting a view within a three dimensional scene |
| US8515669B2 (en) * | 2010-06-25 | 2013-08-20 | Microsoft Corporation | Providing an improved view of a location in a spatial environment |
| WO2012001625A1 (en) | 2010-06-30 | 2012-01-05 | Koninklijke Philips Electronics N.V. | Zooming a displayed image |
| US8983763B2 (en) * | 2010-09-22 | 2015-03-17 | Nokia Corporation | Method and apparatus for determining a relative position of a sensing location with respect to a landmark |
| CA2823827C (en) | 2010-11-14 | 2018-08-28 | Triangle Software Llc | Crowd sourced traffic reporting |
| CA2839866C (en) | 2011-05-18 | 2021-04-13 | Triangle Software Llc | System for providing traffic data and driving efficiency data |
| US8786529B1 (en) | 2011-05-18 | 2014-07-22 | Zspace, Inc. | Liquid crystal variable drive voltage |
| US9189891B2 (en) | 2011-08-16 | 2015-11-17 | Google Inc. | Systems and methods for navigating a camera |
| US8994738B1 (en) | 2011-10-04 | 2015-03-31 | Google Inc. | Systems and method for navigating between oblique views of a map |
| US9019279B1 (en) | 2011-10-04 | 2015-04-28 | Google Inc. | Systems and method for navigating between a nadir view and an oblique view of a map |
| US8767040B2 (en) | 2012-01-11 | 2014-07-01 | Google Inc. | Method and system for displaying panoramic imagery |
| CA2883973C (en) | 2012-01-27 | 2021-02-23 | Edgar Rojas | Estimating time travel distributions on signalized arterials |
| US9791290B2 (en) * | 2012-02-29 | 2017-10-17 | Here Global B.V. | Manipulation of user attention with respect to a simulated field of view for geographic navigation via constrained focus on, perspective attraction to, and/or correction and dynamic adjustment of, points of interest |
| US8626434B1 (en) * | 2012-03-01 | 2014-01-07 | Google Inc. | Automatic adjustment of a camera view for a three-dimensional navigation system |
| US10163261B2 (en) | 2014-03-19 | 2018-12-25 | Matterport, Inc. | Selecting two-dimensional imagery data for display within a three-dimensional model |
| US9786097B2 (en) * | 2012-06-22 | 2017-10-10 | Matterport, Inc. | Multi-modal method for interacting with 3D models |
| US10139985B2 (en) | 2012-06-22 | 2018-11-27 | Matterport, Inc. | Defining, displaying and interacting with tags in a three-dimensional model |
| US10223909B2 (en) | 2012-10-18 | 2019-03-05 | Uber Technologies, Inc. | Estimating time travel distributions on signalized arterials |
| US20150062114A1 (en) * | 2012-10-23 | 2015-03-05 | Andrew Ofstad | Displaying textual information related to geolocated images |
| US10140765B2 (en) * | 2013-02-25 | 2018-11-27 | Google Llc | Staged camera traversal for three dimensional environment |
| US9214043B2 (en) * | 2013-03-04 | 2015-12-15 | Here Global B.V. | Gesture based map annotation |
| US10108693B2 (en) | 2013-03-14 | 2018-10-23 | Xdyne, Inc. | System and method for interacting with virtual maps |
| US9164653B2 (en) * | 2013-03-15 | 2015-10-20 | Inspace Technologies Limited | Three-dimensional space for navigating objects connected in hierarchy |
| US11544778B2 (en) * | 2013-09-09 | 2023-01-03 | Mx Technologies, Inc. | Creating an intuitive visual plan for achieving financial goals |
| US10380797B2 (en) * | 2013-11-22 | 2019-08-13 | International Business Machines Corporation | Configuration of navigational controls in geometric environment |
| US10057590B2 (en) * | 2014-01-13 | 2018-08-21 | Mediatek Inc. | Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding |
| JP2015192697A (ja) * | 2014-03-31 | 2015-11-05 | ソニー株式会社 | 制御装置および制御方法、並びに撮影制御システム |
| US9778814B2 (en) * | 2014-12-19 | 2017-10-03 | Microsoft Technology Licensing, Llc | Assisted object placement in a three-dimensional visualization system |
| US9631932B2 (en) * | 2015-06-05 | 2017-04-25 | Nokia Technologies Oy | Crowd sourced interaction of browsing behavior in a 3D map |
| US9679413B2 (en) | 2015-08-13 | 2017-06-13 | Google Inc. | Systems and methods to transition between viewpoints in a three-dimensional environment |
| US10824320B2 (en) * | 2016-03-07 | 2020-11-03 | Facebook, Inc. | Systems and methods for presenting content |
| EP3882867A1 (de) | 2016-05-03 | 2021-09-22 | Affera, Inc. | Anzeige eines anatomischen modells |
| US10376320B2 (en) | 2016-05-11 | 2019-08-13 | Affera, Inc. | Anatomical model generation |
| US20170325901A1 (en) | 2016-05-12 | 2017-11-16 | Affera, Inc. | Anatomical model controlling |
| AU2017100667A4 (en) | 2016-06-11 | 2017-07-06 | Apple Inc. | Activity and workout updates |
| US10423652B2 (en) * | 2016-08-08 | 2019-09-24 | Baidu Usa Llc | Knowledge graph entity reconciler |
| WO2020154543A1 (en) | 2019-01-23 | 2020-07-30 | Affera, Inc. | Systems and methods for therapy annotation |
| EP3712751B1 (de) * | 2019-03-19 | 2025-08-13 | Nokia Technologies Oy | Verfahren und vorrichtung zur einbeziehung von standortbewusstsein in medieninhalte |
| US11900528B2 (en) * | 2020-05-27 | 2024-02-13 | Unity IPR ApS | Method and system for viewing and manipulating interiors of continuous meshes |
| US12161422B2 (en) | 2020-05-29 | 2024-12-10 | Affera, Inc. | Medical device visualization |
| CN111797183B (zh) * | 2020-05-29 | 2024-08-20 | 汉海信息技术(上海)有限公司 | 挖掘信息点的道路属性的方法、装置及电子设备 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4734690A (en) * | 1984-07-20 | 1988-03-29 | Tektronix, Inc. | Method and apparatus for spherical panning |
| US5124693A (en) * | 1985-10-29 | 1992-06-23 | International Business Machines | Three dimensional graphic display with user defined vanishing point |
| US5072412A (en) * | 1987-03-25 | 1991-12-10 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
| GB8728836D0 (en) * | 1987-12-10 | 1988-01-27 | Quantel Ltd | Electronic image processing |
| US5019809A (en) * | 1988-07-29 | 1991-05-28 | University Of Toronto Innovations Foundation | Two-dimensional emulation of three-dimensional trackball |
| US5268677A (en) * | 1988-08-04 | 1993-12-07 | The Grass Valley Group, Inc. | Reduced viewport for graphics display |
| US5107443A (en) * | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
| US5021976A (en) * | 1988-11-14 | 1991-06-04 | Microelectronics And Computer Technology Corporation | Method and system for generating dynamic, interactive visual representations of information structures within a computer |
| US4991022A (en) * | 1989-04-20 | 1991-02-05 | Rca Licensing Corporation | Apparatus and a method for automatically centering a video zoom and pan display |
| US5095302A (en) * | 1989-06-19 | 1992-03-10 | International Business Machines Corporation | Three dimensional mouse via finger ring or cavity |
| US5129054A (en) * | 1990-03-12 | 1992-07-07 | International Business Machines Corporation | Specifying 3d reference points in 2d graphic displays |
-
1990
- 1990-08-02 US US07/561,627 patent/US5276785A/en not_active Expired - Lifetime
-
1991
- 1991-07-29 JP JP18901791A patent/JP3240156B2/ja not_active Expired - Fee Related
- 1991-08-02 DE DE69130198T patent/DE69130198T2/de not_active Expired - Fee Related
- 1991-08-02 EP EP91307114A patent/EP0471484B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5276785A (en) | 1994-01-04 |
| EP0471484A2 (de) | 1992-02-19 |
| JPH04233666A (ja) | 1992-08-21 |
| EP0471484B1 (de) | 1998-09-16 |
| JP3240156B2 (ja) | 2001-12-17 |
| DE69130198D1 (de) | 1998-10-22 |
| EP0471484A3 (en) | 1993-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69130198T2 (de) | Bildanzeigesysteme | |
| DE69132888T2 (de) | Bildanzeigeverfahren und -system | |
| DE69129712T2 (de) | Arbeitsraumanzeigen | |
| DE69531269T2 (de) | Transportieren eines an einen Sichtpunkt innerhalb oder zwischen navigierbaren Arbeitsräumen gekoppelten Anzeigeobjektes | |
| DE69033865T2 (de) | Display hierarchischer dreidimensionaler Strukturen | |
| DE69534331T2 (de) | Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur | |
| DE69731045T2 (de) | Navigation und Interaktion in strukturierten Informationsräumen | |
| DE69732663T2 (de) | Verfahren zur erzeugung und änderung von 3d modellen und korrelation von solchen modellen mit 2d bildern | |
| DE60133386T2 (de) | Vorrichtung und verfahren zur anzeige eines ziels mittels bildverarbeitung ohne drei dimensionales modellieren | |
| DE69625979T2 (de) | Vorrichtung und Verfahren zur Bildverarbeitung | |
| DE69329341T2 (de) | Virtueller realitätsgenerator für finanznachrichten | |
| DE69525696T2 (de) | Wiedergeben von Knotenverbindungsstruktur mit einer Zone von grösseren Abständen und peripheren Zweigen | |
| DE69631947T2 (de) | Positionierung eines Eingabezeigers | |
| DE3689851T2 (de) | Verfahren und Gerät zur gekrümmten Oberflächenerzeugung. | |
| DE69428647T2 (de) | Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals | |
| DE69029119T2 (de) | Interaktives grafisches Rechnersystem um deutliche Zeichnungen zu machen | |
| DE69228212T2 (de) | Vorrichtung und Verfahren zum Zeichnen von Bildern dreidimensionaler Ojekte | |
| DE69524330T2 (de) | Anordnung von Knotenverbindungstruktur in einem Raum mit negativer Krümmung | |
| DE69629447T2 (de) | Benutzerinteraktion bei Bildern mit strukturiertem Bildformat | |
| DE69600392T2 (de) | Vorrichtung und verfahren zum gestalten von bahndefiniertenkurven | |
| DE69422500T2 (de) | 3d-eingabesystem fur cad-systeme | |
| DE69432579T2 (de) | Verfahren und Vorrichtung zum Bearbeiten von Modell-Datenstrukturen eines Bildes, um ein für Menschen erkennbares Resultat zu erreichen | |
| DE69231239T2 (de) | Verfahren zur Bedienung eines Prozessors | |
| DE69835770T2 (de) | Verfahren und gerät zum vereinfachen der navigation in dreidimensionalen grafischen szenen | |
| EP0829822B1 (de) | Verfahren zur Anzeige von geometrischen Objektoberflächen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |