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 ObjektesInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (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.
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.
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.
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.
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.
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.
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.
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.
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°.
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.
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.
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).
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.
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.
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.
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)
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)
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 |
-
2000
- 2000-06-23 DE DE2000130764 patent/DE10030764A1/de not_active Withdrawn
-
2001
- 2001-01-11 AU AU2001235412A patent/AU2001235412A1/en not_active Abandoned
- 2001-01-11 WO PCT/EP2001/000292 patent/WO2002001506A1/de active Application Filing
Patent Citations (4)
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)
Title |
---|
Beyer,D., Schröter,A.: Website-Tuning. c't, 1997, H.6, S.350-359 * |
Also Published As
Publication number | Publication date |
---|---|
AU2001235412A1 (en) | 2002-01-08 |
WO2002001506A1 (de) | 2002-01-03 |
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 | |
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) | |
US20120150661A1 (en) | System and Method to Enable any Internet-Compatible Advertisement to be Fully Shareable to a Wide Variety of Social Media Networks and Platforms | |
DE202011110891U1 (de) | Scrollen in umfangreichen gehosteten Datenbestand | |
DE212012000266U1 (de) | System zum Bereitstellen einer Scrollkarte | |
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 | |
DE60213969T2 (de) | Vorrichtung und verfahren für lightweight unterstützung in einer set top box | |
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 | |
DE10030764A1 (de) | Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes | |
DE10030868A1 (de) | Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer Darstellung eines Objektes mit interaktiven Flächen in veränderlicher Ansicht | |
DE10332492B4 (de) | Verfahren und Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |