-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Technik zum Entwerfen
des Layouts einer dreidimensionalen, graphischen Umgebung und insbesondere
liefert diese Offenbarung eine Vorrichtung und ein Verfahren zum
Partitionieren einer dreidimensionalen, graphischen Umgebung abhängig von
einer Datenobjektdatenbank und den Metadaten, die den Datenobjekten
zugeordnet sind.
-
Hintergrund der Erfindung
-
Datenbanken
werden häufig
verwendet, um Informationen zu speichern, die sich auf große Objektzahlen
beziehen, wie z. B. Produkte, Kunstgegenstände, Museumsstücke oder
Bücher.
Aufgrund ihrer Größe kann es
schwierig sein, durch die Informationen zu suchen oder zu browsen,
die in diesen Datenbanken gespeichert sind. Bei vielen Anwendungen
ist es besonders wünschenswert,
das Browsen durch diese Datenbanken zu einem intuitiven oder einfachen
Prozess zu machen, insbesondere für Computerbenutzer oder -browser
ohne Fachkenntnisse. Zum Beispiel hat das Online-Einkaufen an Popularität gewonnen,
hauptsächlich
aufgrund seiner Bequemlichkeit. Genauer gesagt kann das Einkaufen
in der bequemen Umgebung seines eigenen Zuhauses oder des Büros, zu
jeder Zeit, Tag oder Nacht schnell erreicht werden. Folglich haben
viele Einzelhandelkaufhäuser
Webseiten im Internet, die es einem Benutzer ermöglichen, ein Produkt auszuwählen und
es online zu kaufen. Für
einen durchschnittlichen Verbraucher mit begrenzten Computerkenntnissen
ist es jedoch schwierig, Produkte auf der Webseite zu finden, wodurch
die Bequemlichkeit des Online-Einkaufs bedeutend verringert wird.
-
Dreidimensionale
graphische Umgebungen wurde verwendet, um das Betrachten von und
die Navigation durch Informationen und Datenbanken (wie z. B. auf
einer Einzelhandels-Webseite)
auf intuitive Weise zu ermöglichen.
Genauer gesagt ermöglicht
es eine dreidimensionale graphische Umgebung einem Benutzer, intuitiv
in einem virtuellen Raum zu navigieren und somit ohne weiteres Artikel
in dem Raum zu lokalisieren und zu betrachten. Um eine dreidimensionale
graphische Umgebung zu erzeugen ist es üblich, die Umgebung in eine
Mehrzahl von dreidimensionalen Bereichen (z. B. Räumen) zu
teilen oder zu partitionieren, was die Wirkung des logischen Aufteilens
und Anzeigens der Objekte innerhalb der Umgebung hat. Im Wesentlichen
ermöglicht
das Partitionieren der Umgebung und das Verteilen von Objekten in
der partitionierten Umgebung eine Navigation durch die Umgebung.
-
Gegenwärtig sind
Algorithmen zum Partitionieren einer dreidimensionalen graphischen
Umgebung entworfen, um eine statisch partitionierte Umgebung zu
berücksichtigen,
in der die Anzahl von Artikeln, die in jedem partitionierten Bereich
platziert sind, sich nicht ändert.
Folglich müssen
die Partitionen nur einmal bestimmt werden und folglich ist die
Komplexität
des Algorithmus von wenig oder keinem Belang. In dem Fall einer
dynamisch partitionierten Umgebung jedoch, in der die Umgebung kontinuierlich
neu partitioniert werden kann und Objekte in ihrer Anzahl verändert werden
können
und/oder neu gruppiert und neu positioniert werden können, muss
der Partitionsalgorithmus eine minimale Auswirkung auf den Gesamtprozess
des Aufbereitens der dreidimensionalen graphischen Umgebung haben.
Das Dokument „Squarified
Treemaps" von Bruls
u. a., Proceedings of the joint Eurographics and IEEE TCVG symposium
on visualization, 2000, Seiten 33–42, XP002229487 erörtert eine
Erweiterung des Baumabbildungsverfahrens zur Visualisierung hierarchischer
Daten. Das Dokument „Improving
the visualization of hierarchies with treemaps: design issues and
experimentation" Proceedings
of the visualization confer ence, IEEE comp. Soc. press, Band 3,
19. Oktober 1992, Seiten 124–131,
ISBN 0-8186-2897-9 erörtert
die Verwendung von Baumabbildungen und Möglichkeiten zur Verbesserung.
-
Die
vorliegende Erfindung schafft eine Vorrichtung und ein Verfahren
zum Erzeugen einer dreidimensionalen, graphischen Umgebung zum Betrachten
einer Mehrzahl von Objekten in einer Datenbank, und insbesondere
eine Vorrichtung und ein Verfahren zum Partitionieren der dreidimensionalen,
graphischen Umgebung auf ästhetisch
ansehnliche, logische und vereinfachte Weise, um die Möglichkeit
des Browsens und der Navigation der Umgebung weiter zu verbessern.
-
Zusammenfassung der Erfindung
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren gemäß Anspruch
1. geschaffen. Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung
gemäß Anspruch
6 geschaffen.
-
Bei
einem bevorzugten Ausführungsbeispiel
ist eine Datenbank aus Objekten durch einen hierarchischen Baum
dargestellt, der aus den Datenobjektmetadaten hergeleitet ist. Einem
vorbestimmten Mutterknoten ist vorab ein Bereich zugewiesen, der
einer ungeteilten dreidimensionalen graphischen Umgebung entspricht.
Dann wird beginnend mit dem vorbestimmten Knoten für jeden
Mutterknoten, der zumindest zwei zugeordnete Tochterknoten in dem
Baum aufweist, der Bereich rekursiv in eine Mehrzahl von Bereichen
partitioniert, die jedem der zugeordneten Tochterknoten entsprechen,
derart, dass die Bereiche proportional zu den Tochterknotengewichten
sind.
-
Bei
einem anderen Ausführungsbeispiel
umfasst eine Vorrichtung einen Baumableiter, einen Gewichtsbestimmer
und einen Bereichspartitionierer. Der Baumableiter leitet einen hierarchischen
Baum, der eine Datenbank von Objekten darstellt, aus den Objektmetadaten
ab. Der Gewichtsbestimmer bestimmt ein zugeordnetes Gewicht für jeden
Knoten des Baums und liefert es zu dem Bereichspartitionierer, derart,
dass der Bereich, der der graphischen Umgebung zugeordnet ist, in
eine Mehrzahl von Bereichen proportional zu den Knotengewichten
des hierarchischen Baums partitioniert wird.
-
Kurze Beschreibung der Zeichnungen
-
1 stellt
ein System gemäß dem Stand
der Technik zum Aufbereiten und Anzeigen einer dreidimensionalen
graphischen Umgebung dar;
-
2A stellt
ein erstes Ausführungsbeispiel
eines Verfahrens zum Partitionieren einer dreidimensionalen graphischen
Umgebung gemäß der vorliegenden
Erfindung dar;
-
2B stellt
ein Beispiel eines hierarchischen Baums dar, das eine Datenbank
aus Datenobjekten darstellt, die von den zugeordneten Metadaten
abhängig
sind;
-
2C stellt
ein Beispiel einer dreidimensionalen graphischen Umgebung dar, die
gemäß dem Verfahren
der vorliegenden Erfindung partitioniert ist, das in 2A gezeigt
ist;
-
3 stellt
ein zweites Ausführungsbeispiel
eines Verfahrens zum Partitionieren einer dreidimensionalen graphischen
Umgebung gemäß der vorliegenden
Erfindung dar;
-
4 stellt
ein erstes Ausführungsbeispiel
einer Vorrichtung zum Partitionieren einer dreidimensionalen graphischen
Umgebung dar; und
-
5 stellt
ein zweites Ausführungsbeispiel
einer Vorrichtung zum Partitionieren einer dreidimensionalen graphischen
Umgebung dar.
-
Detaillierte Beschreibung
-
Eine
Vorrichtung und ein Verfahren zum Partitionieren einer dreidimensionalen
graphischen Umgebung zum Anzeigen darstellender Bilder von Datenobjekten
ist beschrieben, bei denen die Umgebung gemäß den Datenobjekten und ihren
zugeordneten Metadaten partitioniert ist. Im Allgemeinen bezieht
sich die vorliegenden Erfindung auf eine Vorrichtung und ein Verfahren,
bei dem das Partitionieren abhängig
von einem hierarchischen Baum ausgeführt wird, der aus Metadaten
hergeleitet ist, die den Datenobjekten zugeordnet sind. Der Baum
wird verwendet, um eine Gruppierung der Datenobjekte in der Datenbank
gemäß zumindest
einem ausgewählten
Metadatentyp zu definieren. Der Baum umfasst eine Mehrzahl von Knoten,
die zumindest teilweise abhängig
von dem Datenobjektknotengewicht gewichtet sind. Die Knotengewichtung
wird dann verwendet, um die Umgebung in Bereiche zu teilen, wobei
jeder Bereich proportional zu einer entsprechenden Knotengewichtung
ist.
-
Es
sollte darauf hingewiesen werden, dass gemäß dieser Beschreibung ein Datenobjekt
umfassend als Daten definiert ist, die in einer Datenbank gespeichert
sind, die einem greifbaren oder nicht greifbaren Objekt oder Element
entspricht. Beispiele von Typen von Datenobjekten können Folgende
umfassen, sind jedoch nicht darauf beschränkt: Bilddaten, Audiodaten,
Textverarbeitungsdaten, Videodaten und dreidimensionale Daten. Beispiele
von Typen von Objekten oder Elementen können Folgende umfassen, sind
jedoch nicht darauf beschränkt:
Filmvideos, CDs, Kunstwerke, elektronische Textverarbeitungsdokumente,
elektronische Personalaufzeichnungen und Handelsbestand. Wenn der
Objekttyp z. B. Filmvideos sind, wäre ein spezifisches Objekt
dieses Typs ein bestimmter Film.
-
Jedes
Datenobjekt weist zugeordnete Daten auf, die als Metadaten bezeichnet
werden, die jeglichen anderen Daten als dem Datenobjekt selbst entsprechen,
die das Datenobjekt beschreiben oder sich darauf beziehen, und jedes
Datenobjekt kann unterschiedliche Typen von Metadaten aufweisen.
In dem Fall z. B., in dem der Objekttyp Filmvideos sind, können die
Typen von Metadaten Daten umfassen, die Titel, Regisseur, Uraufführungsdatum,
Schauspielern und Genre (z. B. Komödie, Drama) etc. entsprechen.
Im Gegensatz dazu, in dem Fall, in dem der Objekttyp Kunstgegenstand
ist, können
Typen von Metadaten den Titel der Arbeit und die Kunstepoche (z.
B. modern, impressionistisch) umfassen. Metadaten können mit
dem Datenobjekt gespeichert sein oder können separat derart gespeichert
sein, dass eine Verknüpfung
zwischen dem Datenobjekt und seinen zugeordneten Metadaten existiert.
-
Im
Allgemeinen ist eine Mehrzahl von Datenobjekten, die in einer Datenbank
gespeichert sind, derart verwandt, dass sie logisch betrachtet,
kategorisiert, gruppiert, geordnet und/oder auf eine bestimmte Weise
im Hinblick auf ihre zugeordneten Datenobjektmetadaten angeordnet
sein können.
Zum Beispiel können
Filme, die in einer Datenbank gespeichert sind, nach Regisseur gruppiert
sein, um einem Betrachter zu ermöglichen, die
Daten nach einem bestimmten Regisseur zu durchsuchen.
-
Gemäß der vorliegenden
Erfindung sind darstellende Bilder von Datenobjekten, die in einer
Datenbank gespeichert sind, in einer dreidimensionalen graphischen
Umgebung angezeigt, um einem Benutzer, der durch die Datenbank browsen
möchte,
die Fähigkeit
zu geben, die Datenobjekte intuitiv zu be trachten. Gemäß der vorliegenden
Erfindung können
darstellende Bilder als Textetiketten, natürliche Bilder, graphische Bilder, Dokument-
und Dateiordner-Bilder, Videobilder, dreidimensionale Modelle oder
jegliche Art visueller Daten verkörpert sein, die sich auf das
Objekt beziehen oder dasselbe darstellen. Ferner können darstellende
Bilder in Wechselwirkung stehen, wenn sie direkt oder indirekt durch
den Benutzer ausgewählt
werden. Zum Beispiel kann ein darstellendes Bild, das als ein dreidimensionales
Modell verkörpert
ist, durch einen Benutzer gedreht werden, um dem Benutzer zusätzliche
Ansichten des Modells zu liefern. Alternativ kann ein darstellendes
Bild, das als ein Videobild verkörpert
ist, mit dem Abspielen beginnen, wenn sich ihm ein Benutzer innerhalb
der dreidimensionalen Umgebung nähert.
Zusätzlich
dazu können
darstellende Bilder direkt oder indirekt ausgewählt werden, um auf zusätzliche
verwandte Multimediadaten zuzugreifen. Zum Beispiel kann ein zweidimensionales
darstellendes Bild ausgewählt
werden, um auf einen Audioclip zuzugreifen, der dem Datenobjekt
zugeordnet ist, auf ein dreidimensionales Modell des entsprechenden
zweidimensionalen Bildes zuzugreifen, auf eine Videosequenz zuzugreifen
etc.
-
Ein
Beispiel eines Systems zum Aufbereiten und Anzeigen eines dreidimensionalen
Bildes ist in 1 gezeigt, das eine Graphikverarbeitungseinheit 10,
eine Aufbereitungsmaschine 11, eine Benutzerausgabe 12, eine
Benutzereingabe 13 und einen Speicher 14 umfasst.
Die Graphikverarbeitungseinheit 10 funktioniert, um Datenobjektdaten 10A zu
empfangen und dreidimensionale Bilderzeugungsdaten 10B zu
erzeugen, die einer dreidimensionalen Umgebung entsprechen, die
darstellende Bilder der Datenobjekte in der dreidimensionalen Umgebung
umfasst, wie auf dem Gebiet der Graphikbilderzeugung bekannt ist.
Die Aufbereitungsmaschine 11 empfängt Bilderzeugungsdaten 10B und
erzeugt Aufbereitungsdaten 11A zum Treiben der Benutzerausgabe 12.
Zum Beispiel treiben die Aufbereitungsdaten 11A einen Monitor
(nicht gezeigt) zum Anzeigen der dreidimensionalen Umgebung, die
die dar stellenden Bilder umfasst. Die Benutzereingabe 13 liefert
eine Schnittstelle zwischen einem Benutzer und der dreidimensionalen
Umgebung, um dem Benutzer zu ermöglichen,
mit der dreidimensionalen Umgebung in Wechselwirkung zu treten.
Die Benutzereingabe 13 ermöglicht einem Benutzer z. B.,
einen Standpunkt in der dreidimensionalen Umgebung zu ändern, durch
Bewegen eines angezeigten Cursors unter Verwendung einer Tastatur
oder einer Maus. Andere Typen einer Benutzereingabe 13 umfassen,
sind jedoch nicht beschränkt
auf, einen Joystick und einen druckempfindlichen Bildschirm. Die
Graphikverarbeitungseinheit 10 kann funktionieren, um die
repräsentativen
Bilder der Datenobjekte zu erzeugen oder die repräsentativen
Bilddaten können
in dem Speicher 14 gespeichert und mit der Datenobjektdatenbank
verknüpft
sein.
-
Gemäß einem
ersten Ausführungsbeispiel
des Verfahrens der vorliegenden Erfindung, wie in 2A gezeigt
ist, ist die Datenbank der Objekte durch einen hierarchischen Baum
präsentiert,
der aus Objektmetadaten hergeleitet: wird (Block 20), ein
vorbestimmter Knoten wird vorab einem Bereich zugeordnet, der einer ungeteilten
dreidimensionalen graphischen Umgebung entspricht (Block 21).
Dann wird beginnend an dem vorbestimmten Knoten für jeden
Bereich, der jedem Mutterknoten entspricht, der zumindest zwei zugeordnete Tochterknoten
in dem Baum aufweist, der Bereich rekursiv in eine Mehrzahl von
Bereichen partitioniert, die jedem der zugeordneten Tochterknoten
entsprechen, derart, dass die Bereiche proportional zu den Gewichten der
Tochterknoten sind (Block 22).
-
2B zeigt
ein Beispiel einer Datenbank, die durch einen hierarchischen Baum
dargestellt ist. Der Baum umfasst eine Mehrzahl von Knoten 23, 24A, 24B, 25A–25C, 25D–25F und 26.
Die Baumknoten können als
Mutterknoten, oder Tochterknoten klassifiziert sein, abhängig von
ihrer Beziehung zu anderen Knoten in dem Baum: Zum Beispiel ist
Knoten 23 der Mutterknoten für die Tochterknoten 24A und 24B,
Knoten 24A ist der Mutterknoten für Tochterknoten 25A–25C,
Knoten 24B ist der Mutterknoten für die Tochterknoten 25D–25F.
Knoten 26 sind Datenobjektknoten, die jeweils einem der
Datenobjekte in der Datenbank entsprechen. Somit ist jeder der Knoten 25A–25F der
Mutterknoten einer entsprechenden Gruppe von Datenobjekttochterknoten.
-
Zusätzlich dazu
entspricht jeder der Knoten 23–25 unterschiedlichen
Metadatentypen, die zum Klassifizieren der Datenobjektknoten 26 verwendet
werden. Zum Beispiel entsprechen Knoten 24 einem Produktfunktionstyp,
der Rechentypprodukte und Bilderzeugungstypprodukte umfasst. Unter
dem Rechentypproduktknoten ist ein erster Satz aus Vorrichtungstypknoten,
der Notebooks, tragbare Computer und Desktops umfasst. Unter dem
Bilderzeugungstypproduktknoten ist ein zweiter Satz aus Vorrichtungstypknoten,
der Scanner, Drucker und Kameras umfasst. Unter jedem der Vorrichtungstypknoten
sind die tatsächlichen
Produkte, die jeweils einem Datenobjekt in der Datenbank entsprechen.
-
Jeder
Knoten in dem Baum weist ein Gewicht auf, das durch die Gewichtung
von Datenobjekten bestimmt wird, die demselben zugeordnet sind.
Das Gewicht eines gegebenen Knotens wird bestimmt durch das Abwärtsdurchlaufen
entlang aller kontinuierlichen Wege innerhalb des Baums zu den Datenobjektknoten,
um die kombinierte Gewichtung der Datenobjekte zu bestimmen, die
dem gegebenen Knoten entlang dem kontinuierlichen Weg zugeordnet
sind. Bei diesem Beispiel, angenommen, jeder Datenobjektknoten weist
eine Gewichtung von 1 auf, weist Knoten 25A ein Gewicht
W = 4 auf, Knoten 25B weist ein Gewicht W = 2 auf, Knoten 25C weist
ein Gewicht W = 3 auf, Knoten 25D weist ein Gewicht W =
4 auf, Knoten 25E weist ein Gewicht von W = 2 auf und Knoten 25F weist
ein Gewicht W = 5 auf. Somit weist durch Durchlaufen von jedem der
Knoten 24A und 24B zu den Datenobjektknoten 26 entlang
aller kontinuierlichen Wege in dem Baums Knoten 24A ein Gewicht
W = 9 auf und Knoten 24B weist ein Gewicht W = 11 auf.
Es sollte darauf hingewiesen werden, dass gemäß der Vorrichtung und dem Verfahren
der vorliegenden Erfindung, Knoten auf eine Vielzahl von Weisen gemäß Benutzerpräferenz,
Systemstandardeinstellungen oder anderen Knotengewichtungsmethoden
gewichtet werden können.
Zum Beispiel können
die Objektknoten ein größeres Gewicht
als 1 aufweisen oder einige Nichtobjekt knoten (z. B. 23–25)
können
einen zusätzlichen
zugeordneten Gewichtungsfaktor aufweisen, der nicht abhängig ist
von dem Gewicht der Datenobjekte, die denselben zugeordnet sind.
Folglich kann die Knotengewichtsbestimmung abhängig sein von der Art und Weise,
auf die die Knoten des Baums anfänglich gewichtet
werden, zusätzlich
zu dem Datenobjektgewicht, das denselben zugeordnet ist. In anderen
Fällen kann
das Gewicht der Knoten indirekt auf das Datenobjektgewicht bezogen
sein, das denselben zugeordnet ist.
-
2C zeigt
ein Beispiel eines zweidimensionalen Bereichs, der dem Layout einer
dreidimensionalen graphischen Umgebung entspricht, die gemäß dem Verfahren
der vorliegenden Erfindung partitioniert ist, unter Verwendung des
hierarchischen Baums, der in 2B gezeigt
ist. Bei diesem Beispiel ist die Datenbank aus Objekten durch einen
hierarchischen Baum dargestellt, der aus Objektmetadaten hergeleitet
wird, durch Gruppieren von Objekten gemäß drei Metadatentypen: elektronischen
Produkten, ihrer Funktion und Vorrichtungstyp. Als nächstes wird
der oberste Knoten des Baums, Knoten 23, vorab einer ungeteilten
dreidimensionalen graphischen Umgebung zugewiesen. Bei diesem Beispiel
entspricht die dreidimensionale Umgebung dem zweidimensionalen Bereich 27,
begrenzt durch die Vertizes AIJD (2C). Knoten 23 ist
ein Mutterknoten mit zumindest zwei Tochterknoten, die die Knoten 24A und 24B umfassen.
Jeder der Tochterknoten 24A und 24B weist ein
Gewicht von W = 9 bzw. W = 11 auf. Dann wird beginnend mit Knoten 23 Bereich 27 durch Partition 27A unterteilt,
um zwei Bereiche zu bilden, die jeweils proportional zu den Gewichten
der Knoten 24A und 24B sind: einen, der Rechenprodukten
entspricht und den anderen, der Bilderzeugungsprodukten ent spricht.
Genauer gesagt ist der Bereich, der den Rechenprodukten entspricht
9/20 des Gesamtbereichs 27 und der Bereich, der den Bilderzeugungsprodukten
entspricht ist 11/20 des Gesamtbereichs 27. Auf ähnliche
Weise ist der Rechenproduktbereich (2C), der
dem nächsten
Mutterknoten in dem Baum, Knoten 24A, zugeordnet ist proportional
durch Partitionen 28A und 28B unterteilt, abhängig von
den Gewichten der Knoten 25A–25C, und der Bilderzeugungsproduktbereich
(2C), der dem letzten Mutterknoten zugeordnet ist, 24B, ist
proportional durch Partitionen 29A und 29B unterteilt,
abhängig
von den Gewichten der Knoten 25D–25F.
-
3 zeigt
ein zweites Ausführungsbeispiel
des Verfahrens zum Partitionieren einer dreidimensionalen graphischen
Umgebung. Zuerst ist die Datenbank aus Objekten durch einen hierarchischen
Baum dargestellt, der aus Objektmetadaten hergeleitet wird (Block
30)
und ein vorbestimmter Knoten wird vorab einem Bereich zugeordnet,
der einer ungeteilten dreidimensionalen graphischen Umgebung entspricht
(Block
31). Als nächstes
werden beginnend mit dem vorbestimmten Knoten die Tochterknoten
jedes Mutterknotens, der zumindest zwei Knoten umfasst, jeweils
in N Gruppen aus jeweils einem oder mehreren Knoten unterteilt (Block
32).
In dem Fall z. B., in dem N = 2, und Bezug nehmend auf das Beispiel,
das in
2B gezeigt ist, werden die Tochterknoten
25A–
25C des
Mutterknotens
24A in zwei Gruppen unterteilt. Die Knoten
werden derart unterteilt, dass das kombinierte, normierte Gewicht,
W
N, von jeder Gruppe sich einem Verhältnis von
R = 1/N nähert
(Block
32), oder in diesem Fall R = 0,5. Ferner sind die
normierten Gewichte der Knoten
25A,
25B,
25C W
N = 4/9, W
N = 2/9
bzw. W
N = 3/9. Das Folgende sind drei mögliche Gruppierungen
dieser drei Knoten in zwei Gruppen aus Knoten und das kombinierte,
normierte Gewicht (GEWICHT1 und GEWICHT2) von jeder der zwei Gruppen
(GRUPPE1 und GRUPPE2) für
jede Gruppierung: Tabelle
1
-
Tabelle
1 zeigt GRUPPIERUNG Nr. 2, bei der GRUPPE1 und GRUPPE2 jeweils kombinierte,
normierte Gewichte aufweisen, die sich dem Verhältnis von 0,5 nähern, wobei
GRUPPE1 Knoten 25A umfasst und GRUPPE2 die Knoten 25B und 25C umfasst.
Es sollte darauf hingewiesen werden, dass nicht allen möglichen Gruppierungen
bewertet werden müssen,
wie in Tabelle 1 gezeigt ist. Dies gilt insbesondere für Bäume mit einer
großen
Anzahl von Knoten. Zum Beispiel werden bei einem Ausführungsbeispiel
nur Gruppierungen, die dieselbe Links-Nach-Rechts-Ordnung einhalten,
wie in dem Baum gezeigt ist, berücksichtigt.
Bezug nehmend auf das obige Beispiel würden nur GRUPPIERUNG Nr. 1
und GRUPPIERUNG Nr. 2 als mögliche
Gruppierungen betrachtet werden, da GRUPPIERUNG Nr. 3 nicht die
Links-Nach-Rechts-Ordnung einhält.
-
Als
nächstes
wird der Bereich, der dem Mutterknoten entspricht, der den Gruppen
aus Tochterknoten zugeordnet ist, abhängig von dem Verhältnis jeder
Gruppe partitioniert (Block 33). In diesem Fall ist der
Bereich, der dem Mutterknoten zugeordnet ist, der Rechenproduktbereich,
der dann durch Partition 28A proportional in zwei Bereiche
unterteilt wird, abhängig
von jedem ihrer kombinierten Verhältnisse (d. h. 4/9 und 5/9), wobei
der kleinere Bereich Knoten 25A entspricht (d. h. GRUPPE1)
und der größere Bereich
den Knoten 25B und 25C entspricht (d. h. GRUPPE2).
Wie in 2C gezeigt ist, teilt Partition 28A den
Bereich, der dem Rechenprodukt entspricht, der durch die Ecken A,
B, C, D begrenzt ist, in zwei Bereiche A, B, F, E und E, F, C, D. Der
Bereich A, B, F, E ist der Notebookproduktgruppe zugewiesen (Knoten 25A,
GRUPPE1) und Bereich E, F, C, D ist den tragbaren und Desktop-Produkten
zugewiesen (Knoten 25B und 25C, GRUPPE2).
-
Gemäß dem Verfahren,
das in 3 gezeigt ist, werden Blöcke 32–33 für alle Gruppen
wiederholt, die dem Mutterknoten zugeordnet sind, bis jede Gruppe
einen einzelnen Knoten umfasst. Gemäß dem Beispiel umfasst GRUPPE2
zwei Knoten, 25B und 25C, so dass gemäß Block 34 die
Blöcke 32–33 an
dieser Gruppe wiederholt werden, derart, dass GRUPPE2 in zwei Gruppen
unterteilt wird (Block 32). Da nur zwei Knoten in der Gruppe
vorhanden sind und nur eine Möglichkeit
zum Teilen der Gruppe besteht, bestimmt das Gewicht der Knoten nicht,
wie die Gruppe geteilt wird. Als nächstes wird der Bereich abhängig von
dem normierten Gewicht jeder Gruppe partitioniert (Block 32).
Das normierte Gewicht von Knoten 25B ist nun 2/5 und das
normierte Gewicht von Knoten 25C ist 3/5, so dass der Bereich
E, F, C, D proportional durch Partition 28B in zwei Bereiche
derart unterteilt wird, dass Knoten 25B 2/5 des Bereichs
zugewiesen sind und Knoten 25C 3/5 des Bereichs zugeordnet
sind. Wie in 2C gezeigt ist, ist der Bereich
E, G, H, D den tragbaren Produkten zugeordnet (Knoten 25B),
und der Bereich G, F, C, H ist den Desktop-Produkten zugeordnet
(Knoten 25C). Der Bilderzeugungsproduktbereich B, I, J,
C wird proportional auf dieselbe Weise unterteilt wie der Berechnungsproduktbereich,
durch Partitionen 29A und 29B.
-
4 zeigt
ein erstes Ausführungsbeispiel
einer Vorrichtung zum Partitionieren einer dreidimensionalen graphischen
Umgebung abhängig
von einer Datenbank aus Objekten und entsprechend Objektmetadaten, die
einen Baumableiter 40, einen Gewichtsbestimmer 41 und
einen Bereichspartitionierer 42 umfasst. Der Baumableiter 40,
gekoppelt mit der Datenbank und den Objektmetadaten, leitet einen
hierarchischen Baum ab, der der Datenbank aus Objekten entspricht,
basierend auf den Objektmetadaten. Der Gewichtsbestimmer 41 erhält hierarchische
Bauminformationen von dem Baumableiter 40, die zumindest
die Mutter-, Tochter- und Objektknoten- Informationen umfassen, sowie jegliche
anfängliche
Gewichtung der Knoten. Der Gewichtsbestimmer 41 bestimmt
das Gewicht jedes Mutterknotens und liefert diese Gewichte zu dem
Bereichspartitionierer 42. Unter Verwendung der Knotengewichte,
die von dem Gewichtsbestimmer 41 geliefert werden, teilt
der Bereichspartitionierer 42 jeden Bereich, der der jedem
Mutterknoten mit zumindest zwei zugeordneten Tochterknoten zugeordnet
ist, proportional in eine Mehrzahl von Bereichen, die jedem der
zugeordneten Tochterknotengewichte entsprechen, um die Partitionspositionsinformationen
zu bestimmen.
-
5 zeigt
ein zweites Ausführungsbeispiel
der Vorrichtung zum Partitionieren einer dreidimensionalen graphischen
Umgebung, die einen Baumableiter 50, einen Gewichtsbestimmer 51,
einen Knotengruppierer 52 und einen Bereichspartitionierer 53 umfasst.
Der Baumableiter 50 liefert abgeleitete hierarchische Bauminformationen
zu dem Gewichtsbestimmer 51, der seinerseits das Gewicht
jedes Knotens bestimmt und es zu dem Knotengruppierer 52 liefert.
Der Knotengruppierer identifiziert Mutterknoten und teilt die Tochterknoten
jedes Mutterknotens in N Gruppen aus einem oder mehreren Knoten,
jeweils abhängig
von dem kombinierten, normierten Knotengewicht jeder Gruppe aus
Knoten, derart, dass das kombinierte Gewicht jeder Gruppe sich einem
Verhältnis
von R = 1/N nähert.
Der Bereichspartitionierer 53 bestimmt, wie der Bereich,
der dem Mutterknoten zugeordnet ist, abhängig von den kombinierten,
normierten Gewichten jeder Gruppe aus Tochterknoten partitioniert
werden soll.
-
Gemäß diesem
Ausführungsbeispiel
kann der Bereich, der dem Mutterknoten zugeordnet ist, mit einer horizontalen
Partition oder einer vertikalen Partition geteilt werden. Bezug
nehmend auf 2C sind 28A und 29A horizontale
Partitionen und 27A, 28B und 29B sind
vertikale Partitionen. Der Bereichspartitionierer umfasst einen
horizontalen Partitionierer 53A, einen vertikalen Partitionierer 53B und
einen Aspektverhältnisbestimmer 53C.
Entweder eine horizontale oder eine vertikale Partition wird verwendet,
um Bereiche abhängig von
dem Aspektverhältnis
des Bereichs zu teilen, der durch die Partitionen erzeugt wird.
Da im Allgemeinen quadratische Räume ästhetisch
ansprechender sind als lange dünne
Räume ist
es in einer dreidimensionalen graphischen Umgebung bevorzugt, die
Umgebung in mehr quadratische Bereiche zu teilen, oder anders ausgedrückt, in
Bereiche mit kleineren Aspektverhältnissen. Somit bestimmt der
Aspektverhältnisbestimmer 53C das
Aspektverhältnis
für die
Bereiche, die durch jede einer vertikalen und horizontalen Partition
erzeugt werden würden,
und dann wird die Partition, die das kleinste Aspektverhältnis für jeden
Bereich ergibt, zum Partitionieren des Bereichs ausgewählt. Es
sollte darauf hingewiesen werden, dass ein alternatives Ausführungsbeispiel
möglich
ist, bei dem der Partitionstyp (d. h. vertikal oder horizontal)
ausgewählt
wird, der Bereiche erzeugt, die eine Funktion eines ausgewählten Aspektverhältnisses
aufweisen. Bei einem wiederum anderen Ausführungsbeispiel kann ein Partitionstyp,
der weder vertikal noch horizontal ist (nicht gezeigt) abhängig von anderen
Auswahlkriterien ausgewählt
werden. Zum Beispiel können
Partitionen mit Winkeln vorliegen, die nicht orthogonal sind, oder
es könnten
sogar nicht einmal gerade Partitionen sein.
-
Es
sollte darauf hingewiesen werden, dass die Vorrichtung, die in 4 und 5 gezeigt
ist, in jeglicher Kombination aus Hardware, Software oder Firmware
implementiert sein kann.
-
In
der vorangehenden Beschreibung sind zahlreiche spezifische Details
ausgeführt,
um ein tief greifendes Verständnis
der vorliegenden Erfindung zu liefern. Es ist jedoch für einen
Fachmann auf dem Gebiet offensichtlich, dass diese spezifischen
Details nicht eingesetzt werden müssen, um die vorliegende Erfindung zu
praktizieren. In anderen Fällen
wurden bekannte Techniken nicht detailliert beschrieben, um eine
unnötige Verunklarung
der vorliegenden Erfindung zu vermeiden.
-
Zusätzlich dazu,
obwohl Elemente der vorliegenden Erfindung in Verbindung mit bestimmten
Ausführungsbeispielen
beschrieben wurden, wird darauf hingewiesen, dass die Erfindung
auf eine Vielzahl von anderen Arten implementiert werden kann. Folglich
wird darauf hingewiesen, dass die bestimmten Ausführungsbeispiele,
die auf darstellende Weise gezeigt und beschrieben sind, nicht als
einschränkend
betrachtet werden sollen. Eine Bezugnahme auf die Details dieser
Ausführungsbeispiele
soll den Schutzbereich der Ansprüche nicht
einschränken,
die selbst nur jene Merkmale wiedergeben, die als wesentlich für die Erfindung
betrachtet werden.