-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zum Rendern
(Bildaufbereitung) eines Bildes einer Anzahl von Objekten mit gleicher
Gestalt, z.B. eines Fischschwarms, ferner ein Aufzeichnungsmedium,
das ein Programm zum Rendern eines solchen Bilds speichert, sowie
ein Programm zum Rendern eines solchen Bildes.
-
In
jüngerer
Zeit haben sich verschiedene Verfahren für die Computergraphik-(CG)-Verarbeitung,
einschließlich
der Verarbeitung verborgener Linien, der Beseitigung verborgener
Flächen,
der glatten Schattierung, der Abbildung von Texturen usw., in Kombination
mit dem schnellen Wachstum von Hardwaretechnologien rasch fortentwickelt.
-
Nach
einem generellen CG-Verarbeitungsschema werden durch dreidimensionale
CAD-Modellierung
mehrere dreidimensionale Formen (Objekte) erzeugt, und es wird ein
Rendering-Prozeß durchgeführt, bei
dem Farben und Schatten an den Objekten appliziert werden, zu den
Objekten optische Eigenschaften, einschließlich Spiegelreflektion, diffuser Reflektion,
Brechung, Transparenz usw., hinzugefügt werden, ferner Oberflächenmuster
zu den Objekten hinzugefügt
werden und Bilder in Abhängigkeit
von der Umgebung, wie Fenster und Szenenreflektionen und Umgebungslicht
geplottet werden.
-
Wenn
eine Anzahl von Objekten gleicher Form, wie ein Fischschwarm, geplottet
wird, wird der erwähnte
Rendering-Prozeß an
den erzeugten Objekten durchgeführt.
Da der Rendering-Prozeß jedoch
an jedem kleinen Polygon durchgeführt wird, ist die Ausführung der
Berechnungen und das Plotten der Objekte zeitraubend, was mit dem
Nachteil verbunden ist, daß die
Objekte auf einem Anzeigemonitor mit reduzierter Rate angezeigt
werden.
-
Eine
Lösung
bestände
darin, alle Objekt mit einfachen Sprites zu plotten. Die Verwendung
von Sprites ist jedoch problematisch, da bezüglich der Darstellung einige
Beschränkungen
auftreten, z.B. Bewegungen, die nicht vorbereitet wurden, nicht
geplottet werden können.
-
US 5 786 822 offenbart ein
Verfahren und eine Vorrichtung zum Erzeugen einer Darstellung eines
Objekts von mehreren unterschiedlichen Betrachtungspunkten. Für jede Blickrichtung
sind andere Texturdaten vorgesehen, und wenn das Objekt angezeigt
wird, werden die der Betrachtungsrichtung der Oberfläche des
Objekts entsprechenden Texturdaten ausgewählt und auf die Darstellung
des Objekts abgebildet.
-
Es
ist deshalb ein Ziel der vorliegenden Erfindung, ein Verfahren und
eine Vorrichtung zum Rendern eines Bildes, ferner ein Aufzeichnungsmedium, das
ein Programm zum Rendern eines solchen Bilds speichert, und ein
Programm anzugeben, um ein solches Bild zu rendern, indem an bestimmten
Exemplaren einer Anzahl von Objekten, z.B. an visuell attraktiven
Objekten, bewegten Objekten, in der Nähe befindlichen Objekten usw.,
ein Rendering-Prozeß durchgeführt wird,
während
an anderen Objekten einfach eine Textur appliziert wird, so daß die Zeit
zur Durchführung
von Berechnungen und zum Plotten der Objekte erheblich verkürzt werden
kann und die Objekte mit hoher Qualität geplottet werden können.
-
Im
allgemeinen bewirkt ein Rendering-Prozeß die perzeptorische Transformation
der Eckpunkte einer Anzahl von Polygonen, die ein Objekt bilden, wobei
die resultierenden Polygone zusammen mit der Texturdarstellung und
der Beseitigung verborgener Flächen
geplottet werden.
-
Wenn
N Objekte angezeigt werden sollen, die jeweils aus x Polygonen bestehen,
müssen
für die x
Polygone N Rendering-Prozesse durchgeführt werden. Deshalb ist die
gesamte Prozedur sehr zeitaufwendig.
-
Nun
gibt es Fälle,
in denen nicht alle Objekte die gleiche Bildqualität erfordern.
Wenn z.B. eine große
Anzahl von Fischen geplottet wird, werden Fische, die sich im Hintergrund
der Szene befinden, visuell nicht klar wahrgenommen und sind visuell
weniger attraktiv.
-
Wenn
ein großer
Fischschwarm geplottet wird, werden gemäß vorliegender Erfindung einige der
Fische mit einem normalen Rendering-Prozeß geplottet, während andere
mit einem einfacheren Prozeß geplottet
werden.
-
Gemäß vorliegender
Erfindung sind ein Verfahren und eine Vorrichtung gemäß Anspruch
1 und 5 vorgesehen.
-
Weitere
Variationen sind in den Ansprüchen 2
bis 4 bzw. 6 bis 10 angegeben.
-
Die
Ziele, Merkmale und Vorteile der Erfindung werden durch die folgende
Beschreibung weiter verdeutlicht, die auf die anliegenden Zeichnungen Bezug
nimmt, in denen bevorzugte Ausführungsbeispiele
der Erfindung dargestellt sind.
-
1 zeigt
ein Blockdiagramm, aus dem die generelle Anordnung eines Unterhaltungsgeräts nach
einem Ausführungsbeispiel
der Erfindung hervorgeht,
-
2 zeigt
eine Ansicht eines Beispiels für ein
Entscheidungskriterium zur Festlegung eines detaillierten Plotting-Prozesses
und eines einfachen Plotting-Prozesses,
-
3 zeigt
eine Ansicht eines weiteren Beispiels für ein Entscheidungskriteriums
zur Festlegung eines detaillierten Plotting-Prozesses und eines einfachen
Plotting-Prozesses,
-
4 zeigt
eine Ansicht eines Objekts, wie es von einem beliebigen Betrachtungspunkt
aus gesehen wird, wenn das Objekt umfassend gesehen wird,
-
5 zeigt
vorbereitete Texturen, die so geplottet sind, wie sie von beliebigen
Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus gesehen werden,
wenn das Objekt umfassend gesehen wird,
-
6 zeigt
eine Ansicht der Beziehung zwischen tatsächlichen Betrachtungspunkten
und Ersatz-Betrachtungspunkten,
-
7 zeigt
ein Objekt, wie es von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus
gesehen wird, die aus einer Vielzahl von in einem praktischen Plotting-Prozeß benutzten
Betrachtungspunkten ausgewählt
werden,
-
8 zeigt
eine Ansicht vorbereiteter Texturen, die so geplottet werden, wie
sie von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus
gesehen wird, die aus einer Vielzahl von in einem praktischen Plotting-Prozeß benutzten
Betrachtungspunkten ausgewählt
werden,
-
9 zeigt
eine Ansicht, aus der die Beziehung zwischen tatsächlichen
Betrachtungspunkten und Ersatz-Betrachtungspunkten hervorgeht,
-
10 zeigt
ein Beispiel eines provisorischen Objekts,
-
11A zeigt ein Diagramm des Layouts eines provisorischen
Objekts, mit einem tatsächlichen Betrachtungspunkt,
der an einem Ersatz-Betrachtungspunkt a positioniert ist,
-
11B zeigt ein Diagramm des Layouts von provisorischen
Objekten relativ zu tatsächlichen Betrachtungspunkten
M, N, O (wobei der Betrachtungspunkt N weggelassen ist),
-
11C zeigt ein Diagramm der provisorischen Objekte
von 11B, direkt von oben, d.h. in negativer
Richtung der y-Achse, betrachtet,
-
12 zeigt
ein Blockdiagramm von Schritten eines Prozesses, der von einer Objektgruppen-Plottingeinrichtung
nach einem ersten Ausführungsbeispiel
der Erfindung durchgeführt
wird,
-
13 zeigt
ein Diagramm, in dem Details einer Texturinformationstabelle dargestellt
sind,
-
14 zeigt
ein Funktionsblockdiagramm einer Bild-Plotter-Einrichtung in der
Objektgruppen-Plottereinrichtung nach dem ersten Ausführungsbeispiel
der Erfindung,
-
15 zeigt
ein Funktionsblockdiagramm einer Einrichtung zum selektiven Plottern,
-
16 zeigt
ein Funktionsblockdiagramm einer Einrichtung zum detaillierten Rendern,
-
17 zeigt
ein Funktionsblockdiagramm einer Einrichtung zum einfachen Rendern,
-
18 zeigt
ein Diagramm mit Details einer Objektinformationstabelle,
-
19 zeigt
ein Diagramm mit Details einer detaillierten Objektdatei,
-
20 zeigt
ein Diagramm mit Details einer einfachen Objektdatei,
-
21 zeigt
ein Diagramm mit Details einer Bewegungsinformationstabelle,
-
22 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Bild-Plotter-Einrichtung,
-
23 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zum selektiven Plottern,
-
24 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zum detaillierten Rendern,
-
25 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zum einfachen Rendern,
-
26 zeigt
ein Funktionsblockdiagramm einer Einrichtung zum einfachen Rendern
in einer Objektgruppen-Plottereinrichtung nach einem zweiten Ausführungsbeispiel
der Erfindung,
-
27 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zum einfachen Rendern,
-
28 zeigt
ein Funktionsblockdiagramm einer Textureinstelleinrichtung in einer
Objektgruppen-Plottereinrichtung nach einem dritten Ausführungsbeispiel
der Erfindung,
-
29 zeigt
ein Diagramm mit Details einer Tabelle mit Betrachtungspunktkoordinaten,
-
30 und 31 zeigen
ein Flußdiagramm
einer Verarbeitungssequenz der Textureinstelleinrichtung,
-
32 zeigt
eine Ansicht der Art und Weise, in der Texturbilder erzeugt werden,
wenn Objekte Hauptobjekte und Hilfsobjekte umfassen,
-
33 zeigt
ein Diagramm mit Details einer Objektinformationstabelle,
-
34 zeigt
ein Diagramm mit Details einer detaillierten Objektdatei,
-
35 zeigt
ein Diagramm mit Details einer einfachen Objektdatei,
-
36 zeigt
ein Blockdiagramm mit Schritten eines Prozesses, der von einer Objektgruppen-Plottereinrichtung
nach einem vierten Ausführungsbeispiel
der Erfindung ausgeführt
wird,
-
37 zeigt
ein Diagramm mit Details einer Texturinformationstabelle,
-
38 zeigt
ein Funktionsblockdiagramm einer Textureinstelleinrichtung in einer
Objektgruppen-Plottereinrichtung nach einem fünften Ausführungsbeispiel der Erfindung,
-
39 zeigt
ein Funktionsblockdiagramm einer Einrichtung zur Verarbeitung eines
Hauptobjekts,
-
40 zeigt
ein Funktionsblockdiagramm einer Einrichtung zur Verarbeitung eines
Hilfsobjekts,
-
41 zeigt
ein Diagramm mit Details einer Hilfsobjekt-Informationstabelle,
-
42 und 43 zeigen
ein Flußdiagramm
einer Verarbeitungssequenz der Textureinstelleinrichtung,
-
44 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zur Verarbeitung eines
Hauptobjekts,
-
45 zeigt
ein Flußdiagramm
einer Verarbeitungssequenz der Einrichtung zur Verarbeitung eines
Hilfsobjekts.
-
Anhand
von 1 bis 45 wird ein Ausführungsbeispiel
mit einem Verfahren und einer Vorrichtung zum Rendern eines Bildes
beschrieben, wie sie in einem Unterhaltungsgerät zur Durchführung einer
dreidimensionalen CG-Verarbeitung angewendet werden.
-
Wie 1 zeigt,
umfaßt
ein Unterhaltungsgerät 10 eine
Haupt-CPU 12 zur Steuerung des Unterhaltungsgeräts 10,
einen Hauptspeicher 14 zum Speichern verschiedener auszuführender
Programme und verschiedener Daten, einen Bildprozessor 18 zum
Erzeugen von Bilddaten unter dem Steuereinfluß der Haupt-CPU 12 und
zur Ausgabe der erzeugten Bilddaten an eine Anzeigeeinheit 16,
z.B. an eine Kathodenstrahlröhre
(CRT), sowie einen Eingangs-/Ausgangsport 20 zum Senden
von Daten an und zum Empfangen von Daten aus externen Vorrichtungen.
-
Der
Hauptspeicher 14, der Bildprozessor 18 und der
Eingangs-/Ausgangsport 20 sind über einen Bus 22 mit
der Haupt-CPU 12 verbunden. An den Eingangs-/Ausgangsport 20 sind
angeschlossen: Eine Eingabe-/Ausgabevorrichtung 24 für die Eingabe
von Daten (Tasteneingabedaten, Koordinatendaten, usw.) in das Unterhaltungsgerät 10 sowie
ein optisches Plattenlaufwerk 26 zum Abspielen einer optischen
Platte, z.B. einer CD-ROM oder dgl., auf der verschiedene Programme
oder Daten (objektbezogene Daten, Texturdaten usw.) aufgezeichnet
sind.
-
Der
Bildprozessor 18 umfaßt
eine Rendering-Maschine 30, ein Speicher-Interface 32,
einen Bildspeicher 34 und eine Anzeigesteuerung 36,
z.B. eine programmierbare CRT-Steuerung oder dgl..
-
Die
Rendering-Maschine 30 dient zum Rendern von Bilddaten in
dem Bildspeicher 34 über
das Speicher-Interface 32 auf der Basis eines von der Haupt-CPU 12 gelieferten
Rendering-Befehls.
-
Zwischen
dem Speicher-Interface 32 und der Rendering-Maschine 30 ist
ein erster Bus 38 angeordnet. Zwischen dem Speicher-Interface 32 und dem
Bildspeicher 34 ist ein zweiter Bus 40 angeordnet.
Der erste und der zweite Bus 38, 40 haben jeweils
eine Breite von 128 Bit, um der Rendering-Maschine 30 das
Rendern von Bildern in dem Bildspeicher 34 mit hoher Geschwindigkeit
zu ermöglichen.
-
Die
Rendering-Maschine 30 kann Bilddaten mit 320 × 240 Pixeln
oder Bilddaten mit 640 × 480
Pixeln nach dem NTSC- oder PAL-System in Echtzeit, d.h. in 1/60
Sekunden und 1/30 Sekunden, mehr als zehnmal oder einige zehnmal
rendern.
-
Der
Bildspeicher 34 hat eine einheitliche Speicherstruktur,
die es ermöglicht,
einen Texturbereich 34a und einen Rendering-Bereich 34b als
gleichen Bereich festzulegen.
-
Die
Bildsteuerung 36 schreibt Bilddaten, die über das
optische Plattenlaufwerk 26 ausgelesen werden, oder Bilddaten,
die in dem Hauptspeicher 14 erzeugt werden, über das
Speicher-Interface 32 in den Texturbereich 34a des
Bildespeichers 34 ein und liest Bilddaten, die in dem Rendering-Bereich 34b des
Bildespeichers 34 gerendert werden, über das Speicher-Interface 32 aus
und liefert die ausgelesenen Bilddaten an die Anzeigeeinheit 16,
um dort ein Bild anzuzeigen.
-
Im
folgenden wird eine charakteristische Funktion des Unterhaltungsgeräts 10 beschrieben, d.h.
eine Funktion, mit der eine Anzahl von Objekten mit identischer
Gestalt sehr schnell geplottet werden.
-
Diese
Funktion ist als Programm (Objektgruppen-Plottereinrichtung) auf
einer optischen Platte aufgezeichnet. Die Funktion kann von der
optischen Platte ausgelesen, über
das optische Plattenlaufwerk 26 in dem Hauptspeicher 14 gespeichert und
ausgeführt
werden, indem man sie von einer bestimmten seiner Adressen aus ablaufen
läßt.
-
Im
folgenden werden einige Ausführungsbeispiele
der Objektgruppen-Plottereinrichtung beschrieben.
-
Eine
Objektgruppen-Plottereinrichtung 200A (siehe 12)
nach einem ersten Ausführungsbeispiel
der Erfindung erzeugt mehrere Texturbilder eines einzelnen Objekts,
so wie dieses von verschiedenen Betrachtungspunkten aus gesehen
wird, führt beim
Plotten mehrerer identischer Objekte an denjenigen Objekten, die
einem vorgegebenen Entscheidungskriterium entsprechend detailliert
geplottet werden sollen, einen normalen Rendering-Prozeß durch, wählt dann
in Abhängigkeit
von der zu plottenden Richtung ein Texturbild aus den erzeugten
Texturbildern aus und benutzt das ausgewählte Texturbild für diejenigen
Objekte, die einfach geplottet werden sollen.
-
Im
folgenden wird die Verarbeitung von Objekten näher erläutert, die einfach geplottet
werden sollen. Wie 1 und 3 zeigen,
geht man von einer Szene aus, in der eine Anzahl von Automobilen auf
einer Fahrspur 102 einer Schnellstraße 100 in einem Verkehrsstau
stehen, während
Automobile auf einer anderen Fahrspur 104 glatt fahren.
Bevor wirkliche Objekte, d.h. Automobile, geplottet werden, werden
im voraus Objekte, so wie sie von verschiedenen Betrachtungspunkten
aus gesehen und in einer Textur ausgedrückt werden, vorbereitet. Im
folgenden wird ein solcher Objektbearbeitungsprozeß (erster
Prozeß)
beschrieben.
- (1) Wie in 4 dargestellt,
werden z.B. Objekte OB geplottet, die ein als Automobil gestaltetes Objekt
OB repräsentieren,
wie es von beliebigen Betrachtungspunkten a bis h aus umfassend
gesehen wird.
- (2) Die geplotteten Bilder werden als Texturbilder gesichert.
Wie 5 zeigt, werden die Texturbilder (TGa bis TGh),
so wie sie von den erzeugten Betrachtungspunkten a bis h aus gesehen
werden, in dem Texturbereich 34a gespeichert. Die Texturbilder
TGe, TGf, TGg sind aus der Darstellung von 5 weggelassen.
-
Für das tatsächliche
Plotten einer Anzahl von Objekten, werden, wie in 6 dargestellt,
aus den beliebigen bei der Erzeugung der Texturbilder benutzten
Betrachtungspunkten, (die als "Ersatz-Betrachtungspunkten
a bis h" bezeichnet
sind) solche Ersatz-Betrachtungspunkte ausgewählt, die in der Nähe der tatsächlichen
Betrachtungspunkten A bis I liegen, von denen aus die Objekte tatsächlich geplottet
werden sollen, wobei als Textur zum Plotten der Objekte Texturbilder
benutzt werden, die den ausgewählten
Betrachtungspunkten entsprechen.
-
In 6 wird
der Ersatz-Betrachtungspunkt a ausgewählt, der den tatsächlichen
Betrachtungspunkten C bis E entspricht, der Ersatz-Betrachtungspunkt
b wird ausgewählt,
der dem tatsächlichen
Betrachtungspunkt F entspricht, der Ersatz-Betrachtungspunkt c wird
ausgewählt,
der den tatsächlichen Betrachtungspunkten
G bis I entspricht, der Ersatz-Betrachtungspunkt h wird ausgewählt, der
dem tatsächlichen
Betrachtungspunkt B entspricht, und der Ersatz-Betrachtungspunkt
g wird ausgewählt,
der dem tatsächlichen
Betrachtungspunkt A entspricht.
-
Im
folgenden wird ein weiterer Objektverarbeitungsprozeß (zweiter
Prozeß)
beschrieben.
- (1) Wie in 7 dargestellt,
werden z.B. Objekte OB geplottet, die ein als Automobil gestaltetes Objekt
OB repräsentieren,
wie dieses von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten
i bis m) aus gesehen wird, die aus einer Mehrzahl von Betrachtungspunkten
J bis S ausgewählt
werden, die bei dem tatsächlichen
Plotten der Objekte benutzt werden. Als Ersatz-Betrachtungspunkte
i bis m können
aus den bei dem tatsächlichen
Plotten der Objekte benutzten Betrachtungspunkten J bis S neue typische
Ersatz-Betrachtungspunkte generiert werden.
- (2) Die geplotteten Bilder werden als Texturbilder gesichert.
Wie 8 zeigt, werden die Texturbilder (TGi bis TGm),
so wie sie von den erzeugten Betrachtungspunkten i bis m aus gesehen
werden, in dem Texturbereich 34a gespeichert.
-
Für das tatsächliche
Plotten einer Anzahl von Objekten werden, wie in 9 dargestellt,
aus den bei der Erzeugung der Texturbilder benutzten Ersatz-Betrachtungspunkten
i bis m solche Ersatz-Betrachtungspunkte ausgewählt, die in der Nähe der tatsächlichen
Betrachtungspunkte J bis S liegen, von denen aus die Objekte tatsächlich geplottet
werden sollen, wobei als Textur für das Plotten der Objekte Texturbilder
benutzt werden, die den ausgewählten Betrachtungspunkten
entsprechen.
-
In 9 wird
der Ersatz-Betrachtungspunkt i ausgewählt, der den tatsächlichen
Betrachtungspunkten J, K entspricht, der Ersatz-Betrachtungspunkt
j wird ausgewählt,
der dem tatsächlichen
Betrachtungspunkt L entspricht, der Ersatz-Betrachtungspunkt k wird
ausgewählt,
der den tatsächlichen Betrachtungspunkten
M bis O entspricht, der Betrachtungspunkt I wird ausgewählt, der
dem tatsächlichen
Betrachtungspunkt P entspricht, und der Ersatz-Betrachtungspunkt
m wird ausgewählt,
der den tatsächlichen
Betrachtungspunkten Q bis S entspricht.
-
Falls
ein Objekt als provisorisches Objekt definiert wird, bevor darauf
eine Textur appliziert wird, wird ein Objekt als das provisorische
Objekt benutzt, das zwei dreieckige Polygone P1, P2 umfaßt, wie dies
in 10 dargestellt ist.
-
In 9 wird
angenommen, daß für die tatsächlichen
Betrachtungspunkte M, N, O der Ersatz-Betrachtungspunkt k ausgewählt ist.
Falls, wie in 11A dargestellt, ein provisorisches
Objekt OK, wie es von dem Ersatz-Betrachtungspunkt
k aus gesehen wird, parallel zur xy-Ebene positioniert ist, wird ein
provisorisches Objekt OM, das für das Plotten
eines Objekts benutzt wird, wie es von dem tatsächlichen Betrachtungspunkt
M aus gesehen wird, so angeordnet, daß der Abstand und/oder der
Winkel zwischen dem tatsächlichen
Betrachtungspunkt M und dem Ersatz-Betrachtungspunkt k eliminiert
werden.
-
In ähnlicher
Weise wird, wie in 11B und 11C dargestellt,
ein provisorisches Objekt OO, das zum Plotten
eines Objekts benutzt wird, wie es von dem tatsächlichen Betrachtungspunkt
O aus gesehen wird, so angeordnet, daß der Abstand und/oder der
Winkel zwischen dem tatsächlichen
Betrachtungspunkt O und dem Ersatz-Betrachtungspunkt k eliminiert
werden. Ein provisorisches Objekt ON, das
zum Plotten eines Objekts benutzt wird, wie es von dem tatsächlichen
Betrachtungspunkt N aus gesehen wird, wird, wie in 11C dargestellt, so angeordnet, daß der Abstand
und/oder der Winkel zwischen dem tatsächlichen Betrachtungspunkt
N und dem Ersatz-Betrachtungspunkt k eliminiert werden.
-
Auf
die in dieser Weise angeordneten provisorischen Objekte OM, OO, ON wird
das Texturbild in dem ausgewählten
Ersatz-Betrachtungspunkt k abgebildet, und so werden diese Objekte
geplottet. Auf diese Weise können
die Objekte, so wie sie aus der Nähe der tatsächlichen Betrachtungspunkte
gesehen werden, durch einfache Berechnungen geplottet werden.
-
Entscheidungskriterien
darüber,
ob ein Objekt detailliert oder einfach geplottet werden soll, können auf
der Basis gewonnen werden, ob der Abstand von dem Betrachtungspunkt
zu dem Objekt unter einem vorbestimmten Abstand liegt, ob die Größe des Objekts
auf dem Anzeigebildschirm über
einer vorbestimmten Größe liegt,
ob die Bewegung des Objekts einen bestimmten Bereich überschreitet
und ob das Objekt für
visuelle Effekte wichtig ist.
-
Falls
das Entscheidungskriterium darauf basiert, ob die Bewegung des Objekts
einen bestimmten Bereich überschreitet,
ist ein Automobil, das, wie in 2 dargestellt,
auf der anderen Fahrbahn 104 fährt, ein Objekt, das detailliert
geplottet werden sollte, während
eine Anzahl von Automobilen, die sich auf der Fahrbahn 102 stauen,
Objekte sind, die einfach geplottet werden sollten.
-
Falls
das Entscheidungskriterium darauf basiert, ob der Abstand von dem
Betrachtungspunkt zu dem Objekt unter einem vorbestimmten Abstand liegt,
sind, wie in 3 dargestellt, Automobile, die auf
dem Anzeigebildschirm näher
an dem Betrachter dargestellt werden, d.h. Automobile im Bereich
A, Objekte, die detailliert geplottet werden sollten, während Automobile,
die auf dem Anzeigebildschirm von dem Betrachter weg angezeigt werden,
d.h. Automobile in dem Bereich B, Objekte sind, die einfach geplottet
werden sollten.
-
Im
folgenden werden einige spezifische Mittel (Objektgruppen-Plottereinrichtung)
zur Ausführung
des oben erwähnten
ersten und zweiten Prozesses beschrieben.
-
Die
Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel
der Erfindung ermöglicht
es dem Benutzer, manuell einzugreifen und Texturbilder mit Hilfe
von CAD praktisch zu generieren, wobei die generierten Texturbilder
auf einem Anzeigemonitor mit einer (weiter unten beschriebenen)
Bild-Plottereinrichtung angezeigt werden.
-
In
dem in 12 dargestellten Schritt S11 generiert
die Objektgruppen-Plottereinrichtung 200A mittels CAD oder
dgl. Bilder eines Objekts, wie sie von beliebigen Betrachtungspunkten
aus gesehen werden, wenn das Objekt umfassend gesehen wird.
-
Alternativ
generiert die Objektgruppen-Plottereinrichtung 200A in
dem Schritt S12 mittels CAD oder dgl. Bilder eines Objekts, wie
sie von mehreren Betrachtungspunkten aus gesehen werden, die aus tatsächlich benutzten
Betrachtungspunkten ausgewählt
sind.
-
In
dem Schritt S2 schreibt die Objektgruppen-Plottereinrichtung 200A anschließend die
generierten Bilder (Texturbilder) in den Texturbereich 34a des
Bildespeichers 34 ein.
-
In
dem Schritt S3 generiert die Objektgruppen-Plottereinrichtung 200A eine
Tabelle, die die Verknüpfung
zwischen Betrachtungspunkten und Koordinaten (Satzkoordinaten) repräsentiert,
die in den Texturbereich 34a eingeschrieben werden, d.h.
eine Texturinformationstabelle 202 (siehe 13).
-
Die
Betrachtungspunkte werden als in Bewegungskoordinaten des Objekts
umgewandelte Daten gespeichert. Das Objekt wird bewegt, während jeder der
Betrachtungspunkte als eine Referenzposition fixiert wird, so daß das Objekt
so wie von dem gegenwärtigen
Betrachtungspunkt aus gesehen wird. Die Bewegungskoordinaten des
Objekts in diesem Zeitpunkt, d.h. Objektkoordinaten, die sich bewegt
haben, insbesondere Winkelverschiebungsdaten θx, θy, θz, werden bestimmt.
-
Wie 13 zeigt,
speichert die Texturinformationstabelle 202 in dem Texturbereich 34a mehrere
Datensätze
0, 1, 2, ..., die jeweils Satzkoordinaten umfassen, an denen ein
Texturbild geplottet wird, sowie die Bewegungskoordinaten des Objekts,
insbesondere die Winkelverschiebungsdaten θx, θy, θz.
-
Anhand
von 14 bis 25 wird
eine Bild-Plottereinrichtung 204 in der Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungsbeispiel
beschrieben.
-
Wie 14 zeigt,
umfaßt
die Bild-Plottereinrichtung 204 eine Animations-Verarbeitungseinrichtung 208,
die mit einer bestimmten Anwendungssoftware betreibbar ist, um in
einer Bewegungsinformationstabelle 206 gespeicherte Daten
sukzessiv zu aktualisieren und die Objekte entsprechend einer vorbestimmten
Frequenz zu bewegen, ferner eine Koordinaten-Leseeinrichtung 210 zum sukzessiven
Auslesen von Bewegungskoordinaten aus der Bewegungsinformationstabelle 206,
eine Plotter-Auswahleinrichtung 212, die entscheidet, ob
die einzelnen Objekte mit einem normalen detaillierten Rendering-Prozeß geplottet
werden sollen oder mit einem einfacheren Textur-Applizierungsprozeß, die auf
der Basis eines vorgegebenen Entscheidungskriteriums ausgewählt werden,
und die die einzelnen Objekte entsprechend dem jeweils ausgewählten Prozeß plottet,
ferner eine Verarbeitungsabschluß-Prüfeinrichtung 214,
welche feststellt, ob der Prozeß für alle Objekte
abgeschlossen wurde oder nicht, eine Bildanzeige-Verarbeitungseinrichtung 216 zum
Anzeigen einer Gruppe von in dem Bildspeicher 34 gerenderten
Objekten auf der Anzeigeeinheit 16 und eine Ende-Prüfeinrichtung 218,
welche feststellt, ob eine Anforderung zur Beendigung des Vorgangs
vorliegt oder nicht.
-
Wie 15 zeigt,
besitzt die Plotter-Auswahleinrichtung 212 eine Tabellen-Leseeinrichtung 232 für das Auslesen
der Information eines Objekts aus einer Objektinformationstabelle 230,
eine Einrichtung 234 zum Festlegen des detaillierten/einfachen
Prozesses, die bestimmt, ob das Objekt dem normalen detaillierten
Rendering-Prozeß oder
dem einfacheren Textur-Applizierungsprozeß unterzogen werden soll, ferner
eine detaillierte Rendering-Einrichtung 236 zum Plotten
des Objekts entsprechend dem normalen detaillierten Rendering-Prozeß und eine
einfache Rendering-Einrichtung 238 zum Plotten des Objekts
nach dem einfacheren Textur-Applizierungsprozeß.
-
Wie 16 zeigt,
umfaßt
die detaillierte Rendering-Einrichtung 236 eine Datei-Leseeinrichtung 252 zum
Auslesen einer detaillierten Objektdatei 250, eine Eckpunktkoordinaten-Berechnungseinrichtung 254 zum
Berechnen der Eckpunktkoordinaten von Polygonen auf der Basis der
laufenden Bewegungskoordinaten, eine Rendering-Einrichtung 256 zur
Durchführung
des normalen Rendering-Prozesses, einschließlich der Texturdarstellung
und der Beseitigung von verborgenen Flächen an dem Polygon und eine
Verarbeitungsabschluß-Prüfeinrichtung 258,
welche feststellt, ob der Rendering-Prozeß für alle Polygone abgeschlossen
wurde.
-
Wie 17 zeigt,
besitzt die einfache Rendering-Einrichtung 238 eine Satzkoordinaten-Leseeinrichtung 270 zum
Auswählen
eines den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlichen
Datensatzes aus den in der Texturinformationstabelle 202 registrierten
Bewegungskoordinaten (Winkelverschiebungsdaten) und zum Auslesen
der Satzkoordinaten aus dem ausgewählten Datensatz, ferner eine
Datei-Leseeinrichtung 274 zum Auslesen einer einfachen
Objektdatei 272, eine Eckpunktkoordinaten-Berechnungseinrichtung 276 zum Berechnen
von Eckpunktkoordinaten von Polygonen auf der Basis der laufenden
Bewegungskoordinaten, eine Textur-Applizierungseinrichtung zum Applizieren
der in den Satzkoordinaten geplotteten Textur an den Polygonen in
einem vergrößerten oder
verkleinerten Maßstab
in Abhängigkeit
von den Anzeigebereichen der Polygone sowie eine Einrichtung 280 zum
Beseitigen von verborgenen Flächen,
die verborgene Flächen
beseitigt.
-
Anhand
von 18 bis 21 werden
Einzelheiten der verschiedenen Tabellen und Dateien beschrieben.
-
Wie 18 zeigt,
speichert die Objektinformationstabelle 230 die Informationen,
die für
jedes Objekt benötigt
werden, d.h. die Zahl der Polygone und Referenzkoordinaten. Die
Refe renzkoordinaten umfassen xyz-Koordinaten (x, y, z) im Zentrum (Schwerpunkt)
des Objekts und Winkelverschiebungen (θx, θy, θz) um die betreffenden Achsen.
Die Anfangswerte der Winkelverschiebungen (θx, θy, θz) sind (θx, θy, θz) = (0, 0, 0).
-
Wie 19 zeigt,
speichert die detaillierte Objektdatei 250 die Eckpunktkoordinaten
einer Anzahl von Polygonen, die ein normales Objekt bilden. Die
Eckpunktkoordinaten basieren auf den Referenzkoordinaten des normalen
Objekts.
-
Wie 20 zeigt,
speichert die einfache Objektdatei 272 die Eckpunktkoordinaten
mehrerer (1 bis 6) Polygone, die ein einfaches Objekt bilden. Die Eckpunktkoordinaten
basieren auf den Referenzkoordinaten des einfachen Objekts. Ein
Objekt, das aus mehreren in der einfachen Objektdatei 272 gespeicherten
Polygonen besteht, kann als provisorisches Objekt definiert werden.
-
Wie 21 zeigt,
speichert die Bewegungsinformationstabelle 206, die von
der Animations-Verarbeitungseinrichtung 208 erzeugt
wird, Bewegungskoordinaten der einzelnen Objekte. Die Bewegungskoordinaten
sind dafür
repräsentativ,
um wieviel jedes Objekt gegenüber
seinen Referenzkoordinaten verschoben und/oder gedreht werden soll.
Es ist möglich,
aus den Referenzkoordinaten und den Bewegungskoordinaten des Objekts
und den Eckpunktkoordinaten des Polygons neue Eckpunktkoordinaten
eines Polygons zu berechnen, nachdem dieses verschoben und/oder
gedreht wurde.
-
Die
Animations-Verarbeitungseinrichtung 208 in der Bild-Plottereinrichtung 204 aktualisiert
in dem Schritt S101 von 22 sukzessiv
die Daten der Bewegungsinformationstabelle 206 entsprechend
einer vorbestimmten Sequenz, um ein Objekt zu bewegen.
-
In
dem Schritt S102 speichert die Bild-Plottereinrichtung 204 dann
einen Anfangswert "0" in einem Index-Register
i zum Suchen eines Objekts und initialisiert so das Index-Register
i.
-
In
dem Schritt S103 liest die Koordinaten-Leseeinrichtung 210 die
laufenden Bewegungskoordinaten eines i-ten Objekts aus der Bewegungsinformationstabelle 206 aus.
Anschließend
führt die
Plotter-Auswahleinrichtung 212 in dem Schritt S104 deren
Verarbeitung durch, d.h. sie entscheidet, ob die einzelnen Objekte
dem normalen detaillierten Rendering-Prozeß oder dem einfacheren Textur-Applizierungsprozeß unterzogen
werden sollen, und plottet dem jeweils ausgewählten Prozeß entsprechend einzelne Objekte.
Der Prozeß der
Plotter-Auswahleinrichtung 212 wird weiter unten beschrieben.
-
In
dem Schritt S105 inkrementiert die Bild-Plottereinrichtung 204 das
Index-Register i um +1. In dem Schritt S106 ermittelt die Verarbeitungsabschluß-Prüfeinrichtung 214 auf
der Grundlage, ob der Wert des Index-Registers i gleich oder größer ist als
die Zahl N der in der Objektinformationstabelle 230 registrierten
Objekte, ob der Prozeß für alle Objekte
abgeschlossen wurde oder nicht.
-
Falls
der Prozeß noch
nicht für
alle Objekte abgeschlossen wurde, geht die Steuerung zurück zu dem
Schritt S103, um zu entscheiden, ob ein nächstes Objekt nach dem normalen
detaillierten Rendering-Prozeß oder
dem einfacheren Textur-Applizierungsprozeß geplottet werden soll, und
plottet jedes Objekt entsprechend dem ausgewählten Prozeß.
-
Falls
der Prozeß für alle Objekte
abgeschlossen wurde, geht die Steuerung weiter zu dem Schritt S107,
in dem die Bildanzeige-Verarbeitungseinrichtung 216 eine
Gruppe von in dem Rendering-Bereich 34b des Bildespeichers 34 gerenderten
Objekten auf der Anzeigeeinheit 16 anzeigt.
-
In
dem Schritt S108 prüft
die Ende-Prüfeinrichtung 218,
ob eine Ende-Anforderung zur Beendigung der Verarbeitung in der
Bild-Plottereinrichtung 204 vorliegt oder nicht. Falls
keine Ende-Anforderung vorliegt, kehrt die Steuerung zu dem Schritt
S101 zurück,
um ein Objekt auf der Basis der von der Animations-Verarbeitungseinrichtung 208 aktualisierten
Bewegungskoordinaten selektiv zu plotten. Falls eine Ende-Anforderung
vorliegt, wird die Verarbeitung in der Bild-Plottereinrichtung 204 beendet.
-
Anhand
von 23 wird nun die Verarbeitungssequenz der Plotter-Auswahleinrichtung 212 beschrieben.
-
In
dem Schritt S201 liest die Tabellen-Leseeinrichtung 232 die
Information eines i-ten Objekts aus der Objektinformationstabelle 230 aus.
-
In
dem Schritt S202 legt die Einrichtung 234 zum Festlegen
des detaillierten/einfachen Prozesses auf der Basis der in der ausgelesenen
Objektinformationstabelle 230 registrierten Information über das detaillierte
Plotten fest, ob das Objekt dem normalen detaillierten Rendering-Prozeß oder der
einfacheren Textur-Applizierungsprozeß unterzogen werden soll.
-
Falls
für das
Objekt aufgrund vonn visuellen Effekte oder dgl. detailliertes Plotten
erforderlich ist, wird die Information über das erforderliche detaillierte Plotten
in der Objektinformationstabelle 230 registriert.
-
Wenn
die registrierte Information eine positive Angabe über detailliertes
Plotten bezüglich
des Objekts enthält,
geht die Steuerung weiter zu dem Schritt S203, in dem die detaillierte Rendering-Einrichtung 236 einen
detaillierten Rendering-Prozeß durchführt. Spezielle
Einzelheiten des detaillierten Rendering-Prozesses werden weiter
unten beschrieben.
-
Falls
die registrierte Information keine positive Angabe über detailliertes
Plotten bezüglich
des Objekts enthält,
geht die Steuerung weiter zu dem Schritt S204, in dem die Einrichtung 234 zum
Festlegen des detaillierten/einfachen Prozesses eine Z-Koordinate
der laufenden Bewegungskoordinaten ausliest. Die Einrichtung 234 zum
Festlegen des detaillierten/einfachen Prozesses prüft dann
in dem Schritt S205 auf der Grundlage, ob die Z-Koordinate kleiner ist
als eine vorgegebene Koordinate oder nicht, ob das Objekt sich in
geringem Abstand befindet oder nicht.
-
Falls
sich das Objekt in geringem Abstand befindet, führt die detaillierte Rendering-Einrichtung 236 in
dem Schritt S206 den detaillierten Rendering-Prozeß aus. Falls
das Objekt sich in großem
Abstand befindet, geht die Steuerung weiter zu dem Schritt S207.
-
In
dem Schritt S207 liest die Einrichtung 234 zum Festlegen
des detaillierten/einfachen Prozesses Koordinaten des i-ten Objekts
aus. In dem Schritt S208 vergleicht die Einrichtung 234 zum
Festlegen des detaillierten/einfachen Prozesses die früheren Bewegungskoordinaten
mit den laufenden Bewegungskoordinaten. In dem Schritt S209 prüft die Einrichtung 234 zum
Festlegen des detaillierten/einfachen Prozesses, ob die Größe der Bewegung
des Objekts gleich oder größer ist
als ein vorbestimmter Bereich oder nicht.
-
Falls
die Größe der Bewegung
des Objekts gleich oder größer ist
als der vorbestimmte Bereich, d.h. wenn die Bewegung des Objekts
groß ist,
führt die
detaillierte Rendering-Einrichtung 236 in dem Schritt S210
den detaillierten Rendering-Prozeß aus. Falls die Bewegung des
Objekts kleiner ist oder das Objekt in Ruhe gehalten wird, führt die
einfache Rendering-Einrichtung 238 in
dem Schritt S211 den einfacheren Textur-Applizierungsprozeß aus.
-
Wenn
der detaillierte Rendering-Prozeß in dem Schritt S203, dem
Schritt S206 oder dem Schritt S210 beendet ist oder wenn in dem
Schritt S211 der einfachere Textur-Applizierungsprozeß beendet
ist, wird die Verarbeitungssequenz der Plotter-Auswahleinrichtung 212 beendet.
-
Anhand
von 24 wird eine Verarbeitungssequenz der detaillierten
Rendering-Einrichtung 236, d.h. der detaillierte Rendering-Prozeß, beschrieben.
-
In
dem Schritt S301 liest die Datei-Leseeinrichtung 252 die
detaillierte Objektdatei 250 aus. Anschließend speichert
die detaillierte Rendering-Einrichtung 236 in dem Schritt
S302 den Wert "0" in einem Index-Register
j zum Suchen eines Polygons.
-
In
dem Schritt S303 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 254 Eckpunktkoordinaten
eines j-ten Polygons auf der Basis der laufenden Bewegungskoordinaten.
Anschließend führt die
Rendering-Einrichtung 256 an dem j-ten Polygon den normalen
Rendering-Prozeß aus,
einschließlich
der Texturdarstellung und Beseitigung verborgener Flächen, und
rendert in dem Schritt S304 das Polygon an einer vorbestimmten Stelle
des Rendering-Bereichs 34b in dem Bildspeicher 34.
-
In
dem Schritt S305 inkrementiert die detaillierte Rendering-Einrichtung 236 dann
das Index-Register
j um +1. In dem Schritt S306 prüft
die Verarbeitungsabschluß-Prüfeinrichtung 258 auf
der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist
als die Zahl M der in dem Objekt enthaltenen Polygone, ob der Prozeß für alle Objekte
abgeschlossen wurde oder nicht.
-
Falls
der Prozeß noch
nicht für
alle Polygone abgeschlossen wurde, kehrt die Steuerung zu dem Schritt
S303 zurück,
um Eckpunktkoordinaten eines nächsten
Polygons zu berechnen, und führt
an dem nächsten
Polygon den normalen Rendering-Prozeß aus. Falls der Prozeß für alle Polygone
abgeschlossen wurde, wird die Verarbeitungssequenz der detaillierten
Rendering-Einrichtung 236 beendet.
-
Anhand
von 25 wird nun eine Verarbeitungssequenz der einfachen
Rendering-Einrichtung 238, d.h. der einfache Rendering-Prozeß, beschrieben.
-
In
dem Schritt S401 wählt
die Satzkoordinaten-Leseeinrichtung 270 aus den in der
Texturinformationstabelle 202 registrierten Bewegungskoordinaten
(Winkelverschiebungsdaten) einen Datensatz aus, der den laufenden
Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlich ist, und liest die Satzkoordinaten
aus dem ausgewählten
Datensatz aus.
-
In
dem Schritt S402 liest die Datei-Leseeinrichtung 274 die
einfache Objektdatei 272 aus. Anschließend berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 276 auf
der Basis der laufenden Bewegungskoordinaten Eckpunktdaten aller
Polygone, die in der einfachen Objektdatei 272 registriert
sind.
-
In
dem Schritt S204 appliziert die Textur-Appliziereinrichtung 278 das
Texturbild, das an den Satzkoordinaten in dem Texturbereich 34a des
Bildespeichers 34 geplottet ist, an den Polygonen in einem von
den Anzeigebereichen der Polygone abhängigen vergrößerten oder
verkleinerten Maßstab
(Rendering der Polygone in dem Rendering-Bereich 34b).
-
Anschließend entfernt
die Einrichtung 280 zum Beseitigen von verborgenen Flächen in
dem Schritt S405 verborgene Flächen.
Die Verarbeitungssequenz der einfachen Rendering-Einrichtung 238 wird
nun beendet.
-
Wie
oben beschrieben wurde, gibt der Benutzer mit Hilfe der Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungsbeispiel
mehrere Texturbilder eines Objekts manuell ein, so wie dieses von
verschiedenen Betrachtungspunkten aus gesehen wird.
-
Wenn
die Bild-Plottereinrichtung 204 anschließend mehrere
identische Objekte plotten soll, führt die detaillierte Rendering-Einrichtung 236 in
der Plotter-Auswahleinrichtung 212 an denjenigen Objekten,
die dem vorgebenenen Entscheidungskriterium entsprechend detailliert
geplottet werden sollen, den normalen Rendering-Prozeß durch,
und die einfache Rendering-Einrichtung 238 wählt aus
den erzeugten Texturbildern ein von der zu plottenden Richtung abhängiges Texturbild
aus und appliziert das Texturbild an denjenigen Objekten, die nach
Maßgabe
des vorgegebenen Entscheidungskriteriums in der Plotter-Auswahleinrichtung 212 einfach
geplottet werden soll.
-
Infolgedessen
führt die
Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel
an bestimmten Exemplaren aus einer Anzahl von Objekten, d.h. an
visuell attraktiven Objekten, bewegten Objekten, nahen Objekten
usw. den detaillierten Rendering-Prozeß durch,
während
sie an anderen Objekten einfach eine Textur appliziert, so daß die für die Durchführung von
Berechnungen und zum Plotten der Objekte erforderliche Zeit erheblich
reduziert wird und die Objekte mit hoher Qualität geplottet werden können.
-
Der
von der Plotter-Auswahleinrichtung 212 durchgeführte Entscheidungsprozeß kann folgendermaßen modifiziert
werden:
- (1) Der detaillierte Rendering-Prozeß wird nur
an solchen Objekten durchgeführt,
für die
eine positive Angabe über
detailliertes Plotten in der Objektinformationstabelle 230 registriert
ist.
- (2) Der detaillierte Rendering-Prozeß wird an solchen Objekten
durchgeführt,
für die
eine positive Angabe über
detailliertes Plotten in der Objektinformationstabelle 230 registriert
ist, oder an denjenigen Objekte, deren Bewegung groß ist.
- (3) Der detaillierte Rendering-Prozeß wird an solchen Objekten
durchgeführt,
für die
eine positive Angabe über
detailliertes Plotten in der Objektinformationstabelle 230 registriert
ist, oder an denjenigen Objekten, die sich in geringem Abstand befinden
oder an denjenigen Objekten, deren Bewegung groß ist.
- (4) Der detaillierte Rendering-Prozeß wird an solchen Objekten
durchgeführt,
für die
eine positive Angabe über
detailliertes Plotten in der Objektinformationstabelle 230 registriert
ist, oder solchen Objekten, die sich in geringem Abstand befinden.
- (5) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten
durchgeführt,
deren Bewegung groß ist.
- (6) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten
durchgeführt,
die sich in geringem Abstand befinden oder solchen Objekten, deren
Bewegung groß ist.
- (7) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten
durchgeführt,
die sich in geringem Abstand befinden.
-
Im
folgenden wird anhand von 26 und 27 eine
Objektgruppen-Plottereinrichtung 200B nach einem zweiten
Ausführungsbeispiel
der Erfindung beschrieben.
-
Die
Objektgruppen-Plottereinrichtung 200B nach dem zweiten
Ausführungsbeispiel
hat im wesentlichen den gleichen Aufbau wie die Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungsbeispiel,
unterscheidet sich von diesem jedoch folgendermaßen in der Anordnung und der
Verarbeitungssequenz der einfachen Rendering-Einrichtung 238.
-
Wie 26 zeigt,
besitzt die einfache Rendering-Einrichtung 238 eine Satzkoordinaten-Leseeinrichtung 290 zum
Auswählen
von vorangehenden und zurückliegende
Datensätzen
aus den in der Texturinformationstabelle 202 registrierten
Bewegungsdaten (Winkelverschiebungsdaten), die den laufenden Bewegungskoordinaten
(Winkelverschiebungsdaten) ähnlich
sind, und zum Auslesen zweier Satzkoordinaten aus dem ausgewählten Datensatz,
ferner eine Korrektureinrichtung 292 zur Durchführung eines
Interpolationsprozesses auf der Basis der laufenden Bewegungskoordinaten
und zur Erzeugung einer korrigierten Textur, die an die laufenden
Koordinaten angepaßt
ist, ferner die Datei-Leseeinrichtung 274 zum Auslesen
der einfachen Objektdatei 272, die Eckpunktkoordinaten-Berechnungseinrichtung 276 zum
Berechnen der Eckpunktkoordinaten von Polygonen auf der Basis der
laufenden Bewegungskoordinaten, die Textur-Appliziereinrichtung 278 zum
Applizieren der korrigierten Textur an den Polygonen in einem von
den Anzeigebereichen der Polygone abhängigen vergrößerten oder
verkleinerten Maßstab sowie
die Einrichtung 280 zum Beseitigen von verborgenen Flächen, die
verborgene Flächen
beseitigt.
-
Anhand
von 27 wird eine Verarbeitungssequenz, d.h. der einfache
Rendering-Prozeß,
der in 26 dargestellten einfachen Rendering-Einrichtung 238,
beschrieben.
-
In
dem Schritt S501 wählt
die Satzkoordinaten-Leseeinrichtung 290 vorangehende und
zurückliegende
Datensätze
aus den in der Texturinformationstabelle 202 registrierten
Bewegungskoordinaten (Winkelverschiebungsdaten) aus, die den laufenden Bewegungskoordinaten
(Winkelverschiebungsdaten) ähnlich
sind, und liest die Satzkoordinaten aus dem ausgewählten Datensatz
aus.
-
In
dem Schritt S502 interpoliert die Korrektureinrichtung 292 die
beiden an den Satzkoordinaten geplotteten Texturen auf der Basis
der laufenden Bewegungskoordinaten und erzeugt korrigierte Texturen,
die zu den laufenden Bewegungskoordinaten passen.
-
In
dem Schritt S503 liest die Datei-Leseeinrichtung 274 die
einfache Objektdatei 272 aus. Anschließend berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 276 in
dem Schritt S504 auf der Basis der laufenden Bewegungskoordinaten
Eckpunktkoordinaten von Polygonen.
-
In
dem Schritt S505 appliziert die Textur-Appliziereinrichtung 278 die
korrigierten Texturen an den Polygonen in einem von den Anzeigebereichen der
Polygone abhängigen
vergrößerten oder
verkleinerten Maßstab
(Rendern der Polygone in dem Rendering-Bereich 34b).
-
Anschließend führt die
Einrichtung 280 zum Beseitigen von verborgenen Flächen in
dem Schritt S506 die Beseitigung verborgener Flächen durch. Die Verarbeitungssequenz
der einfachen Rendering-Einrichtung 238 wird nun beendet.
-
Wie
oben beschrieben wurde, interpoliert die Korrektureinrichtung 292 in
der Objektgruppen-Plottereinrichtung 200B nach dem zweiten
Ausführungsbeispiel
auf der Basis der laufenden Bewegungskoordinaten die zwei Texturen,
die den laufenden Bewegungskoordinaten ähnlich sind, und erzeugt korrigierte
Texturen, die an die laufenden Bewegungskoordinaten angepaßt sind.
Deshalb kann die Objektgruppen-Plottereinrichtung 200B Objekte angemessen
behandeln, die in verschiedenen Mustern dargestellt werden, und
bei der Darstellung einer Anzahl von Objekten, wie einem Fischschwarm,
natürliche
Bewegungen darstellen.
-
Anhand
von 28 bis 35 wird
eine Objektgruppen-Plottereinrichtung 200C nach einem dritten
Ausführungsbeispiel
der Erfindung beschrieben.
-
Die
Objektgruppen-Plottereinrichtung 200C nach dem dritten
Ausführungsbeispiel
hat im wesentlichen die gleiche Anordnung und führt im wesentlichen die gleiche
Verarbeitungssequenz aus wie die Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungs beispiel,
unterscheidet sich von dieser jedoch darin, daß erste Texturbilder automatisch
von einer Textureinstelleinrichtung 300 und nicht manuell
von dem Benutzer erzeugt werden. Die übrigen Mittel der Objektgruppen-Plottereinrichtung 200C,
d.h. die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212,
die detaillierte Rendering-Einrichtung 236 und die einfache
Rendering-Einrichtung 238 haben die gleiche Anordnung und
die gleiche Verarbeitungssequenz wie die Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungsbeispiel.
-
Anhand
von 28 bis 35 werden
die Anordnung und die Verarbeitungssequenz der Textureinstelleinrichtung 300 beschrieben.
-
Die
Textureinstelleinrichtung 300 benutzt eine Betrachtungspunktkoordinatentabelle 302.
Diese Betrachtungspunktkoordinatentabelle 302 ist, wie 29 zeigt,
eine Tabelle zur Gewinnung von Bildern eines Objekts, wie es von
einer Anzahl von Betrachtungspunkten aus gesehen wird, und speichert
die Koordinaten mehrerer, als repräsentative Betrachtungspunkte
ausgewählter
Betrachtungspunkte (Ersatz-Betrachtungspunkte).
-
Wie 28 zeigt,
umfaßt
die Textureinstelleinrichtung 300 eine Initialisierungseinrichtung 310 zum
Definieren der Anzahl der Betrachtungspunkte und der Referenz-Betrachtungspunktkoordinaten und
zum Initialisieren von Satzkoordinaten, ferner eine Bereichs-Reservierungseinrichtung 312 zum Reservieren
von zwei Bereichen, nämlich
eines Bereichs Z1 zum Plazieren von Texturen in Abhängigkeit
von mehreren Betrachtungspunkten und eines Bereich Z2 für die tatsächliche
Texturabbildung in dem Texturbereich 34a des Bildespeichers 34,
ferner eine Daten-Leseeinrichtung 314 zum Auslesen zumindest
der Anzahl der Polygone und der Referenzkoordinaten aus der Objektinformationstabelle 230 und
zum anschließenden
Auslesen der Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 sowie
eine Datei-Leseeinrichtung 316 zum Auslesen der detaillierten
Objektdatei 250.
-
Die
Textureinstelleinrichtung 300 besitzt ferner eine Bewegungskoordinaten-Berechnungseinrichtung 318 zum
Bestimmen von Bewegungskoordinaten in Bezug auf die Referenzkoordinaten
eines Objekts, wenn Betrachtungspunktkoordinaten als Referenz benutzt
werden, ferner eine Eckpunktkoordinaten-Berechnungseinrichtung 320 zum
Berechnen von Eckpunktkoordinaten von Polygonen, die ein Objekt
bilden, auf der Basis der Bewegungskoordinaten, eine Rendering-Einrichtung 322 zur
Durchführung
eines Rendering-Prozesses, einschließlich der Texturdarstellung
und der Beseitigung von verborgenen Flächen an Polygonen (Rendering
in dem Rendering-Bereich 34b), eine Verarbeitungsabschluß-Prüfeinrichtung 324,
welche feststellt, ob die Abarbeitung einer Schleife beendet ist
oder nicht, eine Textur-Rendering-Einrichtung 326 zum
erneuten Rendern der Texturen in dem Rendering-Bereich 34b an
den Satzkoordinaten in dem Texturbereich Z1, eine Tabellenerzeugungseinrichtung 328 zum
Speichern von Satzkoordinaten und Bewegungskoordinaten in dem entsprechenden
Datensatz der Texturinformationstabelle 202 und eine Satzkoordinaten-Aktualisierungseinrichtung 330 zum
Aktualisieren von Satzkoordinaten.
-
Anhand
von 30 und 31 wird
eine Verarbeitungssequenz der Textureinstelleinrichtung 300 beschrieben.
-
In
dem Schritt S601 von 30 initialisiert die Initialisierungseinrichtung 310 verschiedene
Parameter.
-
Dann
reserviert die Bereichs-Reservierungseinrichtung 312 in
dem Schritt S602 zwei Bereiche, nämlich einen Bereich Z1 zum
Plazieren von Texturen in Abhängigkeit
von mehreren Betrachtungspunkten und einen Bereich Z2 für die tatsächliche Texturabbildung,
in dem Texturbereich 34a des Bildespeichers 34.
-
In
dem Schritt S603 liest die Daten-Leseeinrichtung 314 zumindest
die Zahl der Polygone und Referenzkoordinaten aus der Objektinformationstabelle 230 aus.
In dem Schritt S604 liest die Daten-Leseeinrichtung 316 dann
die detaillierte Objektdatei 250 aus.
-
In
dem Schritt S605 speichert die Textureinstelleinrichtung 300 einen
Anfangswert "0" in einem Index-Register
i, das zum Suchen eines Betrachtungspunktes benutzt wird, und initialisiert
dadurch das Index-Register i.
-
In
dem Schritt S606 liest die Daten-Leseeinrichtung 314 die
i-ten Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 aus.
Die Betrachtungspunktkoordinatentabelle 302 speichert Betrachtungspunkte,
einschließlich
beliebiger Betrachtungspunkte (Ersatz-Betrachtungspunkte), von denen
aus ein Objekt umfassend gesehen wird, und mehrere Betrachtungspunkte
(Ersatz-Betrachtungspunkte), die aus tatsächlich benutzten Betrachtungspunkten
ausgewählt
sind.
-
In
dem Schritt S607 bestimmt die Bewegungskoordinaten-Berechnungseinrichtung 318 Bewegungskoordinaten
relativ zu den Referenzkoordinaten eines Objekts, wenn Betrachtungspunktkoordinaten
als Referenz benutzt werden. Das Objekt bewegt sich, während die
einzelnen Betrachtungspunkte in einer Referenzposition fixiert sind,
so daß das Objekt
so gesehen wird, wie von dem laufenden Betrachtungspunkt aus. In
diesem Zeitpunkt werden die Bewegungskoordinaten des Objekts, d.h.
die Objektkoordinaten, die sich bewegt haben, insbesondere die Winkelverschiebungsdaten θx, θy, θz, festgelegt. Die
so festgelegten Be wegungskoordinaten werden als Bewegungskoordinaten
an den i-ten Betrachtungspunktkoordinaten, d.h. als i-te Bewegungskoordinaten,
definiert.
-
In
dem Schritt S608 speichert die Textureinstelleinrichtung 300 den
Wert "0" in einem Index-Register j zum Suchen
eines Polygons und initialisiert so das Index-Register j.
-
In
dem Schritt S609 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 320 auf
der Basis der i-ten Bewegungskoordinaten die Eckpunktkoordinaten
eines j-ten Polygons, das das Objekt bildet.
-
Anschließend führt die
Rendering-Einrichtung 322 an dem j-ten Polygon den normalen
Rendering-Prozeß aus,
einschließlich
der Texturdarstellung und der Beseitigung verborgener Flächen, und
rendert in dem Schritt S610 das Polygon in dem Rendering-Bereich 34b des
Bildespeichers 34.
-
In
dem Schritt S611 inkrementiert die Textureinstelleinrichtung 300 dann
das Index-Register j um +1. In dem Schritt S612 prüft die Verarbeitungsabschluß-Prüfeinrichtung 324 auf
der Grundlage, ob der Wert des Index-Registers j gleich oder größer als die
Zahl M der in dem Objekt enthaltenen Polygone, ob der Prozeß für alle Objekte
beendet wurde oder nicht.
-
Falls
der Prozeß noch
nicht für
alle Polygone beendet wurde, geht die Steuerung zurück zu dem Schritt
S609, um den Rendering-Prozeß an
einem nächsten
Polygon auszuführen.
Falls der Prozeß für alle Polygone
abgeschlossen wurde, geht die Steuerung weiter zu dem in 31 dargestellten
Schritt S613. In dem Schritt S613 rendert die Textur-Rendering-Einrichtung 326 erneut
die in dem Rendering-Bereich 34b gerenderten Texturbilder
an den Satzkoordinaten in dem Texturbereich Z1.
-
In
dem Schritt S614 erzeugt die Tabellenerzeugungseinrichtung 328 die
Texturinformationstabelle 202. Die Tabellenerzeugungseinrichtung 328 speichert
Satzkoordinaten und Bewegungskoordinaten, an denen die Textur gerendert
ist, in dem i-ten Datensatz in der Texturinformationstabelle 202.
-
In
dem Schritt S615 aktualisiert die Koordinaten-Aktualisierungseinrichtung 330 die
Satzkoordinaten. In dem Schritt S616 inkrementiert die Textureinstelleinrichtung 300 das
Indexregister i um +1. In dem Schritt S617 prüft die Verarbeitungsabschluß-Prüfeinrichtung 324 auf
der Grundlage, ob der Wert in dem Indexregister i gleich oder größer ist
als die Zahl der in der Betrachtungspunktkoordinatentabelle 302 registrierten
Betrachtungspunkte, ob der Textur-Rendering-Prozeß für alle in
der Betrachtungspunktkoordinatentabelle 302 registrierten
Betrachtungspunkte abgeschlossen wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Betrachtungspunkte abgeschlossen ist, geht die Steuerung zurück zu dem
Schritt S606 von 30, um den Textur-Rendering-Prozeß an einem nächsten Betrachtungspunkt
durchzuführen.
Falls der Textur-Rendering-Prozeß hingegen für alle Betrachtungspunkte
abgeschlossen wurde, wird die Verarbeitungssequenz der Textureinstelleinrichtung 300 beendet.
-
Da
in der Objektgruppen-Plottereinrichtung 200C nach dem dritten
Ausführungsbeispiel
die Textureinstelleinrichtung 300 Texturbilder automatisch generieren
kann, ist eine effiziente Erzeugung von Texturbildern möglich, so
daß Objekte
schnell korrigiert und hinzugefügt
werden können.
-
Bei
der Objektgruppen-Plottereinrichtung 200C nach dem dritten
Ausführungsbeispiel
kann, wie bei der Objektgruppen-Plottereinrichtung 200B nach
dem zweiten Ausführungsbeispiel
die Korrektureinrichtung 292 in der einfachen Rendering-Einrichtung 238 der
Bild-Plottereinrichtung 204 enthalten sein.
-
Bei
den obigen Ausführungsbeispielen
wurde davon ausgegangen, daß ein
Objekt aus einer einzigen Komponente besteht. Mehrere Plotter-Einheiten,
aus denen ein Objekt besteht, ändern
sich mit der Zeit jedoch zufällig
oder simultan, so daß sich
das Objekt selbst ändert.
-
Um
eine solche Situation zu beherrschen, werden gemäß vorliegender Erfindung mehrere
Texturbilder generiert, und zwar als Kombination aus denjenigen,
die bei der Betrachtung des Objekts von verschiedenen Betrachtungspunkten
aus erzeugt werden, und denjenigen, die dann erzeugt werden, wenn
das Objekt verschiedene Änderungen
erfährt. Zum
Plotten mehrerer identischer Objekte wird der normale Rendering-Prozeß an solchen
Objekten durchgeführt,
die einem vorgegebenen Entscheidungskriterium entsprechend detailliert
geplottet werden sollen, wobei aus den generierten Texturbildern in
Abhängigkeit
von der zu plottenden Richtung und Verformung ein Texturbild ausgewählt wird
und das ausgewählte
Texturbild als Textur für
diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
-
Es
wird davon ausgegangen, daß ein
Objekt ein einziges Hauptobjekt und ein oder mehrere Hilfsobjekte
aufweist, die an das Hauptobjekt, z.B. einen Fisch oder ein menschliches
Wesen, angefügt sind.
So hat z.B. ein Fisch einen Körper
als Hauptobjekt und eine Schwanzflosse als Hilfsobjekt, und ein menschliches
Wesen hat einen Torso als Hauptobjekt und einen Kopf und Beine und
Arme als Hilfsobjekte.
-
Wenn
ein Objekt ein einziges Hauptobjekt und ein oder mehrere an das
Hauptobjekt angefügte Hilfsobjekte
besitzt, müssen
Texturbilder von verschiedenen Betrachtungspunkten aus gesehen werden
und zusätzlich
müssen
Verformungen der Hilfsobjekte berücksichtigt werden.
-
Im
Idealfall müssen
Texturbilder vorbereitet werden, indem für einen Betrachtungspunkt verschiedene
Verformungen eines Hilfsobjekts angenommen wird. Die Erfüllung einer
solchen Forderung würde
jedoch eine große
Datenmenge involvieren. Deshalb werden für ein Hauptobjekt die Verarbeitungssequenzen
der Objektgruppen-Plottereinrichtungen 200A bis 200C nach
dem ersten bis dritten Ausführungsbeispiel
ausgeführt,
während
für ein Hilfsobjekt
ein repräsentatives
Verformungsmuster, d.h. ein sehr häufig auftretendes Verformungsmuster oder
ein visuell attraktives Verformungsmuster, gesucht und in ein Texturbild
gespiegelt wird.
-
32 zeigt
ein Beispiel für
repräsentative Texturbilder 402,
die für
das Plotten von Fischschwärmen 400 vorbereitet
sind. Die Texturbilder 402 umfassen Texturen von Hauptobjekten
(Körpern), wie
sie von beliebigen Betrachtungspunkten aus gesehen werden, in Kombination
mit verschiedenen Verformungsmustern von Hilfsobjekten (Schwanzflossen).
Für das
tatsächliche
Plotten von Objekten wird der normale Rendering-Prozeß an solchen
Objekten durchgeführt,
die detailliert geplottet werden sollen, während Texturbilder in der Nähe der Orientierung
der Hauptobjekte und der Verformung von Hilfsobjekten ausgewählt und
an solche Objekte angefügt
werden, die einfach geplottet werden sollen.
-
Im
folgenden werden Ausführungsbeispiele beschrieben,
bei denen ein Objekt aus einem Hauptobjekt und einem oder mehreren
Hilfsobjekten besteht.
-
Wenn
ein Objekt ein Hauptobjekt und ein oder mehrere an das Hauptobjekt
angefügte
Hilfsobjekte aufweist, erzeugt eine Objektgruppen-Plottereinrichtung 200D (36)
nach einem vierten Ausführungsbeispiel
der vorliegenden Erfindung mehrere Texturbilder, die eine Kombination
aus Bildern des Hauptobjekts, so wie dieses von verschiedenen Betrachtungspunkten
aus gesehen wird, und von Bildern der Hilfsobjekte umfassen, so
wie diese sich in verschiedene Richtungen bewegt haben, wobei zum Plotten
mehrerer identischer Objekte ein normaler Rendering-Prozeß an denjenigen
Objekten durchgeführt
wird, die einem vorgegebenen Entscheidungskriterium entsprechend
detailliert geplottet werden sollen, während in Abhängigkeit
von der zu plottenden Richtung und Verformung ein Texturbild aus
den generierten Texturbildern ausgewählt und das ausgewählte Texturbild
als Textur für
diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
-
Da
ein Objekt ein Hauptobjekt und ein oder mehrere Hilfsobjekte umfaßt, speichert
die Objektinformationstabelle 230 in der Objektgruppen-Plottereinrichtung 200D nach
dem vierten Ausführungsbeispiel,
wie in 33 dargestellt, die für jedes
Objekt benötigten
Informationen, d.h. die Zahl von Polygonen und Referenzkoordinaten
des Hauptobjekts, die Zahl C der Hilfsobjekte, die normalen Referenzkoordinaten
jedes Hilfsobjekts und die Zahlen N1 bis Nn der Polygone der Hilfsobjekte.
-
Die
normalen Referenzkoordinaten umfassen die xyz-Koordinaten (x, y,
z) der Verbindungsstelle des Hilfsobjekts zu dem Hauptobjekt, die
Winkelverschiebung θu
der Verbindungsstelle um die Normale und die Winkelverschiebungen θv, θw um die beiden
zur Normalen senkrechten Achsen. Die Anfangswerte der Winkelverschiebungen
(θu, θv, θw) sind
(θu, θv, θw) = (0,
0, 0).
-
Wie 34 zeigt,
speichert die detaillierte Objektdatei 250 die Eckpunktkoordinaten
einer Anzahl von Polygonen, die ein normales Hauptobjekt bilden,
und die Eckpunktkoordinaten einer Anzahl von Polygonen, die ein
normales Hilfsobjekt bilden. Die Eckpunktkoordinaten basieren auf
den Referenzkoordinaten des Objekts.
-
Wie 35 zeigt,
speichert die einfache Objekttabelle 272 die Eckpunktkoordinaten
mehrerer (1 bis 6) Polygone, die ein einfaches Hauptobjekt bilden,
und die Eckpunktkoordinaten mehrerer (1 bis 3) Polygone, die ein
einfaches Hilfsobjekt bilden. Die Eckpunktkoordinaten basieren auf
den Referenzkoordinaten des einfachen Objekts.
-
Die
Betrachtungspunktkoordinatentabelle 302 enthält die in 29 dargestellten
Details. Die Betrachtungspunktkoordinatentabelle 302 ist
eine Tabelle zur Gewinnung von Bildern eines Objekts, wie dieses
von einer Anzahl von Betrachtungspunkten aus gesehen wird, und speichert
die Koordinaten mehrerer Betrachtungspunkte (Ersatz-Betrachtungspunkte),
die als repräsentative
Betrachtungspunkte ausgewählt
werden.
-
Die
Objektgruppen-Plottereinrichtung 200D nach dem vierten
Ausführungsbeispiel
der Erfindung ermöglicht
es dem Benutzer, manuell einzugreifen und mittels CAD Texturbilder
praktisch zu generieren, und zeigt die generierten Texturbilder
mit einer (weiter unten beschriebenen) Bild-Plottereinrichtung auf einem
Anzeigemonitor an.
-
In
dem Schritt S701 von 36 erzeugt die Objektgruppen-Plottereinrichtung 200D mittels
CAD oder dgl. Bilder eines Objekts, so wie dieses von verschiedenen
Betrachtungspunkten aus gesehen wird. Dabei erzeugt die Objektgruppen-Plottereinrichtung 200D eine
Kombination aus Bildern eines Hauptobjekts, wie es von beliebigen
Betrachtungspunkten aus gese hen wird, und Bildern eines an das Hauptobjekt
angefügten
Hilfsobjekts, wenn das Hilfsobjekt sich in verschiedenen Richtungen
bewegt.
-
Alternativ
erzeugt die Objektgruppen-Plottereinrichtung 200D in dem
Schritt S702 mittels CAD oder dgl. Bilder eines Objekts, wie dieses
von mehreren Betrachtungspunkten aus gesehen wird, die aus den tatsächlich benutzten
Betrachtungspunkten ausgewählt
sind. Dabei erzeugt die Objektgruppen-Plottereinrichtung 200D eine
Kombination aus Bildern eines Hauptobjekts, wie es von beliebigen
Betrachtungspunkten aus gesehen wird, und Bildern eines an das Hauptobjekt
angefügten
Hilfsobjekts, wenn das Hilfsobjekt sich in verschiedenen Richtungen
bewegt.
-
In
dem Schritt S703 schreibt die Objektgruppen-Plottereinrichtung 200D die
erzeugten Bilder (Texturbilder) sukzessiv in den Texturbereich 34a des Bildespeichers 34 ein.
-
In
dem Schritt S704 generiert die Objektgruppen-Plottereinrichtung 200D eine
Tabelle, die die Verknüpfung
zwischen Betrachtungspunkten bezüglich
des Hauptobjekts und der Richtung des Hilfsobjekts und Koordinaten
(Satzkoordinaten) repräsentiert,
die in den Texturbereich 34a eingeschrieben sind, d.h.
eine Texturinformationstabelle 202.
-
Die
Betrachtungspunkte bezüglich
des Hauptobjekts werden als in Bewegungskoordinaten (Winkelverschiebungsdaten θx, θy, θz) des Hauptobjekts
umgewandelte Daten gespeichert, und die Richtung des Hilfsobjekts
wird als in Bewegungskoordinaten (Winkelverschiebungsdaten θu, θv, θw) des Hilfsobjekts
umgewandelte Daten gespeichert.
-
Wie 37 zeigt,
speichert die Texturinformationstabelle 202 mehrere Datensätze 0, 1,
..., Diese enthalten jeweils Satzkoordinaten, in denen ein Texturbild
geplottet ist, die Bewegungskoordinaten des Hauptobjekts, insbesondere
die Winkelverschiebungsdaten θx, θy, θz und die
Bewegungskoordinaten des ersten bis n-ten Hilfsobjekts, insbesondere die
Winkelverschiebungsdaten θu1, θv1, θw1), (θu2, θv2, θw2), ...
(θun, θvn, θwn).
-
Die
Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212,
die detaillierte Rendering-Einrichtung 236 und die einfache
Rendering-Einrichtung 238 führen im wesentlichen die gleiche
Verarbeitungssequenz aus wie die Komponenten der Objektgruppen-Plottereinrichtung 200A nach
dem ersten Ausführungsbeispiel
mit dem Unterschied, daß auf
der Basis einer Kombination aus den Bewegungskoordinaten des Hauptobjekts
und den Bewegungskoordinaten der Hilfsobjekte nach Bewegungskoordinaten
gesucht oder approximativ gesucht wird.
-
Die
Bild-Plottereinrichtung 204 aktualisiert sukzessive die
Daten in der Bewegungsinformationstabelle 206, um ein Objekt
einer vorbestimmten Sequenz entsprechend zu bewegen, und prüft, ob die einzelnen
Objekte nach dem normalen Rendering-Prozeß oder durch einfaches Applizieren
von Texturen gerendert werden sollen, und rendert das Objekt.
-
Diejenigen
Objekte, die detailliert geplottet werden sollen, werden in der
detaillierten Rendering-Einrichtung 236 dem normalen Rendering-Prozeß unterzogen.
-
Diejenigen
Objekte, die einfach geplottet werden sollen, werden von der einfachen
Rendering-Einrichtung 238 folgendermaßen verarbeitet: Die einfache
Rendering-Einrichtung 238 wählt aus den in der Texturinformationstabelle 202 gespeicherten
Bewegungskoordinaten (Winkelverschiebungsdaten des Hauptobjekts
und Winkelverschiebungsdaten des ersten bis n-ten Hilfsobjekts)
einen Datensatz aus, der den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten
des Hauptobjekts und Winkelverschiebungsdaten des ersten bis n-ten Hilfsobjekts) ähnlich ist,
und liest die Satzkoordinaten aus dem ausgewählten Datensatz aus.
-
Nach
dem Auslesen der einfachen Objektdatei 272 berechnet die
einfache Rendering-Einrichtung 238 auf der Basis der laufenden
Bewegungskoordinaten die Eckpunktkoordinaten von Polygonen, die
in der einfachen Objektdatei 272 registriert sind, und
appliziert die Textur, die in den Satzkoordinaten in dem Texturbereich 34a des
Bildespeichers 34 geplottet ist, in einem von den Anzeigebereichen
der Polygone abhängigen
vergrößerten oder verkleinerten
Maßstab
an den Polygonen (Rendern der Polygone in dem Rendering-Bereich 34b).
-
In
der Objektgruppen-Plottereinrichtung 200D nach dem vierten
Ausführungsbeispiel
kann, wie bei der Objektgruppen-Plottereinrichtung 200B nach
dem zweiten Ausführungsbeispiel,
die Korrektureinrichtung 292 in der einfachen Rendering-Einrichtung 238 der
Bild-Plottereinrichtung 204 enthalten sein.
-
Somit
führt die
Objektgruppen-Plottereinrichtung 200D nach dem vierten
Ausführungsbeispiel, ebenso
wie die Objektgruppen-Plottereinrichtung 200A nach dem
ersten Ausführungsbeispiel,
den detaillierten Rendering-Prozeß an bestimmten Exemplaren
einer Anzahl von Objekten, d.h. an visuell attraktiven Objekten,
bewegten Objekten, an nahen Objekten usw., durch, während an
anderen Objekten einfach eine Textur appliziert wird, so daß die für die Durchführung der
Berechnungen und das Plotten der Objekte erforderliche Zeit erheblich
reduziert werden kann und die Objekte mit hoher Qualität geplottet werden
können.
-
Die
Objektgruppen-Plottereinrichtung 200D nach dem vierten
Ausführungsbeispiel
kann bei Objekten angewendet werden, die komplexe Formen haben und
Komponenten aufweisen, die sich vielfältig ändern.
-
Das
heißt,
wenn ein Objekt ein Hauptobjekt und ein oder mehrere an das Hauptobjekt
angefügte Hilfsobjekte
umfaßt,
erzeugt die Objektgruppen-Plottereinrichtung 200D des vierten
Ausführungsbeispiels
eine Vielzahl von Texturbildern, die eine Kombination aus Bildern
des Hauptobjekts, so wie dieses von verschiedenen Betrachtungspunkten
aus gesehen wird, und Bildern der Hilfsobjekte, so wie diese sich
in verschiedene Richtungen bewegt haben, umfassen, und führt zum
Plotten einer Mehrzahl von identischen Objekten den normalen Rendering-Prozeß an denjenigen
Objekten durch, die einem vorgegebenen Entscheidungskriterium entsprechend
detailliert geplottet werden sollen, wobei aus den generierten Texturbildern
in Abhängigkeit
von der zu plottenden Richtung und Verformung ein Texturbild ausgewählt wird
und das ausgewählte
Texturbild als Textur für
diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
-
Da
eine Vielzahl von Texturbildern auf der Basis einer Kombination
aus Bildern vorbereitet sind, die nicht nur die Richtung von Objekten,
sondern auch die Verformungen von Hilfsobjekten repräsentieren,
lassen sich die Prinzipien des vierten Ausführungsbeispiels auf eine Situation
anwenden, in der zahlreiche Fische in unterschiedlichen Richtungen orientiert
sind und Komponenten derselben, z.B. Schwanzflossen und Rückenflossen,
sich in komplexer Weise ändern.
-
Anhand
von 38 bis 45 wird
eine Objektgruppen-Plottereinrichtung 200E nach einem fünften Ausführungsbeispiel
der vorliegenden Erfindung beschrieben.
-
Die
Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel
hat im wesentlichen die gleiche Anordnung und führt im wesentlichen die gleiche
Verarbeitungssequenz aus wie die Objektgruppen-Plottereinrichtung 200D nach dem
vierten Ausführungsbeispiel,
unterscheidet sich von dieser jedoch darin, daß erste Texturbilder automatisch
von einer Textureinstelleinrichtung 500 und nicht manuell
von dem Benutzer erzeugt werden. Die anderen Mittel der Objektgruppen-Plottereinrichtung 200E,
d.h. die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212,
die detaillierte Rendering-Einrichtung 236 und die einfache
Rendering-Einrichtung 238 haben die gleiche Anordnung und
Verarbeitungssequenz wie die entsprechenden Komponenten der Objektgruppen-Plottereinrichtung 200D nach
dem vierten Ausführungsbeispiel.
-
Anhand
von 38 bis 45 werden
die Anordnung und die Verarbeitungssequenz der Textureinstelleinrichtung 500 beschrieben.
-
Wie 38 zeigt,
umfaßt
die Textureinstelleinrichtung 500 eine Initialisierungseinrichtung 502 zum
Definieren der Zahl von Betrachtungspunkten und Referenz-Betrachtungspunktkoordinaten
und zum Initialisieren von Satzkoordinaten, ferner eine Bereichs-Reservierungseinrichtung 504 zum
Reservieren zweier Bereiche, nämlich
eines Bereichs Z1 zum Plazieren von Texturen in Abhängigkeit
von mehreren Betrachtungspunkten und einen Bereich Z2 für die tatsächliche
Texturabbildung in den Texturbereich 34a des Bildespeichers 34,
eine Hauptobjekt-Verarbeitungseinrichtung 506 zum Erzeugen
von Texturen für
Hauptobjekte, eine Hilfsobjekt-Verarbeitungseinrichtung 508 zum
Erzeugen von Texturen für Hilfsobjekte,
eine Textur-Rendering-Einrichtung 510 zum erneuten Rendern
der Texturen in dem Rendering-Bereich 34b an den Satzkoordinaten
in dem Texturbereich Z1, eine Tabellenerzeugungseinrichtung 512 zum
Speichern von Satzkoordinaten und Bewegungskoordinaten in dem entsprechenden
Datensatz in der Texturinformationstabelle 202, eine Satzkoordinaten-Aktualisierungseinrichtung 514 zum
Aktualisieren der Satzkoordinaten und eine Verarbeitungsabschluß-Prüfeinrichtung 516,
die feststellt, ob die Abarbeitung einer Schleife abgeschlossen
ist oder nicht.
-
Wie 39 zeigt,
umfaßt
die Hauptobjekt-Verarbeitungseinrichtung 506 eine Daten-Leseeinrichtung 520 zum
Auslesen zumindest der Zahl der Polygone und der Referenzkoordinaten
in dem Hauptobjekt aus der Objektinformationstabelle 230 und
zum Auslesen von Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302,
ferner eine Hauptobjekt-Leseeinrichtung 522 zum Auslesen
von Daten des Hauptobjekts aus der detaillierten Objektdatei 250,
eine Bewegungskoordinaten-Berechnungseinrichtung 524 zum
Festlegen von Bewegungskoordinaten bezüglich der Referenzkoordinaten
des Hauptobjekts, wenn Betrachtungspunktkoordinaten als Referenz
benutzt werden, eine Eckpunktkoordinaten-Berechnungseinrichtung 526 zum
Berechnen von Eckpunktkoordinaten von Polygonen, aus denen das Hauptobjekt
aufgebaut ist, eine Rendering-Einrichtung 528 zur Durchführung eines
Rendering-Prozesses, einschließlich
der Texturdarstellung und der Beseitigung von verborgenen Flächen an
Polygonen (Rendern in dem Rendering-Bereich 34b) sowie
eine Verarbeitungsabschluß-Prüfeinrichtung 530,
die feststellt, ob die Abarbeitung einer Schleife abgeschlossen
ist oder nicht.
-
Wie 40 zeigt,
umfaßt
die Hilfsobjekt-Verarbeitungseinrichtung eine Daten-Leseeinrichtung 542
zum Auslesen zumindest der Zahl der Polygonen und der Referenzkoordinaten
in dem Hauptobjekt aus der Objektinformationstabelle 230 und
zum Auslesen von Bewegungskoordinaten für Hilfsobjekte aus einer Hilfsobjekt-Informationstabelle 540,
eine Hilfsobjekt-Leseeinrichtung 544 zum Auslesen von Daten
der Hilfsobjekte aus der detaillierten Objektdatei 250,
eine Eckpunktkoordinaten-Berechnungseinrichtung 546 zum
Berechnen von Eckpunktkoordinaten von Polygonen, aus denen die Hilfsobjekte
bestehen, eine Rende ring-Einrichtung 548 zur Durchführung eines
Rendering-Prozesses, einschließlich
Texturdarstellung und Beseitigung von verborgenen Flächen an
Polygonen (Rendern in dem Rendering-Bereich 34b) und eine
Verarbeitungsabschluß-Prüfeinrichtung 550,
die feststellt, ob die Abarbeitung einer Schleife abgeschlossen
ist oder nicht.
-
Wie 41 zeigt,
speichert die Hilfsobjekt-Informationstabelle 540 mehrere
Datensätze
0, 1, ..., die jeweils Bewegungskoordinaten, insbesondere Winkelverschiebungsdaten θu, θv, θw enthalten,
die sich auf ein typisches Verformungsmuster eines Hilfsobjekts
beziehen.
-
Anhand
von 42 und 43 wird
eine Verarbeitungssequenz der Textureinstelleinrichtung 500 beschrieben.
-
In
dem Schritt S801 von 42 initialisiert die Initialisierungseinrichtung 502 verschiedene
Parameter.
-
In
dem Schritt S802 reserviert die Bereichs-Reservierungseinrichtung 504 dann
zwei Bereiche, nämlich
einen Bereich Z1 zum Plazieren von Texturen in Abhängigkeit
von mehreren Betrachtungspunkten und einen Bereich Z2 für die aktuelle Texturabbildung
in dem Texturbereich 34a des Bildespeichers 34.
-
In
dem Schritt S803 speichert die Textureinstelleinrichtung 500 einen
Anfangswert "0" in einem Index-Register
i, das zum Suchen eines Betrachtungspunkts benutzt wird, und initialisiert
dadurch das Index-Register i. In dem Schritt S804 führt die Hauptobjekt-Verarbeitungseinrichtung 506 ihre
Verarbeitungssequenz durch, um eine Textur für ein Hauptobjekt zu erzeugen,
wie dies weiter unten beschrieben wird.
-
In
dem Schritt S805 speichert die Textureinstelleinrichtung 500 einen
Anfangswert "0" in einem Index-Register
m, das zum Suchen nach Datensätzen
in der Hilfsobjekt-Informationstabelle 540 benutzt wird,
und initialisiert so das Index-Register m.
-
In
dem Schritt S806 führt
die Hilfsobjekt-Verarbeitungseinrichtung 508 ihre Verarbeitungssequenz
durch, um Texturen für
Hilfsobjekte zu erzeugen, wie dies weiter unten beschrieben wird.
-
In
dem Schritt S807 rendert die Textur-Rendering-Einrichtung 510 erneut
die Texturen in dem Rendering-Bereich 34b an den Satzkoordinaten
in dem Texturbereich Z1.
-
In
dem Schritt S808 erzeugt die Tabellenerzeugungseinrichtung 512 die
Textur-Informationstabelle 202. Falls die Zahl der Verformungsmuster
für Hilfsobjekte
gleich B ist, speichert die Tabellenerzeugungseinrichtung 512 in
dem (B × i
+ m)-ten Datensatz in der Textur-Informationstabelle 202 Satzkoordinaten,
an denen ein Texturbild geplottet wird, die Bewegungskoordinaten
des Hauptobjekts und die Bewegungskoordinaten des ersten bis n-ten
Hilfsobjekts.
-
In
dem Schritt S809 aktualisiert die Satzkoordinaten-Aktualisierungseinrichtung 514 die
Satzkoordinaten. In dem Schritt S810 prüft die Verarbeitungsabschluß-Prüfeinrichtung 516 auf
der Grundlage, ob der Wert des Index-Registers m gleich oder größer ist als
die Maximalzahl B der Verformungsmuster, ob der Textur-Rendering-Prozeß für die Hilfsobjekte
in Bezug auf alle Verformungsmuster beendet wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Verformungsmuster beendet wurde, geht die Steuerung zurück zu dem
Schritt S806, um den Textur-Rendering-Prozeß für die Hilfsobjekte in Bezug
auf ein nächstes
Verformungsmuster durchzuführen.
Falls der Textur-Rendering-Prozeß für alle Verformungsmuster
abgeschlossen wurde, geht die Steuerung weiter zu dem in 43 dargestellten Schritt
S812, um den Wert des Index-Registers i um +1 zu inkrementieren.
Anschließend
prüft die
Verarbeitungsabschluß-Prüfeinrichtung 516 auf
der Grundlage, ob der Wert in dem Index-Register i gleich oder größer ist
als die Zahl A der in der Betrachtungspunktkoordinatentabelle 302 registrierten
Betrachtungspunkte oder nicht, ob der Textur-Rendering-Prozeß für alle in
der Betrachtungspunktkoordinatentabelle 302 registrierten
Betrachtungspunkte abgeschlossen wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Betrachtungspunkte abgeschlossen ist, geht die Steuerung zurück zu dem
Schritt S804 von 42, um den Textur-Rendering-Prozeß für einen nächsten Betrachtungspunkt
durchzuführen.
Falls der Textur-Rendering-Prozeß für alle Betrachtungspunkte abgeschlossen
wurde, wird die Verarbeitungssequenz der Textureinstelleinrichtung 500 beendet.
-
Anhand
von 44 wird eine Verarbeitungssequenz der Hauptobjekt-Verarbeitungseinrichtung 506 beschrieben.
-
In
dem Schritt S901 liest die Daten-Leseeinrichtung 520 zumindest
die Zahl der Polygone und die Referenzkoordinaten aus der Objektinformationstabelle 230 aus.
-
In
dem Schritt S902 liest die Hauptobjekt-Leseeinrichtung 522 dann
die Daten des Hauptobjekts aus der detaillierten Objektdatei 250 aus.
In dem Schritt S903 liest die Daten-Leseeinrichtung 520 die i-ten
Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 aus.
-
In
dem Schritt S904 bestimmt die Bewegungskoordinaten-Berechnungseinrichtung 524 die Bewegungskoordinaten
bezüglich
der Referenzkoordinaten des Hauptobjekts, wenn Betrachtungspunktkoordinaten
als Referenz benutzt werden. Im speziellen Fall bewegt sich das
Hauptobjekt, während
alle Betrachtungspunkte an einer Referenzposition fixiert sind,
so daß das
Hauptobjekt so gesehen wird, wie von dem laufenden Betrachtungspunkt
aus. Die Bewegungskoordinaten des Hauptobjekts zu dieser Zeit, d.h.
Objektkoordinaten, die bewegt wurden, werden festgelegt. Die so
festgelegten Bewegungskoordinaten werden als Bewegungskoordinaten
auf der Basis der i-ten Betrachtungspunktkoordinaten, d.h. als i-te
Bewegungskoordinaten in dem Hauptobjekt, definiert.
-
In
dem Schritt S905 speichert die Hauptobjekt-Verarbeitungseinrichtung 506 den
Wert "0" in einem Index-Register
j zum Suchen eines Polygons und initialisiert so das Index-Register
j.
-
In
dem Schritt S906 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 526 auf
der Basis der i-ten Bewegungskoordinaten in dem Hauptobjekt die
Eckpunktkoordinaten eines j-ten Polygons, das das Hauptobjekt bildet.
-
In
dem Schritt S907 führt
die Rendering-Einrichtung 528 den Rendering-Prozeß an dem
j-ten Polygon durch, einschließlich
der Texturabbildung und der Beseitigung verborgener Flächen, und
rendert das Polygon in dem Rendering-Bereich 34b des Bildespeichers 34.
-
In
dem Schritt S908 aktualisiert die Hauptobjekt-Verarbeitungseinrichtung 506 den
Wert des Index-Registers j um +1. In dem Schritt S909 prüft die Verarbeitungsabschluß-Prüfeinrichtung 530 auf
der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist
als die Zahl M der Polygone des Hauptobjekts, ob der Textur-Rendering-Prozeß für alle Polygone
abgeschlossen wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Polygone abgeschlossen wurde, geht die Steuerung zurück zu dem
Schritt S906, um den Rendering-Prozeß an einem nächsten Polygon durchzuführen. Falls
der Textur-Rendering-Prozeß für alle Polygone
abgeschlossen wurde, wird die Verarbeitungssequenz der Hauptobjekt-Verarbeitungseinrichtung 506 beendet.
-
Anhand
von 45 wird eine Verarbeitungssequenz der Hilfsobjekt-Verarbeitungseinrichtung 508 beschrieben.
-
In
dem Schritt SA01 speichert die Hilfsobjekt-Verarbeitungseinrichtung 508 einen
Anfangswert "0" in einem Index-Register
n zum Suchen eines Hilfsobjekts und initialisiert so das Index-Register
n.
-
In
dem Schritt SA02 liest die Daten-Leseeinrichtung 542 zumindest
die Zahl Nn der Polygone und der normalen Referenzkoordinaten eines
n-ten Hilfsobjekts aus der Objektinformationstabelle 230 aus.
-
In
dem Schritt SA03 liest die Hilfsobjekt-Leseeinrichtung 542 dann
die Daten des n-ten Hilfsobjekts aus der detaillierten Objektdatei 250 aus.
In dem Schritt SA04 liest die Daten-Leseeinrichtung 542 die Bewegungskoordinaten
für das
n-te Hilfsobjekt aus einem m-ten Datensatz in der Hilfsobjekt-Informationstabelle 540 aus.
-
In
dem Schritt SA05 speichert die Hilfsobjekt-Verarbeitungseinrichtung 508 den
Wert "0" in einem Index-Register
j zum Suchen eines Polygons und initialisiert so das Index-Register
j.
-
In
dem Schritt SA06 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 546 Eckpunktkoordinaten
eines j-ten Polygons, das das n-te Hilfsobjekt bildet, auf der Basis
der laufenden Bewegungskoordinaten in dem n-ten Hilfsobjekt.
-
In
dem Schritt SA07 führt
die Rendering-Einrichtung 548 an dem j-ten Polygon den
Rendering-Prozeß,
einschließlich
der Texturdarstellung und der Beseitigung verborgener Flächen, durch
und rendert das Polygon in dem Rendering-Bereich 34b des Bildespeichers 34.
-
In
dem Schritt SA08 aktualisiert die Hilfsobjekt-Verarbeitungseinrichtung 508 den
Wert des Index-Registers j um +1. In dem Schritt SA09 prüft die Verarbeitungsabschluß-Prüfeinrichtung 550 auf
der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist
als die Zahl Nn der Polygone des Hilfsobjekts und ob der Textur-Rendering-Prozeß für alle Polygone
abgeschlossen wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Polygone abgeschlossen wurde, geht die Steuerung zurück zu dem
Schritt SA06, um den Rendering-Prozeß an einem nächsten Polygon
auszuführen.
Falls der Textur-Rendering-Prozeß für alle Polygone abgeschlossen
wurde, geht die Steuerung weiter zu dem Schritt SA10, in dem die
Hilfsobjekt-Verarbeitungseinrichtung 508 den Wert des Index-Registers
n um +1 inkrementiert.
-
In
dem Schritt SA11 prüft
die Verarbeitungsabschluß-Prüfeinrichtung 550 auf
der Grundlage, ob der Wert des Index-Registers n gleich oder größer ist als
die Zahl C der Hilfsobjekte, ob der Textur-Rendering-Prozeß für alle Hilfsobjekte
abgeschlossen wurde oder nicht.
-
Falls
der Textur-Rendering-Prozeß noch nicht
für alle
Hilfsobjekte abgeschlossen wurde, geht die Steuerung zurück zu dem
Schritt SA02, um den Textur-Rendering-Prozeß an einem nächsten Hilfsobjekt
durchzuführen.
Falls der Textur-Rendering-Prozeß für alle Hilfsobjekte abgeschlossen
wurde, wird die Verarbeitungssequenz der Hilfsobjekt-Verarbeitungseinrichtung 508 beendet.
-
Die
Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212,
die detaillierte Rendering-Einrichtung 236 und die einfache
Rendering-Einrichtung 238 führen im wesentlichen die gleiche
Verarbeitungssequenz aus wie die entsprechenden Komponenten der
Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel,
mit dem Unterschied, daß auf
der Basis einer Kombination der Bewegungskoordinaten des Hauptobjekts
und der Bewegungskoordinaten der Hilfsobjekte nach Bewegungskoordinaten
gesucht wird oder approximativ gesucht wird.
-
Bei
der Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel
kann die Korrektureinrichtung 292, wie bei der Objektgruppen-Plottereinrichtung 200B nach
dem zweiten Ausführungsbeispiel
in der einfachen Rendering-Einrichtung 238 der Bild-Plottereinrichtung 204 enthalten sein.
-
Die
Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel
kann auf Objekte angewendet werden, die komplexe Formen haben und
Komponenten enthalten, die sich vielfältig ändern.
-
Da
auf der Basis einer Kombination aus Bildern eine Mehrzahl von Texturbildern
vorbereitet ist, die nicht nur die Richtung von Objekten sondern
auch die Verformungen von Hilfsobjekten repräsentieren, sind die Prinzipien
des fünften
Ausführungsbeispiels auf
eine Situation anwendbar, in der eine Anzahl von Fischen in verschiedenen
Richtungen orientiert sind und Komponenten derselben, z.B. Schwanzflossen und
Rückenflossen,
sich in komplexer Weise ändern.
-
In
der Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel
kann die Textureinstelleinrichtung 500 automatisch eine Vielzahl
von Texturbildern generieren als Kombination aus denjenigen, die
erzeugt werden, wenn das Hauptobjekt von verschiedenen Betrachtungspunkten
aus gesehen wird, und denjenigen, die erzeugt werden, wenn die Hilfsobjekte
in verschiedenen Richtungen bewegt werden. Dadurch ist die Objektgruppen-Plottereinrichtung 200E in
der Lage, Verformungsmuster für
die Hilfsobjekte schnell zu korrigieren und hinzuzufügen, die
Richtungen des Hauptobjekts zu korrigieren und die Objekte selbst
zu korrigieren.
-
Obwohl
vorangehend bestimmte bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung dargestellt und im Detail beschrieben wurden, können an
diesen vielfältige Änderun gen
und Modifizierungen vorgenommen werden, ohne daß dadurch der Rahmen der anliegenden
Ansprüche
verlassen wird.