DE10030764A1 - Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes - Google Patents

Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes

Info

Publication number
DE10030764A1
DE10030764A1 DE2000130764 DE10030764A DE10030764A1 DE 10030764 A1 DE10030764 A1 DE 10030764A1 DE 2000130764 DE2000130764 DE 2000130764 DE 10030764 A DE10030764 A DE 10030764A DE 10030764 A1 DE10030764 A1 DE 10030764A1
Authority
DE
Germany
Prior art keywords
image
browser
data
displayed
rotation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2000130764
Other languages
English (en)
Inventor
Christian Bach
Hans-Peter Harmann
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.)
REALSPACE GmbH
Original Assignee
REALSPACE GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by REALSPACE GmbH filed Critical REALSPACE GmbH
Priority to DE2000130764 priority Critical patent/DE10030764A1/de
Priority to PCT/EP2001/000292 priority patent/WO2002001506A1/de
Priority to AU2001235412A priority patent/AU2001235412A1/en
Publication of DE10030764A1 publication Critical patent/DE10030764A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein Verfahren zur Erzeugung einer veränderlichen Darstellung eines Objektes (100, 100', 120, 130, 140, 150, 160), insbesondere in veränderlicher räumlicher Ansicht, für ein Computersystem (200-280), sowie ein Computersystem (200-280), ein Computerprogrammprodukt, ein Netzwerkserver (260) und ein Netzwerkclient (200) zum Betreiben eines solchen Verfahrens werden vorgestellt. Dabei werden Daten einer Mehrzahl von Bildern (400, 402, 404), welche jeweils das Objekt (100, 100', 120, 130, 140, 150, 160) in unterschiedlicher Ansicht oder in einem unterschiedlichen Zustand darstellen, in einem Browserdatenformat, insbesondere in einem vom Browser (300) unterstützten Bilddatenkomprimierungsformat, in dem ersten Datenspeicher (230; 250, 260, 270, 280) bereitgestellt, übertragen unter Verwendung einer Darstellungsroutine des Browsers (300) in einem Browserfenster dargestellt, sowie insbesondere unter Verwendung eines Event-Handlers des Browers (300) und/oder einer sonstigen Parameteränderung ausgetauscht.

Description

Die Erfindung betrifft ein Verfahren zur Erzeugung einer verän­ derlichen Darstellung eines Objektes, insbesondere in veränder­ licher, räumlicher Ansicht, für ein Computersystem, sowie ein Computersystem, ein Computerprogrammprodukt, einen Netzwerkser­ ver und einen Netzwerkclient zum Betreiben eines solchen Ver­ fahrens.
Bekannte Verfahren zur veränderlichen, räumlichen Darstellung von Objekten betreffen insbesondere die drehbare Objektdarstel­ lung. Dabei wird ein Objekt auf einem Computerbildschirm darge­ stellt. Der Benutzer hat die Möglichkeit, über Eingabemittel die Darstellung so zu verändern, daß er den Eindruck gewinnt, das Objekt zu drehen.
Technisch werden zu diesem Zweck nacheinander unterschiedliche Bilder angezeigt, welche jeweils das Objekt in einer veränder­ ten Ansicht darstellen. Die benötigten Bilder können auf ver­ schiedene Weise gewonnen werden. Denkbar ist es, ein reales Ob­ jekt in allen benötigten Ansichten zu photographieren. Denkbar ist es aber auch, ein 3D-Polygon-Modell des darzustellenden Ob­ jektes zu verwenden, um die benötigten Bilder zu erzeugen. Denkbar ist schließlich eine Kombination beider Verfahren.
Wird der Drehwinkel verändert, erzeugen, laden und/oder berech­ nen Programme, welche nach bekannten Verfahren arbeiten, je­ weils das zunächst anzuzeigende Bild. Die entsprechenden Lade- und/oder Rechenvorgänge erfordern jedoch jeweils eine gewisse Zeit. Dies ist deswegen problematisch, weil bereits bei einer Überschreitung einer Dauer von etwa 100 Millisekunden für einen Bildwechsel bei einem Betrachter der Eindruck einer sprunghaf­ ten statt einer fließenden Drehung entsteht. Eine realistische Darstellung erfordert daher Rechner mit entsprechend hoher Re­ chenleistung und/oder eine hinreichend schnelle Datenübertra­ gung.
Die genannten Nachteile potenzieren sich, wenn bekannte Verfah­ ren für veränderliche, räumliche Darstellungen von Objekten in Computernetzwerken und insbesondere im Internet zum Einsatz kommen. Hinzu kommt das Problem der Implementierung von Dar­ stellungsprogrammen auf Clientrechnern. Hierfür sind nach dem Stand der Technik sogenannte "Plug-Ins" oder Java-Applets er­ forderlich.
Plug-Ins sind eigene Programme, welche auf den Clientrechner geladen und dort installiert werden müssen, um einen Netzwerk­ browser mit entsprechenden Zusatzfunktionen auszustatten. Dies führt dazu, daß Webseiten, welche solche Darstellungen umfas­ sen, zunächst mit einem üblichen Browser nicht vollständig dar­ gestellt werden können. Stattdessen muß der Benutzer das jewei­ lige Plug-In regelmäßig erst an anderer Stelle laden und nach der Installation auf die Ausgangsseite zurückkehren. Dies ist aufwendig und birgt zugleich Sicherheitsrisiken. Hinzu kommt, daß Plug-Ins -anders als einfache Webseiten- in unterschiedli­ chen Versionen für unterschiedliche Computerbetriebssysteme zur Verfügung gestellt werden müssen, mithin nicht plattformunab­ hängig sind. Dies führt zu einem erhöhten Entwicklungs- und Vertriebsaufwand.
Java-Applets sind Programme, welche grundsätzlich von einem Browser ausgeführt werden können. Voraussetzung ist jedoch, daß der Browser über eine geeignete Virtual-Machine verfügt. Dies ist bei älteren Browsern häufig entweder überhaupt nicht der Fall, oder aber eine vorhandene Virtual-Machine ist veraltet. Auch bei Neuinstallationen wird eine Virtual-Machine nicht zwingend mitinstalliert. Dies gilt insbesondere dann, wenn Browser über das Internet bezogen werden, da eine Virtual-Ma­ chine das Programmpaket und damit auch die Ladezeiten erheblich vergrößert. Außerdem wird die Größe relevant, wenn der Browser auf kleinen portablen Rechnern, wie Palm-Pilots installiert wer­ den sollen, welche nur einen begrenzten Speicherplatz aufwei­ sen. In solchen Fällen ist es möglich, daß das Programmpaket mit Virtual-Machine für den Rechner zu groß wäre. Im Ergebnis erreichen veränderliche Darstellungen von Objekten, welche auf Java-Applets basieren daher nur einen reduzierten Nutzerkreis.
Die vorliegende Erfindung hat die Aufgabe, ein verbessertes Verfahren zur Erzeugung einer veränderlichen Darstellung eines Objektes, insbesondere in veränderlicher, räumlicher Ansicht, für ein Computersystem, sowie ein Computersystem, ein Computer­ programmprodukt, einen Netzwerkserver und einen Netzwerkclient zum Betreiben eines solchen Verfahrens, zur Verfügung zu stel­ len.
Sie erreicht dieses Ziel durch den Gegenstand der Ansprüche 1, bzw. 60-64, also durch ein Verfahren zur Erzeugung einer verän­ derlichen Darstellung eines Objektes, insbesondere in veränder­ licher, räumlicher Ansicht, für ein Computersystem, sowie ein Computersystem, ein Computerprogrammprodukt, einen Netzwerkser­ ver und einen Netzwerkclient zum Betreiben eines solchen Ver­ fahrens. Das Computersystem umfaßt einen ersten und einen zwei­ ten Datenspeicher, Anzeigemittel und Cursorpositionierungsmit­ tel, insbesondere eine Maus, einen Track-Ball, ein Touch-Pad, einen Maus-Stick oder einen Touch-Screen. Daten einer Mehrzahl von Bildern, welche jeweils das Objekt in unterschiedlicher An­ sicht oder in einem unterschiedlichen Zustand darstellen, wer­ den in einem Browserdatenformat, insbesondere in einem vom Browser unterstützten Bilddatenkomprimierungsformat, in dem er­ sten Datenspeicher bereitgestellt. Die Bilder werden insbeson­ dere unter Verwendung einer Datenübertragungsroutine des Browsers aus dem ersten Datenspeicher in den zweiten Datenspei­ cher übertragen. Wenigstens ein erstes Bild wird unter Verwen­ dung einer Darstellungsroutine des Browsers in einem Browser­ fenster dargestellt. Vor oder nach der Übertragung der Bilder und/oder der Darstellung des ersten Bildes werden die Bilder jeweils einem Objektsansichtsbereich zugeordnet, welcher die jeweils dargestellte Objektsansicht umfaßt, und gegebenenfalls vor der Übertragung ermittelte Zuordnungsdaten auf den zweiten Datenspeicher übertragen. Außerdem werden aus wenigstens einer Betätigung der Cursorpositionierungsmittel resultierende Posi­ tionsänderungen des Cursors unter Verwendung eines Event- Handlers des Browsers und/oder eine sonstige Parameteränderung ermittelt. Wenigstens eine darzustellende Objektansicht wird unter Verwendung von Objektbereichsdaten und Positionsände­ rungsdaten des Cursors und/oder den sonstigen Parameterände­ rungsdaten ermittelt. Wenigstens einmal wird ein Bild ermit­ telt, dessen zugeordneter Objektansichtsbereich die nach der Änderung darzustellende Objektansicht umfaßt. Schließlich wird wenigstens einmal ein so ermitteltes Bild unter Verwendung der Darstellungsroutine des Browsers in dem Browserfenster darge­ stellt.
Gegenüber dem Stand der Technik hat die Erfindung insbesondere den Vorteil, daß die veränderliche Objektdarstellung ohne Ver­ wendung von Plug-Ins und/oder Virtual-Machines etc. möglich ist. Weitere Vorteile ergeben sich aus der nachstehenden Be­ schreibung von Ausführungsbeispielen und den beigefügten Figu­ ren. Die Ansprüche 2-59 betreffen vorteilhafte Ausgestaltungen den Erfindung.
Die Erfindung wird im folgenden anhand von Ausführungsbeispie­ len und der beigefügten Zeichnung noch näher erläutert. In der Zeichnung sind:
Fig. 1a - e schematische Darstellungen möglicher, veränderli­ cher Objektsansichten und/oder -zustände, welche unter Verwendung der Erfindung vorteilhaft dar­ gestellt werden können;
Fig. 2a - c schematische Darstellungen von Computersystemen, in welche die vorliegende Erfindung implemen­ tiert ist;
Fig. 3 eine schematische Darstellung der Arbeitsweise eines Browsers;
Fig. 4 eine schematische Darstellung einer Übersicht über ein Verfahren, in welchem die vorliegende Erfindung zum Einsatz kommt;
Fig. 5a - c Illustrationen für die Definition von Bildfol­ gen;
Fig. 6a, b schematische Darstellungen der Aufbereitung der Bilddaten für eine Übertragung;
Fig. 7a - c Illustrationen einer bevorzugten Verarbeitung übertragener Bilddaten;
Fig. 8a, b Illustrationen eines bevorzugten Verfahrens zur Einbindung von Programmelementen in eine Browserseite;
Fig. 9a - c Illustrationen eines bevorzugten Verfahrens zur Ermittlung einer darzustellenden Objektansicht, und
Fig. 10a - d Illustrationen eines bevorzugten Verfahrens zum Einfügen interaktiver Flächen in die veränderli­ che Darstellung.
Im folgenden werden zunächst anhand der Fig. 1a - 1e verschiede­ ne, beispielhafte Aufgabenstellungen erläutert, bei welchen je­ weils Objekte in veränderlichen Ansichten und/oder Zuständen darzustellen sind. Die vorliegende Erfindung stellt Verfahren, Computerprogrammprodukte und Systeme zur Verfügung, entspre­ chende Darstellungen zu realisieren. Dies wird anhand der Fig. 2a-10d und anhand von vorteilhaften Ausgestaltungen der Erfin­ dung geschildert.
Beispiele für darzustellende, veränderliche Objektansichten und/oder Zustände
Fig. 1a zeigt ein erstes Objekt 100, welches die Gestalt eines Würfels hat. Das erste Objekt 100 ist in einer Außenansicht dargestellt. Daneben ist ein dreidimensionales, kartesisches Ko­ ordinatensystem mit drei zueinander senkrechten Achsen X, Y und Z eingezeichnet. Gegenstand einer veränderlichen Objektdarstel­ lung kann die Drehung des ersten Objektes 100 um die senkrechte Achse Z (angedeutet durch einen ersten und einen zweiten Pfeil P1, P2) sein. Zusätzlich oder stattdessen können Drehungen des Objektes 100 um eine der horizontalen Achsen X und/oder Y (angedeutet durch einen dritten und einen vierten Pfeil P3 und P4; in gleicher Weise möglich sind auch Drehungen um eine be­ liebige andere Achse) darzustellen sein. Das erste Objekt 100 wäre also in veränderlicher, räumlicher Ansicht zu zeigen.
Fig. 1b zeigt ein zweites Objekt 110, welches die Gestalt des Aufrisses eines Raumes hat. Das zweite Objekt 110 ist in einer kombinierten Innen- und Außenansicht dargestellt. Gegenstand einer veränderlichen Objektdarstellung können Drehungen des zweiten Objektes 110 um die gleichen Achsen wie beim ersten Ob­ jekt 100 sein. Dabei kann eine kombinierte Innen- und Außenan­ sicht ebenso wie eine bloße Innenansicht gezeigt werden. Das zweite Objekt 110 wäre also ebenfalls in veränderlicher, räumli­ cher Ansicht zu zeigen.
Fig. 1c zeigt ein drittes Objekt 120, welches die Gestalt einer Hauswand hat. Gegenstand einer veränderlichen Objektdarstellung können Verschiebungen des dritten Objektes 120 längs der hori­ zontalen, zum dritten Objekt parallelen Achse Y oder einer be­ liebigen, anderen Achse sein (angedeutet durch einen fünften und sechsten Pfeil P5 und P6).
Fig. 1d zeigt ein viertes Objekt 130 und ein fünftes Objekt 140. Beide Objekte 130 und 140 haben die gleiche Gestalt und Position, aber eine unterschiedliche Farbe. Gegenstand einer veränderlichen Objektdarstellung kann die Überführung des vier­ ten Objektes 130 in das fünfte Objekt 140 sein (angedeutet durch einen siebenten Pfeil P7).
Fig. 1e zeigt ein sechstes Objekt 150, welches die Gestalt ei­ nes Zahnrades hat, und ein siebentes Objekt 160, welches die Ge­ stalt einer Feder hat. Zahnrad 150 und Feder 160 greifen inein­ ander. Bei einer Verdrehung des Zahnrades 150 (angedeutet durch einen achten Pfeil P8) werden die Objekte 150 und 160 in einen, gegenüber dem Ausgangszustand veränderten Zustand überführt (angedeutet durch einen neunten Pfeil P9), in welchem das Zahn­ rad 150' gegenüber seinem Ausgangszustand verdreht und die Fe­ der 160' verbogen erscheint. Diese Überführung kann Gegenstand einer veränderlichen Objektdarstellung sein. Zu zeigen wäre al­ so eine zeitliche Veränderung des Zustandes der Objekte 150 und 160.
Die beschriebenen Gegenstände veränderlicher Objektdarstellun­ gen beschränken sich nicht auf die dargestellten Objekte 100, 110, 120, 130, 140 und 150. Diese können vielmehr durch belie­ bige, andere Objekte ersetzt werden. Die beispielhaft angeführ­ ten Objekte 100, 110, 120, 130, 140 und 150 dienen also nur der Illustration. Auch können die unterschiedlichen Veränderungen von Objektansichten und -zuständen beliebig miteinander kombi­ niert werden. Ferner sind weitere Veränderungen denkbar.
Für das Folgende kommt es nur darauf an, daß überhaupt Verände­ rungen von Objektansichten und/oder -zuständen darzustellen sind. Wie diese im einzelnen vonstatten gehen, ist bedeutungs­ los. Soweit auf konkrete Änderungen Bezug genommen wird, dient dies stets nur dem leichteren Verständnis der Darstellung der Erfindung.
Beispiele für Computersysteme, in welche die Erfindung imple­ mentiert ist
Fig. 2a zeigt ein erstes Computersystem in der Form eines er­ sten Computers 200 mit einem Monitor 210 und einer Computermaus 220. Anstelle des Monitors 210 können beliebige, andere Anzeige­ mittel, wie beispielsweise ein Projektor, verwendet werden. An­ stelle der Computermaus können beliebige, andere Cursorpositio­ nierungsmittel, wie beispielsweise ein Track-Ball, ein Touch- Pad, ein Maus-Stick, ein Touch-Screen oder Pfeiltasten einer Computertastatur (nicht dargestellt) eingesetzt werden.
Der erste Computer 200 weist einen ersten Datenspeicher in der Form eines Plattenspeichers 230, wie etwa einer Festplatte, CD oder Diskette, und einen zweiten Datenspeicher in der Form ei­ nes Haupt- und/oder Arbeitsspeichers 240 auf (angedeutet durch einen gestrichelten, zehnten Pfeil P10). Zwischen dem Platten- und dem Arbeitsspeicher 230 und 240 werden Daten übertragen (angedeutet durch einen elften Pfeil P11). Die Übertragung er­ folgt beispielsweise über übliche Schnittstellen, Bussysteme und/oder Netzwerkkomponenten (nicht dargestellt). Die Be- und/oder Verarbeitung von Daten erfolgt über eine CPU (Central Processing Unit), welche ebenfalls nicht dargestellt ist. Schließlich kann der erste Computer 200 alle weiteren, üblichen Komponenten, wie etwa weitere Plattenspeicher, eine Graphikkarte etc. umfassen.
Auf dem Plattenspeicher 230 befinden sich Daten. Auf diese Da­ ten kann der erste Computer 200 über Kontrollmittel zugreifen. Hierzu werden jeweils ein Lesekopf (nicht dargestellt) in den Bereich des gewünschten Plattensektors gefahren, und dann die gesuchten Daten ausgelesen. Dieser Vorgang ist wegen des dafür notwendigen Verfahrens des Lesekopfes zum Auffinden der Daten zeitintensiv. Eine realistische Zugriffszeit liegt in der Grö­ ßenordnung von 200 ms für Floppy-Disketten, 5-20 ms für Fest­ platten und 50 ms für CD-ROM.
Fig. 2b zeigt ein weiteres Computersystem, in welches die vor­ liegende Erfindung implementiert ist. Das System umfaßt wieder­ um den ersten Computer 200 mit Monitor 210 und Computermaus 220. Insoweit gilt das oben Gesagte. Auch weist der erste Com­ puter 200 wiederum einen Arbeitsspeicher 240 auf. Ein Platten­ speicher 230 ist hingegen in diesem Beispiel nicht erforderlich (kann aber vorgesehen sein). Stattdessen ist der erste Computer 200 nun beispielsweise über eine serielle oder parallele Schnittstelle oder über eine Netzwerkkarte mit einem zweiten Computer 250 verbunden.
Der zweite Computer 250 kann Teil einer direkten PC-Verbindung, weiterer Computer, eines Clusters oder Server eines Netzwerks sein. Der zweite Computer 250 weist einen Datenspeicher (nicht dargestellt) auf, auf welchem Daten abgelegt sein können. Zwi­ schen diesem Datenspeicher und dem Arbeitsspeicher 240 auf dem ersten Computer 200 werden Daten übermittelt (angedeutet durch einen zwölften Pfeil P12). Hierzu wird ein übliches Protokoll benutzt, beispielsweise ein Basisprotokoll für eine einfache, physische Netzwerkverbindung, wie Ethernet oder Token Ring oder ein Internetprotokoll, wie ein TCP/IP- oder das http-Protokoll.
Bedingt durch die Übertragungsraten und Auslesezeiten aus dem Datenspeicher in dem zweiten Computer 250 sind auch diese Vor­ gänge zeitintensiv.
Fig. 2c zeigt schließlich ein drittes Computersystem, in wel­ ches die vorliegende Erfindung implementiert ist. Auch dieses System umfaßt den ersten Computer 200 nebst Monitor 210 und Computermaus 220 entsprechend den obigen Ausführungen. Anstelle eines zweiten Computers 250 ist der erste Computer 200 nunmehr an ein übergreifendes Netzwerk, beispielsweise das Internet, an­ geschlossen. Dieses umfaßt eine Mehrzahl von Computern, ange­ deutet durch einen dritten, vierten und n-ten Computer 260, 270 bzw. 280. Zwischen dem ersten Computer 200 und den weiteren Computern 260, 270 und 280 werden Daten übertragen (angedeutet durch dreizehnte Pfeile P13, P13/1, P13/2 und P13/n). Außerdem werden zwischen den weiteren Computern 260, 270 und 280 Daten übertragen (angedeutet durch eine vierzehnten Pfeil P14). In­ folgedessen kann die Datenübertragung zwischen dem ersten Com­ puter 200 und einem der weiteren Computer 260, 270 und 280 auch mittelbar über andere Computer 260, 270 und/oder 280 erfolgen. Die Übertragungen erfolgen beispielsweise nach einem Internet- Protokoll wie ein TCP/IP-Protokoll. Dabei agiert der erste Com­ puter 200 beispielsweise als Clientrechner und der dritte Com­ puter 260 als Server. Für jede Übertragung wird zwischen dem ersten Computer 200 und dem dritten Computer 260 dann eine Ver­ bindung durch mehrfachen Paketaustausch ausgehandelt. Dann erst werden die Daten übertragen, so daß auch dieser Vorgang zeitin­ tensiv ist.
Der genannte Paketaustausch für Übertragungen umfaßt insbeson­ dere die folgenden Schritte: zunächst muß eine sogenannte URL (ein Uniform Resource-Locator, also eine eindeutige Adresse, wie http:/ / www.adresse.com/filename.html) in den Protokolltyp, den Rechnernamen und den Filmamen getrennt werden. Aus dem Domain- Klartextnamen des Rechners (hier: www.adresse.com) muß die zu­ gehörige IP-Adresse (Internet-Protokoll-Adresse, also die nume­ rische Adresse, unter der ein bestimmter Rechner im Internet erreichbar ist, wie etwa 145.96.123.97) ermittelt werden. Hier­ zu werden in aufsteigender Reihenfolge immer umfassendere Doma­ in-Name-Server solange per Anfragedatenpaket abgefragt, bis in einer Datenbank die zur URL gehörige IP-Adresse gefunden wird. Sodann muß ein verfügbarer Weg durch das Internet gefunden wer­ den, über welchen der Clientrechner 200 und der Serverrechner 260 miteinander Daten austauschen können. Hierzu muß der Cli­ entrechner 200 an den Serverrechner über einen möglichen Weg zunächst ein Datenpaket schicken, mit dem er seine Absicht an­ kündigt, eine TCP-(Transmission Control-Protocol)Verbindung aufzubauen. Dieses wird vom Sever 260 per Datenpaket quittiert, sofern er die Verbindung akzeptiert. Hierbei treten weitere Verzögerungen auf, bis der Server die erforderlichen Vorberei­ tungen abgeschlossen hat. Der Empfang der Quittung wird wieder­ um vom Client 200 quittiert. Erst dann werden die eigentlichen Daten übertragen. Sofern eines der Anfragepakete verlorengeht, beginnt die gesamte Prozedur auf einem anderen, möglichen Ver­ bindungsweg von neuem.
Die oben genannten Beispiele für Computersysteme, in welche die vorliegende Erfindung - wie unten näher ausgeführt wird - imple­ mentiert ist, sind keine abschließende Aufzählung und können auch untereinander beliebig kombiniert werden. Sie dienen le­ diglich als Illustrationen für ein verbessertes Verständnis der Erfindung.
Beispiel für einen Browser, welcher im Zusammenhang mit der Er­ findung benutzt wird
Fig. 3 zeigt eine schematische Darstellung der Arbeitsweise ei­ nes Browsers 300. Hierbei handelt es sich um einen üblichen Browser wie den Netscape-Navigator 4.x, den Netscape 6.0, den Microsoft Internet-Explorer 4.x, 5.x, eine Vorläufer- oder Nachfolgerversion hiervon, oder ein anderes Browser- Softwareprodukt. Der Browser 300 ist als Software auf einem der beschriebenen Computersysteme implementiert und hat Zugriff auf den Arbeitsspeicher 240 des ersten Computers 200. Hierüber er­ hält er vom Plattenspeicher 230, vom zweiten Computer 250 und/oder von einem der weiteren Computer 260, 270, 280 den Code 310 einer Browserseite einschließlich aller darzustellenden In­ formationen. Dieser Code 310 basiert üblicherweise auf einer einfachen Dokumentbeschreibungs-Sprache namens HTML (HyperText Markup-Language; in Betracht kommt auch eine beliebige Weiter- oder Alternativentwicklung hiervon), die ihrerseits auf einem Subset einer allgemeineren Sprache namens SGML (Standardized Generalized Markup-Language) beruhen kann. Er wird daher im folgenden aus Gründen der Einfachheit aber ohne eine Einschrän­ kung der Erfindung als HTML-Code 310 bezeichnet.
Ein HTML-Code enthält als solcher keine Konstrukte zur Pro­ grammsteuerung (für Abfragen, Sprünge, Subroutinen etc.) und keine exakte Beschreibung einer Dokumentansicht. Stattdessen legt er nur einige globale Attribute für Überschriften, Fließ­ text, Positionierung etc. fest, die auf unterschiedlichen Plattformen oder Browsern zu recht verschiedenen Darstellungen ein- und desselben Dokuments führen können. HTML gibt einem Browser also nur Hinweise, wie er ein entsprechend abgefaßtes Dokument darstellen kann; über die tatsächliche Ausgabe ent­ scheidet jeder Browser je nach Implementation und Benutzerein­ stellungen weitgehend selbst. Die Darstellung erfolgt als Browserseite 320 auf einem Anzeigemittel wie dem Monitor 210. Die Browserseite 320 enthält neben den oder statt der Textzei­ len 322 auch Graphiken 324. Hierzu werden zusätzlich zu dem HTML-Code 310 auch Graphiken in den Arbeitsspeicher 240 gela­ den. Der HTML-Code 310 enthält Informationen darüber, welche Graphiken 360 in welchem Bereich der Browserseite 320 wie ange­ zeigt werden sollen. Solange die Graphik 360 nicht oder nicht vollständig im Arbeitsspeicher 240 zur Verfügung steht, wird üblicherweise stattdessen ein Icon oder eine Leerfläche im ent­ sprechenden Bereich angezeigt.
Die Graphiken 360 werden in einem vom Browser unterstützten Bilddatenkomprimierungsformat, wie JPG (Joint Photographic Ex­ pert-Group; ein nach der dafür zuständigen ISO/CCITT-Kommission benanntes Grafikformat), GIF (Graphics Interchange-Format) oder PNG (Portable Network-Graphics) geladen. Ein solches unter­ stütztes Format kann vom Browser ohne Zuhilfenahme weiterer Programme wieder dekomprimiert und auf einen unmittelbar dar­ stellbaren Binärcode übertragen werden.
Der HTML-Code umfaßt außerdem bzw. greift außerdem zu auf ver­ schiedene HTML-Erweiterungen 330, 340 und 350. Hierbei handelt es sich beispielsweise um Dynamic HTML, welches Technologien, wie JavaScript, Jscript, VBScript, CSS oder Layer, umfaßt und welche miteinander verknüpft werden können. Solche HTML- Erweiterungen erlauben es, dynamische Inhalte in HTML-Seiten einzufügen. Bei JavaScript, JScript und VBScript handelt es sich um nicht allzu komplexe Script-Sprachen, mit welchen eine HTML-Seite um echte Programme erweitert werden kann. Die Spra­ chen sind jedoch weder für komplexe Anwendungen noch für eigen­ ständige Programme gedacht. JavaScript-, Jscript- oder VBScript-Programme werden im Klartext in eine HTML-Seite inte­ griert, mit ihr in den Arbeitsspeicher 240 geladen und auf dem ersten Computer 200 durch einen Script-Interpreter ausgeführt. Einem Browser, dem der zugehörige Script-Interpreter fehlt, kann mit dem Script nichts anfangen. Aktuelle Browser, wie die oben bezeichneten, verfügen aber üblicherweise über solche Script-Interpreter. CSS beinhaltet eine Formatvorlagentechnolo­ gie. Layer sind solche Teile einer Browserseite, die relativ oder absolut positioniert und unabhängig von anderen Elementen auf der Seite bewegt werden können. Mehrere Layer können sich wie Transparenzfolien überlappen und gegenseitig verdecken.
Alle vorstehend als Beispiele aufgeführten, vom Browser ohne Erweiterungen verarbeitbaren bzw. darstellbaren Datenformate, wie auch alle weiteren Datenformate mit dieser Eigenschaft, werden im folgenden als Browserdatenformate bezeichnet.
Die genannten und weitere HTML-Erweiterungen können - wie ge­ sagt - von aktuellen Browsern üblicherweise unmittelbar, d. h. ohne Notwendigkeit zusätzlicher Plug-Ins (ein Plug-In ist ein dynamisch hinzuladbares Modul, das einen Browser um bestimmte Fähigkeiten erweitert) oder von Virtual Java-Machines (eine Virtual-Machine ist ein Interpreter für Java-Anwendungen, wel­ cher ähnlich wie ein Plug-In in einen Browser implementiert werden kann), verarbeitet werden. Darüber hinaus kann eine HTML-Seite den Browser veranlassen, Java-Applets oder Programme auszuführen, welche solche Virtual-Machines bzw. Plug-Ins als Ergänzung für den Browser erforderlich machen.
Ein Java-Programm üblicherweise wird einmalig kompiliert. Der resultierende, binäre Bytecode wird durch einen Befehl im HTML- Code vom Browser nachgeladen und ausgeführt. Hierzu ist ein Ja­ va-Interpreter, etwa eine Virtual-Machine erforderlich. Wesent­ licher Vorteil eines Java-Programms ist seine Prozessor- und Plattformunabhängigkeit. Das gleiche Compilat kann also auf In­ tel-PCs unter Windows oder Linux, auf Power-Macs oder auf Al­ pha-Maschinen ausgeführt werden. Plug-Ins sind demgegenüber üb­ licherweise plattformabhängig. Ergänzend sei angemerkt, daß ebenso wie Java-Programme auch HTML-Codes und Java-Script plattformunabhängig sind.
Zusammenfassend zeigt Fig. 3, wie der HTML-Code 310, welcher HTML-Erweiterungen 330, 340 und 350 umfaßt (angedeutet durch gestrichelte Pfeile P15, P16 und P17), im Arbeitsspeicher 240 für den Browser 300 verfügbar gemacht wird (angedeutet durch einen achtzehnten Pfeil P18). Zusätzlich erhält der Browser 300 dort Bilder 360 (angedeutet durch Pfeil P20). Hieraus erzeugt der Browser 300 die Browserseite 320, welche auf dem Monitor 210 angezeigt wird und welche Textzeilen 322 und ein Bild 324 umfaßt.
Bevorzugtes Verfahren - Ausführungsbeispiel
Fig. 4 zeigt eine Übersicht über ein Verfahren, in welchem die Erfindung zum Einsatz kommt. Das Verfahren dient der Erzeugung einer veränderlichen Darstellung eines Objektes, insbesondere in veränderlicher, räumlicher Ansicht. Beispielhaft wird dabei das erste Objekt 100 aus Fig. 1a in veränderlicher, räumlicher Ansicht dargestellt. Es könnte aber auch jedes andere Objekt aus den Fig. 1a - 1e, oder ein beliebiges, weiteres Objekt, in beliebig veränderlicher Weise nach den gleichen Grundsätzen dargestellt werden.
Das erfindungsgemäße Verfahren ist in eines der Computersysteme aus Fig. 2a - 2c implementiert und wird im ersten Computer 200 ausgeführt. Zur Implementierung wird das Verfahren z. B. ganz oder teilweise in einem entsprechenden JavaScript, Jscript, VBScript oder einem anderen geeigneten ScriptCode abgebildet, welcher in den HTML-Code 310 eingefügt wird. Der Scriptcode wird unter Verwendung weiterer Browserroutinen von dem Browser 300 auf dem Computer 200 ausgeführt. Als Anzeigemittel dienen der Monitor 210 und als Cursorpositionierungsmittel die Compu­ termaus 220.
Die einzelnen Verfahrensschritte werden nachfolgend unter wei­ terer Bezugnahme auf die Fig. 5a - 9c erläutert.
Erläuterungen zum ersten Verfahrensschritt
In einem ersten Schritt werden Daten einer Mehrzahl von Bildern 400, 402 und 404, welche jeweils das erste Objekt 100 in unter­ schiedlicher Ansicht oder in einem unterschiedlichen Zustand darstellen, in einem Browserdatenformat, insbesondere in einem vom Browser unterstützten Bilddatenkomprimierungsformat, wie JPG, GIF oder PNG, im ersten Datenspeicher 230 oder auf einem Datenspeicher in einem der weiteren Computer 250, 260, 270 und/oder 280 bereitgestellt (angedeutet durch einen einundzwan­ zigsten Pfeil P21).
Die Anzahl der Bilder 400, 402, 404 richtet sich dabei nach dem Darstellungszweck und den äußeren Gegebenheiten (von den glei­ chen Faktoren hängen letztlich auch die Auswahl einer geeigne­ ten Bildgröße oder der Komprimierungsfaktor bei verlustbehafte­ ten Komprimierungsverfahren wie JPG ab):
Je nach Darstellungszweck kann das Verfahren grundsätzlich auch mit nur 2 Bildern durchgeführt werden. Damit können be­ reits alle Seiten des würfelförmigen, ersten Objektes 100 ge­ zeigt werden. Um eine vollständige Drehung des ersten Objekts 100 um eine Achse Z darzustellen und dabei bei einem Beobachter einen überhaupt ausreichenden Eindruck einer Drehung (und nicht einfach der Anzeige mehrerer Bilder) hervorzurufen, hat sich eine Zahl von wenigstens 12 Bildern als zweckmäßig herausge­ stellt. Um einen guten Eindruck einer kontinuierlichen Drehung zu erzeugen, ist eine Zahl von wenigstens 24 Bildern gut geeig­ net. Wenn das Objekt viele Details aufweist, welche im Laufe der Drehung genau dargestellt werden sollen, wird eine größere Zahl von Bildern benötigt. Wenn anstelle der Außenansicht eines Objektes wie im Falle des ersten Objektes 100 die Innenansicht eines Raumes wie im Falle des zweiten Objektes 110 während ei­ ner vollen Umdrehung um eine Achse Z gezeigt werden soll, er­ hält man ab einer Zahl von 36 Bildern einen guten Dreheindruck.
Auf der anderen Seite ist für eine erfindungsgemäße Darstel­ lungstechnik als wichtigste äußere Gegebenheit die erforderli­ che Übertragungszeit für die Daten zu berücksichtigen, zumal diese ja von dem ersten Datenspeicher 230 (oder 250, 260, 270, 280) in den Arbeitsspeicher 240 geladen werden müssen. Sofern die Darstellung etwa zu Werbezwecken in eine Webseite eingebet­ tet werden soll und zu erwarten ist, daß ein Benutzer diese Seite nur kurz betrachtet, so empfiehlt sich eine geringere Zahl von Bildern. Sofern umgekehrt etwa eine veränderliche Dar­ stellung eines Objektes in einer Business-to-Business-Anwen­ dung mit hoher Übertragungsrate zum Tragen kommt, kann eine größere Anzahl von Bildern zweckmäßig sein (beispielsweise kann es hier günstiger sein, einem auswärtigen Techniker eine de­ taillierte Ansicht eines zu reparierenden Objektes mit relativ hohem Aufwand zu übertragen, als ihm telefonisch Anweisungen zu geben).
Bei anderen Darstellungen als Drehungen ist die geeignete Bil­ derzahl schließlich weitgehend abhängig vom Einzelfall.
Im vorliegend beschriebenen Ausführungsbeispiel wird eine volle Drehung des ersten Objektes 100 um die Z-Achse dargestellt. Hierfür werden 24 Bilder verwendet. Die Bilder können mittels eines Computers erzeugt, von einem realen Objekt per Foto auf­ genommen oder als Zeichnungen etc. zur Verfügung gestellt wer­ den. Aus Gründen der Einfachheit wird im folgenden nur die Vor­ gehensweise bei der Aufnahme der Photos beschrieben. Eine Simu­ lation müßte stattdessen entsprechende Bilder erzeugen; eine Zeichnung müßte entsprechende Bilder umfassen. Die genannten Möglichkeiten, Bilder zu erzeugen, wie auch alle weiteren Mög­ lichkeiten, können ohne Einfluß auf die Erfindung auch beliebig miteinander kombiniert werden.
Für die Aufnahme der Photos wird das Objekt 100 beispielsweise auf einem um die Z-Achse drehbaren Untergrund gelagert. Dann wird eine Kamera in einem gewünschten Abstand und Blickwinkel fest positioniert. Für jede einzelne Aufnahme wird das Objekt 100 um einen gleichmäßigen Drehwinkel in gleicher Drehrichtung um die Z-Achse weitergedreht. Um dabei mit 24 Bildern eine Rundumdrehung darzustellen (wobei das Bild zum Ausgangsdrehwin­ kel von 0° gleich dem Bild zum Enddrehwinkel von 360° ist), be­ trägt der Drehwinkel dabei 360°/24 = 15°.
Für eine entsprechende Darstellung der Innenansicht des zweiten Objektes 110 müßte man umgekehrt verfahren, d. h. die Kamera wä­ re an einer gewünschten Position im Raum 110 drehbar um die Z- Achse gelagert. Da es aber im Ergebnis stets nur auf die Rela­ tivdrehung ankommt, ist im folgenden allgemein nur von einer Drehung des Objektes 100 oder 110 um die Z-Achse die Rede.
Eine solche zusammengehörige Mehrzahl von Bildern wird im fol­ genden als Bildfolge bezeichnet. Im Beispiel umfaßt eine solche Bildfolge stets eine Mehrzahl von Objektansichten aus einer Rundumdrehung um die Z-Achse. Es ist aber möglich, das Verfah­ ren nach den gleichen Grundsätzen mit beliebig anders definier­ ten Bildfolgen auszuführen. Beispielsweise können sich die Bil­ der innerhalb einer Bildfolge auch durch farbliche Modifikatio­ nen, Modifikationen der Gestaltung und/oder unterschiedliche Zustände des dargestellten Objektes unterscheiden. Auf diese Weise ist es beispielsweise möglich, eine Maschine in der Form veränderlich darzustellen, daß man die Maschine vorwärts und rückwärts laufen lassen kann. Allgemein wäre es möglich, eine zeitliche Entwicklung eines Objektes darzustellen.
Um das Verfahren auszuweiten, kann auch eine Mehrzahl von Bild­ folgen verwendet werden. Dies wird anhand der Fig. 5a - 5c verdeutlicht.
So kann eine erste Bildfolge entsprechend Fig. 5a eine volle Drehung des ersten Objektes 100 um die Z-Achse in einer ersten Relativlage des ersten Objektes 100 zur Z-Achse in Schritten von jeweils 15°, wie oben beschrieben, darstellen (angedeutet durch den ersten Pfeil P1). Eine zweite Bildfolge kann entspre­ chend Fig. 5b eine volle Drehung des ersten Objektes 100' um die Z-Achse in einer zweiten Relativlage des ersten Objektes 100' zur Z-Achse in Schritten von jeweils 15°, wie oben be­ schrieben, darstellen (wiederum angedeutet durch den ersten Pfeil P1). Wird eine Mehrzahl von Bildfolgen entsprechend den Fig. 5a und 5b definiert, so ist es möglich, im Ergebnis eine 4-Π-Drehung, d. h. jeweils eine volle Drehung um wenigstens zwei verschiedene Raumachsen und somit eine Drehung in jede be­ liebige, räumliche Lage, darzustellen. Für die einzelnen Bild­ folgen wird dabei jeweils das erste Objekt 100 gegenüber der Z- Achse um eine zweite, insbesondere zur Z-Achse senkrechte Dreh­ achse verkippt. Alternativ kann eine Bildfolge auch nur eine Teildrehung und/oder eine andere Bewegung des dargestellten Ob­ jektes 100' umfassen.
Zusätzlich oder stattdessen kann eine zweite Bildfolge das Ob­ jekt 100", wie in Fig. 5c angedeutet, in einer anderen Farbe oder allgemein nach einer Veränderung, aber in der gleichen Re­ lativlage zur Z-Achse darstellen. Beispielsweise bei der Dar­ stellung eines Autos kann eine Bildfolge das Auto mit geschlos­ senen Türen und Motorhaube darstellen. Weitere Bildfolgen kön­ nen jeweils das Objekt mit einer oder mit mehreren geöffneten Türen und/oder Motorhaube darstellen. Wieder weitere Bildfolgen entsprechen dann etwa den bisher genannten Bildfolgen, zeigen aber das Objekt in unterschiedlicher Farbe. Schließlich können diese Veränderungen auch mit denen entsprechend Fig. 5a und 5b kombiniert werden, so daß das Objekt in unterschiedlichen Rela­ tivlagen zur Z-Achse und in unterschiedlichen Zuständen gezeigt wird. Daneben ist es - wie schon gesagt - auch möglich, ganz an­ ders definierte Bildfolgen zu verwenden.
Erläuterungen zum zweiten Verfahrensschritt
In einem zweiten Verfahrensschritt werden die Bilder 400, 402, 404 insbesondere unter Verwendung einer Datenübertragungsrouti­ ne des Browsers 300 aus dem ersten Datenspeicher 230 (bzw. 250, 260, 270 und/oder 280) in einen zweiten Datenspeicher, nämlich den Arbeitsspeicher 240, übertragen (angedeutet durch einen zweiundzwanzigsten Pfeil P22).
Bei der Übertragung treten zwangsläufig die oben geschilderten Verzögerungen auf. Diese wirken sich insbesondere bei der Ein­ zelübertragung von beispielsweise 24 Bildern 400, 402, 404 aus einer Bildfolge negativ aus. Hierdurch verbietet sich in den meisten Fällen eine veränderliche Objektdarstellung, welche darauf basiert, jeweils das Bild nachzuladen, welches eine dar­ zustellende Objektansicht beinhaltet. Eine solche Darstellung wäre ruckhaft und nicht fließend, so daß ein Dreheindruck aus­ bliebe.
Um dem abzuhelfen, kann man zunächst alle Bilder 400, 402, 404 einer Bildfolge einzeln übertragen und nach Abschluß der Über­ tragung die Darstellung beginnen. Auf diese Weise würde man zwar eine fließende Darstellung erhalten. Die vorgeschaltete Ladezeit ist jedoch relativ lang.
Eine verbesserte Lösung besteht darin, die Bilder 400, 402 und 404 zu einem Paket zusammenzupacken und dann im Arbeitsspeicher 240 wieder zu entpacken. Hierzu ist jedoch nach dem Stand der Technik ein gesondertes Entpackungsprogramm erforderlich, wel­ ches zu weiteren Umständen (nämlich die Installation, der zu­ sätzliche Einsatz sowie weitere Kosten) und Kompatibilitäts­ problemen führt. Vorzugsweise wird daher im beschriebenen Aus­ führungsbeispiel der nachfolgend anhand von Fig. 6a und 6b dar­ gestellte Ansatz gewählt.
Zunächst werden im Beispiel - wie in Fig. 6a durch Pfeile P23, P24 und P25 angedeutet - die Bilder 400, 402 und 404 zu einem Bildstreifen 600 zusammengefügt. Dies kann beispielsweise mit­ tels eines vorzugsweise insofern automatisierten Graphikpro­ gramms erfolgen. Der Bildstreifen 600 entspricht also einem breiten Bild, welches sich aus den Einzelbildern 400, 402 und 404 zusammensetzt (anstelle des Bildstreifens 600 können auch eine Bildebene, d. h. mehrere Bildstreifen nebeneinander, so daß die Bilder eine n.m Bilder große Fläche überdecken, oder eine beliebige andere Zusammensetzung gewählt werden). Der Bild­ streifen 600 wird dann als solcher in einem Browserdatenformat, insbesondere in einem vom Browser unterstützten Bilddatenkom­ primierungsformat, wie JPG, GIF oder PNG, im ersten Datenspei­ cher 230 oder auf einem Datenspeicher in einem der weiteren Computer 250, 260, 270 und/oder 280 zur Übertragung bereitge­ stellt. Allgemeiner gesagt, werden nach diesem Ansatz also meh­ rere Datensätze, z. B. Bilddatensätze, in einem Browserdatenfor­ mat zu einem Datenpaket zusammengefaßt und im ersten Datenspei­ cher 230 bzw. 250, 260, 270 und/oder 280 zur Übertragung be­ reitgehalten.
Denkbar ist es nun, wie in Fig. 6a angedeutet, stets alle Bil­ der einer Bildfolge oder gar von mehreren Bildfolgen zu einem Bildstreifen 600 zusammenzufügen. Hierdurch werden durch einen Verbindungsaufbau bzw. durch die Einstellung eines Lesekopfes bedingte Verzögerungen minimiert. Es sind jedoch regelmäßig auch noch andere Aspekte zu berücksichtigen. So können bei ei­ ner Internetübertragung gerade in Stoßzeiten einzelne ausgehan­ delte Verbindungen unterschiedlich schnell sein. Es besteht al­ so die Gefahr, daß das gesamte Datenpaket über eine besonders langsame Verbindung übertragen wird (dieser Aspekt ist aber nur bei einer Internetübertragung und nicht beim Laden von einem Plattenspeicher 230 zu berücksichtigen). Daneben wird dem Be­ nutzer bei einer Übertragung mehrerer Pakete anstelle eines großen Paketes mehr Aktivität vermittelt, was dazu führen kann, daß er eher eine größere Wartezeit in Kauf nimmt. Vor diesem Hintergrund wird im beschriebenen Beispiel vorgeschlagen, wie in Fig. 6b angedeutet, jeweils 6 Bilder zu einem Bildstreifen zusammenzufügen (angedeutet durch Pfeile P26, P27 und P28), so daß eine Bildfolge von 24 Bildern in 4 Bildstreifen 610, 620, 630 und 640 zu je 6 Bildern übertragen wird.
Zusätzlich oder als Teil des Datenpaketes werden Informationen über die Struktur des Datenpaketes im Hinblick auf die einzel­ nen Datensätze im ersten Datenspeicher zur Übertragung bereit gehalten. Dabei können die Strukturinformationen Abstandsanga­ ben und/oder Koordinatenangaben, jeweils bezogen auf den Bild­ streifen und/oder die Bildebene, umfassen. Diese Informationen können explizit vorliegen. Es ist aber auch möglich, etwa in einem Javascript, einem Jscript oder einem VBScript innerhalb einer HTML-Seite 310, welche ebenfalls in den Arbeitsspeicher 240 übertragen wird, nur die äquivalente Information vorzuse­ hen, daß beispielsweise ein Bildstreifen 610, 620, 630 oder 640 aus 6 nebeneinander liegenden, gleich großen Bildern be­ steht.
In entsprechender Weise wie die beschriebenen Bilder 400, 402, 404 können grundsätzlich alle Arten von Daten zusammengefaßt werden, insbesondere Audiodatensätze zu Audiostreifen etc. Um nach der Übertragung in den Arbeitsspeicher 240 die Daten­ sätze 610, 620, 630, 640, welche in einem vom Browser 300 un­ terstützten Bilddatenkomprimierungsformat vorliegen, verwenden zu können, werden sie zunächst vom Browser 300 ohne Zuhilfenah­ me zusätzlicher Programme dekomprimiert. Um dann aus den Bild­ streifen 610, 620, 630 bzw. 640 und mittels der zugehörigen Strukturinformationen einzelne Datensätze, d. h. die Daten ein­ zelner Bilder 400, 402 und 404, auszusondern und diese einzeln darzustellen, kann man nun beispielsweise eine Clipping-Routine und die übertragenen Strukturinformationen verwenden. Hierbei kann man beispielsweise, wie nachfolgend anhand von Fig. 7a bis 7c beschrieben, vorgehen:
Zunächst wird ein erstes Bild 400 des Bildstreifens 610 in ei­ nem Browserfenster angezeigt (angedeutet durch Pfeil P29). Hierzu wird in dem Browserfenster ein Darstellungsbereich für das Bild 400 definiert. Dieser Darstellungsbereich entspricht den Ausmessungen eines Bildes und wird in den Fig. 7a - 7c durch 2 vertikale Begrenzungslinien b1 und b2 und 2 horizontale Begrenzungslinien b3 und b4 eingegrenzt. Der Bildstreifen 610 (oder eine entsprechende Bildebene etc.) wird in Bezug auf das Browserfenster mittels einer Schieberoutine und unter Verwen­ dung der Strukturinformationen so positioniert, daß die Positi­ on eines darzustellenden Bildes 400 mit der Position des Dar­ stellungsbereichs, begrenzt durch die Begrenzungslinien b1, b2, b3 und b4, übereinstimmt. Hierfür sowie für die Festlegung der Abmessungen des Darstellungsbereichs werden die Strukturinfor­ mationen verwendet. Das darzustellende Bild 400 wird dann unter Verwendung der Clippingroutine aus dem Datenpaket 610 ausgeson­ dert und im Darstellungsbereich unter Verwendung einer Darstel­ lungsroutine des Browsers 300 dargestellt. Ein Objekt innerhalb eines erweiterten HTML-Dokumentes, welches ein Bild auf diese Weise darstellen kann und eine solche Clippingroutine aufweist, wird im Netscape-Navigator beispielsweise unter der Bezeichnung "Layer" und im Internet-Explorer unter der Bezeichnung "Div" zur Verfügung gestellt. Die Auswahl des ersten Bildes 400 kann nach beliebigen Kriterien erfolgen. Am einfachsten wäre es, stets das erste Bild einer Bildfolge als Startbild zu verwen­ den.
Um ein weiteres Bild 402 des Bildstreifens 610 im Darstellungs­ bereich anzuzeigen, wird der Bildstreifen 610 entsprechend ge­ genüber dem Darstellungsbereich verschoben und auf das nun dar­ zustellende Bild 402 beschnitten (in Fig. 7b angedeutet durch einen Pfeil P30). Um dabei ein Flackern zu vermeiden, wird vor­ zugsweise ein Doppelpuffersystem verwendet, so daß der Schiebe- und der Schneidevorgang im Hintergrund durchführbar sind und ein dargestelltes Bild durch ein darzustellendes Bild erst er­ setzt wird, wenn der Schiebe- und der Schneidevorgang abge­ schlossen sind. Entsprechend wird gemäß Fig. 7b während des Verschiebevorgangs weiterhin das erste Bild 400 angezeigt. So­ bald das zweite Bild 402 im Darstellungsbereich positioniert und beschnitten ist, wird anstelle des ersten Bildes in der Browserseite 320 im definierten Darstellungsbereich anstelle des ersten Bildes 400 das zweite Bild 402 angezeigt (angedeutet durch Pfeil P31 in Fig. 7c).
Für die Anzeige weiterer oder des ursprünglichen Bildes 404, 400 wird das vorstehend beschriebene Verfahren entsprechend an­ gewendet. Im Falle von Audiodaten wird entsprechend vor- und zurückgespult bzw. die Startposition angesprungen etc.
Bei der Übertragung der Bildstreifen 610, 620, 630 und 640, wie auch allgemein bei der Übertragung von Daten, insbesondere auch bei der Übertragung von Applets oder sonstigen Programmrouti­ nen, kann es geschehen, daß entweder die Übertragung nicht oder nicht vollständig durchgeführt werden kann, lange dauert, oder aber, daß ein Browser im Beispiel keinen Script-Interpreter, oder im Falle eines Java-Applets keine Virtual-Machine oder im Fall eines sonstigen Programms ein benötigtes Plug-In nicht aufweist. In solchen Fällen wird, wie bereits oben dargelegt, in der Browserseite 320 nach dem Stand der Technik lediglich ein Icon oder eine graue Fläche angezeigt. Um diese Nachteile zu vermeiden, werden vorzugsweise im vorliegenden Beispiel die zur Erzeugung der veränderlichen Darstellung benötigten Pro­ grammelemente in die Browserseite 320 (wie auch allgemein vor­ zugsweise Programmelemente in Browserseiten) auf die nachfol­ gend anhand von Fig. 8a und 8b beschriebene Weise eingebunden:
Zunächst enthält der erste Datenspeicher 230 (bzw. 250, 260, 270 und/oder 280) neben dem HTML-Code 310 einer Browserseite 320 und den Bildstreifen 610, 620, 630 und 640 wenigstens einer Bildfolge noch ein zusätzliches Bild 800. Dieses zusätzliche Bild 800 kann der ersten, darzustellenden Objektansicht entspre­ chen. Es kann darüber hinaus ein Hinweis auf eine laufende Da­ tenübertragung beinhalten. Es kann aber auch einen völlig ande­ ren Inhalt wie beispielsweise eine Werbung aufweisen.
Außerdem ist im HTML-Code 310 der Browserseite 320 ein Darstel­ lungsbereich für die Darstellung des zusätzlichen Bildes 800 definiert sowie ein Verweis auf das zusätzliche Bild 800 über eine Bildkennung (wie den File-Namen oder Bildnamen) enthalten. Der Darstellungsbereich entspricht dabei dem Bereich, in wel­ chem später die angestrebte, veränderliche Darstellung angezeigt werden soll. Ein Aufruf hierfür erforderlicher Programmelemente ist im HTML-Code 310 zunächst nur implizit enthalten, d. h. er ist noch nicht auf die Programmelemente gelinkt, was durch die entsprechend richtige Besetzung benötigter Variablen jedoch je­ derzeit nachgeholt werden kann. Der HTML-Code 310 der Browser­ seite 320 enthält somit zunächst einen Platzhalter in der Form des zusätzlichen Bildes 800 mit einer Kennung zur Identifikati­ on des Platzhalters 800.
Der HTML-Code 310 und der Platzhalter 800 werden als erster Teil einer Datenübertragung vom ersten Speicher 230 (bzw. 250, 260, 270 und/oder 280) in den Arbeitsspeicher 240 übertragen (angedeutet in Fig. 8a durch Pfeile P32 und P33 sowie Symbole 310' und 800' im Arbeitsspeicher 240). Hierauf greift der Browser 300 durch den HTML-Code 310 gesteuert zu (angedeutet durch Pfeil P34). Er entnimmt dem HTML-Code 310' den Verweis (andeutet durch Pfeil P36) auf den Platzhalter 800' und stellt in einem Bereich der Browserseite 320 auf dem Monitor 210 den Gegenstand des Platzhalterbildes, im Beispiel die erste Ob­ jektansicht, dar.
Nach dem Laden des HTML-Codes (und damit nach, während oder vor dem Laden des Platzhalterbildes 800') wird eine Einfügeroutine aktiviert. Die Einfügeroutine ist im HTML-Code 310 vorzugsweise in der Form eines Javascriptes, Jscriptes oder VBScriptes ent­ halten. Sie entnimmt dem HTML-Code Informationen über den Platzhalter 800', wie z. B. über dessen Höhe, Breite, Position, Namen und Position innerhalb der Elementeliste des Browserfen­ sters. Außerdem startet die Einfügeroutine die Übertragung bei­ spielsweise von den 4 Bildstreifen 610, 620, 630 und 640 ei­ ner Bildfolge in den Arbeitsspeicher 240 (in Fig. 8b angedeutet durch Pfeile P37, P38, P39 und P40 sowie durch Symbole 610', 620', 630' und 640' im Arbeitsspeicher 240).
Die Einfügeroutine überwacht, wann der Ladevorgang abgeschlos­ sen ist. Nach Abschluß der Übertragung aktiviert sie, sofern außerdem die Ausführungsvoraussetzungen für die veränderliche Darstellung vorliegen, die hierfür benötigten Programmelemente. Vorzugsweise sind die Einfügeroutine und die Programmelemente für die veränderliche Darstellung in derselben Script-Art abge­ bildet, da dann die Feststellung des Vorliegens der Ausfüh­ rungsvoraussetzungen für die veränderliche Darstellung (also im Beispiel das Vorhandensein eines entsprechenden Script- Interpreters) einfach dadurch erfolgt, daß die Einfügeroutine nur in diesem Fall ausgeführt wird und werden kann. Beim Star­ ten der veränderlichen Darstellung wird der Platzhalter 800 un­ ter Verwendung der Kennung des Platzhalters im HTML-Code 310 der Browserseite 320 ausfindig gemacht und durch das Programme­ lement zur Erzeugung der veränderlichen Darstellung in der Browserseite 320 ersetzt. Dabei kann der HTML-Code 310 der Browserseite 320 als solcher unverändert bleiben, so daß der Platzhalter 800 - bildlich gesprochen - in der Darstellung über­ malt wird; es ist aber auch möglich, den HTML-Code 310 voll­ ständig neu zu generieren. Der Platzhalter 800' wird im Ergeb­ nis nicht mehr dargestellt (angedeutet durch Pfeil P36 in Fig. 8b). Stattdessen führt der Browser 300 das Programmelement aus und zeigt die angestrebte, veränderliche Objektdarstellung im Bereich des Platzhalters in der Browserseite 320 im Browserfen­ ster an (angedeutet durch das Cursorzeichen 810 in der Browser­ seite 320). Ist das Programmelement jedoch nicht ausführbar, so bleibt der Platzhalter 800 sichtbar.
Als Kennung für den Platzhalter 800 wird vorzugsweise der File- Name des Platzhalters 800 ganz oder teilweise, oder aber ein anderes, entsprechendes Identifikationsmerkmal, wie der Element­ name, verwendet.
Die geschilderte Vorgehensweise hat den Vorteil, daß, je nach Art des verwendeten Platzhalters 800, eine längere Ladedauer für einen ersten Eindruck des darzustellenden Objektes, eine Werbung, eine Lademitteilung oder eine Kombination hieraus ver­ wendet werden kann. Auch können mehrere Bilder zeitlich ge­ steuert hintereinander angezeigt werden. Im ersten Fall wird außerdem auch auf Browsern, welche die veränderliche Darstel­ lung nicht ausführen können, ein Eindruck vom Inhalt der Dar­ stellung vermittelt. Zudem werden keine unvollständigen Browserseiten angezeigt. Schließlich ist es bei der Erstellung der Browserseite 320 möglich, ohne besonderen Aufwand und nur durch Benennung des Platzhalternamens mehrere Animationen in eine Seite einzubinden.
Erläuterungen zum dritten Verfahrensschritt
Nach Abschluß der Datenübertragung für wenigstens eine voll­ ständige Bildfolge wird wenigstens ein erstes Bild 400 unter Verwendung einer Darstellungsroutine des Browsers 300 in einem Bereich einer Browserseite 320 in einem Browserfenster auf dem Monitor 210 dargestellt (angedeutet in Fig. 4 durch Pfeil P43). Dies ist möglich, weil der Browser 300 Daten aus dem Arbeits­ speicher 240 verarbeiten kann (angedeutet durch Pfeil P44 in Fig. 4). Da die Übertragung mehrerer Bildfolgen entsprechend länger dauert, wird vorzugsweise dieser Schritt ausgeführt, so­ bald die erste Bildfolge vollständig übertragen ist, und nicht auf weitere Bildfolgen gewartet. Diese werden vielmehr nach Be­ darf nachgeladen. Man kann auch schon nach der Übertragung des ersten Bildstreifens 610 einer Bildfolge oder gar eines Einzel­ bildes 400, 402 oder 404 mit der Darstellung beginnen. Dies würde jedoch im Laufe des weiteren Verfahrens zu Problemen füh­ ren, da verzögertes Nachladen zu einer ruckhaften statt flie­ ßenden Darstellung führt. Vorzugsweise wird das erste Bild 400, 402, 404 einer Bildfolge (bzgl. der Ordnung der Bilder 400, 402, 404 innerhalb einer Bildfolge siehe unten) jeweils zuerst und damit als Startbild dargestellt.
Erläuterungen zum vierten Verfahrensschritt
Der vierte Verfahrensschritt kann grundsätzlich vor oder nach der Übertragung der Bilder 400, 402, 404 etwa in Form von Bildstreifen 610, 620, 630, 640 und/oder vor der Darstellung des ersten Bildes 400 ausgeführt werden. Er beinhaltet die Zu­ ordnung der einzelnen Bilder 400, 402, 404 jeweils zu einem Ob­ jektansichtsbereich, welcher die jeweils dargestellte Objekts­ ansicht umfaßt (siehe im einzelnen weiter unten). Sofern dieser Schritt vor der Übertragung ausgeführt wird, müssen dabei er­ mittelte Zuordnungsdaten ebenfalls auf den zweiten Datenspei­ cher, d. h. in den Arbeitsspeicher 240, übertragen werden.
Der Begriff des Objektansichtsbereiches ist in diesem Zusammen­ hang weit aufzufassen. Im Falle einer veränderlichen, räumlichen Darstellung eines Objektes 100, 110 bezieht er sich beispiels­ weise auf den Drehwinkelbereich, für welchen ein Bild 400, 402, 404 angezeigt wird (wie oben bereits ausgeführt, werden ja nur bestimmte Ansichten in Bildern 400, 402 und 404 abgebildet; demzufolge erfolgt eine Drehung in der Darstellung immer in Schritten, d. h. ein einzelnes Bild wird jeweils für einen be­ stimmten Drehwinkelbereich angezeigt). Im Fall der Darstellung einer Hin- und Herbewegung längs eines Motives wie in Fig. 1c gilt das Entsprechende in Bezug auf einen Verschiebebereich, sofern nicht ein kontinuierliches, langes Bild erzeugt wird, aus welchem Ausschnitte gezeigt werden. Im Falle einer Veränderung von Farben etc. (vgl. Fig. 1d) oder einer zeitlichen Zustand­ sänderung (vgl. Fig. 1e) entspricht der Objektansichtsbereich dem Ausschnitt des Farbraumes oder dem zeitlichen Bereich, für welchen ein Bild angezeigt wird. Aus Gründen der Einfachheit, aber ohne Einschränkung, beziehen sich die folgenden Erläute­ rungen nur auf den Fall der drehbaren Darstellung eines Objek­ tes 100 bzw. 110. Die Objektansichtsbereiche werden also je­ weils für eine Bildfolge als Drehwinkelbereiche, bezogen auf die erste Drehachse, namentlich die Z-Achse, definiert.
Im Fall der Darstellung einer vollen Umdrehung um die Z-Achse in zweckmäßigerweise gleichmäßigen Schritten wird der Betrag der Drehwinkelbereiche für eine Bildfolge jeweils durch Divisi­ on von 360° durch die Anzahl der Bilder 400, 402, 404 ermit­ telt, d. h. bei 24 Bildern ergibt sich ein Bereich von 360°/24 = 15°.
Wie oben dargelegt, stellt jedes Bild 400, 402, 404 eine Ob­ jektansicht dar, zu welcher ein Drehwinkel gehört. Diese Dreh­ winkel lauten 0°, 15°, 30°, . . . und 345°. Mit anderen Worten sind dies die Drehwinkel bzw. die zugehörigen Objektansichten, welche in den einzelnen Bildern 400, 402, 404 exakt dargestellt sind. Bei der Darstellung müssen jedoch, zumal nur eine endli­ che Zahl von Bildern zur Verfügung steht, die einzelnen Bilder 400, 402, 404 jeweils auch noch angezeigt werden, wenn über Eingabemittel, wie die Computermaus 220 (dazu im einzelnen un­ ten) an sich ein leicht veränderter Drehwinkel vorgegeben wird. Zu diesem Zweck wird vorzugsweise jedem Bild 400, 402, 404 ein Drehwinkelbereich zugeordnet, indessen Mitte der zur Objekt­ ansicht gehörige Drehwinkel liegt, und welcher sich in beide Drehrichtungen jeweils um die Hälfte des Betrages des - wie oben dargestellt berechneten - Drehwinkelbereichs erstreckt. Im Bei­ spiel mit 24 Bildern würden den einzelnen Bildern 400, 402, 404 also die folgenden Drehwinkelbereiche zugeordnet werden:
0°±7,5°, 15°±7,5°, 30°±7,5°, . . . und 345°±7,5°.
Die Zuordnung kann explizit erfolgen, d. h. die Winkelbereiche werden berechnet und die resultierenden Daten dem Browser 300 zur Verfügung gestellt. Sie erfolgt jedoch vorzugsweise impli­ zit, indem für die Bilder 400, 402, 404 einer Bildfolge (und damit auch für die einzelnen Bildstreifen 610, 620, 630, 640) eine Reihenfolge festgelegt wird und Eingaben über Eingabemit­ tel (wie unten näher ausgeführt) jeweils so behandelt werden, daß vorbestimmte Eingaben zum Bildwechsel führen. Beispielswei­ se kann ein angezeigtes Bild 400, 402 oder 404 bei einer Maus­ bewegung von einem bestimmten Ausmaß und in eine Richtung je­ weils durch ein benachbartes Bild 402, 404, 400 ersetzt werden, u. s. w.. Dabei ist zu beachten, daß auch das erste und letzte Bild einer Bildfolge (0° und 345°) als benachbart anzusehen sind. . Sofern, wie oben beschrieben, mehrere Bildfolgen verwendet wer­ den, um eine 4-Π-Drehung ganz oder teilweise darstellen zu können, wird den einzelnen Bildfolgen in entsprechender Weise jeweils ein Drehwinkelbereich, bezogen auf die zweite Drehachse, zugeordnet.
Erläuterungen zum fünften Verfahrensschritt
In einem fünften Schritt werden aus wenigstens einer Betätigung der Cursorpositionierungsmittel, etwa der Computermaus 220, re­ sultierende Positionsänderungen des Cursors 810 unter Verwen­ dung eines Event-Handlers des Browsers 300 ermittelt. Statt der Bewegung einer Computermaus kann beispielsweise auch die Dauer eines Tastendrucks als maßgeblicher Parameter herangezogen wer­ den. Die so jeweils erhaltenen Daten werden in weiteren Verfah­ rensschritten zur Steuerung der veränderlichen Darstellung ver­ wendet. Zusätzlich oder stattdessen kann die veränderliche Dar­ stellung an einen Parameter gekoppelt werden, welcher zeitlich veränderbar ist. Auf diese Weise kann beispielsweise ein selbstdrehendes Objekt dargestellt werden.
Der fünfte Schritt könnte grundsätzlich auch schon vor dem vierten Schritt in dem Sinn ausgeführt werden, daß erst eine Cursorbewegung zur Anzeige des ersten Bildes führt. Zweckmäßi­ ger ist jedoch die im Ausführungsbeispiel vorgeschlagene Rei­ henfolge.
Erläuterungen zum sechsten bis achten Verfahrensschritt
In einem sechsten und siebenten Verfahrensschritt wird wenigstens eine darzustellende Objektansicht unter Verwendung von Objekt­ bereichsdaten und von Positionsänderungsdaten des Cursors 810 ermittelt und dabei wenigstens einmal ein Bild 400, 402 ermit­ telt, dessen zugeordneter Objektansichtsbereich die nach der Änderung darzustellende Objektansicht umfaßt. In einem achten Verfahrensschritt wird dann wenigstens einmal ein so ermittel­ tes Bild unter Verwendung der Darstellungsroutine und gegebe­ nenfalls der Verschiebe- und Clippingroutinen des Browsers in dem Browserfenster dargestellt.
Im Fall eines ersten Ausführungsbeispieles werden dabei Posi­ tionsänderungen des Cursors 810 in oder gegen die Richtung ei­ ner ersten Koordinatenachse, etwa der X-Achse, auf Drehungen des Objektes 100 um die erste Drehachse, etwa die zur X-Achse senkrechte Z-Achse aus Fig. 1a, bezogen. Dabei ist es grund­ sätzlich möglich, alle Cursorbewegungen zu berücksichtigen. Besser ist es jedoch, nur solche Bewegungen zu berücksichtigen, bei welchen beispielsweise eine Taste der Computermaus 220 ge­ drückt ist, um ungewollte Drehbewegungen zu vermeiden.
Dieser Ansatz wird nachfolgend anhand der Fig. 9a - 9c erläu­ tert:
Zunächst wird durch Drücken der Maustaste in Fig. 9a eine erste Cursorposition definiert, welche der Mitte M des Objektan­ sichtsbereichs eines gerade dargestellten Bildes 400 zugeordnet wird. Sodann werden Grenzen g1 und g2 (und gegebenenfalls wei­ tere Grenzen für den Fall, daß eine Mausbewegung dem sukzessi­ ven Wechsel mehrerer Bilder entspricht) des Objektdarstellungs­ bereichs durch Abschnitte auf der X-Achse repräsentiert, welche auf der X-Achse jeweils gleich weit vom Ausgangspunkt M wegrei­ chen. Diese Abschnitte werden beispielsweise in Pixel ausge­ drückt, so daß die Ausgangssituation des Cursors 810 als 0 Pixel angesehen wird, während die Grenzen g1 und g2 als 0 ± x Pixel (und die weiteren Grenzen als g1-n* (2x) bzw. g2 + n* (2x)) angeben werden.
Solange der Cursor wie in Fig. 9b innerhalb der Grenzen g1 und g2 gehalten, d. h. nur um wenige Pixel bewegt wird, wird das erste Bild 400 angezeigt (angedeutet durch Pfeil P45). Sobald jedoch eine der Grenzen g1 oder g2 (oder der weiteren Grenzen) überschritten wird, wird wie in Fig. 9c das (oder die) in der Bildfolge jeweils in dieser Richtung benachbarte Bild 402 an­ stelle des ersten Bildes 400 angezeigt. Bei einer Weiterbewe­ gung des Cursors nach dem ersten Bildwechsel gilt für die nächstfolgenden Grenzen bzw. für eine Rückbewegung das oben ge­ sagte entsprechend.
Die Verfahrensschritte sechs bis acht können beliebig oft wie­ derholt werden. Zusätzlich können Positionsänderungen des Cur­ sors in oder gegen die Richtung einer zweiten, insbesondere zur ersten Koordinatenachse X senkrechten Koordinatenachse Z auf Drehungen des Objektes um eine zweite Drehachse (X oder Y) be­ zogen werden.
Sofern die Objektansichtsbereiche explizit bestimmt werden, ist es zusätzlich oder alternativ möglich, eine darzustellende Ob­ jektsansicht aus einer den Objektbereichsdaten einer darge­ stellten Objektansicht und den Positionsänderungen des Cursors auf die folgende Weise zu ermitteln: Zunächst wird das Ausmaß der Positionsänderung, etwa gemessen in Pixel, mittels eines multiplikativen Umrechnungsfaktors, etwa der Einheit Grad pro Pixel, in einen Drehwinkel, etwa gemessen in Grad, umgerechnet. Der so erhaltene Drehwinkel wird bei Positionsänderungen in oder gegen die Richtung der jeweiligen Koordinatenachse jeweils mit einem anderen Vorzeichen versehen. Schließlich wird der mit Vorzeichen versehene Drehwinkel zu dem zur dargestellten Ob­ jektsansicht gehörigen Drehwinkel addiert. Vorzugsweise wird dann ein Bild ermittelt, dessen zugeordneter Objektansichtsbe­ reich die darzustellende Objektansicht nach der Änderung um­ faßt, indem zunächst der zur darzustellenden Objektansicht ge­ hörige Drehwinkel mit den Drehwinkelbereichen der einzelnen Bilder einer Bildfolge und/oder den Drehwinkelbereichen der einzelnen Bildfolgen verglichen wird. Sodann wird das Bild und/oder die Bildfolge ausgewählt, in dessen bzw. deren zuge­ ordneten Drehwinkelbereich der zur darzustellenden Objektsan­ sicht gehörige Drehwinkel liegt.
Alternativ kann auch eine algebraische Berechnung, welches Bild darzustellen ist, ausgeführt werden. Beispielsweise ergibt sich das darzustellende Bild aus einer Multiplikation der Mausbewe­ gung, gemessen in Pixel, mit einem Umrechenfaktor der Dimension Grad pro Pixel und einer Division des so erhaltenen Ergebnisses durch die Schrittweite, gemessen in Grad. Dabei kann beispiels­ weise festgelegt werden, daß eine Cursorbewegung von 8 Pixeln dem Darstellungsbereich von einem Bild entspricht.
Die Verfahrensschritte sechs bis acht werden auch in Fig. 4 darge­ stellt. Zunächst wird auf dem Monitor 210 ein erstes Bild 400 dargestellt. Der Cursor 810 befindet sich im linken Bildbe­ reich. Sodann wird die Maustaste gedrückt und der Cursor 810' mittels der Computermaus 220 in die rechte Bildhälfte bewegt (angedeutet durch Pfeil P47). Die Positionsänderung des Cursors wird über den Event-Handler des Browsers 300 erfaßt (angedeutet durch Pfeil P48) und in eine entsprechende Änderung der Ob­ jektansicht nach einem der oben beschriebenen Verfahren über­ setzt. Sofern sich hieraus ergibt, daß ein zweites Bild 402 an­ zuzeigen ist, wird die Darstellung der Browserseite auf dem Mo­ nitor 210 entsprechend geändert (angedeutet durch Pfeil P49). Die Verfahrensschritte sechs bis acht können beliebig oft wie­ derholt werden (angedeutet durch Pfeil P50).
Ergänzung bzw. Erweiterung zum Verfahrensbeispiel
Für viele Anwendungen ist es wünschenswert, zusätzlich zur ver­ änderlichen Darstellung eines Objektes nach dem bisher be­ schriebenen Verfahren, wie auch sonst bei veränderlichen Ob­ jektdarstellungen interaktive Flächen in die Darstellung einzu­ fügen. Dabei wird vorzugsweise, wie schon bisher beschrieben, für die veränderliche, räumliche Darstellung des Objektes eine Mehrzahl von zweidimensionalen Bildern verwendet, welche je­ weils das Objekt in unterschiedlicher Ansicht darstellen und welche in einem Browserfenster dargestellt werden.
Interaktive Flächen sind beispielsweise Flächen in graphischen Darstellungen auf Computerbildschirmen, auf welche ein Benutzer einen Cursor etwa mittels einer Computermaus bewegen kann und durch welche Aktionen ausgelöst werden, wenn der Benutzer an dieser Stelle eine Taste betätigt. Technisch werden hierfür Hy­ perlinks verwendet. Diese werden nach dem Stand der Technik an bestimmte Flächen innerhalb eines einzelnen zweidimensionalen Bildes gebunden, indem eine Region ("Area") durch Angabe der absoluten Pixelkoordinaten in der Darstellung definiert wird und der Hyperlink an diese Region gebunden wird. Befindet sich der Cursor oder Mauszeiger innerhalb dieser Region, während der Mausbutton betätigt wird, so wird der zugeordnete Hyperlink ausgeführt. Eine sehr einfache Version einer interaktiven Flä­ che wird unter Weglassung der Koordinaten erreicht, indem das gesamte Bild mit einem Hyperlink verbunden wird. Die interakti­ ve Fläche umfaßt dabei die gesamten Ausmaße des Bildes. Zusätz­ lich können weitere Maus-Events definiert werden. Beispielswei­ se kann beim sogenannten Mouse-Over, d. h. der Cursor wird über eine interaktive Fläche hinüberbewegt, kurz ein Rahmen ange­ zeigt werden, welcher signalisiert, daß eine interaktive Fläche vorhanden ist.
Um interaktive Flächen in einer veränderlichen Darstellung der vorbeschriebenen Art sinnvoll zu definieren, muß nach dem Stand der Technik beispielsweise in einer Folge von 24 Bildern jeweils der der Objektansichtsänderung angepaßte, interaktive Bereich eigens angelegt werden. Der Aufwand hierfür, wie auch für jede Änderung, ist beträchtlich.
Eine Abhilfemöglichkeit wird nachfolgend anhand der Fig. 10a bis 10d erläutert.
Gemäß Fig. 10a besteht das Darstellungsziel beispielsweise dar­ in, eine volle Drehung des Objektes 100' um die Z-Achse in der Richtung des Pfeils P1 in einer Bildfolge von 24 Bildern darzu­ stellen. Dabei soll auf einer Seite des Objektes 100' eine in­ teraktive Fläche 1000 eingefügt werden.
Der Ansatz besteht darin, zunächst eine Bildfolge ohne interak­ tive Flächen zu erstellen. Entsprechend dem Darstellungsziel ist dabei den einzelnen Bildern 400, 402 der Bildfolge jeweils eine Position und/oder räumliche Lage des dargestellten Objek­ tes 100' in einem Bezugssystem, nämlich dem durch die Achsen X, Y und Z aufgespannten Koordinatensystem, zugeordnet. Für die zu erzeugende interaktive Fläche 1000 wird eine Modellfläche 1010 verwendet, deren Position und/oder räumliche Lage im Bezugssy­ stem (X, Y, Z) veränderlich ist. Sodann wird gemäß Fig. 10b eine erste Position und/oder räumliche Lage der Modellfläche 1010 im Bezugssystem dem ersten Bild 400 zugeordnet (angedeutet durch Pfeile P51 und P52). Dabei wird die in Fig. 10b dargestellte Projektion der Modellfläche 1010 auf die Y-Z-Ebene in das Bild 400 eingefügt, so daß ein um eine 12215 00070 552 001000280000000200012000285911210400040 0002010030764 00004 12096interaktive Fläche ergänztes Bild 400' entsteht.
Gemäß Fig. 10c wird dann bei einem Darstellungswechsel vom er­ sten Bild 400 auf ein zweites Bild 402 die Position und/oder räumliche Lage der Modellfläche 1010' entsprechend der Änderung der Position und/oder räumlichen Lage des dargestellten Objek­ tes 100' verändert und eine Projektion der Modellfläche 1010' in der neuen Position und/oder räumlichen Lage auf das zweite Bild 402 algebraisch, insbesondere durch eine Dreh- und/oder Translationsmatrix, berechnet. Diese Projektion ist rechts oben in Fig. 10c dargestellt. Die Berechnungen werden entweder über eine entsprechende Java-Script-, Jscript oder Visual Basic-Rou­ tine vor Ort durchgeführt, oder aber an anderer Stelle von ei­ nem Autorenprogramm vorberechnet und in Form einer Liste mit übermittelt.
Es wäre nun grundsätzlich möglich, die Projektion unmittelbar für die Definition der interaktiven Fläche 1000' in der Dar­ stellung des zweiten Bildes 402 im Browserfenster zu verwenden. Bei vielen älteren Browsern können jedoch nur rechteckige Be­ reiche als interaktive Flächen verwendet werden, da andere Flä­ chen, wie etwa Polygonzüge oder Ellipsen, häufig als Funktion in­ stabil sind und dadurch ihre Verwendung zu Abstürzen des Browsers führen kann.
Vor diesem Hintergrund ist es zunächst zweckmäßig, als Modell­ fläche 1010 eine ebene, rechteckige Fläche zu verwenden. Sodann wird vorzugsweise eine Projektion der Modellfläche 1010', wel­ che als solche nicht rechteckig ist, in der Weise für die Defi­ nition der interaktiven Fläche 1000 verwendet, daß die interak­ tive Fläche 1000 die Gestalt eines Rechtecks hat, welches in Lage und Größe der Projektion ähnlich ist. Um dies zu gewähr­ leisten und zugleich alle Bereiche abzudecken, an welchen ein Benutzer eine interaktiven Bereich erwarten kann, werden bevor­ zugt die Maximalwerte der Projektion zur Definition eines ähn­ lichen Rechtecks 1020 und damit einer rechteckigen, interaktiven Fläche 1000' verwendet, so daß die rechteckige, inter­ aktive Fläche 1000' die Projektion der Modellfläche 1010' ein­ schließt.
Die Modellfläche 1010 wird in diesem Beispiel im Browserfenster als solche nicht, d. h. nicht sichtbar, dargestellt. Zur Berech­ nung der Projektion der Modellfläche 1010 auf eine darzustel­ lende Objektsansicht wird als Transformationsalgorithmus eine Abbildungsmatrix, vorzugsweise eine Drehmatrix, verwendet.
Ein weiteres Problem besteht darin, daß bei einer vollen Dre­ hung des Objektes 100' um die Z-Achse die interaktive Fläche 1000 während der Hälfte der Drehung vom Objekt 100' abgedeckt ist und vorzugsweise auch so dargestellt wird. Dementsprechend kann nicht einfach das oben beschriebene Verfahren in der Weise verwendet werden, daß jede Projektion der Modellfläche 1010 auch zur Definition einer interaktiven Fläche 1000, 1000' her­ angezogen wird. Dies sollte vielmehr nur dann der Fall sein, wenn der der interaktiven Fläche 1000, 1000' zugeordnete Ober­ flächenbereich des dargestellten Objektes 100' auch sichtbar ist.
Um dieses Ziel zu erreichen, wird bei der Darstellung einer an­ deren Seite des Objektes die Definition der interaktiven Fläche 1000, 1000' durch einen Hidden-Line-Algorithmus verhindert. Zu diesem Zweck wird am einfachsten - wie in Fig. 10d dargestellt -, für die Modellfläche 1010 ein Normalenvektor n definiert. Hier­ durch ist es möglich, daß der Hidden-Line-Algorithmus die Flä­ chennormale n der Modellfläche 1010 in der Weise verwendet, daß eine Projektion der Modellfläche 1010 auf die darzustellende Objektansicht nur dann als interaktive Fläche 1000 definiert wird, wenn die Flächennormale zu einem Betrachter hin, d. h. aus der Bildebene hinaus weist. Allgemeiner gesagt, ist es zweckmä­ ßig, den Normalenvektor in der Weise zu verwenden, daß die in­ teraktiven Flächen 1000, 1000' immer dann inaktiviert werden, wenn der Normalenvektor außerhalb eines bestimmten Winkelbe­ reichs liegt.
Durch einen Hidden-Line-Algorithmus kann auch die (teilweise) Verdeckung eines Objektes durch ein anderes Objekt dargestellt werden, so daß im Falle ihrer Verdeckung interaktive Flächen ebenfalls inaktiviert werden. Es kann auch sinnvoll sein, die interaktiven Flächen als solche in der Darstellung, etwa beim "Überfahren" mit der Maus, sichtbar zu machen, um dem Betrach­ ter die vorhandenen Möglichkeiten zu verdeutlichen.
Sobald interaktive Flächen definiert sind, können mit ihnen beispielsweise Aktionen verbunden werden, welche das darge­ stellte Objekt 100' verändern. Zu diesem Zweck wird nach einer Betätigung der interaktiven Fläche 1000 eine erste Bildfolge durch eine zweite Bildfolge ersetzt. So ist es beispielsweise möglich, ein dargestelltes Auto in unterschiedlichen Farben oder mit oder ohne geöffneten Türen zu drehen, etc. Die zu in­ teraktiven Flächen gehörenden Aktionen können auch explizit durch Aufruf einer entsprechenden Funktion in Java-Script, JScript oder Visual-Basic etc. ausgelöst werden.
Zusätzlich oder stattdessen können auch Aktionen von außerhalb der Darstellung ausgelöst werden. Beispielsweise können inter­ aktive Flächen in Form von Schaltleisten auch neben oder unter­ halb der Darstellung vorgesehen sein. In allen Fällen wird je­ weils eine Funktion im Java-Script (oder Jscript, Visual-Basic) aufgerufen, ein Hyperlink ausgeführt oder die Seite neu gene­ riert etc. Auch ist es möglich, in anderen Seiten die Werte von Variablen in Javascript, Jscript oder VBScript zu verändern, um zwei Seiten miteinander zu verknüpfen. Beispielsweise ist es so möglich, in einer oder mehreren Seiten gewünschte Eigenschaften eines Autos zusammenzustellen und es dann in einer anderen Sei­ te darzustellen.
Ausführungsbeispiele: Computersystem, Computerprogrammprodukt, Netzwerkserver und Netzwerkclient
Die Erfindung wurde in den bisherigen Ausführungen in der Form und im Umfeld eines Verfahrensbeispiels beschrieben. Wie schon gesagt, erfordert die Umsetzung eines solchen Verfahrens eine Abbildung des Verfahrens in Programmelemente, welche dann in einem Computersystem bzw. ganz oder teilweise auf einem Netz­ werkserver oder Netzwerkclient als Computerprogrammprodukt im­ plementiert werden. Anders ausgedrückt, erhält das jeweilige System durch die Implementierung des Computerprogrammproduktes die erfindungsgemäßen technischen Eigenschaften oder ist dem­ entsprechend angepaßt. Vor diesem Hintergrund versteht es sich, daß die Erfindung auch die derart ausgestatteten Systeme um­ faßt, welche im übrigen in der Beschreibung auch beispielhaft dargestellt sind.
Insbesondere umfaßt die Erfindung ein Computersystem zur Erzeu­ gung einer räumlichen Darstellung eines Objektes 100, 110, 120, 140, 150, 160 in veränderlicher Ansicht unter Verwendung eines Browsers 300, wobei das Computersystem einen ersten und einen zweiten Datenspeicher 230 und 240 bzw. 250, 260, 270 und/oder 280, Anzeigemittel 210 und Cursorpositionierungsmittel 220, insbesondere eine Maus, einen Track-Ball, ein Touch-Pad, einen Maus-Stick oder einen Touchscreen umfaßt, zum Betreiben eines Verfahrens der vorstehend beschriebenen Art.
Sodann umfaßt die Erfindung ein Computerprogrammprodukt, wel­ ches in einem Speichermedium gespeichert ist und welches Soft­ warecodeabschnitte umfaßt, mit denen Schritte für ein vorste­ hend beschriebenes Verfahren ausgeführt werden, wenn das Pro­ dukt auf einem Computer 200, 250, 260, 270 bzw. 280 läuft.
Ferner umfaßt die Erfindung einen Netzwerkserver 260 und insbe­ sondere einen Internetserver mit einem Speichermedium, auf wel­ chem ein Computerprogrammprodukt gespeichert ist, welches Soft­ warecodeabschnitte umfaßt, mit denen Schritte eines vorstehend beschriebenen Verfahrens ausgeführt werden, wenn das Produkt auf einem Computer 200 läuft; außerdem einen Netzwerkserver 260 und insbesondere Internetserver mit einem Speichermedium, auf welchem ein Computerprogrammprodukt gespeichert ist, welches Softwarecodeabschnitte umfaßt, mit denen Schritte eines vorste­ hend beschriebenen Verfahrens ausgeführt werden, wenn das Pro­ dukt auf einem Computer 200, 250, 260, 270 bzw. 280 läuft, wo­ bei das Computerprogrammprodukt zumindest teilweise auf einen anderen Computer 200, insbesondere auf einen Netzwerkclient und insbesondere einen Internetclient übertragbar und dort ausführ­ bar ist.
Schließlich umfaßt die Erfindung einen Netzwerkclient 200 und insbesondere Internetclient mit einem Speichermedium 230, 240, auf welchem ein Computerprogrammprodukt gespeichert ist, wel­ ches Softwarecodeabschnitte umfaßt, mit denen Schritte eines vorstehend geschilderten Verfahrens ausgeführt werden, wenn das Produkt auf dem Client läuft.
Die dargestellten Ausführungsbeispiele dienen der Erläuterung der Erfindung. Sie sind nicht als Einschränkung der Ansprüche zu verstehen. Vielmehr umfaßt die Erfindung auch alle anderen Ausführungsbeispiele, welche sich aus den Ansprüchen ergeben.
Allgemeine Vorteile der Ausführungsbeispiele
Die geschilderten Ausführungsbeispiele haben in den verschiede­ nen Varianten den allgemeinen Vorteil, daß eine veränderliche Darstellung eines Objektes, insbesondere in veränderlicher räumlicher Ansicht, in einer Browserseite eingefügt werden kann, ohne daß eine Virtual-Machine oder ein Plug-In erforder­ lich ist. Dabei werden üblicherweise vorhandene Browserroutinen in bisher unbekannter Weise eingesetzt. Entgegen dem bestehen­ den Vorurteil nach dem Stand der Technik, stellt sich dabei heraus, daß für die Erzeugung einer solchen veränderlichen Dar­ stellung weder eine Virtual-Machine noch ein Plug-In erforder­ lich ist. Damit sind nach dem beschriebenen Verfahren erstellte, veränderliche Darstellungen einem erheblich größeren Kreis von Browsernutzern zugänglich, als Darstellungen nach bekannten Verfahren. Es werden somit beispielsweise die technischen Vor­ aussetzungen geschaffen, eine verbesserte, da weiter zugängli­ che Möglichkeit der Internet-Werbung sowie eine verbesserte Einrichtung von Schauflächen in Internet-Kaufhäusern zu erhal­ ten. Weitere Einsatzmöglichkeiten sind z. B. elektronische Hand­ bücher, Mitarbeiterschulungen, interaktive Navigationselemente etc. Stets besteht der Vorteil einer gegenüber dem Stand der Technik vereinfachten Nutzung, da keine Plug-Ins geladen und installiert werden müssen. Auch müssen keine Plug-Ins produ­ ziert, fortentwickelt ("gepflegt") oder distributiert werden. Stattdessen kann man sich Fortentwicklungen der Browser unmit­ telbar zunutze machen. Ein weiterer Vorteil von einem Java- Script-Programm im Vergleich zu Plug-Ins oder Applets ist das kompakte Programm. Eine Java-Script-Programm zur Umsetzung ei­ nes oben dargestellten Verfahrens kann in der Größenordnung von weniger als 5 kB liegen. Dadurch ist der Programmcode sehr schnell geladen. Ein weiterer Vorteil betrifft schließlich das geschilderte Verfahren zur Datenübertragung: sofern beispiels­ weise statt 24 Bildern 4 Bildstreifen übertragen werden, können Probleme mit Firewalls vermieden werden, welche mitunter den Abruf vieler Einzelfiles in kurzer Zeit verhindern.

Claims (64)

1. Verfahren zur Erzeugung einer veränderlichen Darstellung eines Objektes (100, 100', 120, 130, 140, 150, 160), insbe­ sondere in veränderlicher, räumlicher Ansicht, unter Ver­ wendung eines Browsers (300) für ein Computersystem (200-280), wobei das Computersystem (200-280) einen ersten (230; 250, 260, 270, 280) und einen zweiten Datenspeicher (240), Anzeigemittel (210) und Cursorpositionierungsmittel (220), insbesondere eine Maus, einen Track-Ball, ein Touch-Pad, einen Maus-Stick oder einen Touch-Screen um­ faßt, bei welchem:
  • a) Daten einer Mehrzahl von Bildern (400, 402, 404), welche jeweils das Objekt (100, 100',120, 130, 140, 150, 160) in unterschiedlicher Ansicht oder in einem unterschiedlichen Zustand darstellen, in einem Browserdatenformat, insbesondere in einem vom Browser (300) unterstützten Bilddatenkomprimierungsformat, in dem ersten Datenspeicher (230; 250, 260, 270, 280) bereitgestellt werden;
  • b) die Bilder (400, 402, 404) insbesondere unter Verwen­ dung einer Datenübertragungsroutine des Browsers (300) aus dem ersten Datenspeicher (230; 250, 260, 270, 280) in den zweiten Datenspeicher (240) übertra­ gen werden;
  • c) wenigstens ein erstes Bild (400) unter Verwendung ei­ ner Darstellungsroutine des Browsers (300) in einem Browserfenster dargestellt wird;
  • d) vor oder nach der Übertragung der Bilder (400, 402, 404) und/oder der Darstellung des ersten Bildes (400) die Bilder jeweils einem Objektsansichtsbereich zuge­ ordnet werden, welcher die jeweils dargestellte Ob­ jektsansicht umfaßt, und gegebenenfalls vor der Über­ tragung ermittelte Zuordnungsdaten auf den zweiten Datenspeicher (240) übertragen werden;
  • e) aus wenigstens einer Betätigung der Cursorpositionie­ rungsmittel (220) resultierende Positionsänderungen des Cursors (810) unter Verwendung eines Event- Handlers des Browsers (300) und/oder eine sonstige Parameteränderung ermittelt werden;
  • f) wenigstens eine darzustellende Objektansicht unter Verwendung von Objektbereichsdaten und Positionsände­ rungsdaten des Cursors (810) und/oder den sonstigen Parameteränderungsdaten ermittelt wird;
  • g) wenigstens einmal ein Bild (400, 402; 404) ermittelt wird, dessen zugeordneter Objektansichtsbereich die nach der Änderung darzustellende Objektansicht um­ faßt; und
  • h) wenigstens einmal ein so ermitteltes Bild (400, 402, 404) unter Verwendung der Darstellungsroutine des Browsers (300) in dem Browserfenster dargestellt wird.
2. Verfahren nach Anspruch 1, bei welchem sich die Objektan­ sichten der Bilder (400, 402, 404) durch Drehungen des Ob­ jektes (100, 110) um eine erste Drehachse (Z) unterschei­ den.
3. Verfahren nach Anspruch 2, bei welchem in einer Bildfolge das Objekt (100, 110) jeweils um einen gleichmäßigen Dreh­ winkel in gleicher Drehrichtung (P1) um die erste Drehach­ se (Z) weitergedreht erscheint.
4. Verfahren nach einem der Ansprüche 2 oder 3, bei welchem in einer Bildfolge eine Mehrzahl von Objektansichten aus einer Rundumdrehung des Objektes (100, 110) um die erste Drehachse (Z) erfaßt ist.
5. Verfahren nach Anspruch 1, bei welchem eine Mehrzahl von Bildfolgen nach einem der Ansprüche 2-4 verwendet wird, wobei sich die Bildfolgen durch ein Verkippen des Objektes (100, 110) gegenüber der ersten Drehachse (Z) um eine zweite, insbesondere zur ersten Drehachse (Z) senkrechte Drehachse (X, Y) unterscheiden.
6. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem sich die Objektansichten einer Mehrzahl von Bildern und/oder Bildfolgen durch farbliche Modifikationen, Modi­ fikationen der Gestaltung und/oder eine Translation des dargestellten Objektes (120, 130, 140) unterscheiden.
7. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem sich eine Mehrzahl von Bildern und/oder Bildfolgen durch unterschiedliche Zustände des dargestellten Objektes (150, 160) unterscheiden.
8. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem als Bilddatenkomprimierungsformat JPG, GIF und/oder PNG verwendet wird.
9. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Bilder (400, 402, 404) von einem ersten Daten­ speicher (250, 260, 270, 280) in einem Netzwerkserver, insbesondere einem Internetserver, auf einen zweiten Da­ tenspeicher (240) in einem Netzwerkclient, insbesondere einem Internetclient, übertragen werden.
10. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem wenigstens eine vollständige Bildfolge nach einem der Ansprüche 2-4 vom ersten (250, 260, 270, 280) auf den zweiten Datenspeicher (240) übertragen wird, bevor die Schritte e - h aus Anspruch 1 ausgeführt werden.
11. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem der zweite Datenspeicher (240) ein Arbeitsspeicher ist.
12. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem das erste Bild (400) einer Bildfolge als Startbild dargestellt wird.
13. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Objektansichtsbereiche jeweils unmittelbar mit Änderungen einer Cursorposition in Beziehung gesetzt wer­ den.
14. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Objektansichtsbereiche jeweils für eine Bildfolge als Drehwinkelbereiche bezogen auf die erste Drehachse (Z) definiert werden.
15. Verfahren nach Anspruch 14, bei welchem der Betrag der Drehwinkelbereiche für eine Bildfolge jeweils durch Divi­ sion von 360° durch die Anzahl der Bilder der Bildfolge ermittelt wird.
16. Verfahren nach einem der vorstehenden Ansprüche 14 und 15, bei welchem jedem Bild (400, 402, 404) ein Drehwinkelbe­ reich zugeordnet wird, in dessen Mitte der zur Objektsan­ sicht gehörige Drehwinkel liegt, und welcher sich in beide Drehrichtungen jeweils um die Hälfte des Betrages des Drehwinkelbereichs erstreckt.
17. Verfahren nach einem der vorstehenden Ansprüche 14 - 16, bei welchem einer Mehrzahl von Bildfolgen in entsprechender Weise jeweils ein Drehwinkelbereich, bezogen auf die zweite (X, Y) Drehachse, zugeordnet wird.
18. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem Positionsänderungen des Cursors (810) in oder gegen die Richtung einer ersten Koordinatenachse (X) auf Drehun­ gen des Objektes (100, 110) um die erste Drehachse (Z) be­ zogen werden.
19. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem Positionsänderungen des Cursors (810) in oder gegen die Richtung einer zweiten, insbesondere zur ersten Koor­ dinatenachse (X) senkrechten Koordinatenachse (Z) auf Dre­ hungen des Objektes (100, 110) um die zweite Drehachse (X) bezogen werden.
20. Verfahren nach einem der Ansprüche 18 und/oder 19, bei welchem eine darzustellende Objektsansicht aus einer dar­ gestellten Objektsansicht und den Positionsänderungen des Cursors (810) ermittelt wird, indem:
  • a) das Ausmaß der Positionsänderung, etwa gemessen in Pixel, mittels eines multiplikativen Umrechnungsfak­ tors, etwa der Einheit Grad pro Pixel, in einen Dreh­ winkel, etwa gemessen in Grad, umgerechnet wird;
  • b) der so erhaltene Drehwinkel bei Positionsänderungen in oder gegen die Richtung der jeweiligen Koordina­ tenachse (X, Y, Z) jeweils mit einem anderen Vorzei­ chen versehen wird; und
  • c) der mit Vorzeichen versehene Drehwinkel zu dem zur dargestellten Objektsansicht gehörigen Drehwinkel ad­ diert wird.
21. Verfahren nach Anspruch 20, bei welchem ein Bild (400, 402, 404) ermittelt wird, dessen zugeordneter Objektan­ sichtsbereich die darzustellende Objektansicht nach der Änderung umfaßt, indem:
  • a) der zur darzustellenden Objektansicht gehörige Dreh­ winkel mit den Drehwinkelbereichen der einzelnen Bil­ der (400, 402, 404) einer Bildfolge und/oder den Drehwinkelbereichen der einzelnen Bildfolgen vergli­ chen wird; und
  • b) das Bild (400, 402, 404) und/oder die Bildfolge aus­ gewählt wird, in dessen zugeordneten Drehwinkelbe­ reich der zur darzustellenden Objektansicht gehörige Drehwinkel liegt.
22. Verfahren nach einem der vorstehenden Ansprüche, bei wel chem ein darzustellendes Bild (400, 402, 404) ermittelt wird, indem eine Nummer des Bildes (400, 402, 404) in der Bildfolge auf algebraischem Wege ermittelt wird.
23. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem ein in einem Browserfenster dargestelltes Bild (400, 402, 404) durch das ermittelte Bild (400, 402, 404) er­ setzt wird.
24. Verfahren nach einem der vorstehenden Ansprüche, welches als Javascript, JScript oder VBS-Script abgebildet und ausgeführt wird.
25. Verfähren nach einem der vorstehenden Ansprüche zur Erzeu­ gung einer veränderlichen Darstellung eines Objektes (100-160, 100') mit interaktiven Flächen (1000; 1000') in ver­ änderlicher Ansicht und unter Verwendung eines Browsers (300) für ein Computersystem (200-280), wobei für die ver­ änderliche Darstellung des Objektes (100-160, 100') eine Mehrzahl von zweidimensionalen Bildern (400, 402, 404) verwendet wird, welche jeweils das Objekt (100-160, 100') in unterschiedlicher Ansicht darstellen und welche in ei­ nem Browserfenster dargestellt werden, bei welchem
  • a) den einzelnen Bildern (400, 402, 404) jeweils eine Position und/oder räumliche Lage des dargestellten Objektes (100-160) in einem Bezugssystem (X, Y, Z) zu­ geordnet ist;
  • b) für die zu erzeugende, interaktive Fläche (1000, 1000') eine Modellfläche (1010, 1010') verwendet wird, deren Position und/oder räumliche Lage im Be­ zugssystem (X, Y, Z) veränderlich ist;
  • c) eine erste Position und/oder räumliche Lage der Mo­ dellfläche (1010) im Bezugssystem einem ersten Bild (400) zugeordnet ist;
  • d) wenigstens bei einem Darstellungswechsel vom ersten (400) auf ein zweites Bild (402) die Position und/oder räumliche Lage der Modellfläche (1010') ent­ sprechend der Änderung der Position und/oder räumli­ chen Lage des dargestellten Objektes (100-160, 100') verändert wird;
  • e) wenigstens eine Projektion der Modellfläche in der neuen Position und/oder räumlichen Lage auf das zwei­ te Bild (400, 402) berechnet wird; und
  • f) diese Projektion für die Definition der interaktiven Fläche in der Darstellung des zweiten Bildes (402') im Browserfenster verwendet wird.
26. Verfahren nach Anspruch 25, bei welchem sich die Objektan­ sichten der einzelnen Bilder (100, 110, 100') durch Dre­ hungen des Objektes (100, 110, 100') um eine wenigstens eine Drehachse (Z) unterscheiden.
27. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem als Modellfläche (1010, 1010') eine ebene, rechtecki­ ge Fläche verwendet wird.
28. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem für die Modellfläche (1010, 1010') ein Normalenvektor (n) definiert wird.
29. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Modellfläche (1010, 1010') im Browserfenster als solche nicht sichtbar dargestellt wird.
30. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem zur Berechnung der Projektion der Modellfläche (1010, 1010') auf eine darzustellende Objektsansicht als Trans­ formationsalgorithmus eine Drehmatrix verwendet wird.
31. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Projektion der Modellfläche (1010, 1010') in der Weise für die Definition einer interaktiven Fläche (1000, 1000') verwendet wird, daß die interaktive Fläche (1000, 1000') die Gestalt eines Rechtecks oder Polygons hat, wel­ ches in Lage und Größe der Projektion ähnlich ist.
32. Verfahren nach Anspruch 31, bei welchem die Maximalwerte der Projektion zur Definition der rechteckigen, interakti­ ven Fläche (1000') verwendet werden, so daß die rechtecki­ ge interaktive Fläche (1000') die Projektion der Modell­ fläche (1010, 1010') einschließt.
33. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem:
  • a) ein Objekt (100, 110, 100') von wenigstens zwei Seiten dargestellt wird;
  • b) die interaktive Fläche (1000, 1000') einer Seite des Objektes (100, 110, 100') zugeordnet wird; und
  • c) bei der Darstellung einer anderen Seite des Objektes (100, 110, 110') die Definition einer interaktiven Fläche (1000, 1000') durch einen Hidden-Line- Algorithmus verhindert wird.
34. Verfahren nach Anspruch 33, bei welchem der Hidden-Line- Algorithmus die Flächennormale (n) der Modellfläche (1010, 1010') in der Weise verwendet, daß eine Projektion der Mo­ dellfläche (1010, 1010') auf die darzustellende Objektsan­ sicht nur dann als interaktive Fläche (1000, 1000') defi­ niert wird, wenn die Flächennormale (n) zu einem Betrach­ ter hin, d. h. aus der Bildebene hinausweist oder einen be­ stimmten Winkel zur Ebene des Betrachters überschreitet.
35. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem mit der interaktiven Fläche (1000, 1000') Aktionen verbunden werden, welche das dargestellte Objekt (100-160, 100') verändern.
36. Verfahren nach Anspruch 35, bei welchem zur Veränderung des Objektes (100-160, 100') eine erste Bildfolge durch eine zweite Bildfolge ersetzt wird.
37. Verfahren nach einem der vorstehenden Ansprüche, bei welchem mit der interaktiven Fläche (1000, 1000') Aktionen verbunden werden, welche es ermöglichen, in Dokumenten zu navigieren.
38. Verfahren nach einem der vorstehenden Ansprüche, bei welchem mit der interaktiven Fläche (1000, 1000') ein Hyperlink verbunden wird.
39. Verfahren nach einem der vorstehenden Ansprüche, bei welchem mit der interaktiven Fläche (1000, 1000') Aktionen verbunden werden, welche andere Funktionen in Java-Script, Jscript oder Visual-Basic aufrufen.
40. Verfahren nach einem der vorstehenden Ansprüche, bei welchem mit der interaktiven Fläche (1000, 1000') Aktionen verbunden werden, welche die Werte von Variablen in JavaScript, Jscript oder Visual-Basic verändern.
41. Verfahren nach einem der vorstehenden Ansprüche, bei welchem die interaktive Fläche (1000, 1000') zumindest zeitweise sichtbar bzw. markiert dargestellt wird.
42. Verfahren nach einem der vorstehenden Ansprüche, zur Über­ tragung und Bereitstellung von Daten in einem Computersy­ stem (200-280), insbesondere zur Erzeugung einer Darstel­ lung eines Objektes (100-160, 100') in veränderlicher An­ sicht und/oder in einem veränderlichen Zustand unter Ver­ wendung eines Browsers (300), bei welchem:
  • a) mehrere Datensätze (400, 402, 404) in einem Browserdatenformat zu einem Datenpaket (600-640) zu­ sammengefaßt in einem ersten Datenspeicher (230, 350, 360, 370, 380) zur Übertragung bereitgehalten werden;
  • b) zusätzlich oder als Teil des Datenpaketes (600-640) Informationen über die Struktur des Datenpaketes (600-640) im Hinblick auf die einzelnen Datensätze (400, 402, 404) im ersten Datenspeicher (230, 250, 260, 270, 280) zur Übertragung bereit gehalten wer­ den;
  • c) das Datenpaket (600-640) und die Strukturinformatio­ nen in einen zweiten Datenspeicher (240) übertragen werden, und
  • d) aus dem Datenpaket (600-640) durch den Browser (300) einzelne Datensätze unter Verwendung einer Clipping- und/oder Verschieberoutine des Browsers (300) und un­ ter Verwendung der Strukturinformationen vor und/oder während der Verwendung der Daten (400, 402, 404) aus­ gesondert werden.
43. Verfahren nach Anspruch 42, bei welchem die Datensätze den Daten einer Mehrzahl von Bildern (400, 402, 404) entspre­ chen, welche jeweils das Objekt (100-160) in unterschied­ licher Ansicht und/oder in einem unterschiedlichen Zustand darstellen.
44. Verfahren nach Anspruch 40, bei welchem zur Erzeugung des Datenpakets (600-640) die einzelnen Bilder (400, 402, 404) zu einem Bildstreifen (600-640) und/oder zu einer Bildebe­ ne zusammengefügt werden und dieser Bildstreifen (600-640) bzw. diese Bildebene als ein File in einem Browserdaten­ format abgespeichert wird.
45. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem als Browserdatenformat ein vom Browser unterstütztes Bilddatenkomprimierungsformat, insbesondere JPG, GIF und/oder PNG verwendet wird.
46. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Strukturinformationen Abstandsangaben und/oder Koordinatenangaben, jeweils bezogen auf den Bildstreifen (600-640) und/oder die Bildebene, umfassen.
47. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Strukturinformationen in der Form eines Ja­ vascripts, Jscriptes oder VBScriptes verwendet werden.
48. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Bilder (400, 402, 404) von einem ersten Daten­ speicher (230, 250, 260, 270, 280) in einem Netzwerkser­ ver, insbesondere einem Internetserver, auf einen zweiten Datenspeicher (240) in einem Netzwerkclient, insbesondere einem Internetclient, übertragen werden.
49. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem der zweite Datenspeicher (240) ein Arbeitsspeicher ist.
50. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem jeweils die Daten einzelner Bilder (400, 402, 404) aus dem Datenpaket (600-640) ausgesondert und verwendet werden.
51. Verfahren nach Anspruch 50, bei welchem
  • a) in einem Browserfenster ein Darstellungsbereich (b1 - b4) für ein Bild (400, 402, 404) definiert wird;
  • b) der Bildstreifen (600-640) und/oder die Bildebene in Bezug auf das Browserfenster mittels einer Schie­ beroutine des Browsers (300) und unter Verwendung der Strukturinformationen so positioniert wird, daß die Position eines darzustellenden Bildes (400, 402, 404) mit der Position des Darstellungsbereichs (b1 - b4) übereinstimmt;
  • c) das darzustellende Bild (400, 402, 404) unter Verwen­ dung der Strukturinformationen und der Clippingrouti­ ne des Browsers (300) aus dem Datenpaket (600-640) ausgesondert wird, und
  • d) das darzustellende Bild (400, 402, 404) im Darstel­ lungsbereich (b1 - b4) unter Verwendung einer Darstel­ lungsroutine des Browsers (300) dargestellt wird.
52. Verfahren nach Anspruch 51, bei welchem ein Doppelpuffer­ system verwendet wird, so daß der Schiebe- und der Schnei­ devorgang im Hintergrund durchführbar sind und ein darge­ stelltes Bild (400, 402, 404) durch ein darzustellendes Bild (400, 402, 404) erst ersetzt wird, wenn der Schiebe- und der Schneidevorgang abgeschlossen sind.
53. Verfahren nach einem der vorstehenden Ansprüche, zum Ein­ binden eines Programmelementes in eine Browserseite (320), bei welchem:
  • a) der Code (310) der Browserseite (320) zunächst einen Platzhalter (800) mit einer Kennung zur Identifikati­ on des Platzhalters (800) enthält;
  • b) die Browserseite (320) in einem Browserfenster sowie als Teil der Browserseite (320) der Platzhalter (800) in einem Bereich des Browserfensters dargestellt wer­ den;
  • c) bei Vorliegen der Ausführbarkeitsvoraussetzungen und/oder bei vollständiger Übertragung des Programme­ lementes sowie von hierfür erforderlichen Daten (600-640) in einen Arbeitsspeicher (240) eine Einfü­ ge-Routine oder ein Teil einer Einfügeroutine akti­ viert wird;
  • d) der Browser (300) die Einfüge-Routine oder den Teil der Einfügeroutine ausführt, hierbei den Platzhalter (800) unter Verwendung der Kennung des Platzhalters (800) im Code (310) der Webseite (320) ausfindig macht und durch das Programmelement ersetzt, und
  • e) der Browser (300) das Programmelement ausführt und eine Darstellung im Bereich des Platzhalters (800) im Browserfenster durchführt.
54. Verfahren nach Anspruch 53, bei welchem das Programmele­ ment zur Darstellung eines Objektes (100-160) in veränder­ licher Ansicht unter Verwendung einer Mehrzahl von Bildern (400, 402, 404) dient.
55. Verfahren nach Anspruch 54, bei welchem als Platzhalter (800) ein Bild des darzustellenden Objektes (100-160) ver­ wendet wird.
56. Verfahren nach Anspruch 55, bei welchem der File-Name oder ein entsprechendes Identifikationsmerkmal wie der Element­ name des Bildes (800) als Kennung verwendet wird.
57. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem die Einfüge-Routine als Javascript, Jscript oder VBScript vorliegt.
58. Verfahren nach einem der vorstehenden Ansprüche, bei wel­ chem das Programmelement von einem ersten Datenspeicher (230, 250, 260, 270, 280) in einem Netzwerkserver, insbe­ sondere einem Internetserver, auf einen zweiten Datenspei­ cher (240) in einem Netzwerkclient (200), insbesondere ei­ nem Internetclient, übertragen wird.
59. Verfahren nach Anspruch 58, bei welchem der zweite Daten­ speicher (240) ein Arbeitsspeicher ist.
60. Computersystem (200-280) zur Erzeugung einer räumlichen Darstellung eines Objektes (100-160) in veränderlicher An­ sicht unter Verwendung eines Browsers (300), wobei das Computersystem (200-280) einen ersten (230, 250, 260, 270, 280) und einen zweiten Datenspeicher (240), Anzeigemittel (210) und Cursorpositionierungsmittel (220), insbesondere eine Maus, einen Track-Ball, ein Touch-Pad, einen Touch- Screen oder einen Maus-Stick umfaßt, zum Betreiben eines Verfahrens nach einem der vorstehenden Verfahrensansprü­ che.
61. Computerprogrammprodukt, welches in einem Speichermedium (230, 240, 250, 260, 270, 280) gespeichert ist und welches Softwarecodeabschnitte umfaßt, mit denen Schritte nach ei­ nem der vorstehenden Verfahrensansprüchen ausgeführt wer­ den, wenn das Produkt auf einem Computer (200, 250, 260, 270, 280) läuft.
62. Netzwerkserver (250, 260, 270, 280) und insbesondere In­ ternetserver mit einem Speichermedium, auf welchem ein Computerprogrammprodukt gespeichert ist, welches Software­ codeabschnitte umfaßt, mit denen Schritte nach einem der vorstehenden Verfahrensansprüche ausgeführt werden, wenn das Produkt auf einem Computer (200, 250, 260, 270, 280) läuft.
63. Netzwerkserver (250, 260, 270, 280) und insbesondere In­ ternetserver mit einem Speichermedium, auf welchem ein Computerprogrammprodukt gespeichert ist, welches Software­ codeabschnitte umfaßt, mit denen Schritte nach einem der vorstehenden Verfahrensansprüchen ausgeführt werden, wenn das Produkt auf einem Computer (200, 250, 260, 270, 280) läuft, wobei das Computerprogrammprodukt zumindest teil­ weise auf einen anderen Computer (200), insbesondere auf einen Netzwerkclient und insbesondere einen Internetclient übertragbar und dort ausführbar ist.
64. Netzwerkclient (200) und insbesondere Internetclient mit einem Speichermedium (240), auf welchem ein Computerpro­ grammprodukt gespeichert ist, welches Softwarecodeab­ schnitte umfaßt, mit denen Schritte nach einem der vorste­ henden Verfahrensansprüche ausgeführt werden, wenn das Produkt auf dem Client (200) läuft.
DE2000130764 2000-06-23 2000-06-23 Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes Withdrawn DE10030764A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2000130764 DE10030764A1 (de) 2000-06-23 2000-06-23 Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes
PCT/EP2001/000292 WO2002001506A1 (de) 2000-06-23 2001-01-11 Verfahren und system zur erzeugung einer veränderlichen darstellung eines objekts
AU2001235412A AU2001235412A1 (en) 2000-06-23 2001-01-11 Method and system for the production of a variable representation of an object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000130764 DE10030764A1 (de) 2000-06-23 2000-06-23 Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes

Publications (1)

Publication Number Publication Date
DE10030764A1 true DE10030764A1 (de) 2002-01-10

Family

ID=7646637

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000130764 Withdrawn DE10030764A1 (de) 2000-06-23 2000-06-23 Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes

Country Status (3)

Country Link
AU (1) AU2001235412A1 (de)
DE (1) DE10030764A1 (de)
WO (1) WO2002001506A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678015A (en) * 1995-09-01 1997-10-14 Silicon Graphics, Inc. Four-dimensional graphical user interface
US5808613A (en) * 1996-05-28 1998-09-15 Silicon Graphics, Inc. Network navigator with enhanced navigational abilities
WO1999034332A1 (en) * 1997-12-31 1999-07-08 Apple Computer, Inc. Methods and apparatuses for transmitting data representing multiple views of an object
DE19816353A1 (de) * 1998-04-03 1999-10-14 Henrick Schmitz System zur Aufzeichnung und Wiedergabe von dreidimensionalen Objekten

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195088B1 (en) * 1998-12-04 2001-02-27 France Telecom Method and system for controlling multimedia streams using dynamic prototypes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678015A (en) * 1995-09-01 1997-10-14 Silicon Graphics, Inc. Four-dimensional graphical user interface
US5808613A (en) * 1996-05-28 1998-09-15 Silicon Graphics, Inc. Network navigator with enhanced navigational abilities
WO1999034332A1 (en) * 1997-12-31 1999-07-08 Apple Computer, Inc. Methods and apparatuses for transmitting data representing multiple views of an object
DE19816353A1 (de) * 1998-04-03 1999-10-14 Henrick Schmitz System zur Aufzeichnung und Wiedergabe von dreidimensionalen Objekten

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Beyer,D., Schröter,A.: Website-Tuning. c't, 1997, H.6, S.350-359 *

Also Published As

Publication number Publication date
WO2002001506A1 (de) 2002-01-03
AU2001235412A1 (en) 2002-01-08

Similar Documents

Publication Publication Date Title
DE69635337T2 (de) Erweiterbares und austauschbares system von netzwerkkomponenten
DE69734048T2 (de) Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser
DE69627061T2 (de) OLE zum Entwurf und zur Modellierung
DE69731045T2 (de) Navigation und Interaktion in strukturierten Informationsräumen
DE69838257T2 (de) Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung
EP2350873B1 (de) Erfassung des visuellen inhalts von browserfenstern
DE60031664T2 (de) Computerverfahren und vorrichtung zum schaffen von sichtbarer graphik unter verwendung von graph algebra
DE60201692T2 (de) Auf 3D Objekten angewendetes 2D Bildverarbeitungsverfahren
DE69637125T2 (de) Optimaler zugriff auf elektronische dokumente
DE69123465T2 (de) Verfahren zur Änderung der Abmessungen von Computeranzeigefenstern und ihrer Bewegung
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE60122298T2 (de) Dateneingabe
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE202014010911U1 (de) Effiziente Zusammensetzung und Darstellung grafischer Elemente
DE212012000266U1 (de) System zum Bereitstellen einer Scrollkarte
WO2012078632A1 (en) System and method to enable any internet-compatible advertisement to be fully shareable to a wide variety of social media networks and platforms
DE202012013455U1 (de) Kartenerstellung
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen
DE10118898A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Lesezeichenereignissen für eine Webseite
Soomro et al. HTML and multimedia Web GIS
DE10030765A1 (de) Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zum Einbinden eines Programmelementes in eine Browserseite
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
DE10030856B4 (de) Verfahren, Computerprogramm, Computersystem, Netzwerkserver und Netzwerkclient zur Übertragung und Bereitstellung von Daten in einem Computersystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee