Connect public, paid and private patent data with Google Patents Public Datasets

Navigation und Interaktion in strukturierten Informationsräumen

Info

Publication number
DE69731045T2
DE69731045T2 DE1997631045 DE69731045T DE69731045T2 DE 69731045 T2 DE69731045 T2 DE 69731045T2 DE 1997631045 DE1997631045 DE 1997631045 DE 69731045 T DE69731045 T DE 69731045T DE 69731045 T2 DE69731045 T2 DE 69731045T2
Authority
DE
Grant status
Grant
Patent type
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1997631045
Other languages
English (en)
Other versions
DE69731045D1 (de )
Inventor
Mark Alan Dunwoody Tarlton
Prakairut Dunwoody Tarlton
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.)
NCR International Inc
Original Assignee
NCR International Inc
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
Grant date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30286Information retrieval; Database structures therefor ; File system structures therefor in structured data stores
    • G06F17/30572Visual data mining and browsing structured data

Description

  • [0001]
    Die vorliegende Erfindung betrifft ein System und ein Verfahren zum Navigieren durch, zum Präsentieren von und zum Interagieren mit Informationen in Online-Computersystemen.
  • [0002]
    Bestehende Verfahren für verteilte, Multibenutzer-Informationssysteme (d. h. das World Wide Web WWW) haben primär eine textliche Beschaffenheit und bleiben zu großen Teilen erfahrenen Computerbenutzern vorbehalten. Während Text eine gute Methode zum Beschreiben von Informationen ist, stellt er nicht den besten Weg zum Zugriff auf, zum Präsentieren von oder zum Navigieren durch Informationen dar. Beispielsweise bestehen heutzutage Webseiten im Internet hauptsächlich aus zweidimensionalem Text und Bildern. Ein Beispiel für eine 2D-Webseite ist die Homepage des United States Patent Office, auffindbar unter "http://www.uspto.gov".
  • [0003]
    Zum Navigieren durch die Informationen wird dem Benutzer eine "Webseite" präsentiert, die eine Anzahl von Textelementen enthält, die die Benutzer lesen müssen und zwischen denen sie sich entscheiden müssen. Nachdem der Benutzer durch Anklicken eines "Hotlinks" (beispielsweise hervorgehobener Text) eine Auswahl trifft, erscheint eine neue Webseite, die einen anderen Auswahlsatz enthält und der Prozess wird wiederholt. Ein Problem dieser Methode ist, dass es für den Benutzer sehr schwierig ist, die Gesamtorganisation oder Struktur der Informationen zu erkennen. Falls die Informationen eine hierarchische Struktur aufweisen, sind die praktischen Grenzen für diese Navigationsmethode nur ein paar Tausend Elemente. Daneben wird entweder die Anzahl der Auswahlmöglichkeiten auf dem Bildschirm exzessiv oder die Suchtiefe wird so tief, dass die Benutzer frustriert werden und sich verlieren.
  • [0004]
    In diesen Systemen sind sich einzelne Benutzer oft nicht klar über die Präsenz Anderer im Informationsraum. Das Modell für Online-Dienste ist primär das Mehrbenutzermodell einer virtuellen Maschine (time-sharing virtual machine model), bei dem jeder Benutzer dazu gebracht wird, zu denken, dass er die einzige Person ist, welche die Maschine verwendet. Die resultierende Wahrnehmung einer Isolierung steht im Kontrast zur täglichen Erfahrung der Menschen, Informationen als eine öffentliche, soziale Erfahrung wahrzunehmen und aufzunehmen.
  • [0005]
    Gemäß der Erfindung ist ein Verfahren zum Befähigen eines Benutzers zum Navigieren durch und zum Zugriff auf Informationsobjekte in einem strukturierten Präsentationsraum, wobei die Informationsobjekte in einem hierarchisch strukturierten Format gespeichert sind und wobei ein Basisinformationsobjekt ein Elterninformationsobjekt und zumindest ein Kindinformationsobjekt aufweisen kann, gekennzeichnet durch
    • (i) Modellieren der Informationsobjekte, so dass sie innerhalb des strukturierten Präsentationsraums sind, wobei das Basisinformationsobjekt innerhalb des Elterninformationsobjekts angeordnet ist und das Kindinformationsobjekt innerhalb des Basisinformationsobjekts angeordnet ist;
    • (ii) Bestimmen eines Betrachtungspunktes innerhalb des Präsentationsraumes,
    • (iii) Bewegen des Betrachtungspunktes innerhalb des strukturierten Präsentationsraumes als Reaktion auf eine Eingabe des Benutzers, wobei der Betrachtungspunkt zwi schen dem Basisinformationsobjekt, dem Elterninformationsobjekt und dem Kindinformationsobjekt bewegt werden kann und wobei die Skalierung des Betrachtungsvolumens des Betrachtungspunktes relativ zur Skalierung des Informationsobjekts basiert ist, das den Betrachtungspunkt umfasst, und
    • (iv) Anzeigen der Informationsobjekte in einer multidimensionalen perspektivischen Ansicht entsprechend dem Betrachtungspunkt, wobei jedes Kindinformationsobjekt als innerhalb des Basisinformationsobjekts liegend angezeigt wird und das Basisinformationsobjekt als innerhalb des Elterninformationsobjekts liegend angezeigt wird.
  • [0006]
    Ebenso umfasst gemäß der Erfindung ein System zum Befähigen eines Benutzers zum Navigieren durch und zum Zugreifen auf Informationsobjekte in einem strukturierten Präsentationsraum:
    • (a) ein Speichermittel zum Speichern von Informationen, wobei die Informationsobjekte in einem hierarchisch strukturierten Format gespeichert sind, wobei ein Basisinformationsobjekt ein Elterninformationsobjekt und zumindest ein Kindinformationsobjekt aufweisen kann,
    • (b) eine Anzeige zum Anzeigen visueller Informationen für den Benutzer,
    • (c) ein Eingabemittel zur Aufnahme einer Eingabe vom Benutzer, und
    • (d) ein Verarbeitungsmittel, dadurch charakterisiert, dass das Verarbeitungsmittel aufgebaut ist zum:
    • (i) Modellieren der Informationsobjekte, so dass sie innerhalb des strukturierten Präsentationsraumes sind, wobei das Basisinformationsobjekt innerhalb des Elterninformationsobjekts angeordnet ist und das Kindinformationsobjekt innerhalb des Basisinformationsobjekts angeordnet ist,
    • (ii) Bestimmen eines Betrachtungspunktes innerhalb des Präsentationsraumes,
    • (iii) Reaktion auf das Eingabemittel, Bewegen des Betrachtungspunktes innerhalb des strukturierten Präsentationsraumes, wobei der Betrachtungspunkt zwischen dem Basisinformationsobjekt, dem Elterninformationsobjekt und dem Kindinformationsobjekt bewegt werden kann und wobei die Skalierung des Betrachtungsvolumens des Betrachtungspunktes relativ zur Skalierung des Informationsobjektes basiert ist, das den Betrachtungspunkt enthält, und
    • (iv) Anzeigen der Informationsobjekte auf der Anzeige in einer multidimensionalen perspektivischen Ansicht entsprechend dem Betrachtungspunkt, wobei jedes Kindinformationsobjekt als innerhalb des Basisinformationsobjekts liegend angezeigt wird und wobei das Basisinformationsobjekt als innerhalb des Elterninformationsobjekts liegend angezeigt wird.
  • [0007]
    Die Erfindung besteht aus einem System und einem Verfahren zum Präsentieren und zum Navigieren durch hierarchisch strukturierte Informationen. Die Erfindung bezieht die hierarchische Struktur der Informationen auf die räumlichen Attribute der grafischen Elemente, welche die Informationen repräsentieren. Das Ergebnis ist eine grafische "Multiauflösungs"- Präsentation, bei der die Größe eines grafischen Objekts eine Funktion des Hierarchielevels des entsprechenden Informationselements ist und bei der die Position eines grafischen Objektes eine Funktion der Beziehungen zwischen Informationselementen ist. Das Ergebnis ist eine "Schachtelung" von grafischen Objekten, die der hierarchischen Struktur der Informationen entspricht. Diese Schachtelung erlaubt es, die Beziehungen zwischen Informationselementen besser darzustellen und sie dem Benutzer besser zugänglich zu machen.
  • [0008]
    Die Anmeldung dieser Erfindung verwendet eine "virtuelle Welt"-Metapher, bei welcher der Benutzer als Betrachtungspunkt oder als virtuelle Figur in einer dreidimensionalen Welt repräsentiert wird und bei der die Objekte in der Welt Aspekte von Informationen repräsentieren. Die Präsenz des Benutzers in dem Informationsraum kann als grafisches Objekt repräsentiert werden. Diese grafische Repräsentation des Benutzers wird als "virtuelle Figur" ("Avatar") bezeichnet. Der Benutzer navigiert durch die Informationen, indem er seinen Betrachtungspunkt oder seine virtuelle Figur durch die Szenerie bewegt. Die Position der virtuellen Figur in dem Präsentationsraum spezifiziert die momentan interessierende Information.
  • [0009]
    Die Erfindung wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei:
  • [0010]
    1 ist eine Übersicht des Systems.
  • [0011]
    2 ist ein schematisches Diagramm eines Knotens, wie er in der Datenbasis abgespeichert ist.
  • [0012]
    3 ist ein Flussdiagramm einer Funktion zum Zugriff auf die Datenbasis.
  • [0013]
    4 ist ein Flussdiagramm einer anderen Funktion zum Zugriff auf die Datenbasis.
  • [0014]
    5 ist ein Flussdiagramm einer anderen Funktion zum Zugriff auf die Datenbasis.
  • [0015]
    6 ist eine schematische Darstellung des Präsentationsraumes.
  • [0016]
    7 ist eine schematische Darstellung von perspektivischen und orthografischen Transformationen.
  • [0017]
    8 ist ein Flussdiagramm eines Ereignisbehandlers.
  • [0018]
    9 ist ein Beziehungsdiagramm des Ereignisbehandlers.
  • [0019]
    10 ist ein Flussdiagramm, das angibt, wie ein Ereignis behandelt wird.
  • [0020]
    11 ist ein Flussdiagramm, das angibt, wie ein Regions-/Grenzereignis behandelt wird.
  • [0021]
    12 ist ein Flussdiagramm, das angibt, wie ein Rendering-Ereignis behandelt wird.
  • [0022]
    13 ist ein Flussdiagramm des Erstellens des Präsentationsraumes.
  • [0023]
    14 ist ein Flussdiagramm eines Erweiterns des Präsentationsraumes.
  • [0024]
    15 ist ein Flussdiagramm, das angibt, wie jedes Visualisierungselement erweitert wird.
  • [0025]
    16A ist eine zweidimensionale Darstellung der Eltern-Kind-Hierarchie.
  • [0026]
    16B ist eine zweidimensionale Darstellung von Visualisierungselementen.
  • [0027]
    17A17D sind zweidimensionale Darstellungen des Betrachtungsvolumens.
  • [0028]
    18 ist ein schematisches Diagramm einer bevorzugten Hardwarekonfiguration.
  • [0029]
    19A ist ein Knoten- und Beziehungsdiagramm.
  • [0030]
    19B ist ein hierarchisches Modell von Knoten mit einer Beziehung A.
  • [0031]
    19C ist ein hierarchisches Modell von Knoten mit einer Beziehung B.
  • [0032]
    Eine bevorzugte Ausführungsform der Erfindung wird nun im Detail beschrieben. Unter Bezugnahme auf die Zeichnungen bezeichnen in den Ansichten gleiche Nummern gleiche Teile.
  • [0033]
    Die Hierarchie der vom Benutzer zu erkundenden Informationen wird als Hintergrund für die Beschreibung der Erfindung in Hinblick auf Knoten und Beziehungen, wie in 19A gezeigt, diskutiert. Ein Knoten ist eine Struktur, die eine Informationseinheit enthält und die durch eine oder mehrere Beziehungen zu anderen Knoten in Beziehung steht. Die 19A zeigt ein Informationssystem, das die Knoten 1, 2, 3, 4, 5, 6 und 7 umfasst, die zueinander über die Beziehungen A, B und C verknüpft sind oder in Beziehung stehen. Aus einem einzigen Informationssystem können eine oder mehrere Hierarchien modelliert werden. Beispielsweise zeigt die 19B das Hierarchiemodell der Knoten in 19A mit der Beziehung A. Entsprechend zeigt die 19C das Hierarchiemodell der Knoten in 19A mit der Beziehung B.
  • [0034]
    Die 1 zeigt eine Gesamtstruktur für das System. Der Benutzer gibt Parameter über ein Eingabemittel ein, 110. Die Parameter können Informationen wie den Namen des zu erkundenden Informationssystems und die Art der interessierenden Informationen und vielleicht einen Startpunkt für die Erkundung enthalten. Die Parameter werden von dem System verwendet, um ein Speichermittel oder eine Datenbasis auszuwählen, 120. Nachdem eine Datenbasis ausgesucht wurde, wird auf die Datenbasis zugegriffen, 130, wie weiter unten und in der 3 weitergehend beschrieben wird. Von dem Datenbankzugriff hat das System eine Liste von Knoten, die verwendet werden, um einen Eingangsinformationsraum zu erstellen, 140, der weiter unten und in der 4 beschrieben wird. Das System erstellt dann einen Betrachtungspunkt in dem Präsentationsraum, der als virtuelle Figur bezeichnet wird, 150, und weiter unten und in der 5 beschrieben wird. Die virtuelle Figur wird der Visualisierungsstruktur hinzugefügt, 160, und der Benutzer wird dann ermächtigt, in dem Präsentationsraum durch die Verwendung des Eingabemittels und eines Bildausgabemittels zu interagieren, 170.
  • [0035]
    Das Eingabemittel ist ein Gerät wie eine Tastatur, eine Maus oder ein Spaceball, das Signale basierend auf Aktionen des Benutzers bereitstellen kann. Ein Spaceball ist ein von Spatial Data Systems, Inc. erhältliches Eingabegerät, das eine Bewegung in jede der drei Dimensionen x, y und z erlaubt. Es erlaubt auch Orientierungsänderungen um jede der drei Achsen: Rollen, Neigen und Gieren.
  • [0036]
    Ein Bildausgabemittel ist ein Gerät, das Bilder als Ausgabe ausgeben kann. Beispielsweise ist eine Anzeige ein Bildausgabegerät, das Informationen in sichtbarer Form bereitstellt, wie auf einem Bildschirm einer Kathodenstrahlröhre oder einem Flachbildschirm. Das von der Anzeige gezeigte sichtbare Muster ist ein "Bild".
  • [0037]
    Ein Systemaufbau zum Ausgestalten der Erfindung ist in 18 dargelegt. Es ist ein Computer 1801 gezeigt, der enthält: eine Videoanzeige 1820, eine Tastatur 1830, eine Maus 1840, ein Spaceball 1841, eine zentrale Verarbeitungseinheit 1810, die ein Intel 486-, ein Pentium- oder ein Pentium-Pro-Prozessor etc. sein kann und die in Verbindung mit einem Speicher 1811 verwendet werden kann und eine Festplatte 1812. Der Computer 1801 kann an ein Netzwerk angeschlossen sein. Das Netzwerk kann einen Speicher für eine Datenbasis 1850 enthalten und kann auch eine Datenbasis-Verarbeitungseinheit 1860 enthalten. Obwohl diese Konfiguration als die bevorzugte Ausführungsform offenbart ist, kann sie auch durch äquivalente Hardwaresysteme oder Konfigurationen ersetzt werden.
  • 1. Speichermittel
  • [0038]
    Das Speichermittel ist ein Informationsspeicher für den Informationsraum und Mittel zum Zugriff auf eine solche Information. Es gibt eine Anzahl von Möglichkeiten, wie die Information in dem Speicher erstellt und aktualisiert wird. In der bevorzugten Ausführungsform ist der Speicher eine Standarddatenbasis, bei der ein Datensatz der Datenbasis Daten enthält, die den Knoten und seine Beziehung zu anderen Datensätzen in der Datenbasis beschreibt. Die Information in dem Speichermittel kann statisch sein oder sie kann sich verändern, während das System verwendet wird. Beispielsweise kann das Spei chermittel Daten entsprechend Sensorwerten enthalten. Veränderungen der Sensorwerte über die Zeit können durch Verändern der Inhalte eines Knotens in dem Speichermittel nachvollzogen werden oder sie können durch eine Addition oder ein Löschen von Knoten über der Zeit nachvollzogen werden. Eine schematische Darstellung eines Knotens in der Datenbasis ist in der 2 gezeigt. Ein Knoten hat eine einheitliche Kennung 210. Die Information über den Knoten kann auch seine Elternkennung 220, seine Kinderkennung 230 und Daten umfassen, die den Knoten charakterisieren 240, 250, 260 und 270.
  • [0039]
    In der bevorzugten Ausführungsform existieren Funktionen, um auf die Information im Speichermittel zuzugreifen. Diese Funktionen können durch ein Datenbasisverarbeitungsmittel oder alternativ durch das Verarbeitungsmittel ausgeführt werden, das weiter unten im Abschnitt 2 beschrieben wird. Eine Funktion, die zu erläuternden Zwecken findNodes() genannt wird, empfängt Eingabemerkmale in der Form von Parametern zur Auswahl eines oder mehrerer Knoten vom Speichermittel. Beispielsweise können die Merkmale Knoten spezifizieren, für die die Elternkennung "0", Null oder leer (Toplevel-Knoten) ist. Das Speichermittel gibt einen Satz von Knoten zurück, die durch grafische Elemente innerhalb des Präsentationsraumes zu präsentieren sind. Die 3 ist ein Flussdiagramm, das zeigt, wie diese Funktion implementiert werden kann. Zuerst bekommt das System Parameter, die den Bereich der gewünschten Knoten bestimmt, 310. Dann generiert das System eine Anfrage, wie einen SQL-Aufruf, 320. Die Funktion erhält die Ergebnisse, 330, und generiert eine Liste von Knoten, 340, die an den Benutzer zurückgegeben werden, 350. Das Interface für findNodes() ist im Folgenden angegeben:
    NodeIDhist*findNodes(selectionCriteriaList)
  • [0040]
    Eine andere Funktion empfängt als Eingabe einen der Knoten, die von findNodes() zurückgegeben werden und Parameter, die bestimmen, ob ein Elternteil oder ein Kind angefordert wird und die die zu verwendende Beziehung bestimmt. Diese Funktion, zu erläuternden Zwecken followRelation() genannt, gibt das Elternteil oder das Kind des empfangenen Knotens zusammen mit einigen Beziehungen zurück. Der die Art der Beziehung bestimmende Parameter wird verwendet, da mehr als eine hierarchische Organisation des Informationsraumes vorhanden sein kann. Das Elternteil eines Knotens können zwei verschiedene Knoten sein, falls der Informationsraum mehr als eine Organisation enthält.
  • [0041]
    Beispielsweise würde in einer "Familienbaum"-Datenbasis jeder Datensatz den Namen einer Person, den Namen ihres biologischen Vaters und den Namen ihrer biologischen Mutter enthalten. Eine hierarchische Ansicht der Datenbasis ist die "Vater-Kind"-Ansicht der Datenbasis, während eine andere hierarchische Ansieht der gleichen Datenbasis die "Mutter-Kind"-Ansicht ist. In diesem Beispiel kann der Parameter festlegen, welches biologische Elternteil von Interesse ist. Die zweite Funktion gibt entweder den Elternknoten, die Kinderknoten oder keine Knoten zurück. Falls keine Knoten zurückgegeben werden, hat der an die zweite Funktion gelieferte Knoten keine Knoten, die der angefragten Anforderung entsprechen (d. h. kein Elternteil oder kein Kind existiert).
  • [0042]
    Die 4 ist ein Flussdiagramm, das zeigt, wie followRelation() implementiert sein kann. Die Funktion empfängt den Knoten und die Parameter, 410. Die Funktion generiert dann eine Anfrage, 420 und greift auf die Ergebnisse zu, 430. Von den Ergebnissen erhält die Funktion die Elternteile oder die Kinder des Knotens zurück, 440 und diese Information wird an den Benutzer zurückgegeben, 450. Ein Beispiel des Interfaces für followRelation() ist im Folgenden angegeben:
    NodeIDList*followRelation(relationName, parentOrChildFlag, startNodeID)
  • [0043]
    Eine andere Funktion liefert mehr Information über einen spezifischen Knoten. Zu erläuternden Zwecken wird diese Funktion getNodeAttributes() genannt. Die Information, die zurückgegeben wird, ist eine Datenstruktur, die Attribute oder Werte für den spezifizierten Knoten enthält. Die Attribute oder Werte können auch eine Ansammlung von Informationen des Kindes des Knotens enthalten.
  • [0044]
    Die 5 ist ein Beispiel, das zeigt, wie diese Funktion implementiert werden kann. Die Parameter, die den Knoten bezeichnen und die von dem Knoten angefragte Information werden an die Funktion geliefert 510. Die Funktion bestimmt dann, ob eine Anfrage benötigt wird 520. Der Grund, warum keine Anfrage benötigt werden könnte, ist, dass auf die gewünschte Information bereits durch einen vorherigen Aufruf zugegriffen wurde. Falls eine Anfrage benötigt wird, wird eine Anfrage generiert, 530, auf die Ergebnisse zugegriffen, 540 und eine Liste von Attributen für den Knoten erstellt, 550. Falls keine Anfrage benötigt wird, wird eine Liste von Attributen generiert 550. Aus der Liste der generierten Attribute bestimmt die Funktion, ob eine weitere Information über den Knoten benötigt wird, 560. Falls mehr Information benötigt wird, springt die Funktion wieder zurück und startet mit der Auswahl von Parametern. Falls keine zusätzliche Information benötigt wird, kehrt die Funktion zu dem Benutzer mit den angefragten Informationen zurück, 570. Das Interface für getNodeAttributes() wird im Folgenden angegeben:
    NodeStructure*getNodeAttributes (attributeSpecifiers, nodeID)
  • [0045]
    Bemerkenswert ist, dass es möglich ist, die Funktionen followRelation() und getNodeAttriebutes() in einer einzelnen Funktion zu kombinieren, die eine Liste von Knotenbeschreibungen zurückgibt, wobei die Knotenbeschreibung die Eltern/Kind-Information und die Knotenattributeinformation enthält.
  • 2. Verarbeitungsmittel
  • [0046]
    Das Verarbeitungsmittel führt drei Aufgaben aus: (1) Erstellen und Aktualisieren des Präsentationsraumes, (2) Erstellen des Betrachtungspunktes oder der virtuellen Figur und (3) eine Verarbeitung, die es dem Benutzer erlaubt, in dem Präsentationsraum durch die Verwendung der virtuellen Figur oder des Betrachtungspunktes zu interagieren.
  • A. Erstellen und Aktualisieren des Präsentationsraumes
  • [0047]
    Der Präsentationsraum ist konzeptionell ein Baum mit Visualisierungselementen an jedem Knoten der Baumdarstellung. Der Anfangspräsentationsraum wird durch das Verarbeitungsmittel erstellt. Bei der bevorzugten Ausführungsform ist der Präsentationsraum ein dreidimensionaler Grafikraum mit einem "Szenenursprungsknoten", der den Ursprung des Raumes definiert. Um den Präsentationsraum mit Visualisierungselementen zu Füllen, beginnt das Verarbeitungsmittel mit dem Durchführen eines Aufrufs an das Speichermittel, das die Funktion findNodes() verwendet, die in der 3 gezeigt ist. Eine Liste von Knoten wird durch die erste Funktion zurückgegeben.
  • [0048]
    Wie weiter unten und in der 13 gezeigt ist, erstellt das Verarbeitungsmittel ein Visualisierungselement für jeden der durch die Funktion 1320 zurückgegebenen Knoten und hängt die Visualisierungselemente an eine Visualisierungselementenliste an, 1330. Das Visualisierungselement wird auch als Kind des Szenenursprungs hinzugefügt, 1340. Das infoNode-Attribut des Visualisierungselements wird auf die Knotenidentifikation gesetzt, so dass auf den mit dem Visualisierungselement geknüpften Knoten einfach zugegriffen werden kann und so dass er einfach identifiziert werden kann, 1350. Bemerkenswert ist, dass auch die Visualisierungselemente statisch oder in Echtzeit aktualisiert werden können, so wie die Informationsobjekte statisch oder in Echtzeit aktualisiert werden können. Beispielsweise kann ein Visualisierungselement, das datenabhängig ist, sich nicht Verändern, während ein animiertes Visualisierungselement in Echtzeit aktualisiert wird.
  • [0049]
    Um den Baum oder den Szenenursprung für jeden der von der ersten Funktion zurück empfangenen Knoten zu füllen, erstellt das Verarbeitungsmittel einen hierarchischen Baum für diese Visualisierungselemente, wie in 6 gezeigt, durch Durchführen von Aufrufen der followRelation(), die in der 4 gezeigt ist. Wie weiter unten und in der 14 gezeigt ist, korrespondiert jedes Visualisierungselement mit einem Knoten in dem Speichermittel und die Hierarchie der Visualisierungselemente korrespondiert mit der Hierarchie der Informationsknoten.
  • [0050]
    Eine Funktion expandVisTree() empfängt als Eingabe ein Visualisierungselement und den Beziehungstyp der zu bildenden Information. Auf den Knotentyp wird von dem Visualisierungselement zugegriffen und er wird in der Knotenkennung 1410 abgespeichert. Die Funktion followRelation() wird aufgerufen, um eine Liste der Kinder des Knotens zu erhalten 1420, die in einer Knotenkennungsliste (nodeIDList) gespeichert ist. Jetzt wird eine kursive Schleife gestartet: (1) Für jeden Knoten in der Knotenliste nodeIDList erstellt das Verarbeitungsmittel ein Visualisierungselement für den Knoten 1440, (2) von den Toplevel-Visualisierungselementen wird eine Liste erstellt 1440, 1450, (3) das Knotenkennungsfeld des Visualisierungselements wird auf die Knotenkennung für einen Zugriff in der Zukunft gesetzt 1440, (4) die Position und der Umfang des Kind-Visualisierungselementes wird relativ zu seinem Eltern-Koordinatensystem gesetzt, um seine Beziehung mit seinen Geschwister-Visualisierungselementen zu übertragen, (5) das Kind wird "skaliert" (d. h. die Größe des Kindes und all seiner rekursiven Kinder wird um einen Skalierungsfaktor reduziert), so dass es und alle seine Geschwister in die Region hineinpassen, die durch das Elternvisualisierungselement definiert wird 1470, und (6) die Funktion ruft sich selbst auf, um rekursiv die Kinder des aktuellen Knotens zu erweitern, 1480. In der bevorzugten Implementierung werden alle der direkten Kinder des Visualisierungselements um den gleichen Be trag skaliert. Dieser Betrag wird als "Regionsskalierung" bezeichnet.
  • [0051]
    Um die Konstruktion des Visualisierungsbaumes zu starten, wird jedes der Ursprungsvisualisierungselemente erweitert, wie durch das folgende Pseudo-Code-Segment gezeigt:
    [1510] for each visElem in rootVisElementList do
    [1520] expandVisTree(visElem, relationName);
    end for;
  • [0052]
    Jedes Visualisierungselement 610, 620, 630, 640, 650, 660 und 670 repräsentiert eine Region in dem Präsentationsraum. Die durch ein Visualisierungselement definierte Raumregion enthält Regionen von Räumen für alle Kinder des Visualisierungselements und rekursiv für alle Kinder der Kinder. Jedes der Visualisierungselemente in dem Präsentationsraum weist eine affine räumliche Transformation auf. In der bevorzugten Implementierung ist die affine räumliche Transformation eine mathematische Funktion, die durch eine 4 × 4 Transformationsmatrix abgebildet wird, die zum Standardwerkzeug auf dem Gebiet der Computergrafik gehört.
  • [0053]
    Die in der Computergrafik verwendete affine räumliche Transformation ist detaillierter in Textbüchern wie "Fundamentals of Interactive Computer Graphics" von J. D. Foley und A. van Dam, Addison Wesley Publishing Company, Inc., 1982 beschrieben. Sie ermöglichen die Verwendung von "hierarchischen Koordinatensystemen", bei denen eine Transformation eines Elternkoordinatensytstems alle Kinderkoordinatensysteme beeinflusst. Eine affine Transformation ist eine lineare Transformation, die eine parallele Geometrie erhält. Transformationen wie Skalierung, Translation (Bewegung) und Rotation sind Beispiele für affine Transformationen, während eine perspektivische Ansichtstransformation dies nicht ist. Die Hierarchie der Visualisierungselemente definiert wiederum eine Hierarchie von Koordinatensystemen. Wenn ein Visualisierungselement skaliert, rotiert oder bewegt wird, wird die Transformation alle Kinder des Knotens und die Kinder der Kinder rekursiv beeinflussen.
  • [0054]
    Aus den Attributen eines Informationsknotens bestimmten die Verarbeitungsmittel, wie das Visualisierungselement auf dem Anzeigemittel gerendert werden wird. Die Visualisierungselemente können Attribute wie Form und Farbe aufweisen, die ihr Erscheinungsbild definieren. Das Erscheinungsbild des Visualisierungselements kann auch durch seine vom Betrachtungspunkt aus gesehen Größe bestimmt werden. Beispielsweise kann die Größe eines Visualisierungselements auf dem Anzeigegerät klein sein, falls es aus einer großen Entfernung gesehen wird, während das gleiche Objekt recht klein erscheinen kann, falls es aus der Nähe gesehen wird. Falls das Erscheinungsbild eines Visualisierungselements klein ist, wird eine einfache Wiedergabe gerendert. Falls ein Visualisierungselement groß erscheint, kann eine detailliertere Wiedergabe gerendert werden. Außerdem ist es nicht nötig, dass ein Visualisierungselement ein sichtbares Erscheinungsbild hat. Falls es keine mit sich verknüpfte Form hat, wird es mit nicht wahrnehmbaren Rändern unsichtbar sein, seine Kinder werden jedoch innerhalb der unsichtbaren Grenzen ihres Elternteils sichtbar sein.
  • [0055]
    Da viele Visualisierungselemente innerhalb eines Präsentationsraumes existieren können, ist es nicht möglich oder realistisch, jedes Visualisierungselement in dem Präsentationsraum zu rendern. Um zu bestimmen, welche Visualisierungselemente gerendert werden, kann ein "Abpflücken" und ein "Beschneiden" des Präsentationsraumbaumes durchgeführt werden. Abpflücken bedeutet, dass Visualisierungselemente, die außer halb des Betrachtungsvolumens liegen, nicht gerendert werden. Das Beschneiden von Zweigen des Baumes ist möglich, da ein Visualisierungselement seine Kinder komplett eingrenzt. Falls ein Visualisierungselement außerhalb des Betrachtungsvolumens liegt, wird der durch das Visualisierungselement bezeichnete Zweig des Baumes "beschnitten" und nicht gerendert.
  • [0056]
    Die Bestimmung der Sichtbarkeit von einem Betrachtungspunkt aus ist wohl bekannt auf dem Gebiet der Grafik. In der bevorzugten Implementierung hat jedes Visualisierungselement ein definiertes "Hüllvolumen", welches das Visualisierungselement komplett einschließt. Das Hüllvolumen wird dann mit dem Betrachtungsvolumen geschnitten, um die Sichtbarkeit zu bestimmen. Falls das Hüllvolumen sich nicht mit dem Betrachtungsvolumen schneidet, wird das Sichtelement abgepflückt und der Zweig des Präsentationsraumes neben dem Visualisierungselement wird beschnitten.
  • B. Erstellen des Betrachtungspunktes oder der virtuellen Figur
  • [0057]
    Um den Betrachtungsraum auf dem Anzeigemittel zu rendern, wird ein Betrachtungspunkt benötigt. Ein Betrachtungspunkt ist definiert durch (1) einen Ort im Betrachtungsraum, (2) eine Orientierung, die die Blickrichtung und die Orientierung des Betrachtungspunktes relativ zu dem Präsentationsraum festlegt (d. h. einen Sichtachsen-Vektor und einen Vektor, der anzeigt, in welche Richtung "oben" ist), und (3) das Betrachtungsvolumen. Das Betrachtungsvolumen ist die Region des Präsentationsraumes, die für das Anzeigemittel gerendert wird. Das Betrachtungsvolumen wird typischerweise durch ein Betrachtungsfeldattribut und zwei Attribute spezifiziert, die als "nahe Aufspannebene" und "ferne Aufspannebene" bekannt sind. Das Betrachtungsvolumen ist als der Bereich definiert, der innerhalb des Sichtfeldes und zwischen der nahen Aufspannebene und der fernen Aufspannebene liegt. Wenn der Präsentationsraum ein dreidimensionaler Raum ist und eine perspektivische Ansichtsprojektion verwendet wird, ist das Betrachtungsvolumen eine abgeschnittene Pyramide oder ein Kegelstumpf. Falls eine orthografische Ansichtsprojektion verwendet wird, wird der Sichtfeldwinkel durch eine Sichtfeldbreite ersetzt und das resultierende Betrachtungsvolumen ist ein rechteckiges Parallelepiped.
  • [0058]
    Die 7A und 7B zeigen einen Präsentationsraum 700, der eine Anzahl von Visualisierungselementen 710, 720, 730 und 740 enthält. Eine virtuelle Figur oder ein Betrachtungspunkt ist an der Position 701 angeordnet. Eine perspektivische Ansichtsprojektion ist in der 7A gezeigt. Der Winkel bei 702 ist als der Sichtfeldwinkel bekannt. Die Linie 703, die den Sichtfeldwinkel halbiert, ist als die Sichtachse bekannt. Die nahe Aufspannebene 770 und die ferne Aufspannebene 780 (oder Linien in dieser Figur) stehen senkrecht auf der Sichtachse. Die Position der nahen und fernen Aufspannebenen sind durch den Abstand von dem Brennpunkt entlang der Sichtachse spezifiziert. Beispielsweise ist in der 7A bei einer perspektivischen Transformation das Betrachtungsvolumen der Bereich, der durch die nahe Aufspannebene 770, die ferne Aufspannebene 780 und den durch Linien 790 und 775 definierten Sichtfeldwinkel 702 begrenzt. Wie in 7B bei einer orthografischen Transformation gezeigt, ist das Betrachtungsvolumen als der Bereich definiert, der durch die nahe Aufspannebene 770, die ferne Aufspannebene 780 und die Linien 790 und 775 begrenzt ist. Während kompliziertere Betrachtungsvolumen definiert werden können, verwendet die bevorzugte Implementierung diese Formen von orthografischen und perspektivischen Ansichtsvolumen.
  • [0059]
    Der Prozess des Projizierens der Inhalte des dreidimensionalen Betrachtungsvolumens auf ein ebenes Bild ist auf dem Gebiet der Computergrafik wohl bekannt und ist in Textbüchern wie "Fundamentals of Interactive Computer Graphics" von J. D. Foley und A, van Dam, Addison Wesley Publishing Company, Inc., 1982 detaillierter beschrieben.
  • [0060]
    Bei der Erfindung hat der Betrachtungspunkt oder die virtuelle Figur ein zusätzliches Attribut "viewScale", welches das Betrachtungsvolumen skaliert. In der bevorzugten Implementierung wird das viewScale-Attribut durch eine positive reale Zahl mit einem Startwert von 1,0 dargestellt. Der Effekt des Kleinermachens der viewScale ist es, zu ermöglichen, dass kleinere Visualisierungselemente gesehen werden. Wie dies vollzogen wird, hängt von dem Typ der verwendeten Ansichtstransformation ab. Bei einer perspektivischen Ansichtstransformation wird der Abstand von dem Betrachtungspunkt zu der nahen Aufspannebene durch eine Funktion skaliert: viewScale (d. h. viewScale*near). In der bevorzugten Implementierung wird das Verhältnis der Abstände der nahen und der fernen Aufspannebene durch Skalieren der beiden Abstände der nahen und der fernen Aufspannebene mit der selben viewScale konstant gehalten. Bei einer orthografischen Ansichtsprojektion wird die Sichtfeldbreite mit viewScale skaliert. Bei der bevorzugten Implementierung werden die nahe und die ferne Aufspannebene für die orthografische Ansichtstransformation in der gleichen Weise skaliert wie bei der perspektivischen Ansichtstransformation.
  • [0061]
    Ein Beispiel dafür, wie die viewScale arbeitet, ist in den 16 und 17 gezeigt. Die 16A zeigt eine schematische Darstellung eines Elternknotens 1601 und seiner Kinder 1602, 1603, 1604 und 1605. Für jeden Knoten wird wie in 16B dargestellt ein Visualisierungselement erstellt. Mit je dem Visualisierungselement ist ein Regionsskalenattribut verknüpft. Beispielsweise ist die Regionsskalierung für ein Visualisierungselement 1600 1,0, da dies der komplette Präsentationsraum ist. Die Ansichtsskalierung für die anderen Visualisierungselemente sind folgt:
    Visualisierungselement Regionsskalierung
    1600 1,0
    1601 0,2
    1602 0,1
    1603 0,2
    1604 0,2
    1605 0,33
  • [0062]
    Die 17A zeigt den Betrachtungspunkt und das Betrachtungsvolumen für den Fall, dass die Ansichtsskalierung 5,0 ist und die virtuelle Figur oder der Betrachtungspunkt außerhalb der Region des Visualisierungselements 1601 liegt. Wenn die virtuelle Figur in die Region des Visualisierungselements 1601 gelangt, wird die Ansichtsskalierung mit der mit 1601 verknüpften Regionsskalierung multipliziert. Mit einer kleineren Ansichtsskalierung erscheinen nahe Objekte größer und mit mehr Details, 17B. Wenn die virtuelle Figur als nächstes in die Region des Visualisierungselements 1602 gerät, wird die Ansichtsskalierung weiter reduziert um einen Faktor von 0,1, so dass weniger Objekte gerendert werden; die Objekte, die gerendert werden, werden jedoch mit mehr Details gezeigt. Wie in 17D gezeigt, wird die Ansichtsskalierung der virtuellen Figur durch 0,1 geteilt, wenn die virtuelle Figur 1602 verlässt, wobei die Ansichtsskalierung zu 1,0 zurückkehrt. Die Ansichtsskalierung wird auf 0,33 geändert, wenn es in 1605 hinein gelangt.
  • [0063]
    Eine virtuelle Figur ist ein Betrachtungspunkt, der auch eine mit ihm verknüpfte Darstellung aufweist. In der bevorzugten Implementierung ist eine virtuelle Figur definiert, die Eigenschaften des Visualisierungselements und des Betrachtungspunktes kombiniert. Die virtuelle Figur ist eine animierte Figur oder ein animiertes Icon, das den Benutzer in dem Präsentationsraum darstellt. Der Benutzer erkundet das Informationssystem durch Bewegen der virtuellen Figur durch den Präsentationsraum. Verschiedene Visualisierungselemente werden in das Betrachtungsvolumen fallen, wenn die virtuelle Figur sich bewegt. Nur die Visualisierungselemente, die sich mit dem Betrachtungsvolumen überschneiden, werden auf dem Anzeigemittel sichtbar werden.
  • [0064]
    Die virtuelle Figur ist als eine Datenstruktur implementiert, die das Visualisierungselement durch Hinzufügen einer Ansichtstransformation oder einer Ansichtsprojektion erweitert. Diese Projektion kann eine orthografische Projektion sein, die affin ist oder es kann eine perspektivische Ansichtstransformation sein, die nicht affin ist. Die Lokalisierung und die Orientierung der virtuellen Figur sind Eigenschaften die daher rühren, dass die virtuelle Figur ein Visualisierungselement ist. Da es ein Visualisierungselement ist, kann es an andere Visualisierungselemente innerhalb des Präsentationsraumes angefügt werden. Daher ist die Bewegung der virtuellen Figur relativ zu dem Koordinatensystem, das durch das Visualisierungselement definiert ist, an dem die virtuelle Figur angefügt ist. Es ist möglich, dass mehrere virtuelle Figuren innerhalb eines Präsentationsraumes sind. Die virtuellen Figuren können zu einem einzigen Benutzer gehören, wobei der Benutzer in diesem Fall zwischen virtuellen Figuren hin- und herschalten kann. Die virtuellen Figuren können auch zu verschiedenen Benutzern gehören, für den Fall, dass mehrere Menschen denselben Informationsraum erkunden. Da die vir tuelle Figur selbst ein Visualisierungselement ist, können die virtuellen Figuren für die anderen virtuellen Figuren sichtbar sein.
  • C. Benutzerinteraktion in den Präsentationsräumen
  • [0065]
    Der Benutzer interagiert mit dem System über das Eingabemittel, das eine Tastatur, eine Maus oder einen Spaceball umfassen kann, jedoch auf diese nicht beschränkt ist. Jede Interaktion des Benutzers unter Verwendung des Eingabemittels generiert ein Ereignis mit einem oder mehreren Attributen, welche die Eingabe charakterisieren. Ein Ereignis wird durch eine Datenstruktur repräsentiert, die zumindest den Typ des Ereignisses anzeigt. Die Datenstruktur kann erweitert werden, um zusätzliche Ereignisparameter zu enthalten. Beispielsweise erzeugt ein Tastenanschlag des Benutzers ein Ereignis mit einem Attribut, das anzeigt, dass eine Taste gedrückt wurde und mit einem Attribut, das die bestimmte Taste, die gedrückt wurde anzeigt. Im Allgemeinen übermitteln Ereignisse ein bestimmtes Auftreten oder eine bestimmte Situation.
  • [0066]
    Innerhalb des Verarbeitungsmittels werden Ereignisse von einem "Ereignismanager" behandelt. Ein Ereignismanager nimmt Ereignisse entgegen und reagiert auf sie unter Verwendung der in der Ereignisdatenstruktur enthaltenen Information. Wenn ein Ereignismanager ein Ereignis empfängt, kann er (1) dessen innere Beschaffenheit ändern, (2) einen Datensatz des aufgetretenen Ereignisses anlegen, (3) eine Aktion als eine Reaktion generieren oder (4) eine Kombination der obengenannten Möglichkeiten ausführen.
  • [0067]
    Die 8 zeigt ein Flussdiagramm für einen Ereignismanager. Der Ereignismanager überprüft zuerst, ob Systemereignisse vorhanden sind, 810. Dies wird typischerweise durch Pollen oder durch Einreihen von Systemanfragen in einer Warteschlange durchgeführt. Ereignisse können in drei Klassen unterteilt werden. Es gibt Benutzerereignisse, die eine Mausbewegung und ein Drücken von Tasten einschließen. Die zweite Klasse sind Regions- oder Grenzereignisse, bei denen die virtuelle Figur von einem Visualisierungselement oder einer Region des Präsentationsraumes sich zu einer anderen bewegt. Der dritte Ereignistyp sind Sichtbarkeitsereignisse, die auftreten, wenn die Visualisierungselemente entweder mit mehr oder weniger Details gerendert werden. Beispielsweise wird ein Objekt größer und mit mehr Details gerendert, wenn eine virtuelle Figur sich in Richtung des Objekts bewegt. Umgekehrt wird ein Objekt kleiner und die Details des Objekts werden reduziert, wenn die virtuelle Figur sich von dem Objekt wegbewegt. Ein Ereignis kann generiert werden, um anzuzeigen, dass sich die Detailtiefe ändert oder geändert werden muss.
  • [0068]
    Falls ein Systemereignis empfangen wird, erstellt der Ereignismanager ein Ereignisobjekt für das empfangene Ereignis 840. Ein Ereignisobjekt enthält Attribute, welche die Art des Ereignisses und die Charakteristiken des Ereignisses, wie einer Mausbewegung oder einen Tastendrucks beschreiben. Der Ereignismanager bearbeitet dann das Ereignis 850, wie weiter unten und in den 9 und 10 beschrieben ist.
  • [0069]
    Falls kein Ereignis empfangen wird, ruft der Ereignismanager die Prozeduren auf, um den Bildschirm zu aktualisieren 830. Der Prozess des Aktualisierens des Bildschirms verwendet Standardrendertechniken aus dem Gebiet der Computergrafik. Die Strukturen innerhalb des Präsentationsraumes einschließlich der virtuellen Figur werden durchlaufen; an jedem Knoten der Präsentationsgrafik werden die Koordinatentransformationen angewendet und Zeichenoperationen werden basierend auf Attributen der Visualisierungselemente (beispielsweise Form, Farbe, etc.) durchgeführt.
  • [0070]
    Die 9 ist ein Beziehungsdiagramm von Ereignissen. Ein Ereignismanager 910 greift auf ein Speichermittel 920, einen aktuellen Präsentationsraum 930 und eine virtuelle Figur 940 zu. Ein Flussdiagramm des Ereignismanagers ist in der 10 gezeigt. Der Ereignismanager kann als Weichenbefehl für die Ereignisklassen implementiert sein, 1010. Falls das Ereignis ein Benutzerereignis ist, bestimmt der Ereignismanager zuerst den aktuellen Status des Systems, 1020, bestimmt den neuen Status des Systems, 1030, und veranlasst Aktionen, die dem Statusübergang entsprechen, 1040. Diese Aktionen können das Erstellen und Löschen von Objekten, das Ändern von Objektattributen, das Wechseln von Beziehungen zwischen Objekten und das Wechseln von lokalen Statusvariablen beinhalten. Der Effekt dieser Aktionen kann sein, einige Aspekte des Präsentationsraumes zu ändern oder es kann einige Änderungen in dem präsentierten Informationssystem verursachen.
  • [0071]
    Falls das Ereignis ein Regions- oder Grenzereignis ist, bestimmt das System wie in der 11 gezeigt zuerst die neue Region, 1110, und bestimmt die Beziehung zwischen neuen und alten Regionen, 1120. Dies umfasst die Tiefe des untersten gemeinsamen Visualisierungselements. Wenn die virtuelle Figur eine Region betritt oder verlässt, muss das viewScale-Attribut der virtuellen Figur angepasst werden, um der angesammelten Skalierung (vom Ursprung bis zur aktuellen Region) der betretenen Region zu entsprechen. Diese Skalierung ermöglicht die Wahrnehmung der Multiauflösungspräsentation. Das wird von einer Funktion 1130 ausgeführt, die als Argumente (1) die neue Region, (2) die Beziehung zwischen den alten und neuen Regionen und (3) das unterste gemeinsame Visualisierungselement entgegennimmt. Zusätzlich zum Anpassen des viewScale- Attributs der virtuellen Figur kann die Funktion 1130 das Ausführen zusätzlicher Aktionen veranlassen, wie das Erweitern des Teils der Visualisierungsstruktur, der innerhalb der neuen Region liegt oder ein Löschen von Visualisierungselementen, die innerhalb der alten Region liegen.
  • [0072]
    Falls das Ereignis ein Renderereignis ist, kann das System, wie in 12 gezeigt, einen Fallunterscheidungsbefehl abhängig von der Art des Renderereignisses 1210 enthalten. Falls das Ereignis eines ist, das die virtuelle Figur so bewegt, dass Objekte das Sichtfeld betreten oder verlassen, ruft das System Funktionen auf, um die Attribute der Objekte von sichtbar zu nicht sichtbar oder umgekehrt zu verändern. Das System kann auch Visualisierungselemente hinzufügen oder löschen 1220, abhängig davon, ob sie in dem Sichtfeld sind und es kann auch nach Notwendigkeit Beziehungen von Visualisierungselementen verändern 1220. Die andere Art von Ereignis zum Rendern eines Objektes ist das Ändern der Detailtiefe eines sichtbaren Objekts. Für diese Art von Ereignis bestimmt das System eine neue Detailtiefe 1230 und ändert dann die Attribute des Objekts, es erstellt oder löscht Objekte und ändert Beziehungen zwischen Objekten nach Notwendigkeit. Eine Verwendung dieses Merkmals ist, dass beim ersten Ausweiten des Visualisierungselementbaumes eine fixierte Tiefe festgelegt wird, so dass nur die Toplevels erstellt werden. Wenn der Benutzer die virtuelle Figur durch den Präsentationsraum bewegt und die Detailtiefe sich verändert, kann das System auf die Ereignisse durch Ausweiten der Detailtiefe für spezifische Zweige des Präsentationsraumes oder durch Streichen von gering detaillierten Visualisierungselementen reagieren, wenn diese außerhalb der Grenzen der Sichtbarkeit gelangen.
  • [0073]
    Während die Erfindung detailliert unter spezifischer Bezugnahme auf ihre bevorzugten Ausführungsformen beschrieben wur de, ist offensichtlich, dass Variationen und Modifikationen von ihr ausgeführt werden können, ohne dass der beanspruchte Bereich der Erfindung verlassen wird.

Claims (9)

  1. Verfahren zum Befähigen eines Benutzers zum Navigieren durch und zum Zugriff auf Informationsobjekte in einem strukturierten Präsentationsraum, wobei die Informationsobjekte in einem hierarchisch strukturierten Format gespeichert sind und wobei ein Basisinformationsobjekt ein Elterninformationsobjekt und zumindest ein Kindinformationsobjekt aufweisen kann, gekennzeichnet durch (i) Modellieren der Informationsobjekte, so dass sie innerhalb des strukturierten Präsentationsraums sind, wobei das Basisinformationsobjekt innerhalb des Elterninformationsobjekts angeordnet ist und das Kindinformationsobjekt innerhalb des Basisinformationsobjekts angeordnet ist; (ii) Bestimmen eines Betrachtungspunktes (701) innerhalb des Präsentationsraumes, (iii) Bewegen des Betrachtungspunktes innerhalb des strukturierten Präsentationsraumes als Reaktion auf eine Eingabe des Benutzers, wobei der Betrachtungspunkt zwischen dem Basisinformationsobjekt, dem Elterninformationsobjekt und dem Kindinformationsobjekt bewegt werden kann und wobei die Skalierung des Betrachtungsvolumens des Betrachtungspunktes relativ zur Skalierung des Informationsobjekts basiert ist, das den Betrachtungspunkt umfasst, und (iv) Anzeigen der Informationsobjekte in einer multidimensionalen perspektivischen Ansicht entsprechend dem Betrachtungspunkt, wobei jedes Kindinformationsobjekt als innerhalb des Basisinformationsobjekts liegend angezeigt wird und das Basisinformationsobjekt als innerhalb des Elterninformationsobjekts liegend angezeigt wird.
  2. Verfahren gemäß Anspruch 1, wobei jedes Informationsobjekt ein statisches Informationsobjekt aufweist.
  3. Verfahren gemäß Anspruch 1, wobei jedes Informationsobjekt ein Informationsobjekt aufweist, das in Echtzeit aktualisiert wird.
  4. Verfahren gemäß einem der vorangehenden Ansprüche, wobei die Informationsobjekte durch die folgenden Schritte angezeigt werden: (a) Generieren eines Betrachtungsvolumens innerhalb des strukturierten Präsentationsraumes, (b) Skalieren des Betrachtungsvolumens in Reaktion auf die Lokalisierung des Betrachtungspunktes, (c) Pflücken von Informationsobjekten innerhalb des Betrachtungsvolumens, (d) Abschneiden von Informationsobjekten innerhalb des Betrachtungsvolumens, und (e) Rendern der Informationsobjekte innerhalb des Betrachtungsvolumens auf der Videoanzeige.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, das die folgenden Schritte umfasst: (a) Generieren eines hierarchischen Präsentationsraumes aus Gruppen von Informationsobjekten, (b) Generieren einer Betrachtungsöffnung zum Navigieren in dem Präsentationsraum, (c) Bewegen der Betrachtungsöffnung in dem Präsentationsraum in Reaktion auf das Eingabemittel und (d) Aktualisieren des Präsentationsraumes in Reaktion auf die Bewegung des Betrachtungspunktes.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Informationsobjekte durch die folgenden Schritte modelliert werden: (a) Generieren eines Präsentationsszenenursprungs, (b) Generieren einer Liste von Informationsobjekten, (c) Generieren eines Visualisierungselementes für jedes Informationsobjekt, (d) Anhängen jedes Visualisierungselementes an den Präsentationsszenenursprung, (e) Generieren der Kinder eines jeden Visualisierungselementes, (f) Generieren eines Visualisierungselementes für jedes Kind und (g) Setzen der Kindvisualisierungselement-Koordinaten relativ zu dem Elternteil.
  7. System zum Befähigen eines Benutzers zum Navigieren durch und zum Zugreifen auf Informationsobjekte in einem strukturierten Präsentationsraum, umfassend: (a) ein Speichermittel zum Speichern von Informationen, wobei die Informationsobjekte in einem hierarchisch strukturierten Format gespeichert sind, wobei ein Basisinformationsobjekt ein Elterninformationsobjekt und zumindest ein Kindinformationsobjekt aufweisen kann, (b) eine Anzeige zum Anzeigen visueller Informationen für den Benutzer, (c) ein Eingabemittel zur Aufnahme einer Eingabe vom Benutzer, und (d) ein Verarbeitungsmittel, dadurch charakterisiert, dass das Verarbeitungsmittel aufgebaut ist zum: (i) Modellieren der Informationsobjekte, so dass sie innerhalb des strukturierten Präsentationsraumes sind, wobei das Basisinformationsobjekt innerhalb des Elterninformationsobjekts angeordnet ist und das Kindinformationsobjekt innerhalb des Basisinformationsobjekts angeordnet ist, (ii) Bestimmen eines Betrachtungspunktes (701) innerhalb des Präsentationsraumes, (iii) Reaktion auf das Eingabemittel, Bewegen des Betrachtungspunktes innerhalb des strukturierten Präsentationsraumes, wobei der Betrachtungspunkt zwischen dem Basisinformationsobjekt, dem Elterninformationsobjekt und dem Kindinformationsobjekt bewegt werden kann und wobei die Skalierung des Betrachtungsvolumens des Betrachtungspunktes relativ zur Skalierung des Informationsobjektes basiert ist, das den Betrachtungspunkt enthält, und (iv) Anzeigen der Informationsobjekte auf der Anzeige in einer multidimensionalen perspektivischen Ansicht entsprechend dem Betrachtungspunkt, wobei jedes Kindinformationsobjekt als innerhalb des Basisinformationsobjekts liegend angezeigt wird und wobei das Basisinformationsobjekt als innerhalb des Elterninformationsobjekts liegend angezeigt wird.
  8. System gemäß Anspruch 7, wobei das Speichermittel (1850) weiterhin ein Datenbankserver-Verarbeitungsmittel (1860) umfasst, das angeordnet ist, um zumindest auf ein Informationsobjekt zuzugreifen.
  9. System gemäß Anspruch 8, wobei das Datenbankserver-Verarbeitungsmittel (1860) angeordnet ist, um eine Liste von Elterninformationsobjekten und eine Liste von Kinderinformationsobjekten zu generieren.
DE1997631045 1996-08-12 1997-07-22 Navigation und Interaktion in strukturierten Informationsräumen Expired - Lifetime DE69731045T2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US08695470 US5923330A (en) 1996-08-12 1996-08-12 System and method for navigation and interaction in structured information spaces
US695470 1996-08-12

Publications (1)

Publication Number Publication Date
DE69731045T2 true DE69731045T2 (de) 2005-11-24

Family

ID=24793113

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1997631045 Expired - Lifetime DE69731045T2 (de) 1996-08-12 1997-07-22 Navigation und Interaktion in strukturierten Informationsräumen
DE1997631045 Expired - Lifetime DE69731045D1 (de) 1996-08-12 1997-07-22 Navigation und Interaktion in strukturierten Informationsräumen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE1997631045 Expired - Lifetime DE69731045D1 (de) 1996-08-12 1997-07-22 Navigation und Interaktion in strukturierten Informationsräumen

Country Status (4)

Country Link
US (1) US5923330A (de)
JP (1) JPH1091649A (de)
DE (2) DE69731045T2 (de)
EP (1) EP0827090B1 (de)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859551B2 (en) * 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
JPH1040197A (ja) * 1996-07-19 1998-02-13 Fujitsu Ltd 通信管理装置
US5940834A (en) * 1997-03-13 1999-08-17 Mitel Corporation Automatic web page generator
GB9821761D0 (en) * 1997-10-07 1998-12-02 Cabletron Systems Inc Dynamic network navigation tree
US6396509B1 (en) * 1998-02-21 2002-05-28 Koninklijke Philips Electronics N.V. Attention-based interaction in a virtual environment
US6348927B1 (en) * 1998-02-27 2002-02-19 Oracle Cor Composing a description of a virtual 3D world from values stored in a database and generated by decomposing another description of a virtual 3D world
US6088698A (en) * 1998-02-27 2000-07-11 Oracle Corporation Method and apparatus for incrementally generating a virtual three-dimensional world
US6151595A (en) * 1998-04-17 2000-11-21 Xerox Corporation Methods for interactive visualization of spreading activation using time tubes and disk trees
KR100298789B1 (ko) * 1998-04-29 2001-09-06 윤종용 그래픽 처리에 있어서 클리핑 처리방법
JP4240343B2 (ja) * 1998-12-19 2009-03-18 株式会社セガ 画像生成装置および画像生成方法
US7839399B2 (en) 1999-07-29 2010-11-23 Benman William J System and method for volumetric display of video images extracted from arbitrary background environments
US6922682B1 (en) 1999-10-12 2005-07-26 Aprisa, Inc. Method and system for engineering discovery
US6983236B1 (en) * 1999-10-12 2006-01-03 Aprisa, Inc. Method for system-constraint-based selection for design components
WO2001042895A1 (en) * 1999-12-07 2001-06-14 University Of Utah Research Foundation Method and apparatus for monitoring dynamic systems using n-dimensional representations of critical functions
US7654966B2 (en) * 1999-12-07 2010-02-02 University Of Utah Research Foundation Method and apparatus for monitoring dynamic cardiovascular function using n-dimensional representatives of critical functions
US6766343B1 (en) * 2000-02-04 2004-07-20 Harris Corporation Method and apparatus for coordinate system conversions
US6928087B2 (en) * 2000-02-10 2005-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for automatic cross-media selection and scaling
US6760720B1 (en) 2000-02-25 2004-07-06 Pedestrian Concepts, Inc. Search-on-the-fly/sort-on-the-fly search engine for searching databases
US6344837B1 (en) 2000-06-16 2002-02-05 Andrew H. Gelsey Three-dimensional image display with picture elements formed from directionally modulated pixels
US20020015003A1 (en) * 2000-08-07 2002-02-07 Masami Kato Virtual space system structured by plural user terminals and server device
US6950791B1 (en) 2000-09-13 2005-09-27 Antartica Systems, Inc. Method for describing objects in a virtual space
US7788323B2 (en) * 2000-09-21 2010-08-31 International Business Machines Corporation Method and apparatus for sharing information in a virtual environment
US6910186B2 (en) 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
US20020129342A1 (en) * 2001-03-07 2002-09-12 David Kil Data mining apparatus and method with user interface based ground-truth tool and user algorithms
US20030164827A1 (en) * 2001-05-18 2003-09-04 Asaf Gottesman System and method for displaying search results in a three-dimensional virtual environment
US6909429B2 (en) * 2001-05-18 2005-06-21 A.G. Imaginations Ltd. System and method for displaying content in a three-dimensional virtual environment
JP3747404B2 (ja) * 2001-06-19 2006-02-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation グラフィックス・イメージ作成装置、及びその方法並びにプログラム
US7334196B2 (en) * 2001-06-25 2008-02-19 Siemens Medical Solutions Health Services Corporation User interface display navigation and item selection system
CA2496143A1 (en) * 2001-10-12 2003-04-17 University Of Utah Research Foundation Anesthesia drug monitor
US6602075B2 (en) * 2001-11-20 2003-08-05 Discovertheoutdoors.Com, Inc. Method of teaching through exposure to relevant perspective
US6602076B2 (en) * 2001-11-20 2003-08-05 Discovertheoutdoors.Com, Inc. Method of teaching through exposure to relevant perspective
KR100450823B1 (ko) * 2001-11-27 2004-10-01 삼성전자주식회사 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
US6791549B2 (en) * 2001-12-21 2004-09-14 Vrcontext S.A. Systems and methods for simulating frames of complex virtual environments
US8612196B2 (en) * 2002-04-11 2013-12-17 Linden Research, Inc. System and method for distributed simulation in which different simulation servers simulate different regions of a simulation space
US7305611B2 (en) * 2002-08-22 2007-12-04 Platform Digital Llc Authoring tool for remote experience lessons
US7862428B2 (en) * 2003-07-02 2011-01-04 Ganz Interactive action figures for gaming systems
US7725947B2 (en) * 2003-08-06 2010-05-25 Sap Ag Methods and systems for providing benchmark information under controlled access
US7617177B2 (en) * 2003-08-06 2009-11-10 Sap Ag Methods and systems for providing benchmark information under controlled access
JP4367862B2 (ja) 2003-12-31 2009-11-18 ガンズ,ア・パートナーシップ・オブ・トゥー・オンタリオ・コーポレイションズ 仮想世界プレゼンテーションを提供する方法
US7534157B2 (en) * 2003-12-31 2009-05-19 Ganz System and method for toy adoption and marketing
US20050195186A1 (en) * 2004-03-02 2005-09-08 Ati Technologies Inc. Method and apparatus for object based visibility culling
JPWO2006085455A1 (ja) * 2005-02-14 2008-06-26 株式会社ジャストシステム 文書処理装置および文書処理方法
KR100707206B1 (ko) * 2005-04-11 2007-04-13 삼성전자주식회사 3차원 객체의 깊이영상 기반 표현 방법 및 이를 이용한모델링 및 렌더링 방법 및 장치
US7779004B1 (en) 2006-02-22 2010-08-17 Qurio Holdings, Inc. Methods, systems, and products for characterizing target systems
US7983955B2 (en) * 2006-12-06 2011-07-19 Ganz System and method for tiered website access
US8205158B2 (en) * 2006-12-06 2012-06-19 Ganz Feature codes and bonuses in virtual worlds
KR100864564B1 (ko) 2007-01-11 2008-10-20 경원대학교 산학협력단 시나리오 기반의 문화 유산 저작 시스템
US7849420B1 (en) 2007-02-26 2010-12-07 Qurio Holdings, Inc. Interactive content representations enabling content sharing
US7840903B1 (en) 2007-02-26 2010-11-23 Qurio Holdings, Inc. Group content representations
US9098167B1 (en) * 2007-02-26 2015-08-04 Qurio Holdings, Inc. Layered visualization of content representations
US20080214304A1 (en) * 2007-03-02 2008-09-04 Electronic Arts, Inc. User interface for selecting items in a video game
US20080274806A1 (en) * 2007-05-02 2008-11-06 S.H. Ganz Holdings Inc. And 816877 Ontario Limited Character development and exchange
US8260266B1 (en) 2007-06-26 2012-09-04 Qurio Holdings, Inc. Method and system for third-party discovery of proximity-based services
US8350844B2 (en) 2007-08-20 2013-01-08 International Business Machines Corporation Monitoring user attention in a computer-simulated environment
US9111285B2 (en) * 2007-08-27 2015-08-18 Qurio Holdings, Inc. System and method for representing content, user presence and interaction within virtual world advertising environments
US8127237B2 (en) 2007-09-24 2012-02-28 Sap Ag Active business client
US8250169B2 (en) * 2007-09-24 2012-08-21 Sap Ag Business context data companion tool
JP4985970B2 (ja) * 2007-10-24 2012-07-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation オブジェクトの表示を制御する技術
US8261307B1 (en) 2007-10-25 2012-09-04 Qurio Holdings, Inc. Wireless multimedia content brokerage service for real time selective content provisioning
US8626819B2 (en) 2007-11-19 2014-01-07 Ganz Transfer of items between social networking websites
US20090132357A1 (en) * 2007-11-19 2009-05-21 Ganz, An Ontario Partnership Consisting Of S.H. Ganz Holdings Inc. And 816877 Ontario Limited Transfer of rewards from a central website to other websites
US8612302B2 (en) 2007-11-19 2013-12-17 Ganz Credit swap in a virtual world
US8088002B2 (en) 2007-11-19 2012-01-03 Ganz Transfer of rewards between websites
JP4881903B2 (ja) * 2008-03-18 2012-02-22 ヤフー株式会社 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム
KR100888156B1 (ko) 2008-05-15 2009-03-10 팅크웨어(주) 안내 심볼 출력 시스템 및 방법
US8977645B2 (en) * 2009-01-16 2015-03-10 Google Inc. Accessing a search interface in a structured presentation
US8412749B2 (en) * 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US20100185651A1 (en) * 2009-01-16 2010-07-22 Google Inc. Retrieving and displaying information from an unstructured electronic document collection
US8615707B2 (en) * 2009-01-16 2013-12-24 Google Inc. Adding new attributes to a structured presentation
US8452791B2 (en) * 2009-01-16 2013-05-28 Google Inc. Adding new instances to a structured presentation
US8782530B2 (en) * 2009-03-25 2014-07-15 Sap Ag Method and system for providing a user interface in a computer
US8712953B2 (en) * 2009-03-25 2014-04-29 Sap Ag Data consumption framework for semantic objects
US8161398B2 (en) * 2009-05-08 2012-04-17 International Business Machines Corporation Assistive group setting management in a virtual world
US20100306223A1 (en) * 2009-06-01 2010-12-02 Google Inc. Rankings in Search Results with User Corrections
US20110106819A1 (en) * 2009-10-29 2011-05-05 Google Inc. Identifying a group of related instances
US20110165939A1 (en) * 2010-01-05 2011-07-07 Ganz Method and system for providing a 3d activity in a virtual presentation
US8836719B2 (en) 2010-04-23 2014-09-16 Ganz Crafting system in a virtual environment
US8725476B1 (en) * 2010-05-04 2014-05-13 Lucasfilm Entertainment Company Ltd. Applying details in a simulation
KR20120050083A (ko) * 2010-11-10 2012-05-18 삼성전자주식회사 디스플레이장치, 리모트 컨트롤러 및 이들의 제어방법
US8970592B1 (en) 2011-04-19 2015-03-03 Lucasfilm Entertainment Company LLC Simulating an arbitrary number of particles
US9454554B1 (en) * 2011-05-12 2016-09-27 Bentley Systems, Incorporated View dependent query of multi-resolution clustered 3D dataset
US8721456B2 (en) 2012-02-17 2014-05-13 Ganz Incentivizing playing between websites
US9053582B2 (en) 2012-06-11 2015-06-09 Disney Enterprises, Inc. Streaming light propagation
US8957896B2 (en) * 2012-06-11 2015-02-17 Disney Enterprises, Inc. Streaming hierarchy traversal renderer
US9123162B2 (en) 2012-06-11 2015-09-01 Disney Enterprises, Inc. Integration cone tracing
US20140039806A1 (en) * 2012-08-02 2014-02-06 Siemens Corporation Estimating remaining useful life from prognostic features discovered using genetic programming
US9123154B2 (en) 2012-10-09 2015-09-01 Disney Enterprises, Inc. Distributed element rendering
US9508315B2 (en) 2013-03-08 2016-11-29 Disney Enterprises, Inc. Ordering rays in rendered graphics for coherent shading
US9514560B2 (en) 2013-03-15 2016-12-06 Dreamworks Animation Llc Arbitrary hierarchical tagging of computer-generated animation assets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613946A (en) * 1984-06-07 1986-09-23 Forman Ernest H Method and apparatus for generating hierarchical displays
US5262761A (en) * 1987-09-08 1993-11-16 Intelligent Micro Systems, Inc. Displaying hierarchical tree-like designs in windows
US4821211A (en) * 1987-11-19 1989-04-11 International Business Machines Corp. Method of navigating among program menus using a graphical menu tree
JPH01250129A (en) * 1988-03-02 1989-10-05 Hitachi Ltd Display screen operating system
US5021976A (en) * 1988-11-14 1991-06-04 Microelectronics And Computer Technology Corporation Method and system for generating dynamic, interactive visual representations of information structures within a computer
US5119477A (en) * 1989-10-23 1992-06-02 International Business Machines Corporation Memory manager for hierarchical graphic structures
US5295243A (en) * 1989-12-29 1994-03-15 Xerox Corporation Display of hierarchical three-dimensional structures with rotating substructures
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
EP0548240A1 (de) * 1990-09-10 1993-06-30 Lotus Development Corporation Gerät und verfahren für einen wiederformatierbaren tabulator
US5524187A (en) * 1991-03-25 1996-06-04 The Trustees Of Columbia University Worlds-within-worlds nested display and interaction system and method
US5528735A (en) * 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5555354A (en) * 1993-03-23 1996-09-10 Silicon Graphics Inc. Method and apparatus for navigation within three-dimensional information landscape
WO1995002222A1 (en) * 1993-07-07 1995-01-19 European Computer-Industry Research Centre Gmbh Database structures
US5689628A (en) * 1994-04-14 1997-11-18 Xerox Corporation Coupling a display object to a viewpoint in a navigable workspace
US5689669A (en) * 1994-04-29 1997-11-18 General Magic Graphical user interface for navigating between levels displaying hallway and room metaphors
US5682469A (en) * 1994-07-08 1997-10-28 Microsoft Corporation Software platform having a real world interface with animated characters

Also Published As

Publication number Publication date Type
US5923330A (en) 1999-07-13 grant
JPH1091649A (ja) 1998-04-10 application
EP0827090A2 (de) 1998-03-04 application
EP0827090A3 (de) 1999-08-18 application
EP0827090B1 (de) 2004-10-06 grant
DE69731045D1 (de) 2004-11-11 grant

Similar Documents

Publication Publication Date Title
Fekete The infovis toolkit
Couclelis People manipulate objects (but cultivate fields): beyond the raster-vector debate in GIS
US7013435B2 (en) Three dimensional spatial user interface
US7280105B2 (en) Occlusion reducing transformations for three-dimensional detail-in-context viewing
US5973699A (en) System and method for increasing the performance for real-time rendering of three-dimensional polygonal data
US5812134A (en) User interface navigational system & method for interactive representation of information contained within a database
Sahay Implementation of information technology: a time-space perspective
US6492989B1 (en) Computer method and apparatus for creating visible graphics by using a graph algebra
US6594673B1 (en) Visualizations for collaborative information
Parker et al. Visualization of large nested graphs in 3D: Navigation and interaction
US5093907A (en) Graphic file directory and spreadsheet
US5010500A (en) Gesture-modified diagram for retrieval of image resembling diagram, with parts selectable for further interactive retrieval
US5671381A (en) Method and apparatus for displaying data within a three-dimensional information landscape
Strothotte Computational Visualization: Graphics, abstraction and interactivity
US5555354A (en) Method and apparatus for navigation within three-dimensional information landscape
Bladh et al. Extending tree-maps to three dimensions: A comparative study
Bederson et al. Implementing a zooming user interface: experience building Pad++
Chen et al. Manipulation, display, and analysis of three-dimensional biological images
US5923330A (en) System and method for navigation and interaction in structured information spaces
Peng Automated generalization in GIS
Rao et al. Exploring large tables with the table lens
WO1999010819A1 (de) Verfahren und system zur rechnergestützten ermittlung einer relevanz eines elektronischen dokuments für ein vorgebbares suchprofil
Charters et al. Visualisation for informed decision making; from code to components
WO1998001808A1 (de) Datenbanksystem
JPH0916809A (ja) 3次元グラフィックスシステム