-
Die vorliegende Erfindung betrifft
eine Methode einer interaktiven Benutzerschnittstelle zum Transportieren
eines Anzeigeobjektes innerhalb eines n-dimensionalen Arbeitsraumes
oder von einem n-dimensionalen Arbeitsraum in einen anderen n-dimensionalen
Arbeitsraum eines prozessorgesteuerten Systems, wobei das Anzeigeobjekt
während
es transportiert wird an einen ersten Sichtpunkt gekoppelt bleibt.
-
In prozessorbasierten Systemen sind
anzeigebasierte graphische Benutzerschnittstellen (GUI) verwendet
worden, um einem Systembenutzer die Wahrnehmung zu vermitteln, dass
er über
einen Arbeitsraum verfügt,
in dem er Informationen manipulieren kann. Eine Art der graphischen
Benutzerschnittstelle (GUI) verwendet eine zweidimensionale (2D)
Desktopmetapher, wo die Informationen in einem einzelnen großen 2D-Anzeigebereich dargestellt
werden, die von der physischen Größe des Anzeigebereiches des
Anzeigegerätes
begrenzt wird, der als metaphorischer Desktop bzw. als Arbeitsraum
dient, der andere 2D-Anzeigebereiche, Fenster genannt, beinhaltet,
deren Öffnen,
Schließen
und Handhabung durch den Systembenutzer gesteuert werden.
-
Ein übliches Interaktionsverfahren,
das die 2D-Desktop-GUI mit einem einzelnen Arbeitsraum bereitstellt,
ist das Bewegen oder Kopieren von Anzeigeobjekten an eine andere
Position in dem Arbeitsraum bzw. von einem Fenster zu einem anderen.
Häufige
Verfahren für
das Auswählen,
Bewegen und Kopieren (nachfolgend gemeinschaftlich das "Transportieren" genannt) von Daten,
Informationen oder Objekten in einer herkömmlichen 2D-GUI sind hinreichend
bekannt. Ein Verfahren arbeitet mit der Metapher Drag-and-drop" (Ziehen und Ablegen),
wobei der Systembenutzer ein Anzeigeobjekt, wie zum Beispiel ein
Symbol, mit einem Zeigegerät
auswählt,
indem er eine Taste an dem Zeigegerät drückt und indem er dann das Objekt
mit dem Zeigegerät über die
Anzeige zieht, wodurch die Bewegung des ausgewählten Objektes an eine neue
in dem Anzeigebereich wahrnehmbare Position simuliert wird und wobei
das Objekt an seiner Zielposition positioniert wird, indem die Taste
an dem Zeigegerät
losgelassen wird.
-
Ein anderes übliches Verfahren für das Auswählen und
das Transportieren von Daten, Informationen oder Objekten in einer
herkömmlichen
2D-GUI ist das sogenannte "Cut-and-paste" (Ausschneiden und
Wiedereinfügen)
und verwendet einen Speicherplatz, üblicherweise eine Zwischenablage,
um die Daten, die transportiert werden sollen, zu speichern, während der
Systembenutzer die Zielposition in einem 2D-Arbeitsraum findet.
Dieses Verfahren wird bereitgestellt und arbeitet wirksam, wenn
die Zielposition in dem 2D-Arbeitsraum für den Systembenutzer nicht
wahrnehmbar ist. Die ein "ausgeschnittenes" Anzeigeobjekt darstellenden
Daten werden in einer Zwischenablage (d. h. auf einem Zwischenablagespeicherplatz)
gespeichert, und das Anzeigeobjekt kann von dem Fenster entfernt
werden und ist für
den Benutzer nicht mehr wahrnehmbar. Die Daten, die das "wiedereingefügte" Anzeigeobjekt darstellen,
werden dann von dem Speicherplatz abgerufen und in der Zielposition
dargestellt. Während
der Bewegungsoperation ist das transportiert werdende Anzeigeobjekt für den Benutzer
nicht wahrnehmbar, da es von dem Fenster entfernt wird, wenn es
ausgeschnitten wird.
-
Einige GUI versuchen, dem Benutzer
die Wahrnehmung zu vermitteln, dass sein Arbeitsraum größer ist
als tatsächlich
in dem Anzeigebereich dargestellt. Zum Beispiel wurde die 2D-Desktopmetapher
des einzelnen Arbeitsraumes auf mehrfache 2D-Desktoparbeitsräume in einer "Rooms" (Räume) genannten
graphischen Schnittstelle (GUI) erweitert, die es dem Benutzer ermöglicht,
zwischen Arbeitsräumen
umzuschalten, wodurch mehr Informationen in dem unmittelbaren Arbeitsbereich
liegen. Rooms® ist
ein eingetragenes Warenzeichen der Xerox Corporation. Henderson,
D. A., und Card, S. K. "Rooms:
The use of multiple virtual workspaces to reduce space contention
in a window-based graphical user intertace" (Räume:
Die Nutzung mehrfacher virtueller Arbeitsräume zur Reduzierung von Raumkonkurrenz
in einer fensterbasierten graphischen Benutzerschnittstelle – nicht
autorisierte Übersetzung – d. Übers.),
ACM Transactions on Graphics, Juli 1986, S. 211–243, legt die Merkmale der
Räume-Schnittstelle
offen. Die Offenlegung auf den Seiten 228 bis 229 beschreibt drei
Mechanismen, die bereitgestellt werden, um Werkzeuge von einem Arbeitsraum
in einen anderen zu transportieren. Der erste Mechanismus benutzt
einen Überblick,
der miniaturisierte Versionen aller Räume in dem gesamten Benutzerarbeitsraum
anzeigt. Von dem Überblick
kann eine "Platzierung", d. h. ein Fenster zusammen
mit Positions- und Darstellungsinformationen in einem bestimmten
Raum, über
einen Befehl KOPIEREN bzw. BEWEGEN von einem Raum zu einem anderen
Raum kopiert oder bewegt werden. Ein zweiter Mechanismus verwendet
eine "Gepäckmetapher", die es dem Benutzer
ermöglicht,
Werkzeuge (im Allgemeinen Fenster) mitzunehmen, d. h. zu kopieren,
wenn er in einen anderen Arbeitsraum übergeht. Ein dritter Mechanismus,
auch "Taschen" genannt, ermöglicht es
dem Benutzer, Werkzeuge zwischen den Räumen zu bewegen, indem ein
Raum in seiner Funktion zu Taschen erklärt wird. Dieser Raum wird zeitweilig
in einen beliebigen Raum, den der Benutzer betritt, eingeschlossen,
und Fenster und Werkzeuge, die in den Taschen des Benutzers platziert
sind, werden in allen Räumen
dargestellt (am gleichen Ort und mit den gleichen Darstellungsattributen).
-
Robertson, Card und Mackinlay legen
in der Schrift "Interactive
visualization Using 3D Interactive Animation" (Interaktive Visualisierung unter Nutzung
von interaktiver 3D-Animation – nichtautorisierte Übersetzung – d. Übers.),
Communications ACM, 36, 4. April 1993, S. 57–71 – nachfolgend "der Artikel von Robertson" genannt – einen
navigierbaren 3D-Arbeitsraum offen, der graphische Objekte enthält, die
Visualisierungen von Informationen darstellen, auch bekannt als
der Informations-Visualisierer. Der Artikel von Robertson beschreibt,
dass der Informations-Visualisierer die Mehrfachdesktopbenutzerschnittstelle
von Rooms® in
einen 3D-Arbeitsraum für
Informationszugriff weiterentwickelt hat, in dem interaktive 3D-Objekte
die Fenster der 2D-Räume-Umgebung
ersetzen. Die Systembenutzer können
in jedem Raum willkürliche
Positionen und Ausrichtungen haben, und Verfahren für eine rasche,
kontrollierte und zielgerichtete 3D-Bewegung durch den Benutzer in dem Arbeitsraum
werden bereitgestellt, wie zum Beispiel das in US-A-5,276,785 von
Mackinlay et al. offengelegte Verfahren unter dem Titel "Moving Viewpoint
with Respect to a Target in a Three Dimensional Workspace" (Bewegen eines Sichtpunktes
in Bezug auf ein Ziel in einem dreidimensionalen Arbeitsraum – nicht
autorisierte Übersetzung – d. Übers.).
Wie auch bei Rooms® wird
ein Überblick
bereitgestellt, jedoch können
Objekte nicht mittels des Überblicks
von Raum zu Raum bewegt werden.
-
Die weiter oben beschriebenen Verfahren
Ziehen-und-Ablegen und Ausschneiden-und-Wiedereinfügen für das Transportieren von Objekten
in einem einzelnen 2D-Desktoparbeitsraum
haben mehrere Nachteile, wenn sie in 2½D- oder 3D- Visualisierungsumgebungen
mit einem Arbeitsraum oder mit mehreren Arbeitsräumen und mit mehreren Sichtpunkten
verwendet werden: Das Verfahren Ziehen-und-Ablegen koppelt das Anzeigeobjekt
an den Kursor und ist normalerweise auf das Transportieren eines
ausgewählten
Anzeigeobjektes beschränkt,
wenn der Sichtpunkt in den Arbeitsraum hinein fest ist und die Zielposition
wahrnehmbar ist, wodurch dieses Verfahren in einem Kontext verwendet
werden muss, in dem der gesamte Arbeitsraum auf dem Anzeigegerät anzeigbar
ist, wie zum Beispiel in dem Überblick
von Rooms® GUI.
Das herkömmliche
Verfahren Ausschneiden-und-Wiedereinfügen hängt kein ausgewähltes Anzeigeobjekt
an den Kursor an, sondern entfernt dieses aus dem Sichtfeld des
Benutzers, während
an ihm gearbeitet wird, und zur gleichen Zeit transportierte Mehrfachobjekte
verbleiben nicht in derselben Beziehung zueinander.
-
"Rapid
controlled movement through a virtual 3D workspace" (Rasche, kontrollierte
Bewegung durch einen virtuellen 3D-Arbeitsraum – nicht autorisierte Übersetzung – d. Übers.),
Mackinlay et al, Computer Graphics Bd. 24, Nr. 4, August 1990, Seiten
171 bis 176, beschreibt eine Computergraphikhardware, die interaktive
3D-Animation in Echtzeit unterstützt.
In dieser Arbeit lässt
das System den Benutzer einen Interessenpunkt (ein Ziel) an einem
3D-Objekt angeben und einen Abstand zu diesem Ziel verwenden, um
den Sichtpunkt logarithmisch zu bewegen, indem bei jedem Animationszyklus
der gleiche relative Anteil des Abstandes bewegt wird. Das Ergebnis
ist eine rasche Bewegung über
Abstände
oder Entfernungen, die sich in dem Maße verlangsamt, wie sich der
Sichtpunkt an mehrdimensionale Eingabegeräte annähert.
-
Die vorliegende Erfindung erkennt
an, dass sich andere Probleme in Bezug auf das Verfolgen und Manipulieren
von Objekten in einem navigierbaren Arbeitsraum mit mehreren Sichtpunkten
ergeben als die in einer herkömmlichen
Umgebung mit einem einzelnen Sichtpunkt auftretenden Probleme. Vorhandene
Transportverfahren können
bei dem Benutzer eine zunehmende Verunsicherung hervorrufen, während der
Benutzer in dem Arbeitsraum navigiert, und können somit die Wirksamkeit
des Informationszugriffes beeinträchtigen. Das erfindungsgemäße Verfahren
löst diese
Probleme in einer Umgebung mit mehreren Sichtpunkten und mit einem
navigierbaren Arbeitsraum oder mit mehreren navigierbaren Arbeitsräumen; indem
die Position eines ausgewählten
Anzeigeobjektes an den Sichtpunkt des Benutzers in den Arbeitsraum
hinein zu dem Zeitpunkt der Auswahl des Objektes für das Transportieren
gekoppelt wird und indem danach das Trans portieren des Anzeigeobjektes
an seinen Zielort mittels standardmäßiger Navigierverfahren ermöglicht wird.
Bei der Nutzung des erfindungsgemäßen Verfahrens bleibt das ausgewählte Anzeigeobjekt
während
des Transportierens für den
Systembenutzer so wie zum Zeitpunkt seiner Auswahl wahrnehmbar,
und der Benutzer ist stets in der Lage, das transportiert werdende
Objekt zu verfolgen und er hat so eine genauere Kontrolle über dessen
endgültige
Positionierung. Zum Beispiel verhindert das Verfahren, dass das
ausgewählte
Anzeigeobjekt aus dem Sichtfeld des Benutzers verschwindet, wenn
der Benutzer einen anderen Sichtpunkt in den gleichen Arbeitsraum
hinein oder in einen anderen Arbeitsraum hinein wählt, der
anderenfalls keine Sicht des ausgewählten Anzeigeobjektes beinhalten
würde.
Darüber
hinaus verbleiben mehrere zum Transportieren ausgewählte Anzeigeobjekte
in der gleichen, feststehenden Beziehung zueinander und zu dem Benutzer,
in der sie sich bei ihrer ersten Auswahl befanden, und sie werden
dem Benutzer in dieser feststehenden Beziehung erscheinen, wenn
der Benutzer einen zweiten Sichtpunkt auswählt, von dem aus er den Arbeitsraum
betrachten möchte.
-
Die vorliegende Erfindung für das Transportieren
eines Anzeigeobjektes kann in einem beliebigen 2D-, 2½D- oder
3D-Arbeitsraum mit mehreren Sichtpunkten bzw. zwischen zwei beliebigen
Arten solcher Arbeitsräume
verwendet werden. Ein zusätzliches
Merkmal der Benutzerschnittstelle ermöglicht das Anzeigen des ausgewählten Anzeigeobjektes
mit einem Anzeigemerkmal, das dem Benutzer das Anzeigeobjekt als
für den Transport
ausgewählt
visuell hervorhebt oder markiert. Das Transportverfahren gilt sowohl
für Bewegungs-
als auch für
Kopieroperationen an dem ausgewählten
Anzeigeobjekt innerhalb eines einzelnen Arbeitsraumes oder zwischen
Arbeitsräumen.
Zusätzlich
wird die Datenstruktur zur Darstellung des ausgewählten Anzeigeobjektes
für eine
Bewegungs- oder
Kopieroperation an dem ausgewählten
Anzeigeobjekt entsprechend geändert,
und die Arbeitsraumdatenstrukturen werden für eine Bewegungs- oder Kopieroperation
zwischen Arbeitsräumen
entsprechend geändert.
-
Dieses Verfahren kann in einem prozessorgesteuerten
System implementiert werden, das ein Benutzereingabegerät für das Erzeugen
von Signalen zur Anzeige von Aktionen eines Systembenutzers; eine
Anzeige; einen Prozessor, angeschlossen für das Empfangen von Signalen
und für
das Darstellen von Bildern auf der Anzeige und einen Speicher für das Speichern
von Daten enthält.
Ein erstes Bild wird auf der Anzeige dargestellt und ist als von
einem ersten Sichtpunkt in einem ersten navigierbaren Arbeits raum
aus gesehen wahrnehmbar. Das erste Bild beinhaltet ein erstes Anzeigeobjekt,
und der erste Sichtpunkt wird auf einer ersten Koordinatenposition
und Ausrichtung in Bezug zu dem ersten Anzeigeobjekt positioniert.
Danach wird ein erstes Signal von dem Systembenutzer empfangen,
das die Anforderung des Systembenutzers für das Transportieren des ersten
Anzeigeobjektes anzeigt, wobei das erste Signal weiterhin die Auswahl
des ersten Anzeigeobjektes als das von dem Systembenutzer ausgewählte Anzeigeobjekt
anzeigt. Als Reaktion auf das erste Signal wird das ausgewählte Anzeigeobjekt
an den ersten Sichtpunkt gekoppelt. Der Ausdruck "koppeln" soll bei Verwendung
in dieser Schrift beliebige Kombinationen von Programmierverfahren
und Verfahren zur Änderung
von Datenstrukturen beinhalten, die im Wesentlichen das gleiche
beobachtbare Ergebnis liefern. Danach wird ein zweites Signal empfangen,
das die Auswahl eines zweiten Sichtpunktes durch den Systembenutzer
anzeigt. Als Reaktion auf das zweite Signal wird ein zweites Bild
auf der Anzeige dargestellt, das als von dem zweiten Sichtpunkt
aus gesehen wahrnehmbar ist. Das zweite Bild enthält das unter
Nutzung des ersten Sichtpunktes und der ersten Ausrichtung dargestellte
ausgewählte
Anzeigeobjekt, so dass das ausgewählte Anzeigeobjekt als von
der ersten Sichtpunktposition und Ausrichtung aus gesehen wahrnehmbar
ist.
-
Die vorliegende Erfindung beruht
auf der Entdeckung, dass ein zum Transportieren ausgewähltes Anzeigeobjekt
in der ersten wahrnehmbaren Beziehung zu dem Benutzer verbleibend
gehalten werden kann, wenn sich der Sichtpunkt in den navigierbaren
Arbeitsraum hinein ändert,
indem tatsächlich
die Position (und auch die Ausrichtung bzw. der Maßstab, je
nach der Anzahl der Maße
in dem Arbeitsraum) des ausgewählten Anzeigeobjektes
in dem Arbeitsraum angepasst wird, wenn nachfolgende Sichtpunktänderungen
angefordert werden. In dem Kontext eines 3D-Arbeitsraumes wird das
Koppeln eines ausgewählten
Anzeigeobjektes an den ersten Sichtpunkt in einem Ausführungsbeispiel
erreicht, indem die ersten Sichtpunktkoordinatendaten und Sichtpunktausrichtungsdaten
für den
ersten Sichtpunkt gespeichert werden, wenn ein zweiter Sichtpunkt in
den Arbeitsraum hinein ausgewählt
wird. Das ausgewählte
Anzeigeobjekt wird in einem zweiten Bild als von dem ersten Sichtpunkt
aus gesehen wahrnehmbar dargestellt, indem die Positions- und Ausrichtungsdaten des
ausgewählten
Anzeigeobjektes in dem Arbeitsraum um die Differenz zwischen den
gespeicherten Sichtpunktkoordinatendaten und den zweiten Sichtpunktkoordinatendaten
sowie um die Differenz zwischen den ge speicherten ersten Sichtpunktausrichtungsdaten
und den zweiten Sichtpunktausrichtungsdaten geändert werden.
-
Danach wird ein Signal Transportende
von dem Benutzereingabegerät
empfangen, das anzeigt, dass das Transportieren des ausgewählten Anzeigeobjektes
abgeschlossen ist. Als Reaktion auf das Signal Transportende wird
das ausgewählte
Anzeigeobjekt von dem ersten Sichtpunkt entkoppelt, und ein drittes
Bild wird in dem Anzeigebereich dargestellt. Das dritte Bild beinhaltet
das ausgewählte
Anzeigeobjekt als von dem zweiten Sichtpunkt aus gesehen wahrnehmbar.
Das Entkoppeln wird erreicht, indem Änderungen des Sichtpunktes nicht
mehr durch Änderungen
der Positions- und Ausrichtungsdaten des ausgewählten Objektes wiedergespiegelt
werden.
-
Ein weiterer Aspekt des erfindungsgemäßen Transportverfahrens
integriert das Transportverfahren mit dem Navigierverfahren oder
dem Sichtpunktbewegungsverfahren der Benutzerschnittstelle. Indem
das Transporverfahren mit den von der Benutzerschnittstelle bereitgestellten
Navigationsverfahren integriert wird, wird anerkannt, dass ein wirksames
Transportverfahren in Einklang mit der Gesamtmetapher der graphischen Benutzerschnittstelle
(GUI) mit Mehrfachsichtpunkt stehen muss und so die Wirksamkeit
der Metapher und die Nützlichkeit
der Benutzerschnittstelle erhöhen
wird. Wenn der Systembenutzer während
des Transportierens des ausgewählten
Anzeigeobjektes eine Sichtpunktbewegung in dem Arbeitsraum anfordert,
wird eine Vielzahl von Sichtpunktauswahlsignalen empfangen. Als
Reaktion auf das Empfangen jedes der nächsffolgenden Sichtpunktauswahlsignale
wird ein entsprechendes Bild dargestellt, das für den Systembenutzer als von
dem nächsffolgenden
Sichtpunkt aus gesehen wahrnehmbar ist. Das ausgewählte Anzeigeobjekt
wird jedoch unter Verwendung der gespeicherten Sichtpunktkoordinatendaten
in dem betreffenden Bild dargestellt, so dass das ausgewählte Anzeigeobjekt
als von dem ersten Sichtpunkt aus gesehen wahrnehmbar ist.
-
Die vorliegende Erfindung, implementiert
als prozessorgesteuertes System, kann enthalten: eine Eingangsschaltung,
angeschlossen an ein Benutzereingabegerät, für das Empfangen von Signalen
zur Anzeige von Aktionen eines Systembenutzers; eine Ausgangsschaltung
angeschlossen an ein Anzeigegerat mit einem Anzeigebereich für die Darstellung
von Bildern; einen Prozessor, angeschlossen für das Empfangen der Signale
von der Eingangsschaltung und angeschlossen für das Bereitstellen von Bildern
an die Ausgangsschaltung für
die Darstellung durch das Anzeigegerät; und in einem Speicher gespeicherte
Befehlsdaten zur Anzeige von Befehlen, auf die der Prozessor zugreifen
und die er ausführen
kann. Der Prozessor stellt ein erstes Bild auf der Anzeige dar,
das als von einem ersten Sichtpunkt in einem ersten n-dimensionalen
Arbeitsraum aus gesehen wahrnehmbar ist und das ein erstes Anzeigeobjekt
beinhaltet. Der Prozessor führt
danach die erfindungsgemäßen Schritte
wie oben beschrieben aus.
-
Die Erfindung kann auch als Fertigungserzeugnis
für die
Anwendung in einem System, das ein Speichermediumzugriffsgerät, wie zum
Beispiel ein Diskettenlaufwerk oder ein CD-Laufwerk, enthält, implementiert werden.
Das Erzeugnis kann ein Datenspeichermedium, wie zum Beispiel eine
Diskette oder eine CD-ROM, und auf dem Medium gespeicherte Daten
enthalten. Die gespeicherten Daten zeigen Benutzersignaleingabebefehle
und Prozessorantwortbefehle an, die die unten beschriebenen Schritte
der Erfindung ausführen.
-
Die vorliegende Erfindung wird weiter
beispielhaft unter Bezugnahme auf die angehängten Zeichnungen beschrieben.
-
Beschreibung der Zeichnungen:
-
1 ist
eine schematische Darstellung von Anzeigeobjekten in einem ersten
navigierbaren Arbeitsraum.
-
2 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in 1 von einem ersten
Sichtpunkt aus gesehen gezeigten Anzeigeobjekte beinhaltet.
-
3 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in 1 von einem zweiten
Sichtpunkt aus gesehen gezeigten Anzeigeobjekte beinhaltet.
-
4 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in 1 von dem ersten Sichtpunkt
aus gesehen gezeigten Anzeigeobjekte beinhaltet und das einen Transportbefehlkursor
zeigt.
-
5 ist
eine schematische Darstellung eines dargestellten Bildes, dargestellt
als Reaktion auf einen Systembenutzer, der ein Anzeigeobjekt gemäß den in 20 gezeigten Schritten für das Transportieren
auswählt.
-
6 ist
ein schematische Darstellung eines dargestellten Bildes, dargestellt
als Reaktion auf einen Systembenutzer, der einen zweiten Sichtpunkt
gemäß den in 20 genannten Schritten auswählt, von
dem aus der Arbeitsraum aus 1 betrachtet
werden soll.
-
7 bis 9 sind eine Folge schematischer
Darstellungen dargestellter Bilder zur Veranschaulichung der Sichtpunktbewegung
in dem Arbeitsraum aus 1 und
sie veranschaulichen das Koppeln eines ausgewählten Anzeigeobjektes an einen
ersten Sichtpunkt gemäß den in 20 gezeigten Schritten.
-
10 ist
eine schematische Darstellung eines dargestellten Bildes, dargestellt
als Reaktion auf den Empfang eines Signals Transportende durch das
System gemäß den in 20 gezeigten Schritten.
-
11 ist
eine schematische Darstellung eines dargestellten Bildes, das die
Sichtpunktbewegung in dem Arbeitsraum aus 1 veranschaulicht, und sie veranschaulicht
das Entkoppeln eines ausgewählten Anzeigeobjektes
von einem ersten Sichtpunkt gemäß den in 20 gezeigten Schritten.
-
12 ist
eine schematische Darstellung des transportierten Anzeigeobjektes
in seiner neuen Absolutposition in dem ersten navigierbaren Arbeitsraum.
-
13 ist
eine schematische Darstellung von Anzeigeobjekten in einem zweiten
navigierbaren Arbeitsraum.
-
14 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in 13 von einem darin
enthaltenen Sichtpunkt aus gesehen gezeigten Anzeigeobjekte enthält.
-
15 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in dem ersten Arbeitsraum aus 1 von
einem darin enthaltenen Sichtpunkt aus gesehen gezeigten Anzeigeobjekte
enthält.
-
16 ist
eine schematische Darstellung eines dargestellten Bildes, das den
zweiten Arbeitsraum aus 13 von
einem darin enthaltenen Sichtpunkt aus gesehen enthält, und
sie zeigt die von dem ersten Arbeitsraum in den zweiten Arbeitsraum
bewegten ausgewählten
Anzeigeobjekte in einer Position gekoppelt an den Sichtpunkt des
ersten Arbeitsraumes.
-
17 ist
eine schematische Darstellung eines dargestellten Bildes, das den
zweiten Arbeitsraum aus 13 von
dem ersten Sichtpunkt aus gesehen enthält, einschließlich der
als von dem ersten Sichtpunkt in dem zweiten Arbeitsraum aus gesehen
wahrgenommenen bewegten Anzeigeobjekte.
-
18 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in dem ersten Arbeitsraum aus 1 von
dem ersten darin enthaltenen Sichtpunkt aus gesehen gezeigten Anzeigeobjekte
enthält, und
zeigt ein für
das Kopieren ausgewähltes
Anzeigeobjekt.
-
19 ist
eine schematische Darstellung eines dargestellten Bildes, das die
in dem ersten Arbeitsraum aus 1 von
einem zweiten darin enthaltenen Sichtpunkt aus gesehen gezeigten
Anzeigeobjekte enthält,
und zeigt sowohl das kopierte, ausgewählte Anzeigeobjekt als auch
das originale Anzeigeobjekt.
-
20 ist
ein Ablaufdiagramm und veranschaulicht die Schritte der vorliegenden
Erfindung für
das Transportieren eines Anzeigeobjektes in einem Arbeitsraum.
-
21 ist
ein vereinfachtes Blockschaltbild und veranschaulicht die Systemumgebung,
in der die vorliegende Erfindung genutzt werden kann, die Systemkonfiguration
des Systems der vorliegenden Erfindung und das Softwareprodukt der
vorliegenden Erfindung.
-
22 ist
ein Ablaufdiagramm zur Veranschaulichung der Animationsschleife
in ihrer Beziehung zu den Eingabeereignissen für das Transportieren eines
Anzeigeobjektes zwischen Arbeitsräumen entsprechend einer Umsetzung
der vorliegenden Erfindung.
-
23 ist
ein Ablaufdiagramm und veranschaulicht ein Programm für die Einleitung
des Transportes eines Objektes entsprechend einer Ausführung der
vorliegenden Erfindung.
-
24 ist
ein Ablaufdiagramm und veranschaulicht ein Programm für das Beenden
der Transportoperation und das Entkoppeln alle ausgewählten Anzeigeobjekte
von dem Sichtpunkt gemäß einer
Ausführung der
vorliegenden Erfindung.
-
25 ist
ein Ablaufdiagramm und veranschaulicht die Schritte des Programms 380 aus
den 24 und 26 für das Entkoppeln eines einzelnen
Anzeigeobjektes von dem Sichtpunkt gemäß einer Ausführung der
vorliegenden Erfindung.
-
26 ist
ein Ablaufdiagramm und veranschaulicht ein Programm für das Beenden
der Transportoperation für
ein einzelnes ausgewähltes
Anzeigeobjekt gemäß einer
Ausführung
der vorliegenden Erfindung.
-
27 ist
ein Ablaufdiagramm zur Veranschaulichung eines Programms für das Darstellen
eines neuen Arbeitsraumes entsprechend einer Ausführung der
vorliegenden Erfindung.
-
28 ist
ein Ablaufdiagramm zur Veranschaulichung der Animationsschleife
zur Berechnung des Programms für
das Zeichnen des Arbeitsraumes entsprechend einer Ausführung der
vorliegenden Erfindung.
-
29 bis 34 sind eine Folge schematischer
Darstellungen dargestellter Bilder, die die Sichtpunktbewegung in
einem 2½D-Arbeitsraum
veranschaulichen, und sie veranschaulichen das Koppeln eines ausgewählten Anzeigeobjektes
an einen ersten Sichtpunkt gemäß den in 20 sowie in 22 bis 28 gezeigten Schritten.
-
35 bis 37 sind eine Folge schematischer
Darstellungen dargestellter Bilder, die eine Sichtpunktbewegung
in einem scrollfähigen
Fenster eines 2D-Arbeitsraumes veranschaulichen, und sie veranschaulichen
das Koppeln eines ausgewählten
Anzeigeobjektes an einen ersten Sichtpunkt entsprechend den in 20 sowie in 22 bis 28 gezeigten
Schritten.
-
Ein "Arbeitsraum" ist ein Anzeigemerkmal, innerhalb dessen
andere Anzeigemerkmale oder Anzeigeobjekte in einem Bild als betreffende
räumliche
Positionen in Bezug zueinander, wie zum Beispiel in einem Raum,
habend wahrgenommen werden. Ein Arbeitsraum kann ein Anzeigemerkmal
mit einer sichtbaren Grenze in der Anzeige, wie zum Beispiel ein
Fenster, sein, jedoch muss ein Arbeitsraum keine sichtbare äußere Grenze
haben, und nicht der gesamte Arbeitsraum muss gleichzeitig angezeigt
werden, um eine Wahrnehmung eines Arbeitsraumes zu erzeugen. Die
Darstellung eines Arbeitsraumes oder eines Teiles davon erzeugt die
menschliche Wahrnehmungskraft von Anzeigemerkmalen in betreffenden
zueinander in Bezug stehenden Positionen. Ein Arbeitsraum wird als
von einer Sichtposition aus gesehen wahrgenommen, und diese Position wird
als der "Sichtpunkt" bezeichnet. In einem
dreidimensionalen Arbeitsraum, der weiter unten ausführlicher beschrieben
wird, kann der Sichtpunkt eine Position aus zahlreichen Positionen
innerhalb des Arbeitsraumes sein. In einem zweidimensionalen (2D)
Arbeitsraum ist der Sichtpunkt eine Sichtposition in den Arbeitsraum hinein,
die üblicherweise
orthogonal zu dem Arbeitsraum ist. Ein 2D-Arbeitsraum kann mehr
als einen Sichtpunkt in den Arbeitsraum hinein haben, von dem aus
dieser betrachtet werden kann. Ein Beispiel eines solchen 2D-Arbeitsraumes
ist ein 2D-Fenster, bei dem der in dem Fenster angezeigte Inhalt
beispielsweise dadurch geändert
werden kann, dass man durch den Fensterinhalt hindurch blättert. Dieses
Blättern
bewirkt eine Änderung
des Sichtpunktes in der Minus-Y-Richtung in einer 2D-Ebene, die
durch eine X/Y-Koordinatenachse definiert wird.
-
Ein "dreidimensionaler Arbeitsraum" ist ein Arbeitsraum,
der als sich in drei orthogonalen Dimensionen erstreckend wahrgenommen
wird. Die Wahrnehmung einer dritten Dimension wird durch visuelle
Anhaltspunkte, wie zum Beispiel durch perspektivische Linien erzeugt,
die sich hin zu einem Fluchtpunkt erstrecken; durch das Verwischen
oder Verdecken von entfernten Objekten durch nahe Objekte; durch
Größenänderungen
bei Objekten, die sich zu dem Betrachter hin oder von dem Betrachter
weg bewegen; durch perspektivisches Formen von Objekten; durch differenziertes
Schattieren von Objekten in unterschiedlichen Entfernungen von dem Betrachter,
und so weiter. Dreidimensionale (3D) Arbeitsräume beinhalten nicht nur Arbeitsräume, in
denen alle diese Anhaltspunkte kombiniert werden, um die Wahrnehmung
der drei Dimensionen zu erzeugen, sondern auch Arbeitsräume, in
denen ein einzelner Anhaltspunkt die Wahrnehmung der drei Dimensionen
erzeugen kann. Zum Beispiel kann ein Arbeitsraum mit überlappenden
Anzeigeobjekten oder ein Arbeitsraum, innerhalb dessen eine Ansicht
auf ein Anzeigeobjekt zoomen kann, ein 3D-Arbeitsraum sein, auch
wenn darin dargestellte Anzeigeobjekte in Normalprojektion und nicht
perspektivisch dargestellt werden. Das letztgenannte Beispiel eines
Arbeitsraumes wird oft auch als "2½D"-Arbeitsraum bezeichnet.
-
Daten, die den Sichtpunkt in einen
3D-Arbeitsraum hinein anzeigen, sind unter anderem X-, Y- und Z-Koordinatendaten
zur Anzeige des Sichtpunktes, oder auch Daten zur Anzeige der "Ausrichtungsrichtung" des Sichtpunktes
in den Arbeitsraum hinein. Die Ausrichtungsrichtung ist die Richtung
von dem Sichtpunkt in das Sichtfeld hinein entlang der Achse in
der Mitte des Sichtfeldes. Jeder Sichtpunkt in einen 3D-Arbeitsraum hinein
bietet einen Blick in den Arbeitsraum hinein, der von einer Pyramidenstumpfstruktur
begrenzt oder umrissen wird, die auch als Blickstumpf bezeichnet
wird. Ein Beispiel eines Blickstumpfes wird in 1 gezeigt. Ein Blickstumpf wird festgelegt,
indem zwei Sachverhalte vorgegeben werden: die Position des Auges
des Benutzers und die Position eines Punktes in dem Arbeitsraum,
der in dem Blick zu zentrieren ist. Eine Blicktransformierte erzeugt
automatisch eine Achse, die durch diese beiden Positionen definiert
wird und die auch die "Sichtlinie" genannt wird. Die "Sichtlinie" ist ein Strahl,
der von dem Auge des Benutzers ausgeht und durch die Mitte des Blickstumpfes
hindurch geht und eine Achse erzeugt, die orthogonal zu der Bildfläche der
Anzeige ist.
-
Ein Sichtpunkt in einen Arbeitsraum
hinein kann von einem Systembenutzer mittels eines Benutzereingabegerätes gesteuert
werden, das Signale zum Steuern des Sichtpunktes bereitstellt, wie
zum Beispiel eine Tastenkombination oder mehrere Tastenkombinationen
auf einer Tastatur oder das Drücken
von Maustasten oder über
am Körper
befestigte Geräte,
die Körperbewegungen
erfassen, wie zum Beispiel Headsets, die Bewegungen des Kopfes erfassen.
Ein Sichtpunkt in einen Arbeitsraum hinein ist unterscheidbar von
einer Kursorposition in dem Arbeitsraum, mit der der Benutzer Objekte
in dem Arbeitsraum direkt manipulieren kann.
-
Eine "Sichtpunktbewegung" tritt auf, wenn eine Folge von Bildern
dargestellt wird, die als eine Serie von Ansichten eines n-dimensionalen
Arbeitsraumes von jedem einer Reihe sich bewegender oder verschobener
Sichtpunkte aus wahrnehmbar ist. Diese Wahrnehmung kann aus der
Wahrnehmung von Anzeigemerkmalen oder Anzeigeobjekten in dem Arbeitsraum
als "Fortsetzungen" oder "bewegte Fortsetzungen" resultieren. Ein
zweites Anzeigemerkmal ist als "Fortsetzung" eines ersten Anzeigemerkmales
wahrnehmbar, wenn die Darstellung des zweiten Anzeigemerkmales der
Darstellung des ersten Anzeigemerkmales auf eine Weise folgt, dass
der Benutzer das erste Anzeigemerkmal als fortgesetzt werdend wahrnimmt,
wenn das zweite Anzeigemerkmal dargestellt wird. Dies kann auftreten,
wenn die aufeinanderfolgende Anzeige von zwei Anzeigemerkmalen in
Raum und Zeit so dicht beieinander liegt, dass sie ein und dasselbe
Anzeigemerkmal zu sein scheinen. Ein Beispiel hierfür ist das
als "Objektkonstanz" bezeichnete Phänomen. Ein
zweites Anzeigemerkmal ist als eine "bewegte Fortsetzung" eines ersten Anzeigemerkmales wahrnehmbar,
wenn es als Fortsetzung in einer unterschiedlichen Position wahrnehmbar
ist. Das erste Anzeigemerkmal wird als "sich bewegend" oder als mit "Bewegung" ausgestattet oder als "in Bewegung" oder als "verschoben" werdend wahrgenommen.
-
Ein "navigierbarer Arbeitsraum" ist ein Arbeitsraum,
in dem der Benutzer den Teil des Arbeitsraumes, der in der Anzeige
dargestellt wird, festlegen kann, indem er Änderungen an dem Sichtpunkt
anfordert. Die Darstellung eines Teiles eines navigierbaren Arbeitsraumes
als Reaktion auf ein eine Sichtpunktbewegung anforderndes Benutzerein
gabesignal kann die Wahrniehmung des Steuerns von Bewegung innerhalb
eines Arbeitsraumes erzeugen. Signale von einem Benutzereingabegerät mit der
Anforderung einer Änderung
eines Sichtpunktes in den Arbeitsraum hinein sind gleichbedeutend
mit einer Benutzeraktion zur Anforderung der Bewegung eines Sichtpunktes.
-
Die Lage eines in einem Arbeitsraum
beinhalteten Anzeigeobjektes wird durch ihre Position in dem Arbeitsraum
beschrieben, die als ihre "Absolutposition" bezeichnet wird.
In einem 2D-Arbeitsraum wird die Absolutposition eines Objektes
durch seine X/Y-Koordinaten
in dem Arbeitsraum ausgedrückt.
In einem 3D-Arbeitsraum wird die Absolutposition eines Objektes
durch seine X/Y/Z-Koordinatenposition ausgedrückt. In einem 3D-Arbeitsraum
wird die Lage eines Anzeigeobjektes auch durch seine Absolutausrichtung
in dem Arbeitsraum beschrieben. Beispielsweise haben die Anzeigeobjekte 20 und 22 in 1 jeweils eine Ausrichtung
in einem 3D-Arbeitsraum 10, die durch die X/Y/Z-Koordinaten
der Drehung, Skalierung und Umsetzung des Objektes in dem Arbeitsraum
ausgedrückt
wird. In dem in 29 bis 34 gezeigten Arbeitsraum
wird die Absolutausrichtung des Anzeigeobjektes 514 durch
die Skalierung des Objektes in dem Arbeitsraum ausgedrückt.
-
Ein in einem Arbeitsraum beinhaltetes
Anzeigeobjekt kann auch die Eigenschaft haben, "lageempfindlich" und "vom Benutzer auswählbar" zu sein, was bedeutet, dass das gesamte
Anzeigeobjekt, oder ein Anzeigemerkmal innerhalb des Anzeigeobjektes,
durch Benutzersignale ausgewählt
werden kann, die die Lage des betreffenden Anzeigemerkmales bzw.
des Anzeigeobjektes in dem Arbeitsraum anzeigen. Wenn ein Signal Daten
enthält,
die eine Mauszeigerverschiebung anzeigen, kann das System ausgehend
von der vorangegangenen Mauszeigerposition einen Punkt in der Anzeigeebene
finden. Dieser Punkt kann sodann genutzt werden, um einen Strahl
von dem Sichtpunkt in den dargestellt werdenden 3D-Arbeitsraum hinein
zu projizieren, und die Koordinaten von Anzeigeobjekten in dem Arbeitsraum
können
genutzt werden, um das am nahesten gelegene Anzeigeobjekt, das den
Strahlengang kreuzt, zu finden.
-
1 zeigt
den navigierbaren Arbeitsraum 10, in diesem Falle ein dreidimensionaler
Arbeitsraum, bei dem die orthogonalen Achsen wie gezeigt ausgerichtet
sind. Der Arbeitsraum 10 enthält zwei Anzeigeobjekte 20 und 22;
das Anzeigeobjekt 22 ist lageempfindlich. Die Anzeigeobjekte 20 und 22 haben
jeweils eine Koordinatenposition in dem Arbeitsraum 10,
die als die Absolutposition des Objektes bezeichnet wird. 1 zeigt weiterhin den ersten
und den zweiten Sichtpunkt 14 und 24 in den navi gierbaren
Arbeitsraum 10 hinein. In einem prozessorgesteuerten System,
das Bilder des Arbeitsraumes 10 für einen Systembenutzer darstellt,
sieht der den Arbeitsraum 10 von dem Sichtpunkt 14 aus
betrachtende Benutzer das Bild 40 in 2.
Somit wird das Bild 40 von dem Systembenutzer als von dem Sichtpunkt 14 in
dem Arbeitsraum 10 aus gesehen wahrgenommen. Die Koordinatenachse 38 zeigt
die Ausrichtung der Koordinatenachse des Arbeitsraumes 10 von dem
Sichtpunkt 14 aus. Der erste Sichtpunkt 14 in 1 kann als eine Ausrichtungsrichtung 34 enthaltend angesehen
werden, die in einem Winkel 32 nach unten gerichtet (in
der Y-Richtung) von der Ausrichtungsrichtung 30 gezeigt
wird, die der Sichtpunkt 24 haben würde, wenn er sich in einer
normalen Position in den Arbeitsraum 10 hineinblickend
befinden würde.
Jeder Sichtpunkt in den Arbeitsraum 10 hinein bietet einen
Blick in den Arbeitsraum hinein, der von einer Pyramidenstumpfstruktur,
die auch als Blickstumpf bezeichnet wird, begrenzt wird. Der Sichtpunkt 24 bietet
einen Blick in den Arbeitsraum 10 hinein, der durch den
Blickstumpf 16 veranschaulicht wird. Der Benutzer, der
den Arbeitsraum 10 von dem Sichtpunkt 24 aus betrachtet,
sieht das Bild 44 in 3.
Die Koordinatenachse 36 zeigt die Ausrichtung der Koordinatenachse
des Arbeitsraumes 10 von dem Sichtpunkt 24 aus.
-
Ein allgemeiner Überblick über die Schritte der vorliegenden
Erfindung wird in 20 veranschaulicht,
und bei der Besprechung der Bildfolge in 4 bis 11,
die das Transportieren von Anzeigeobjekten innerhalb eines Arbeitsraumes
veranschaulicht, wird auf die 20 Bezug
genommen werden. 2 zeigt ein
erstes Bild 40, das nach dem Feld 210 in 20 dargestellt wird. Wie weiter oben
erwähnt,
nimmt der Systembenutzer das Bild 40 als von dem ersten Sichtpunkt 14 aus
gesehen wahr; das Bild 40 beinhaltet das Anzeigeobjekt 22.
Als nächstes
empfängt
der Schritt 220 Signale von dem Systembenutzer zur Anzeige eines Transportbefehles. 4 zeigt das Bild 46 in den
Arbeitsraum 10 hinein von dem ersten Sichtpunkt 14 aus, und
sie zeigt weiterhin den Transportbefehlkursor 36, der als
Reaktion auf das Transportbefehlsignal dargestellt wird; der Transportbefehlkursor 36 stellt
dem Systembenutzer eine visuelle Anzeige bereit, dass der Transportbefehl
ausgewählt
worden ist und dass in dem Arbeitsraum 10 ein Anzeigeobjekt
für das
Transportieren ausgewählt
werden muss. Der Benutzer kann ein Anzeigeobjekt auswählen, indem
er den Transportkursor 36 zum Beispiel entlang des Linie
38 in dem Arbeitsraum 10 zu dem Anzeigeobjekt 22 hin
bewegt. Als Reaktion auf die Auswahl des Anzeigeobjektes 22 stellt
das System das ausgewählte
Anzeigeobjekt 22 vorzugsweise mit einer Art visueller Anzeige, dass
das Objekt ausgewählt
worden ist, dar. 5 zeigt
das Bild 48 mit der Darstellung des ausgewählten Anzeigeobjektes 22,
das ein Paar 35 vertikaler farbiger Anzeigemerkmale zur
Bereitstellung dieser visuellen Rückmeldung hat. Anstelle des
dargestellten Paares 35 vertikaler farbiger Anzeigemerkmale
kann eine beliebige geeignete visuelle Änderung an dem ausgewählten Anzeigeobjekt
verwendet werden, wie zum Beispiel eine Farbänderung, das Hinzufügen oder
Entfernen eines Schattens oder eine dickere Darstellung der Umrisse
der Anzeigemerkmale, und eine solche visuelle Änderung der Anzeigemerkmale
des ausgewählten
Anzeigeobjektes wird nahfolgend die "Transportmarkierung" genannt werden.
-
Zusätzlich wird das ausgewählte Anzeigeobjekt 22 in
dem Bild 48 vorzugsweise so dargestellt, dass kein Teil des Objektes
von irgendeinem anderen Anzeigeobjekt verdeckt wird. Dies wird dadurch
erreicht, dass das ausgewählte
Anzeigeobjekt 22 in dem Bild 48 so gerendert wird, dass
beliebige Objekte in dem Arbeitsraum 10 und dem Bild 48,
die ansonsten in einer Folge gerendert werden könnten, die das ausgewählte Anzeigeobjekt 22 ganz
oder teilweise verdecken würde,
keine solche Verdeckung verursachen können. Ebenfalls als Reaktion
auf die Auswahl des Anzeigeobjektes 22 für das Transportieren
koppelt der Schritt in dem Feld 220 das ausgewählte Anzeigeobjekt 22 während des
Transportierens an den ersten Sichtpunkt 14.
-
Der Schritt in dem Feld 230 empfängt ein
zweites Sichtpunktsignal zur Anzeige der Auswahl eines zweiten Sichtpunktes
durch den Benutzer. Zum Zwecke der Veranschaulichung wird der zweite
Sichtpunkt der in dem Arbeitsraum 10 gezeigte Sichtpunkt 24 sein;
jedoch kann der zweite Sichtpunkt ein in einem zweiten Arbeitsraum
ausgewählter
Sichtpunkt sein, wie weiter unten anhand der angehängten 13 bis 17 besprochen werden wird.
-
Als Reaktion auf die Auswahl des
zweiten Sichtpunktes 24 durch den Benutzer stellt der Schritt
in dem Feld 240 von 20 ein
zweites Bild 50 dar (6).
Das zweite Bild 50 des Arbeitsraumes 10 wird von dem Systembenutzer
als von dem Sichtpunkt 24 in dem Arbeitsraum 10 aus
gesehen wahrgenommen. Das Bild 50 zeigt das Anzeigeobjekt 20,
das von dem Systembenutzer als von dem zweiten Sichtpunkt 24 aus
gesehen wahrgenommen wird. Das Bild 50 zeigt ebenfalls das ausgewählte Anzeigeob jekt 22 in
einer neuen Position in dem Arbeitsraum 10, wahrgenommen
als von dem ersten Sichtpunkt 14 aus gesehen.
-
Der Systembenutzer kann eine Sichtpunktbewegung
in dem Arbeitsraum während
des Transportierens des ausgewählten
Anzeigeobjektes anfordern, indem er einen zusätzlichen Sichtpunkt oder mehrere
zusätzliche
Sichtpunkte auswählt,
von denen aus der Arbeitsraum 10 betrachtet werden soll.
Von jedem ausgewählten
Sichtpunkt aus wird das ausgewählte
Anzeigeobjekt 22 stets als von dem ersten Sichtpunkt 14 aus gesehen
wahrgenommen werden. Die Sichtpunktbewegung wird in dem Ablaufdiagramm
von 20 mit der punktierten
Linie 242 gezeigt. Zum Beispiel veranschaulichen 7, 8 und 9 das
Konzept der Sichtpunktbewegung in dem Arbeitsraum 10, indem
sie die betreffenden Bilder 52, 54 und 56 darstellen, die eine Reihe
von drei geänderten
Sichtpunkten in den Arbeitsraum 10 hinein veranschaulichen,
die sich aus der seitlichen Verschiebung des Sichtpunktes 24 in
der Minus-X-Richtung in dem in 1 gezeigten
Koordinatenachsensystem ergeben. Die Bilder 52, 54 und 56 erzeugen
die Wahrnehmung, dass jedes der aufeinanderfolgenden Bilder des
Anzeigeobjektes 20 eine bewegte Fortsetzung des vorangegangenen
Bildes des Anzeigeobjektes 20 ist, was dem Systembenutzer
wiederum die Wahrnehmung vermittelt, dass er durch den Arbeitsraum 10 navigieren
würde,
indem er sich in dem Arbeitsraum 10 auf der linken Seite
der X-Achse bewegt. Im Gegensatz zu dem Anzeigeobjekt 20 wird
das ausgewählte
Anzeigeobjekt in jedem der betreffenden Bilder 52, 54 und 56 als in
der gleichen Position in Bezug auf den ersten Sichtpunkt 14 als
zu dem Zeitpunkt, als das Anzeigeobjekt 22 für das Transportieren
ausgewählt
wurde, wahrgenommen, so dass sich die Wahrnehmung ergibt, dass sich das
ausgewählte
Anzeigeobjekt 22 während
der Sichtpunktbewegung an einer festen Position in dem Arbeitsraum 10 in
Bezug zu dem Auge des Systembenutzers befände.
-
Der Benutzer kann das ausgewählte Anzeigeobjekt 22 in
der Position, in der es in dem Bild 56 wahrgenommen wird, freigeben,
indem er ein Signal Transportende an das System sendet, das das
System in dem Feld 250 empfängt. Als Reaktion auf das Signal
Transportende entkoppelt der Schritt in dem Feld 260 das
ausgewählte
Anzeigeobjekt 22 von dem Sichtpunkt 14. Wenn eine
Transportmarkierung zu dem ausgewählten Anzeigeobjekt 22 hinzugefügt wurde,
kann das System das Anzeigeobjekt 22 als Reaktion auf das
Signal Transportende ohne die Transportmarkierung darstellen. 10 zeigt das Anzeigeobjekt 22 in
dem Bild 58 ohne Transportmarkierung. In den nachfolgenden Ansichten
des Arbeitsraumes 10 von anderen Sichtpunkten aus vermitteln
aufeinanderfolgende Bilder des Anzeigeobjektes 22 die Wahrnehmung,
dass das Anzeigeobjekt 22 eine bewegte Fortsetzung des
vorangegangenen Bildes des Anzeigeobjektes 22 ist, und
es wird nicht mehr die Wahrnehmung bestehen, dass es sich in der
gleichen Position im Verhältnis
zu oder in dem gleichen Abstand von einem einzelnen Sichtpunkt befindet. 11 zeigt, wie der Systembenutzer
den Sichtpunkt 24 seitlich in der Plus-X-Richtung in dem
in 1 gezeigten Koordinatenachsensystem
verschiebt, so dass das System das Bild 60 in den Arbeitsraum 10 hinein
darstellt. Die Folge der betreffenden Bilder 58 und 60 vermittelt dem
Systembenutzer die Wahrnehmung, dass der Benutzer durch den Arbeitsraum 10 navigiert,
indem er sich rechts von der X-Achse in dem Arbeitsraum 10 bewegt,
und veranschaulicht, dass beide Anzeigeobjekte 22 und 20 als
von den betreffenden Sichtpunkten der betreffenden Bilder aus gesehen
wahrgenommen werden. 12 zeigt
den navigierbaren Arbeitsraum 10, in dem das Anzeigeobjekt 22 nunmehr
im Ergebnis der Transportoperation an eine neue Absolutposition
bewegt wurde.
-
Das Koppeln eines Anzeigeobjektes
an einen Sichtpunkt bewirkt, dass das Anzeigeobjekt als Reaktion auf
eine Änderung
des Sichtpunktes in dem Arbeitsraum nun in dem Arbeitsraum neu positioniert
wird. Das koppeln kann unter Verwendung einer Vielzahl von Verfahren
erfolgen. Ein Verfahren wird unten in der Beschreibung einer veranschaulichten
Implementierung beschrieben und verwendet eine Anzeigeobjekteigenschaft
oder mehrere Anzeigeobjekteigenschaften zur Identifizierung der
transportiert werdenden Anzeigeobjekte, um die aktualisierten Arbeitsraumpositionen
als Reaktion auf eine Änderung
des Sichtpunktes zu ermitteln.
-
Die erfindungsgemäße Methode kann auch für das Transportieren
eines Anzeigeobjektes oder mehrerer Anzeigeobjekte von einem ersten
Arbeitsraum in einen zweiten Arbeitsraum verwendet werden. 13 zeigt den zweiten navigierbaren
Arbeitsraum 12, bei dem es sich ebenfalls um einen dreidimensionalen
Arbeitsraum handelt, wobei die orthogonalen Achsen wie gezeigt ausgerichtet
sind. Der Arbeitsraum 12 enthält die Anzeigeobjekte 70, 72 und 74,
von denen jedes wie gezeigt eine Absolutposition in dem Arbeitsraum 12 hat. 13 zeigt den Sichtpunkt 76 in
den navigierbaren Arbeitsraum 12 hinein. Der den Arbeitsraum 12 von dem
Sichtpunkt 76 aus betrachten de Benutzer wird das Bild 62
in 14 sehen, und das
Bild 62 wird von dem Systembenutzer als von dem Sichtpunkt 76 in
dem Arbeitsraum 12 aus gesehen wahrgenommen.
-
15 zeigt
das dargestellte Bild 64, das ein Blick von dem Sichtpunkt 24 aus
in den Arbeitsraum 10 von 1 hinein
ist. Erneut unter Bezugnahme auf 20 zeigt
das Bild 64 ebenfalls die farbigen waagerechten Streifenanzeigemerkmale 35,
die anzeigen, dass das System in dem Feld 220 von 20 ein Signal von dem Benutzer
zur Anzeige der Auswahl der beiden Anzeigeobjekte 20 und 22 für das Transportieren
empfangen hat. Der Schritt in dem Feld 230 empfängt ein
zweites Sichtpunktsignal zur Anzeige der Auswahl des zweiten Sichtpunktes 76 in
dem zweiten Arbeitsraum 12 durch den Benutzer. Als Reaktion
auf die Auswahl des zweiten Sichtpunktes 76 durch den Benutzer
stellt das System in dem Feld 240 von 20 das zweite Bild 66 dar, das in 16 gezeigt wird. Das Bild
66 zeigt beide ausgewählte
Anzeigeobjekte 20 und 22 in Positionen in dem
Arbeitsraum 12, die als von dem ersten Sichtpunkt 24 in
dem Arbeitsraum 10 aus gesehen wahrgenommen werden. Da
es noch immer für
das Transportieren ausgewählt
ist, wird das ausgewählte
Anzeigeobjekt 20 in dem Bild 66 nach anderen Anzeigeobjekten
gerendert, und es wird somit als überlappend und vor dem Anzeigeobjekt 74 in
dem Arbeitsraum 12 befindlich wahrgenommen.
-
Auf eine ähnliche Weise wie bei dem Transportieren
eines einzelnen Anzeigeobjektes kann der Benutzer die ausgewählten Anzeigeobjekte 20 und 22 in
ihren Positionen in dem Arbeitsraum 12 freigeben, indem er
ein Signal Transportende an das System sendet. Als Reaktion entkoppelt
das System die ausgewählten
Anzeigeobjekte 20 und 22 von dem Sichtpunkt 24,
in dem Feld 260, und stellt die Anzeigeobjekte 20 und 22 ohne die
Transportmarkierungsanzeigemerkmale dar. 17 zeigt die Anzeigeobjekte 20 und 22 in
dem Bild 68 als in dem Arbeitsraum 12 positioniert. Das
Bild 68 zeigt, dass das Anzeigeobjekt 20 in dem Arbeitsraum 12 faktisch
hinter dem Anzeigeobjekt 74 befindlich ist.
-
Die Folge der 15 bis 17 zeigt
ebenfalls, dass ein Merkmal der erfindungsgemäßen Methode, wonach die Methode
die räumliche
Beziehung einer Vielzahl von Anzeigeobjekten, die für das Transportieren ausgewählt werden,
in dem Arbeitsraum beibehält,
wenn ein Arbeitsraum von dem gleichen ersten Sichtpunkt aus betrachtet wird.
Diese Methode für
das Transportieren ist somit grundlegend unterschiedlich von Transportmethoden,
bei denen der Systembenutzer die Anzeigeobjekte einzeln nacheinander
und direkt in neue Positionen in dem gleichen Arbeitsraum oder in
einem anderen Arbeitsraum bringen muss, wofür der Systembenutzer die vorhergehende
räumliche
Beziehung zwischen einer Vielzahl von Anzeigeobjekten, sie sich
auch nach dem Transportieren wieder in der gleichen räumlichen
Beziehung zueinander befinden sollen, schätzen muss.
-
Die vorliegende Erfindung kann ebenso
für das
Transportieren einer Kopie eines Anzeigeobjektes innerhalb eines
Arbeitsraumes oder zwischen Arbeitsräumen auf ähnliche Weise wie weiter oben
unter Bezugnahme auf 20 beschrieben
und für
das Bewegen eines Objektes innerhalb eines Arbeitsraumes oder zwischen
Arbeitsräumen
verwendet werden, außer
dass dem Systembenutzer zusätzliche
visuelle Informationen dargestellt werden, um anzuzeigen, dass eine
Kopie eines ausgewählten
Anzeigeobjektes transportiert wird. Wenn das System ein Signal von
dem Benutzer empfängt,
das anzeigt, dass eine Kopieroperation durchgeführt werden soll, und zur Anzeige
des ausgewählten
Anzeigeobjektes, wird dem Benutzer als Reaktion auf die getroffene
Auswahl eine Bildkopie eines ausgewählten Anzeigeobjektes dargestellt. 18 zeigt das dargestellte
Bild 80, das ein Blick in den Arbeitsraum 10 von 1 hinein von dem Sichtpunkt 24 aus
gesehen ist. Das Bild 80 zeigt das ausgewählte Anzeigeobjekt 90,
versehen mit Transportmarkierungsanzeigemerkmalen 35 zur
Anzeige der Objektauswahl. Das ausgewählte Anzeigeobjekte 90 ist
eine Kopie des Anzeigeobjektes 20 (gezeigt in Bild 44 in 3). In dem Bild 80 wird
das ausgewählte
Anzeigeobjekt 90 als tatsächlich denselben physischen
Raum in dem Arbeitsraum 10 als das Anzeigeobjekt 20 belegend
gezeigt, so dass das Anzeigeobjekt 20 nicht von dem Sichtpunkt 24 aus
wahrgenommen werden kann. In anderen Ausführungen der vorliegenden Erfindung
kann eine Kopie eines ausgewählten
Anzeigeobjektes, wie zum Beispiel des ausgewählten Anzeigeobjektes 90,
etwas von dem ursprünglichen
Anzeigeobjekt versetzt dargestellt werden, so dass es sofort als
Kopie wahrgenommen werden kann. Jedoch führt diese Alternative dazu,
dass die Kopie des Anzeigeobjektes eine andere Position in dem Arbeitsraum
hat als das originale Anzeigeobjekt und daher in der Ausführung nicht
wirksam wird, in welchen Fällen
es wichtig ist, die Position und Ausrichtung des originalen Anzeigeobjektes
zu erhalten. 19 zeigt
das dargestellte Bild 82, das ein Blick in den Arbeitsraum 10 von 1 hinein von einem Sichtpunkt
aus ist, der sich in Richtung der Plus-Y-Achse von dem Sichtpunkt 24 befindet.
Das Bild 82 zeigt das ausgewählte
Anzeigeobjekt 90 in seiner Position an den Sichtpunkt 24 gekoppelt
zu dem Zeitpunkt, als es für
das Transportieren ausgewählt
wurde, während
die Anzeigeobjekte 20 und 22 als von dem neuen
Sichtpunkt in den Arbeitsraum 10 hinein wahrgenommen werden,
womit gezeigt wird, dass das ausgewählte Anzeigeobjekt 90 eine
Kopie des Anzeigeobjektes 20 ist. Das ausgewählte Anzeigeobjekt 90 kann
an eine andere Position innerhalb des Arbeitsraumes 10 oder
in einen zweiten Arbeitsraum transportiert werden, womit gezeigt
wird, dass das ausgewählte
Anzeigeobjekt 90 eine Kopie des Anzeigeobjektes 20 ist.
Das ausgewählte
Anzeigeobjekt 90 kann an eine andere Position innerhalb
des Arbeitsraumes 10 oder in einen zweiten Arbeitsraum
transportiert werden, was entsprechend den bereits beschriebenen
Schritten erfolgt, und das Anzeigeobjekt 20 wird in seiner
ursprünglichen
Position in dem Arbeitsraum 10 verbleiben.
-
21 zeigt
Komponenten eines prozessorgesteuerten Systems 100 zur
Ausführung
der vorliegenden Erfindung. Das System 100 beinhaltet die
Eingangsschaltung 152 für
das Empfangen von Benutzersignalen von dem Benutzereingabegerät 154 zur
Anzeige von Aktionen oder Anforderungen von einem Systembenutzer.
Ein Benutzersignal kann eine Anforderung für eine Operation und Informationen
zur Identifizierung der Anforderungsoperation beinhalten, wobei
das Signal bzw. die Signale eine Aktion oder mehrere Aktionen des Systembenutzers
beinhaltet bzw. beinhalten, die die Ausführung der Operation veranlassen
soll bzw. sollen. Signale zur Anzeige einer einzelnen vollständigen Anforderung
können
eine Kombination einer beliebigen Anzahl von Signalen zur Anzeige
einer gültigen
Anforderung für
eine gültige
Operation und zur Veranlassung der Ausführung der Operation beinhalten.
Signale zur Anzeige von Benutzeraktionen können weiterhin Signale zur Anzeige
der Auswahl oder der Bewegung eines für den Benutzer in dem Anzeigebereich 180 sichtbaren
Anzeigeobjekts, Signale zur Anzeige von Anforderungen, die zu von
dem Prozessor 140 ausgeführten Operationen führen, und
Signale, die bewirken, dass der Prozessor 140 ein Bild
zur Anzeige in dem Anzeigebereich 180 darstellt, beinhalten.
-
Das Benutzereingabegerät 154 beinhaltet
in der vorliegenden Implementierung eine Tastatur und eine Maus.
Das Benutzereingabegerät
kann jedoch beliebige andere Eingabegeräte beinhalten, die von einem
Benutzer gesteuert werden können
und die Signale der Art, wie sie die vorliegende Erfindung benötigt, erzeugen. Geeignete
Eingabe geräte
sind unter anderem Zeigegeräte,
wie zum Beispiel Tablettstift, Zeichenstift oder Trackball. Das
Benutzereingabegerät
hat eine Schaltung (nicht gezeigt) zum Steuern der Wechselwirkung
zwischen dem Systembenutzer und den Anzeigemerkmalen und den auf
dem Anzeigegerät 170 dargestellten
Objekten.
-
Der Prozessor 140 ist angeschlossen
für das
Zugreifen auf einen Programmspeicher 114 des Speichers 110 zum
Zwecke der Wiedergewinnung von Befehlen, die dieser sodann ausführt. Der
Prozessor 140 ist weiterhin angeschlossen für das Zugreifen
auf den Datenspeicher 116 zusätzlich zu der Wiedergewinnung von
Eingangssignalen aus der Eingangsschaltung 152 und für das Bereitstellen
von Daten, die Bilder definieren, so zum Beispiel die in 2, 3 oder 4 gezeigten
Bilder, für
die Ausgangsschaltung 160 zum Zwecke der Darstellung auf
einem Anzeigegerät 170 in
dem Anzeigebereich 180. Der Programmspeicher 114 speichert Betriebssystembefehle 115,
und er speichert die Befehlsdaten zur Anzeige der Befehle für das Betriebssystem 100 in Übereinstimmung
mit der vorliegenden Erfindung. Der Datenspeicher 116 speichert
die Arbeitsraumdatenstruktur 860, die interaktiven Objektdatenstrukturen 880 und
die Sichtpunktdaten 890.
-
Ein Softwaresystem, das auch als
der "Informations-Visualisierer" bekannt ist, ist
ein Echtzeit-3D-Graphikanimationssystem zur Bereitstellung einer
Vielzahl simulierter, navigierbarer 3D-Arbeitsräume für die Wechselwirkung mit dem
Benutzer. Eine wichtige Anwendung des Systems ist die Bereitstellung
einer effektiven Visualisierung eines großen Informationscorpus, wie
zum Beispiel einer großen
Datenbank, die auch als "großer Informationsraum" bezeichnet werden
kann. Eine Arbeitsraumvisualisierung eines großen Informationsraumes kann
somit zahlreiche Objekte beinhalten, von denen jedes einzelne sehr
detailliert oder komplex sein kann. Ein Systembenutzer kann mit
den visualisierten Informationsobjekten in Wechselwirkung treten,
indem er in dem Arbeitsraum navigiert, um einen Blick in den Arbeitsraum
hinein auszurichten, der den wirksamsten Zugriff auf die gewünschten
Informationen bietet. Eine Animationsschleifenroutine steuert die
Darbietung der Bilder an einen Benutzer während einer dialogfähigen Sitzung.
Die "Animationsschleife" ist eine wiederholte
Operation, wobei jede Wiederholung ein Bild darstellt und wobei
Objekte und andere Anzeigemerkmale in jedem einzelnen Bild Fortsetzungen
von Objekten und Anzeigemerkmalen in dem nächsten vorhergehenden Bild
zu sein scheinen. Wenn der Benutzer über eine Benutzereingabevorrichtung
Signa le bereitstellt, können
die Signale als Ereignisse in eine Warteschlange eingestellt werden
und jede Schleife kann einige Ereignisse aus der Warteschlange bearbeiten.
Ein "Animationszyklus" ist eine einzelne
Wiederholung einer Animationsschleife. Als Reaktion auf einen entsprechenden
Aufruf führt
der Prozessor 140 (21)
die Animationsschleifenroutine aus, was eine Schleife beinhaltet,
die sich fortsetzt, bis sie durch ein entsprechendes Signal von
dem Benutzereingabegerät 154 beendet
wird. Jeder Animationszyklus der Schleife kann Wechselpufferverfahren
verwenden, um ein betreffendes Bild auf der Anzeige 170 darzustellen,
wobei die betreffenden Bilder zusammen dergestalt eine Folge bilden,
dass die Anzeigemerkmale in jedem Bild Fortsetzungen von Anzeigemerkmalen
in dem vorhergehenden Bild entsprechend Objektkonstanzverfahren
zu sein scheinen. Eine kurze Beschreibung der Animationsschleife
dient dem Verständnis
der Ausführung
der vorliegenden Erfindung.
-
Jeder Animationszyklus beinhaltet
einen Aufruf zur Eingabe von Handhabungsunterroutinen für das Empfangen
und Verarbeiten einer FIFO-Ereigniswarteschlange, die von dem Betriebssystem 115 geführt wird. Die
Ereigniswarteschlange beinhaltet Signale von dem Benutzer, wie zum
Beispiel Tastenbetätigungen,
Mausereignisse und Mauszeigerbewegungen, und sie kann ebenfalls
Ereignisse aus anderen Quellen, wie zum Beispiel von einem anderen
Vorgang, beinhalten. Jeder Animationszyklus beinhaltet weiterhin
einen Aufruf an Sichtpunktbewegungsunterroutinen zur Ermittlung
der gegenwärtigen
Position des Sichtpunktes. Danach ruft der Animationszyklus die
3D-Arbeitsraumunterroutinen
auf, den dreidimensionalen Arbeitsraum neu aufzubauen. Bei dem Wiederaufbau
des Arbeitsraumes rufen die 3D-Arbeitsraumunterroutinen Objektzeichnungsroutinen
auf, um jedes Objekt in dem Arbeitsraum erneut aufzubauen. Zusätzliche
Informationen zu dem als Informations-Visualisierer bekannten Softwaresystem
können
aus dem bereits zitierten Artikel von Robertson und aus Card, S.,
Robertson, G. und Mackinlay, J. "The
Information Visualizer, An Information Workspace" (Der Informations-Visualisierer, ein
Informations-Arbeitsraum – nicht
autorisierte Übersetzung
- d. Übers.),
Sitzungsprotokolle von SIGCHI '91,
S. 181–188,
bezogen werden, die beide per Verweis in die vorliegende Schrift eingearbeitet
werden, sowie aus zusätzlichen
in den beiden genannten Schriften erwähnten Artikeln. Sichtpunktbewegung
in einem Arbeitsraum kann durch eine Vielzahl von mänuellen
und automatisierten Verfahren erreicht werden. Ein Verfahren, das
auch als Interessenpunktbewegung bezeichnet wird, wird in dem gemeinsam
abgetretenen US-Patent 5,276,785, ausgestellt auf Ma ckinlay et al,
unter dem Titel "Moving
Viewpoint with Respect to a Target in a Three Dimensional Workspace" (Bewegen eines Sichtpunktes
in Bezug auf ein Ziel in einem dreidimensionalen Arbeitsraum – nicht
autorisierte Übersetzung – d. Übers.) und
in dem bereits zitierten Artikel von Mackinlay beschrieben, die
hiermit beide per Verweis in die vorliegende Schrift eingearbeitet
werden.
-
Die Ausführung der vorliegenden Erfindung
beinhaltet Änderungen
an den Datenstrukturen, die ein Modell der einzelnen Arbeitsräume und
ihrer Inhalte bereitstellen. Der Datenspeicher 116 (21) beinhaltet eine 3D-Arbeitsraumdatenstruktur 860,
eine interaktive Objektdatenstruktur 880 und Sichtpunktdaten 890 sowie
weitere gespeicherte Daten, auf die während der Ausführung der
Befehle in dem Programmspeicher 114 zugegriffen wird. Die
3D-Arbeitsraumdatenstruktur 860 kann eine Liste von Objekten
in dem Arbeitsraum und Daten zur Anzeige des Umfanges des Arbeitsraumes
beinhalten. Jedes Objekt, das in einem Bild beinhaltet ist, das
ein Blick in einen Arbeitsraum hinein ist, stellt ein als interaktives
Objekt bekanntes Objekt dar. Die Arbeitsräume selbst sind interaktive
Objekte, ebenso wie in den Arbeitsräumen enthaltene einzelne Anzeigemerkmale,
wie zum Beispiel Wände
und Türen.
Ein interaktives Objekt selbst kann aus anderen interaktiven Objekten
zusammengesetzt sein, oder es kann als Objekt selbst in anderen
interaktiven Objekten beinhaltet sein. Jedes interaktive Objekt
wird durch eine Datenstruktur 860 dargestellt, die Informationen über den
Arbeitsraum, in dem es sich befindet, andere interaktive Objekte,
aus denen es zusammengesetzt sein kann, Typdaten zur Anzeige seiner
geometrischen Form oder andere visuelle Attribute des gerenderten
Objektes, Koordinatendaten zur Anzeige seiner absoluten Position
innerhalb des Arbeitsraumes, eine Liste anderer gegebenenfalls an
das Objekt angehangener Objekte und verschiedene Eigenschaften zur
Steuerung des Verhaltens des Objektes enthält, einschließlich der
Information, ob es für
eine Manipulation durch den Benutzer ausgewählt werden kann und, wenn dem
so ist, wie es sich verhält,
wenn es ausgewählt
wird. Der Datenspeicher 116 beinhaltet weiterhin verschiedene
Datenelemente, die Übergangsdaten
oder Parameterdaten speichern, die für die Ausführung der verschiedenen Funktionen
des Systems benötigt
werden. Tabelle 1 unten führt
die Datenelemente an und beschreibt die Datenelemente, die insbesondere
in Verbindung mit der veranschaulichten Implementierung der vorliegenden
Erfindung verwendet werden. Der Ausdruck "Tasche" wird in der Tabelle 1 und danach in
der Patentbeschreibung als Metapher für die Operation des Transportierens
(Bewegens oder Kopierens) eines Anzeigeobjektes verwendet. Der Ausdruck "Gaze" wird nachfolgend
als allgemeiner Ausdruck für
Sichtpunkt in den Datennamen "tied-to-gaze" (an Sichtpunkt gekoppelt)
und "direction-ofgaze" (Blickrichtung)
verwendet.
-
-
-
Die Schritte der veranschaulichten
Implementierung werden in den Fließbildern der 22 bis 28 in ihrem
Bezug zu dem Transportieren eines ausgewählten Anzeigeobjektes von einem
ersten Arbeitsraum in einen zweiten Arbeitsraum gezeigt. Das Fließbild in 22 gibt einen Überblick
der Animationsschleife in ihrem konkreten Bezug zu den Eingangsereignissen
für das
Transportieren oder auch das "Eintaschen" eines Anzeigeobjektes
zwischen Arbeitsräumen.
Das Fließbild
in 22 zeigt, dass bei
der Ausführung
von Ereignisbearbeitungsroutinen, wie zum Beispiel bei der Auswahl
eines Objektes für
das Transportieren (Routine zum Einfügen eines Objektes in eine
Tasche 330), und nach allen Ereignissen in der zu bearbeitenden
Ereigniswarteschlange die Steuerung über die Prüfung in dem Feld 399 an
die Animationsschleifenrenderroutine 400 übergeht,
die den 3D-Arbeitsraum zeichnet. Jedoch ist es präziser, die
Animationsschleife als kontinuierlich ausführend zu beschreiben, um dem
Benutzer die Wahrnehmung einer animierten Bewegung zu vermitteln,
während
der Kursor des Benutzers in dem Arbeitsraum positioniert ist. Zum
Beispiel wird bei dieser Ausführung
die Animationsschleifenrenderroutine 400 etwa 30 Mal pro
Sekunde aufgerufen. Im Ergebnis von zwischen diesen Aufrufen bearbeiteten
Ereignissen eingetretene Änderungen
an Objekten oder an dem Sichtpunkt werden in der nächstfolgenden
Iteration der Animationsschleifenrenderroutine 400 dargestellt.
-
Weiterhin unter Bezugnahme auf 22 empfängt der Schritt 300 das
nächstfolgende
Eingangsereignis von der Ereigniswarteschlange. Die Verarbeitung
des Eingangsereignisses beinhaltet eine Prüfung, ob in dem Feld 304 ein
Taschenbefehl empfangen worden ist. Wenn dem so ist, wird die Steuerung
an den Schritt 330, eine Routine für das Eintaschen von Objekten,
die in 23 ausführlicher
beschrieben wird, übertragen.
Wenn das Eingangsereignis kein Taschenbefehl ist, beinhaltet die
Verarbeitung des Eingangsereignisses weiterhin eine Prüfung, ob
in dem Feld 308 ein Befehl zum Umschalten zwischen Arbeitsräumen empfangen
worden ist. Wenn dem so ist, wird die Steuerung an den Schritt 350,
eine Routine zur Darstellung eines neuen Arbeitsraumes, die in 27 ausführlicher beschrieben wird, übertragen.
Wenn das Eingangsereignis kein Befehl zum Umschalten zwischen Arbeitsräumen ist,
beinhaltet die Verarbeitung des Eingangsereignisses weiterhin eine
Prüfung,
ob in dem Feld 312 ein Befehl Transportende, auch als Befehl
zum Leeren der Tasche bezeichnet, empfangen worden ist. Wenn dem
so ist, wird die Steuerung an den Schritt 370, eine Routine,
die die Transportoperation beendet und das ausgewählte Anzeigeobjekt
von dem Sichtpunkt entkoppelt und die in 24 ausführlicher beschrieben wird, übertragen.
Bei dieser Implementierung kann ein Systembenutzer mehrere Anzeigeobjekte
zwischen Arbeitsräumen
transportieren und er kann danach in dem zweiten Arbeitsraum alle
Anzeigeobjekte gleichzeitig von dem Sichtpunkt entkoppeln, indem
er den Befehl zum Leeren der Tasche verwendet, oder er kann alternativ
dazu die Anzeigeobjekte jeweils einzeln entkoppeln. Die Verarbeitung
der Eingangsereignisses beinhaltet weiterhin eine Prüfung, ob
in dem Feld 316 ein Befehl Transportende für ein einzelnes
ausgewähltes
Anzeigeobjekt, auch als Befehl zum Entfernen eines Objektes aus
einer Tasche bezeichnet, empfangen worden ist. Wenn dem so ist,
wird die Steuerung an den Schritt 390, eine Routine, die ein
einzelnes ausgewähltes
Objekt von dem Sichtpunkt entkoppelt und die in 26 ausführlicher beschrieben wird, übertragen.
Wenn keines dieser Ereignisse empfangen worden ist, handelt es sich
bei dem Eingangsereignis um ein Ereignis anderer Art, das von dem
Schritt 320 bearbeitet wird.
-
Wenn ein Signal zur Anzeige einer
Objekttransportoperation empfangen wird, wird die Steuerung an die
Routine 330 (auch Routine zum Einfügen eines Objektes in eine
Tasche genannt) wie in 23 veranschaulicht übertragen.
In der veranschaulichten Implementierung kann das Objekttransportsignal
das Ergebnis der Auswahl einer Menüposition, wie zum Beispiel "bewegen" oder "kopieren", sein, oder aber
eine Tastenkombination, wie zum Beispiel Alt + P und Alt + C. Schritt
332 führt
eine "Objektaufnahmeroutine" durch, die einen
angezeigten Kursor bereitstellt, wie zum Beispiel den in 4 dargestellten Kursor,
so dass der Benutzer in dem Bild damit ein Objekt für das Transportieren
aufnehmen kann. Die Aufnahmeroutine bestimmt, welches Objekt in
dem Arbeitsraum der Benutzer auswählt, und gibt das ausgewählte Objekt
zurück.
Die Abfrage in dem Feld 334 prüft, ob das Objekt für den Transport
zugelassen ist. Bei dieser Implementierung zum Beispiel können Wand-
und Türobjekte
in einem Arbeitsraum nicht transportiert werden. Andere Objekte
können
natürlich
ebenso für
das Transportie ren nicht verfügbar
gemacht werden. Der Schritt in dem Feld 338 stellt eine
Fehlermeldung dar, wenn ein nicht verfügbares Objekt ausgewählt wird,
und der Benutzer muss den Transportbefehl erneut eingeben, um ein
anderes Objekt auszuwählen.
Wenn ein ordnungsgemäß verfügbares Objekt
ausgewählt
worden ist, setzen die Schritte in den Feldern 342 und 346 die
Objekteigenschaften 'in
Tasche', 'nicht Z-gepuffert' und 'an Sichtpunkt gekoppelt' auf EIN, und erhöhen die
Zählung "n Objekte an Sichtpunkt
gekoppelt" – nachfolgend
auch die "Objektzählung" genannt –.
-
Ein Benutzer kann eine Objekttransportbeendigungsoperation
auf zwei Arten signalisieren: entweder durch die Beendigung des
Transportes aller gegenwärtig
transportiert werdenden Objekte durch die Auswahl eines Menübefehles,
wie zum Beispiel "Tasche
leeren", oder durch
Eingabe der Tastenkombination Alt + E oder aber durch Beendigung
des Transportes eines der transportierten Objekte durch Auswahl
des Menübefehles "Objekt aus Tasche
entfernen". Wenn
der Benutzer das Beenden des Transportes aller gegenwärtig transportiert
werdenden Objekte signalisiert, wird die Steuerung an die Routine 390 (auch
die Routine zum Entfernen eines Objektes aus der Tasche genannt) übertragen,
wie in 26 dargestellt.
Beide Routinen verwenden die in 25 veranschaulichte
Routine 380, die die Eigenschaften des Objektes aktualisiert,
um damit anzuzeigen, dass das Objekt nicht mehr für das Transportieren
ausgewählt
ist.
-
Die Tasche-Leeren-Routine 370 (24) implementiert eine Schleife
durch die in dem Arbeitsraum beinhaltete Gruppierung interaktiver
Objekte, um Objekte zu finden, bei denen die Eigenschaft 'in Tasche' auf EIN gesetzt
ist. Für
jedes solche Objekt wird die in 25 gezeigte
Routine ausgeführt.
Der Schritt in dem Feld 382 von 25 setzt die Objekteigenschaften 'in Tasche' und 'nicht-Z-Puffer' auf AUS. Danach
dekrementiert der Schritt in dem Feld 386 die Objektzählung und
setzt die Eigenschaft 'an
Sichtpunkt gekoppelt' auf AUS.
Danach bestimmt der Schritt in dem Feld 388 die Arbeitsraumgrenzen
des aktuellen Arbeitsraumes und ermittelt, ob das Objekt eine gültige Position
innerhalb der Grenze hat. Im Ergebnis des Wechselns von Arbeitsräumen liegt
die Position eines für
das Transportieren ausgewählten
Objektes möglicherweise
nicht innerhalb der Grenzen des neuen Arbeitsraumes. Schritt 388
passt gegebenenfalls die Objektposition an, so dass das Objekt unmittelbar
innerhalb des Arbeitsraumes liegt.
-
Die Routine 390 Objekt aus
der Tasche entfernen (26)
beinhaltet den Schritt 392, der eine Schleife durch die
Gruppierung in dem Arbeitsraum enthaltener interaktiver Objekte
bildet, um Objekte zu finden, bei denen die Eigenschaft 'in Tasche' EIN ist, und sie
fügt die
Titel dieser Objekte zu einem Pop-Up-Menü hinzu. Zur Erhöhung der
Wirksamkeit zählt
der Schritt 392 auch die gefundenen Objekte, bei denen
die Eigenschaft 'in
Tasche' EIN ist,
und er nutzt diese Zählung
für die
Unterstützung
der weiteren Verarbeitung bei der Auswahl eines Objektes für das "Entfernen aus der
Tasche", wie in
den Schritten 393, 394, 395 und 396 gezeigt.
Wenn die Objektzählung
größer 1 ist,
stellt eine Routine zur Handhabung des Pop-Up-Menüs das Pop-Up-Menü dar und
holt die Auswahl eines Objektes durch den Benutzer aus dem Menü. Für das ausgewählte Objekt
wird die in 25 gezeigte
Routine wie oben beschrieben ausgeführt.
-
Der Systembenutzer kann die Transportoperation
nutzen, um Anzeigeobjekte von einem Arbeitsraum in einen anderen
zu bewegen oder zu kopieren. Wenn der Benutzer eine Arbeitsraumumschaltung
signalisiert, wird die Steuerung an die Routine 350 übertragen,
die alle notwendigen Aktualisierungen der Datenstruktur und der Übergangsdaten
als Vorbereitung für
das Animationsschleifenrenderingprogramm 400 für den Aufruf der
Zeichnungsroutinen für
das Zeichnen des neuen Arbeitsraumes handhabt. Die in 27 veranschaulichte Routine 350 zeigt
die Schritte, die sich vorwiegend auf die Handhabung von transportierten
Objekten während
einer Arbeitsraumumschaltung beziehen. Andere Arbeitsraumfunktionen
werden entweder weggelassen oder nur mit allgemeinen Aussagen erwähnt. Bei
der Beschreibung dieser Routine und für andere Routinen gilt: Nach
Auslösung
einer Arbeitsraumumschaltung wird der Arbeitsraum, der verlassen
wird und der gegenwärtig
und solange angezeigt wird, bis eine Routine zum Zeichnen eines
Arbeitsraumes ausgeführt
wird, als der "alte" oder der "vorhergehende" Arbeitsraum bezeichnet,
während
der Arbeitsraum, der betreten werden soll, als der "neue" oder der "aktuelle" Arbeitsraum bezeichnet
wird. Die Routine 350 implementiert in den in den Feldern 352, 354, 355 und 356 gezeigten
Schritten eine Schleife durch die Gruppierung von in dem alten Arbeitsraum
enthaltenen interaktiven Objekten, und für jedes Objekt, für das die
Objekteigenschaft 'in
Tasche' gesetzt
ist, entfernt der Schritt 355 das Objekt aus dem alten Arbeitsraum,
dekrementiert die Objektzählung
für die
Verfolgung der transportiert werdenden Objekte und setzt die Objekteigenschaft'an Sichtpunkt gekoppelt' auf AUS. Danach
fügt der
Schritt 356 das Objekt zu dem neuen Arbeitsraum hinzu, erhöht die Objektzählung und
setzt die Objekteigenschaft'an
Sicht punkt gekoppelt' auf
EIN. Das Hinzufügen
und das Entfernen von Objekten zu und von einem Arbeitsraum können auf
mehrere Arten erfolgen. Für
ein bewegtes Objekt kann die tatsächliche Objektdatenstruktur
aus dem alten Arbeitsraum gelöscht
werden, und eine Kopie der Objektdatenstruktur kann dem neuen Arbeitsraum
hinzugefügt
werden. Ebenso kann ein Objekt eine Eigenschaft haben, die bestimmt,
ob es aus einem Arbeitsraum gelöscht
oder aber zu einem Arbeitsraum hinzugefügt wird. In der hier beschriebenen
Implementierung hat ein Objekt eine Eigenschaft, die anzeigt, ob
es in einem Arbeitsraum beinhaltet ist. Die Routine für das Entfernen
von Objekten aus einem Arbeitsraum ändert die Eigenschaft eines
Objektes zur Anzeige, dass das Objekt nicht mehr in dem Arbeitsraum
beinhaltet ist. Das Hinzufügen
des Objektes zu einem anderen Arbeitsraum ändert die Eigenschaft des Objektes
zur Anzeige, dass es in dem Arbeitsraum beinhaltet ist.
-
Eine Änderung in den Arbeitsräumen bewirkt
weiterhin eine bestimmte Zustandsinformation über den alten Arbeitsraum,
die gespeichert wird, so dass dieser wiederhergestellt werden kann,
wenn der Benutzer zu dem Arbeitsraum zurückkehrt. Dies wird durch den
Schritt 358 bewirkt. Schritt 360 führt die
Funktionen in Bezug auf die Zustandsbedingungen des neuen Arbeitsraumes
aus; zum Beispiel wird in Vorbereitung auf das Zeichnen des Arbeitsraumes
die Größeninformation
des Arbeitsraumes abgerufen.
-
Die Schritte 363, 364, 365 und 366 sind
vorbereitende Schritte für
die Darstellung von transportiert werdenden Objekten in dem neuen
Arbeitsraum. Ein transportiert werdendes Objekt wird in einem Bild
als in Beziehung zu dem Sichtpunkt und zu der Ausrichtung stehend
dargestellt, in der es sich zu dem Zeitpunkt befand, als es für das Transportieren
ausgewählt
wurde. Dieses Merkmal kann auf verschiedene Arten ausgeführt werden.
In der hierin beschriebenen Implementierung führt jede Änderung eines Sichtpunktes
von einem vorhergehenden Sichtpunkt und einer vorhergehenden Ausrichtung
zu einem neuen Sichtpunkt und einer neuen Ausrichtung zu einer Aktualisierung
der Position und der Ausrichtung eines jeden transportierten Objektes in
dem Arbeitsraum durch Anwenden der Differenz in der Position und
der Ausrichtung zwischen dem vorhergehenden Sichtpunkt und der vorhergehenden
Ausrichtung und dem neuen Sichtpunkt und der neuen Ausrichtung auf
die betreffende Position und Ausrichtung eines jeden Objektes. Diese
Aktualisierungsfunktion für die
Objektposition und die Objektausrichtung wird in dem Schritt 366
in 27 und 28 dargestellt, und ein Beispiel quellencode
von der veranschaulichten Implementierung für diese Positionsaktualisierungsoperation ist
in dem unmittelbar auf diese Beschreibung folgenden Anhang beinhaltet. Änderungen
an dem Sichtpunkt und an der Ausrichtung können in jeder der drei Dimensionen
auftreten. Üblicherweise
wird der Benutzer den Sichtpunkt durch Drehen um die Y-Achse ändern, d.
h. er wird in dem Arbeitsraum nach links oder rechts schauen. In
einem solchen Fall werden die X- und die Z-Position sowie die Y-Achsen-Ausrichtung des Objektes
in dem Arbeitsraum angepasst, um die Änderung wiederzugeben und um
die Kopplung des transportierten Anzeigeobjektes an den Sichtpunkt
aufrecht zu erhalten. Oder aber der Benutzer ändert die Position der Z-Achse
und/oder der X-Achse, d. h. er bewegt sich in dem Arbeitsraum vorwärts oder
rückwärts. In
diesem Fall werden die X- und die Z-Position des Objektes in dem
Arbeitsraum geändert,
um die Änderung
wiederzugeben und um die Kopplung des Objektes an den Sichtpunkt
aufrecht zu erhalten. Ein Benutzer kann den Sichtpunkt auch entlang
der Y-Achse bewegen, d. h. sich nach oben oder nach unten bewegen.
In diesem Fall wird die Y-Position des Objektes in dem Arbeitsraum
angepasst, um die Änderung
wiederzugeben und um die Kopplung des Objektes an den Sichtpunkt
aufrecht zu erhalten. Eine weniger häufige und möglicherweise verwirrendere
Art der Bewegung ist die Drehung um die X-Achse, d. h. das Schauen in dem Arbeitsraum
nach oben bzw. nach unten. Eine solche Änderung erfordert Anpassungen
der Y- und der Z-Positionen und der X-Achsen-Ausrichtung des gekoppelten Anzeigeobjektes.
In dem Code der in dem Anhang veranschaulichten Implementierung
werden für
jede Sichtpunktänderung
durch Drehen um die Y-Achse und Umsetzung entlang der X-Achse, der
Y-Achse und/oder der Z-Achse eine neue Objektposition und -ausrichtung
für das
transportierte Anzeigeobjekt berechnet; Änderungen des Sichtpunktes
durch Drehen um die X-Achse werden jedoch als Sonderfälle behandelt
und nur als Drehungen um die Y-Achse verallgemeinert. In dem sehr
seltenen Fall, in dem es sich bei der Änderung des Sichtpunktes ausschließlich um
eine Änderung
der Blickrichtung in dem Arbeitsraum, nur um die X-Achse gedreht,
handelt, führt
der Code in dem Anhang dazu, dass eine ungenügende Positionsanpassung der
Position des transportierten Objektes und der Ausrichtung in dem
Arbeitsraum erfolgt. Hierbei handelt es sich um eine Implementierungsentscheidung,
und die Anpassung der Position und Ausrichtung eines transportierten
Anzeigeobjektes für
Sichtpunktänderungen
durch X-Achsen-Drehung kann in einer anderen Implementierung erfolgen.
Es ist auch vorstellbar, dass der Benutzer den Sichtpunkt um die Z-Achse
drehen möchte
(was dem Neigen des Kopfes nach links oder rechts entsprechen würde). In
diesem Fall werden die X- und Y-Positionen und die Z-Achsen-Ausrichtung
der transportierten Objekte angepasst. Der Code in dem Anhang befasst
sich nicht mit der Drehung des Sichtpunktes um die Z-Achse. Auch
hierbei handelt es sich um eine Implementierungsentscheidung, und
die Anpassung der Position und Ausrichtung eines transportierten
Anzeigeobjektes für
Sichtpunktänderungen
durch Z-Achsen-Drehung kann in einer anderen Implementierung erfolgen.
-
Schritt 362 initialisiert
die Objektzählung
der transportierten Objekte auf Null und sucht danach nach in dem
neuen Arbeitsraum enthaltenen Objekten, um Objekte, bei denen die
Eigenschaft'an Sichtpunkt
gekoppelt' EIN ist,
zu lokalisieren und zu zählen.
Schritt 363 prüft
sodann, ob die Objektzählung
größer Null
ist (d. h. ob sich Objekte in dem neuen Arbeitsraum befinden, bei
denen die Objekteigenschaft'an
Sichtpunkt gekoppelt' EIN
ist). Wenn dem so ist, wird der Sichtpunkt in den alten Arbeitsraum
hinein gespeichert, und zwar in dem Schritt 364, und die
Position jedes transportierten Objektes in dem neuen Arbeitsraum
wird in dem Schritt 366 aktualisiert. Schritt 368 führt andere
Funktionen in Zusammenhang mit der Rückstellung von Parametern und sonstige
vorbereitende Schritte vor dem Zeichnen des neuen Arbeitsraumes
aus.
-
Das Verfahren in der veranschaulichten
Implementierung unterstützt
problemlos das Transportieren von Anzeigeobjekten, wobei jedes Anzeigeobjekt
von einem unterschiedlichen Sichtpunkt in den Arbeitsraum hinein
aus ausgewählt
wird, da das Verfahren die Position und die Ausrichtung von für das Transportieren
ausgewählten
Anzeigeobjekten ausgehend von der Anwendung der inkrementalen Differenzen
in der Position und der Ausrichtung zwischen einem vorhergehenden
Sichtpunkt und einem neuen Sichtpunkt auf jedes Anzeigeobjekt anpasst
und da es nicht von der Speicherung und der Durchführung von
Berechnungen zu jedem tatsächlichen
Sichtpunkt zu dem Zeitpunkt der Auswahl und während des Transportierens abhängig ist.
-
Die Renderingroutine 400 prüft mehrere
Parameter zur Anzeige der Art der durchgeführten Bewegung und ruft danach
Routinen zum Zeichnen des Arbeitsraumes, der Bedienelemente und
des Inhaltes des Arbeitsraumes auf. Das Fließbild in 28 veranschaulicht die allgemeinen Funktionen
und den Steuerungsfluss der Renkeringroutine 400, wobei
der Schwerpunkt auf den Funktionen liegt, die in Bezug zu dem Transportieren
von Objekten stehen. Schritt 404 prüft, ob sich der Sichtpunkt
in den Arbeitsraum hinein geändert
hat. Wenn er sich nicht geändert
hat, hat sich die Ansicht von Objekten in dem Arbeitsraum nicht
geändert,
ist kein Umsetzen, kein Drehen oder Skalieren von Objekten notwendig
und ist keine Aktualisierung der Position für transportiert werdende Objekte
erforderlich; die Steuerung wird beginnend mit Schritt 420 an
die Zeichnungsroutinen übertragen.
Wenn sich der Sichtpunkt geändert
hat, prüft
Schritt 408, ob es in dem Arbeitsraum Objekte gibt, bei
denen die Objekteigenschaft'an
Sichtpunkt gekoppelt' EIN
ist. Wenn es solche Objekte gibt, speichert Schritt 412 den
aktuellen Sichtpunkt (den Sichtpunkt, von dem aus der Arbeitsraum
gegenwärtig
betrachtet wird, vor dem Empfang des neuen Sichtpunktes), und danach
aktualisiert Schritt 416 den Sichtpunkt mit der neuen Sichtpunktinformation.
Wenn keine Objekte vorhanden sind, bei denen die Objekteigenschaft'an Sichtpunkt gekoppelt' EIN ist, werden
keine Informationen zu dem vorhergehenden Sichtpunkt benötigt, und die
Steuerung geht an Schritt 416 über, um den Sichtpunkt mit
den neuen Sichtpunktinformationen zu aktualisieren.
-
Weiterhin unter Bezugnahme auf 28 prüft der Schritt 418 die
beiden genannten Faktoren zusammen. Wenn sich der Sichtpunkt geändert hat
und wenn die Objektzählung
von an den Sichtpunkt gekoppelten Objekten größer Null ist, aktualisiert
Schritt 366, die Objektpositions-Aktualisierungsfunktion,
die Position und die Ausrichtung aller transportierten Objekte in
dem Arbeitsraum, indem die Differenz in der Position und der Ausrichtung
zwischen dem vorhergehenden Sichtpunkt und der vorhergehenden Ausrichtung
und dem neuen Sichtpunkt und der neuen Ausrichtung auf die Position
und die Ausrichtung jedes transportierten Objektes angewandt wird.
Wie an anderer Stelle bereits erwähnt, ist ein Quellencode, der
die Implementierung von Schritt 366 zeigt, in dem Anhang
beinhaltet.
-
Die übrigen Funktionen in der Renkeringroutine 400 sind
die eigentlichen Zeichnungsroutinen. Der Schritt in dem Feld 420 zeichnet
den Arbeitsraum. In Bezug auf Objekte in dem Arbeitsraum gilt: Wenn
beliebige Objekte transportiert werden, sollen sie vorzugsweise
so erscheinen, als ob sie sich vor anderen Objekten in dem Arbeitsraum
befinden und nicht von diesen überlappt
oder verdeckt werden. Die verbleibenden Schritte in der Renkeringroutine 400 erreichen
dies, indem sie prüfen,
ob Objekte vorhanden sind, bei denen die Objekteigenschaft 'icht Z-gepuffert' EIN ist; und indem
sie diese Objekte zählen
und indem sie danach diese Objekte zuletzt zeichnen. Schritt 424 initialisiert
die Zählung
der nicht-Z-gepufferten Objekte in dem Arbeitsraum. Schritt 428 greift
auf Ob jektdatenstrukturen für
eine Klasse von Objekten, die auch als Arbeitsraumsteuerungen bekannt
sind, zu, zählt
die Arbeitsraumsteuerungsobjekte, bei denen die Eigenschaft 'nicht Z-gepuffert' EIN ist, zeichnet
diese Objekte nicht, und zeichnet die Arbeitsraumsteuerungsobjekte,
bei denen die Eigenschaft 'nicht
Z-gepuffert' AUS
ist. Analog gilt für
die verbleibenden Klassen von Objekten in dem Arbeitsraum: Schritt 432 greift
auf die Objektdatenstrukturen zu, zählt die Objekte, bei denen
die Eigenschaft 'nicht
Zgepuffert' EIN
ist, zeichnet diese nicht, und zeichnet die Objekte, bei denen die
Eigenschaft 'nicht
Z-gepuffert' AUS ist.
Schritt 434 prüft,
ob die Zählung
der nicht-Z-gepufferten
Objekte größer Null
ist, und wenn dem so ist, wird die Steuerung an den Schritt 438 übertragen,
wo alle Objekte in dem Arbeitsraum gezeichnet werden, bei denen
die Eigenschaft 'nicht
Z-gepuffert' EIN
ist. Die verbleibenden Renderingfunktionen werden in dem Feld 444 bearbeitet.
-
Da die Routine 366 für die Aktualisierung
der Position von ausgewählten
transportiert werdenden Anzeigeobjekten bei jeder Ausführung der
Animationsschleifensenderingroutine 400 aufgerufen wird,
und zwar unabhängig
davon, ob eine Umschaltung zwischen Arbeitsräumen auftritt oder nicht, ist
zu erkennen, dass die vorliegende Erfindung problemlos das Transportieren
von Anzeigeobjekten innerhalb eines Arbeitsraumes wie auch zwischen
Arbeitsräumen
unterstützt.
-
Die Systemkonfiguration der vorliegenden
Erfindung wird in 21 gezeigt.
Der Prozessor 140 kann nach den in 20 gezeigten allgemeinen Schritten und
insbesondere nach der in 22 bis 28 veranschaulichten Implementierung
betrieben werden, wobei die Datenstrukturen in dem Datenspeicher 116 erstellt, gespeichert
und bearbeitet werden. Die gerätetechnischen
Komponenten des Systems 100 können auf verschiedene Weise
angeschlossen werden, so zum Beispiel in Form von festverdrahteten
Anschlüssen
zwischen allen oder einigen der Komponenten, von Anschlüssen über verdrahtete
oder drahtlose Kommunikationseinrichtungen, wie zum Beispiel über örtliche
oder Fernkommunikationsnetze, und Infrarot- oder Funkverbindungen.
Zum Beispiel können
die Ausgangsschaltung 160, die Eingangsschaltung 152 und
die Anzeige 170 in ein und demselben Gerät 150 ausgeführt sein,
wie zum Beispiel in einer Flachtablettanzeige mit einem angehangenen
Tablettstift als Benutzereingabegerät 154. Ein Speicher 110 kann
einen Speicher beinhalten, der physisch als lokaler Speicher an
den Prozessor 140 angeschlossen ist oder auf den der Prozessor 140 über eine
verdrahtete oder eine drahtlose Kommunikationseinrichtung fern zugreifen
kann.
-
Wenn demzufolge unten beschrieben
wird, dass das Verfahren bewirkt, dass ein Prozessor 140 auf ein
bestimmtes Datenelement zugreift, so kann dieses Datenelement in
einem Speichergerät
gespeichert sein, das entfernt von dem System 100 angeordnet
ist, auf das der Prozessor 140 jedoch über geeignete Verbindungen
fern zugreifen kann. Weiterhin muss angemerkt werden, dass der physische
Umfang des Systems 100 einen Kleinrechner, einen Laptop
oder ein taschengroßes
oder ein kleineres Gerät
umfassen kann oder aber auch von herkömmlicherer Größe sein
kann, mit Personalcomputern oder Workstations, oder auch Anwendungsfälle mit
großen
elektronischen Whiteboards umfassen kann. Ein System zur Ausführung der
vorliegenden Erfindung soll alle Systeme in dem genannten physischen
Größenbereich
einschließen
können.
-
21 zeigt
weiterhin das Softwareprodukt 120, einen Fertigungsartikel,
der in einem System verwendet werden kann, das Komponenten wie die
in Abbildung 21 gezeigten einschließt. Das Softwareprodukt 120 beinhaltet
ein Datenspeichermedium 122, auf das mit dem Speichermediumzugriffsgerät 115 zugegriffen werden
kann. Das Datenspeichermedium 122 kann beispielsweise ein
Magnetspeichermedium sein, wie zum Beispiel eine Diskette oder mehrere
Disketten, oder ein optisches Speichermedium, wie zum Beispiel eine CD-ROM
oder mehrere CD-ROMs, oder ein beliebiges anderes für das Speichern
von Daten geeignetes Medium. Das Datenspeichermedium 122 speichert
die Daten 124 und 128, die das Speichermediumzugriffsgerät 115 für den Prozessor 140 bereitstellen
kann. Die gespeicherten Daten 124 und 128 beinhalten
Daten zur Anzeige von Benutzersignaleingangsbefehlen 124,
die ausgeführt
werden können,
um die Schritte 220 und 250 in 20 oder aber den Schritt 300 in 22 durchzuführen, um
Benutzersignale in Bezug auf das Transportieren eines ausgewählten Anzeigeobjektes
zu empfangen. Die gespeicherten Daten beinhalten weiterhin Daten
zur Anzeige von Antwortbefehlen 128, die ausgeführt werden
können,
um die Schritte 240 und 260 in 20 oder die Routinen 330, 350, 370 und 390 in 22 durchzuführen, um
Bilder darzustellen und um Datenstrukturen als Reaktion auf Benutzersignale
für das
Transportieren eines ausgewählten
Anzeigeobjektes zu bearbeiten. Zusätzlich können die in dem Datenspeichermedium 122 gespeicherten
Daten Daten zur Anzeige von Sichtpunktbewegungsbefehlen (nicht gezeigt)
als Reaktion auf Benutzersignale mit der Anforderung von Sichtpunktbewegung
beinhalten.
-
Obwohl das erfindungsgemäße Objekttransportverfahren
anhand einer Implementierung in einer 3D-Umgebung mit mehreren Arbeitsräumen beschrieben
worden ist, kann das Verfahren ebenso in einer beliebigen 2D- oder
2½D-Umgebung
mit einem Ar beitsraum oder mit mehreren Arbeitsräumen mit mehr als nur einem
festen Sichtpunkt in einen Arbeitsraum hinein implementiert werden.
-
29 zeigt
ein Bild 500 einer Ansicht in einen 2½D-Arbeitsraum hinein von
einem ersten Sichtpunkt in der Plus-Z-Richtung aus, ausgerichtet
wie von den Achsen 510 gezeigt. Der in 29 gezeigte Arbeitsraum scheint sich
in der Plus-Y-Richtung
und sowohl in der Plus-X-Richtung wie auch in der Minus-X-Richtung zu
erstrecken, wie beispielhaft anhand nur teilweise sichtbarer Objekte 516, 518 und 522 gezeigt.
Das rechteckige Objekt 516 scheint vor dem Objekt 517 zu
sein, das mit einem Ablegeschatten gezeigt wird.
-
30 zeigt
ein Bild 501 in den gleichen Arbeitsraum hinein von einem zweiten
Sichtpunkt aus, der sich von dem ersten Sichtpunkt aus entlang der
Z-Achse in der Minus-Z-Richtung (hin zu dem Ursprung) bewegt hat.
Der Benutzer hat auf ein Objekt 14 gezoomt, und von diesem
zweiten Sichtpunkt aus sind nur sehr wenige Objekte in dem Arbeitsraum
wahrnehmbar. Die drei Attribute der Anzeigeobjektausrichtung (Drehung, Skalierung
und Umsetzung) in einem 3D-Arbeitsraum werden durch das Attribut
Maßstab
in einem 2½D-Arbeitsraum
in Bezug auf andere Objekte in dem Arbeitsraum und zu dem Arbeitsraum
als Ganzes ersetzt. Der Maßstab
des Anzeigeobjektes 514 has sich verändert, um die Wahrnehmung von
Bewegung entlang der Z-Achse in dem Arbeitsraum zu vermitteln.
-
Bild 502 in 31 ist die gleiche Ansicht in den 2½D-Arbeitsraum
von dem ersten Sichtpunkt aus wie die aus dem Bild 500. Das kreisrunde
Anzeigeobjekt 514, das mit einer Kreuzschraffierung zur
Anzeige von Markierung erscheint, wurde für das erfindungsgemäße Transportieren
ausgewählt.
Das kreisrunde Anzeigeobjekt 514 bleibt an den ersten Sichtpunkt
gekoppelt, während
es transportiert wird, während
der nachfolgenden Navigation in dem Arbeitsraum.
-
32 zeigt
das Bild 504 in den gleichen Arbeitsraum hinein von einem dritten
Sichtpunkt aus, der sich entlang der Plus-X-Achse von dem ersten
Sichtpunkt aus nach rechts in dem Arbeitsraum bewegt hät, um das
Objekt 518 vollständig
in das Gesichtsfeld zu bringen, und der sich entlang der Z-Achse
in der Minus-Z-Richtung (zu dem Ursprung hin) von dem ersten Sichtpunkt
aus bewegt hat, um auf das Objekt 518 zu zoo men. Erfindungsgemäß ist das
ausgewählte
Anzeigeobjekt 514 in der gleichen Position und in dem gleichen
Maßstab
in dem Arbeitsraum verblieben, in der/dem es sich befand, als es
für das
Transportieren in dem Bild 502 von dem ersten Sichtpunkt aus ausgewählt wurde.
Analog dazu in dem Bild 505 in 33 von
einem vierten Sichtpunkt aus weiter entlang der Z-Achse in der Minus-Z-Richtung
in den Arbeitsraum hinein ist das ausgewählte Objekt 514 an
den ersten Sichtpunkt gekoppelt geblieben. Das Bild 505 zeigt das
Anzeigeobjekt 514 nicht mehr ausgewählt; es wurde in seine endgültige Position
in dem Arbeitsraum bewegt und ist nicht mehr an den ersten Sichtpunkt
gekoppelt. 34 zeigt
das Bild 506 in den 2½D-Arbeitsraum
hinein erneut von dem ersten Sichtpunkt aus, wobei das Anzeigeobjekt 514 innerhalb
der Grenze des Anzeigeobjektes 518 in seiner endgültigen Position
gezeigt wird. Da das Anzeigeobjekt 514 nicht mehr an den
ersten Sichtpunkt gekoppelt ist, bewirkt die Sichtpunktbewegung
von dem vierten Sichtpunkt des Bildes 505 zu dem ersten Sichtpunkt
in dem Bild 506 entlang der Plus-Z-Richtung, dass sich der Maßstab des
Anzeigeobjektes 514 ändert, damit
die richtige Beziehung zu den anderen Objekten in dem Arbeitsraum
beibehalten wird.
-
Die 35, 36 und 37 zeigen eine Anwendung der vorliegenden
Erfindung auf einen navigierbaren 2D-Arbeitsraum, der ein navigierbares
(scrollfähiges)
Fenster zur Darstellung einer Textverarbeitungsanwendung enthält. Das
Bild 507 in 35 zeigt
einen ersten Sichtpunkt in einen 2D-Dokumentenarbeitsraum hinein,
und zwar an dem Anfang eines Dokumentes, das einen Teil einer Liste
enthält.
Das Element 530, das erste Element in der Liste, wurde
für das
erfindungsgemäße Transportieren
ausgewählt.
Das Element 530 bleibt an den ersten Sichtpunkt gekoppelt,
d. h. das Element 530 erscheint dem Benutzer als in der
gleichen X/Y/Z-Koordinatenposition in dem Fenster verbleibend, wenn
der Sichtpunkt durch Scrollen in der X-Richtung oder der Y-Richtung verändert wird. 36 zeigt das Bild 508 von
einem zweiten Sichtpunkt in der Minus-Y-Richtung in dem Dokumentenarbeitsraum
aus. Der markierte Scrollpfeil 536 zeigt die Richtung des
Dokumententextscrollens in der Plus-Y-Richtung, wobei der Rest der
Liste in das Sichtfeld kommt. Das Element 534 wird nun an
dem oberen Rand des bokumentenarbeitsraumes dargestellt; das Element 530 ist
jedoch an den ersten Sichtpunkt gekoppelt geblieben: Im Ergebnis
dessen befindet sich das Element 530 in dem Dokumentenarbeitsraum
an einer neuen Position. 37 zeigt
das Bild 510 von einem dritten Sichtpunkt weiter in der Minus-Y-Richtung
in dem Dokumentenarbeits raum. Das Element 530, das nicht
mehr ausgewählt
ist, ist an das Ende der Liste bewegt worden, wobei es während der
Transportoperation stets vollständig
in dem Sichtfeld des Benutzers verbleibt.
-
Die 3D-Implementierung wurde unter
Verweis auf Sichtpunktdatenelemente in Bezug auf die Sichtpunktposition
und die Sichtpunktausrichtung beschrieben. Zum Beispiel beinhalten
die gespeicherten Sichtpunktdaten die vorhergehenden Sichtpunktpositionsdaten
und die vorhergehenden Sichtpunktausrichtungsdaten. Ein dritter
Aspekt des Sichtpunktkonzeptes in einem 3D-Arbeitsraum ist der Drehwinkel
um die Y-Achse der Ausrichtungsrichtung, der dadurch veranschaulicht
wird, dass der Benutzer in dem Arbeitsraum nach links bzw. nach
rechts schaut. Der Drehwinkel um die Y-Achse der Ausrichtungsrichtung
kann anhand der Sichtpunktpositionsdaten und der Sichtpunktausrichtungsdaten
berechnet werden, d. h. er kann entweder einmal berechnet und als
drittes Datenelement zur Darstellung einer vollständigen Beschreibung
des Sichtpunktes in den Arbeitsraum hinein gespeichert werden, oder
er kann während
der Verarbeitung nach Bedarf berechnet werden. In der veranschaulichten
Implementierung wird der Drehwinkel um die Y-Achse der Ausrichtungsrichtung
als ein "Blickrichtungs-Grad" genanntes Datenelement
berechnet und gespeichert, und er wird bei einer Sichtpunktänderung
als "gespeicherte
Blickrichtungs-Grad" gespeichert.
Das anhand des Codes in dem Anhang veranschaulichte Verfahren zur
Aktualisierung der Position und der Ausrichtung eines ausgewählten Anzeigeobjektes
in dem Arbeitsraum als Reaktion auf eine Änderung des Sichtpunktes verwendet
dieses dritte Datenelement eines Arbeitsraumsichtpunktes zur Verbesserung
der Verarbeitungswirksamkeit während
des Aktualisierungsverfahrens.
-
Zusammenfassend stellt die vorliegende
Erfindung ein wirksames Verfahren für das Transportieren von Anzeigeobjekten
in einem n-dimensionalen navigierbaren Arbeitsraum bzw. zwischen
navigierbaren Arbeitsräumen
derart bereit, dass ein für
das Transportieren ausgewähltes
Anzeigeobjekt stets innerhalb des Sichtfeldes des Systembenutzers
bleibt, während
es transportiert wird. Dieses Merkmal eliminiert die Möglichkeit,
dass der Benutzer vergisst, welche Objekte bewegt oder kopiert werden;
und es reduziert die Wahrscheinlichkeit, dass der Benutzer desorientiert
ist, während
er in dem Arbeitsraum navigiert, um ein Objekt an eine neue Position
zu transportieren. Die Erfindung ist einfach zu nutzen und stimmt überein mit
anderen Merkmalen, die die Wahrnehmung eines großen navigierbaren Arbeitsraumes
unterstützen.