Die
Erfindung betrifft ein Verfahren zur Übertragung und Bereitstellung
von Daten in einem Computersystem, insbesondere zur Erzeugung einer räumlichen
Darstellung eines Objektes in veränderlicher Ansicht unter Verwendung
eines Browsers, sowie ein Computersystem, ein Computerprogramm, einen
Netzwerkserver und einen Netzwerkclient zum Betreiben eines solchen
Verfahrens.The
The invention relates to a method for transmission and provision
of data in a computer system, in particular for generating a spatial
Representation of an object in changeable view using
a browser, as well as a computer system, a computer program, a
Network server and a network client for operating such
Process.
Besondere
Verfahren zur Übertragung
und Bereitstellung von Daten sind beispielsweise bei einer Übertragung
einer Mehrzahl von Datensätzen über das
Internet von Bedeutung. Hier besteht das Problem, daß für jeden
in sich geschlossenen Datensatz eine eigene Verbindung zwischen
einem Internetclient und einem Internetserver geöffnet werden muß. Jede
Verbindung wird zwischen dem Client und dem Server durch mehrfachen
Paketaustausch ausgehandelt. Erst danach wird der jeweilige Datensatz übertragen.
Es kommt also zu Zeitverlusten, wenn eine Vielzahl von Datensätzen nacheinander übertragen
werden muß.Special
Method of transmission
and provision of data, for example, in a transmission
a plurality of records about the
Internet of importance. Here is the problem that for everyone
self-contained record a separate connection between
an internet client and an internet server. each
Connection is made between the client and the server by multiple
Package exchange negotiated. Only then is the respective data set transmitted.
So there is a loss of time when a plurality of records transmitted in succession
must become.
Als
Abhilfemöglichkeit
ist es bekannt, mehrere Datensätze
vor einer Übertragung
zu Paketen zusammenzufassen. Regelmäßig werden die Daten dabei
außerdem
komprimiert. Dies hat jedoch den Nachteil, daß die Daten nach einer Übertragung
zunächst
entpackt werden müssen,
bevor sie weiterverwendet werden können. Hierzu ist regelmäßig ein
eigenes, von einem Anwendungsprogramm abgesondertes Entpackungsprogramm
erforderlich, welches auf dem Clientrechner entweder eigens vorhanden ist
oder mitgeliefert wird. Dieser Nachteil ist vor allem dann von Bedeutung,
wenn Daten nach der Übertragung
etwa für
eine Darstellung in einem Browser verwendet werden sollen und zunächst mittels
eines anderen Programms entpackt werden müssen.When
Remedy possibility
It is known to have several records
before a transmission
to summarize packages. The data is regularly included
Furthermore
compressed. However, this has the disadvantage that the data after a transmission
first
have to be unpacked,
before they can be reused. This is a regular one
own unpack program separated from an application program
required, which is either available on the client machine
or supplied. This disadvantage is especially important
if data after the transfer
about for
a representation in a browser should be used and first by means of
of another program.
Ähnliche
Probleme können
auch bei der Übertragung
von Daten von Plattenspeichern, insbesondere von Festplatten, CDs
oder Disketten, in Arbeitsspeicher eines Systems auftreten. In diesem Fall
benötigt
die Positionierung eines Lesekopfes relativ viel Zeit, wodurch wiederum
eine Vielzahl von Einzelzugriffen relativ langsam ist.Similar
Problems can
also in the transmission
data from disk storage, especially hard disks, CDs
or floppy disks, in memory of a system. In this case
needed
the positioning of a reading head takes a relatively long time, which in turn
a large number of individual accesses is relatively slow.
Aus US 5,715,823 ist ein Verfahren
zur Erzeugung einer räumlichen
Darstellung eines Objektes in veränderlicher Ansicht bekannt,
bei welchem einzelne Bilder in einem Browser-Datenformat bereitgehalten
werden, ohne diese jedoch zu größeren Datensätzen zusammenzufassen.
Anhand eines durchgeführten "Randering" wird eine räumliche
Ansicht nur aus mehreren zweidimensionalen Schichtbildern berechnet,
z.B. durch Projektion. Diese Berechnung ist davon unabhängig, ob
die Schichtbilder in einem Datensatz zusammengefaßt sind
oder in mehreren Dateien vorliegen.Out US 5,715,823 For example, there is known a method for generating a spatial view of a variable view object in which individual images are held in a browser data format without, however, merging them into larger data sets. Based on a performed "Randering" a spatial view is calculated only from several two-dimensional slice images, eg by projection. This calculation is independent of whether the slice images are combined in one data set or in several files.
Aus US 6,049,342 ist bekannt,
Animationen auf Browser-Seiten mit Stapel-GIFs zu realisieren, wobei
mehrere Einzelbilder nacheinander wiedergegeben werden. Die einzelnen
Bilder der Animation sind hierbei zwar in einer Datei zusammengefaßt, die Wiedergabereihenfolge
der Einzelbilder ist dann jedoch fest vorgegeben und kann vom Benutzer
nicht beeinflußt
werden. Der Unterschied zu normalen Bildern besteht darin, daß regelmäßig der
Bildinhalt mit dem nächsten
Bild aus dem Stapel ausgetauscht wird. Die einzelnen Bilder sind
in einem Stapel-GIF jedoch nicht in einem Bildstreifen oder einer
Bildebene gespeichert.Out US 6,049,342 It is known to realize animations on browser pages with batch GIFs, whereby multiple frames are played in succession. Although the individual images of the animation are here combined in one file, the reproduction order of the individual images is then fixed and can not be influenced by the user. The difference to normal images is that the image content is exchanged with the next image from the stack on a regular basis. However, the individual images in a batch GIF are not stored in an image strip or image plane.
WO
99/34332 offenbart allgemein, Bildersätze (set of views) von einem
Server auf einen Client zu übertragen.WHERE
99/34332 discloses in general, set of views of a
Transfer server to a client.
Die
vorliegende Erfindung hat die Aufgabe, ein schnelleres und effizienteres
Verfahren zur Übertragung
und Bereitstellung von Daten in einem Computersystem, insbesondere
zur Erzeugung einer räumlichen
Darstellung eines Objektes in veränderlicher Ansicht unter Verwendung
eines Browsers, sowie ein Computersystem, ein Computerprogramm, einen
Netzwerkserver und einen Netzwerkclient zum Betreiben eines solchen
Verfahrens, zur Verfügung zu
stellen.The
The present invention has the object of a faster and more efficient
Method of transmission
and providing data in a computer system, in particular
for generating a spatial
Representation of an object in changeable view using
a browser, as well as a computer system, a computer program, a
Network server and a network client for operating such
Procedure, available too
put.
Die
Erfindung stellt ein Verfahren zur Übertragung und Bereitstellung
von Daten in einem Computersystem nach Anspruch 1, ein Computersystem nach
Anspruch 10, ein Computerprogramm nach Anspruch 11, einen Netzwerkserver
nach Anspruch 12 sowie einen Netzwerkclient nach Anspruch 14 bereit. Weitere
Aspekte der Erfindung ergeben sich aus den abhängigen Ansprüchen, der
nachfolgenden Beschreibung und der Zeichnung.The
Invention provides a method of transmission and delivery
of data in a computer system according to claim 1, a computer system according to
Claim 10, a computer program according to claim 11, a network server
according to claim 12 and a network client according to claim 14 ready. Further
Aspects of the invention will become apparent from the dependent claims, the
following description and the drawing.
Danach
werden bei einem Verfahren zur Übertragung
und Bereitstellung von Daten in einem Computersystem mehrere Datensätze in einem Browserdatenformat
zu einem Datenpaket zusammengefaßt in einem ersten Datenspeicher
zur Übertragung
bereitgehalten, wobei die Datensätze
den Daten einer Mehrzahl von Bildern entsprechen, welche jeweils
das Objekt in unterschiedlicher Ansicht und/oder in einem unterschiedlichen
Zustand darstellen und wobei zur Erzeugung des Datenpakets die einzelnen
Bilder zu einem Bildstreifen und/oder zu einer Bildebene zusammengefügt werden
und dieser Bildstreifen bzw. diese Bildebene als eine Datei in einem
Browserdatenformat abgespeichert wird. Zusätzlich oder als Teil des Datenpaketes
werden Informationen über
die Struktur des Datenpaketes im Hinblick auf die einzelnen Bilder
im ersten Datenspeicher zur Übertragung
bereit gehalten. Das Datenpaket und die Strukturinformationen werden
in einen zweiten Datenspeicher übertragen
werden, und aus dem Datenpaket werden durch den Browser einzelne Bilder
unter Verwendung einer Clipping- und/oder Verschieberoutine des
Browsers und unter Verwendung der Strukturinformationen vor und/oder
während
der Verwendung der Daten ausgesondert.Thereafter, in a method for transmitting and providing data in a computer system, a plurality of data sets in a browser data format combined into a data packet are held in a first data memory for transmission, the data sets corresponding to the data of a plurality of images, each representing the object in different view and represent or in a different state and wherein for generating the data packet, the individual images are combined to form an image strip and / or to an image plane and this image strip or this image plane is stored as a file in a browser data format. In addition to or as part of the data package, Infor information about the structure of the data packet with respect to the individual images in the first data store for transmission. The data packet and the structure information will be transferred to a second data store, and from the data packet, individual images are discarded by the browser using a clipping and / or scrolling routine of the browser and using the structure information before and / or during use of the data.
Gegenüber dem
Stand der Technik hat die Erfindung insbesondere den Vorteil, daß die Übertragungszeiten
bei der Übertragung
einer Mehrzahl von Datensätzen
reduziert werden und dennoch kein zusätzliches Programm außer dem
Browser erforderlich ist. Weitere Vorteile ergeben sich aus der
nachstehenden Beschreibung von Ausführungsbeispielen und den beigefügten Figuren.Compared to the
State of the art, the invention has the particular advantage that the transmission times
in the transmission
a plurality of records
be reduced and still no additional program except that
Browser is required. Further advantages result from the
the following description of embodiments and the accompanying figures.
Die
Erfindung wird im folgenden anhand von Ausführungsbeispielen und der beigefügten Zeichnung
noch näher
erläutert.
In der Zeichnung sind:The
Invention will be described below with reference to embodiments and the accompanying drawings
even closer
explained.
In the drawing are:
1a-e
schematische Darstellungen möglicher
veränderlicher
Objektsansichten und/oder -zustände,
welche unter Verwendung der Erfindung vorteilhaft dargestellt werden
können; 1a -e are schematic representations of possible variable object views and / or states which may be advantageously represented using the invention;
2a-c
schematische Darstellungen von Computersystemen, in welche die vorliegende
Erfindung implementiert ist; 2a -c are schematic representations of computer systems in which the present invention is implemented;
3 eine
schematische Darstellung der Arbeitsweise eines Browsers; 3 a schematic representation of the operation of a browser;
4 eine
schematische Darstellung einer Übersicht über ein
Verfahren, in welchem die vorliegende Erfindung zum Einsatz kommt; 4 a schematic representation of an overview of a method in which the present invention is used;
5a-c
Illustrationen für
die Definition von Bildfolgen; 5a -c illustrations for the definition of image sequences;
6a,b
schematische Darstellungen der Aufbereitung der Bilddaten für eine Übertragung; 6a , b schematic representations of the processing of the image data for a transmission;
7a-c
Illustrationen einer bevorzugten Verarbeitung übertragener Bilddaten; 7a -c illustrations of preferred processing of transmitted image data;
8a,b
Illustrationen eines bevorzugten Verfahrens zur Einbindung von Programmelementen in
eine Browserseite; 8a , b illustrations of a preferred method for incorporating program elements into a browser page;
9a-c
Illustrationen eines bevorzugten Verfahrens zur Ermittlung einer
darzustellenden Objektansicht; und 9a -c illustrations of a preferred method for determining an object view to be displayed; and
10a-d Illustrationen eines bevorzugten Verfahrens
zum Einfügen
interaktiver Flächen
in die veränderliche
Darstellung. 10a -d illustrations of a preferred method for inserting interactive surfaces into the variable representation.
9a-c
Illustrationen eines bevorzugten Verfahrens zur Ermittlung einer
darzustellenden Objektansicht; und 9a -c illustrations of a preferred method for determining an object view to be displayed; and
10a-d Illustrationen eines bevorzugten Verfahrens
zum Einfügen
interaktiver Flächen
in die veränderliche
Darstellung. 10a -d illustrations of a preferred method for inserting interactive surfaces into the variable representation.
Im
folgenden werden zunächst
anhand der 1a-1e verschiedene
beispielhafte Aufgabenstellungen erläutert, bei welchen jeweils
Objekte in veränderlichen
Ansichten und/oder Zuständen
darzustellen sind. Die vorliegende Erfindung kommt insbesondere
bei Verfahren, Computerprogrammen und/oder Computersystemen zur
Realisierung solcher Darstellungen vorteilhaft zum Einsatz. Anhand der 6a-7c werden
vorteilhafte Ausgestaltungen der Erfindung geschildert. Die 2a-5c und 8a-10d betreffen Beispiele für ein technisches Umfeld, in
welchem die Erfindung vorteilhaft zum Einsatz kommt.The following are the basis of the 1a - 1e various exemplary tasks explained, in which each objects are to be displayed in varying views and / or states. The present invention is advantageously used in particular in methods, computer programs and / or computer systems for realizing such representations. Based on 6a - 7c advantageous embodiments of the invention are described. The 2a - 5c and 8a - 10d relate to examples of a technical environment in which the invention is advantageously used.
Beispiele
für darzustellende
veränderliche Objektansichten
und/oder ZuständeExamples
for to be displayed
changeable object views
and / or states
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 Koordinatensystem mit drei
zueinander senkrechten Achsen X, Y und Z eingezeichnet. Gegenstand
einer veränderlichen
Objektdarstellung 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 beliebige andere Achse) darzustellen sein.
Das erste Objekt 100 wäre
also in veränderlicher
räumlicher
Ansicht zu zeigen. 1a shows a first object 100 , which has the shape of a cube. The first object 100 is shown in an exterior view. In addition, a three-dimensional Cartesian coordinate system with three mutually perpendicular axes X, Y and Z is drawn. The object of a changeable object representation can be the rotation of the first object 100 be about the vertical axis Z (indicated by a first and a second arrow P1, P2). In addition or instead, rotations of the object 100 to be one of the horizontal axes X and / or Y (indicated by a third and a fourth arrow P3 and P4, in the same way are also possible to represent rotations about any other axis). The first object 100 would be to show in variable spatial view.
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 Objekt 100 sein. Dabei kann eine kombinierte
Innen- und Außenansicht
ebenso wie eine bloße
Innenansicht gezeigt werden. Das zweite Objekt 110 wäre also
ebenfalls in veränderlicher
räumlicher Ansicht
zu zeigen. 1b shows a second object 110 , which has the shape of the outline of a room. The second object 110 is shown in a combined inside and outside view. The object of a changeable object representation can be rotations of the second object 110 around the same axes as the first object 100 be. In this case, a combined inside and outside view as well as a mere interior view can be shown. The second object 110 would also be shown in variable spatial view.
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
horizontalen, zum dritten Objekt parallelen Achse Y oder einer beliebigen
anderen Achse sein (angedeutet durch einen fünften und sechsten Pfeil P5
und P6). 1c shows a third object 120 which has the shape of a house wall. Subject of a changeable object representation can Verschie Exercises of the third object 120 along the horizontal, parallel to the third object axis Y or any other axis (indicated by a fifth and sixth arrow P5 and P6).
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
vierten Objektes 130 in das fünfte Objekt 140 sein
(angedeutet durch einen siebten Pfeil P7). 1d shows a fourth object 130 and a fifth object 140 , Both objects 130 and 140 have the same shape and position, but a different color. Subject of a variable object representation, the transfer of the fourth object 130 into the fifth object 140 (indicated by a seventh arrow P7).
1e zeigt
ein sechstes Objekt 150, welches die Gestalt eines Zahnrades
hat, und ein siebtes Objekt 160, welches die Gestalt einer
Feder hat. Zahnrad 150 und Feder 160 greifen ineinander.
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 Zahnrad 150' gegenüber seinem
Ausgangszustand verdreht und die Feder 160' verbogen erscheint. Diese Überführung kann
Gegenstand einer veränderlichen
Objektdarstellung sein. Zu zeigen wäre also eine zeitliche Veränderung
des Zustandes der Objekte 150 und 160. 1e shows a sixth object 150 , which has the shape of a gear, and a seventh object 160 , which has the shape of a spring. gear 150 and spring 160 interlock At a rotation of the gear 150 (indicated by an eighth arrow P8) become the objects 150 and 160 converted into a relation to the initial state changed state (indicated by a ninth arrow P9), in which the gear 150 ' twisted against its initial state and the spring 160 ' appears bent. This transfer can be the subject of a changeable object representation. To show therefore would be a temporal change of the state of the objects 150 and 160 ,
Die
beschriebenen Gegenstände
veränderlicher
Objektdarstellungen beschränken
sich nicht auf die dargestellten Objekte 100, 110, 120, 130, 140 und 150.
Diese können
vielmehr durch beliebige andere Objekte ersetzt werden. Die beispielhaft
angeführten 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 kombiniert werden. Ferner sind weitere Veränderungen
denkbar.The objects described variable object representations are not limited to the objects shown 100 . 110 . 120 . 130 . 140 and 150 , These can be replaced by any other objects. The exemplified objects 100 . 110 . 120 . 130 . 140 and 150 So serve only for illustration. Also, the different changes of object views and states can be arbitrarily combined with each other. Furthermore, further changes are conceivable.
Für das Folgende
kommt es nur darauf an, daß überhaupt
Veränderungen
von Objektansichten und/oder -zuständen darzustellen sind. Wie
diese im einzelnen vonstatten gehen, ist bedeutungslos. Soweit auf
konkrete Änderungen
Bezug genommen wird, dient dies stets nur dem leichteren Verständnis der
Darstellung der Erfindung.For the following
it just depends on that, anyway
changes
of object views and / or states. As
These in detail are meaningless. So far on
concrete changes
This always serves only to facilitate understanding of
Presentation of the invention.
Beispiele für Computersysteme,
in welche die Erfindung implementiert istExamples of computer systems,
in which the invention is implemented
2a zeigt
einen erstes Computersystem in der Form eines ersten Computers 200 mit
einem Monitor 210 und einer Computermaus 220.
Anstelle des Monitors 210 können beliebige andere Anzeigemittel,
wie beispielsweise ein Projektor, verwendet werden. Anstelle der
Computermaus können
beliebige andere Cursorpositionierungsmittel, wie beispielsweise
ein Track-Ball, ein Touch-Pad,
ein Maus-Stick, ein Touch-Screen oder Pfeiltasten einer Computertastatur
(nicht dargestellt) eingesetzt werden. 2a shows a first computer system in the form of a first computer 200 with a monitor 210 and a computer mouse 220 , Instead of the monitor 210 Any other display means, such as a projector, may be used. Instead of the computer mouse, any other cursor positioning means, such as a track ball, a touch pad, a mouse stick, a touch screen or arrow keys of a computer keyboard (not shown) can be used.
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 eines 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 erfolgt 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.The first computer 200 has a first data store in the form of a disk storage 230 , such as a hard disk, CD or floppy disk, and a second data memory in the form of a main and / or main memory 240 on (indicated by a dashed tenth arrow P10). Between the disk and the working memory 230 and 240 Data is transmitted (indicated by an eleventh arrow P11). The transmission takes place, for example, via customary interfaces, bus systems and / or network components (not shown). The processing and / or processing of data via a CPU (Central Processing Unit), which is also not shown. Finally, the first computer 200 all other usual components such as more disk space, a graphics card, etc. include.
Auf
dem Plattenspeicher 230 befinden sich Daten. Auf diese
Daten 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
Festplatten und 50 ms für
CD-ROM.On the disk storage 230 there are data. This data can be the first computer 200 access control means. For this purpose, in each case a read head (not shown) is moved into the area of the desired disk sector, and then the data sought are read out. This process is time consuming because of the necessary process of the read head to find the data. A realistic access time is on the order of 200 ms for floppy disks, 5-20 ms for hard disks and 50 ms for CD-ROM.
2b zeigt
eine weiteres Computersystem, in welches die vorliegende Erfindung
implementiert ist. Das System umfaßt wiederum den ersten Computer 200 mit
Monitor 210 und Computermaus 220. Insoweit gilt
das oben Gesagte. Auch weist der erste Computer 200 wiederum
einen Arbeitsspeicher 240 auf. Ein Plattenspeicher 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. 2 B shows another computer system in which the present invention is implemented. The system in turn includes the first computer 200 with monitor 210 and computer mouse 220 , In that regard, the above applies. Also, the first computer points 200 again a working memory 240 on. A disk storage 230 however, is not required in this example (but may be provided). Instead, it's the first computer 200 now for example via a serial or parallel interface or via a network card with a second computer 250 connected.
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. Zwischen 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.The second computer 250 can be part of a direct PC connection, another computer of a cluster or server of a network. The second computer 250 has a data memory (not shown) on which data can be stored. Between this datastore and the memory 240 on the first computer 200 Data are transmitted (indicated by a twelfth arrow P12). For this purpose, a common protocol is used, for example a basic protocol for a simple physical network connection such as Ethernet or Token Ring or an Internet protocol such as a TCP / IP or HTTP protocol.
Bedingt
durch die Übertragungsraten
und Auslesezeiten aus dem Datenspeicher in dem zweiten Computer 250 sind
auch diese Vorgänge
zeitintensiv.Due to the transfer rates and Read times from the data store in the second computer 250 These processes are also time consuming.
2c zeigt schließlich ein drittes Computersystem,
in welches 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 angeschlossen. 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). Infolgedessen kann
die Datenübertragung
zwischen dem ersten Computer 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 Computer 200 beispielsweise als
Chientrechner, und der dritte Computer 260 als Server.
Für jede Übertragung
wird zwischen dem ersten Computer 200 und dem dritten Computer 260 dann
eine Verbindung durch mehrfachen Paketaustausch ausgehandelt. Dann
erst werden die Daten übertragen,
so daß auch
dieser Vorgang zeitintensiv ist. 2c Finally, Figure 3 shows a third computer system in which the present invention is implemented. Also this system includes the first computer 200 besides monitor 210 and computer mouse 220 according to the above statements. Instead of a second computer 250 is the first computer 200 now connected to an overarching network, such as the Internet. This includes a plurality of computers, indicated by a third, fourth and nth computer 260 . 270 respectively. 280 , Between the first computer 200 and the other computers 260 . 270 and 280 data is transmitted (indicated by thirteenth arrows P13, P13 / 1, P13 / 2 and P13 / n). In addition, between the other computers 260 . 270 and 280 Data transmitted (indicated by a fourteenth arrow P14). As a result, the data transfer between the first computer 200 and one of the other computers 260 . 270 and 280 also indirectly via other computers 260 . 270 and or 280 respectively. The transmissions take place, for example, according to an Internet protocol such as a TCP / IP protocol. The first computer acts here 200 for example, as a client computer, and the third computer 260 as a server. For each transmission is between the first computer 200 and the third computer 260 then negotiated a connection through multiple packet exchange. Only then will the data be transmitted, so that this process is time-consuming.
Der
genannte Paketaustausch für Übertragungen
umfaßt
insbesondere 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 File- bzw. Dateinamen
getrennt werden. Aus dem Domain-Klartextnamen des Rechners (hier:
www.adresse.com) muß die
zugehörige
IP-Adresse (Internet Protokoll Adresse, also die numerische Adresse,
unter der ein bestimmter Rechner im Internet erreichbar ist, wie
etwa 145.96.123.97) ermittelt werden. Hierzu werden in aufsteigender
Reihenfolge immer umfassendere Domain 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 werden, über welchen der Clientrechner 200 und
der Severrechner 260 miteinander Daten austauschen können. Hierzu
muß der
Clientrechner 200 an den Serverrechner über einen möglichen Weg zunächst ein
Datenpaket schicken, mit dem er seine Absicht ankü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 Vorbereitungen 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
Verbindungsweg von neuem.The said packet exchange for transmissions comprises in particular the following steps: first, a so-called URL (a Uniform Resource Locator, ie a unique address such as http://www.adresse.com/filename.html) in the protocol type, the computer name and the file - or file names are separated. From the domain plain text name of the computer (here: www.adresse.com), the corresponding IP address (Internet Protocol address, ie the numeric address under which a particular computer can be reached on the Internet, such as 145.96.123.97) must be determined , For this purpose, increasingly comprehensive domain name servers are queried in ascending order by request data packet until the URL belonging to the IP address is found in a database. Then an available path through the Internet must be found over which the client computer 200 and the Severrechner 260 can exchange data with each other. For this, the client computer must 200 send to the server computer via a possible path first a data packet with which he announces his intention to establish a TCP (Transmission Control Protocol) connection. This is from the Sever 260 acknowledged by data packet if he accepts the connection. This causes further delays until the server has completed the necessary preparations. The receipt of the receipt is again from the client 200 acknowledged. Only then will the actual data be transferred. If one of the request packets is lost, the entire procedure begins again on a different possible connection path.
Die
oben genannten Beispiele für
Computersysteme, in welche die vorliegende Erfindung -wie unten
näher ausgeführt wird-
implementiert ist, sind keine abschließende Aufzählung und können auch untereinander beliebig
kombiniert werden. Sie dienen lediglich als Illustrationen für ein verbessertes Verständnis der
Erfindung.The
above examples for
Computer systems incorporating the present invention as below
be explained in more detail
is not an exhaustive list and can be arbitrary among themselves
be combined. They are merely illustrations for an improved understanding of
Invention.
Beispiel für einen
Browser, welcher im Zusammenhang mit der Erfindung benutzt wirdExample of a
Browser used in connection with the invention
3 zeigt
eine schematische Darstellung der Arbeitsweise eines 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 erhä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 Informationen. Dieser Code 310 basiert üblicherweise
auf einer einfachen Dokumentbeschreibungs-Sprache namens HTML (HyperText
Markup Language; in Betracht kommt auch eine beliebige Weiteroder
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änkung der Erfindung als HTML-Code 310 bezeichnet. 3 shows a schematic representation of the operation of a browser 300 , This is a common browser like the Netscape Navigator 4.x, the Netscape 6.0 , Microsoft Internet Explorer 4.x, 5.x, a precursor or successor version thereof, or another browser software product. The browser 300 is implemented as software on one of the described computer systems and has access to the main memory 240 of the first computer 200 , This is what he receives from the disk storage 230 , from the second computer 250 and / or from one of the other computers 260 . 270 . 280 the code 310 a browser page including all information to be displayed. This code 310 It is usually based on a simple document description language called HTML (HyperText Markup Language, and any further or alternative development thereof), which in turn can be based on a subset of a more generalized language called SGML (Standardized Generalized Markup Language). It is therefore hereinafter referred to as HTML code for the sake of simplicity but without limitation of the invention 310 designated.
Ein
HTML-Code enthält
als solcher keine Konstrukte zur Programmsteuerung (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
entscheidet jeder Browser je nach Implementation und Benutzereinstellungen
weitgehend selbst. Die Darstellung erfolgt als Browserseite 320 auf
einem Anzeigemittel wie dem Monitor 210.As such, an HTML code contains no program control constructs (for queries, jumps, subroutines, etc.) and no exact description of a document view. Instead, he only sets some global attributes for headings, body text, positioning, etc., which can lead to quite different representations of the same document on different platforms or browsers. HTML thus only gives a browser hints as to how it can display a correspondingly worded document; Depending on the implementation and user settings, each browser largely decides on the actual output itself. The presentation is made as a browser page 320 on a display device like the monitor 210 ,
Die
Browserseite 320 enthält
neben den oder statt der Textzeilen 322 auch Graphiken 324.
Hierzu werden zusätzlich
zu dem HTML-Code 310 auch Graphiken in den Arbeitsspeicher 240 geladen.
Der HTML-Code 310 enthält
Informationen darüber,
welche Graphiken 360 in welchem Bereich der Browserseite 320 wie
angezeigt 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 entsprechenden Bereich angezeigt.The browser page 320 contains next to or instead of the text lines 322 also graphics 324 , This will be in addition to the HTML code 310 also graphics in the main memory 240 loaded. The HTML code 310 contains information about which graphics 360 in which area of the browser page 320 how to display. As long as the graphics 360 not or not completely in memory 240 is usually displayed instead an icon or a blank space in the corresponding area.
Die
Graphiken 360 werden in einem vom Browser unterstützten Bilddatenkomprimierungsformat
wie JPG (Joint Photographic Expert 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 unterstütztes Format kann vom Browser
ohne Zuhilfenahme weiterer Programme wieder dekomprimiert und auf
einen unmittelbar darstellbaren Binärcode übertragen werden.The graphics 360 are loaded into a browser-supported image data compression format such as JPG (Joint Photographic Expert Group, a graphics format named after the responsible ISO / CCITT Commission), Graphics Interchange Format (GIF) or Portable Network Graphics (PNG). Such a supported format can be decompressed again by the browser without the aid of further programs and transmitted to a directly representable binary code.
Der
HTML-Code umfaßt
außerdem
bzw. greift außerdem
zu auf verschiedene 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 all zu komplexe Script-Sprachen,
mit welchen eine HTML-Seite um echte Programme erweitert werden
kann. Die Sprachen sind jedoch weder für komplexe Anwendungen noch
für eigenständige Programme
gedacht. JavaScript-, Jscript- oder VBScript-Programme werden im
Klartext in eine HTML-Seite integriert, 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 Formatvorlagentechnologie.
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.The HTML code also includes or accesses various HTML extensions 330 . 340 and 350 , For example, these are Dynamic HTML, which includes technologies such as JavaScript, Jscript, VBScript, CSS, or Layer, and which can be linked together. Such HTML extensions allow dynamic content to be included in HTML pages. JavaScript, JScript and VBScript are not too complex script languages that can be used to extend an HTML page with real programs. However, the languages are not intended for complex applications or independent programs. JavaScript, Jscript or VBScript programs are integrated in clear text in an HTML page, with it in the main memory 240 loaded and on the first computer 200 executed by a script interpreter. A browser that lacks the associated script interpreter can not do anything with the script. However, current browsers such as those mentioned above usually have such script interpreters. CSS includes a style sheet technology. Layers are those parts of a browser page that can be relatively or absolutely positioned and moved independently of other elements on the page. Multiple layers can overlap and obscure each other like transparencies.
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 bezeichnete.All
listed above as examples, from
Browser without extensions editable or displayable data formats,
as well as all other data formats with this property, are in
hereinafter referred to as browser data formats.
Die
genannten und weitere HTML-Erweiterungen können – wie gesagt – 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, welcher ä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.The
mentioned and other HTML extensions can - as I said - from current
Browsers usually
directly, i. without the need for additional plug-ins (a plug-in
is a dynamically downloadable module that allows a browser to be specific
Skills
extended) or Virtual Java Machines (a virtual machine
is an interpreter for
Java applications, which is similar
how a plug-in can be implemented in a browser)
become. About that
In addition, an HTML page can cause the browser to use Java applets or
Execute programs,
which such virtual machines or plug-ins as a supplement to the browser
make necessary.
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 Java Interpreter, etwa eine Virtual Machine erforderlich.
Wesentlicher Vorteil eines Java-Programms ist seine Prozessor- und
Plattformunabhängigkeit.
Das gleiche Compilat kann also auf Intel-PCs unter Windows oder
Linux, auf Power Macs oder auf Alpha-Maschinen ausgeführt werden.
Plug-Ins sind demgegenüber üblicherweise
plattformabhängig.
Ergänzend
sei angemerkt, daß ebenso
wie Java-Programme auch HTML-Codes und Java-Script plattformunabhängig sind.One
Java program usually
is compiled once. The resulting binary bytecode is replaced by a
Command in HTML code loaded by the browser and executed. For this
is a Java interpreter, such as a virtual machine required.
The main advantage of a Java program is its processor and
Platform independence.
The same compilat can be used on Intel PCs running Windows or
Linux, running on Power Macs or on Alpha machines.
In contrast, plug-ins are common
platform dependent.
additional
It should be noted that as well
As Java programs, HTML codes and Java scripts are platform independent.
Zusammenfassend
zeigt 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.In summary shows 3 like the HTML code 310 which HTML extensions 330 . 340 and 350 includes (indicated by dashed arrows P15, P16 and P17), in the main memory 240 for the browser 300 made available (indicated by an eighteenth arrow P18). In addition, the browser receives 300 there pictures 360 (indicated by arrow P20). This is what the browser generates 300 the browser page 320 which on the monitor 210 is displayed and which text lines 322 and a picture 324 includes.
Bevorzugtes
Verfahren – Ausführungsbeispielpreferred
Method - embodiment
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 1a in
veränderlicher
räumlicher
Ansicht dargestellt. Es könnte
aber auch jedes andere Objekt aus den 1a-1e, oder
ein beliebiges weiteres Objekt, in beliebig veränderlicher Weise nach den gleichen
Grundsätzen
dargestellt werden. 4 shows an overview of a method in which the invention is used. The method serves to generate a variable representation of an object, in particular in a variable spatial view. The first object becomes an example 100 out 1a shown in variable spatial view. But it could also be any other object from the 1a - 1e , or any other object, can be represented in an arbitrarily variable manner according to the same principles.
Das
erfindungsgemäße Verfahren
ist in eines der Computersysteme aus 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 Computermaus 220.The inventive method is in one of the computer systems 2a - 2c implemented and will be in the first computer 200 executed. For implementation, the method is fully or partially suitable in a corresponding JavaScript, Jscript, VBScript or another The script code is shown in the HTML code 310 is inserted. The script code is retrieved using additional browser routines from the browser 300 on the computer 200 executed. As a display means serve the monitor 210 and as cursor positioning means the computer mouse 220 ,
Die
einzelnen Verfahrensschritte werden nachfolgend unter weiterer Bezugnahme
auf die 5a-9c erläutert.The individual method steps are described below with further reference to the 5a - 9c explained.
Erläuterungen
zum ersten VerfahrensschrittExplanations
to the first process step
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 einundzwanzigsten Pfeil P21).In a first step, data of a plurality of images 400 . 402 and 404 , which are each the first object 100 in different views or in a different state, in a browser data format, in particular in a browser-supported image data compression format such as JPG, GIF or PNG, in the first data memory 230 or on a data store in one of the other computers 250 . 260 . 270 and or 280 provided (indicated by a twenty-first arrow P21).
Die
Anzahl der Bilder 400, 402, 404 richtet sich
dabei nach dem Darstellungszweck und den äußeren Gegebenheiten (von den
gleichen Faktoren hängen
letztlich auch die Auswahl einer geeigneten Bildgröße oder
der Komprimierungsfaktor bei verlustbehafteten Komprimierungsverfahren
wie JPG ab):
Je nach Darstellungszweck kann das Verfahren grundsätzlich auch
mit nur zwei Bildern durchgeführt werden.
Damit können
bereits alle Seiten des würfelförmigen ersten
Objektes 100 gezeigt 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 herausgestellt.
Um einen guten Eindruck einer kontinuierlichen Drehung zu erzeugen,
ist eine Zahl von wenigstens 24 Bildern gut geeignet. 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 einer
vollen Umdrehung um eine Achse Z gezeigt werden soll, erhält man ab
einer Zahl von 36 Bildern einen guten Dreheindruck.The number of pictures 400 . 402 . 404 depends on the display purpose and the external conditions (of the same factors ultimately depend also the selection of a suitable image size or the compression factor in lossy compression methods such as JPG):
Depending on the purpose of the presentation, the method can basically also be carried out with only two images. Already all sides of the cube-shaped first object can be used 100 to be shown. In order to represent a complete rotation of the first object 100 about an axis Z and thereby give an observer an overall sufficient impression of rotation (and not simply the display of several images), a number of at least 12 Pictures proved to be appropriate. To give a good impression of continuous rotation, a number of at least 24 Pictures well suited. If the object has many details that are to be accurately represented in the course of the rotation, a larger number of images is needed. If instead of the external view of an object as in the case of the first object 100 the interior view of a room as in the case of the second object 110 is to be shown during a full revolution about an axis Z, you get from a number of 36 Pictures a good impression.
Auf
der anderen Seite ist für
eine erfindungsgemäße Darstellungstechnik
als wichtigste äußere Gegebenheit
die erforderliche Ü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 eingebettet
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 Darstellung
eines Objektes in einer Business- to Business Anwendung 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 detaillierte Ansicht eines zu reparierenden Objektes
mit relativ hohem Aufwand zu übertragen,
als ihm telefonisch Anweisungen zu geben).On the other hand, the transmission time required for the data must be taken into account as the most important external factor for a presentation technique according to the invention, especially as this is dependent on the first data memory 230 (or 250 . 260 . 270 . 280 ) in the main memory 240 have to be loaded. If the presentation is to be embedded in a website for advertising purposes, for example, and it is to be expected that a user will only briefly look at this page, a lower number of pictures is recommended. Conversely, if, for example, a variable representation of an object in a business-to-business application with a high transmission rate comes into play, a larger number of images may be expedient (for example, it may be better for a foreign technician to have a detailed view of an object to be repaired with relative) to transfer a lot of effort than to give him instructions by phone).
Bei
anderen Darstellungen als Drehungen ist die geeignete Bilderzahl
schließlich
weitgehend abhängig
vom Eirizelfall.at
representations other than rotations is the appropriate number of images
after all
largely dependent
from the Eirizelfall.
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 aufgenommen
oder als Zeichnungen etc. zur Verfügung gestellt werden. Aus Gründen der
Einfachheit wird im folgenden nur die Vorgehensweise bei der Aufnahme
der Photos beschrieben. Eine Simulation 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öglichkeiten können ohne
Einfluß auf
die Erfindung auch beliebig miteinander kombiniert werden.In the presently described embodiment, a full rotation of the first object 100 represented around the Z-axis. For this will be 24 Pictures used. The images can be generated by a computer, taken from a real object by photo or provided as drawings etc. For the sake of simplicity, only the procedure for taking pictures will be described below. A simulation would have to generate corresponding images instead; a drawing would have to include corresponding images. The possibilities mentioned, to produce images, as well as all other possibilities can be combined with each other without any influence on the invention.
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 Ausgangsdrehwinkel
von 0° gleich
dem Bild zum Enddrehwinkel von 360° ist), beträgt der Drehwinkel dabei 360°/24=15°.The object is taken for taking the photos 100 for example, stored on a rotatable about the Z axis underground. Then a camera at a desired distance and angle is firmly positioned. For every single shot the object becomes 100 by a uniform rotation angle in the same direction of rotation about the Z-axis further rotated. To participate with 24 In this case, the rotation angle is 360 ° / 24 = 15 ° in which the image at the initial rotation angle of 0 ° is equal to the image at the final rotation angle of 360 °.
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.For a corresponding representation of the interior of the second object 110 you would have to move the other way round, ie the camera would be at a desired position in space 110 rotatably mounted about the Z-axis. Since, however, as a result, it always depends only on the Rela tivdrehung, in the following is generally only a rotation of the object 100 or 110 talk about the Z-axis.
Eine
solche zusammengehörige
Mehrzahl von Bildern wird im folgenden 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 Verfahren
nach den gleichen Grundsätzen
mit beliebig anders definierten Bildfolgen auszuführen. Beispielsweise
können
sich die Bilder innerhalb einer Bildfolge auch durch farbliche Modifikationen,
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.Such a related plurality of images will be referred to as a sequence of images. In the example, such an image sequence always comprises a plurality of object views from a round rotation about the Z-axis. But it is possible that Execute method according to the same principles with any differently defined image sequences. For example, the images within a sequence of images may also differ due to color modifications, modifications of the design and / or different states of the represented object. In this way, for example, it is possible to variably display a machine in the form that one can let the machine run forward and backward. In general, it would be possible to represent a temporal evolution of an object.
Um
das Verfahren auszuweiten, kann auch eine Mehrzahl von Bildfolgen
verwendet werden. Dies wird anhand der 5a-5c verdeutlicht.To extend the method, a plurality of image sequences may also be used. This is based on the 5a - 5c clarified.
So
kann eine erste Bildfolge entsprechend 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 entsprechend 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 beschrieben darstellen (wiederum angedeutet durch den ersten
Pfeil P1). Wird eine Mehrzahl von Bildfolgen entsprechend den 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 beliebige räumliche
Lage, darzustellen. Für
die einzelnen Bildfolgen wird dabei jeweils das erste Objekt 100 gegenüber der
Z-Achse um eine
zweite, insbesondere zur Z-Achse senkrechte Drehachse verkippt.
Alternativ kann eine Bildfolge auch nur eine Teildrehung und/oder
eine andere Bewegung des dargestellten Objektes 100' umfassen.Thus, a first image sequence corresponding 5a a full turn of the first object 100 around the Z-axis in a first relative position of the first object 100 to the Z-axis in steps of 15 ° each as described above (indicated by the first arrow P1). A second sequence of images may be appropriate 5b a full turn of the first object 100 ' around the Z-axis in a second relative position of the first object 100 to the Z-axis in steps of 15 ° each as described above (again indicated by the first arrow P1). If a plurality of image sequences corresponding to 5a and 5b defined, it is possible, as a result, a 4-Π-rotation, ie in each case a full rotation about at least two different spatial axes and thus a rotation in any spatial position represent. For the individual image sequences in each case the first object 100 tilted relative to the Z-axis about a second, in particular to the Z-axis axis of rotation. Alternatively, an image sequence can also be only a partial rotation and / or a different movement of the object shown 100 ' include.
Zusätzlich oder
stattdessen kann eine zweite Bildfolge das Objekt 100'' wie in 5c angedeutet in
einer anderen Farbe oder allgemein nach einer Veränderung,
aber in der gleichen Relativlage zur Z-Achse darstellen. Beispielsweise
bei der Darstellung eines Autos kann eine Bildfolge das Auto mit
geschlossenen Türen
und Motorhaube darstellen. Weitere Bildfolgen können 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 5a und 5b kombiniert werden,
so daß das
Objekt in unterschiedlichen Relativlagen zur Z-Achse und in unterschiedlichen
Zuständen
gezeigt wird. Daneben ist es – wie
schon gesagt – auch
möglich,
ganz anders definierte Bildfolgen zu verwenden.Additionally or instead, a second image sequence may be the object 100 '' as in 5c indicated in a different color or generally after a change, but in the same relative position to the Z-axis represent. For example, when displaying a car, a sequence of images may represent the car with the doors closed and the bonnet. Other image sequences can each represent the object with one or more open doors and / or bonnet. Again further image sequences then correspond approximately to the previously mentioned image sequences, but show the object in different colors. After all, these changes can also be consistent with those 5a and 5b be combined so that the object is shown in different relative positions to the Z-axis and in different states. In addition, it is - as already mentioned - also possible to use completely different image sequences.
Erläuterungen
zum zweiten VerfahrensschrittExplanations
to the second process step
In
einem zweiten Verfahrensschritt werden die Bilder 400, 402, 404 insbesondere
unter Verwendung einer Datenübertragungsroutine
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).In a second process step, the images 400 . 402 . 404 in particular, using a data transfer routine of the browser 300 from the first data store 230 (respectively. 250 . 260 . 270 and or 280 ) in a second data memory, namely the working memory 240 , transmitted (indicated by a twenty-second arrow P22).
Bei
der Übertragung
treten zwangsläufig
die oben geschilderten Verzögerungen
auf. Diese wirken sich insbesondere bei der Einzelü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 darzustellende Objektansicht beinhaltet. Eine solche Darstellung
wäre ruckhaft
und nicht fließend,
so daß ein
Dreheindruck ausbliebe.During transmission, the above-mentioned delays inevitably occur. These affect, in particular, the individual transmission of, for example, 24 images 400 . 402 . 404 negative from a picture sequence. This prohibits in most cases a variable object representation, which is based on each load the image, which includes an object view to be displayed. Such a representation would be jerky and not fluent, so that a turning impression would be omitted.
Um
dem abzuhelfen, kann man zunächst
alle Bilder 400, 402, 404 einer Bildfolge
einzeln übertragen
und nach Abschluß der Übertragung
die Darstellung beginnen. Auf diese Weise würde man zwar eine fließende Darstellung
erhalten. Die vorgeschaltete Ladezeit ist jedoch relativ lang.To remedy this, you can first see all the pictures 400 . 402 . 404 transmit one image sequence one by one and begin the display after the completion of the transfer. In this way you would get a flowing presentation. However, the upstream charging time is relatively long.
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, welches zu weiteren Umständen (nämlich die
Installation, der zusätzliche
Einsatz, sowie weitere Kosten) und Kompatibilitätsproblemen führt. Vorzugsweise
wird daher im beschriebenen Ausführungsbeispiel
der nachfolgend anhand von 6a und 6b dargestellte
Ansatz gewählt.An improved solution is the images 400 . 402 and 404 to pack into a package and then in memory 240 to unpack again. However, according to the prior art, a separate unpacking program is necessary for this, which leads to further circumstances (namely the installation, the additional use, as well as further costs) and compatibility problems. Preferably, therefore, in the described embodiment, the following with reference to 6a and 6b chosen approach selected.
Zunächst werden
im Beispiel – wie
in 6a durch Pfeile P23, P24 und P25 angedeutet – die Bilder 400, 402 und 404 zu
einem Bildstreifen 600 zusammengefügt. Dies kann beispielsweise
mittels eines vorzugsweise insofern automatisierten Graphikprogramms
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 Bildstreifen 600 wird
dann als solcher 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 zur Übertragung
bereitgestellt. Allgemeiner gesagt werden nach diesem Ansatz also mehrere
Datensätze,
z.B. Bilddatensätze,
in einem Browserdatenformat zu einem Datenpaket zusammengefaßt und im
ersten Datenspeicher 230 bzw. 250, 260, 270 und/oder 280 zur Übertragung
bereitgehalten.First, in the example - as in 6a indicated by arrows P23, P24 and P25 - the pictures 400 . 402 and 404 to a picture strip 600 together. This can be done for example by means of a preferably automated graphics program. The picture strip 600 So corresponds to a broad picture, which is made up of the individual images 400 . 402 and 404 composed (instead of the picture strip 600 Also, one image plane, ie several image strips side by side, so that the images cover a large area of n * m images, or any other composition can be selected). The picture strip 600 is then stored as such in a browser data format, in particular in a browser-supported image data compression format such as JPG, GIF or PNG, in the first data store 230 or on a data store in one of the other computers 250 . 260 . 270 and or 280 provided for transmission. general In my opinion, according to this approach, several data sets, for example image data records, are combined in a browser data format into a data packet and stored in the first data memory 230 respectively. 250 . 260 . 270 and or 280 for transmission.
Denkbar
ist es nun, wie in 6a angedeutet, stets alle Bilder
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 ausgehandelte Verbindungen unterschiedlich schnell sein.
Es besteht also 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 Benutzer 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 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.It is now possible, as in 6a indicated, always all images of a sequence of images or even several sequences of images to a strip of images 600 put together. As a result, delays are minimized by establishing a connection or by setting a read head. However, there are also other aspects to consider regularly. Thus, in egg ner Internet transmission, especially at peak times, individual negotiated connections can be different speeds. Thus, there is a risk that the entire data packet will be transmitted over a particularly slow connection (but this aspect is only for Internet transmission and not for loading a disk storage 230 to be considered). In addition, the user is given more activity in a transmission of multiple packets instead of a large packet, which can lead to the fact that he rather takes a longer wait in purchasing. Against this background, it is proposed in the described example, as in 6b indicated to merge 6 images into one image strip (indicated by arrows P26, P27 and P28), so that an image sequence of 24 images in 4 image strips 610 . 620 . 630 and 640 is transferred to 6 images.
Zusätzlich oder
als Teil des Datenpaketes werden Informationen über die Struktur des Datenpaketes
im Hinblick auf die einzelnen Datensätze im ersten Datenspeicher
zur Übertragung
bereit gehalten. Dabei können
die Strukturinformationen Abstandsangaben und/oder Koordinatenangaben
jeweils bezogen auf den Bildstreifen 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 vorzusehen, daß beispielsweise
ein Bildstreifen 610, 620, 630 oder 640 aus sechs
nebeneinander liegenden, gleich großen Bildern besteht.In addition to or as part of the data packet, information about the structure of the data packet with regard to the individual data records in the first data memory is kept ready for transmission. In this case, the structure information can include distance indications and / or coordinate data in each case based on the image strip and / or the image plane. This information may be available explicitly. But it is also possible, for example in a Javascript, a Jscript or a VBScript within an HTML page 310 which are also in the main memory 240 is transmitted to provide only the equivalent information that, for example, a picture strip 610 . 620 . 630 or 640 consists of six juxtaposed, equally sized pictures.
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 Datensätze 610, 620, 630, 640,
welche in einem vom Browser 300 unterstützten Bilddatenkomprimierungsformat
vorliegen, verwenden zu können,
werden sie zunächst
vom Browser 300 ohne Zuhilfenahme zusätzlicher Programme dekomprimiert.
Um dann aus den Bildstreifen 610, 620, 630 bzw. 640 und mittels
der zugehörigen
Strukturinformationen einzelne Datensätze, d.h. die Daten einzelner
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 7a bis 7c beschrieben,
vorgehen:
Zunächst
wird ein erstes Bild 400 des Bildstreifens 610 in
einem 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 7a-7c durch
zwei vertikale Begrenzungslinien b1 und b2 und zwei 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 Verwendung der Strukturinformationen
so positioniert, daß die
Position eines darzustellenden Bildes 400 mit der Position
des Darstellungsbereichs, begrenzt durch die Begrenzungslinien b1,
b2, b3 und b4, übereinstimmt.
Hierfür,
sowie für
die Festlegung der Abmessungen des Darstellungsbereichs werden die
Strukturinformationen verwendet. Das darzustellende Bild 400 wird
dann unter Verwendung der Clippingroutine aus dem Datenpaket 610 ausgesondert und
im Darstellungsbereich unter Verwendung einer Darstellungsroutine
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 verwenden.In the same way as the pictures described 400 . 402 . 404 In principle, all types of data can be combined, in particular audio data records to audio strips, etc. To after the transfer to the main memory 240 the records 610 . 620 . 630 . 640 which in one of the browser 300 supported image data compression format, they are initially used by the browser 300 decompressed without the help of additional programs. To get out of the picture strip 610 . 620 . 630 respectively. 640 and by means of the associated structure information individual data records, ie the data of individual images 400 . 402 and 404 to weed out and display these individually, one can now use, for example, a clipping routine and the transmitted structure information. Here you can, for example, as follows using 7a to 7c described, proceed:
First, a first picture 400 of the picture strip 610 displayed in a browser window (indicated by arrow P29). This is done in the browser window, a display area for the image 400 Are defined. This display area corresponds to the dimensions of an image and is in the 7a - 7c bounded by two vertical boundary lines b1 and b2 and two horizontal boundary lines b3 and b4. The picture strip 610 (or a corresponding image plane, etc.) is positioned with respect to the browser window by means of a scrolling routine and using the texture information such that the position of an image to be displayed 400 coincides with the position of the display area bounded by the boundary lines b1, b2, b3 and b4. For this purpose, as well as for the definition of the dimensions of the display area, the structure information is used. The picture to be displayed 400 is then extracted from the data packet using the clipping routine 610 Discarded and in the viewport using a browser rendering routine 300 shown. An object within an extended HTML document, which can display an image in this way and has such a clipping routine, is provided in the Netscape Navigator, for example, under the name "Layer" and in Internet Explorer under the name "Div". The selection of the first picture 400 can be done according to any criteria. The easiest way would be to always use the first image of a sequence of images as a startup image.
Um
ein weiteres Bild 402 des Bildstreifens 610 im
Darstellungsbereich anzuzeigen, wird der Bildstreifen 610 entsprechend
gegenüber
dem Darstellungsbereich verschoben und auf das nun darzustellende
Bild 402 beschnitten (in 7b angedeutet durch
einen Pfeil P30). Um dabei ein Flackern zu vermeiden, wird vorzugsweise
ein Doppelpuffersystem verwendet, so daß der Schiebeund 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 abgeschlossen
sind. Entsprechend wird gemäß 7b während des
Verschiebevorgangs weiterhin das erste Bild 400 angezeigt.
Sobald 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 7c).To another picture 402 of the picture strip 610 in the viewport, the image strip becomes 610 moved accordingly to the display area and the now displayed image 402 cropped (in 7b indicated by an arrow P30). In order to avoid flickering, a double buffer system is preferably used, so that the sliding and the cutting process can be performed in the background and an image displayed by an image to be displayed only he is set when the sliding and cutting are completed. Accordingly, according to 7b while moving the first image 400 displayed. Once the second picture 402 is positioned and cropped in the viewport, instead of the first image in the browser page 320 in the defined display area instead of the first image 400 the second picture 402 indicated (indicated by arrow P31 in 7c ).
Für die Anzeige
weiterer oder des ursprünglichen
Bildes 404, 400 wird das vorstehend beschriebene
Verfahren entsprechend angewendet. Im Falle von Audiodaten wird
entsprechend vor- und zurückgespult
bzw. die Startposition angesprungen etc.For displaying more or the original image 404 . 400 the method described above is applied accordingly. In the case of audio data is forward and rewound accordingly or jumped to the starting position, 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 Programmroutinen, 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 Falle eins 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 Programmelemente
in die Browserseite 320 (wie auch allgemein vorzugsweise
Programmelemente in Browserseiten) auf die nachfolgend anhand von 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
entsprechen. Es kann darüber
hinaus ein Hinweis auf eine laufende Datenübertragung beinhalten. Es kann aber
auch einen völlig
anderen Inhalt wie beispielsweise eine Werbung aufweisen.When transferring the image strips 610 . 620 . 630 and 640 As in the case of the transmission of data, especially when transferring applets or other program routines, it can happen that either the transfer can not be completed or can not be completed, takes a long time, or that a browser in the example Interpreter, or in the case of a Java applet does not have a virtual machine or in the case of another program does not have a required plug-in. In such cases, as stated above, in the browser page 320 in the prior art only an icon or a gray area displayed. To avoid these disadvantages, preferably in the present example, the program elements required for generating the variable representation in the browser page 320 (as well as generally preferred program elements in browser pages) to the following with reference to 8a and 8b involved manner described:
First contains the first data store 230 (respectively. 250 . 260 . 270 and or 280 ) next to the HTML code 310 a browser page 320 and the picture strip 610 . 620 . 630 and 640 at least one sequence of images still an additional image 800 , This additional picture 800 can correspond to the first object view to be displayed. It may also contain an indication of ongoing data transfer. But it can also have a completely different content, such as an advertisement.
Außerdem ist
im HTML-Code 310 der Browserseite 320 ein Darstellungsbereich
für die
Darstellung des zusätzlichen
Bildes 800 definiert, sowie ein Verweis auf das zusätzliche
Bild 800 über
eine Bildkennung (wie den Datei-Namen oder Bildnamen) enthalten.
Der Darstellungsbereich entspricht dabei dem Bereich, in welchem
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 jederzeit nachgeholt werden kann. Der HTML-Code 310 der
Browserseite 320 enthält
somit zunächst
einen Platzhalter in der Form des zusätzlichen Bildes 800 mit
einer Kennung zur Identifikation des Platzhalters 800.It is also in HTML code 310 the browser page 320 a display area for the presentation of the additional image 800 defined, as well as a reference to the additional image 800 via an image identifier (such as the file name or image name). The display area corresponds to the area in which the desired variable display is to be displayed later. A call for required program elements is in the HTML code 310 initially only implicitly contained, ie it is not yet linked to the program elements, which can be made up at any time by the appropriate right occupation of required variables. The HTML code 310 the browser page 320 thus initially contains a placeholder in the form of the additional image 800 with an identifier for identification of the placeholder 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 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 Objektansicht,
dar.The HTML code 310 and the placeholder 800 are used as the first part of a data transfer from the first memory 230 (respectively. 250 . 260 . 270 and or 280 ) in the main memory 240 transferred (indicated in 8a by arrows P32 and P33, as well as symbols 310 ' and 800 ' in memory 240 ). This is what the browser uses 300 through the HTML code 310 controlled to (indicated by arrow P34). He takes the HTML code 310 ' the reference (indicated by arrow P36) to the placeholder 800 ' and puts in an area of the browser page 320 on the monitor 210 the object of the placeholder image, in the example, the first object view 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 enthalten. 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 Browserfensters. Außerdem
startet die Einfügeroutine
die Übertragung
beispielsweise von den vier Bildstreifen 610, 620, 630 und 640 einer
Bildfolge in den Arbeitsspeicher 240 (in 8b angedeutet
durch Pfeile P37, P38, P39 und P40, sowie durch Symbole 610', 620', 630' und 640' im Arbeitsspeicher 240).After loading the HTML code (and thus after, during or before loading the placeholder image 800 ' ) an insert routine is activated. The inserter routine is in HTML code 310 preferably in the form of a Javascript, Jscriptes or VBScriptes. It takes information about the placeholder from the HTML code 800 ' , such as its height, width, position, name and position within the item list of the browser window. In addition, the insert routine starts transmission from, for example, the four image strips 610 . 620 . 630 and 640 a sequence of pictures in the main memory 240 (in 8b indicated by arrows P37, P38, P39 and P40, as well as by symbols 610 ' . 620 ' . 630 ' and 640 ' in memory 240 ).
Die
Einfügeroutine überwacht,
wann der Ladevorgang abgeschlossen 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 abgebildet, da dann die Feststellung
des Vorliegens der Ausführungsvoraussetzungen
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 Starten der veränderlichen Darstellung wird
der Platzhalter 800 unter Verwendung der Kennung des Platzhalters
im HTML-Code 310 der Browserseite 320 ausfindig
gemacht und durch das Programmelement 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 übermalt
wird; es ist aber auch möglich,
den HTML-Code 310 vollständig neu zu generieren. Der Platzhalter 800' wird im Ergebnis
nicht mehr dargestellt (angedeutet durch Pfeil P36 in 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
Browserfenster an (angedeutet durch das Cursorzeichen 810 in
der Browserseite 320). Ist das Programmelement jedoch nicht
ausführbar,
so bleibt der Platzhalter 800 sichtbar.The insert routine monitors when the load is complete. After completion of the transfer, it activates, provided that the execution conditions for the variable representation are present, the program elements required for this purpose. Preferably, the insert routine and the program elements for the variable representation are mapped in the same script type, because then the presence of the execution requirements for the variable representation (ie, in the example, the presence of a corresponding script interpreter) simply by the fact that the insertion routine only in this case is and can be done. When the variable representation starts, the placeholder becomes 800 using the identifier of the wildcard in HTML code 310 the browser page 320 located and by the program element for generating the variable representation in the browser page 320 replaced. It can be the HTML code 310 the browser page 320 remain unchanged as such, so that the placeholder 800 -pictured spoken- is painted over in the presentation; but it is also possible to use the HTML code 310 completely re-generate. The placeholder 800 ' is not shown in the result (indicated by arrow P36 in 8b ). Instead, the browser performs 300 the program element and shows the desired variable object representation in the area of the placeholder in the browser page 320 in the browser window (indicated by the cursor character 810 in the browser page 320 ). However, if the program element is not executable, the placeholder remains 800 visible, noticeable.
Als
Kennung für
den Platzhalter 800 wird vorzugsweise der Datei-Name des
Platzhalters 800 ganz oder teilweise, oder aber ein anderes
entsprechendes Identifikationsmerkmal wie der Elementname verwendet.As identifier for the placeholder 800 is preferably the file name of the wildcard 800 in whole or in part, or another corresponding identifier used as the element name.
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 verwendet werden kann.
Auch können
mehrere Bilder zeitliche gesteuert hintereinander angezeigt werden.
Im ersten Fall wird außerdem
auch auf Browsern, welche die veränderliche Darstellung nicht ausführen können, ein
Eindruck vom Inhalt der Darstellung 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.The described approach has the advantage that, depending on the type of wildcard used 800 , a longer loading time for a first impression of the object to be displayed, an advertisement, a loading message or a combination thereof can be used. It is also possible to display several pictures consecutively in chronological order. In the first case, also on browsers, which can not perform the variable representation, gives an impression of the content of the presentation. In addition, incomplete browser pages are not displayed. Finally, it is when creating the browser page 320 possible, without special effort and only by naming the wildcard name to integrate several animations in a page.
Erläuterungen
zum dritten VerfahrensschrittExplanations
to the third process step
Nach
Abschluß der
Datenübertragung
für wenigstens
eine vollstä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 4 durch Pfeil P43). Dies ist
möglich,
weil der Browser 300 Daten aus dem Arbeitsspeicher 240 verarbeiten kann
(angedeutet durch Pfeil P44 in 4). Da die Übertragung
mehrerer Bildfolgen entsprechend länger dauert, wird vorzugsweise
dieser Schritt ausgeführt,
sobald die erste Bildfolge vollständig übertragen ist, und nicht auf
weitere Bildfolgen gewartet. Diese werden vielmehr nach Bedarf nachgeladen. Man
kann auch schon nach der Übertragung
des ersten Bildstreifens 610 einer Bildfolge oder gar eines Einzelbildes 400, 402 oder 404 mit
der Darstellung beginnen. Dies würde
jedoch im Laufe des weiteren Verfahrens zu Problemen führen, 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.After completion of the data transmission for at least one complete image sequence at least a first image 400 using a browser rendering routine 300 in an area of a browser page 320 in a browser window on the monitor 210 represented (indicated in 4 by arrow P43). This is possible because of the browser 300 Data from the main memory 240 can process (indicated by arrow P44 in 4 ). Since the transmission of several image sequences takes correspondingly longer, this step is preferably carried out as soon as the first image sequence has been completely transmitted, and is not waiting for further image sequences. These are reloaded as needed. You can also already after the transfer of the first picture strip 610 a picture sequence or even a single picture 400 . 402 or 404 start with the presentation. However, this would lead to problems in the course of the further process, since delayed reloading leads to a jerky instead of flowing representation. Preferably, the first image becomes 400 . 402 . 404 a picture sequence (with regard to the order of the pictures 400 . 402 . 404 within a sequence of images, see below) in each case first and thus represented as a start image.
Erläuterungen
zum vierten VerfahrensschrittExplanations
to the fourth process step
Der
vierte Verfahrensschritt kann grundsätzlich vor oder nach der Übertragung
der Bilder 402, 404, 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 Zuordnung der einzelnen Bilder 402, 404, 404 jeweils
zu einem Objektansichtsbereich, welcher die jeweils dargestellte
Objektsansicht umfaßt
(siehe im einzelnen weiter unten). Sofern dieser Schritt vor der Übertragung
ausgeführt
wird, müssen
dabei ermittelte Zuordnungsdaten ebenfalls auf den zweiten Datenspeicher,
d.h. in den Arbeitsspeicher 240, übertragen werden.The fourth method step can basically be before or after the transmission of the images 402 . 404 . 404 , in the form of picture strips 610 . 620 . 630 . 640 and / or before the presentation of the first image 400 be executed. It contains the assignment of the individual pictures 402 . 404 . 404 each to an object view area, which includes the object view shown in each case (see below in detail). If this step is carried out before the transfer, in this case determined assignment data must also be on the second data memory, ie in the main memory 240 , be transmitted.
Der
Begriff des Objektansichtsbereiches ist in diesem Zusammenhang weit
aufzufassen. Im Falle einer veränderlichen
räumlichen
Darstellung eines Objektes 100, 110 bezieht er
sich beispielsweise auf den Drehwinkelbereich, für welchen ein Bild 402, 404, 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 bestimmten Drehwinkelbereich
angezeigt). Im Falle der Darstellung einer Hin- und Herbewegung
längs eines
Motives wie in 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. 1d) oder einer zeitlichen Zustandsänderung
(vgl. 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äuterungen
nur auf den Fall der drehbaren Darstellung eines Objektes 100 bzw. 110.
Die Objektansichtsbereiche werden also jeweils für eine Bildfolge als Drehwinkelbereiche
bezogen auf die erste Drehachse, namentlich die Z-Achse, definiert.The term object view area is to be understood in this context. In the case of a variable spatial representation of an object 100 . 110 For example, it refers to the rotation angle range for which a picture 402 . 404 . 404 is displayed (as already explained above, yes only certain views in pictures 400 . 402 and 404 displayed; Consequently, a rotation in the representation always takes place in steps, ie a single image is displayed in each case for a certain rotation angle range). In the case of the representation of a float along a motive as in 1c the same applies to a shift range unless a continuous long picture is produced from which clips are shown. In the case of a change of colors etc. (cf. 1d ) or a temporal change of state (cf. 1e ), the object view area corresponds to the section of the color space or the temporal area for which an image is displayed. For the sake of simplicity, but without limitation, the following explanations relate only to the case of the rotatable representation of an object 100 respectively. 110 , The object view areas are thus defined in each case for an image sequence as rotation angle ranges related to the first rotation axis, namely the Z axis.
Im
Falle 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
Division von 360° durch
die Anzahl der Bilder 400, 402, 404 ermittelt,
d.h. bei 24 Bildern ergibt sich ein Bereich von 360°/24=15°.In the case of displaying a full revolution about the Z-axis in suitably uniform steps, the amount of rotation angle ranges for one image sequence becomes each time by dividing 360 degrees by the number of images 400 . 402 . 404 determined, ie for 24 images results in a range of 360 ° / 24 = 15 °.
Wie
oben dargelegt, stellt jedes Bild 400, 402, 404 eine
Objektansicht dar, zu welcher ein Drehwinkel gehört. Diese Drehwinkel 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 unten) an sich ein leicht veränderter Drehwinkel vorgegeben
wird. Zu diesem Zweck wird vorzugsweise jedem Bild 400, 402, 404 ein
Drehwinkelbereich zugeordnet, in dessen Mitte der zur Objektsansicht
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 Beispiel 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°.As stated above, each picture represents 400 . 402 . 404 an object view to which a rotation angle belongs. These angles of rotation are 0 °, 15 °, 30 °, ... and 345 °. In other words, these are the rotation angles or the associated object views, which in the individual images 400 . 402 . 404 are shown exactly. In the representation, however, especially since only a finite number of images is available, the individual images 400 . 402 . 404 each still be displayed when using input devices such as the computer mouse 220 (in detail below) a slightly different angle of rotation is given. For this purpose, preferably every picture 400 . 402 . 404 assigned to a rotation angle range, in the center of which is the angle associated with the object view, and which are in both directions of rotation in each case by half the amount of -Über calculated as Drehwinkelbe extends. In the example with 24 pictures would the individual pictures 400 . 402 . 404 ie the following ranges of rotation are assigned: 0 ° ± 7,5 °, 15 ° ± 7,5 °, 30 ° ± 7,5 °, ... and 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 implizit, 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 Eingabemittel (wie unten
näher ausgeführt) jeweils
so behandelt werden, daß vorbestimmte
Eingaben zum Bildwechsel führen.
Beispielsweise kann ein angezeigtes Bild 400, 402,
oder 404 bei einer Mausbewegung von einem bestimmten Ausmaß und in
eine Richtung jeweils durch ein benachbartes Bild 400, 402, 404 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.The assignment can be made explicitly, ie the angle ranges are calculated and the resulting data is sent to the browser 300 made available. However, it is preferably done implicitly for the images 400 . 402 . 404 a sequence of images (and thus also for the individual image strips 610 . 620 . 630 . 640 ) an order is determined and inputs via input means (as explained in more detail below) are each treated so that predetermined inputs lead to the image change. For example, a displayed image 400 . 402 , or 404 in a mouse movement of a certain extent and in one direction by an adjacent image 400 . 402 . 404 It should be noted that also the first and last picture of a picture sequence (0 ° and 345 °) are considered to be adjacent.
Sofern,
wie oben beschrieben, mehrere Bildfolgen verwendet werden, 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.Provided,
As described above, several image sequences are used to create a
4-Π turn all the way
or to be able to represent partially
is the individual image sequences in a corresponding manner each one
Assigned angular range with respect to the second axis of rotation.
Erläuterungen
zum fünften
VerfahrensschrittExplanations
to the fifth
step
In
einem fünften
Schritt werden aus wenigstens einer Betätigung der Cursorpositionierungsmittel,
etwa der Computermaus 220, resultierende 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 werden. Die so jeweils erhaltenen Daten werden
in weiteren Verfahrensschritten zur Steuerung der veränderlichen Darstellung
verwendet. Zusätzlich
oder stattdessen kann die veränderliche
Darstellung an einen Parameter gekoppelt werden, welcher zeitlich
veränderbar ist.
Auf diese Weise kann beispielsweise ein selbstdrehendes Objekt dargestellt
werden.In a fifth step, from at least one actuation of the cursor positioning means, such as the computer mouse 220 , resulting position changes of the cursor 810 using an event handler of the browser 300 determined. Instead of moving a computer mouse, for example, the duration of a keystroke can be used as a relevant parameter. The data thus obtained are used in further process steps for controlling the variable representation. Additionally or alternatively, the variable representation may be coupled to a parameter which is time changeable. In this way, for example, a self-rotating object can be displayed.
Der
fünfte
Schritt könnte
grundsätzlich
auch schon vor dem vierten Schritt in dem Sinne ausgeführt werden,
daß erst
eine Cursorbewegung zur Anzeige des ersten Bildes führt. Zweckmäßiger ist
jedoch die im Ausführungsbeispiel
vorgeschlagene Reihenfolge.Of the
fifth
Could step
in principle
even be done before the fourth step in the sense
that first
a cursor movement leads to the display of the first image. Is more appropriate
but in the embodiment
suggested order.
Erläuterungen
zum sechsten bis achten VerfahrensschrittExplanations
to the sixth to eighth process step
In
einem sechsten und siebten Verfahrensschritt wird wenigstens eine
darzustellende Objektansicht unter Verwendung von Objektbereichsdaten und
von Positionsänderungsdaten
des Cursors 810 ermittelt und dabei wenigstens einmal ein
Bild 400, 402 ermittelt, dessen zugeordneter Objektansichtsbereich
die nach der Änderung
darzustellende Objektansicht umfaßt. In einem achten Verfahrensschritt wird
dann wenigstens einmal ein so ermitteltes Bild unter Verwendung
der Darstellungsroutine und gegebenenfalls der Verschiebe- und Clippingroutinen
des Browsers in dem Browserfenster dargestellt.In a sixth and seventh process step, at least one object view to be displayed is made using object area data and position change data of the cursor 810 determines and at least once a picture 400 . 402 whose assigned object view area comprises the object view to be displayed after the change. In an eighth method step, an image thus determined is then displayed in the browser window at least once using the display routine and, if appropriate, the browser's shift and clipping routines.
Im
Falle eines ersten Ausführungsbeispieles werden
dabei Positionsänderungen
des Cursors 810 in oder gegen die Richtung einer ersten
Koordinatenachse, etwa der X-Achse, auf Drehungen des Objektes 100 um
die erste Drehachse, etwa die zur X-Achse senkrechte Z-Achse Aus 1a,
bezogen. Dabei ist es grundsä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 gedrückt ist,
um ungewollte Drehbewegungen zu vermeiden.In the case of a first embodiment, position changes of the cursor are thereby 810 in or against the direction of a first coordinate axis, such as the X-axis, on rotations of the object 100 around the first axis of rotation, such as the Z-axis perpendicular to the X-axis 1a , based. It is basically possible to consider all cursor movements. It is better, however, to consider only such movements, in which, for example, a key of the computer mouse 220 is pressed to prevent unwanted rotation.
Dieser
Ansatz wird nachfolgend anhand der 9a-9c erläutert:
Zunächst wird
durch Drücken
der Maustaste in 9a eine erste Cursorposition
definiert, welche der Mitte M des Objektansichtsbereichs eines gerade dargestellten
Bildes 400 zugeordnet wird. Sodann werden Grenzen g1 und
g2 (und gegebenenfalls weitere Grenzen für den Fall, daß eine Mausbewegung dem
sukzessiven Wechsel mehrerer Bilder entspricht) des Objektdarstellungsbereichs
durch Abschnitte auf der X-Achse repräsentiert, welche auf der X-Achse
jeweils gleich weit vom Ausgangspunkt M wegreichen. Diese Abschnitte
werden beispielsweise in Pixel ausgedrückt, so daß die Ausgangssituation des
Cursors 810 als null 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.This approach is described below using the 9a - 9c explains:
First, press the mouse button in 9a defines a first cursor position, which is the center M of the object view area of an image currently displayed 400 is assigned. Then, boundaries g1 and g2 (and possibly other boundaries in the case where a mouse movement corresponds to the successive change of multiple images) of the object representation area are represented by portions on the x-axis which respectively extend equally far from the starting point M on the x-axis. These sections are expressed in pixels, for example, so that the initial situation of the cursor 810 is regarded as zero pixels, while the limits g1 and g2 are given as 0 ± x pixels (and the other limits as g1 - n * (2x) and g2 + n * (2x), respectively).
Solange
der Cursor wie in 9b innerhalb der Grenzen g1
und g2 gehalten, d.h. nur um weniger 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 9c das (oder die) in der Bildfolge
jeweils in dieser Richtung benachbarte Bild 402 anstelle
des ersten Bildes 400 angezeigt. Bei einer Weiterbewegung
des Cursors nach dem ersten Bildwechsel gilt für die nächstfolgenden Grenzen bzw.
für eine
Rückbewegung
das oben gesagte entsprechend.As long as the cursor is as in 9b is held within the boundaries g1 and g2, that is, only moved by fewer pixels, becomes the first image 400 indicated (indicated by arrow P45). However, as soon as one of the limits g1 or g2 (or the other limits) is exceeded, as in 9c the (or the) in the sequence of images in each case adjacent image 402 instead of the first picture 400 displayed. If the cursor continues to move after the first image change, the above-mentioned limits or for a return movement, the above applies accordingly.
Die
Verfahrensschritte sechs bis acht können beliebig oft wiederholt
werden. Zusätzlich
können
Positionsänderungen
des Cursors 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) bezogen
werden.The method steps six to eight can be repeated as often as desired. In addition, changes in position of the cursor in or against the direction of a second, in particular perpendicular to the first coordinate axis X, coordinate axis Z related to rotations of the object about a second axis of rotation (X or Y).
Sofern
die Objektansichtsbereiche explizit bestimmt werden, ist es zusätzlich oder
alternativ möglich,
eine darzustellende Objektsansicht aus einer den Objektbereichsdaten
einer dargestellten 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 Objektsansicht gehörigen Drehwinkel
addiert. Vorzugsweise wird dann ein Bild ermittelt, dessen zugeordneter
Objektansichtsbereich die darzustellende Objektansicht nach der Änderung
umfaßt, indem
zunächst
der zur darzustellenden Objektansicht gehö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 zugeordneten Drehwinkelbereich der zur darzustellenden Objektsansicht
gehörige
Drehwinkel liegt.Provided
the object view areas are explicitly determined, it is additional or
alternatively possible,
an object view to be displayed from the object area data
a displayed object view and the position changes
of the cursor in the following way: First
the extent of
Position change
measured in pixels, by means of a multiplicative conversion factor,
about the unit degrees per pixel, in a rotation angle, about measured
in degrees, converted. The resulting angle of rotation is at position changes
in or against the direction of the respective coordinate axis respectively
provided with a different sign. Finally, the signed
provided rotation angle to the angle of rotation associated with the object view shown
added. Preferably, an image is then determined whose assigned
Object view area the object view to be displayed after the change
includes by
first
associated with the object view rotation angle with the rotation angle ranges
the individual images of a sequence of images and / or the rotation angle ranges
the individual image sequences is compared. Then the picture and / or
the image sequence selected,
in whose or their associated rotation angle range of the object view to be displayed
associated
Rotation angle is.
Alternativ
kann auch eine algebraische Berechnung, welches Bild darzustellen
ist, ausgeführt werden.
Beispielsweise ergibt sich das darzustellende Bild aus einer Multiplikation
der Mausbewegung 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 beispielsweise
festgelegt werden, daß eine
Cursorbewegung von 8 Pixeln dem Darstellungsbereich von einem Bild
entspricht.alternative
can also be an algebraic calculation to represent which image
is to be executed.
For example, the image to be displayed results from a multiplication
the mouse movement measured in pixels with a conversion factor of
Dimension degrees per pixel and a division of the result thus obtained
by the increment measured in degrees. It can, for example
be determined that a
Cursor movement of 8 pixels in the display area of an image
equivalent.
Die
Verfahrensschritte 6 bis 8 werden auch in 4 dargestellt.
Zunächst
wird auf dem Monitor 210 ein erstes Bild 400 dargestellt.
Der Cursor 810 befindet sich im linken Bildbereich. 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 Objektansicht nach einem der oben beschriebenen Verfahren übersetzt. Sofern
sich hieraus ergibt, daß ein
zweites Bild 402 anzuzeigen ist, wird die Darstellung der
Browserseite auf dem Monitor 210 entsprechend geändert (angedeutet
durch Pfeil P49).The process steps 6 to 8 are also in 4 shown. First, on the monitor 210 a first picture 400 shown. The cursor 810 is located in the left picture area. Then the mouse button is pressed and the cursor 810 ' by means of the computer mouse 220 moved to the right half of the picture (indicated by arrow P47). The position change of the cursor is via the event handler of the browser 300 detected (indicated by arrow P48) and translated into a corresponding change of the object view according to one of the methods described above. Provided that it follows that a second picture 402 display is the appearance of the browser page on the monitor 210 amended accordingly (indicated by arrow P49).
Die
Verfahrensschritte sechs bis acht können beliebig oft wiederholt
werden (angedeutet durch Pfeil P50).The
Process steps six to eight can be repeated as often as desired
(indicated by arrow P50).
Ergänzung bzw. Erweiterung zum
VerfahrensbeispielAddition or extension to the
process example
Für viele
Anwendungen ist es wünschenswert,
zusätzlich
zur veränderlichen
Darstellung eines Objektes nach dem bisher beschriebenen Verfahren, wie
auch sonst bei veränderlichen
Objektdarstellungen interaktive Flächen in die Darstellung einzufü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 jeweils das Objekt in unterschiedlicher Ansicht
darstellen und welche in einem Browserfenster dargestellt werden.For many
Applications it is desirable
additionally
to changeable
Representation of an object according to the previously described method, such as
otherwise synonymous with variable
Object representations to insert interactive surfaces in the presentation. there
is preferably, as previously described, for the variable
spatial
Representation of the object a plurality of two-dimensional images
used, which each have the object in different view
and which are displayed in a browser window.
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
Hyperlinks 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 interaktive Fläche umfaßt dabei
die gesamten Ausmaße
des Bildes. Zusätzlich
können
weitere Maus-Events definiert werden. Beispielsweise kann beim sogenannten Mouse-Over,
d.h. der Cursor wird über
eine interaktive Fläche
hinüberbewegt,
kurz ein Rahmen angezeigt werden, welcher signalisiert, daß eine interaktive
Fläche
vorhanden ist.interactive
surfaces
are for example surfaces
in graphical representations on computer screens, to which
a user moving a cursor about using a computer mouse
can and by what actions are triggered when the user
at this point a key is pressed.
Technically, for this
Hyperlinks used. These are based on the state of the art
certain areas
bound within a single two-dimensional image by
a region ("area") by specifying the
absolute pixel coordinates in the representation is defined and
the hyperlink is bound to this region. Is the cursor located?
or mouse pointer within this region while the mouse button is pressed,
so the associated hyperlink is executed. A very simple version
an interactive area
is achieved by omitting the coordinates by the entire
Picture is linked to a hyperlink. The interactive area includes
the entire dimensions
of the picture. additionally
can
further mouse events are defined. For example, in so-called mouse-over,
i.e. the cursor is over
an interactive area
moved over,
briefly a frame are displayed, which signals that an interactive
area
is available.
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.Around
interactive surfaces
in a changeable
To define meaningful representation of the type described above, must after the
The prior art, for example, in a sequence of 24 images each
the object view change
adapted
specially created interactive area. The effort for this, as well
for every change,
is considerable.
Eine
Abhilfemöglichkeit
wird nachfolgend anhand der 10a bis 10d erläutert.A remedy option is described below on the basis of 10a to 10d explained.
Gemäß 10a besteht das Darstellungsziel beispielsweise
darin, eine volle Drehung des Objektes 100' um die Z-Achse in der Richtung
des Pfeils P1 in einer Bildfolge von 24 Bildern darzustellen. Dabei
soll auf einer Seite des Objektes 100' eine interaktive Fläche 1000 eingefügt werden.According to 10a For example, the presentation goal is to do a full rotation of the object 100 ' to represent the Z axis in the direction of the arrow P1 in an image sequence of 24 images. It should be on one side of the object 100 ' an interactive area 1000 be inserted.
Der
Ansatz besteht darin, zunächst
eine Bildfolge ohne interaktive 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
Objektes 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 Bezugssystem (X,Y,Z) veränderlich
ist. Sodann wird gemäß 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 10b dargestellte
Projektion der Modellfläche 1010 auf
die Y-Z-Ebene in das Bild 400 eingefügt, so daß ein um eine interaktive Fläche ergänztes Bild 400' entsteht.The approach is to first create a series of images without interactive surfaces. According to the presentation goal is the individual pictures 400 . 402 the image sequence each one position and / or spatial position of the object shown 100 ' in a reference system, namely the spanned by the axes X, Y and Z coordinate system assigned. For the interactive surface to be created 1000 becomes a model surface 1010 used whose position and / or spatial position in the reference system (X, Y, Z) is variable. Then according to 10b a first position and / or spatial position of the model surface 1010 in the frame of reference the first picture 400 assigned (indicated by arrows P51 and P52). In doing so, the in 10b represented projection of the model surface 1010 to the YZ-level in the picture 400 inserted so that an added to an interactive area image 400 ' arises.
Gemäß 10c wird dann bei einem Darstellungswechsel vom
ersten 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 Objektes 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 10c dargestellt. Die Berechnungen
werden entweder über
eine entsprechende Java-Script-, Jscript oder Visual Basic Routine
vor Ort durchgeführt,
oder aber an anderer Stelle von ei nem Autorenprogramm vorberechnet
und in Form einer Liste mit übermittelt.According to 10c is then at a presentation change from the first picture 400 on a second picture 402 the position and / or spatial position of the model surface 1010 ' according to the change of the position and / or spatial position of the displayed object 100 ' changed and a projection of the model area 1010 ' in the new position and / or spatial location on the second picture 402 algebraically, in particular by a rotation and / or translation matrix calculated. This projection is in the top right corner of 10c shown. The calculations are either carried out locally via a corresponding Java Script, Jscript or Visual Basic routine, or precalculated elsewhere by an author program and transmitted in the form of a list.
Es
wäre nun
grundsätzlich
möglich,
die Projektion unmittelbar für
die Definition der interaktiven Fläche 1000' in der Darstellung
des zweiten Bildes 402 im Browserfenster zu verwenden.
Bei vielen älteren
Browsern können
jedoch nur rechteckige Bereiche als interaktive Flächen verwendet
werden, da andere Flächen
wie etwa Polygonzüge
oder Ellipsen häufig
als Funktion instabil sind und dadurch ihre Verwendung zu Abstürzen des
Browsers führen
kann.It would be possible in principle, the projection directly for the definition of the interactive area 1000 ' in the representation of the second picture 402 in the browser window. However, with many older browsers, only rectangular areas can be used as interactive areas because other areas, such as polygons or ellipses, are often unstable as a function, and their use can lead to browser crashes.
Vor
diesem Hintergrund ist es zunächst zweckmäßig, als
Modellfläche 1010 eine
ebene, rechteckige Fläche
zu verwenden. Sodann wird vorzugsweise eine Projektion der Modellfläche 1010', welche als
solche nicht rechteckig ist, in der Weise für die Definition der interaktiven
Fläche 1000 verwendet,
daß die
interaktive Fläche 1000 die
Gestalt eines Rechtecks hat, welches in Lage und Größe der Projektion ähnlich ist.
Um dies zu gewährleisten
und zugleich alle Bereiche abzudecken, an welchen ein Benutzer eine
interaktiven Bereich erwarten kann, werden bevorzugt die Maximalwerte
der Projektion zur Definition eines ähnlichen Rechtecks 1020 und
damit einer rechteckigen interaktiven Fläche verwendet 1000' verwendet,
so daß die
rechteckige interaktive Fläche 1000' die Projektion
der Modellfläche 1010' einschließt.Against this background, it is initially appropriate as a model surface 1010 to use a flat, rectangular surface. Then, preferably, a projection of the model surface 1010 ' , which as such is not rectangular, in the way for the definition of the interactive surface 1000 used that interactive surface 1000 has the shape of a rectangle similar in position and size to the projection. In order to ensure this and at the same time to cover all areas in which a user can expect an interactive area, the maximum values of the projection are preferred for defining a similar rectangle 1020 and thus uses a rectangular interactive surface 1000 ' used so that the rectangular interactive area 1000 ' the projection of the model surface 1010 ' includes.
Die
Modellfläche 1010 wird
in diesem Beispiel im Browserfenster als solche nicht, d.h. nicht sichtbar,
dargestellt. Zur Berechnung der Projektion der Modellfläche 1010 auf
eine darzustellende Objektsansicht wird als Transformationsalgorithmus eine
Abbildungsmatrix, vorzugsweise eine Drehmatrix verwendet.The model area 1010 in this example is not displayed in the browser window as such, ie not visible. To calculate the projection of the model surface 1010 An imaging matrix, preferably a rotation matrix, is used as the transformation algorithm on an object view to be displayed.
Ein
weiteres Problem besteht darin, daß bei einer vollen Drehung
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
Oberflächenbereich
des dargestellten Objektes 100' auch sichtbar ist.Another problem is that with a full rotation of the object 100 ' around the Z-axis the interactive surface 1000 during half of the rotation of the object 100 ' is covered and preferably also shown. Accordingly, the method described above can not simply be used such that any projection of the model surface 1010 also for the definition of an interactive area 1000 . 1000 ' is attracted. This should only be the case if that of the interactive surface 1000 . 1000 ' assigned surface area of the displayed object 100 ' is also visible.
Um
dieses Ziel zu erreichen, wird bei der Darstellung einer anderen
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 10d dargestellt-, für die Modellfläche 1010 ein
Normalenvektor n definiert. Hierdurch 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 interaktiven
Flächen 1000, 1000' immer dann
inaktiviert werden, wenn der Normalenvektor außerhalb eines bestimmten Winkelbereichs
liegt.To achieve this goal, the representation of another side of the object becomes the definition of the interactive surface 1000 . 1000 ' prevented by a hidden-line algorithm. For this purpose is easiest - like in 10d shown, for the model area 1010 defines a normal vector n. This makes it possible that the hidden-line algorithm, the surface normal n of the model surface 1010 used in the way that a projection of the model area 1010 to the displayed object view only as an interactive area 1000 is defined when the surface normal points to a viewer, that is, out of the image plane. More generally, it is convenient to use the normal vector in such a way that the interactive surfaces 1000 . 1000 ' be inactivated whenever the normal vector is outside a certain angular range.
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 Betrachter die vorhandenen Möglichkeiten zu verdeutlichen.By
a hidden-line algorithm can also be the (partial) occultation
of an object can be represented by another object, so that in the case
their concealment interactive surfaces
also be inactivated. It can also be useful to the interactive
surfaces
as such in the presentation, such as when "override" with the mouse, visible
to make the viewer aware of the possibilities available.
Sobald
interaktive Flächen
definiert sind, können
mit ihnen beispielsweise Aktionen verbunden werden, welche das dargestellte
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 interaktiven 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.Once interactive surfaces are defined, they can be used, for example, to associate actions with the object being displayed 100 ' change. For this purpose, after pressing the interactive area 1000 a first image sequence replaced by a second image sequence. For example, it is possible to rotate a displayed car in different colors or with or without open doors, etc. The actions that belong to interactive areas can also be triggered explicitly by calling a corresponding function in Java Script, JScript or Visual Basic ,
Zusätzlich oder
stattdessen können
auch Aktionen von außerhalb
der Darstellung ausgelöst
werden. Beispielsweise können
interaktive Flächen
in Form von Schaltleisten auch neben oder unterhalb der Darstellung
vorgesehen sein. In allen Fällen
wird jeweils eine Funktion im Java-Script (oder Jscript, Visual
Basic) aufgerufen., ein Hyperlink ausgeführt oder die Seite neu generiert
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 Seite darzustellen.Additionally or
instead you can
also actions from outside
triggered the presentation
become. For example, you can
interactive surfaces
in the form of safety edges also next to or below the illustration
be provided. In all cases
in each case a function in the Java script (or Jscript, Visual
Basic), run a hyperlink, or regenerate the page
etc. Also it is possible in
other pages the values of variables in javascript, jscript or
To change VBScript,
to link two pages together. For example it is
so possible,
in one or more pages desired properties of a
Assemble cars and then present it in another page.
Ausführungsbeispiele: Computersystem,
Computerprogramm, Netzwerkserver und NetzwerkclientExemplary embodiments: computer system,
Computer program, network server and network client
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 Netzwerkserver oder Netzwerkclient
als Computerprogramm implementiert werden. Anders ausgedrückt, erhält das jeweilige System
durch die Implementierung des Computerprogrammes die erfindungsgemäßen technischen
Eigenschaften oder ist dementsprechend angepaßt. Vor diesem Hintergrund
versteht es sich, daß die
Erfindung auch die derart ausgestatteten Systeme umfaßt, welche
im übrigen
in der Beschreibung auch beispielhaft dargestellt sind.The
Invention was in the previous versions in the form and in the
Environment of a method example described. As I said,
the implementation of such a method requires an illustration
of the procedure in program elements, which then in a computer system
or in whole or in part on a network server or network client
be implemented as a computer program. In other words, the respective system gets
by the implementation of the computer program, the technical invention
Properties or is adapted accordingly. Against this background
it is understood that the
Invention also includes the systems so equipped, which
Furthermore
are also exemplified in the description.
Insbesondere
umfaßt
die Erfindung ein Computersystem zur Erzeugung 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.In particular, the invention includes a computer system for generating a spatial representation of an object 100 . 110 . 120 . 140 . 150 . 160 in changeable view using a browser 300 wherein the computer system includes first and second data memories 230 and 240 respectively. 250 . 260 . 270 and or 280 , Display means 210 and cursor positioning means 220 , in particular a mouse, a track ball, a touch pad, a mouse stick or a touch screen, for operating a method of the type described above.
Sodann
umfaßt
die Erfindung ein Computerprogramm, welches in einem Speichermedium
gespeichert ist und welches Softwarecodeabschnitte umfaßt, mit
denen Schritte für
ein vorstehend beschriebenes Verfahren ausgeführt werden, wenn das Programm
auf einem Computer 200, 250, 260, 270 bzw. 280 läuft.Then, the invention comprises a computer program which is stored in a storage medium and which comprises software code sections with which steps for a method described above are executed when the program is run on a computer 200 . 250 . 260 . 270 respectively. 280 running.
Ferner
umfaßt
die Erfindung einen Netzwerkserver 260 und insbesondere
einen Internetserver mit einem Speichermedium, auf welchem ein Computerprogramm
gespeichert ist, welches Softwarecodeabschnitte umfaßt, mit
denen Schritte eines vorstehend beschriebenen Verfahrens ausgeführt werden,
wenn das Programm auf einem Computer 200 läuft; außerdem einen
Netzwerkserver 260 und insbesondere Internetserver mit
einem Speichermedium, auf welchem ein Computerprogramm gespeichert
ist, welches Softwarecodeabschnitte umfaßt, mit denen Schritte eines
vorstehend beschriebenen Verfahrens ausgeführt werden, wenn das Programm auf
einem Computer 200, 250, 260, 270 bzw.
280 läuft,
wobei das Computerprogramm zumindest teilweise auf einen anderen
Computer 200, insbesondere auf einen Netzwerkclient und
insbesondere einen Internetclient übertragbar und dort ausführbar ist.Furthermore, the invention comprises a network server 260 and in particular an Internet server with a storage medium on which a computer program is stored, which comprises software code sections with which steps of a method described above are executed when the program is run on a computer 200 running; also a network server 260 and in particular an internet server with a storage medium on which a computer program is stored, which comprises software code sections with which steps of a method described above are executed when the program is run on a computer 200 . 250 . 260 . 270 or 280 runs, the computer program at least partially to another computer 200 , in particular to a network client and in particular an Internet client transferable and executable there.
Schließlich umfaßt die Erfindung
einen Netzwerkclient 200 und insbesondere Internetclient
mit einem Speichermedium 230, 240, auf welchem
ein Computerprogramm gespeichert ist, welches Softwarecodeabschnitte
umfaßt,
mit denen Schritte eines vorstehend geschilderten Verfahrens ausgeführt werden,
wenn das Programm auf dem Client läuft.Finally, the invention includes a network client 200 and in particular Internet client with a storage medium 230 . 240 on which a computer program is stored, which comprises software code sections with which steps of a method described above are executed when the program is running on the client.
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.The
illustrated embodiments
serve for explanation
the invention. They are not to be understood as limiting the claims.
Rather, it includes
the invention also all other embodiments which are
from the claims.
Allgemeine Vorteile der
AusführungsbeispieleGeneral benefits of
embodiments
Die
geschilderten Ausführungsbeispiele
haben in den verschiedenen 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 erforderlich ist. Dabei werden üblicherweise
vorhandene Browserroutinen in bisher unbekannter Weise eingesetzt.
Entgegen dem bestehenden Vorurteil nach dem Stand der Technik, stellt
sich dabei heraus, daß für die Erzeugung
einer solchen veränderlichen Darstellung
weder eine Virtual Machine noch ein Plug-In erforderlich 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 Voraussetzungen geschaffen, eine verbesserte, da weiter
zugängliche,
Möglichkeit
der Internet-Werbung, sowie eine verbesserte Einrichtung von Schauflächen in
Internet-Kaufhäusern
zu erhalten. Weitere Einsatzmöglichkeiten
sind z.B. elektronische Handbü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 produziert, fortentwickelt ("gepflegt") oder distributiert werden. Stattdessen
kann man sich Fortentwicklungen der Browser unmittelbar zu Nutze
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 eines 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 beispielsweise statt 24 Bildern 4 Bildstreifen übertragen
werden, können
Probleme mit Firewalls vermieden werden, welche mitunter den Abruf
vieler Einzeldateien in kurzer Zeit verhindern.The described embodiments have the general advantage in the various variants that a variable representation of an object, in particular in a variable spatial view, can be inserted in a browser page without requiring a virtual machine or a plug-in. Usually existing browser routines are used in previously unknown ways. Contrary to the existing prejudice of the prior art, it turns out that neither a virtual machine nor a plug-in is required for the generation of such a variable representation. As a result, variable representations created according to the described method are accessible to a considerably larger group of browser users than representations according to known methods. Thus, for example, the technical prerequisites are created, an improved, as further accessible, possibility of Internet advertising, as well as improved decorating of showrooms in Internet department stores to get. Other uses include electronic manuals, employee training, interactive navigation elements, etc. There is always the advantage of over the prior art simplified use, since no plug-ins must be loaded and installed. Also, no plug-ins need to be produced, advanced ("maintained") or distributed. Instead, you can take advantage of advances in the browser immediately. Another advantage of a Java Script program compared to plug-ins or applets is the compact program. A Java Script program for implementing a method presented above may be on the order of less than 5 KB. As a result, the program code is loaded very quickly. Finally, a further advantage relates to the described method for data transmission: if, for example, instead of 24 pictures 4 picture strips are transmitted, problems with firewalls can be avoided, which sometimes prevent the retrieval of many individual files in a short time.