DE10005812A1 - Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm - Google Patents

Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm

Info

Publication number
DE10005812A1
DE10005812A1 DE10005812A DE10005812A DE10005812A1 DE 10005812 A1 DE10005812 A1 DE 10005812A1 DE 10005812 A DE10005812 A DE 10005812A DE 10005812 A DE10005812 A DE 10005812A DE 10005812 A1 DE10005812 A1 DE 10005812A1
Authority
DE
Germany
Prior art keywords
window
dimensional
display
user
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10005812A
Other languages
English (en)
Other versions
DE10005812B4 (de
Inventor
Thomas E Cook
Michael D Essenmacher
Clark A Goodrich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TomTom Global Assets BV
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10005812A1 publication Critical patent/DE10005812A1/de
Application granted granted Critical
Publication of DE10005812B4 publication Critical patent/DE10005812B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Ein Rechneranzeigesystem, -verfahren und -produktionsartikel werden vorgelegt, die es einem Benutzer erlauben, zweidimensionale Fenster zum Anzeigen in drei Dimensionen auf einem zweidimensionalen Anzeigebildschirm des Rechnersystems im Dialog anzuordnen. Ein mit dem Anzeigebildschirm verbundener Fensterverwalter wird so aufgebaut, dass er auf eine vom Benutzer vorgenommene Auswahl einer Rahmenkante eines Fensters reagiert, z. B. unter Verwendung einer dritten Maustaste, so dass das Fenster von einer zweidimensionalen Darstellung in eine dreidimensionale Darstellung gedreht wird. Das Drehen des Fensters erfolgt an einer Rahmenkante, die der ausgewählten Rahmenkante gegenüberliegt, und der Drehwinkel bezieht sich auf den Betrag, mit welcher der Benutzer die Zeigevorrichtung nach der Auswahl einer Rahmenkante des zu verschwenkenden Fensters bewegt wird. Auf gleiche Weise können mehrere Fenster zum dreidimensionalen Betrachten geschwenkt und gleichzeitig innerhalb des Anzeigebildschirmes angezeigt werden.

Description

Querverweis auf zugehörige Anmeldung
Diese Anmeldung bezieht sich auf die ebenfalls eingereichte, gemeinsam übertragene US-Patentanmeldung mit der Titel "Display of Pointing Indicator Within Two-dimensional Window Displayed in Three Dimensions an a Computer Screen", lfd. Nr. (Anwalts- Register PO9-99-011), die hiermit in ihrer Gesamtheit als Bezugsdokument eingeschlossen ist.
Gebiet der Technik
Die vorliegende Erfindung bezieht sich im Allgemeinen auf Rechneranzeigesysteme und insbesondere auf eine Technik zum im Dialog erfolgenden Anzeigen eines zweidimensionalen Fensters in drei Dimensionen auf einem Anzeigebildschirm des Rechnersystems, um damit das gleichzeitige Darstellen und Überwachen von mehreren Fenstern zu verbessern.
Grundlagen der Erfindung
Die Nützlichkeit von Rechnersystemen ist direkt mit der Fähigkeit eines Benutzers verbunden, tatsächlich und wirksam mit dem Rechnersystem zu kommunizieren. Ein zentraler Punkt dieser Fähigkeit zum Kommunizieren besteht aus dem Bedürfnis, eine umfassende Anzeige dem Benutzer verfügbarer Abbilder von Arbeitsgegenständen zu haben, die im Dialog bearbeitet werden.
Eine Verfahrensweise, dieses Ziel zu erreichen, verlangt nach sich überlappenden, in Segmente aufgeteilten Bereichen (hierin "Fenster") eines Anzeigebildschirmes, die in vielem dem Weg gleichen, in dem auf einem Schreibtisch ein Stapel von Büchern errichtet wird. Bei dieser Verfahrensweise erscheint das zuletzt benutzte oder "aktive" Fenster ganz oben (so dass seine Ansicht nicht durch andere Fenster verborgen wird), und das am längsten nicht benutzte Fenster erscheint ganz unten (so dass seine Ansicht teilweise oder vollständig verborgen ist). Ein Benutzer ist bei Benutzung der bekannten Verfahrensweisen nicht in der Lage, direkte Handhabungstechniken zu benutzen, um die Anzeigeabbilder zu verändern. Wenn ein Benutzer beispielsweise die aktuelle Ansicht eines Objektes ersetzen möchte (z. B. von einer Symbolansicht einer Liste zu einer Textansicht umschalten möchte), muss er entweder die aktuelle Ansicht ersetzen oder ein neues Fenster zu einer neuen Ansicht öffnen, indem er mehrere Kombinationen von Tastenbetätigungen oder Mausvorgänge in Verbindung mit Menüleisten benutzt.
Die heutigen Rechnerumgebungen umfassen ein Benutzer/Rechnerschnittstellenzentrum auf dem Benutzerschnittstellensystem (GUI) der grafischen Art, das vorstehend beschrieben wurde. GUI-Systeme benutzen alle gemeinsam eine bestimmte Gruppe von allgemeinen Merkmalen. Sie enthalten alle Fenster zum Anzeigen von Daten, und sie enthalten alle zur Eingabe eine Tastatur und eine Zeigevorrichtung. Die Tastatur und die Zeigevorrichtung, üblicherweise eine Maus, werden dafür benutzt, Daten einzugeben und sich auf dem GUI- Darstellungsbildschirm zu bewegen. Der GUI-Darstellungsbildschirm enthält mehrere Fenster, die der Benutzer manipulieren kann.
Allen GUI-Systemen gemeinsam ist die darunter liegende ereignisgesteuerte Softwarestruktur. Mit dem Auftreten von GUI- Systemen haben ereignisgesteuerte Softwarewerkzeuge und -bibliotheken eine weite Verarbeitung erfahren. Diese Werkzeuge und Bibliotheken bieten einen Standardsatz von Schnittstellen, auf die Programmierer programmieren. Sobald an diesen GUI- Schnittstellen Anwendungen aufgebaut worden sind, sehen alle Anwendungen, die mit dem gleichen Satz von Anwendungsprogrammschnittstellen (APIs) laufen, gleich aus und verhalten sich gleichartig. Beispielsweise sehen alle Darstellungsverwalter-Anwendungen von OS/2 von International Business Machines gleich aus und verhalten sich gleichartig, weil alle OS/2-Programmierer in Richtung der Darstellungsverwalterschnittstelle programmieren.
Fensteranzeigesysteme gestatten es, dass im Vergleich mit älteren Einzelbildschirmprogrammen mehr Daten gleichzeitig auf dem Bildschirm angezeigt werden. Dies rührt daher, dass mehrere Fenster gleichzeitig geöffnet werden können und jedes Fenster eine Anwendung oder einen Teil einer geöffneten Anwendung darstellt. Unglücklicherweise kann ein Bildschirm mit zu vielen geöffneten und sich überlappenden Fenstern völlig unübersichtlich werden. Folglich besteht ein Bedürfnis nach einer Technik zum Anzeigen mehrerer zweidimensionaler Fenster in bestimmten Bereichen des Anzeigebildschirmes, so dass die zahlreichen Fenster gleichzeitig betrachtet werden können und damit einem Benutzer gestattet wird, unterschiedliche Fenster zu überwachen und direkt in ihnen zu arbeiten. Die vorliegende Erfindung ist darauf gerichtet, dieses Bedürfnis zu erfüllen.
Darlegung der Erfindung
Kurz zusammengenommen umfasst die Erfindung in einem Aspekt ein Verfahren zum Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm. Das Verfahren enthält Folgendes: Bereitstellen mindestens eines zweidimensionalen Fensters zum Anzeigen auf dem zweidimensionalen Anzeigebildschirm und als Reaktion auf Benutzereingabe Anzeigen des mindestens einen zweidimensionalen Fensters innerhalb des Anzeigebildschirmes in drei Dimensionen.
In einem weiteren Aspekt wird ein Rechneranzeigesystem bereitgestellt, das einen zweidimensionalen Anzeigebildschirm zum Anzeigen eines oder mehrerer Fenster und einen Fensterverwalter enthält, der das Anzeigen des einen oder mehrerer Fenster innerhalb des Anzeigebildschirmes beaufsichtigt. Der Fensterverwalter ist so programmiert, dass er als Reaktion auf Benutzereingabe das mindestens eine zweidimensionale Fenster innerhalb des zweidimensionalen Anzeigebildschirmes in drei Dimensionen anzeigt.
In einem weiteren Aspekt wird ein System zum Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm bereitgestellt. Dieses System enthält Mittel zum Bereitstellen mindestens eines zweidimensionalen Fensters zum Anzeigen auf dem zweidimensionalen Anzeigebildschirm und Mittel, die es dem Benutzer erlauben, das mindestens eine zweidimensionale Fenster festzulegen, das innerhalb des Anzeigebildschirmes als dreidimensionales Fenster angezeigt werden soll.
In noch einem weiteren Aspekt umfasst die Erfindung einen Produktionsartikel, der ein Rechnerprogrammprodukt enthält, das ein rechnerbenutztbares Medium umfasst, das darin rechnerlesbare Programmcodemittel hat, die zum Gebrauch beim Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm dienen. Das rechnerlesbare Programmcodemittel in dem Rechnerprogrammprodukt enthält Folgendes: rechherlesbare Programmcodemittel, mit denen ein Rechner veranlasst wird zu bewirken, dass mindestens ein zweidimensionales Fenster zum Anzeigen auf dem zweidimensionalen Anzeigebildschirm bereitgestellt wird; und rechnerlesbare Programmcodemittel, mit denen ein Rechner veranlasst wird zu bewirken, dass es einem Benutzer erlaubt wird, das mindestens eine zweidimensionale Fenster festzulegen, das innerhalb des zweidimensionalen Anzeigebildschirmes als dreidimensionales Fenster angezeigt werden soll.
Es wird erneut festgestellt, dass diese Erfindung eine Technik bereitstellt, mit der die Datenmenge erweitert wird, die auf einem Rechnermonitor angezeigt wird, ohne dass die physische Größe des Monitors verändert wird, wodurch es einem Rechnerbenutzer gestattet wird, mehr Daten anzusehen und zu überwachen als bei einem standardmäßigen zweidimensionalen Fensteranzeigesystem, das ein Überlappen von Fenstern benutzt. Hier wird eine Technik vorgelegt, um die Informationsmenge zu vergrößern, die auf dem Rechnerbildschirm angezeigt wird, ohne dass die Qualität der angezeigten Information nachlässt.
Üblicherweise zeigen Fensteranzeigesysteme, wie etwa OS/2- Darstellungsverwalter von IBM, das AIX/UNIX-X-Fenstersystem und andere mit Fenstern arbeitende Anzeigesysteme Informationen zweidimensional an, wobei das zuletzt geöffnete Fenster ein vorher geöffnetes Fenster überlagert. Innerhalb dieser Systeme haben Fenster das, was als "Z-Reihenfolge" bezeichnet wird, aber das ist genau die Reihenfolge, in der die Fenster übereinander gestapelt werden.
Menschen sind daran gewöhnt, Informationen in drei Dimensionen zu betrachten. Dies bedeutet, dass der menschliche Verstand Abbilder betrachten kann, die nicht rechtwinklig zur Sichtachse sind und diese Informationen dennoch wirksam verarbeiten kann.
Tatsächliche hängen Menschen zum großen Teil von peripheren Informationen ab, die einen Großteil der Informationen bilden, die wir verarbeiten. Diese Erfindung beschreibt ein Verfahren/System zum Ausnutzen der menschlichen Fähigkeit, nicht rechtwinklige Daten zu betrachten und die Informationen auf wirksame Weise mental zu verarbeiten. Die verstandesmäßige Fähigkeit, auf der Grundlage einer Riesenmenge von Einzelheiten Einzelpositionen zu erkennen, befähigt Menschen, Daten zu verarbeiten, die nicht in einem idealen rechtwinkligen Format vorgelegt werden. Hierin wird eine Technik zum Anzeigen und Handhaben von dreidimensional (3D) projizierten Daten in einem Fensteranzeigesystem beschrieben. Vorteilhafterweise erfordert die vorgeschlagene Technik keine Änderung an einem beliebigen vorhandenen Anwendungsprogramm. Alle für das Anzeigen des Fensters im 3D-Format erforderlichen Veränderungen können in den Fensteranzeigebibliotheken und dem Betriebssystem vorgenommen werden, d. h. innerhalb des Fensterverwalters.
Kurze Beschreibung der Zeichnungen
Die vorstehend beschriebenen Aufgaben, Vorzüge und Merkmale der vorliegenden Erfindung werden ebenso wie Anderes einfacher aus der folgenden ausführlichen Beschreibung bestimmter bevorzugter Ausführungsformen der Erfindung verstanden, wenn sie in Verbindung mit den zugehörigen Zeichnungen betrachtet werden, in denen:
Fig. 1 ein Blockschaltbild eines Datenverarbeitungssystems ist, um dreidimensionale (3D) Fensteranzeigeprinzipien nach der vorliegenden Erfindung zu benutzen;
Fig. 2 eine Veranschaulichung eines Anzeigebildschirmes mit einem darin angezeigten grundlegenden zweidimensionalen (2D) Fenster ist;
Fig. 3 eine Veranschaulichung eines Anzeigebildschirmes ist, der zwei Fenster zeigt, von denen eines das andere nach der üblichen GUI-Überlappungspraxis überlagert;
Fig. 4 eine Veranschaulichung eines Anzeigebildschirmes ist, der mehrere Fenster hat, von denen eines nach den Grundlagen der vorliegenden Erfindung in drei Dimensionen geschwenkt worden ist;
Fig. 5 ein Flussbild ist, das in einem Fensterverwalter nach der vorliegenden Erfindung eingerichtet worden ist, der dafür benutzt wird, ein Fenster zur Anzeige zu erzeugen, und welches das Hinzufügen eines zweidimensionalen/dreidimensionalen (2D/3D) Kennzeichners innerhalb des Fenstersteuerblockes des Fensters zeigt;
Fig. 6 ein Flussbild einer Ausführungsform eines Fensterereignis- Dienstprogrammes nach den Grundlagen der vorliegenden Erfindung ist;
Fig. 7 ein Flussbild einer Ausführungsform eines Tastaturereignis-Dienstprogrammes nach den Grundlagen der vorliegenden Erfindung ist;
Fig. 8a, 8b und 8c ein Flussbild einer Ausführungsform eines Mausereignis-Dienstprogrammes nach den Grundlagen der vorliegenden Erfindung sind;
Fig. 9a ein Flussbild einer Ausführungsform eines Vorganges zum Berechnen des Schwenkwinkels θ nach den Grundlagen der vorliegenden Erfindung zum Umschwenken eines zweidimensionalen Fensterrahmens zum Anzeigen als dreidimensionalen Fensterrahmen ist;
Fig. 9b eine Darstellung des Schwenkwinkels θ ist, der beim Umschwenken eines zweidimensionalen Fensterrahmens zum Anzeigen in drei Dimensionen nach den Grundlagen der vorliegenden Erfindung benutzt wird;
Fig. 10 ein Flussbild einer Ausführungsform eines Darstellereignisvorganges nach den Grundlagen der vorliegenden Erfindung ist;
Fig. 11a und 11b ein Flussbild einer Ausführungsform eines Vorganges zum Erstellen eines 3D-Fensters nach den Grundlagen der vorliegenden Erfindung sind;
Fig. 12a und 12b eine Ausführungsform der Ablaufsteuerung, der mathematischen Matrizen und mathematischer Vorgänge veranschaulichen, die dafür benutzt werden, einen Punkt aus einem zweidimensionalen Fenster auf dem Anzeigebildschirm des Benutzers als dreidimensionalen geschwenkten Punkt nach den Grundlagen der vorliegenden Erfindung darzustellen, wenn sich das Schwenkgelenk an der oberen Kante des Fensters befindet;
Fig. 13a und 13b eine Ausführungsform der Ablaufsteuerung, der mathematischen Matrizen und mathematischer Vorgänge veranschaulichen, die dafür benutzt werden, einen Punkt aus einem zweidimensionalen Fenster auf dem Anzeigebildschirm des Benutzers als dreidimensionalen geschwenkten Punkt darzustellen, wenn sich das Schwenkgelenk an der unteren Kante des Fensters befindet;
Fig. 14a und 14b eine Ausführungsform der Ablaufsteuerung, der mathematischen Matrizen und mathematischer Vorgänge veranschaulichen, die dafür benutzt werden, einen Punkt aus einem zweidimensionalen Fensterrahmen auf dem Anzeigebildschirm des Benutzers als dreidimensionalen geschwenkten Punkt darzustellen, wenn sich das Schwenkgelenk an der rechten Kante des Fensters befindet; und
Fig. 15a und 15b eine Ausführungsform der Ablaufsteuerung, der mathematischen Matrizen und mathematischer Vorgänge veranschaulichen, die dafür benutzt werden, einen Punkt aus einem zweidimensionalen Fensterrahmen auf dem Anzeigebildschirm des Benutzers als dreidimensionalen geschwenkten Punkt darzustellen, wenn sich das Schwenkgelenk an der linken Kante des Fensters befindet.
Optimaler Modus zur Ausführung der Erfindung
Von Bedeutung für die hier beschriebene Erfindung ist die Fähigkeit, mehr Information auf einem Anzeigebildschirm des Benutzers anzuzeigen, ohne dass die physische Größe des Bildschirmes vergrößert wird. Dieses Ziel wird erreicht, indem die Fähigkeit des Anwenders ausgenutzt wird, Objekte auf perspektivische Weise und unter Verwendung einer Dialogverfahrensweise zum Umwandeln zweidimensionaler Fenster in dreidimensionale Anzeige auf dem Anzeigebildschirm zu betrachten.
Ein Beispiel einer Rechenumgebung, welche die Fähigkeiten der vorliegenden Erfindung realisiert und benutzt, Fenster anzuordnen, wird in Fig. 1 dargestellt und nachstehend beschrieben. In Fig. 1 enthält eine Rechenumgebung 100 beispielsweise mindestens eine Zentraleinheit 102, einen Hauptspeicher 104 und ein oder mehrere Eingabe-/Ausgabeeinheiten 106, wie etwa einen Anzeigebildschirm, eine Tastatur und eine Maus zum Benutzerdialog mit Anzeigedaten.
Wie bekannt, ist die Zentraleinheit 102 das Steuerzentrum für Recheneinheit 101 und stellt Reihenfolge- und Verarbeitungseinrichtungen zu Befehlsausführung, Unterbrechungsaktion, Zeitgeberfunktionen, anfänglichem Programmladen und anderen maschinenbezogenen Funktionen bereit. Die Zentraleinheit führt mindestens ein Betriebssystem aus, das wie bekannt dafür benutzt wird, den Betrieb der Recheneinheit dadurch zu steuern, dass die Ausführung anderer Programme die Kommunikation mit peripheren Geräten und der Einsatz von Rechnerbetriebsmitteln gesteuert wird. Mit dem Betriebssystem ist ein Fensterverwalter verbunden, der für einen Benutzer die Anzeige von Informationen auf einem Anzeigebildschirm steuert.
Zentraleinheit 102 ist mit Hauptspeicher 104 verbunden, der direkt adressierbar ist und für Hochgeschwindigkeitsverarbeitung von Daten durch die Zentraleinheit sorgt. Der Hauptspeicher kann entweder physisch mit der CPU vereint oder aus selbständigen Einheiten aufgebaut sein.
Hauptspeicher 104 ist auch mit einem oder mehreren Eingabe-/ Ausgabeeinheiten 106 verbunden. Zu diesen Einheiten gehören beispielsweise ein Anzeigebildschirm, eine Tastatur, eine Zeigevorrichtung, eine Kommunikationssteuerung, ein Fernverarbeitungsgerät, ein Drucker, Magnetspeichermedien (z. B. Band, Platte), Einheiten zum direkten Speicherzugriff und auf Fühlern beruhende Ausrüstung. Daten werden vom Hauptspeicher 104 an Eingabe-/Ausgabeeinheiten 106 und von den Eingabe-/Ausgabeeinheiten zurück zum Hauptspeicher übertragen.
In einem Beispiel ist Rechnerumgebung 100 eine Einzelsystemumgebung, die ein Rechnersystem RS/6000 enthält, das mit einem AIX-Betriebssystem (RS/6000 und AIX werden von International Business Machines Corporation angeboten) läuft. Die Erfindung ist jedoch nicht auf eine derartige Umgebung beschränkt. Die Fähigkeiten der vorliegenden Erfindung können innerhalb vieler Arten von Rechnerumgebungen und vielen Arten von Rechnersystemen realisiert und benutzt werden. Beispielsweise kann Rechnerumgebung 100 jeden beliebigen Tischrechner enthalten, der einen Anzeigebildschirm hat und das Fenstersystem von Microsoft Windows, das Fenstersystem von Apple Macintosh, das Darstellungsverwaltersystem OS/2 von IBM oder eine Vielzahl von X-Fenstersystemen benutzt. Andere Realisierungen sind ebenfalls möglich und werden als Teil der beanspruchten Erfindung betrachtet.
Fig. 2 veranschaulicht ein typisches rechteckiges Fenster 155 innerhalb eines Anzeigebildschirmes 150 einer Rechnerarbeitsstation 140, die ein herkömmliches zweidimensionales (2D) Fenstersystem hat. Bildschirm 150 kann von beliebiger herkömmlicher Art sein, wie etwa eine Katodenstrahlröhrenanzeige (CRT) oder eine Flüssigkristallanzeige (LCD). Wie dem Fachmann allgemein bekannt, wird das auf Bildschirm 150 angezeigte Abbild durch eine Vielzahl einzelner Bildelemente (Pixel) gebildet, die in regelmäßigen Abständen von einander angeordnet sind und die durch ihren horizontalen und vertikalen Versatz x beziehungsweise y vom einem Ursprung gekennzeichnet werden, der hier als die linke untere Ecke von Bildschirm 150 angenommen wird. Obgleich die vorliegende Erfindung nicht auf eine irgendeine bestimmte Auflösung beschränkt ist, kann eine typische Anzeigeauflösung aus 1024 Pixeln horizontal zu 768 Pixeln vertikal bestehen, wobei x in diesem Fall von 0 bis 1023 reicht und y von 0 bis 767 reicht. Jedes Pixel wird je nach einem Helligkeitssignal für dieses Pixel erleuchtet, das üblicherweise ein Farbsignal ist, das einen roten (R), einen grünen (G) und einen blauen (B) Anteil hat. Ein Farbsignal zu 24 Bit kann damit für die drei Grundfarben drei 8- Bit-Komponenten umfassen.
Wie in Fig. 2 gezeigt, besteht in einer allgemeinen Ausführungsform Fenster 155 aus einem rechteckigen Fenster, das seine Kanten parallel zur der x- und y-Achse von Anzeige 150 von Arbeitsstation 140 hat. Es ist anzumerken, dass die Kanten in einem typischen Fensteranzeigesystem nur im x-y-Raum angezeigt werden und kein Attribut für einen z-Raum haben.
Fig. 3 stellt ein neues Fenster 155' dar, das Fenster 155 überlagert, wobei beide innerhalb Anzeigebildschirm 150 von Rechnerarbeitsstation 140 auf übliche Weise anzeigt werden. Wie gezeigt, ist mindestens ein Teil des ursprünglichen Anzeigefensters 155 durch diese Überlagerungstechnik verborgen, wobei neues Fenster 155' vorher geöffnetes Fenster 155 überlagert. Die Lösung für dieses Problem ist vom Ansatz her einfach. Statt der Anschaffung eines größeren Monitors, der einen großen finanziellen Aufwand erfordern würde, ist eine bessere Verfahrensweise zum Ausnutzen des Platzes innerhalb des Anzeigebildschirmes nötig. Damit legt diese Beschreibung eine Technik dar, die Anzahl und Qualität der Fenster zu erhöhen, die in einem Fensteranzeigesystem angezeigt werden, ohne dass irgendeine vorhandene Anwendungsprogrammschnittstelle (API) verändert wird.
Im Allgemeinen gestatten es die derzeitigen Fensteranzeigesysteme dem Benutzer nur, Fenster parallel zu der x- und y-Achse des Anzeigebildschirmes anzuordnen. Menschen sind jedoch gewöhnt, die Welt auf eine andere als diese ebene Weise zu betrachten. Menschen können bei anderen Winkeln Text lesen oder Text anschauen, als sie von denjenigen in derzeitigen Fensteranzeigesystemen zugelassen werden. Beispielsweise könnte ein Benutzer, wie es in Fig. 4 gezeigt wird, den Text in dem geschwenkten Fenster 160 genau so leicht lesen wie in dem waagerechten Fenster 155'.
Das geschwenkte Fenster 160 ergibt sich nach den Grundlagen der vorliegenden Erfindung dadurch, dass es einem Benutzer im Dialog erlaubt wird, ein zweidimensionales Fenster um einen gewünschten Betrag in eine z-Achse des Rechnerbildschirmes zu schwenken. Durch das Verändern des Betrachtungswinkels des Fensters können innerhalb eines Anzeigebildschirmes mit fester Größe 150 der Arbeitsstation 140 mehr Informationen angezeigt werden. Der für ein um die z-Achse gedrehtes Fenster tatsächlich erforderliche Bildschirmplatz ist deutlich geringer als der erforderliche Fensterbereich, wenn es keine Drehung um die z-Achse gibt. Vorteilhafterweise wird der Benutzer, da Menschen üblicherweise dreidimensionale sichtbare Information verarbeiten, das gedrehte Fenster als Fenster in voller Größe wahrnehmen. Damit belegen die hierin vorgelegten um die z-Achse gedrehten Fenster weniger Bildschirmplatz, erscheinen dem Benutzer aber als Fenster in voller Größe.
Üblicherweise funktioniert ein Fenstersystem so, dass es auf einem Fensterbildschirm Informationen anzeigt. Das Fenstersystem kann durch ein Anwendungsprogramm aufgerufen werden, und das Anwendungsprogramm verwaltet über die Benutzung des Fenstersystems eine interne Darstellung des Benutzerfensters auf dem Benutzerbildschirm. Die Daten für das Fenster können als Matrix von Pixeln oder Punkten verwaltet werden, die in einer Steuerdatenstruktur gespeichert sind. Normale Fensterverarbeitung betrifft das übertragen der Pixel in dem Speicherbereich an den Ansichtsbildschirm der Anzeigeeinheit. Sobald der Speicher des Ansichtsbildschirmes aktualisiert worden ist, benutzt die Ansichtshardware die Matrix oder das Bitabbild der Pixel, um auf den Bildschirm des Benutzers ein Abbild anzuzeigen.
Das Einrichten der dreidimensionalen (3D) Fenstertechnik nach den Grundlagen der vorliegenden Erfindung umfasst das Eingreifen in die Datenübertragung eines Fensterabbildes von der Steuerdatenstruktur an den Bildschirmspeicher. Die Umwandlung von zwei in drei Dimensionen erfolgt dann für jeden Punkt des 2D- Fensters. Diese Umwandlung enthält in einem Beispiel Folgendes:
  • 1. Übersetzen des zweidimensionalen Punktes auf den Ursprungspunkt auf der Grundlage seiner Nähe zum Mittelpunkt des Fensterrahmens, der als Drehachse benutzt wird;
  • 2. Drehen des Punktes um die x- oder y-Achse in den z-Raum mit einem Winkel θ als Drehungsbetrag;
  • 3. Erhalt der perspektivischen Ansicht des Fensters auf der Grundlage eines vorgegebenen Benutzerabstandes (z. B. ungefähr 17 Zoll bzw. 43 cm) vom Bildschirm, wobei der perspektivische Punkt auf der z-Achse liegt und sich die z-Achse vom Mittelpunkt des Betrachtungsbildschirmes aus erstreckt; und
  • 4. Übersetzen des zweidimensionalen perspektivischen Punktes dahin zurück, wo das zweidimensionale Fenster auf dem Bildschirm angeordnet war.
Sobald alle Punkte für ein Fenster verarbeitet worden sind, ist ein neues zweidimensionales Bitabbild des Fensters erzeugt worden, das eine perspektivische Ansicht des dreidimensionalen gedrehten Fensters enthält. Das neue zweidimensionale Bitabbild ist kleiner als das Original und nimmt damit weniger Bildschirmplatz ein.
Fenster, die nachfolgend als dreidimensionales Fenster angezeigt werden, stellen mehr Informationen dar, weil das dreidimensional geschwenkte Fenster nicht so viel Bildschirmplatz einnimmt. Es werden alle Tastatur- und Mausereignisse verarbeitet, indem die Ereignisse der vorhandenen zweidimensionalen Verarbeitung übergeben werden. Die zweidimensionale Verarbeitung wird dann den zweidimensionalen Bildschirm verändern, so dass er die Aktualisierungen aus der Mausbewegung oder Tastaturereignissen enthält. Die Veränderungen an dem zweidimensionalen Bildschirm werden durch den Umwandlungsvorgang von zwei Dimensionen in drei Dimensionen verarbeitet, der hiernach weiterhin beschrieben wird, und die Maus- und/oder Tastaturereignisse werden auf der Anzeige in perspektivischem 3D-Format gezeigt.
Der aktuelle Standard für Fensteranzeigesysteme besteht entweder darin, eine Zeigevorrichtung zu benutzen, wie etwa eine Maus, um ein Fenster in seiner Größe einzustellen, oder das Hauptsteuerfeld für ein Fenster herunterzuklappen und die Option "Größe" zu wählen, um eine Fenstergröße einzustellen. Die vorliegende Erfindung könnte auf verschiedenen Wegen realisiert werden. Beispielsweise könnte die Erfindung realisiert werden, indem die vorhandene Option "Größe" im Hauptsteuerfeld erweitert würde, so dass sie eine Größeneinstellung in der z-Achse ebenso wie die Größeneinstellung in vorhandener (x,y)-Achse enthielte. Andernfalls könnte die vorliegende Erfindung realisiert werden, indem die derzeitige Ziehtechnik zur Größeneinstellung des Fensters in der x,y-Ebene um eine dreidimensionale Ziehfunktion erweitert würde. Beispielsweise ist es durch Drücken beider Maustasten (üblicherweise als "dritte Maustaste" bekannt) und Ziehen einer Fensterkante möglich, die Ausrichtung eines Fensters in z-Richtung zu verändern. Es ist diese letztere Realisierung, die hier nachstehend als eine ausführliche Ausführungsform der vorliegenden Erfindung vorgelegt wird. Der Fachmann wird jedoch erkennen, dass andere Realisierungen möglich sind, ohne dass vom Umfang der beanspruchten Erfindung abgewichen wird.
Fig. 5 stellt ein Flussbild einer Ausführungsform einer Fenstererzeugungsroutine 200 dar, wobei das Fenster unter Verwendung vorhandener Software erzeugt wird, die für Fenstererzeugung 210 erforderlich ist. Da nach der vorliegenden Erfindung ein Fenster entweder ein zweidimensionales Fenster oder ein dreidimensionales geschwenktes Fenster sein kann, ist der Steuerblock für das Fenster verändert worden, so dass er einen Anzeiger dafür enthält, ob das neu erzeugte Fenster ein zweidimensionales Fenster oder ein dreidimensionales Fenster ist. Dieser Anzeiger wird im Fenstersteuerblock für das zu erzeugende Fenster 220 gesetzt. Sobald das Fenster erzeugt worden ist, geht die Verarbeitung zur aufrufenden Anwendung 230 zurück.
Fig. 6 stellt eine Fensterereignisdienstroutine 240 dar, von der wiederum angenommen wird, das sie innerhalb des Fensterverwalters eingerichtet worden ist. Das Betriebssystem würde einen ähnlichen parallelen Ereignisvorgang zur Realisierung immer dann haben, wenn auf dem System ein Ereignis eintritt. Vorgang 240 beginnt damit, dass abgefragt wird, ob das Ereignis ein Tastaturereignis 250 ist, und wenn dies der Fall ist, ruft die Verarbeitung eine Tastaturereignisroutine 260 auf, deren eine Ausführungsform nachstehend unter Bezugnahme auf Fig. 7 beschrieben wird. Wenn das Ereignis kein Tastaturereignis ist, fragt die Verarbeitung ab, ob das Ereignis ein Mausereignis 270 ist, und wenn dies so ist, wird eine Mausereignisroutine 280 aufgerufen. Eine Ausführungsform einer Mausereignisverarbeitung nach den Grundlagen der vorliegenden Erfindung wird in Fig. 8a bis 8c vorgelegt. Wenn das Ereignis kein Mausereignis ist, ermittelt die Verarbeitung, ob das Ereignis ein Darstellereignis 290 ist. (Wie es sich für den Fachmann versteht, wird mit einem Darstellereignis das Anzeigen eines Fensters oder das Auffrischen des Fensters bezeichnet.) Wenn dies der Fall ist, wird eine Darstellereignisroutine 300 aufgerufen. Eine Ausführungsform der Darstellereignisroutine ist in Fig. 10 bis 15b dargestellt und wird nachstehend beschrieben.
Wenn das Ereignis aus anderen als einem Tastaturereignis, Mausereignis oder Darstellereignis besteht, wird die übliche Ereignisverarbeitung unter Verwendung vorhandener Systemsoftware 310 durchgeführt, d. h., es gibt hinsichtlich der Erfindung keine Veränderungen an der Ereignisverarbeitung, die anderweitig durchgeführt wird. Sobald in das Tastaturereignis, Mausereignis oder Darstellereignis wie nachstehend beschrieben eingegriffen worden ist und sie verarbeitet worden sind, geht der Verarbeitungsverlauf zurück zum Aufrufpunkt 320.
Fig. 7 stellt einen Tastaturereignisdienst 330 nach den Grundlagen der vorliegenden Erfindung dar. Wenn das Ereignis aus einem Tastaturereignis besteht, wird das Ereignis unter Verwendung der innerhalb des Fensterverwalters 340 vorhandenen Tastaturereignisverarbeitung des Fenstersystems verarbeitet. Nach dem Verarbeiten des Ereignisses wird eine Festlegung vorgenommen, ob der 3D-Fensteranzeiger für das Fenster gesetzt wird, das von der Tastatur 350 bearbeitet wird. Das Fenster, das von der Tastatur bearbeitet wird, umfasst dasjenige Fenster des Anzeigebildschirmes, bei dem das Tastaturereignis eintritt. Wenn für dieses Fenster der 3D-Anzeiger gesetzt wird, wird für das Fenster ein Darstellereignis zum Anzeigen in drei Dimensionen 360 eingeplant. Nachdem das 3D-Fenster dargestellt worden ist, oder wenn der 3D-Anzeiger nicht gesetzt worden ist, geht die Verarbeitung zurück zum Aufrufer 370.
Fig. 8a bis 8c stellen einen Mausereignisdienst 380 nach den Grundlagen der vorliegenden Erfindung dar. Anfänglich ermittelt die Verarbeitung, ob das Mausereignis es umfasst, dass die dritte Maustaste gedrückt ist 390, und wenn dies nicht der Fall ist, wird die normale Mausverarbeitung 400 innerhalb des Fensterverwalters durchgeführt. Wenn die dritte Maustaste gedrückt ist, ermittelt die Verarbeitung, ob die dritte Maustaste gedrückt wurde, ohne dass der Benutzer die Maus 410 zieht, und wenn dies so ist, ob sich der Mauszeiger an einer Fensterbegrenzung 420 befindet. Wenn dies nicht der Fall ist, wird das Mausereignis unter Verwendung der vorhandenen Fensterverwaltersoftware 570 (Fig. 8c) verarbeitet, und der Vorgang geht zurück zum Aufrufpunkt 580.
Wenn sich der Mauszeiger auf einer Fensterbegrenzung befindet, die hierin auch als Fensterrahmenkante bezeichnet wird, fragt die Verarbeitung ab, ob das Fenster schon ein 3D-Fenster 430 ist. Wenn das Fenster schon ein 3D-Fenster ist, können Vorkehrungen getroffen werden, die eine zusätzliche Schwenkung von Fenster 440 erlauben, oder andernfalls könnte ein Fehlercode gesetzt werden, um anzuzeigen, dass mehrere Schwenkungen nicht unterstützt werden. Obgleich dies hierin nicht ausführlich beschrieben wird, wird für den Fachmann das Realisieren von mehreren 3D- Schwenkungen auf der Grundlage der hierin bereitgestellten Beschreibung und bekannter grafischer und 3D-Abbildungstechniken als einfach angesehen. (Siehe z. B. Foley und Van Dam, Computer Graphics: Principles and Practice, einer Addison-Wesley- Veröffentlichung aus der Reihe Systems Programming (1990).)
Wenn angenommen wird, dass das Fenster noch kein 3D-Fenster ist, werden die Mauszeigerkoordinaten im Fenstersteuerblock als die Koordinaten für den Schwenkbeginn gespeichert, und die gegenüberliegende Kante der Fensterrahmenkante, die einen Schnittpunkt mit der Maus hat, wird als Standort des Gelenkes zum Umklappen des zweidimensionalen Fensters in eine dreidimensionale Darstellung gespeichert, wie nachstehend 450 beschrieben. Danach wird das Mausereignis unter Verwendung der vorhandenen Fensterverwaltersoftware 570 (Fig. 8c) verarbeitet, und der Vorgang geht zum Aufrufpunkt 580 zurück.
Wenn sich bei Anfrage 410 "nein" ergibt, ermittelt die Verarbeitung, ob der Benutzer die Maus mit gedrückter dritter Maustaste 460 (Fig. 8b) gezogen hat. Wenn dies der Fall ist, wird eine Abfrage vorgenommen, ob das Fenster schon ein 3D-Fenster 470 ist. Wenn das Fenster schon in drei Dimensionen angezeigt wird, wird das Verarbeiten von mehreren Schwenkungen 480 realisiert, oder andernfalls könnte wie vorstehend beschrieben ein Fehlercode ausgegeben werden. Unter der Annahme, dass sich das betreffende Fenster in zwei Dimensionen befindet, wird ein Protokoll des 3D- Fensterrahmens 490 gezeichnet. Beispielsweise kann, wenn durch einen Benutzer die Maus gezogen worden ist, das 3D-Protokoll des Fensters als Reaktion auf die Bewegung der Maus wie nachstehend erklärt angezeigt werden. Nach dem Umreißen des 3D-Fensters, oder wenn das betreffende Fenster sich schon im 3D-Format befindet, nach dem Realisieren mehrerer Schwenkungen, wird das Mausereignis unter Verwendung vorhandener Software 570 (Fig. 8c) verarbeitet, und die Steuerung geht zurück zum Aufrufer 580.
Wenn das Mausereignis das Loslassen der dritten Maustaste umfasst, ermittelt die Verarbeitung aus Abfrage 500, ob das betreffende Fenster sich schon in drei Dimensionen 510 befindet, und wenn sich "ja" ergibt, realisiert sie mehrere Schwenkverarbeitungen oder gibt wie vorstehend beschrieben einen Fehlercode 520 aus. Das Mausereignis wird dann unter Verwendung vorhandener Software 570 (Fig. 8c) verarbeitet. Wenn angenommen wird, dass das betreffende Fenster sich in zwei Dimensionen befindet und dass es in drei Dimensionen umgewandelt werden soll, wird durch Aufrufen einer θ-Berechnungsroutine 530 ein Schwenkwinkel θ berechnet. Wie nachstehend weiter beschrieben wird, umfasst Winkel θ in einer Ausführungsform den Schwenkwinkel, der den Winkel definiert, mit dem das zweidimensionale Fenster so projiziert werden soll, dass es in Bezug auf eine ebene zweidimensionale Darstellung des Fensters als dreidimensional erscheint. Die θ-Berechnungsroutine wird nachstehend weiter unter Bezugnahme auf Fig. 9a und 9b beschrieben.
Wenn mit Fig. 8b fortgefahren wird, bringt nach dem Berechnen des Schwenkwinkels θ die Verarbeitung den Winkel θ im Fenstersteuerblock für den Fensterrahmen 540 unter und markiert im Fenstersteuerblock das Fenster als 3D-Fenster 550. Danach wird ein Darstellereignis für das Fenster 560 eingeplant, und das Ergebnis des Mausereignisses wird nach der vorhandenen Software 570 verarbeitet, wonach eine Rückkehr zum Aufrufer 580 erfolgt.
Fig. 9a und 9b stellen eine Ausführungsform eines Vorganges zum Berechnen von Winkel θ 600 dar. Allgemein angegeben wird Winkel θ unter Verwendung der Strecke, um die ein Benutzer eine Maus bewegt, und entsprechend der Größe des betroffenen Fensters über trigonometrische Funktionen berechnet. Unter Bezugnahme auf Fig. 9b wird eine Länge, a' als die Länge ermittelt, um welche die Maus bewegt wurde, und sie wird als die Länge der dem rechten Winkel gegenüberliegenden Seite in einem rechtwinkligen Dreieck benutzt, das sich aus der Ebene des Anzeigebildschirmes 610 in den z-Raum erstreckt. Der Anzeigebildschirm kann als in einer Ebene mit Kante b des in Fig. 9b dargestellten Dreieckes gedacht werden. Es ist anzumerken, dass Länge a durch den Betrag der Strecke ermittelt wird, um den die Maus durch den Benutzer gezogen wird, wobei die Richtung keine Rolle spielt.
Als Nächstes wird der Mittelpunkt der Fensterkante ermittelt, die der Schwenkrahmenkante 620 gegenüberliegt. Die Schwenkrahmenkante umfasst diejenige Kante des Fensterrahmens, die der Benutzer ausgewählt hat. Beispielsweise wird in Fig. 9b angenommen, dass der Benutzer die rechte Rahmenkante eines in der Ebene von Linie b angezeigten zweidimensionalen Fensters auswählt, so dass die gegenüberliegende Rahmenkante eines zweidimensionalen Fensters eine Kante umfasst, die durch Punkt A geht. Dieser Punkt A wird als der Punkt in dem spitzen Winkel des rechtwinkligen Dreieckes (Fig. 9b) benutzt, bei dem sich θ an Punkt A befindet und die A gegenüberliegende Seite a ist. Als Nächstes wird die Seite b des Schwenkdreieckes als Breite des Fensterrahmens gesetzt, wenn das Fenster um die rechte oder linke Kante schwenkt, oder als Höhe des Fensterrahmens gesetzt, wenn das Fenster um die obere oder untere Kante 630 schwenkt. Die Formel θ = arc tan (a/b) wird benutzt, um den Schwenkwinkel θ zu berechnen.
Fig. 10 stellt eine Ausführungsform der Darstellereignisverarbeitung 660 nach den Grundlagen der vorliegenden Erfindung dar. Diese Subroutine verarbeitet Darstellereignisse aus dem Systemverwalter, die das Fenster betreffen. Die Darstellereignis-Subroutine befindet sich dort, wo ein Großteil der vorliegenden Erfindung für die 3D- Fensterdarstellung realisiert worden ist. Anfänglich wird das Darstellereignis unter Verwendung vorhandener zweidimensionaler Fenstersystemsoftware 670 verarbeitet, wonach die Verarbeitung ermittelt, ob das Fenster als 3D-Fenster 680 angezeigt werden soll. Wenn dies der Fall ist, ruft die Verarbeitung eine Subroutine zum Erstellen eines 3D-Fensters auf, damit auf dem Benutzerbildschirm 690 das 3D-Fenster dargestellt wird. Eine Ausführungsform der Subroutine für das Erstellen des 3D-Fensters wird in Fig. 11a und 11b gezeigt und wird nachstehend beschrieben. Nach dem Erstellen des 3D-Fensters ermittelt die Verarbeitung, ob sich der Mauszeiger innerhalb der Begrenzung des 3D-Fensters 700 befindet. Wenn sich "ja" ergibt, wird zum Erstellen des Mauszeigers innerhalb des 3D-Fensters 710 die Routine in der vorstehend als Bezugsquelle eingeschlossenen, gleichfalls eingereichten und gemeinsam übertragenen US- Patentanmeldung mit dem Titel "Display Of Pointing Indicator Within Two-Dimensional Window Displayed In Three Dimensions On A Computer Screen" dafür benutzt, den Mauszeiger innerhalb des 3D- Fensters 710 zu Erstellen. Nach dem Erstellen des Mauszeigers innerhalb des 3D-Fensters oder wenn sich der Mauszeiger außerhalb des 3D-Fensters befindet, kehrt die Verarbeitung dann zur aufrufenden Anwendung 720 zurück.
Eine Ausführungsform von Verarbeitung 730 zum Erstellen eines 3D- Fensters nach der vorliegenden Erfindung wird in Fig. 11a und 11b dargestellt. Das Verarbeiten beginnt mit dem Einrichten der Adressierbarkeit im Zwischenspeicherbereich 740 für das zweidimensionale und das dreidimensionale Fenster, was Speicherbereiche umfasst, welche die Bitabbilder für das Vorher- und Nachher-Abbilden des zu verarbeitenden Fensters enthalten werden. Die Verarbeitung für das Erstellen des 3D-Fensters läuft auf einer Schleife um, die mit Anfrage 750 beginnt, die ermittelt, ob alle Punkte in dem zweidimensionalen Zwischenspeicher nun verarbeitet worden sind. Wenn sich "ja" ergibt, wird die vorhandene Systemsoftware dafür benutzt, ein Darstellereignis an alle Fenster zu schicken, welche die zweidimensionale Darstellung von Fenster 840 überlagern, wonach das dreidimensionale Fenster auf dem Betrachtungsbildschirm 850 angezeigt wird und die Verarbeitung zur aufrufenden Anwendung 860 zurückkehrt. Durch das Einplanen eines Darstellereignisses für alle Fenster, die das aktuelle Fenster überlappt haben, wird sichergestellt, dass der gesamte verfügbare Bildschirmplatz durch die darunterliegenden Fenster ausgenutzt wird. Die perspektivische Ansicht des betreffenden Fensterrahmens wird es gestatten, dass darunterliegende Fenster auf dem Anzeigebildschirm besser sichtbar erscheinen.
Unter der Annahme, dass alle Punkte in dem zweidimensionalen Fensterspeicher nicht verarbeitet worden sind, wird dann in die Hauptschleife eingetreten, und die Verarbeitung ermittelt, ob das Schwenkgelenk des Fensters aus einer Rahmenoberkante 760, einer Rahmenunterkante 780, einer rechten Rahmenkante 800 oder einer linken Rahmenkante besteht. Wenn das Schwenkgelenk aus einer Rahmenoberkante besteht, wird ein Aufruf der Subroutine vorgenommen, um die Position des oberen Punktes für eine Schwenkung um das obere Gelenk zu berechnen. Diese Verarbeitung ist in Fig. 12a und 12b dargestellt und wird nachstehend weiter beschrieben. Ein analoger Vorgang wird in Abhängigkeit davon durchgeführt, ob das Schwenkgelenk aus der Rahmenunterkante, der rechten Rahmenkante oder linken Rahmenkante des rechteckigen Fensterrahmens besteht. Wenn das Gelenk aus der Rahmenunterkante besteht, wird eine Routine zum Berechnen der Position des unteren Punktes 790 aufgerufen; wenn das Schwenkgelenk aus der rechten Rahmenkante besteht, wird eine Subroutine 810 zum Berechnen der Position des rechten Punktes aufgerufen; oder wenn das Schwenkgelenk aus der linken Rahmenkante besteht, wird eine Subroutine 820 zum Berechnen der Position des linken Punktes aufgerufen. Ausführungsformen der Berechnungsroutine für die Position des unteren Punktes, der Berechnungsroutine für die Position des rechten Punktes und der Berechnungsroutine für die Position des linken Punktes werden in Fig. 13a und 13b, 14a und 14b beziehungsweise 15a und 15b dargestellt.
Und noch einmal besteht das Ziel der Subroutine zum Erstellen des 3D-Fensters darin, jeden einzelnen der 2D-Punkte zu nehmen und einen mathematischen Vorgang zu benutzen, um ein 3D-Fenster aufzubauen, das in den z-Raum des Anzeigebildschirmes geschwenkt worden ist, und dann zu seiner Betrachtung eine perspektivische Ansicht zu benutzen. Diese perspektivische Ansicht des Fensters wird auf den Standort übersetzt, den das Fenster vor dem mathematischen Vorgang innehatte. Das Ziel der Subroutine zum 3D- Erstellen besteht darin, jeden einzelnen der 2D-Punkte einzeln zu verarbeiten. Nachdem jeder einzelne dieser Punkte übersetzt worden ist, kopiert die Verarbeitung die Attribute für das 2D(x,y)-System in 3D(x,y)-Koordinaten, die von der Subroutine 830 zurückgeschickt werden. Wiederum wiederholt sich der Vorgang für jeden Punkt, d. h. jedes Pixel in dem 2D-Fensterrahmen.
Fig. 12a und 12b stellen eine Ausführungsform zum Festlegen der Position des oberen Schwenkgelenkes eines Punktes 900 dar. Das Verarbeiten beginnt mit dem Setzen der 2D-Übersetzung der Achsenmatrix Tz auf den Mittelpunkt der Oberkante von Fenster 910 (wobei die mathematische Matrix Tz rechts von Befehl 910 gezeigt wird). Es ist anzumerken, dass Rückübersetzung vom Ursprung in der Routine später realisiert wird. Als Nächstes wird die 3D- Übersetzung der Achsenmatrix Td auf den Umkehrwert des Mittelpunktes der Rahmenoberkante von Fenster 920 gesetzt (wobei die mathematische Matrix Td rechts von Befehl 920 in Fig. 12a gezeigt wird). Die Matrix Rx(t) wird auf die nach rechts erfolgende Drehung um die x-Achse 930 gesetzt (wobei die mathematische Matrix Rx(t) rechts von Befehl 930 dargestellt wird).
Als Nächstes wird ein Matrixmultipliziervorgang vorgenommen, um die Koordinaten 940 des neuen Punktes zu erhalten, wie es in Fig. 12b gezeigt wird. Die Werte xp, yp werden dann in 950 berechnet. Diese Werte stellen den Schnittpunkt des projizierten Punktes [x1, y1, z1, 1] und des Anzeigemonitors des Benutzers dar, wenn "D" Pixel aus der Anzeige betrachtet werden. In einem Beispiel wird "D" als ungefähr 17 Zoll bzw. 43 cm angenommen. Der Punkt xp, yp wird dann zurück in den 2D-Raum auf den Bildschirmstandort des ursprünglichen Fensters 960 übersetzt, und der übersetzte Punkt (xpt, ypt) wird bei 970 zurückgeschickt.
Wenn ein Schwenken um das untere Gelenk 980 berechnet werden soll, wird die Routine von Fig. 13a und 13b realisiert. Dieser Vorgang ist im Allgemeinen analog zu der vorstehend beschriebenen und in Fig. 12a und 12b dargestellten Routine. Bei der Verarbeitung der Fig. 13a und 13b wird die 2D-Übersetzung der Achsenmatrix Tz auf den Mittelpunkt der Rahmenunterkante des Fensterrahmens 990 gelegt (wobei Matrix Tz rechts von Befehl 990 dargestellt ist). Als Nächstes wird die 3D-Übersetzung der Achsenmatrix Td auf den Umkehrwert des Mittelpunktes der Unterkante des Fensterrahmens 1000 gesetzt (wobei die mathematische Matrix Td rechts von Befehl 1000 gezeigt wird). Als Nächstes wird die Matrix Rx(t) auf Drehung nach rechts um die x- Achse des Fensterrahmens 1010 eingestellt (wobei Matrix Rx(t) rechts von Befehl 1010 gezeigt wird).
Ein Matrixmultipliziervorgang wird dann ausgeführt, um die Koordinaten des neuen Punktes [x1, y1, z1, 1] 1020 zu erhalten. Die Werte (xp, yp) werden als repräsentativ für den Schnittpunkt des projizierten Punktes [x1, y1, z1, 1] mit dem Anzeigemonitor des Benutzers berechnet, wenn "D" Pixel des Anzeigebildschirmes 1030 betrachtet werden. Der Punkt (xp, yp) wird zurück in den 2D- Raum auf den Bildschirmstandort des das ursprüngliche Fenster definierenden Punktes [xpt, ypt, 1] 1040 übersetzt. Dieser übersetzte Punkt (xpt, ypt) wird dann bei 1050 zurückgeschickt.
Fig. 14a und 14b stellen eine Routine für das Schwenken eines 2D- Fensters in eine 3D-Anzeige 1060 um ein rechtes Gelenk dar. Die Verarbeitung gleicht wieder der vorstehend beschriebenen. Zuerst wird eine 2D-Übersetzung der Achsenmatrix Tz auf den Mittelpunkt der rechten Rahmenkante des Fensters 1070 gelegt (wobei die mathematische Matrix Tz rechts von Befehl 1070 gezeigt wird). Als Nächstes wird die 3D-Übersetzung der Achsenmatrix Td auf den Umkehrwert des Mittelpunktes der rechten Rahmenkante des Fensters 1080 gesetzt (wobei Matrix Td rechts von Befehl von 1080 gezeigt wird). Als Nächstes wird die Matrix Ry(t) auf Drehung nach rechts um die y-Achse 1090 eingestellt (wobei die mathematische Matrix Ry(t) rechts gezeigt wird).
Ein Matrixmultipliziervorgang wird dann durchgeführt, um die Koordinaten des neuen Punktes [x1, y1, z1, 1] 1100 zu erhalten. Die Werte xp, yp werden dann so berechnet, dass sie den Schnittpunkt des projizierten Punktes (x1, y1, z1, 1) und des Anzeigemonitors des Benutzers darstellen, wenn "D" Pixel der Anzeige 1110 betrachtet werden. Der Punkt xp, yp wird als Nächstes zurück in den 2D-Raum auf den Bildschirmstandort des ursprünglichen Fensters 1020 übersetzt, wobei Punkte xpt, ypt erzeugt werden, die bei 1130 zurückgeschickt werden.
Fig. 15a und 15b stellen eine Routine zum Umwandeln eines Punktes aus einem 2D-Fenster in eine 3D-Darstellung dar, wobei ein Schwenkvorgang um ein linkes Gelenk des 2D-Fensters 1140 eintritt. Das Verarbeiten beginnt mit dem Einstellen einer 2D- Übersetzung der Achsenmatrix Tz auf den Mittelpunkt der linken Rahmenkante des Fensters 1150 (wobei die mathematische Matrix recht von Befehl 1150 gezeigt wird). Eine 3D-Übersetzung der Achsenmatrix Td wird auf den Umkehrwert des Mittelpunktes der linken Rahmenkante von Fenster 1160 gesetzt (wobei die mathematische Matrix rechts von Befehl 1160 gezeigt wird). Als Nächstes wird Matrix Ry(t) auf eine Drehung nach rechts um die y- Achse 1170 gesetzt (wobei die Matrix Ry(t) rechts von Befehl 1170 gezeigt wird).
Ein mathematischer Multipliziervorgang wird durchgeführt, um Koordinaten des neuen Punktes [x1, y1, z1, 1] 1180 zu erhalten. Die Werte xp, yp werden so berechnet, dass sie den Schnittpunkt des projizierten Punktes [x1, y1, z1, 1] und des Anzeigemonitors des Benutzers darstellen, wenn "D" Pixel des Anzeigebildschirmes 1190 betrachtet werden. Der Punkt xp, yp wird als Nächstes zurück in den 2D-Raum auf den Bildschirmstandort des ursprünglichen Fensters 1200 rückübersetzt, und der sich ergebende Punkt (xpt, ypt) wird bei 1210 zurückgeschickt.
Der Fachmann wird aus der vorstehenden Beschreibung vermerken, dass die vorliegende Erfindung beispielsweise in einem Produktionsartikel enthalten sein kann (z. B. einem oder mehreren Rechnerprogrammprodukten), die beispielsweise rechnerbenutzbare Medien haben. Dieses Medium hat darin beispielsweise rechnerlesbare Programmcodemittel zum Bereitstellen und Nutzen der Fähigkeiten der vorliegenden Erfindung verkörpert. Die Produktionsartikel können als Teil eines Rechnersystems inbegriffen sein oder getrennt verkauft werden.
Zusätzlich kann mindestens eine maschinenlesbares Programmspeichereinheit, die real mindestens ein Programm von Befehlen verkörpert, die maschinenausführbar sind, zum Ausführen der Fertigkeiten der vorliegenden Erfindung bereitgestellt werden.
Die hierin dargestellten Flussbilder werden im Sinne von Beispielen bereitgestellt. Es kann Veränderungen an diesen Bildern oder den hierin beschriebenen Schritten (oder Vorgängen) geben, ohne dass vom Sinn der Erfindung abgewichen wird. Beispielsweise können in bestimmten Fällen die Schritte in unterschiedlicher Reihenfolge ausgeführt werden, oder es können Schritte hinzugefügt, gelöscht oder verändert werden. Alle diese Veränderungen werden so betrachtet, dass sie einen Teil der vorliegenden Erfindung bilden, wie sie in den anhängenden Ansprüchen vorgetragen wird.
Weiterhin ist klar, dass, obwohl das Verfahren des Anmelders zum Verwalten und Anzeigen eines 3D-Fensters grundsätzlich unter Verwendung von Software beschrieben worden ist, dass Hardwarebeschleuniger, wie etwa Anzeigebeschleunigungsadapter, die hierin beschriebenen Verfahren realisieren könnten, z. B. in einem Hardware-Coprozessor, der sich auf der Anzeigebeschleunigerkarte selbst befindet. Andere Mittel von Hardware-Beschleunigung, die einem Anzeigebeschleuniger gleichen, könnten vom Fachmann realisiert werden, und derartige Realisierungen sind auf diese Anmeldung anwendbar.
Obwohl die Erfindung hierin ausführlich nach bestimmten bevorzugten Ausführungsformen davon beschrieben worden ist, können vom Fachmann daran viele Modifizierungen und Veränderungen vorgenommen werden. Demnach ist beabsichtigt, mit den anhängenden Ansprüchen alle derartigen Modifizierungen und Veränderungen derart einzubeziehen, dass sie unter den eigentlichen Sinn und Umfang der Erfindung fallen.

Claims (46)

1. Verfahren zum Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm, wobei das Verfahren Folgendes umfasst:
Bereitstellen von mindestens einem zweidimensionalen Fenster auf dem zweidimensionalen Bildschirm; und
als Reaktion auf eine Benutzereingabe Anzeigen des mindestens einen zweidimensionalen Fensters innerhalb des zweidimensionalen Anzeigebildschirmes in drei Dimensionen.
2. Verfahren nach Anspruch 1, das weiterhin umfasst, dass es einem Benutzer gestattet ist, im Dialog das mindestens eine zweidimensionale Fenster zum Anzeigen in den drei Dimensionen innerhalb des zweidimensionalen Anzeigebildschirmes festzulegen.
3. Verfahren nach Anspruch 2, wobei diese Erlaubnis das Erzeugen eines Hinweiszeigers auf dem Anzeigebildschirm, der einem aktuell sichtbaren zweidimensionalen Fenster überlagert wird, wobei dieser Hinweiszeiger mit einer Zeigevorrichtung zum Bewegen des Hinweiszeigers als Reaktion auf das Manipulieren durch den Benutzer verbunden ist, und das Verändern des aktuell sichtbaren zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster umfasst, das als Reaktion auf die Benutzermanipulation des Hinweiszeigers erfolgt.
4. Verfahren nach Anspruch 3, wobei das Verändern des aktuell sichtbaren zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster das Schwenken des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige als Reaktion auf die Auswahl einer Rahmenkante des zweidimensionalen Fensters mit dem Hinweiszeiger durch den Benutzer umfasst.
5. Verfahren nach Anspruch 4, wobei das Umschwenken das Umschwenken des zweidimensionalen Fensters zum Anzeigen eines dreidimensionalen Fensters durch Umklappen des zweidimensionalen Fensters an einer Rahmenkante umfasst, die der einen Rahmenkante gegenüberliegt, die von dem Benutzer unter Verwendung des Hinweiszeigers ausgewählt worden ist.
6. Verfahren nach Anspruch 5, wobei das Schwenken das Umschwenken des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige unter Verwendung eines Schwenkwinkels umfasst, der durch einen Betrag bestimmt wird, mit welcher der Benutzer den Hinweiszeiger handhabt.
7. Verfahren nach Anspruch 6, wobei der Hinweiszeiger aus einem Positionszeiger besteht, wobei die Zeigeeinrichtung aus einer Maus besteht und sich der Umschwenkwinkel des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige auf den Betrag bezieht, mit welcher der Benutzer der Maus diese nach der Auswahl einer Rahmenkante des zweidimensionalen Fensters verschiebt.
8. Verfahren nach Anspruch 4, wobei die Zeigevorrichtung eine Maus umfasst und die Benutzerauswahl einer Rahmenkante des zweidimensionalen Fensters das Drücken einer dritten Maustaste der Maus umfasst, wobei der Hinweiszeiger auf die eine Rahmenkante des zweidimensionalen Fensters zeigt.
9. Verfahren nach Anspruch 2, wobei die Erlaubnis das Festlegen eines Drehpunktes, um den das mindestens eine zweidimensionale Fenster sich zur dreidimensionalen Anzeige drehen soll, und das Übersetzen des Drehpunktes vor dem Drehen des zweidimensionalen Fensters in die dreidimensionale. Anzeige zu einem Mittelpunkt des zweidimensionalen Anzeigebildschirmes umfasst, wonach das Drehen des zweidimensionalen Fensters in die dreidimensionale Anzeige und das Übersetzen der dreidimensionalen Anzeige zurück zu einem ursprünglichen Standort des zweidimensionalen Fensters innerhalb des zweidimensionalen Anzeigebildschirmes erfolgt.
10. Verfahren nach Anspruch 2, wobei das mindestens eine zweidimensionale Fenster mehrere zweidimensionale Fenster umfasst und wobei die Erlaubnis es umfasst, dass der Benutzer im Dialog mindestens einige Fenster der mehreren zweidimensionalen Fenster zum Anzeigen in drei Dimensionen festlegen darf, so dass die mehreren zweidimensionalen Fenster gleichzeitig ohne Überlapppen innerhalb des zweidimensionalen Anzeigebildschirmes angezeigt werden können.
11. Verfahren nach Anspruch 1, das weiterhin das Realisieren des Verfahrens innerhalb eines Fensterverwalters eines Rechnersystems umfasst, das den zweidimensionalen Anzeigebildschirm umfasst, wobei das Realisieren des Verfahrens innerhalb des Fensterverwalters des Rechnersystems einem Anwendungsvorgang transparent ist, der auf dem Rechnersystem läuft.
12. Verfahren nach Anspruch 1, wobei das Anzeigen für jedes Fenster mindestens ein zweidimensionales Fenster umfasst, wobei sich das Fenster um eine Rahmenkante des Fensters dreht, um das Fenster von zwei Dimensionen in die drei Dimensionen umzuwandeln.
13. Verfahren nach Anspruch 12, das weiterhin die Erlaubnis für einen Benutzer umfasst, das Drehen des Fensters um die Rahmenkante des Fensters im Dialog zu steuern und dadurch einen Drehwinkel des zweidimensionalen Fensters in die drei Dimensionen festzulegen.
14. Verfahren nach Anspruch 1, wobei jedes Fenster der mindestens einen zweidimensionalen Fenster ein Vielzahl von Punkten umfasst, und wobei für jedes Fenster das Anzeigen das Übersetzen jedes zweidimensionalen Punktes des Fensters zu einem Ursprung umfasst, der auf seiner Nähe zu einem Mittelpunkt einer Fensterrahmenkante beruht, die als Drehachse des Fensters zu den drei Dimensionen benutzt wird; Drehen des übersetzten Punktes um eine der x- oder y-Achsen in einen z-Raum des zweidimensionalen Anzeigebildschirmes unter Verwendung eines Drehwinkels θ; Erhalt einer perspektivischen Ansicht des gedrehten Fensterpunktes auf der Grundlage eines vom Benutzer vorgegebenen Abstandes von dem zweidimensionalen Anzeigebildschirm, wobei die perspektivische Ansicht auf einer z-Achse liegt, die sich von einem Mittelpunkt des Anzeigebildschirmes aus erstreckt; und für jeden Punkt des Fensters Übersetzen des perspektivischen Punktes zurück dahin, wo der zweidimensionale Punkt ursprünglich auf dem Anzeigebildschirm seinen Standort hatte.
15. Verfahren nach Anspruch 1, wobei das mindestens eine zweidimensionale Fenster ein rechteckiges Fenster umfasst, das eine rechte Kante, eine linke Kante, eine obere Kante und eine untere Kante hat, und bei dem das Anzeigen das Drehen des Fensters um eine der rechten Kante, linken Kante, oberen Kante oder unteren Kante nach Festlegung des Benutzers umfasst.
16. Rechneranzeigesystem, das Folgendes umfasst:
einen zweidimensionalen Anzeigebildschirm zum Anzeigen eines oder mehrerer Fenster; und
einen Fensterverwalter, der das Anzeigen des einen oder mehrerer Fenster innerhalb des zweidimensionalen Anzeigebildschirmes beaufsichtigt, wobei der Fensterverwalter so programmiert ist, dass er als Reaktion auf Benutzereingabe mindestens ein zweidimensionales Fenster in drei Dimensionen innerhalb des zweidimensionalen Anzeigebildschirmes anzeigt.
17. Rechneranzeigesystem nach Anspruch 16, wobei der Fensterverwalter so programmiert ist, dass er es einem Benutzer gestattet, im Dialog mindestens ein zweidimensionales Fenster zum Anzeigen in den drei Dimensionen innerhalb des zweidimensionalen Anzeigebildschirmes festzulegen.
18. Rechneranzeigesystem nach Anspruch 17, wobei der Fensterverwalter so programmiert ist, dass er einen Hinweiszeiger auf dem Anzeigebildschirm erzeugt, der einem aktuell sichtbaren zweidimensionalen Fenster überlagert wird, wobei der Hinweiszeiger mit einer Zeigevorrichtung zum Bewegen des Hinweiszeigers als Reaktion auf das Manipulieren durch den Benutzer verbunden ist und so programmiert ist, dass er das aktuell sichtbare zweidimensionale Fenster als Reaktion auf die Benutzermanipulation des Hinweiszeigers als dreidimensionales Fenster anzeigt.
19. Rechneranzeigesystem nach Anspruch 18, wobei der Fensterverwalter so programmiert wird, dass er das aktuell sichtbare zweidimensionale Fenster so verändert, dass es als dreidimensionales Fenster angezeigt wird, indem das zweidimensionale Fenster als Reaktion auf die Auswahl einer Rahmenkante des zweidimensionalen Fensters mit dem Hinweiszeiger durch den Benutzer zu einer Darstellung in drei Dimensionen umschwenkt.
20. Rechneranzeigesystem nach Anspruch 19, wobei das Umschwenken des zweidimensionalen Fensters durch den Fensterverwalter das Umschwenken des zweidimensionalen Fensters zur Anzeige als dreidimensionales Fenster umfasst, indem das zweidimensionale Fenster an einer Rahmenkante umkippt, die der einen Rahmenkante gegenüberliegt, die durch den Benutzer unter Verwendung des Hinweiszeigers ausgewählt worden ist.
21. Rechneranzeigesystem nach Anspruch 20, wobei der Fensterverwalter so programmiert ist, dass er das zweidimensionale Fenster in die dreidimensionale Fensteranzeige so umschwenkt, dass er einen Schwenkwinkel benutzt, der durch eine Größenordnung der Benutzermanipulation der Zeigevorrichtung festgelegt wird.
22. Rechneranzeigesystem nach Anspruch 21, wobei der Hinweiszeiger ein Positionszeiger ist, wobei die Zeigeeinrichtung eine Maus ist und wobei der Schwenkwinkel des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige auf einen Betrag bezogen ist, mit welcher der Benutzer nach der Auswahl der einen Rahmenkante des zweidimensionalen Fensters diese Maus verschiebt.
23. Rechneranzeigesystem nach Anspruch 19, wobei die Zeigevorrichtung eine Maus umfasst und die Benutzerauswahl der einen Rahmenkante des zweidimensionalen Fensters das Drücken einer dritten Maustaste der Maus durch den Benutzer umfasst, wobei der Hinweiszeiger auf die eine Rahmenkante des zweidimensionalen Fensters zeigt.
24. Rechneranzeigesystem nach Anspruch 17, wobei der Fensterverwalter so programmiert wird, dass er einen Drehpunkt festlegt, um den das mindestens eine zweidimensionale Fenster sich zur dreidimensionalen Anzeige drehen soll, und dass er vor dem Drehen des zweidimensionalen Fensters in die dreidimensionale Anzeige den Drehpunkt auf einen Mittelpunkt des zweidimensionalen Anzeigebildschirmes übersetzt und danach das Drehen des zweidimensionalen Fensters in die dreidimensionale Anzeige durchführt und dann die dreidimensionale Anzeige zurück zu einem ursprünglichen Standort des zweidimensionalen Fensters innerhalb des zweidimensionalen Anzeigebildschirmes übersetzt.
25. Rechneranzeigesystem nach Anspruch 17, wobei das mindestens eine zweidimensionale Fenster mehrere zweidimensionale Fenster umfasst und wobei der Fensterverwalter so programmiert ist, dass er es dem Benutzer erlaubt, im Dialog mindestens einige Fenster der mehreren zweidimensionalen Fenster so festzulegen, dass sie in drei Dimensionen angezeigt werden, so dass die mehreren zweidimensionalen Fenster gleichzeitig ohne Überlappen innerhalb des zweidimensionalen Anzeigebildschirmes angezeigt werden können.
26. Rechneranzeigesystem nach Anspruch 16, wobei der Fensterverwalter so programmiert wird, dass er das Anzeigen des mindestens einen zweidimensionalen Fensters in drei Dimensionen für einen Anwendungsvorgang des Rechneranzeigesystems transparent realisiert.
27. Rechneranzeigesystem nach Anspruch 16, wobei der Fensterverwalter so programmiert wird, dass er jedes Fenster des mindestens einen zweidimensionalen Fensters um eine Rahmenkante des Fensters so dreht, dass er das Fenster von zwei Dimensionen in die drei Dimensionen umwandelt.
28. System zum Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm, wobei das System Folgendes umfasst:
Mittel zum Bereitstellen mindestens eines zweidimensionalen Fensters zum Anzeigen auf dem zweidimensionalen Anzeigebildschirm; und
Mittel, die es einem Benutzer gestatten, das mindestens eine zweidimensionale Fenster zum Anzeigen als dreidimensionales Fenster innerhalb des zweidimensionalen Anzeigebildschirmes festzulegen.
29. System nach Anspruch 28, wobei das Erlaubnismittel Mittel zur Erlaubnis umfasst, dass der Benutzer im Dialog mindestens ein zweidimensionales Fenster zum Anzeigen als dreidimensionales Fenster festlegt.
30. System nach Anspruch 29, wobei das Mittel zur Erlaubnis Mittel zum Erzeugen eines Hinweiszeigers auf dem Anzeigebildschirm, der einem aktuell sichtbaren zweidimensionalen Fenster überlagert wird, wobei der Hinweiszeiger mit einer Zeigevorrichtung zum Bewegen des Hinweiszeigers als Reaktion auf die Handhabung durch den Benutzter verbunden ist, und Mittel zum Verändern des aktuell sichtbaren zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster als Reaktion auf die Benutzerhandhabung des Hinweiszeigers umfasst.
31. System nach Anspruch 30, wobei das Mittel zum Verändern des aktuell sichtbaren zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster Mittel zum Umschwenken des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige als Reaktion auf Benutzerauswahl einer Rahmenkante des zweidimensionalen Fensters mit dem Hinweiszeiger umfasst.
32. System nach Anspruch 31, wobei das Umschwenkmittel Mittel zum Umschwenken des zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster durch Umkippen des zweidimensionalen Fensters an einer Kante umfasst, die der von dem Benutzer unter Verwendung des Hinweiszeigers gewählten Kante gegenüberliegt.
33. System nach Anspruch 32, wobei das Umschwenkmittel Mittel zum Umschwenken des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige unter Verwendung eines Schwenkwinkels umfasst, der durch eine Größenordnung der Handhabung der Zeigevorrichtung durch den Benutzer festgelegt wird.
34. System nach Anspruch 33, wobei der Hinweiszeiger aus einem Positionierzeiger besteht, wobei die Zeigevorrichtung eine Maus ist und der Schwenkwinkel des zweidimensionalen Fensters in die dreidimensionale Fensteranzeige sich auf den Betrag bezieht, mit welcher der Benutzer der Maus nach Auswahl der einen Rahmenkante des zweidimensionalen Fensters diese verschiebt.
35. System nach Anspruch 31, wobei die Zeigevorrichtung eine Maus umfasst und die Benutzerauswahl der einen Rahmenkante des zweidimensionalen Fensters das Drücken einer dritten Maustaste der Maus durch den Benutzer umfasst, wenn der Hinweiszeiger auf die eine Rahmenkante des zweidimensionalen Fensters zeigt.
36. System nach Anspruch 28, wobei das mindestens eine zweidimensionale Fenster mehrere zweidimensionale Fenster umfasst und wobei das Erlaubnismittel Mittel umfasst, die es dem Benutzer erlauben, mindestens einige Fenster der mehreren zweidimensionalen Fenster zum Anzeigen in drei Dimensionen im Dialog festzulegen, so dass die mehreren zweidimensionalen Fenster ohne Überlappen gleichzeitig innerhalb des zweidimensionalen Anzeigebildschirmes angezeigt werden können.
37. System nach Anspruch 28, wobei das Erlaubnismittel Mittel zum Drehen jedes Fensters der mindestens einen zweidimensionalen Fenster bei Festlegung durch den Benutzer um eine Rahmenkante des Fensters erlaubt, um das Fenster aus zwei Dimensionen in drei Dimensionen innerhalb des Anzeigebildschirmes umzuwandeln.
38. Produktionsartikel, der Folgendes umfasst:
Rechnerprogrammprodukt, das ein rechnerbenutzbares Medium umfasst, das darin rechnerlesbare Programmcodemittel hat, damit sie beim Anzeigen eines Fensters auf einem zweidimensionalen Anzeigebildschirm benutzt werden, wobei das rechnerlesbare Programmcodemittel in dem Rechnerprogrammprodukt Folgendes umfasst:
rechnerlesbare Programmcodemittel, um damit einen Rechner zu veranlassen, das Bereitstellen von mindestens einem zweidimensionalen Fenster zum Anzeigen auf dem zweidimensionalen Anzeigebildschirm zu bewirken; und
rechnerlesbare Programmcodemittel, um damit einen Rechner zu veranlassen, dass er bewirkt, es einem Benutzer zu erlauben, mindestens ein zweidimensionales Fenster zum Anzeigen als dreidimensionales Fenster innerhalb des zweidimensionalen Anzeigebildschirmes festzulegen.
39. Produktionsartikel von Anspruch 38, wobei das rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners, dass eine Erlaubnis bewirkt wird, rechnerlesbare Programmcodemittel, mit denen ein Rechner veranlasst wird, das Erzeugen eines Hinweiszeigers, der einem aktuell sichtbaren zweidimensionalen Fenster überlagert wird, auf dem Anzeigebildschirm zu bewirken, wobei der Hinweiszeiger mit einer Zeigevorrichtung zum Bewegen des Hinweiszeigers als Reaktion auf Manipulation durch den Benutzer verbunden ist, und rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners umfasst, dass das Verändern des aktuell sichtbaren zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster als Reaktion auf die Benutzerhandhabung des Hinweiszeigers bewirkt wird.
40. Produktionsartikel nach Anspruch 39, wobei das rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners, das Verändern zu bewirken, rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners umfasst, das Umschwenken des zweidimensionalen Fensters auf die dreidimensionale Fensteranzeige als Reaktion auf Benutzerauswahl einer Rahmenkante des zweidimensionalen Fensters mit dem Hinweiszeiger zu bewirken.
41. Produktionsartikel nach Anspruch 40, wobei das rechnerlesbare Programmcodemittel, um einen Rechner zu veranlassen, das Umschwenken zu bewirken, rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners umfasst, das Umschwenken des zweidimensionalen Fensters zum Anzeigen als dreidimensionales Fenster durch Kippen des zweidimensionalen Fensters um eine Rahmenkante zu bewirken, die der einen Kante gegenüberliegt, die unter Verwendung des Hinweiszeigers durch den Benutzer ausgewählt worden ist.
42. Produktionsartikel nach Anspruch 41, wobei das rechnerlesbare Programmcodemittel, mit dem ein Rechner veranlasst wird, das Umschwenken zu bewirken, rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners umfasst, das Umschwenken des zweidimensionalen Fensters zu der dreidimensionalen Fensteranzeige zu bewirken, indem ein Schwenkwinkel benutzt wird, der durch einen Betrag der Benutzerhandhabung der Zeigevorrichtung festgelegt wird.
43. Produktionsartikel nach Anspruch 42, wobei der Hinweiszeiger aus einem Positionierzeiger besteht, wobei die Zeigevorrichtung eine Maus ist und der Schwenkwinkel des zweidimensionalen Fensters zu der dreidimensionalen Fensteranzeige sich auf einen Betrag bezieht, mit welcher der Benutzer der Maus nach Auswahl der einen Rahmenkante des zweidimensionalen Fensters diese verschiebt.
44. Produktionsartikel nach Anspruch 40, wobei die Zeigevorrichtung eine Maus umfasst und die Benutzerauswahl der einen Rahmenkante des zweidimensionalen Fensters das Drücken einer dritten Maustaste der Maus durch den Benutzer umfasst, wobei der Hinweiszeiger auf die eine Rahmenkante des zweidimensionalen Fensters zeigt.
45. Produktionsartikel nach Anspruch 38, der weiterhin rechnerlesbare Programmcodemittel umfasst, mit denen ein Rechner veranlasst wird, das Erteilen der Erlaubnis innerhalb eines Fensterverwalters zu bewirken, der mit dem zweidimensionalen Anzeigebildschirm verbunden ist, wobei das rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners, die Realisierung innerhalb des Fensterverwalters zu bewirken, einem Anwendungsvorgang transparent ist, der auf einen Rechnersystem läuft, das mit dem zweidimensionalen Anzeigebildschirm verbunden ist.
46. Produktionsartikel nach Anspruch 38, wobei das rechnerlesbare Programmcodemittel, mit dem ein Rechner veranlasst wird, die Erlaubnis zu bewirken, rechnerlesbare Programmcodemittel zum Veranlassen eines Rechners umfasst, das Drehen des Fensters um eine Rahmenkante des Fensters zu bewirken, um das Fenster vom zweidimensionalen in den dreidimensionalen Zustand zu versetzen.
DE10005812A 1999-03-31 2000-02-10 Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm Expired - Lifetime DE10005812B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/282,129 1999-03-31
US09/282,129 US6822662B1 (en) 1999-03-31 1999-03-31 User selected display of two-dimensional window in three dimensions on a computer screen

Publications (2)

Publication Number Publication Date
DE10005812A1 true DE10005812A1 (de) 2000-10-12
DE10005812B4 DE10005812B4 (de) 2008-02-14

Family

ID=23080228

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10005812A Expired - Lifetime DE10005812B4 (de) 1999-03-31 2000-02-10 Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm

Country Status (4)

Country Link
US (1) US6822662B1 (de)
JP (1) JP2000322172A (de)
KR (1) KR100390730B1 (de)
DE (1) DE10005812B4 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315132A (ja) * 1999-04-30 2000-11-14 Sony Corp 情報処理装置及びその方法並びに媒体
GB9920327D0 (en) * 1999-08-28 1999-11-03 Koninkl Philips Electronics Nv Menu display for a graphical user interface
WO2002021404A1 (en) * 2000-09-06 2002-03-14 Envoii Method and apparatus for a portable information account access agent
US8002623B2 (en) 2001-08-09 2011-08-23 Igt Methods and devices for displaying multiple game elements
US8267767B2 (en) 2001-08-09 2012-09-18 Igt 3-D reels and 3-D wheels in a gaming machine
US7367885B2 (en) 2001-08-09 2008-05-06 Igt 3-D text in a gaming machine
US7901289B2 (en) 2001-08-09 2011-03-08 Igt Transparent objects on a gaming machine
US7909696B2 (en) 2001-08-09 2011-03-22 Igt Game interaction in 3-D gaming environments
US6887157B2 (en) * 2001-08-09 2005-05-03 Igt Virtual cameras and 3-D gaming environments in a gaming machine
US7918730B2 (en) 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US7480873B2 (en) * 2003-09-15 2009-01-20 Sun Microsystems, Inc. Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model
US7170510B2 (en) * 2003-11-14 2007-01-30 Sun Microsystems, Inc. Method and apparatus for indicating a usage context of a computational resource through visual effects
US7412662B2 (en) * 2004-04-12 2008-08-12 Microsoft Corporation Method and system for redirection of transformed windows
US20060156249A1 (en) * 2005-01-12 2006-07-13 Blythe Michael M Rotate a user interface
US7747965B2 (en) * 2005-01-18 2010-06-29 Microsoft Corporation System and method for controlling the opacity of multiple windows while browsing
US7426697B2 (en) * 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
US8341541B2 (en) * 2005-01-18 2012-12-25 Microsoft Corporation System and method for visually browsing of open windows
GB0507924D0 (en) * 2005-04-20 2005-05-25 Tricycle Ltd Display system
US20070162862A1 (en) * 2005-07-06 2007-07-12 Gemini Mobile Technologies, Inc. Selective user monitoring in an online environment
US20070011617A1 (en) * 2005-07-06 2007-01-11 Mitsunori Akagawa Three-dimensional graphical user interface
US20070156664A1 (en) * 2005-07-06 2007-07-05 Gemini Mobile Technologies, Inc. Automatic user matching in an online environment
US7880738B2 (en) 2005-07-14 2011-02-01 Molsoft Llc Structured documents and systems, methods and computer programs for creating, producing and displaying three dimensional objects and other related information in those structured documents
US20070256054A1 (en) * 2006-04-28 2007-11-01 Paul Byrne Using 3-dimensional rendering effects to facilitate visualization of complex source code structures
US8112770B2 (en) 2006-12-20 2012-02-07 Microsoft Corporation Providing alternative content in a windowed environment
US8799077B2 (en) * 2006-12-20 2014-08-05 Microsoft Corporation Ad integration and extensible themes for operating systems
US8972898B2 (en) * 2007-02-06 2015-03-03 Novell Intellectual Properties, Inc. Techniques for representing and navigating information in three dimensions
JP4883791B2 (ja) 2007-04-04 2012-02-22 キヤノン株式会社 情報処理装置及び表示方法
US8384710B2 (en) 2007-06-07 2013-02-26 Igt Displaying and using 3D graphics on multiple displays provided for gaming environments
US20090125504A1 (en) * 2007-11-08 2009-05-14 Randy Adams Systems and methods for visualizing web page query results
KR20090052673A (ko) * 2007-11-21 2009-05-26 엘지전자 주식회사 단말기, 그 제어 방법 및 이를 위한 기록 매체
US8209635B2 (en) * 2007-12-20 2012-06-26 Sony Mobile Communications Ab System and method for dynamically changing a display
US20090228811A1 (en) * 2008-03-10 2009-09-10 Randy Adams Systems and methods for processing a plurality of documents
US20090228817A1 (en) * 2008-03-10 2009-09-10 Randy Adams Systems and methods for displaying a search result
US20090228442A1 (en) * 2008-03-10 2009-09-10 Searchme, Inc. Systems and methods for building a document index
US8024756B2 (en) * 2008-04-10 2011-09-20 Sony Corporation TV user interface for viewing selected sub-groups of channels
US20100180227A1 (en) * 2009-01-13 2010-07-15 Attaoulaye Diallo Method, system and apparatus for a graphical user interface with horizontal workspace
US8605006B2 (en) * 2009-12-23 2013-12-10 Nokia Corporation Method and apparatus for determining information for display
GB2490108B (en) 2011-04-13 2018-01-17 Nokia Technologies Oy A method, apparatus and computer program for user control of a state of an apparatus
US10896388B2 (en) 2011-07-25 2021-01-19 Prevedere, Inc. Systems and methods for business analytics management and modeling
US10176533B2 (en) * 2011-07-25 2019-01-08 Prevedere Inc. Interactive chart utilizing shifting control to render shifting of time domains of data series
US10740772B2 (en) 2011-07-25 2020-08-11 Prevedere, Inc. Systems and methods for forecasting based upon time series data
JP2013214275A (ja) * 2012-03-08 2013-10-17 Canon Inc 三次元位置指定方法
US10872374B2 (en) 2012-07-12 2020-12-22 Mx Technologies, Inc. Dynamically resizing bubbles for display in different-sized two-dimensional viewing areas of different computer display devices
US10529014B2 (en) 2012-07-12 2020-01-07 Mx Technologies, Inc. Dynamically resizing bubbles for display in different-sized two-dimensional viewing areas of different computer display devices
US11995667B2 (en) 2012-07-25 2024-05-28 Prevedere Inc. Systems and methods for business analytics model scoring and selection
US10713730B2 (en) 2012-09-11 2020-07-14 Mx Technologies, Inc. Meter for graphically representing relative status in a parent-child relationship and method for use thereof
EP2889738B1 (de) * 2013-12-30 2020-08-12 Dassault Systèmes Computerimplementiertes Verfahren zum Entwurf eines dreidimensionalen, modellierten Objekts
US9723298B2 (en) 2014-06-13 2017-08-01 International Business Machines Corporation Managing a display
US10394415B2 (en) * 2014-07-21 2019-08-27 International Business Machines Corporation User authentication security system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555775B1 (en) 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US4835528A (en) 1985-12-30 1989-05-30 Texas Instruments Incorporated Cursor control system
JPS62276673A (ja) 1986-05-26 1987-12-01 Toshiba Corp マルチウインドウ表示装置
US5179656A (en) 1987-03-02 1993-01-12 International Business Machines Corporation Three dimensional directional pointer icon
US4987527A (en) 1987-10-26 1991-01-22 Hitachi, Ltd. Perspective display device for displaying and manipulating 2-D or 3-D cursor, 3-D object and associated mark position
US5121477A (en) 1988-04-08 1992-06-09 International Business Machines Inc. System for interactively creating action bar pull-down windows of a user interface for use at program run time
US5146556A (en) 1988-10-11 1992-09-08 Next Computer, Inc. System and method for managing graphic images
JPH0778782B2 (ja) 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
US5386507A (en) * 1991-07-18 1995-01-31 Teig; Steven L. Computer graphics system for selectively modelling molecules and investigating the chemical and physical properties thereof
JPH0546707A (ja) 1991-08-20 1993-02-26 Canon Inc 情報処理装置
JPH0591997A (ja) 1991-09-30 1993-04-16 Shimadzu Corp 画像処理装置
JPH0724011B2 (ja) 1991-12-18 1995-03-15 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元マルチウィンドウ表示装置及び表示方法
JPH06186948A (ja) 1992-12-22 1994-07-08 Matsushita Electric Ind Co Ltd 画像表示方法
JPH0721752B2 (ja) 1993-01-28 1995-03-08 日本電気株式会社 マルチウィンドウ表示方式
JP3705826B2 (ja) * 1993-03-17 2005-10-12 株式会社日立製作所 仮想3次元ウインドウ表示制御方法
JP3672352B2 (ja) * 1994-04-25 2005-07-20 富士通株式会社 3次元立体配置編集方法及び3次元立体配置編集装置
JPH0883161A (ja) 1994-09-09 1996-03-26 Canon Inc ウィンドウ制御装置及びウィンドウ制御方法
JP3461408B2 (ja) 1995-07-07 2003-10-27 シャープ株式会社 情報処理装置の表示方法および情報処理装置
US5754809A (en) * 1995-12-12 1998-05-19 Dell U.S.A., L.P. Perspective windowing technique for computer graphical user interface
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
JPH10283158A (ja) * 1997-02-04 1998-10-23 Fujitsu Ltd ウィンドウの立体表示装置及びその方法
US6226006B1 (en) * 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
JP3504467B2 (ja) 1997-08-12 2004-03-08 松下電器産業株式会社 マルチウィンドウ表示装置
JP3522505B2 (ja) * 1997-09-09 2004-04-26 松下電器産業株式会社 ウィンドウ表示装置
US6229542B1 (en) * 1998-07-10 2001-05-08 Intel Corporation Method and apparatus for managing windows in three dimensions in a two dimensional windowing system

Also Published As

Publication number Publication date
KR20000062912A (ko) 2000-10-25
DE10005812B4 (de) 2008-02-14
US6822662B1 (en) 2004-11-23
KR100390730B1 (ko) 2003-07-10
JP2000322172A (ja) 2000-11-24

Similar Documents

Publication Publication Date Title
DE10005812B4 (de) Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm
DE69328522T2 (de) Verfahren und Vorrichtung zur Benutzung von Browsern für Sammlungen
DE69428647T2 (de) Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals
DE69123465T2 (de) Verfahren zur Änderung der Abmessungen von Computeranzeigefenstern und ihrer Bewegung
DE69533568T2 (de) Virtuelles Desk-Top-System und Verfahren dafür
DE69230095T2 (de) Bildfensterverwaltung von verbundenen Anwendungen
DE69315969T2 (de) Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
DE69620301T2 (de) Fensterverwaltung
DE69022210T2 (de) Datenverarbeitungssystem.
DE69615470T2 (de) Darstellung von Beziehungen zwischen graphischen Objekten in einer Rechneranzeigevorrichtung
DE69032348T2 (de) Objektbasiertes System
DE69838233T2 (de) Bildsystem und Verfahren für virtuelle Realität
DE3787127T2 (de) Datenanzeigesystem.
DE4446139C2 (de) Verfahren und Einrichtung zum Hervorheben von Objekten in einem Konferenzsystem
DE60302063T2 (de) Graphische benutzeroberfläche für einen flugsimulator basierend auf einer client-server-architektur
DE69523593T2 (de) Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
DE69129712T2 (de) Arbeitsraumanzeigen
DE3851733T2 (de) Emulation einer Bedienungskonsole für ein graphisches Endgerät.
DE69323260T2 (de) Aktualisierung der Anzeigeeinrichtung eines entfernten Rechnerarbeitsplatzes
DE69717965T2 (de) Verfahren und vorrichtung zur darstellung von objekten mittels fenstern
DE3687215T2 (de) Mehrfachprozessanzeigesystem mit bildfenstern.
DE69625979T2 (de) Vorrichtung und Verfahren zur Bildverarbeitung
DE69828994T2 (de) Sekundärbenutzerschnittstelle
DE69231080T2 (de) Vorrichtung und Verfahren zur Bewegung oder Kopieren von Objekten mit Benutzung der Ziel- und Quellen-Einheiten
DE69426044T2 (de) Methode und Gerät zur Lieferung eines zweidimensionalen positionsempfindlichen Verschiebungicons in einer Benutzerschnittstelle eines Datenverarbeitungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition
R085 Willingness to licence withdrawn
R082 Change of representative
R081 Change of applicant/patentee

Owner name: TOMTOM GLOBAL ASSETS B.V., NL

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

Effective date: 20120130

Owner name: TOMTOM GLOBAL ASSETS B.V., NL

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP., ARMONK, US

Effective date: 20120130

R071 Expiry of right