DE69130549T2 - Device for generating an object movement path - Google Patents
Device for generating an object movement pathInfo
- Publication number
- DE69130549T2 DE69130549T2 DE69130549T DE69130549T DE69130549T2 DE 69130549 T2 DE69130549 T2 DE 69130549T2 DE 69130549 T DE69130549 T DE 69130549T DE 69130549 T DE69130549 T DE 69130549T DE 69130549 T2 DE69130549 T2 DE 69130549T2
- Authority
- DE
- Germany
- Prior art keywords
- information
- end point
- given
- control
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000033001 locomotion Effects 0.000 title claims description 144
- 239000013598 vector Substances 0.000 claims description 58
- 238000000034 method Methods 0.000 description 42
- 239000002184 metal Substances 0.000 description 19
- 229910052751 metal Inorganic materials 0.000 description 19
- 239000003086 colorant Substances 0.000 description 16
- 230000008859 change Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000000873 masking effect Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000003746 surface roughness Effects 0.000 description 6
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 229910052802 copper Inorganic materials 0.000 description 5
- 239000010949 copper Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000011505 plaster Substances 0.000 description 4
- 238000003825 pressing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 239000007769 metal material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/949—Animation processing method
- Y10S345/95—Sprite processing
- Y10S345/951—Key frame processing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Description
Die vorliegende Erfindung betrifft eine Vorrichtung zur Erzeugung eines Bewegungspfads eines Objekts.The present invention relates to a device for generating a movement path of an object.
Bei einem dreidimensionalen Computergrafiksystem wie in "Practical Computer Graphics, Fundamental Procedures and Applications", Nikkan Kogyo Shinbun Co. Ltd., Seite 390 beschrieben, ist es zur Realisierung der substantiellen Qualität des Bilds eines Objekts erforderlich, die Farben von Umgebungslichtkomponenten, Streulichtkomponenten und gespiegelten Lichtkomponenten einzustellen. Ein Verfahren zum Einstellen einer Bewegung bewegter Bilder wird in "ASCII Learning System (3), Application Course, Applied Graphics", Otha et al. (1986), Seiten 105 bis 126 besprochen. Gemäß diesem Verfahren wird jede Sekunde ein Schlüsselrahmen erzeugt, in jedem Schlüsselrahmen wird die Position eines Objekts bestimmt, und durch Interpolation unter Verwendung von linearen Spline- Kurven oder Spline-Kurven höherer Ordnung werden Zwischenbilder erzeugt. Es ist auch die japanische Patentoffenlegungsschrift JP-A-2-199579 bekannt, gemäß der nach der Eingabe eines Bewegungsorts in vorgegebenen Zeitintervallen Bewegungsgeschwindigkeiten an Positionen an dem Ort unabhängig eingegeben werden.In a three-dimensional computer graphics system as described in "Practical Computer Graphics, Fundamental Procedures and Applications", Nikkan Kogyo Shinbun Co. Ltd., page 390, in order to realize the substantial quality of the image of an object, it is necessary to adjust the colors of ambient light components, scattered light components and specular light components. A method for adjusting motion of moving images is discussed in "ASCII Learning System (3), Application Course, Applied Graphics", Otha et al. (1986), pages 105 to 126. According to this method, a key frame is generated every second, in each key frame the position of an object is determined, and intermediate images are generated by interpolation using linear spline curves or higher order spline curves. Japanese patent application JP-A-2-199579 is also known, according to which, after inputting a movement location, movement speeds at positions at the location are input independently at predetermined time intervals.
Bei den vorstehend beschriebenen herkömmlichen Techniken ist es erforderlich, eine große Menge an Informationen einzugeben, um bewegte Bilder zu erzeugen. Dies stellt ein beträchtliches Hindernis bei der Schaffung eines Systems dar, das von jedermann einfache benutzt werden kann.The conventional techniques described above require a large amount of information to be input in order to produce moving images. This represents a significant obstacle to creating a system that can be easily used by everyone.
Es sind beispielsweise viele Parameter erforderlich, um ein Oberflächenreflexionsattribut zu bestimmen. Erhebliche Fertigkeiten und Fachkenntnisse sind erforderlich, um geeignete Werte für diese Parameter einzustellen.For example, many parameters are required to determine a surface reflectance attribute. Considerable skill and expertise are required to set appropriate values for these parameters.
Überdies ist es zur Definition der Bewegung eines bewegten Bilds erforderlich, unter Verwendung eines Schlüsselrahmens sowohl die Position als auch die Blickrichtung bzw. den Winkel eines Objekts bestimmen. Es ist daher erforderlich, daß der Bediener die Position eines Objekts bestimmt, wobei er auch die Geschwindigkeit und Blickrichtung des Objekts berücksichtigen muß.Furthermore, to define the motion of a moving image, it is necessary to determine both the position and the viewing direction or angle of an object using a key frame. It is therefore necessary for the operator to determine the position of an object, while also taking into account the speed and viewing direction of the object.
In der Druckschrift "SAM-Animation Software for Simulating Articulated Motion" von Maciejewski und Klein in "Computer and Graphics", Band 9, Nr. 4, 1985, Seiten 383 - 391, ist eine Simulation von Gelenkbewegungen offenbart. Das Verfahren beginnt mit einer Definition eines Objekts mit Gelenken und definiert Bewegungen mittels Matrizen.In the paper "SAM-Animation Software for Simulating Articulated Motion" by Maciejewski and Klein in "Computer and Graphics", Volume 9, No. 4, 1985, pages 383 - 391, a simulation of joint movements is disclosed. The process begins with a definition of an object with joints and defines movements using matrices.
Es ist Aufgabe der vorliegenden Erfindung, Bewegungen so zu definieren, daß sie gleichmäßig miteinander gekoppelt werden können.It is the object of the present invention to define movements in such a way that they can be coupled with one another evenly.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, den Pfad und/oder die Oberflächenreflexionsattribute eines Objekts mit einer geringen Anzahl an Prozeduren zu bestimmen.It is a further object of the present invention to determine the path and/or surface reflection attributes of an object with a small number of procedures.
Es ist eine weitere Aufgabe der Erfindung, eine Einrichtung zur dynamischen Veränderung entweder der Position eines Objekts, der Größe und Richtung der Geschwindigkeit eines Objekts und der Zeit zu schaffen, um eine leichte Definition zu ermöglichen.It is a further object of the invention to provide a device for dynamically varying either the position of an object, the magnitude and direction of the velocity of an object and the time to enable easy definition.
Diese Aufgaben werden gemäß den Merkmalen des Patentanspruchs 1 gelöst. Die abhängigen Ansprüche betreffen bevorzugte Ausführungsformen der Erfindung.These objects are achieved according to the features of patent claim 1. The dependent claims relate to preferred embodiments of the invention.
Zur Vereinfachung der Bestimmung der Position eines Objekts und der Größe und Richtung der Geschwindigkeit eines Objekts wird die Position eines Objekts als Startpunkt einer Vektorrepräsentation angezeigt, und die Größe und Richtung der Geschwindigkeit eines Objekts werden als Länge und Ausrichtung des Vektors angezeigt. Zur dynamischen Veränderung der Vektorrepräsentation ist eine Eingabeeinrichtung vorgesehen.To simplify the determination of the position of an object and the magnitude and direction of the velocity of a Object, the position of an object is displayed as the starting point of a vector representation, and the magnitude and direction of the velocity of an object are displayed as the length and orientation of the vector. An input device is provided for dynamically changing the vector representation.
Zur feineren Bestimmung eines gegebenen Bewegungspfads eines Objekts wird durch Erzeugung einer neuen Geschwindigkeit an einem auf dem Pfad bestimmten, frei wählbaren Punkt ein neuer Schlüsselrahmen erzeugt.To more precisely determine a given motion path of an object, a new key frame is created by generating a new speed at a freely selectable point on the path.
Es ist eine Einrichtung vorgesehen, die zur Bestimmung des Oberflächenattributs des Objekts unabhängig eine bestimmte Farbe eines Objekts und sein Oberflächenreflexionsattribut definiert. Es sind beispielsweise spezifische Farben und Oberflächenreflexionsattribute von Objekten betreffende Informationen in einer Datenbank gespeichert, so daß durch eine Kombination einer spezifischen Farbe und eines Oberflächenreflexionsattributs eine gewünschte Qualität des Bilds eines Materials realisiert werden kann.A device is provided which independently defines a specific color of an object and its surface reflection attribute to determine the surface attribute of the object. For example, information concerning specific colors and surface reflection attributes of objects is stored in a database so that a desired quality of the image of a material can be realized by a combination of a specific color and a surface reflection attribute.
Zur Definition der Bewegung eines bewegten Bilds ist eine Einrichtung vorgesehen, die die Bewegung eines Objekts in die Position des Objekts zu einer bestimmten Zeit und seine Blickrichtung trennt, um dadurch die Bewegung des Objekts unabhängig zu definieren.To define the movement of a moving image, a device is provided which separates the movement of an object into the position of the object at a certain time and its viewing direction in order to thereby define the movement of the object independently.
Zur Einstellung der Position eines Objekts werden bei jedem Schlüsselrahmen entweder sowohl die Position als auch die Geschwindigkeit eines Objekts oder eines von beiden verwendet, so daß ein Computer automatisch einen Bewegungspfad zwischen Schlüsselrahmen erzeugen kann.To adjust the position of an object, either the position and the velocity of an object, or one or both, are used at each key frame, allowing a computer to automatically generate a motion path between key frames.
Ähnlich werden zur Einstellung der Blickrichtung eines Objekts bei jedem Schlüsselrahmen entweder sowohl die Blickrichtung eines Objekts als auch seine Winkelgeschwindigkeit oder eines von beiden verwendet, so daß ein Computer automa tisch die Blickrichtung des Objekts zwischen den Schlüsselrahmen erzeugen kann. Insbesondere für die Steuerung der Blickrichtung eines Objekts ist beispielsweise eine bestimmte Einschränkung vorgesehen, um eine leichte Einstellung, wie eine Einstellung für eine Bildanzeige, bei der eine Kamera ein Objekt stets in der Mitte eines Rahmens aufnimmt, zu ermöglichen.Similarly, to adjust the direction of view of an object, either the direction of view of an object and its angular velocity, or one of both, are used at each key frame, so that a computer can automatically ically generate the viewing direction of the object between the key frames. In particular, for example, a certain restriction is provided for controlling the viewing direction of an object in order to enable easy setting, such as a setting for an image display in which a camera always captures an object in the center of a frame.
Eine Vorrichtung zur Erzeugung des Bewegungspfads kann umfassen:A device for generating the motion path may comprise:
eine Eingabeeinrichtung zur Eingabe von die Position eines Startpunkts der Bewegung eines Objekts repräsentierenden Informationen, von zumindest entweder die Größe oder die Richtung der Geschwindigkeit am Startpunkt der Bewegung des Objekts repräsentierenden Informationen, von einen Endpunkt der Bewegung des Objekts repräsentierenden Informationen und von zumindest entweder die Größe oder die Richtung einer Geschwindigkeit am Endpunkt der Bewegung des Objekts repräsentierenden Informationen; undan input device for inputting information representing the position of a starting point of the movement of an object, information representing at least one of the magnitude and the direction of the speed at the starting point of the movement of the object, information representing an end point of the movement of the object, and information representing at least one of the magnitude and the direction of a speed at the end point of the movement of the object; and
eine Einrichtung zur Berechnung von einen Bewegungspfad vom Startpunkt zum Endpunkt der Bewegung des Objekts repräsentierenden Informationen entsprechend den die Position eines Startpunkts der Bewegung eines Objekts repräsentierenden Informationen, den zumindest entweder die Größe oder die Richtung der Geschwindigkeit am Startpunkt der Bewegung des Objekts repräsentierenden Informationen, den einen Endpunkt der Bewegung des Objekts repräsentierenden Informationen und den zumindest entweder die Größe oder die Richtung einer Geschwindigkeit am Endpunkt der Bewegung des Objekts repräsentierenden Informationen.means for calculating information representing a movement path from the starting point to the end point of the movement of the object according to the information representing the position of a starting point of the movement of an object, the information representing at least one of the magnitude and the direction of the speed at the starting point of the movement of the object, the information representing an end point of the movement of the object, and the information representing at least one of the magnitude and the direction of a speed at the end point of the movement of the object.
Eine Vorrichtung zur Erzeugung des Bewegungspfads eines Objekts kann umfassen:A device for generating the motion path of an object may comprise:
eine Eingabeeinrichtung zur Eingabe von die Position eines bewegten Objekts repräsentierenden Informationen und die Blickrichtung des bewegten Objekts repräsentierenden Informationen; undan input device for entering information representing the position of a moving object and the Information representing the viewing direction of the moving object; and
eine Einrichtung zur Berechnung von den Bewegungspfad des bewegten Objekts repräsentierenden Informationen entsprechend den die Position des bewegten Objekts repräsentierenden Informationen und den die Blickrichtung des bewegten Objekts repräsentierenden Informationen.a device for calculating information representing the movement path of the moving object according to the information representing the position of the moving object and the information representing the viewing direction of the moving object.
Eine weitere Vorrichtung zur Erzeugung des Bewegungspfads eines Objekts kann umfassen:Another device for generating the movement path of an object may comprise:
eine Einrichtung zur Anzeige von Informationen auf einem Anzeigebildschirm, wobei die Informationen die Position eines bewegten Objekts repräsentieren;means for displaying information on a display screen, the information representing the position of a moving object;
eine Einrichtung zur Anzeige eines Symbols auf der Anzeige, wobei das Symbol den der Position des bewegten Objekts entsprechenden Zeitpunkt repräsentiert;means for displaying a symbol on the display, wherein the symbol represents the time corresponding to the position of the moving object;
eine Einrichtung zur Berechnung von den Bewegungspfad des bewegten Objekts repräsentierenden Informationen entsprechend den mittels des Symbols eingegebenen Informationen, die den der Position des bewegten Objekts entsprechenden Zeitpunkt repräsentieren, und den Informationen, die zumindest entweder die Größe und die Richtung einer Geschwindigkeit des bewegten Objekts an der Position repräsentieren; undmeans for calculating information representing the movement path of the moving object according to the information input by means of the symbol representing the time corresponding to the position of the moving object and the information representing at least one of the magnitude and the direction of a speed of the moving object at the position; and
eine Einrichtung zur Anzeige von Informationen auf dem Anzeigebildschirm, wobei die Informationen den Bewegungspfad des bewegten Objekts repräsentieren.means for displaying information on the display screen, the information representing the path of motion of the moving object.
Die weiteren Aufgaben und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung der Ausführungsformen hervor.The further objects and advantages of the present invention will become apparent from the following description of the embodiments.
Fig. 1 stellt ein Beispiel einer Operation gemäß einer Ausführungsform der vorliegenden Erfindung dar;Fig. 1 illustrates an example of an operation according to an embodiment of the present invention;
Fig. 2 zeigt die Systemanordnung gemäß der Ausführungsform der vorliegenden Erfindung;Fig. 2 shows the system arrangement according to the embodiment of the present invention;
Fig. 3 zeigt ein Anzeigebeispiel von Pfaddaten;Fig. 3 shows a display example of path data;
Fig. 4 ist ein Diagramm, das den Aufbau einer Schlüsselrahmendatenverwaltung zeigt;Fig. 4 is a diagram showing the structure of a key frame data management;
die Fig. 5a bis 5c zeigen Diagramme, die ein Anzeigebeispiel einer Prozedur zum Verändern eines Pfads darstellen;Figs. 5a to 5c are diagrams showing a display example of a procedure for changing a path;
Fig. 6 ist ein Diagramm, das ein Beispiel einer Anwendung auf ein Darstellungssystem zeigt;Fig. 6 is a diagram showing an example of an application to a presentation system;
die Fig. 7 bis 29 zeigen weitere Ausführungsformen der vorliegenden Erfindung;Figures 7 to 29 show further embodiments of the present invention;
Fig. 30 zeigt den Aufbau des Hauptteils eines Computergrafiksystems gemäß einer Ausführungsform der vorliegenden Erfindung;Fig. 30 shows the structure of the main part of a computer graphics system according to an embodiment of the present invention;
Fig. 31 zeigt den genauen Aufbau der Vorrichtung zur Einstellung des Oberflächenreflexionsattributs gemäß Fig. 30;Fig. 31 shows the detailed structure of the device for adjusting the surface reflection attribute according to Fig. 30;
Fig. 32 zeigt eine durch eine Lichtquelle beleuchtete Kugel;Fig. 32 shows a sphere illuminated by a light source;
Fig. 33 stellt ein HLS-Farbmodell dar;Fig. 33 shows an HLS color model;
Fig. 34 stellt eine Benutzerschnittstelle dar;Fig. 34 illustrates a user interface;
Fig. 35 stellt die Wirkungen eines Schiebereglers für das Umgebungslicht und eines Schiebereglers für gestreutes Licht dar;Fig. 35 illustrates the effects of an ambient light slider and a scattered light slider;
Fig. 36 stellt die Wirkungen eines Schiebereglers für die Bildqualität von Metall und eines Schiebereglers für gespiegeltes Licht dar; undFig. 36 illustrates the effects of a slider for the image quality of metal and a slider for specular light; and
Fig. 37 stellt eine Benutzerschnittstelle gemäß einer weiteren Ausführungsform dar.Fig. 37 illustrates a user interface according to another embodiment.
Eine Ausführungsform der vorliegende Erfindung wird unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, die beispielhaft eine dreidimensionale bewegte Computergrafik darstellen.An embodiment of the present invention will be described with reference to the accompanying drawings, which illustrate, by way of example, three-dimensional animated computer graphics.
Fig. 1 stellt eine Umgebung zur Definition von bewegten Bildern gemäß der vorliegenden Erfindung dar. Unter Verwendung einer Maus 103 als Zeigereinrichtung und einer Tastatur 104 oder dergleichen, die als Eingabeeinrichtung dienen, bestimmt der Bediener einen Bewegungspfad oder -kurs eines auf einem Bildschirm 101 einer Anzeige, wie einer Flüssigkristallanzeige (LCD-Anzeige), angezeigten Objekts und realisiert dann bei einer Betätigung einer Steuertafel 105 die bewegten Bilder.Fig. 1 illustrates an environment for defining moving images according to the present invention. Using a mouse 103 as a pointing device and a keyboard 104 or the like serving as an input device, the operator designates a movement path or course of an object displayed on a screen 101 of a display such as a liquid crystal display (LCD) and then realizes the moving images upon operation of a control panel 105.
Fig. 2 zeigt den Aufbau des Systems. Ein von dem die Eingabeeinrichtungen, wie die Maus 103, verwendenden Bediener bestimmtes Ereignis wird von einer Einrichtung 201 zur Bearbeitung des Eingangs interpretiert, die, wenn das Ereignis eine Betätigung des Objekts ist, eine Anweisung an eine Einheit 202 zur Verwaltung von Objekten und, wenn das Ereignis eine Anweisung zur Veränderung einer Bewegung ist, an eine Einheit 203 zur Verwaltung von Bewegungen ausgibt.Fig. 2 shows the structure of the system. An event determined by the operator using the input devices such as the mouse 103 is interpreted by an input processing device 201 which, if the event is an actuation of the object, issues an instruction to an object management unit 202 and, if the event is an instruction to change a movement, to a movement management unit 203.
Die Einheit 202 zur Verwaltung von Objekten verwaltet die Erzeugung und Veränderung von Formdaten eines als bewegtes Bild zu bewegenden Objekts und speichert die Formdaten in einer Speichereinheit 204 für Objektdaten. Die Einheit 203 zur Verwaltung von Bewegungen verwaltet die Erzeugung und Veränderung der Bewegung eines Objekts und speichert Daten zur Definition von Bewegungen in einer Speichereinheit 205 für Bewegungsdaten. Pfaddaten für Bewegungen sind ebenfalls in der Speichereinheit 205 für Bewegungsdaten gespeichert.The object management unit 202 manages the creation and modification of shape data of an object to be moved as a moving image and stores the shape data in an object data storage unit 204. The motion management unit 203 manages the creation and modification of the motion of an object and stores data for defining motions in a motion data storage unit 205. Path data for motions is also stored in the motion data storage unit 205.
Erteilt der Bediener durch Betätigung der Steuertafel 105 die Anweisung zur Realisierung eines bewegten Bilds eines Objekts auf dem Bildschirm 101, werden die erzeugten Formdaten des Objekts und die Bewegungsdaten von einer Einheit 206 zur Ausführung einer Tricksequenz gelesen, die wiederum die gelesenen Daten in eine Kette von Grafikfunktionen umwandelt und einen Grafiktreiber 207 anweist, sie anzuzeigen. Darauf werden bewegte Bilder auf dem Anzeigebildschirm 101 angezeigt.If the operator gives the instruction to realize a moving image of an object on the screen 101 by operating the control panel 105, the generated shape data of the object and the movement data are processed by a unit 206 to execute a trick sequence, which in turn converts the read data into a chain of graphics functions and instructs a graphics driver 207 to display them. Moving images are then displayed on the display screen 101.
Die Prozedur zum Einstellen des Pfads durch die Einheit 203 zur Verwaltung von Bewegungen wird beschrieben, wobei dies der Hauptteil der vorliegenden Ausführungsform ist.The procedure for setting the path by the movement management unit 203 will be described, which is the main part of the present embodiment.
Die Einheit 203 zur Verwaltung von Bewegungen führt die folgende Verarbeitung durch, wenn unter Verwendung eines Geschwindigkeitsvektors eine Pfadzuweisung erfolgt. Zunächst werden über die Steuertafel 105 die Zeitpunkte eingegeben, die eine Bewegung definieren. Die eingegebenen Zeitpunkte werden als die zu den jeweiligen Schlüsselrahmen gehörigen Zeitpunkte gespeichert. Der Zeitpunkt am Startpunkt eines Schlüsselrahmens für den Startpunkt wird durch T0 repräsentiert, und der Zeitpunkt des Endpunkts eines Schlüsselrahmens für den Endpunkt wird durch Tn repräsentiert. Als nächstes werden die Positionen des Start- und Endpunkts bestimmt. Die festgelegten Positionen werden durch die dreidimensionale Koordinaten (X0, Y0, Z0) und (Xn, Yn, Zn) repräsentiert.The motion management unit 203 performs the following processing when path assignment is made using a velocity vector. First, the timings that define a motion are input via the control panel 105. The input timings are stored as the timings corresponding to the respective key frames. The timing at the start point of a key frame for the start point is represented by T0, and the timing at the end point of a key frame for the end point is represented by Tn. Next, the positions of the start and end points are determined. The determined positions are represented by the three-dimensional coordinates (X0, Y0, Z0) and (Xn, Yn, Zn).
Dann werden die Geschwindigkeiten berechnet. Die Geschwindigkeiten werden wie nachstehend angegeben derart berechnet, daß sie vom Startpunkt bis zum Endpunkt eine gleichmäßige Bewegung erzeugen.Then the velocities are calculated. The velocities are calculated as shown below in such a way that they produce a uniform motion from the starting point to the end point.
Vx = (Xn - X0)/(Tn - T0)Vx = (Xn - X0)/(Tn - T0)
Vy = (Yn - Y0)/(Tn - T0)Vy = (Yn - Y0)/(Tn - T0)
Vz = (Zn - Z0)/(Tn - T0)Vz = (Zn - Z0)/(Tn - T0)
Die Geschwindigkeitsvektoren werden unter Verwendung der berechneten Geschwindigkeitskomponenten angezeigt. Die Geschwindigkeitsvektoren werden nahe dem Start- und dem Endpunkt des Orts angezeigt. Der Geschwindigkeitsvektor am Startpunkt wirdThe velocity vectors are displayed using the calculated velocity components. The velocity vectors are displayed near the start and end points of the location. The velocity vector at the start point is
für die Koordinaten des Startpunkts eines Vektors durch (X0, Y0, Z0) undfor the coordinates of the starting point of a vector by (X0, Y0, Z0) and
für die Koordinaten des Endpunkts eines Vektors durch (X0 + K · Vx, Y0 + K · Vy, Z0 + K · Vz)for the coordinates of the end point of a vector by (X0 + K · Vx, Y0 + K · Vy, Z0 + K · Vz)
angegeben. K ist ein Koeffizient, der verwendet wird, um die Vektorrepräsentation leicht erkennbar zu machen.K is a coefficient used to make the vector representation easily recognizable.
Der Vektor am Endpunkt wird auf ähnliche Weise erhalten.The vector at the endpoint is obtained in a similar way.
Soll der Pfad verändert oder korrigiert werden, wird die folgende Prozedur ausgeführt. Zunächst wird unter Verwendung einer Eingabeeinrichtung 103, wie einer Maus, der zu verändernde Pfad oder Geschwindigkeitsvektor bestimmt.If the path is to be changed or corrected, the following procedure is carried out. First, the path or velocity vector to be changed is determined using an input device 103, such as a mouse.
Wird ein Geschwindigkeitsvektor bestimmt und ist die Position des bestimmten Geschwindigkeitsvektors der Startpunkt des Vektors, wird die Position des Startpunkts des Vektors in die aktuelle Position des Cursors verändert. Ähnlich wird, wen die bestimmte Position der Endpunkt eines Vektors ist, die Position des Endpunkts des Vektors in die aktuelle Position des Cursors umgeändert. Ist die bestimmte Position weder der Startpunkt noch der Endpunkt des Vektors, wird der Vektor parallel verschoben, um der Bewegung des Cursors zu folgen. Wird die Linie eines Pfads bestimmt, werden die Geschwindigkeitsvektoren sowohl am Start- als auch am Endpunkt des Pfads parallel verschoben, um zu veranlassen, daß der Pfad und die Geschwindigkeitsvektoren der Bewegung des Cursors: folgen.If a velocity vector is specified and the position of the specified velocity vector is the start point of the vector, the position of the start point of the vector is changed to the current position of the cursor. Similarly, if the specified position is the end point of a vector, the position of the end point of the vector is changed to the current position of the cursor. If the specified position is neither the start point nor the end point of the vector, the vector is translated in parallel to follow the movement of the cursor. If the line of a path is specified, the velocity vectors at both the start and end points of the path are translated in parallel to cause the path and velocity vectors to follow the movement of the cursor.
Der Bewegungspfad wird unter Verwendung der auf die vorstehend beschriebene Weise eingestellten Geschwindigkeitsvektoren auf die folgende Weise erhalten.The motion path is obtained using the velocity vectors set in the manner described above in the following manner.
Die Koordinaten der Start- und Endpunkte der eingestellten Vektoren werden wie in Fig. 3 dargestellt angenommen.The coordinates of the start and end points of the set vectors are assumed as shown in Fig. 3.
Ein Geschwindigkeitsvektor am Startpunktrahmen (t = T0) des Pfads hatA velocity vector at the starting point frame (t = T0) of the path has
die Vektorstartpunktkoordinaten (X0s, Y0s, Z0s)the vector starting point coordinates (X0s, Y0s, Z0s)
undand
die Vektorendpunktkoordinaten (X0e, Y0e, Z0e) (1).the vector endpoint coordinates (X0e, Y0e, Z0e) (1).
Ein Geschwindigkeitsvektor am Endpunktrahmen (t = Tn) des Pfads hatA velocity vector at the endpoint frame (t = Tn) of the path has
die Vektorstartpunktkoordinaten (Xns, Yns, Zns)the vector starting point coordinates (Xns, Yns, Zns)
undand
die Vektorendpunktkoordinaten (Xne, Yne, Zne) (2).the vector endpoint coordinates (Xne, Yne, Zne) (2).
Die eingegebenen und bestimmten Geschwindigkeiten können wie folgt berechnet werden.The entered and determined speeds can be calculated as follows.
Die Geschwindigkeit des Startpunktrahmens (t = T0) des Pfads istThe speed of the starting point frame (t = T0) of the path is
V0x = (X0e - X0s)/KV0x = (X0e - X0s)/K
V0y = (Y0e - Y0s)/KV0y = (Y0e - Y0s)/K
V0z = (Z0e - Z0s)/K... (3).V0z = (Z0e - Z0s)/K... (3).
Die Geschwindigkeit des Endpunktrahmens (t = Tn) des Pfads istThe speed of the endpoint frame (t = Tn) of the path is
Vnx = (Xne - Xns)/KVnx = (Xne - Xns)/K
Vny = (Yne - Yns)/KVny = (Yne - Yns)/K
Vnz = (Zne - Zns)/K ... (4).Vnz = (Zne - Zns)/K ... (4).
Eine Interpolation des Pfads erfolgt unter Verwendung des folgenden Polynoms dritter Ordnung unter Verwendung der Zeit als Parameter.An interpolation of the path is performed using the following third order polynomial using the time as a parameter.
X = AX · t³ + BX · t² + CX · t + DxX = AX · t³ + BX · t² + CX · t + Dx
y = Ay · t³ + By · t² + Cy · t + Dyy = Ay t³ + By t² + Cy t + Dy
z = Az · t³ + Bz · t² + Cz · t + Dz... (5)z = Az · t³ + Bz · t² + Cz · t + Dz... (5)
Mit den vorstehend angegebenen Pfadgleichungen wird die Geschwindigkeit wie nachstehend dargestellt durch einmalige Differenzierung ermittelt.Using the path equations given above, the velocity is determined by one-time differentiation as shown below.
Vx = 3 · Ax · t² + 2 · Bx · t + CxVx = 3 · Ax · t² + 2 · Bx · t + Cx
Vy = 3 · Ay · t² + 2 · By · t + CyVy = 3 · Ay · t² + 2 · By · t + Cy
Vz = 3 · Az · t² + 2 · Bz · t + Cz ... (6)Vz = 3 · Az · t² + 2 · Bz · t + Cz ... (6)
Die Gleichungen (1) und (2) für die Positionen der Start- und Endpunkte und die Gleichungen (3) und (4) für die Geschwindigkeiten an den Positionen der Start- und Endpunkte werden in die Gleichungen (5) und (6) eingesetzt, so daß zwölf Gleichungen mit zwölf Unbekannten erhalten werden, wodurch die Unbekannten Ax, Bx, Cx, Dx, Ay, By, Cy, Dy, Az, Bz, Cz und Dz eindeutig bestimmt werden.Equations (1) and (2) for the positions of the start and end points and equations (3) and (4) for the velocities at the positions of the start and end points are substituted into equations (5) and (6) to obtain twelve equations with twelve unknowns, which uniquely determine the unknowns Ax, Bx, Cx, Dx, Ay, By, Cy, Dy, Az, Bz, Cz and Dz.
Der Pfad kann anhand der Gleichung (5) erhalten werden, indem der Zeitpunkt von t = T0 in t = Tn umgeändert wird. Durch Abbilden der Positionen für jede Zeiteinheit auf dem Bildschirm kann als Ort des Pfads eine Pfadlinie auf den Bildschirm gezeichnet werden.The path can be obtained from equation (5) by changing the time from t = T0 to t = Tn. By mapping the positions for each unit of time on the screen, a path line can be drawn on the screen as the location of the path.
Die vorstehend beschriebene Verarbeitung zum Zeichnen einer Pfadlinie wird jedesmal ausgeführt, wenn sich die Mauskoordinaten verändern, wodurch eine dynamische Veränderung des Pfads und eine Bestimmung des Pfads bei der Erkennung des Bewegungspunkts eines Objekts ermöglicht werden.The processing for drawing a path line described above is executed each time the mouse coordinates change, thereby enabling dynamic change of the path and determination of the path upon detection of the movement point of an object.
Fig. 4 stellt die Struktur der Verwaltung der Pfaddaten auf. Jedes Objekt wird durch einen Knotenpunkt 401 zur Verwaltung eines Objekts in der Einheit 204 zur Speicherung der Objektdaten verwaltet. Der Bewegungspfad eines Objekts kann in dem Knotenpunkt 401 zur Verwaltung eines Objekts gesucht werden, wobei der Bewegungspfad als Liste 402 von Schlüsselrahmendaten in der Einheit 205 zur Speicherung der Bewegungsdaten gespeichert wird. Jeder Knotenpunkt der Liste der Schlüsselrahmendaten entspricht jedem eingestellten Schlüsselrahmen, wobei der Knotenpunkt einen Zeitpunkt für den Schlüsselrahmen, den Start- und den Endpunkt eines Geschwindigkeitsvektors, einen Zeiger auf den nächsten Schlüsselrahmen und einen Zeiger auf die Parametertabelle 403 für den erhaltenen Pfad aufweist. Die Parametertabelle wird durch den vorhergehenden und den nachfolgenden Schlüsselrahmenknotenpunkt identifiziert.Fig. 4 sets out the structure of the path data management. Each object is managed by an object management node 401 in the object data storage unit 204. The movement path of an object can be searched in the object management node 401, and the movement path is stored as a list 402 of key frame data in the movement data storage unit 205. Each node of the list of key frame data corresponds to each set key frame, and the node sets a time for the key frame, the start and end points of a velocity vector, a pointer to the next key frame, and a pointer to the parameter table 403 for the obtained path. The parameter table is identified by the preceding and following key frame nodes.
Der eingestellte und auf dem Anzeigebildschirm 101 angezeigte Bewegungspfad kann veränderlich feiner bestimmt werden, wie in den Fig. 5a bis 5c dargestellt. Fig. 5a zeigt einen bereits auf dem Anzeigebildschirm 101 angezeigten Pfad 500, einen Startpunkt 511, eine Geschwindigkeit 512 am Startpunkt, einen Endpunkt 521 und eine Geschwindigkeit 522 am Endpunkt. Zunächst wird, wie in Fig. 5b dargestellt, ein neuer Schlüsselrahmen bestimmt. Der Bediener gibt über die Eingabeeinrichtung eine Position 501 ein, an der der Pfad korrigiert oder verändert werden soll, wobei die Position dadurch auf dem Anzeigebildschirm dargestellt wird. Der Zeitpunkt für den bestimmten Punkt kann anhand der Gleichung (5) erhalten werden. Der Zeitpunkt wird als Zeitpunkt für den neuen Schlüsselrahmen verwendet, und ein neuer Schlüsselrahmenknotenpunkt wird erzeugt und an der dem Zeitpunkt entsprechenden Stelle in die Liste der Schlüsselrahmendaten eingefügt. Die Geschwindigkeitsvektordaten zu diesem Zeitpunkt können unter Verwendung des Zeitpunkts anhand der Gleichung (6) ermittelt werden. Der erhaltene Geschwindigkeitsvektor 502 wird an der bestimmten Position auf dem Anzeigebildschirm angezeigt. Die zu verändernde Position 501 kann zu der gleichen Zeit angezeigt werden, zu der der berechnete Geschwindigkeitsvektor 502 angezeigt wird.The movement path set and displayed on the display screen 101 can be variably determined more finely, as shown in Figs. 5a to 5c. Fig. 5a shows a path 500 already displayed on the display screen 101, a start point 511, a speed 512 at the start point, an end point 521, and a speed 522 at the end point. First, as shown in Fig. 5b, a new key frame is determined. The operator inputs a position 501 at which the path is to be corrected or changed via the input device, the position being thereby displayed on the display screen. The time point for the determined point can be obtained from the equation (5). The time point is used as the time point for the new key frame, and a new key frame node is generated and inserted into the list of key frame data at the position corresponding to the time point. The velocity vector data at this time can be obtained using the time from the equation (6). The obtained velocity vector 502 is displayed at the determined position on the display screen. The position 501 to be changed can be displayed at the same time that the calculated velocity vector 502 is displayed.
Die Verarbeitung zur Veränderung eines Geschwindigkeitsvektors erfolgt auf die gleiche Weise wie vorstehend beschrieben. Es wird jedoch darauf hingewiesen, daß der zu verändernde Geschwindigkeitsvektor sowohl als Endpunktdaten des Pfads, der sich von dem vorhergehenden Schlüsselrahmen er streckt, als auch als Startpunktdaten des Pfads verarbeitet wird, der sich zu dem nachfolgenden Schlüsselrahmen erstreckt, wodurch eine gleichzeitige Veränderung des vorhergehenden und den nachfolgenden Pfads ermöglicht wird. Bei diesem Aufbau können die Pfade und Geschwindigkeiten vor und nach dem neu eingestellten Schlüsselrahmen gleichmäßig gekoppelt werden. Gemäß Fig. 5 kann beispielsweise beim Ändern der Geschwindigkeit 502 in eine Geschwindigkeit 503 ein neuer Pfad 504 eine gleichmäßige Bewegung definieren. Wie in Fig. 5c dargestellt, können der Pfad 500 und der neue Pfad 504 gleichzeitig dargestellt werden. Hierbei ist es zweckmäßig, den Pfad 500 in Form einer feinen Linie, einer gestrichelten Linie oder in einer ersten Farbe und den zweiten Pfad 504 in Form einer fett dargestellten Linie, einer durchgehenden Linie oder in einer zweite Farbe anzuzeigen, um sie für den Bediener unterscheidbar zu machen. Es kann auch nur der Pfad 504 angezeigt werden.The processing for changing a velocity vector is carried out in the same way as described above. However, it should be noted that the velocity vector to be changed is used both as end point data of the path extending from the previous key frame and as stretches, and is processed as the start point data of the path extending to the subsequent key frame, thereby enabling simultaneous change of the preceding and subsequent paths. With this construction, the paths and speeds before and after the newly set key frame can be smoothly coupled. For example, as shown in Fig. 5, when changing the speed 502 to a speed 503, a new path 504 can define a smooth movement. As shown in Fig. 5c, the path 500 and the new path 504 can be displayed simultaneously. Here, it is convenient to display the path 500 in the form of a fine line, a dashed line or in a first color and the second path 504 in the form of a bold line, a solid line or in a second color in order to make them distinguishable for the operator. Or only the path 504 can be displayed.
Soll die Bewegung dagegen rasch verändert werden, werden zwei Schlüsselrahmen mit unterschiedlichen Geschwindigkeitsvektoren für den gleichen Zeitpunkt eingestellt. Der Bediener bestimmt, ob die Bewegung gleichmäßig oder rasch gekoppelt werden soll. Wenn sich die Position des Endpunkts und ein Zeitpunkt für einen bestimmten Pfad in gewissem Maße nahe der Position des Startpunkts und dem Zeitpunkt eines weiteren Pfads befinden und wenn der Bediener eine gleichmäßige Kopplung zwischen ihnen auswählt, wird die Verwaltung der beiden Pfade in die Verwaltung eines Pfads umgeändert. Es wird nämlich einer der Schlüsselrahmenknotenpunkte 402 gelöscht, um den Endpunkt und den Startpunkt so zu verwalten, als wären sie von dem gleichen Schlüsselrahmenknotenpunkt erhalten worden.On the other hand, if the motion is to be changed rapidly, two key frames with different velocity vectors are set for the same time. The operator determines whether the motion is to be coupled smoothly or rapidly. If the position of the end point and a time for a certain path are somewhat close to the position of the start point and the time of another path, and if the operator selects a smooth coupling between them, the management of the two paths is changed to the management of one path. Namely, one of the key frame nodes 402 is deleted to manage the end point and the start point as if they were obtained from the same key frame node.
Ein bewegtes Bild wird auf die folgende Weise realisiert. Zuerst gibt der Bediener über die Steuertafel 105 eine Anweisung zur Ausführung einer Tricksequenz ein. Es wird da von ausgegangen, daß die Anzahl der Rahmen pro Sekunde vorab auf N Rahmen pro Sekunde eingestellt ist. Bei jeder 1/N-tel Zeiteinheit nach dem Start der Tricksequenz wird bestimmt, welche Parametertabelle 403 zwischen den Schlüsselrahmenknotenpunkten 402 für ein Objekt verwendet wird. Die Koordinaten der Position des Objekts werden unter Verwendung der Daten in der bestimmten Parametertabelle anhand der Gleichung (5) ermittelt. Die vorstehend beschriebenen Prozesse werden wiederholt, bis die Tricksequenz abgeschlossen ist. Auf diese Weise bewegt sich das Objekt, während die Zeit verstreicht, wodurch eine Tricksequenz realisiert wird.A moving picture is created in the following way. First, the operator enters an instruction to execute a trick sequence via the control panel 105. It is assumed that the number of frames per second is set to N frames per second in advance. At every 1/Nth time unit after the start of the trick sequence, it is determined which parameter table 403 between the key frame nodes 402 is used for an object. The coordinates of the position of the object are determined using the data in the determined parameter table from the equation (5). The above-described processes are repeated until the trick sequence is completed. In this way, the object moves as time passes, thereby realizing a trick sequence.
Durch die Verwendung der Vorrichtung und des Verfahrens zur Erzeugung eines Bewegungspfads gemäß der vorliegenden Ausführungsform ist es möglich, bewegte Bilder zur Verwendung für eine industrielle Produktpräsentation zu definierten. So werden beispielsweise, wie in Fig. 6 dargestellt, die Bewegung eines tatsächlichen Produkts an jedem Teil 601, 602, die Bewegung einer Kamera 603 und die Bewegung einer Lichtquelle 604 entsprechend dem Verfahren gemäß der Ausführungsform bestimmt. Das Produkt, die Kamera und die Lichtquelle entsprechen dem vorstehend beschriebenen Objekt, wobei ihr Bewegungspfad unter Verwendung von Geschwindigkeitsvektoren gesteuert wird. Die Diskontinuität der Bewegung, insbesondere der Bewegung der Kamera, wird für den Gesichtssinn erheblich wiedergegeben, und in diesem Zusammenhang bietet das Verfahren gemäß der Ausführungsform sehr vorteilhafte Wirkungen.By using the motion path generating apparatus and method according to the present embodiment, it is possible to define moving images for use in industrial product presentation. For example, as shown in Fig. 6, the motion of an actual product at each part 601, 602, the motion of a camera 603, and the motion of a light source 604 are determined according to the method according to the embodiment. The product, the camera, and the light source correspond to the object described above, and their motion path is controlled using velocity vectors. The discontinuity of the motion, particularly the motion of the camera, is significantly reflected to the sense of sight, and in this connection the method according to the embodiment offers very advantageous effects.
Eine weitere Ausführungsform der vorliegenden Erfindung wird unter Bezugnahme auf Fig. 7 beschrieben. Eine Einheit 701 zur Eingabe und Verarbeitung von Formen ist eine Einheit zur Eingabe einer dreidimensionalen Form. Die Einheit 701 zur Eingabe und Verarbeitung von Formen führt eine Affin-Transformation der eingegebenen Form aus. Eine Einheit 702 zur Einstellung von Attributen stellt interaktiv ein die durch die Einheit 701 zur Eingabe und Verarbeitung von Formen defi nierten Formdaten betreffendes Attribut eines Objekts ein. Der hier verwendete Begriff "Attribut" schließt die für ein Objekt spezifische Farbe, ein Reflexionsattribut der Anzeige und eine Methode zur Ausführung einer Maskierung ein. Ein Kameraattribut und ein Lichtquellenattribut werden ebenfalls interaktiv eingestellt. Das Kameraattribut schließt virtuelle Kameraparameter, die bei der Wiedergabe eines Bilds verwendet werden, d.h. einen Blickwinkel, eine Fokuslänge und eine Blendengeschwindigkeit, ein. Das Lichtquellenattribut umfaßt die Art einer Lichtquelle, d.h. ein Attribut zur Bestimmung entweder einer parallel gerichteten Lichtquelle, einer Punktlichtquelle und einer Spotlichtquelle, und der Farbe und Intensität des abgestrahlten Lichts. Eine Einrichtung 703 zur Einstellung von Bewegungen stellt die Bewegungen sämtlicher Objekte ein. Die Bewegung eines Objekts wird durch die Position und die Blickrichtung eines Objekts zu einem bestimmten Zeitpunkt repräsentiert. Die Bewegungen von Kamera und Lichtquelle werden auf annähernd die gleiche Weise wie die eines Objekts eingestellt. Die Einheit 702 zur Einstellung von Bewegungen bestimmt auch ein Attribut, das sich mit der Zeit verändert, wobei sie parallel zu der Einheit 702 zur Einstellung von Attributen arbeitet. Eine Einheit 704 zur Bildaufbereitung erzeugt unter Verwendung der von der Einheit 701 zur Eingabe und Verarbeitung von Formen, der Einheit 702 zur Einstellung von Attributen und der Einheit 703 zur Einstellung von Bewegungen definierten Daten ein bewegtes Bild.Another embodiment of the present invention will be described with reference to Fig. 7. A shape input and processing unit 701 is a unit for inputting a three-dimensional shape. The shape input and processing unit 701 performs an affine transformation of the inputted shape. An attribute setting unit 702 interactively sets the attributes defined by the shape input and processing unit 701. nated shape data. The term "attribute" as used herein includes color specific to an object, a reflection attribute of the display, and a method of performing masking. A camera attribute and a light source attribute are also set interactively. The camera attribute includes virtual camera parameters used in displaying an image, that is, a view angle, a focus length, and a shutter speed. The light source attribute includes the type of light source, that is, an attribute for designating either a collimated light source, a point light source, and a spotlight light source, and the color and intensity of the emitted light. A motion setting unit 703 sets the movements of all objects. The motion of an object is represented by the position and the direction of view of an object at a certain time. The movements of the camera and light source are set in approximately the same way as those of an object. The motion setting unit 702 also sets an attribute that changes with time, operating in parallel with the attribute setting unit 702. An image processing unit 704 generates a moving image using the data defined by the shape input and processing unit 701, the attribute setting unit 702, and the motion setting unit 703.
Als nächstes wird ein Verfahren zur Bestimmung der spezifischen Farbe eines Objekts, des Oberflächenreflexionsattributs und des Lichtquellenattributs beschrieben, wobei dieses Verfahren mit dieser Ausführungsform verwendet wird. In der tatsächlichen Phase hängen die Eigenschaften von von der Oberfläche eines Objekts reflektiertem Licht nicht nur von den Eigenschaften des das Objekt beleuchtenden Lichts ab, sondern auch von den Eigenschaften der Oberfläche des Objekts. Im Bereich der Computergrafik wird eine gewünschte Bildqualität eines Materials unter Verwendung der Eigenschaften der Oberfläche eines Objekts erhalten. Von der Oberfläche eines Objekts reflektiertes Licht wird in gestreutes Licht und gespiegeltes Licht klassifiziert. Das gestreute Licht sind die Komponenten des Lichts, die einmal in ein Objekt eingedrungen sind und dann von der Oberfläche des Objekts in einer Richtung abgestrahlt werden. Das gespiegelte Licht sind die Komponenten des Lichts, die von der Oberfläche eines Objekts spiegelartig reflektiert werden. Bei dieser Ausführungsform wird unter Verwendung der folgenden Gleichung und unter Berücksichtigung der vorstehend beschriebenen Umstände die Luminanz jedes Punkts auf der Oberfläche eines Objekts bestimmt.Next, a method for determining the specific color of an object, the surface reflection attribute and the light source attribute will be described, which method is used with this embodiment. In the actual stage, the properties of light reflected from the surface of an object depend not only on the properties of the light illuminating the object, but also on the properties of the surface of the object. In the field of computer graphics, a desired Obtain image quality of a material using the characteristics of the surface of an object. Light reflected from the surface of an object is classified into scattered light and specular light. The scattered light is the components of light that have once penetrated into an object and are then emitted from the surface of the object in one direction. The specular light is the components of light that are reflected from the surface of an object in a specular manner. In this embodiment, using the following equation and taking the above-described circumstances into consideration, the luminance of each point on the surface of an object is determined.
I = Ib · Ka + lf Kd · cos(A) + If · Ks · W(B) + Ks · R(C) + Kt · T(D) ... (7)I = Ib · Ka + lf Kd · cos(A) + If · Ks · W(B) + Ks · R(C) + Kt · T(D) ... (7)
In der Gleichung (7) repräsentieren I eine bestimmte Luminanz auf der Oberfläche eines Objekts, If und Ib einen Parameter, der die Eigenschafen einer Lichtquelle angibt, und Ka, Kd, Ks und Kt einen Parameter, der die Eigenschaften der Oberfläche eines Objekts angeben. Die Gleichung (7) wird für jede Farbkomponente unabhängig berechnet.In equation (7), I represents a certain luminance on the surface of an object, If and Ib represent a parameter indicating the properties of a light source, and Ka, Kd, Ks and Kt represent a parameter indicating the properties of the surface of an object. Equation (7) is calculated for each color component independently.
Der zweite Term der Gleichung (7) ist ein Begriff, der das Lambertsche Kosinusgesetz repräsentiert, das angewendet wird; wenn Licht von einer Lichtquelle perfekt gestreut und reflektiert wird. In dem zweiten Begriff ist If ein Faktor, der die Farbe der Lichtquelle angibt, Kd ist ein Faktor, der die Intensität einer gestreuten Reflexion angibt, und A in cos(A) ist ein Winkel zwischen einer Normalenlinie auf der Objektoberfläche und der Richtung der Lichtquelle von der Oberfläche des Objekts aus betrachtet. Dieser Begriff gibt die Komponenten der für ein Objekt spezifischen Farbe, wie Kunststoff oder Gips, an. Der erste Begriff der Gleichung (7) gibt die Komponenten des Umgebungslichts außer der Lichtquelle an und wird verwendet, um zu verhindern, daß ein Abschnitt eines Objekts schwarz wird, wenn der Abschnitt nicht direkt von der Lichtquelle beleuchtet wird. Im ersten Begriff ist Ib ein Faktor, der die Farbe und Intensität des Umgebungslichts angibt, und Ka ist ein Faktor, der die Intensität der Reflexion des Umgebungslichts angibt. Der dritte Begriff der Gleichung (7) gibt die Komponenten des gespiegelten Lichts an und wird in einem Fall angewendet, in dem Licht von der Lichtquelle von der Oberfläche des Objekts spiegelartig reflektiert wird. Im dritten Begriff weist If den gleichen Wert wie im zweiten Begriff auf und gibt die Farbe der Lichtquelle an. Ks ist ein Faktor, der die Intensität einer Spiegelreflexion angibt, B in W(B) ist ein Winkel zwischen der Richtung eines Blickwinkels und der Richtung einer Normalenreflexion auf der Spiegeloberfläche, und W ist eine Funktion, die eine Dämpfung angibt, wenn sich der Blickwinkel aus der Richtung der Normalenspiegelreflexion verschiebt. Der vierte Begriff der Gleichung (7) gibt die Komponenten eines Bilds eines von der Oberfläche des Objekts reflektierten weiteren Objekts an. In dem vierten Begriff hat Ks den gleichen Wert wie im dritten Begriff und ist ein Faktor, der die Intensität einer Spiegelreflexion angibt. R(C) ist ein Faktor, der ein auf der Oberfläche des Objekts reflektiertes Bild angibt, wobei der Faktor durch ein Verfahren wie ein Strahlenverfolgungsverfahren bestimmt wird. Der fünfte Begriff der Gleichung (7) gibt die Komponenten des durch ein Objekt übertragenen Lichts an. Im fünften Begriff ist Kt ein Faktor, der die Intensität übertragenen Lichts angibt, T(D) ist ein Faktor, der ein Bild des übertragenen Lichts angibt, das durch ein Verfahren wie ein Strahlenverfolgungsverfahren bestimmt wird, wobei ein Refraktionsindex und dergleichen berücksichtigt werden.The second term of equation (7) is a term representing Lambert's cosine law, which is applied when light from a light source is perfectly scattered and reflected. In the second term, If is a factor indicating the color of the light source, Kd is a factor indicating the intensity of a scattered reflection, and A in cos(A) is an angle between a normal line on the object surface and the direction of the light source viewed from the surface of the object. This term indicates the components of the color specific to an object, such as plastic or plaster. The first term of equation (7) indicates the components of the ambient light other than the light source and is used to prevent a section of an object turns black when the portion is not directly illuminated by the light source. In the first term, Ib is a factor indicating the color and intensity of the ambient light, and Ka is a factor indicating the intensity of reflection of the ambient light. The third term of equation (7) gives the components of the specular light and is applied in a case where light from the light source is reflected from the surface of the object in a mirror-like manner. In the third term, If has the same value as in the second term and indicates the color of the light source. Ks is a factor indicating the intensity of a specular reflection, B in W(B) is an angle between the direction of a viewing angle and the direction of a normal reflection on the mirror surface, and W is a function indicating attenuation when the viewing angle shifts from the direction of the normal mirror reflection. The fourth term of equation (7) gives the components of an image of another object reflected from the surface of the object. In the fourth term, Ks has the same value as in the third term and is a factor indicating the intensity of a specular reflection, R(C) is a factor indicating an image reflected on the surface of the object, the factor being determined by a method such as a ray tracing method. The fifth term of equation (7) indicates the components of light transmitted through an object. In the fifth term, Kt is a factor indicating the intensity of transmitted light, T(D) is a factor indicating an image of the transmitted light determined by a method such as a ray tracing method, taking into account a refractive index and the like.
Die Spiegelreflexionskomponenten und die reflektierten Bildkomponenten spielen eine Wichtige Rolle bei der Realisierung der Bildqualität des Materials eines Objekts. Die Spiegelreflexionskomponenten eines Objekts wie Kunststoff haben beispielsweise die gleiche Farbe wie eine Lichtquelle, und die von Metall, durchgehender Farbe und dergleichen haben eine Farbe, die sich von der einer Lichtquelle unterscheidet. Wird beispielsweise roter Kunststoff mit einem weißen Licht beleuchtet, werden die Spiegelreflexionskomponenten weiß, wogegen bei einer Beleuchtung von Kupfer mit dem selben weißen Licht die Spiegelreflexionskomponenten rot werden.The specular reflection components and the reflected image components play an important role in realizing the image quality of the material of an object. For example, the specular reflection components of an object such as plastic have the same color as a light source, and those of metal, solid color, and the like have a color different from that of a light source. For example, when red plastic is illuminated with a white light, the specular reflection components become white, whereas when copper is illuminated with the same white light, the specular reflection components become red.
Ein praktisches System zur Bestimmung der Luminanz auf einem Objekt wird unter Bezugnahme auf Fig. 8 beschrieben. Eine Einrichtung 801 zur Einstellung einer objektspezifischen Farbe bestimmt die spezifische Farbe eines Objekts. Zur Realisierung der Materialbildqualität von rotem Kunststoff oder Kupfer wird beispielsweise rot als die spezifische Farbe des Objekts festgelegt. Die Einrichtung 801 zur Einstellung der spezifischen Farbe eines Objekts verwendet beispielsweise drei Primärfarben, rot, grün und blau, und der Bediener weist ihre Intensitäten zu, um einen gewünschten Farbton zu realisieren. Ein Computer zeigt dem Bediener wählbare mögliche Farben. Hierbei ruft die Vorrichtung 801 zur Einstellung der objektspezifischen Farbe eine Kombination gespeicherter Rot-, Grün- und Blautöne ab, um sie als objektspezifische Farben zu verwenden, wenn der Bediener eine der möglichen Farben auswählt. Eine Vorrichtung 802 für das Oberflächenreflexionsattribut empfängt die objektspezifischen Farben und berechnet die Parameter Ka, Kd, Ks und Kt der Gleichung (7).A practical system for determining luminance on an object is described with reference to Fig. 8. An object-specific color setting device 801 determines the specific color of an object. For example, to realize the material image quality of red plastic or copper, red is set as the specific color of the object. The object-specific color setting device 801 uses, for example, three primary colors, red, green and blue, and the operator assigns their intensities to realize a desired color tone. A computer presents selectable possible colors to the operator. Here, the object-specific color setting device 801 recalls a combination of stored red, green and blue tones to use as object-specific colors when the operator selects one of the possible colors. A surface reflection attribute device 802 receives the object-specific colors and calculates the parameters Ka, Kd, Ks and Kt of equation (7).
Fig. 9 zeigt die Einzelheiten der Vorrichtung 802 zur Einstellung des Oberflächenreflexionsattributs zur Einstellung eines Oberflächenreflexionsattributs. Gemäß Fig. 9 empfängt eine Einheit 901 zur Einstellung der Intensität der Reflexion des Umgebungslichts die spezifische Farbe eines Objekts und moduliert die Intensitätskomponente, um Ka in der Gleichung (7) zu berechnen. Eine Modulation der Intensitätskomponente kann beispielsweise erreicht werden, indem zunächst die objektspezifische Farbe in das HLS-Farbmodell umgewandelt und dann die Helligkeitskomponente eingestellt wird. Eine Einheit 902 zur Einstellung der Intensität einer gestreuten Reflexion empfängt die objektspezifische Farbe und moduliert die Intensitätskomponente, um Kd in der Gleichung (7) zu berechnen. Eine Einheit 903 zur Einstellung der Bildqualität von Metall empfängt die objektspezifische Farbe und moduliert die Sättigungskomponente. Eine Modulation der Sättigungskomponente kann beispielsweise erreicht werden, indem zunächst die objektspezifische Farbe in das HLS-Farbmodell umgewandelt und dann die Sättigungskomponente eingestellt wird. Eine Einheit 904 zur Einstellung der Intensität der Spiegelreflexion empfängt die spezifische Farbe des sättigungsmodulierten Objekts und moduliert die Intensitätskomponente, um Ks in der Gleichung (7) zu berechnen. Eine Einheit 905 zur Einstellung der Intensität des übertragenen Lichts empfängt die objektspezifische Farbe und moduliert die Intensitätskomponente, um Kt in der Gleichung (7) zu berechnen. Ka, Kd, Ks und Kt sind Vektorinformationen, die Farbinformationen repräsentieren, und werden beispielsweise durch die Intensität jeder Komponente von rot, grün und blau repräsentiert.Fig. 9 shows the details of the surface reflection attribute adjustment device 802 for adjusting a surface reflection attribute. According to Fig. 9, an ambient light reflection intensity adjustment unit 901 receives the specific color of an object and modulates the intensity component to calculate Ka in the equation (7). Modulation of the intensity component can be achieved, for example, by first converting the object-specific color to the HLS color model and then adjusting the brightness component. A scattered reflection intensity adjustment unit 902 receives the object-specific color and modulates the intensity component to calculate Kd in the equation (7). A metal image quality adjustment unit 903 receives the object-specific color and modulates the saturation component. Modulation of the saturation component can be achieved, for example, by first converting the object-specific color to the HLS color model and then adjusting the saturation component. A specular reflection intensity adjustment unit 904 receives the specific color of the saturation-modulated object and modulates the intensity component to calculate Ks in the equation (7). A transmitted light intensity adjustment unit 905 receives the object-specific color and modulates the intensity component to calculate Kt in the equation (7). Ka, Kd, Ks, and Kt are vector information representing color information, and are represented, for example, by the intensity of each component of red, green, and blue.
Für eine Einheit zum Einstellen des Oberflächenreflexionsattributs kann ein Verfahren verwendet werden, bei dem ein Computer dem Bediener wählbare Möglichkeiten für ein Oberflächenreflexionsattribut zeigt. Hierbei werden bei der Auswahl einer der Möglichkeiten durch den Bediener die in die Einheit 802 zur Einstellung des Oberflächenreflexionsattributs eingegebene objektspezifische Farbe und die durch eine Anweisung des Bedieners angegebenen Parameter zur Berechnung und Ausgabe der Parameter Ka, Kd, Ks und Kt verwendet.For a surface reflection attribute setting unit, a method may be used in which a computer presents selectable choices for a surface reflection attribute to the operator. Here, when the operator selects one of the choices, the object-specific color input to the surface reflection attribute setting unit 802 and the parameters specified by an operator's instruction are used to calculate and output the parameters Ka, Kd, Ks and Kt.
Fig. 10 zeigt eine Vorrichtung zur Einstellung eines Lichtquellenattributs. Eine Einheit 1001 zur Einstellung einer lichtquellenspezifischen Farbe bestimmt die spezifische Farbe einer Lichtquelle. Die Einheit 1002 zur Einstellung der lichtquellenspezifischen Farbe verwendet drei Primärfarben, rot, grün und blau, und der Bediener weist ihre Intensitäten zu, um eine gewünschten Farbton zu realisieren. Ein Computer zeigt dem Bediener wählbare mögliche Farben. Hierbei ruft die Einheit 1001 zur Einstellung der lichtquellenspezifischen Farbe bei der Auswahl einer der Möglichkeiten durch den Bediener eine Kombination der gespeicherten Rot-, Grün- und Blautöne zur Verwendung als lichtquellenspezifische Farben auf. Eine Einheit 1003 zur Einstellung der Intensität der Lichtquelle empfängt die lichtquellenspezifische Farbe und moduliert die Intensitätskomponente, um If in der Gleichung (7) zu berechnen. Eine Einheit 1004 zur Einstellung der Farbe des Umgebungslichts empfängt die lichtquellenspezifische Farbe und eine Hintergrundfarbe und führt eine Interpolation zwischen diesen aus, um das Ergebnis auszugeben. Eine Einheit 1005 zur Einstellung der Intensität des Umgebungslichts empfängt Daten von der Einheit 1004 zur Einstellung der Farbe des Umgebungslichts und moduliert die Intensitätskomponente, um Ib in der Gleichung (7) zu berechnen.Fig. 10 shows a device for setting a light source attribute. A light source specific color setting unit 1001 determines the specific color of a light source. The light source specific color setting unit 1002 uses three primary colors, red, green and blue, and the operator assigns their intensities to realize a desired color tone. A computer presents selectable possible colors to the operator. Here, when the operator selects one of the choices, the light source specific color setting unit 1001 calls up a combination of the stored red, green and blue tones for use as the light source specific colors. A light source intensity setting unit 1003 receives the light source specific color and modulates the intensity component to calculate If in equation (7). An ambient light color setting unit 1004 receives the light source specific color and a background color and performs interpolation between them to output the result. An ambient light intensity setting unit 1005 receives data from the ambient light color setting unit 1004 and modulates the intensity component to calculate Ib in equation (7).
Fig. 11 zeigt ein Beispiel einer Anzeige auf dem Anzeigebildschirm 101, wobei ein Anzeigeabschnitt dargestellt ist, der als Benutzerschnittstelle zur Einstellung einer objektspezifischen Farbe und eines Oberflächenreflexionsattributs dient. Ein Satz von drei Schiebereglern für Farbton, Helligkeit und Sättigung wird zur Farbrepräsentation im HLS- Farbmodell und zur Angabe einer objektspezifischen Farbe verwendet. Der Satz von Schiebereglern hat die Funktion, eine Art von Symbol bereitzustellen. Ahnlich wird ein Satz von drei Schiebereglern für rot, grün und blau für eine Farbrepräsentation im RGB-Farbmodell und zur Angabe einer objektspezifischen Farbe verwendet. Der Satz Schieberegler für den Farbton, die Helligkeit und die Sättigung ist derart mit dem Satz Schieberegler für rot, grün und blau verbunden, daß bei einer Veränderung eines Satzes der andere ebenfalls verändert wird, wobei eine Abstimmung zwischen ihnen aufrechterhalten wird. Ein Schieberegler zur Einstellung der Intensität der Reflexion des Umgebungslichts wird zur Bestimmung des Parameters Ka durch Verändern der Helligkeitskomponente einer objektspezifischen Farbe verwendet, wie in Fig. 12 dargestellt. Fig. 12 zeigt einen Querschnitt eines HLS-Farbmodells. Die Farben auf einem Querschnitt weisen den gleichen Farbton auf, und der Querschnitt umfaßt eine objektspezifische Farbe. Bei einer Veränderung der Helligkeitskomponente wird der Wert von Ka kontinuierlich von der objektspezifischen Farbe zu schwarz verändert, wie durch eine fett gedruckte Linie dargestellt. Ein Schieberegler zur Einstellung der Intensität einer gestreuten Reflexion bestimmt Kd durch Verändern der Helligkeitskomponente einer objektspezifischen Farbe, wie ebenfalls in Fig. 12 dargestellt. Ein Schieberegler zur Einstellung der Rauhigkeit der Oberfläche ist ein Schieberegler zur Bestimmung des Bereichs der Oberflächenreflexionskomponenten. Ein Schieberegler zur Einstellung der Bildqualität eines Metallmaterials ist ein Schieberegler zur Veränderung der Sättigungskomponente einer objektspezifischen Farbe, wie in Fig. 13 durch eine fett gedruckte Linie dargestellt. Die Sättigungskomponente wird von der objektspezifischen Farbe zu einer achromatischen Farbe bzw. grau umgeändert. Wird der Schieberegler zur Metallseite bewegt, verändert sich der Ausgang zur objektspezifischen Farbe, wogegen er bei einer Bewegung des Schiebereglers zur Kunststoffseite zu einer achromatischen Farbe verändert wird. Ein Schieberegler zur Einstellung der Intensität der Spiegelreflexion bestimmt Ks durch Verändern der Helligkeitskomponente der durch den Schieberegler für die Bildqualität des Metallmaterials bestimmten Farbe, wie in Fig. 13 durch gestrichelte Linien dargestellt. Ein Schieberegler zur Einstellung der Intensität des übertragenen Lichts bestimmt Kt durch Verändern der Helligkeitskomponente einer objektspezifischen Farbe, wie in Fig. 12 dargestellt. Ein Schieberegler zur Einstellung eines Refraktionskoeffizienten ist ein Schieberegler zur Einstellung des Refraktionskoeffizienten eines transparenten Objekts.Fig. 11 shows an example of a display on the display screen 101, showing a display section that serves as a user interface for setting an object-specific color and a surface reflection attribute. A set of three sliders for hue, brightness and saturation is used for color representation in the HLS color model and for specifying an object-specific color. The set of sliders has the function of providing a type of symbol. Similarly, a set of three sliders for red, green and blue is used for color representation in the RGB color model and for specifying an object-specific color. The set of sliders for hue, brightness and saturation is connected to the set of sliders for red, green and blue in such a way that when one set is changed, the other is also changed, maintaining a balance between them. A slider for adjusting the intensity of the Reflection of ambient light is used to determine the parameter Ka by changing the brightness component of an object-specific color, as shown in Fig. 12. Fig. 12 shows a cross-section of an HLS color model. The colors on a cross-section have the same hue, and the cross-section includes an object-specific color. As the brightness component is changed, the value of Ka is continuously changed from the object-specific color to black, as shown by a bold line. A slider for adjusting the intensity of a scattered reflection determines Kd by changing the brightness component of an object-specific color, as also shown in Fig. 12. A slider for adjusting the roughness of the surface is a slider for determining the range of the surface reflection components. A slider for adjusting the image quality of a metal material is a slider for changing the saturation component of an object-specific color, as shown by a bold line in Fig. 13. The saturation component is changed from the object-specific color to an achromatic color or gray. When the slider is moved toward the metal side, the output changes to the object-specific color, whereas when the slider is moved toward the plastic side, the output changes to an achromatic color. A slider for adjusting the intensity of specular reflection determines Ks by changing the brightness component of the color determined by the image quality slider of the metal material, as shown by dashed lines in Fig. 13. A slider for adjusting the intensity of transmitted light determines Kt by changing the brightness component of an object-specific color, as shown in Fig. 12. A slider for adjusting a refractive coefficient is a slider for adjusting the refractive coefficient of a transparent object.
Gemäß Fig. 11 ist ein Menü zur Einstellung einer objektspezifischen Farbe ein Menü, das zur Auswahl der spezifischen Farbe eines Objekts verwendet wird. Bei der Auswahl durch den Bediener wird eine vorab gespeicherte spezifische Farbe aufgerufen und auf jedem Schieberegler eingestellt. Ein Menü zur Einstellung des Oberflächenreflexionsattributs ist ein Menü, das zur Auswahl eines Oberflächenreflexionsattributs verwendet wird. Bei der Auswahl durch den Bediener wird ein vorab gespeicherter Parameter aufgerufen und auf jedem Schieberegler eingestellt, so daß Ka, Kd, Ks, Kt, die Rauhigkeit der Oberfläche und der Refraktionskoeffizient auf den jeweiligen Schiebereglern eingestellt werden. Der Bediener kann eine Registrierung der objektspezifischen Farbe oder des Oberflächenreflexionsattributs, die auf den Schiebereglern eingestellt sind, in dem entsprechenden Menü anweisen.Referring to Fig. 11, an object-specific color setting menu is a menu used to select the specific color of an object. When selected by the operator, a pre-stored specific color is called up and set on each slider. A surface reflection attribute setting menu is a menu used to select a surface reflection attribute. When selected by the operator, a pre-stored parameter is called up and set on each slider so that Ka, Kd, Ks, Kt, the surface roughness and the refraction coefficient are set on the respective sliders. The operator can instruct registration of the object-specific color or the surface reflection attribute set on the sliders in the corresponding menu.
Fig. 14 zeigt ein Beispiel einer Anzeige auf dem Anzeigebildschirm 101, wobei ein Anzeigeabschnitt dargestellt ist, der als Benutzerschnittstelle zur Einstellung eines Lichtquellenattributs dient. Ein Satz von drei Schiebereglern für Farbton, Helligkeit und Sättigung wird zur Farbrepräsentation im HLS-Farbmodell und zur Angabe der spezifischen Farbe einer Lichtquelle verwendet. Der Satz Schieberegler hat die Funktion, eine Art von Symbol bereitzustellen. Ähnlich wird ein Satz von drei Schiebereglern für rot, grün und blau zur Farbrepräsentation im RGB-Farbmodell und zur Angabe der spezifischen Farbe einer Lichtquelle verwendet. Der Satz Schieberegler für Farbton, Helligkeit und Sättigung ist derart mit dem Satz Schieberegler für rot, grün und blau verbunden, daß bei einer Veränderung eines der Sätze auch der andere verändert wird, wobei eine Abstimmung zwischen ihnen aufrechterhalten wird. Ein Schieberegler für die Intensität der Lichtquelle wird zur Bestimmung von If durch eine Veränderung der Helligkeitskomponente einer lichtquellenspezifischen Farbe verwendet, wie ebenfalls in Fig. 12 dargestellt. Ein Schieberegler zur Einstellung der Farbe des Umgebungslichts ist ein Schie beregler zur Ausführung einer Interpolation zwischen der lichtquellenspezifischen Farbe und einer Hintergrundfarbe, wie in Fig. 15 dargestellt. Wird der Schieberegler zur Seite der Hintergrundfarbe bewegt, wird die Farbe des Umgebungslichts zur Hintergrundfarbe verändert, wogegen die Farbe des Umgebungslichts bei einer Bewegung des Schiebereglers zur Seite der lichtquellenspezifischen Farbe zur lichtquellenspezifischen Farbe verändert wird. Ein Schieberegler zur Einstellung der Intensität des Umgebungslichts bestimmt Ib durch Verändern der Helligkeitskomponente der durch den Schieberegler zur Einstellung der Farbe des Umgebungslichts bestimmten Farbe, wie in Fig. 15 durch gestrichelte Linien dargestellt. Ein Schieberegler zur Einstellung eines Modus der Lichtquelle stellt den Modus einer Lichtquelle ein.Fig. 14 shows an example of a display on the display screen 101, showing a display section that serves as a user interface for adjusting a light source attribute. A set of three sliders for hue, brightness and saturation is used for color representation in the HLS color model and for specifying the specific color of a light source. The set of sliders has the function of providing a type of icon. Similarly, a set of three sliders for red, green and blue is used for color representation in the RGB color model and for specifying the specific color of a light source. The set of sliders for hue, brightness and saturation is connected to the set of sliders for red, green and blue such that changing one of the sets also changes the other while maintaining coordination between them. A slider for the intensity of the light source is used to determine If by changing the brightness component of a light source specific color, as also shown in Fig. 12. A slider for adjusting the color of the ambient light is a slider slider for performing interpolation between the light source-specific color and a background color, as shown in Fig. 15. When the slider is moved toward the background color side, the color of the ambient light is changed to the background color, whereas when the slider is moved toward the light source-specific color side, the color of the ambient light is changed to the light source-specific color. A slider for adjusting the intensity of the ambient light determines Ib by changing the brightness component of the color determined by the slider for adjusting the color of the ambient light, as shown by dashed lines in Fig. 15. A slider for setting a mode of the light source sets the mode of a light source.
Gemäß Fig. 14 ist ein Menü zum Einstellen des Lichtquellenattributs ein Menü, das zur Auswahl eines Lichtquellenattributs verwendet wird. Bei der Auswahl durch den Bediener wird ein vorab gespeicherter Parameter aufgerufen und auf jedem Schieberegler eingestellt, um Ib, If und die Art einer Lichtquelle zu bestimmen. Der Bediener kann eine Anweisung zum Registrieren der auf den Schiebereglern eingestellten Lichtquellenattribute in dem Menü erteilen.As shown in Fig. 14, a light source attribute setting menu is a menu used to select a light source attribute. When selected by the operator, a pre-stored parameter is called and set on each slider to determine Ib, If and the type of a light source. The operator can give an instruction to register the light source attributes set on the sliders in the menu.
Als nächstes werden ein Verfahren zur Kombination von Formdaten und ein Verfahren zur Zuweisung einer Bewegung unter Verwendung der vorstehend beschriebenen Ausführungsform beschrieben. Sämtliche Formdaten weisen ihr besonderes Koordinatensystem auf. Jede Form wird unter Verwendung ihres besonderen Koordinatensystems definiert. Sämtliche Formdaten werden im Vorliegenden als Komponentendaten bezeichnet, und das Koordinatensysteme für die jeweiligen Formdaten wird im Vorliegenden als Komponentenkoordinatensystem bezeichnet. Für sämtliche Komponenten eines Objekts ist eine hierarchische Struktur eingestellt, wie in Fig. 16 dargestellt. Die Position in jedem Komponentenkoordinatensystem wird als Position in einem Ausgangskoordinatensystem ausgedrückt. Eine als Welt bezeichnete virtuelle Komponente ist derart vorgesehen, daß durch Einstellen einer hierarchischen Struktur zwischen der Welt und den Komponenten eine absolute Position einer Komponente bestimmt werden kann. Zum Bewegen einer Komponente existieren ein Verfahren zum Bewegen einer Komponente selbst in ihrem Komponentenkoordinatensystem und ein Verfahren zum Bewegen der Position des Koordinatensystems einer jeweiligen Komponente in seinem Ausgangskoordinatensystem. Die Bewegung eines Objekts wird durch das zuletzt genannte Verfahren ausgedrückt, d.h. durch Verändern der Position des Koordinatensystems einer jeweiligen Komponente in seinem Ausgangskoordinatensystem.Next, a method of combining shape data and a method of assigning motion using the above-described embodiment will be described. Each shape data has its particular coordinate system. Each shape is defined using its particular coordinate system. Each shape data is referred to as component data herein, and the coordinate system for each shape data is referred to as component coordinate system herein. A hierarchical structure is set for all components of an object as shown in Fig. 16. The position in each component coordinate system is referred to as position in an initial coordinate system. A virtual component called a world is provided such that an absolute position of a component can be determined by setting a hierarchical structure between the world and the components. For moving a component, there are a method for moving a component itself in its component coordinate system and a method for moving the position of the coordinate system of a respective component in its initial coordinate system. The movement of an object is expressed by the latter method, ie by changing the position of the coordinate system of a respective component in its initial coordinate system.
Eine Lichtquelle für eine Kamera ist nicht als bestimmte, sondern als allgemeine Komponente mit einem Kameraattribut oder Lichtquellenattribut definiert. Es ist daher möglich, die Positionen einer Kamera und einer Lichtquelle mittels einer Bewegungsbestimmung unter Verwendung einer hierarchischen Struktur zu bestimmen. Eine Kamera, eine Lichtquelle und Komponenten werden kollektiv als Objekt bezeichnet. Eine Kamera und eine Lichtquelle weisen, ähnlich wie Komponenten, jeweils ein Kamerakoordinatensystem und ein Lichtquellenkoordinatensystem auf. Diese Koordinatensysteme und die Koordinatensysteme der Komponenten werden kollektiv als Objektkoordinatensystem bezeichnet.A light source for a camera is not defined as a specific but as a general component with a camera attribute or light source attribute. It is therefore possible to determine the positions of a camera and a light source by means of motion determination using a hierarchical structure. A camera, a light source and components are collectively referred to as an object. A camera and a light source each have a camera coordinate system and a light source coordinate system, similar to components. These coordinate systems and the coordinate systems of the components are collectively referred to as an object coordinate system.
Bei dieser Ausführungsform wird die Bewegung eines Objekts stets als Bewegung des Objektkoordinatensystems des Objekts in dem Objektkoordinatensystem des Ausgangsobjekts ausgedrückt. Die Bewegung eines Objekts wird durch seine Aufteilung in eine Positionsänderung und eine Drehung des Objekts verarbeitet.In this embodiment, the motion of an object is always expressed as the motion of the object's object coordinate system in the object coordinate system of the original object. The motion of an object is processed by dividing it into a change in position and a rotation of the object.
Wie durch ein Anzeigebeispiel auf der in Fig. 17 gezeigten Anzeigeeinheit 101 dargestellt, wird die Positionsveränderung durch Bestimmung einer Durchgangsposition eines Objekts zu einem bestimmten Zeitpunkt oder durch Bestimmen einer Durchgangsposition und der Größe und Richtung einer Geschwindigkeit zu einem bestimmten Zeitpunkt eingestellt. Derartige Bestimmungen erfolgen mehrmals, und zwischen jeweiligen bestimmten Punkten, die als Start- und Endpunkte dienen, erfolgt eine Interpolation, wodurch die gesamte Orts- und Geschwindigkeitsveränderung ermittelt wird. Im folgenden wird das Interpolationsverfahren genau beschrieben.As shown by a display example on the display unit 101 shown in Fig. 17, the position change is determined by determining a passage position of a object at a certain point in time or by determining a passing position and the magnitude and direction of a velocity at a certain point in time. Such determinations are made several times and interpolation is performed between respective specified points, which serve as start and end points, thereby determining the total change in position and velocity. The interpolation method is described in detail below.
(1) Sowohl für den Start- als auch für den Endpunkt sind Positions- und Geschwindigkeitsinformationen gegeben.(1) Position and velocity information are given for both the start and end points.
Die Positionen des Start- und des Endpunkts eines Objekts in bezug auf den Ursprung des Objektkoordinatensystems sind jeweils durch (Pxs, Pys, Pzs) und (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeiten am Start- und am Endpunkt sind jeweils durch (Vxs, Vys, Vzs) und (Vxe, Vye, Vze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation dritter Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The positions of the start and end points of an object with respect to the origin of the object coordinate system are given by (Pxs, Pys, Pzs) and (Pxe, Pye, Pze) in the object's initial coordinate system, respectively, and the velocities at the start and end points are given by (Vxs, Vys, Vzs) and (Vxe, Vye, Vze) in the object's initial coordinate system, respectively. The location can be expressed using the X, Y, and Z axes given by a third-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
X = (2 · Pxs - 2 · Pxe + Vxs + Vxe). t³ + (-3 · Pxs + 3 · Pxe - 2 · Vxs - Vxe) · t² + Vxs · t + PxsX = (2 · Pxs - 2 · Pxe + Vxs + Vxe). t³ + (-3 · Pxs + 3 · Pxe - 2 · Vxs - Vxe) · t² + Vxs · t + Pxs
Y = (2 · Pys - 2 - Pye + Vys + Vye) · t³ + (-3 · Pys + 3 · Pye - 2 · Vys - Vye) · t² + Vys · t + PysY = (2 · Pys - 2 - Pye + Vys + Vye) · t³ + (-3 · Pys + 3 · Pye - 2 · Vys - Vye) · t² + Vys · t + Pys
Z = (2 · Pzs - 2 · Pze + Vzs + Vze) · t³ + (-3 · Pzs + 3 · Pze - 2 · Vzs - Vze) · t² + Vzs · t + Pzs ...(8)Z = (2 · Pzs - 2 · Pze + Vzs + Vze) · t³ + (-3 · Pzs + 3 · Pze - 2 · Vzs - Vze) · t² + Vzs · t + Pzs ...(8)
(2) Für den Startpunkt sind Positions- und Geschwindigkeitsinformationen und für den Endpunkt Positionsinformationen gegeben.(2) Position and speed information is given for the starting point and position information is given for the end point.
Die Positionen des Start- und des Endpunkts eines Objekts in bezug auf den Ursprung des Objektkoordinatensystems sind jeweils durch (Pxs, Pys, Pzs) und (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeit am Startpunkt ist durch (Vxs, Vys, Vzs) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation zweiter Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The positions of the start and end points of an object with respect to the origin of the object coordinate system are given by (Pxs, Pys, Pzs) and (Pxe, Pye, Pze) in the object's initial coordinate system, respectively, and the velocity at the start point is given by (Vxs, Vys, Vzs) in the object's initial coordinate system. The location can be expressed using the X, Y, and Z axes given by a second-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = (-Pxs + Pxe - Vxs) · t² + Vxs · t + PxsX = (-Pxs + Pxe - Vxs) · t² + Vxs · t + Pxs
Y = (-Pys + Pye - Vys) · t² + Vys · t + PysY = (-Pys + Pye - Vys) · t² + Vys · t + Pys
Z = (-Pzs + Pze - Vzs) · t² + Vzs · t + PzsZ = (-Pzs + Pze - Vzs) · t² + Vzs · t + Pzs
... (9)... (9)
(3) Für den Startpunkt sind Positionsinformationen und für den Endpunkt Positions- und Geschwindigkeitsinformationen gegeben.(3) Position information is given for the starting point and position and speed information is given for the end point.
Die Positionen des Start- und des Endpunkts eines Objekts in bezug auf den Ursprung des Objektkoordinatensystems sind jeweils durch (Pxs, Pys, Pzs) und (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeit am Endpunkt ist durch (Vxe, Vye, Vze) im Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation zweiter Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position am Endpunkt zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The positions of the start and end points of an object with respect to the origin of the object coordinate system are given by (Pxs, Pys, Pzs) and (Pxe, Pye, Pze) in the initial coordinate system of the object, respectively, and the velocity at the end point is given by (Vxe, Vye, Vze) in the initial coordinate system of the object. The location can be determined using the coordinates given by a second order parametric representation of t given X, Y and Z axes. Assuming that the location changes from the position of the starting point at time t = 0 to the position at the end point at time t = 1, the equations for the interpolation are:
X = (Pxs - Pxe + Vxs) · t² + (-2 · Pxs + 2 · Pxe - Vxe) t + PxsX = (Pxs - Pxe + Vxs) · t² + (-2 · Pxs + 2 · Pxe - Vxe) t + Pxs
Y = (Pys - Pye + Vys) · t² + (-2 · Pys + 2 · Pye - Vye) · t + PysY = (Pys - Pye + Vys) · t² + (-2 · Pys + 2 · Pye - Vye) · t + Pys
Z = (Pzs - Pze + Vzs) · t² + (-2 · Pzs + 2 · Pze - Vze) · t + PzsZ = (Pzs - Pze + Vzs) · t² + (-2 · Pzs + 2 · Pze - Vze) · t + Pzs
...(10)...(10)
(4) Für den Startpunkt sind Positions- und Geschwindigkeitsinformationen und für den Endpunkt Geschwindigkeitsinformationen gegeben.(4) Position and speed information is given for the starting point and speed information is given for the end point.
Die Position des Startpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystems des Objekts ist durch (Pxs, Pys, Pzs) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeiten am Start- und Endpunkt sind jeweils durch (Vxs, Vys, Vzs) und (Vxe, Vye, Vze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation dritter Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the start point of an object with respect to the origin of the object's coordinate system is given by (Pxs, Pys, Pzs) in the object's initial coordinate system, and the velocities at the start and end points are given by (Vxs, Vys, Vzs) and (Vxe, Vye, Vze) in the object's initial coordinate system, respectively. The location can be expressed using the X, Y, and Z axes given by a third-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = (-Vxs + Vxe)/2 · t² + Vxs t + PxsX = (-Vxs + Vxe)/2 · t² + Vxs t + Pxs
Y = (-Vys + Vye)/2 · t² + Vys · t + PysY = (-Vys + Vye)/2 · t² + Vys · t + Pys
Z = (-Vzs + Vze)/2 · t² + Vzs · t + PzsZ = (-Vzs + Vze)/2 · t² + Vzs · t + Pzs
...(11)...(11)
(5) Für den Startpunkt sind Geschwindigkeitsinformationen und für den Endpunkt Positions- und Geschwindigkeitsinformationen gegeben.(5) Velocity information is given for the starting point and position and velocity information is given for the end point.
Die Position des Endpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystems des Objekts ist durch (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeiten am Start- und Endpunkt sind jeweils durch (Vxs, Vys, Vzs) und (Vxe, Vye, Vze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation dritter Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the end point of an object with respect to the origin of the object's coordinate system is given by (Pxe, Pye, Pze) in the object's initial coordinate system, and the velocities at the start and end points are given by (Vxs, Vys, Vzs) and (Vxe, Vye, Vze) in the object's initial coordinate system, respectively. The location can be expressed using the X, Y, and Z axes given by a third-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = (-Vxs + Vxe)/2 · t² + Vxs · t + Pxe - (Vxs + Vxe)/2X = (-Vxs + Vxe)/2 · t² + Vxs · t + Pxe - (Vxs + Vxe)/2
Y = (-Vys + Vye)/2 · t² + Vys · t + Pye - (Vys + Vye)/2Y = (-Vys + Vye)/2 · t² + Vys · t + Pye - (Vys + Vye)/2
Z = (-Vzs + Vze)/2 · t² + Vzs · t + Pze - (Vzs + Vze)/2Z = (-Vzs + Vze)/2 · t² + Vzs · t + Pze - (Vzs + Vze)/2
...(12)...(12)
(6) Für den Startpunkt sind Positions- und Geschwindigkeitsinformationen gegeben.(6) Position and speed information are given for the starting point.
Die Position des Startpunkts eines Objekts in bezug auf den Ursprung des Objektkoordinatensystems ist durch (Pxs, Pys, Pzs) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeit am Startpunkt ist durch (Vxs, Vys, Vzs) in dem Ausgangskoordinatensy stem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation erster Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the starting point of an object with respect to the origin of the object coordinate system is given by (Pxs, Pys, Pzs) in the initial coordinate system of the object, and the velocity at the starting point is given by (Vxs, Vys, Vzs) in the initial coordinate system. stem of the object. The location can be expressed using the X, Y and Z axes given by a first order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for the interpolation are:
X = Vxs · t + PxsX = Vxs · t + Pxs
X = Vxs · t + PxsX = Vxs · t + Pxs
X = Vxs · t + PxsX = Vxs · t + Pxs
...(13)...(13)
(7) Für den Endpunkt sind Positions- und Geschwindigkeitsinformationen gegeben.(7) Position and velocity information are given for the end point.
Die Position des Endpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystem des Objekts ist durch (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeit am Endpunkt ist durch (Vce, Vye, Vze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation erster Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the end point of an object with respect to the origin of the object's coordinate system is given by (Pxe, Pye, Pze) in the object's initial coordinate system, and the velocity at the end point is given by (Vce, Vye, Vze) in the object's initial coordinate system. The location can be expressed using the X, Y, and Z axes given by a first-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = Vxe · t + (Pxe - Vxe)X = Vxe · t + (Pxe - Vxe)
Y = Vye · t + (Pye - Vye)Y = Vye · t + (Pye - Vye)
Z = Vze · t + (Pze - Vze)Z = Vze · t + (Pze - Vze)
... (14)... (14)
(8) Sowohl für den Start- als auch für den Endpunkt sind Positionsinformationen gegeben.(8) Position information is provided for both the start and end points.
Die Positionen des Start- und des Endpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystem des Objekts sind jeweils durch (Pxe, Pye, Pze) und (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation erster Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The positions of the start and end points of an object with respect to the origin of the object's coordinate system are given by (Pxe, Pye, Pze) and (Pxe, Pye, Pze) in the object's initial coordinate system, respectively. The location can be expressed using the X, Y, and Z axes given by a first-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = (-Pxs + Pxe) · t + PxsX = (-Pxs + Pxe) · t + Pxs
Y = (-Pys + Pye) · t + PysY = (-Pys + Pye) · t + Pys
Z = (-Pzs + pze) · t + PzsZ = (-Pzs + pze) · t + Pzs
...(15)...(15)
(9) Für den Startpunkt sind Positionsinformationen und für den Endpunkt Geschwindigkeitsinformationen gegeben.(9) Position information is given for the start point and speed information is given for the end point.
Die Position des Startpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystem des Objekts ist durch (Pxs, Pys, Pzs) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeiten am Endpunkt ist durch (Vxe, Vye, Vze) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation erster Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the start point of an object with respect to the origin of the object's coordinate system is given by (Pxs, Pys, Pzs) in the object's initial coordinate system, and the velocities at the end point are given by (Vxe, Vye, Vze) in the object's initial coordinate system. The location can be expressed using the X, Y, and Z axes given by a first-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = Vxe · t + PxsX = Vxe · t + Pxs
Y = Vye · t + PysY = Vye · t + Pys
Z = Vze · t + PzsZ = Vze · t + Pzs
...(16)...(16)
(10) Für den Startpunkt sind Geschwindigkeitsinformationen und für den Endpunkt Positionsinformationen gegeben.(10) Speed information is given for the starting point and position information is given for the end point.
Die Position des Endpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystem des Objekts ist durch (Pxe, Pye, Pze) in dem Ausgangskoordinatensystem des Objekts gegeben, und die Geschwindigkeit am Startpunkt ist durch (Vxs, Vys, Vzs) in dem Ausgangskoordinatensystem des Objekts gegeben. Der Ort kann unter Verwendung der durch eine Parameterrepräsentation erster Ordnung von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Ort von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Gleichungen für die Interpolation:The position of the end point of an object with respect to the origin of the object's coordinate system is given by (Pxe, Pye, Pze) in the object's initial coordinate system, and the velocity at the start point is given by (Vxs, Vys, Vzs) in the object's initial coordinate system. The location can be expressed using the X, Y, and Z axes given by a first-order parametric representation of t. Assuming that the location changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the equations for interpolation are:
X = Vxs · t + (Pxe - Vxs)X = Vxs · t + (Pxe - Vxs)
Y = Vys · t + (pye - Vys)Y = Vys · t + (pye - Vys)
Z = Vzs · t + (Pze - Vzs)Z = Vzs · t + (Pze - Vzs)
...(17)...(17)
(11) Für den Startpunkt oder für den Endpunkt sind Positionsinformationen gegeben.(11) Position information is provided for the start point or the end point.
Die Positionen des Start- und des Endpunkts eines Objekts in bezug auf den Ursprung des Koordinatensystem des Objekts verändern sich in dem Ausgangskoordinatensystem des Objekts nicht. Die Positionen bewegen sich nämlich nicht.The positions of the start and end points of an object in relation to the origin of the object's coordinate system do not change in the object's initial coordinate system. The positions do not move.
(12) Sowohl für den Start- als auch für den Endpunkt sind Geschwindigkeitsinformationen gegeben, für den Startpunkt sind Geschwindigkeitsinformationen gegeben, oder für den Endpunkt sind Geschwindigkeitsinformationen gegeben.(12) For both the start and end points, velocity information is given, for the start point, velocity information is given, or for the end point, velocity information is given.
In diesem Fall können keine Gleichungen für eine Interpolation ermittelt werden, daher wird eine derartige Zuweisung als Fehler eingestuft.In this case, no equations for interpolation can be determined, so such an assignment is classified as an error.
Bei der praktischen Verwendung wird eine gewünschte Bewegung durch aufeinanderfolgendes Koppeln der vorstehend beschriebenen Interpolationsgleichungen eingestellt. Beim Koppeln der Gleichungen für die Interpolation müssen die durch einen Satz Interpolationsgleichungen erhaltenen Endpunktkoordinaten mit den durch den nächsten Satz Interpolationsgleichungen erhaltenen Startpunktkoordinaten übereinstimmen. Anders ausgedrückt müssen die durch einen Satz Interpolationsgleichungen erhaltenen Startpunktkoordinaten stets mit den durch den vorhergehenden Satz Interpolationsgleichungen, der mit dem zuerst genannten Satz gekoppelt werden soll, erhaltenen Endpunktkoordinaten übereinstimmen.In practical use, a desired motion is set by successively coupling the interpolation equations described above. When coupling the equations for interpolation, the end point coordinates obtained by one set of interpolation equations must agree with the start point coordinates obtained by the next set of interpolation equations. In other words, the start point coordinates obtained by a set of interpolation equations must always agree with the end point coordinates obtained by the previous set of interpolation equations that is to be coupled with the first set.
Als nächstes wird eine Benutzerschnittstelle zur Einstellung einer Bewegung beschrieben. Bei dieser Ausführungsform wird ein Bewegungspfad wie der in Fig. 17 dargestellte auf dem Bildschirm der Anzeigeeinrichtung 101 angezeigt. Bei dieser Ausführungsform wird ein Bewegungspfad eines Objekts durch Einstellen der Position und Geschwindigkeit eines Objekts zu jedem Steuerzeitpunkt eingestellt. Der eingestellte Pfad wird als Bewegungspfad bezeichnet. Der Steuerzeitpunkt bezeichnet einen vom Bediener eingestellten geeigneten Zeitpunkt. Eine Benutzerschnittstelle zur Veränderung der Steuerzeitpunkte wird im weiteren beschrieben. Die Position eines Objekts zu einem Steuerzeitpunkt wird als Steuerposition bezeichnet, wobei diese Position durch den Bediener eingestellt werden kann. Die Geschwindigkeit eines Objekts unmittelbar vor einem Steuerzeitpunkt wird als eingangsseitige Steuergeschwindigkeit bezeichnet. Die Geschwindigkeit eines Objekts unmittelbar nach einem Steuerzeitpunkt wird als ausgangsseitige Steuergeschwindigkeit bezeichnet. Die gleiche Geschwindigkeit, die gemeinsam als eingangs- und ausgangsseitige Steuergeschwindigkeit verwendet wird, wird als gemeinsame Steuergeschwindigkeit bezeichnet.Next, a user interface for setting a motion will be described. In this embodiment, a motion path such as that shown in Fig. 17 is displayed on the screen of the display device 101. In this embodiment, a motion path of an object is set by setting the position and speed of an object at each control timing. The set path is called a motion path. The control timing refers to an appropriate timing set by the operator. A user interface for changing the control timings will be described later. The position of an object at a control timing is called a control position, and this position is set by the operator. The speed of an object immediately before a control timing is called the input-side control speed. The speed of an object immediately after a control timing is called the output-side control speed. The same speed used jointly as the input-side and output-side control speeds is called the common control speed.
Zur Eingabe einer Steuerposition, einer eingangsseitigen Steuergeschwindigkeit, einer ausgangsseitigen Steuergeschwindigkeit, einer gemeinsamen Steuergeschwindigkeit oder einer Kombination dieser Werte zu jedem Steuerzeitpunkt wird selektiv ein geeigneter Modus eingestellt. Welcher Modus zu jedem Steuerzeitpunkt eingestellt wird, d.h. welche Eingabe unter der Steuerposition, der eingangsseitigen Steuergeschwindigkeit, der ausgangsseitigen Steuergeschwindigkeit und der gemeinsamen Steuergeschwindigkeit zulässig ist, kann durch unterscheidbares Anzeigen eines schwarzen Kreises, eines Pfeils oder einer bestimmten Farbe auf dem Bildschirm identifiziert werden, auf dem der Bewegungspfad angezeigt ist.To input a control position, an input side control speed, an output side control speed, a common control speed or a combination of these values at each control time, an appropriate mode is selectively set. Which mode is set at each control time, i.e. which input is permitted among the control position, the input side control speed, the output side control speed and the common control speed, can be identified by distinguishably displaying a black circle, an arrow or a specific color on the screen on which the motion path is displayed.
Zum Definieren eines Bewegungspfads durch Koppeln mehrerer der vorstehend beschriebenen Interpolationsgleichungen zu mehreren vorab eingestellten Steuerzeitpunkten wird ein einzelner repräsentativer Steuerzeitpunkt eingestellt. Es ist stets erforderlich, zu dem repräsentativen Steuerzeitpunkt eine Steuerposition einzustellen. Bei der Ermittlung eines Bewegungspfads nach dem repräsentativen Steuerzeitpunkt sollten die einen Interpolationsäbschnitt vor dem Interpolationsabschnitt für das Objekt durch die Interpolationsgleichungen erhaltenen Endpunktkoordinaten stets auf die gleichen Werte wie die durch die Interpolationsgleichungen für den Interpolationsabschnitt für das Objekt erhaltenen Startpunktkoordinaten eingestellt werden. Anders ausgedrückt schreitet die Interpolationsberechnung zu zukünftigen Zeitpunkten fort. Daher ist der Modus für eine derartige Interpolation unter den vorstehend beschriebenen Modi lediglich der Modus, der die Eingabe der Position eines Objekts zum Startzeitpunkt zuläßt. Bei der Ermittlung eines Bewegungspfads vor dem repräsentativen Steuerzeitpunkt sollten die durch die Interpolationsgleichungen einen Interpolationsabschnitt nach dem Interpolationsabschnitt für das Objekt erhaltenen Startpunktkoordinaten stets mit den durch die Interpolationsgleichungen für den Interpolationsabschnitt für das Objekt erhaltenen Endpunktkoordinaten in Übereinstimmung gebracht werden. Anders ausgedruckt schreitet die Interpolationsberechnung zu den vergangenen Zeitpunkten fort. Daher ist der Modus für eine derartige Interpolation unter den vorstehend beschriebenen Modi lediglich der Modus, der die Eingabe der Position eines Objekts am Endpunkt zuläßt. Ist die eingangsseitige Steuergeschwindigkeit für ersten Steuerzeitpunkt eingestellt, können die vorstehend beschriebenen Interpolationsgleichungen (13) für die Zeitspanne vor dem Steuerzeitpunkt verwendet werden. Ähnlich können, wenn die ausgangsseitige Steuergeschwindigkeit zum letzten Steuerzeitpunkt eingestellt ist, die vorstehend beschriebenen Interpolationsgleichungen (12) für die Zeitspanne nach dem Steuerzeitpunkt verwendet werden.To define a motion path by coupling a plurality of the above-described interpolation equations to a plurality of control timings set in advance, a single representative control timing is set. It is always necessary to set a control position at the representative control timing. When determining a motion path after the representative control timing, the end point coordinates obtained by the interpolation equations for an interpolation section before the interpolation section for the object should always be set to the same values as the start point coordinates obtained by the interpolation equations for the interpolation section for the object. In other words, the Interpolation calculation proceeds to future times. Therefore, the mode for such interpolation is only the mode which allows the position of an object at the start time to be input among the above-described modes. When determining a motion path before the representative control time, the start point coordinates obtained by the interpolation equations one interpolation section after the interpolation section for the object should always be made to agree with the end point coordinates obtained by the interpolation equations for the interpolation section for the object. In other words, the interpolation calculation proceeds to the past times. Therefore, the mode for such interpolation is only the mode which allows the position of an object at the end point to be input among the above-described modes. When the input control speed is set for the first control time, the interpolation equations (13) described above can be used for the period before the control time. Similarly, if the output control speed is set at the last control timing, the interpolation equations (12) described above can be used for the period after the control timing.
Ein Verfahren zur Einstellung einer Steuerposition wird unter Bezugnahme auf die Fig. 18a und 18b beschrieben. Die Fig. 18 bis 23 zeigen Beispiele von Anzeigen auf einer CRT-Anzeige 101, die als Anzeigeeinrichtung dient. Ist der Modus zu einem bestimmten Steuerzeitpunkt ein Modus, der die Eingabe einer Steuerposition zuläßt, kann ein derartiger Modus beispielsweise durch die Verwendung eines großen schwarzen Kreises an der Steuerposition oder eine bestimmte Farbe gekennzeichnet werden. Der (nicht dargestellte) Benutzer kann den die Steuerposition bezeichnenden schwarzen Kreis unter Verwendung einer Eingabeeinrichtung wie eines Positionsindikators oder dergleichen bewegen. Der Bewegungspfad verändert sich, wenn die Steuerposition bewegt wird, und der resultierende Bewegungspfad wird sofort angezeigt.A method of setting a control position will be described with reference to Figs. 18a and 18b. Figs. 18 to 23 show examples of displays on a CRT display 101 serving as a display device. If the mode at a certain control time is a mode that allows input of a control position, such a mode can be indicated, for example, by using a large black circle at the control position or a certain color. The user (not shown) can move the black circle indicating the control position using an input device such as a position indicator or the like. The movement path changes when the control position is moved and the resulting motion path is immediately displayed.
Ein Verfahren zur Einstellung einer eingangsseitigen Steuergeschwindigkeit wird unter Bezugnahme auf die Fig. 19a und 19b beschrieben. Wenn die Eingabe einer eingangsseitigen Steuergeschwindigkeit zulässig ist, wird der Bediener von einem derartigen Umstand beispielsweise durch die Verwendung eines die eingangsseitige Steuergeschwindigkeit repräsentierenden Pfeils oder einer bestimmten Farbe informiert. Der Bediener bewegt das Ende des Vektors, der die eingangsseitige Steuergeschwindigkeit repräsentiert, um eine eingangsseitige Steuergeschwindigkeit einzustellen. Der Bewegungspfad verändert sich, wenn die eingangsseitige Steuergeschwindigkeit eingestellt wird, und der resultierende Bewegungspfad wird sofort angezeigt. Falls jedoch der Steuerzeitpunkt zum Einstellen der eingangsseitigen Steuergeschwindigkeit nach dem repräsentativen Steuerzeitpunkt liegt und der Modus ein Modus ist, der keine Steuerposition erfordert, wird der aktualisierte Bewegungspfad nach der Einstellung der eingangsseitigen Steuergeschwindigkeit angezeigt, da sich die Position des Objekts zum Steuerzeitpunkt bewegt, wenn die eingangsseitige Steuergeschwindigkeit verändert wird.A method for setting an input-side control speed is described with reference to Figs. 19a and 19b. When the input of an input-side control speed is permitted, the operator is informed of such a circumstance by, for example, using an arrow representing the input-side control speed or a specific color. The operator moves the end of the vector representing the input-side control speed to set an input-side control speed. The motion path changes when the input-side control speed is set, and the resulting motion path is immediately displayed. However, if the control timing for setting the input-side control speed is after the representative control timing and the mode is a mode that does not require a control position, the updated motion path is displayed after setting the input-side control speed because the position of the object moves at the control timing when the input-side control speed is changed.
Unter Bezugnahme auf die Fig. 20a und 20b wird ein Verfahren zur Einstellung einer ausgangsseitigen Steuergeschwindigkeit beschrieben. Wenn die Eingabe einer ausgangsseitigen Steuergeschwindigkeit zulässig ist, wird der Bediener beispielsweise durch die Verwendung eines die ausgangsseitige Steuergeschwindigkeit repräsentierenden Pfeils oder einer bestimmten Farbe von diesem Umstand in Kenntnis gesetzt. Der Bediener bewegt die Spitze des die ausgangsseitigen Steuergeschwindigkeit repräsentierenden Vektors, um eine gewünschte ausgangsseitige Steuergeschwindigkeit einzustellen. Der Bewegungspfad wird beim Einstellen der ausgangsseitigen Steuergeschwindigkeit verändert, und der resultierende Bewegungspfad wird sofort angezeigt. Liegt jedoch der Steuerzeitpunkt für das Einstellen der ausgangsseitigen Steuergeschwindigkeit vor dem repräsentativen Steuerzeitpunkt und ist der Modus ein Modus, der keine Steuerposition erfordert, wird der aktualisierte Bewegungspfad nach dem Einstellen der ausgangsseitigen Steuergeschwindigkeit angezeigt, da sich die Position des Objekts zum Steuerzeitpunkt bewegt, wenn die ausgangsseitige Steuergeschwindigkeit verändert wird.A method for setting an output control speed is described with reference to Figs. 20a and 20b. When the input of an output control speed is permitted, the operator is notified of this fact, for example, by using an arrow representing the output control speed or a specific color. The operator moves the tip of the vector representing the output control speed to set a desired output control speed. The movement path is changed when setting the output control speed, and the resulting Motion path is displayed immediately. However, if the control timing for setting the output side control speed is before the representative control timing and the mode is a mode that does not require a control position, the updated motion path is displayed after setting the output side control speed because the position of the object at the control timing moves when the output side control speed is changed.
Wird eine gemeinsame Steuergeschwindigkeit eingestellt, bewegt sich das Objekt gleichmäßig, da vor und nach dem Steuerzeitpunkt keine Veränderung der Bewegungsgeschwindigkeit vorliegt. Ein Verfahren zur Einstellung einer gemeinsamen Steuergeschwindigkeit wird unter Bezugnahme auf die Fig. 21a und 21b beschrieben. Wenn die Eingabe einer gemeinsamen Steuergeschwindigkeit zulässig ist, wird der Bediener beispielsweise durch die Verwendung eines die gemeinsame Steuergeschwindigkeit repräsentierenden Pfeils oder einer bestimmten Farbe von diesem Umstand in Kenntnis gesetzt. Der Bediener bewegt die Spitze des die gemeinsame Steuergeschwindigkeit repräsentierenden Vektors, um eine gewünschte gemeinsame Steuergeschwindigkeit einzustellen. Der Bewegungspfad verändert sich, wenn die gemeinsame Steuergeschwindigkeit eingestellt wird, und der resultierende Bewegungspfad wird sofort angezeigt. Ist jedoch der Modus für den Steuerzeitpunkt zur Einstellung der gemeinsamen Steuergeschwindigkeit ein Modus, der keine Steuerposition erfordert, wird der aktualisierte Bewegungspfad nach dem Einstellen der gemeinsamen Steuergeschwindigkeit angezeigt, da die Position des Objekts zum Steuerzeitpunkt bewegt wird, wenn die gemeinsame Steuergeschwindigkeit verändert wird.When a common control speed is set, the object moves smoothly because there is no change in the movement speed before and after the control timing. A method for setting a common control speed is described with reference to Figs. 21a and 21b. When the input of a common control speed is permitted, the operator is notified of this fact, for example, by using an arrow representing the common control speed or a specific color. The operator moves the tip of the vector representing the common control speed to set a desired common control speed. The movement path changes when the common control speed is set, and the resulting movement path is immediately displayed. However, when the control timing mode for setting the common control speed is a mode that does not require a control position, the updated movement path is displayed after setting the common control speed because the position of the object is moved at the control timing when the common control speed is changed.
Ein Interpolationsmodus zur Interpolation eines Abschnitts zwischen nebeneinanderliegenden Steuerzeitpunkten wird abhängig davon bestimmt, ob eine ausgangsseitige Steuergeschwindigkeit und/oder eine Steuerposition für den Start punkt angegeben sind oder ob eine eingangsseitige Steuergeschwindigkeit und/oder eine Steuerposition für den Endpunkt angegeben sind. Selbst wenn für einen Steuerzeitpunkt nach dem repräsentativen Steuerzeitpunkt keine Steuerposition angegeben ist, wird der gleiche Interpolationsmodus verwendet, wie wenn eine Steuerposition für den Startpunkt angegeben ist. Der Grund dafür ist, daß die Steuerposition am Endpunkt des vorhergehenden Interpolationsabschnitts als Steuerposition am Startpunkt des betreffenden Interpolationsabschnitts verwendet wird. Ähnlich wird, wenn für einen Steuerzeitpunkt vor dem repräsentativen Steuerzeitpunkt keine Steuerposition angegeben ist, der gleiche Interpolationsmodus verwendet, wie wenn eine Steuerposition für den Endpunkt angegeben ist. Dies liegt daran, daß die Steuerposition am Startpunkt des nachfolgenden Interpolationsabschnitts als Steuerposition am Endpunkt des betreffenden Interpolationsabschnitts verwendet wird. Hinsichtlich des Vorstehenden ist, obwohl die folgende Beschreibung einen Fall betrifft, in dem für einen Steuerzeitpunkt nach dem repräsentativen Steuerzeitpunkt keine Steuerposition für den Startpunkt angegeben ist, annähernd die gleiche Beschreibung anwendbar wie in einem Fall, in dem für den Startpunkt eine Steuerposition angegeben ist. Ähnlich ist, obwohl die folgende Beschreibung einen Fall betrifft, in dem für einen Steuerzeitpunkt vor dem repräsentativen Steuerzeitpunkt keine Steuerposition für den Endpunkt angegeben ist, annähernd die gleiche Beschreibung für einen Fall anwendbar, in dem eine Steuerposition für den Endpunkt angegeben ist.An interpolation mode for interpolating a section between adjacent control points is determined depending on whether an output control speed and/or a control position for starting point are specified or whether an input-side control speed and/or a control position are specified for the end point. Even if no control position is specified for a control timing after the representative control timing, the same interpolation mode is used as when a control position is specified for the start point. This is because the control position at the end point of the preceding interpolation section is used as the control position at the start point of the interpolation section in question. Similarly, if no control position is specified for a control timing before the representative control timing, the same interpolation mode is used as when a control position is specified for the end point. This is because the control position at the start point of the subsequent interpolation section is used as the control position at the end point of the interpolation section in question. In view of the foregoing, although the following description concerns a case where no control position is specified for the start point for a control timing after the representative control timing, approximately the same description is applicable as in a case where a control position is specified for the start point. Similarly, although the following description applies to a case where no endpoint tax position is specified for a tax point prior to the representative tax point, approximately the same description applies to a case where an endpoint tax position is specified.
Zunächst erfolgt eine Beschreibung für jeden Interpolationsabschnitt nach dem repräsentativen Steuerzeitpunkt. Sind für den Startpunkt eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt eine Steuerposition und eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (1) beschriebenen Interpolationsgleichungen (8) verwendet. Wenn für den Startpunkt eine ausgangsseitige Steu ergeschwindigkeit und für den Endpunkt eine Steuerposition angegeben sind, werden die im Abschnitt (2) beschriebenen Interpolationsgleichungen (9) verwendet. Wenn für den Startpunkt keine Informationen und für den Endpunkt eine Steuerposition und eine eingangsseitige Steuergeschwindigkeit angegeben sind, werden die im Abschnitt (3) beschriebenen Interpolationsgleichungen (10) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (4) beschriebenen Interpolationsgleichungen (11) verwendet. Wenn für den Startpunkt eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt keine Informationen angegeben sind, werden die im Abschnitt (6) beschriebenen Interpolationsgleichungen (13) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt eine Steuerposition angegeben, werden die im Abschnitt (8) beschriebenen Interpolationsgleichungen (15) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (9) beschriebenen Interpolationsgleichungen (16) verwendet. Sind weder für den Startpunkt noch für den Endpunkt Informationen angegeben, werden die im Abschnitt (11) beschrieben Interpolationsgleichungen verwendet.First, a description is given for each interpolation section according to the representative control time. If an output control speed is specified for the start point and a control position and an input control speed are specified for the end point, the interpolation equations (8) described in section (1) are used. If an output control speed is specified for the start point, speed and a control position are specified for the end point, the interpolation equations (9) described in section (2) are used. If no information is specified for the start point and a control position and an input control speed are specified for the end point, the interpolation equations (10) described in section (3) are used. If an output control speed is specified for the start point and an input control speed is specified for the end point, the interpolation equations (11) described in section (4) are used. If an output control speed is specified for the start point and no information is specified for the end point, the interpolation equations (13) described in section (6) are used. If no information is specified for the start point and a control position is specified for the end point, the interpolation equations (15) described in section (8) are used. If no information is specified for the start point and an input control speed is specified for the end point, the interpolation equations (16) described in section (9) are used. If no information is given for the start point or the end point, the interpolation equations described in section (11) are used.
Als nächstes erfolgt eine Beschreibung für jeden Interpolationsabschnitt vor dem repräsentativen Steuerzeitpunkt. Sind für den Startpunkt eine Steuerposition und eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (1) beschriebenen Interpolationsgleichungen (8) verwendet. Sind für den Startpunkt eine Steuerposition und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (3) beschriebenen Interpolationsgleichungen (10) verwendet. Sind für den Startpunkt eine Steuerposition und eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt keine Informationen angegeben, werden die im Abschnitt (2) beschriebenen Interpolationsgleichungen (9) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (5) beschriebenen Interpolationsgleichungen (12) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt eine eingangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (7) beschriebenen Interpolationsgleichungen (14) verwendet. Sind für den Startpunkt eine Steuerposition und für den Endpunkt keine Informationen angegeben, werden die im Abschnitt (8) beschriebenen Interpolationsgleichungen (15) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuergeschwindigkeit und für den Endpunkt keine Informationen angegeben, werden die im Abschnitt (10) beschriebenen Interpolationsgleichungen (17) verwendet. Sind weder für den Startpunkt noch für den Endpunkt Informationen angegeben, werden die im Abschnitt (11) beschriebenen Interpolationsgleichungen verwendet.Next, a description is given for each interpolation section before the representative control time. If a control position and an output control speed are specified for the start point and an input control speed are specified for the end point, the interpolation equations (8) described in section (1) are used. If a control position and an output control speed are specified for the start point and an input control speed are specified for the end point, the interpolation equations (10) described in section (3) are used. If a control position and an output control speed are specified for the start point and no information is specified for the end point, the interpolation equations (9) described in section (2) are used. If an output control speed is specified for the start point and an input control speed is specified for the end point, the interpolation equations (12) described in section (5) are used. If no information is specified for the start point and an input control speed is specified for the end point, the interpolation equations (14) described in section (7) are used. If a control position is specified for the start point and no information is specified for the end point, the interpolation equations (15) described in section (8) are used. If an output control speed is specified for the start point and no information is specified for the end point, the interpolation equations (17) described in section (10) are used. If no information is specified for either the start point or the end point, the interpolation equations (11) are used.
Überdies werden für einen Interpolationsabschnitt vor dem ersten Steuerzeitpunkt die im Abschnitt (7) beschriebenen Interpolationsgleichungen (14) verwendet, wenn für den ersten Steuerzeitpunkt eine eingangsseitige Steuergeschwindigkeit angegeben ist. Ist für den letzten Steuerzeitpunkt eine ausgangsseitige Steuergeschwindigkeit angegeben, werden für einen Interpolationsabschnitt nach dem letzten Steuerzeitpunkt die im Abschnitt (6) beschriebenen Interpolationsgleichungen (13) verwendet. Sind nur ein Steuerzeitpunkt und für den Steuerzeitpunkt weder die eingangs- noch die ausgangsseitige Steuergeschwindigkeit angegeben, werden die im Abschnitt (11) beschriebenen Interpolationsgleichungen verwendet.Furthermore, the interpolation equations (14) described in section (7) are used for an interpolation section before the first control time if an input-side control speed is specified for the first control time. If an output-side control speed is specified for the last control time, the interpolation equations (13) described in section (6) are used for an interpolation section after the last control time. If only one control time is specified and neither the input-side nor the output-side control speed is specified for the control time, the interpolation equations described in section (11) are used.
Fig. 22 zeigt einen Zeitlinieneditor zur Aufbereitung eines Steuerzeitpunkts. Rechtecke auf einer Linie rechts von dem Komponentennamen eines Objekts sind Steuerzeitpunktindikatoren zur Angabe der Punkte von Steuerzeitpunkten und ein repräsentativer Steuerzeitpunktindikator zur Angabe des Punkts eines repräsentativen Steuerzeitpunkts. Die Indikatoren haben die Funktion von Symbolen. Genauer sind gemäß Fig. 22 die Steuerzeitpunkte für ein Objekt mit dem Namen "Kamera" die Steuerzeitpunkte auf 0, 3, 7 und 9 Sekunden eingestellt. Der repräsentative Steuerzeitpunkt ist auf 3 Sekunden eingestellt. Für den Steuerzeitpunkt bei 0 s sind eine Steuerposition und eine ausgangsseitige Steuergeschwindigkeit gegeben. Für den Steuerzeitpunkt bei 3 s sind eine Steuerposition und eine eingangs- und ausgangsseitige Geschwindigkeit im gemeinsamen Modus gegeben. Für die Steuerzeitpunkte bei 7 und 9 s ist lediglich eine Steuerposition angegeben.Fig. 22 shows a timeline editor for preparing a control point. Rectangles on a line to the right of the component name of an object are control point indicators for indicating the points of control points and a representative control timing indicator for indicating the point of a representative control timing. The indicators have the function of symbols. More specifically, according to Fig. 22, the control timings for an object named "camera", the control timings are set to 0, 3, 7 and 9 seconds. The representative control timing is set to 3 seconds. For the control timing at 0 s, a control position and an output side control speed are given. For the control timing at 3 s, a control position and an input and output side speed in the common mode are given. For the control timings at 7 and 9 s, only a control position is given.
Zur Angabe eines Zeitpunkts, zu dem ein Objekt auf einem Bewegungspfad angezeigt wird, wird ein Indikator für den gegenwärtigen Zeitpunkt verwendet. Bei der Bewegung des Indikators für den gegenwärtigen Zeitpunkt unter Verwendung eines Positionsindikators oder dergleichen wird das angezeigte Objekt auf dem Bewegungspfad bewegt.To specify a time at which an object is displayed on a motion path, a current time indicator is used. When the current time indicator is moved using a position indicator or the like, the displayed object is moved on the motion path.
Werden der Indikator für den Steuerzeitpunkt oder der Indikator für den repräsentativen Steuerzeitpunkt unter Verwendung eines Positionsindikators nach rechts oder links bewegt, kann der entsprechende Steuerzeitpunkt verändert werden. Beim Einstellen eines Steuerzeitpunkts verändert sich der Bewegungspfad, und der resultierende Bewegungspfad wird sofort angezeigt. Wird beispielsweise, wie in Fig. 23 dargestellt, ein Steuerzeitpunkt unter Verwendung eines Symbols von 6 s auf 7,5 s verändert, wird auch der angezeigte Ort im oberen Abschnitt des Rahmens verändert.If the control timing indicator or the representative control timing indicator is moved right or left using a position indicator, the corresponding control timing can be changed. When a control timing is set, the movement path changes and the resulting movement path is displayed immediately. For example, as shown in Fig. 23, if a control timing is changed from 6 s to 7.5 s using a symbol, the displayed location in the upper portion of the frame is also changed.
Es ist möglich, zu bestimmen, ob Informationen für einen Steuerzeitpunkt eingestellt werden sollen, der durch einen Indikator für einen Steuerzeitpunkt oder durch den Indikator für den durch eine Eingabeeinrichtung, wie einen Positionsindikator, ausgewählten repräsentativen Steuerzeitpunkt angegeben ist. Es ist nämlich möglich, zu bestimmen, ob für einen bestimmten Steuerzeitpunkt eine Steuerposition, eine eingangsseitige Steuergeschwindigkeit oder eine ausgangsseitige Steuetgeschwindigkeit eingestellt werden sollen.It is possible to determine whether to set information for a control timing indicated by a control timing indicator or by the indicator for the representative control timing selected by an input device such as a position indicator. Namely, it is possible to determine whether to set information for a control position, an input-side control speed or an output-side control speed are to be set for a specific control time.
Bei den in den Fig. 22 und 23 dargestellten Zeitlinieneditoren kann unter Verwendung eines Positionsindikators auf einer Linie auf der rechten Seite eines Komponentennamens ein neuer Steuerzeitpunkt eingestellt werden. Ein durch einen Indikator für den Steuerzeitpunkt angegebener Steuerzeitpunkt kann durch Auswahl seines Rechtecks gelöscht werden.In the timeline editors shown in Figures 22 and 23, a new control timing can be set using a position indicator on a line to the right of a component name. A control timing indicated by a control timing indicator can be deleted by selecting its rectangle.
Als nächstes wird ein Verfahren zum Drehen eines Objekts beschrieben. Wie vorstehend beschrieben, wird die Drehung eines Objekts, d.h. der Blickrichtung eines Objekts, als Drehung des Objekts im Objektkoordinatensystem um den Ursprung des Objektkoordinatensystems eines Ausgangsobjekts ausgedrückt. Bei dieser Ausführungsform bezieht sich eine Drehachse auf das Koordinatensystem eines Ausgangsobjekts. Eine Drehachse kann sich auf das Koordinatensystem des Objekts selbst beziehen.Next, a method for rotating an object is described. As described above, the rotation of an object, i.e., the viewing direction of an object, is expressed as the rotation of the object in the object coordinate system around the origin of the object coordinate system of an initial object. In this embodiment, a rotation axis refers to the coordinate system of an initial object. A rotation axis may refer to the coordinate system of the object itself.
Wie in Fig. 24 gezeigt, wird eine Drehung eines Objekts durch einen Drehwinkel und eine Winkelgeschwindigkeit in bezug auf die X-, Y- und Z-Achse eines Ausgangsobjekts bestimmt. Derartige Zuweisungen werden mehrmals ausgeführt, und zwischen jeweiligen als Start- und Endpunkte dienenden zugewiesenen Punkten erfolgt eine Interpolation, wodurch die gesamten Drehwinkel und Winkelgeschwindigkeiten erhalten werden. Im folgenden wird das Interpolationsverfahren im einzelnen beschrieben.As shown in Fig. 24, a rotation of an object is determined by a rotation angle and an angular velocity with respect to the X, Y and Z axes of an initial object. Such assignments are performed a plurality of times, and interpolation is performed between respective assigned points serving as start and end points, thereby obtaining the total rotation angles and angular velocities. The interpolation method is described in detail below.
(1) Sowohl für den Start- als auch für den Endpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit gegeben.(1) For both the start and end points, a rotation angle and an angular velocity are given.
Die Drehwinkel für den Start- und den Endpunkt eines Objekts in dem Koordinatensystem des Objekts sind jeweils durch (Rxs, Rys, Rzs) und (Rce, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeiten für den Start- und den Endpunkt sind jeweils durch (Wxs, Wys, Wzs) und (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z- Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The rotation angles for the start and end points of an object in the coordinate system of the object are given by (Rxs, Rys, Rzs) and (Rce, Rye, Rze) in the coordinate system of the original object, respectively, and the Angular velocities for the start and end points are given by (Wxs, Wys, Wzs) and (Wxe, Wye, Wze) in the coordinate system of the initial object, respectively. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = (2 · Rxs - 2 · Rxe + Wxs + Wxe) · t³ + (-3 · Rxs + 3 · Rxe - 2 · Wxs - Wxe) · t² + Wxs · t + RxsRX = (2 · Rxs - 2 · Rxe + Wxs + Wxe) · t³ + (-3 · Rxs + 3 · Rxe - 2 · Wxs - Wxe) · t² + Wxs · t + Rxs
RY = (2 · Rys - 2 · Rye + Wys + Wye) · t³ + (-3 · Rys + 3 · Rye - 2 · Wys - Wye) · t² + Wys · t + RysRY = (2 · Rys - 2 · Rye + Wys + Wye) · t³ + (-3 · Rys + 3 · Rye - 2 · Wys - Wye) · t² + Wys · t + Rys
RZ = (2 · Rzs - 2 · Rze + Wzs + Wze) · t³ + (-3 · Rzs + 3 · Rze - 2 · Wzs - Wze) · t² + Wzs · t + RzsRZ = (2 · Rzs - 2 · Rze + Wzs + Wze) · t³ + (-3 · Rzs + 3 · Rze - 2 · Wzs - Wze) · t² + Wzs · t + Rzs
...(18)...(18)
(2) Für den Startpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit und für den Endpunkt ein Drehwinkel gegeben.(2) A rotation angle and an angular velocity are given for the starting point and a rotation angle is given for the end point.
Die Drehwinkel für den Start- und den Endpunkt eines Objekts in dem Koordinatensystem des Objekts sind jeweils durch (Rxs, Rys, Rzs) und (Rce, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Startpunkt ist durch (Wxs, Wys, Wzs) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des End punkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angles of rotation for the start and end points of an object in the coordinate system of the object are given by (Rxs, Rys, Rzs) and (Rce, Rye, Rze) in the coordinate system of the original object, respectively, and the angular velocity for the start point is given by (Wxs, Wys, Wzs) in the coordinate system of the original object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parameter representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = (-Rxs + Rxe - Wxs) · t² + Wzs · t + RxsRX = (-Rxs + Rxe - Wxs) · t² + Wzs · t + Rxs
RY = (-Rys + Rye - Wys) · t² + Wzs · t + RysRY = (-Rys + Rye - Wys) · t² + Wzs · t + Rys
RZ = (-Rzs + Rze - Wzs) · t² + Wzs · t + RzsRZ = (-Rzs + Rze - Wzs) · t² + Wzs · t + Rzs
...(19)....(19).
(3) Für den Startpunkt ist ein Drehwinkel gegeben, und für den Endpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit gegeben.(3) A rotation angle is given for the starting point, and a rotation angle and an angular velocity are given for the end point.
Die Drehwinkel für den Start- und den Endpunkt eines Objekts in dem Koordinatensystem des Objekts sind jeweils durch (Rxs, Rys, Rzs) und (Rxe, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Endpunkt ist durch (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angles of rotation for the start and end points of an object in the coordinate system of the object are given by (Rxs, Rys, Rzs) and (Rxe, Rye, Rze) in the coordinate system of the initial object, respectively, and the angular velocity for the end point is given by (Wxe, Wye, Wze) in the coordinate system of the initial object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = (Rxs - Rxe + Wxs) · t² + (-2 · Rxs + 2 · Rxe - Wxe) · t + RxsRX = (Rxs - Rxe + Wxs) · t² + (-2 · Rxs + 2 · Rxe - Wxe) · t + Rxs
RY = (Rys - Rye + Wys) · t² + (-2 · Rys + 2 · Rye - Wye) · t + RysRY = (Rys - Rye + Wys) · t² + (-2 · Rys + 2 · Rye - Wye) · t + Rys
RZ = (Rzs - Rze + Wzs) · t² + (-2 · Rzs + 2 · Rze - Wze) · t + RzsRZ = (Rzs - Rze + Wzs) · t² + (-2 · Rzs + 2 · Rze - Wze) · t + Rzs
... (20)... (20)
(4) Für den Startpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit gegeben, und für den Endpunkt ist eine Winkelgeschwindigkeit gegeben.(4) A rotation angle and an angular velocity are given for the starting point, and an angular velocity is given for the end point.
Der Drehwinkel für den Startpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxs, Rys, Rzs) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeiten für den Start- und den Endpunkt sind jeweils durch (Wxs, Wys, Wzs) und (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the start point of an object in the coordinate system of the object is given by (Rxs, Rys, Rzs) in the coordinate system of the initial object, and the angular velocities for the start and end points are given by (Wxs, Wys, Wzs) and (Wxe, Wye, Wze) in the coordinate system of the initial object, respectively. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = (-Wxs + Wxe)/2 · t² + Wxs · t + RxsRX = (-Wxs + Wxe)/2 · t² + Wxs · t + Rxs
RY = (-Wys + Wye)/2 · t² + Wys · t + RysRY = (-Wys + Wye)/2 · t² + Wys · t + Rys
RZ = (-Wzs + Wze)/2 · t² + Wzs · t + RzsRZ = (-Wzs + Wze)/2 · t² + Wzs · t + Rzs
...(21)...(21)
(5) Für den Startpunkt ist eine Winkelgeschwindigkeit gegeben, und für den Endpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit gegeben.(5) An angular velocity is given for the starting point, and an angle of rotation and an angular velocity are given for the end point.
Der Drehwinkel für den Endpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxe, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeiten für den Start- und den Endpunkt sind jeweils durch (Wxs, Wys, Wzs) und (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the end point of an object in the coordinate system of the object is given by (Rxe, Rye, Rze) in the coordinate system of the original object, and the angular velocities for the start and end points are given by (Wxs, Wys, Wzs) and (Wxe, Wye, Wze) in the coordinate system of the original object, respectively. The angle of rotation can be determined using the X, Y and Z-axis. If it is assumed that the angle of rotation changes from the position of the starting point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = (-Wxs + Wxe)/2 · t² + Wxs · t + Rxe - (Wxs + Wxe)/2RX = (-Wxs + Wxe)/2 · t² + Wxs · t + Rxe - (Wxs + Wxe)/2
RY = (-Wys + Wye)/2 · t² + Wys · t + Rye - (Wys + Wye)/2RY = (-Wys + Wye)/2 · t² + Wys · t + Rye - (Wys + Wye)/2
RZ = (-Wzs + Wze)/2 · t² + Wzs · t + Rze - (Wzs + Wze)/2RZ = (-Wzs + Wze)/2 · t² + Wzs · t + Rze - (Wzs + Wze)/2
...(22)...(22)
(6) Für den Startpunkt sind ein Drehwinkel und eine Winkelgeschwindigkeit gegeben.(6) A rotation angle and an angular velocity are given for the starting point.
Der Drehwinkel für den Startpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxs, Rys, Rzs) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Startpunkt ist durch (Wxs, Wys, Wzs) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the starting point of an object in the coordinate system of the object is given by (Rxs, Rys, Rzs) in the coordinate system of the initial object, and the angular velocity for the starting point is given by (Wxs, Wys, Wzs) in the coordinate system of the initial object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the starting point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = Wxs · t + RxsRX = Wxs · t + Rxs
RY = Wys · t + RysRY = Wys · t + Rys
RZ = Wzs · t + RzsRZ = Wzs · t + Rzs
... (23)... (23)
(7) Für den Endpunkt sind ein Drehwinkel und eine Drehgeschwindigkeit angegeben.(7) A rotation angle and a rotation speed are specified for the end point.
Der Drehwinkel für den Endpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxe, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Endpunkt ist durch (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the end point of an object in the coordinate system of the object is given by (Rxe, Rye, Rze) in the coordinate system of the initial object, and the angular velocity for the end point is given by (Wxe, Wye, Wze) in the coordinate system of the initial object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = Wxe · t + (Rxe - Wxe)RX = Wxe · t + (Rxe - Wxe)
RY = Wye · t + (Rye - Wye)RY = Wye · t + (Rye - Wye)
RZ = Wze · t + (Rze - Wze)RZ = Wze · t + (Rze - Wze)
...(24)...(24)
(8) Sowohl für den Start- als auch für den Endpunkt ist ein Drehwinkel gegeben.(8) A rotation angle is given for both the start and end points.
Die Drehwinkel für den Start- und für den Endpunkt eines Objekts in dem Koordinatensystem des Objekts sind jeweils durch (Rxs, Rys, Rzs) und (Rxe, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeit punkt t = 1 verändert, sind die Interpolationsgleichungen:The angles of rotation for the start and end points of an object in the coordinate system of the object are given by (Rxs, Rys, Rzs) and (Rxe, Rye, Rze) in the coordinate system of the original object, respectively. The angle of rotation can be expressed using the X, Y and Z axes given by a parameter representation of t. It is assumed that the angle of rotation extends from the position of the start point at time t = 0 to the position of the end point at time point t = 1, the interpolation equations are:
RX = (-Rxs + Rxe) · t + RxsRX = (-Rxs + Rxe) · t + Rxs
RY = (-Rys + Rye) · t + RysRY = (-Rys + Rye) · t + Rys
RZ = (-Rzs + Rze) · t + RzsRZ = (-Rzs + Rze) · t + Rzs
... (25)... (25)
(9) Für den Startpunkt ist ein Drehwinkel gegeben, und für den Endpunkt ist eine Winkelgeschwindigkeit gegeben.(9) A rotation angle is given for the starting point, and an angular velocity is given for the end point.
Der Drehwinkel für den Startpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxs, Rys, Rzs) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Endpunkt ist durch (Wxe, Wye, Wze) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the start point of an object in the object's coordinate system is given by (Rxs, Rys, Rzs) in the coordinate system of the initial object, and the angular velocity for the end point is given by (Wxe, Wye, Wze) in the coordinate system of the initial object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the start point at time t = 0 to the position of the end point at time t = 1, the interpolation equations are:
RX = Wxe · t + RxsRX = Wxe · t + Rxs
RY = Wye · t + RysRY = Wye · t + Rys
RZ = Wze · t + RzsRZ = Wze · t + Rzs
...(26)...(26)
(10) Für den Startpunkt ist eine Winkelgeschwindigkeit gegeben, und für den Endpunkt ist ein Drehwinkel gegeben.(10) An angular velocity is given for the starting point, and an angle of rotation is given for the end point.
Der Drehwinkel für den Endpunkt eines Objekts in dem Koordinatensystem des Objekts ist durch (Rxe, Rye, Rze) in dem Koordinatensystem des Ausgangsobjekts gegeben, und die Winkelgeschwindigkeit für den Startpunkt ist durch (Wxs, Wys, Wzs) in dem Koordinatensystem des Ausgangsobjekts gegeben. Der Drehwinkel kann unter Verwendung der durch eine Parameterrepräsentation von t gegebenen X-, Y- und Z-Achse ausgedrückt werden. Wird davon ausgegangen, daß sich der Drehwinkel von der Position des Startpunkts zum Zeitpunkt t = 0 zur Position des Endpunkts zum Zeitpunkt t = 1 verändert, sind die Interpolationsgleichungen:The angle of rotation for the endpoint of an object in the object's coordinate system is given by (Rxe, Rye, Rze) in the coordinate system of the initial object, and the angular velocity for the starting point is given by (Wxs, Wys, Wzs) in the coordinate system of the initial object. The angle of rotation can be expressed using the X, Y, and Z axes given by a parametric representation of t. Assuming that the angle of rotation changes from the position of the starting point at time t = 0 to the position of the ending point at time t = 1, the interpolation equations are:
RX = Wxs · t + (Rxe - Wxs)RX = Wxs · t + (Rxe - Wxs)
RY = Wys · t + (Rye - Wys)RY = Wys · t + (Rye - Wys)
RZ = Wzs · t + (Rze - Wzs)RZ = Wzs · t + (Rze - Wzs)
...(27)...(27)
(11) Für den Start- oder für den Endpunkt ist ein Drehwinkel gegeben.(11) A rotation angle is given for the start or end point.
Die Drehwinkel für den Start- und den Endpunkt eines Objekts in dem Koordinatensystem des Objekts verändern sich in dem Koordinatensystem des Ausgangsobjekts nicht. Es liegt nämlich keine Drehung vor.The angles of rotation for the start and end points of an object in the coordinate system of the object do not change in the coordinate system of the original object. There is no rotation.
(12) Sowohl für den Start- als auch für den Endpunkt ist eine Winkelgeschwindigkeit gegeben, oder für den Start- oder für den Endpunkt ist eine Winkelgeschwindigkeit gegeben.(12) An angular velocity is given for both the start and end points, or an angular velocity is given for either the start or the end point.
In diesem Fall können keine Interpolationsgleichungen erhalten werden, so daß eine derartige Zuweisung als Fehler eingestuft wird.In this case, no interpolation equations can be obtained, so that such an assignment is classified as an error.
Bei der praktischen Verwendung wird eine gewünschte Drehbewegung durch aufeinanderfolgendes Koppeln der vorstehend beschriebenen Interpolationsgleichungen eingestellt. Beim Koppeln von Interpolationsgleichungen muß der durch einen Satz Interpolationsgleichungen erhaltene Drehwinkel für den Endpunkt mit dem durch den nächsten Satz Interpolationsgleichungen erhaltenen Drehwinkel für den Startpunkt übereinstimmen. Anders ausgedrückt muß der durch einen Satz Interpolationsgleichungen erhaltene Drehwinkel für den Startpunkt stets mit dem durch den vorhergehenden Satz Interpolationsgleichungen, die mit dem zuerst genannten Satz gekoppelt werden sollen, erhaltenen Drehwinkel für den Endpunkt übereinstimmen.In practical use, a desired rotational motion is set by successively coupling the interpolation equations described above. When coupling interpolation equations, the angle of rotation for the end point obtained by one set of interpolation equations must agree with the angle of rotation for the start point obtained by the next set of interpolation equations. In other words, the angle of rotation for the start point obtained by one set of interpolation equations must always agree with the angle of rotation for the end point obtained by the previous set of interpolation equations to be coupled with the first set.
Der durch den Bediener einstellbare Drehwinkel eines Objekts zu einem Steuerzeitpunkt wird als Steuerdrehwinkel bezeichnet. Die Winkelgeschwindigkeit eines Objekts unmittelbar vor einem Steuerzeitpunkt wird als eingangsseitige Steuerwinkelgeschwindigkeit bezeichnet. Die Winkelgeschwindigkeit eines Objekts unmittelbar nach einem Steuerzeitpunkt wird als ausgangsseitige Steuerwinkelgeschwindigkeit bezeichnet. Eine gemeinsam als eingangs- und ausgangsseitige Steuerwinkelgeschwindigkeit verwendete, gleiche Winkelgeschwindigkeit wird als gemeinsame Steuerwinkelgeschwindigkeit bezeichnet.The angle of rotation of an object at a control time that can be set by the operator is called the control angle of rotation. The angular velocity of an object immediately before a control time is called the input-side control angular velocity. The angular velocity of an object immediately after a control time is called the output-side control angular velocity. An equal angular velocity used jointly as the input-side and output-side control angular velocities is called the common control angular velocity.
Zur Eingabe eines Steuerdrehwinkels, einer eingangsseitigen Steuerwinkelgeschwindigkeit, einer ausgangsseitigen Steuerwinkelgeschwindigkeit, einer gemeinsamen Steuerwinkelgeschwindigkeit oder einer Kombination dieser Werte wird zu jedem Steuerzeitpunkt selektiv ein geeigneter Modus eingestellt. Welcher Modus zu jedem Steuerzeitpunkt eingestellt wird, d.h. welche Eingabe unter dem Steuerdrehwinkel, der eingangsseitigen Steuerwinkelgeschwindigkeit, der ausgangsseitigen Steuerwinkelgeschwindigkeit und der gemeinsamen Steuerwinkelgeschwindigkeit zulässig ist, kann durch unterscheidbares Anzeigen eines schwarzen Kreises, eines Pfeils oder einer bestimmten Farbe auf dem Bildschirm kenntlich gemacht werden, auf dem ein Bewegungspfad angezeigt ist.To input a control rotation angle, an input-side control angular velocity, an output-side control angular velocity, a common control angular velocity or a combination of these values, an appropriate mode is selectively set at each control time. Which mode is set at each control time, that is, which input is allowed among the control rotation angle, the input-side control angular velocity, the output-side control angular velocity and the common control angular velocity, can be distinguished by displaying a black circle, an arrow or a specific color on the screen on which a motion path is displayed.
Zur Definition eines Drehwinkels durch Koppeln mehrerer der vorstehend beschriebenen Interpolationsgleichungen zu mehreren vorgegebenen Steuerzeitpunkten wird ein einziger repräsentativer Steuerzeitpunkt zum Einstellen des Drehwinkels eingestellt. Der repräsentative Steuerzeitpunkt zum Einstellen des Drehwinkels kann der gleiche wie der zur Zuweisung einer Position eines Objekts verwendete repräsentative Steuerzeitpunkt oder ein anderer sein. Es ist stets erforderlich, zum repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels einen Steuerdrehwinkel einzustellen. Beim Ermitteln eines Drehwinkels nach dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels muß der einen Interpolationsabschnitt vor dem Interpolationsabschnitt für das Objekt durch Interpolationsgleichungen ermittelte Drehwinkel für den Endpunkt stets mit dem für den Interpolationsabschnitt für das Objekt durch Interpolationsgleichungen erhaltenen Drehwinkel für den Startpunkt in Übereinstimmung gebracht werden. Anders ausgedrückt schreitet die Interpolationsberechnung zu einem zukünftigen Zeitpunkt fort. Daher ist der Modus für eine derartige Interpolation unter den vorstehend beschriebenen Modi nur der Modus, der die Eingabe des Drehwinkels eines Objekts am Startpunkt ermöglicht. Beim Ermitteln eines Drehwinkels vor dem repräsentativen Steuerzeitpunkt zur Einstellung des Drehwinkels muß der einen Interpolationsabschnitt vor dem Interpolationsabschnitt für das Objekt durch Interpolationsgleichungen erhaltene Drehwinkel am Startpunkt stets mit dem durch Interpolationsgleichungen für den Interpolationsabschnitt für das Objekt erhaltenen Drehwinkel für den Endpunkt in Übereinstimmung gebracht werden. Anders ausgedrückt schreitet die Interpolationsberechnung zu dem vergangenen Zeitpunkt fort. Daher ist der Modus für eine derartige Interpolation nur der Modus unter den vorstehend beschriebenen Modi, der die Eingabe des Drehwinkels eines Objekts am Endpunkt zuläßt. Wenn die eingangsseitige Steuerwinkelgeschwindigkeit zum ersten Steuerzeitpunkt eingestellt wird, können für die Zeitspanne vor dem Steuerzeitpunkt die im Abschnitt (7) beschriebenen Interpolationsgleichungen verwendet werden. Ähnlich können, wenn die ausgangsseitige Steuerwinkelgeschwindigkeit zum letzten Steuerzeitpunkt eingestellt wird, die im Abschnitt (6) beschriebenen Interpolationsgleichungen für die Zeitspanne nach dem Steuerzeitpunkt verwendet werden.To define a rotation angle by coupling a plurality of the interpolation equations described above at a plurality of predetermined control timings, a single representative control timing for setting the rotation angle is set. The representative control timing for setting the rotation angle may be the same as the representative control timing used to assign a position of an object, or it may be different. It is always necessary to set a control rotation angle at the representative control timing for setting the rotation angle. When obtaining a rotation angle after the representative control timing for setting the rotation angle, the rotation angle for the end point obtained by interpolation equations one interpolation section before the interpolation section for the object must always be made to agree with the rotation angle for the start point obtained by interpolation equations for the interpolation section for the object. In other words, the interpolation calculation proceeds to a future timing. Therefore, the mode for such interpolation is only the mode that allows input of the rotation angle of an object at the start point among the modes described above. When obtaining a rotation angle before the representative control timing for setting the rotation angle, the rotation angle at the start point obtained by interpolation equations for one interpolation section before the interpolation section for the object must always be made to agree with the rotation angle at the end point obtained by interpolation equations for the interpolation section for the object. In other words, the interpolation calculation progresses to the past time. Therefore, the mode for such interpolation is only the mode among the modes described above that allows input of the rotation angle of an object at the end point. When the input side control angular velocity is set at the first control timing, the interpolation equations described in section (7) can be used for the period before the control timing. Similarly, when the output side control angular velocity is set at the last control timing, the interpolation equations described in section (6) can be used for the period after the control timing.
Ein Interpolationsmodus zur Interpolation eines Abschnitts zwischen nebeneinanderliegenden Steuerzeitpunkten wird abhängig davon bestimmt, ob für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und/oder ein Steuerdrehwinkel gegeben sind oder ob für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit und/oder ein Steuerdrehwinkel gegeben sind. Selbst wenn für einen Steuerzeitpunkt nach dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels kein Steuerdrehwinkel gegeben ist, wird der gleiche Interpolationsmodus verwendet, der verwendet wird, wenn für den Startpunkt ein Steuerdrehwinkel gegeben ist. Der Grund hierfür ist, daß der Steuerdrehwinkel am Endpunkt des vorhergehenden Interpolationsabschnitts als Steuerdrehwinkel am Startpunkt des betreffenden Interpolationsabschnitts verwendet wird. Ähnlich wird, selbst wenn für einen Steuerzeitpunkt vor dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels kein Steuerdrehwinkel gegeben ist, der gleiche Interpolationsmodus verwendet, der verwendet wird, wenn ein Steuerdrehwinkel für den Endpunkt angegeben ist. Der Grund dafür ist, daß der Steuerdrehwinkel am Startpunkt des nachfolgenden Interpolationsabschnitts als Steuerdrehwinkel am Endpunkt des betreffenden Interpolationsabschnitts verwendet wird. In Anbetracht des Vorstehenden ist, obwohl die folgende Beschreibung einen Fall betrifft, in dem für einen Steuerzeitpunkt nach dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels kein Steuerdrehwinkel für den Startpunkt gegeben ist, annähernd die gleiche Beschreibung auf einen Fall anwendbar, in dem ein Steuerdrehwinkel für den Startpunkt gegeben ist. Ähnlich, obwohl die folgende Beschreibung einen Fall betrifft, in dem für einen Steuerzeitpunkt vor dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels kein Steuerdrehwinkel für den Endpunkt gegeben ist, annähernd die gleiche Beschreibung auf einen Fall anwendbar, in dem ein Steuerdrehwinkel für den Endpunkt gegeben ist.An interpolation mode for interpolating a section between adjacent control timings is determined depending on whether an output-side control angular velocity and/or a control rotation angle are given for the start point or an input-side control angular velocity and/or a control rotation angle are given for the end point. Even if no control rotation angle is given for a control timing after the representative control timing for setting the rotation angle, the same interpolation mode as that used when a control rotation angle is given for the start point is used. This is because the control rotation angle at the end point of the preceding interpolation section is used as the control rotation angle at the start point of the interpolation section in question. Similarly, even if no control rotation angle is given for a control timing before the representative control timing for setting the rotation angle, the same interpolation mode as that used when a control rotation angle is given for the end point is used. The reason for this is that the control rotation angle at the start point of the subsequent interpolation section is used as the control rotation angle at the end point of the interpolation section in question. In view of the above, although the following description concerns a case where no control rotation angle is given for the start point for a control timing after the representative control timing for setting the rotation angle, approximately the same description applicable to a case where a control rotation angle for the start point is given. Similarly, although the following description concerns a case where a control rotation angle for the end point is not given for a control timing before the representative control timing for setting the rotation angle, approximately the same description is applicable to a case where a control rotation angle for the end point is given.
Zunächst erfolgt eine Beschreibung für jeden Interpolationsabschnitt nach dem repräsentativen Steuerzeitpunkt zum Einstellen des Drehwinkels. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt ein Steuerdrehwinkel und eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (1) beschriebenen Interpolationsgleichungen (18) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt ein Steuerdrehwinkel gegeben, werden die im Abschnitt (2) beschriebenen Interpolationsgleichungen (19) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt ein Steuerdrehwinkel und eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (3) beschriebenen Interpolationsgleichungen (20) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (4) beschriebenen Interpolationsgleichungen (21) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt keine Informationen gegeben, werden die im Abschnitt (6) beschriebenen Interpolationsgleichungen (23) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt ein Steuerdrehwinkel gegeben, werden die im Abschnitt (8) beschriebenen Interpolationsgleichungen (25) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (9) beschriebenen Interpolationsgleichungen (26) verwendet. Sind weder für den Startpunkt noch für den Endpunkt Informationen gegeben, werden die im Abschnitt (11) beschriebenen Interpolationsgleichungen verwendet.First, a description is given for each interpolation section according to the representative control timing for setting the rotation angle. When an output-side control angular velocity is given for the start point and a control rotation angle and an input-side control angular velocity are given for the end point, the interpolation equations (18) described in section (1) are used. When an output-side control angular velocity is given for the start point and a control rotation angle is given for the end point, the interpolation equations (19) described in section (2) are used. When no information is given for the start point and a control rotation angle and an input-side control angular velocity are given for the end point, the interpolation equations (20) described in section (3) are used. When an output-side control angular velocity is given for the start point and an input-side control angular velocity is given for the end point, the interpolation equations (21) described in section (4) are used. If an output control angular velocity is given for the starting point and no information is given for the end point, the interpolation equations (23) described in section (6) are used. If no information is given for the starting point and a control angle of rotation is given for the end point, the interpolation equations (25) described in section (8) are used. If no information is given for the starting point and an input control angular velocity is given for the end point, the interpolation equations (25) described in section (9) are used. If information is not available for either the start point or the end point, the interpolation equations described in section (11) are used.
Als nächstes erfolgt eine Beschreibung für jeden Interpolationsabschnitt vor dem repräsentativen Steuerzeitpunkt. Sind für den Startpunkt ein Steuerdrehwinkel und eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (1) beschriebenen Interpolationsgleichungen (18) verwendet. Sind für den Startpunkt ein Steuerdrehwinkel und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (3) beschriebenen Interpolationsgleichungen (20) verwendet. Sind für den Startpunkt ein Steuerdrehwinkel und eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt keine Informationen gegeben, werden die im Abschnitt (2) beschriebenen Interpolationsgleichungen (19) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (5) beschriebenen Interpolationsgleichungen (22) verwendet. Sind für den Startpunkt keine Informationen und für den Endpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben, werden die im Abschnitt (7) beschriebenen Interpolationsgleichungen (24) verwendet. Sind für den Startpunkt ein Steuerdrehwinkel und für den Endpunkt keine Informationen gegeben, werden die im Abschnitt (8) beschriebenen Interpolationsgleichungen (25) verwendet. Sind für den Startpunkt eine ausgangsseitige Steuerwinkelgeschwindigkeit und für den Endpunkt keine Informationen gegeben, werden die im Abschnitt (10) beschriebenen Interpolationsgleichungen (27) verwendet. Sind weder für den Startpunkt noch für den Endpunkt Informationen gegeben, werden die im Abschnitt (11) beschriebenen Interpolationsgleichungen verwendet.Next, a description is given for each interpolation section before the representative control time. If a control rotation angle and an output-side control angular velocity are given for the start point and an input-side control angular velocity are given for the end point, the interpolation equations (18) described in section (1) are used. If a control rotation angle and an input-side control angular velocity are given for the start point and an input-side control angular velocity are given for the end point, the interpolation equations (20) described in section (3) are used. If a control rotation angle and an output-side control angular velocity are given for the start point and no information is given for the end point, the interpolation equations (19) described in section (2) are used. If an output-side control angular velocity is given for the start point and an input-side control angular velocity is given for the end point, the interpolation equations (22) described in section (5) are used. If no information is given for the start point and an input control angular velocity is given for the end point, the interpolation equations (24) described in section (7) are used. If a control angle of rotation is given for the start point and no information is given for the end point, the interpolation equations (25) described in section (8) are used. If an output control angular velocity is given for the start point and no information is given for the end point, the interpolation equations (27) described in section (10) are used. If no information is given for either the start point or the end point, the interpolation equations described in section (11) are used.
Ferner werden, wenn für den ersten Steuerzeitpunkt eine eingangsseitige Steuerwinkelgeschwindigkeit gegeben ist, die im Abschnitt (7) beschriebenen Interpolationsgleichungen (24) für einen Interpolationsabschnitt vor dem ersten Steuerzeitpunkt verwendet. Ist eine ausgangsseitige Steuerwinkelgeschwindigkeit für den letzten Steuerzeitpunkt gegeben, werden für einen Interpolationsabschnitt nach dem letzten Steuerzeitpunkt die im Abschnitt (6) beschriebenen Interpolationsgleichungen (23) verwendet. Wenn lediglich ein Steuerzeitpunkt existiert und weder eine eingangs- noch eine ausgangsseitige Steuergeschwindigkeit für den Steuerzeitpunkt gegeben sind, werden die im Abschnitt (11) beschriebenen Interpolationsgleichungen verwendet.Furthermore, if an input-side control angular velocity is given for the first control time, the interpolation equations (24) described in section (7) are used for an interpolation section before the first control time. If an output-side control angular velocity is given for the last control time, the interpolation equations (23) described in section (6) are used for an interpolation section after the last control time. If only one control time exists and neither an input-side nor an output-side control velocity is given for the control time, the interpolation equations described in section (11) are used.
Es ist möglich, zu bestimmen, ob für einen durch einen Positionsindikator ausgewählten Steuerzeitpunkt, der auf den in den Fig. 22 und 23 dargestellten Zeitlinieneditoren durch einen Indikator für einen Steuerzeitpunkt bezeichnet ist, Informationen eingestellt werden sollen. Es ist nämlich möglich, zu bestimmen, ob für einen bestimmten Steuerzeitpunkt ein Steuerdrehwinkel, eine eingangsseitige Steuerwinkelgeschwindigkeit oder eine ausgangsseitige Steuerwinkelgeschwindigkeit eingestellt werden sollen.It is possible to determine whether to set information for a control timing selected by a position indicator indicated by a control timing indicator on the timeline editors shown in Figs. 22 and 23. Namely, it is possible to determine whether to set a control rotation angle, an input-side control angular velocity, or an output-side control angular velocity for a certain control timing.
Anstelle des vorstehend beschriebenen Verfahrens wird ein weiteres Verfahren zur Zuweisung eines Winkels verwendet, bei dem eine Einschränkungsbedingung eingeführt wird. Gemäß diesem Verfahren zur Zuweisung eines Winkels, bei dem eine Einschränkungsbedingung eingeführt wird, werden zum Zuweisen eines Winkels keine Informationen zu einem Steuerzeitpunkt verwendet, sondern eis wird eine durch ein weiteres Objekt definierte Einschränkungsbedingung verwendet. Im folgenden werden die gemäß dieser Ausführungsform verwendeten Einschränkungsbedingungen beschrieben.Instead of the method described above, another method of assigning an angle in which a constraint condition is introduced is used. According to this method of assigning an angle in which a constraint condition is introduced, information at a control timing is not used to assign an angle, but a constraint condition defined by another object is used. The following describes the constraint conditions used according to this embodiment.
Es werden Informationen bezüglich eines Zielobjekts und eines durch einen Koordinatenwert in dem Koordinatensystem des Zielobjekts repräsentierten Zielpunkts eingegeben. Wenn die Welt als Zielobjekt zugewiesen wird, ist ein betreffendes Objekt stets in der in dem absoluten Koordinatensystem zugewiesenen Richtung ausgerichtet. Eine derartige Zuweisung kann beispielsweise in einem Fall angewendet werden, in dem eine Kamera bewegt wird, während sie, wie in Fig. 25 dargestellt, ein Auto aufnimmt.Information regarding a target object and a target point represented by a coordinate value in the coordinate system of the target object is input. When the world is assigned as a target object, a subject object is always oriented in the direction assigned in the absolute coordinate system. Such an assignment can be applied, for example, to a case where a camera is moved while shooting a car as shown in Fig. 25.
Die Fig. 25 bis 28 zeigen Beispiele von Anzeigen auf dem Bildschirm einer CRT-Anzeige 101, die als Anzeigeeinrichtung dient.Figs. 25 to 28 show examples of displays on the screen of a CRT display 101 serving as a display device.
Es werden Informationen bezüglich eines Zielobjekts und einer in dem Koordinatensystem des Zielobjekts durch eine gerade Linie repräsentierten geraden Ziellinie eingegeben. So wird beispielsweise, wie in Fig. 26 dargestellt, ein betreffendes Objekt derart gedreht, daß es stets in der Richtung einer geraden Linie ausgerichtet ist, die senkrecht zu der geraden Ziellinie verläuft und sich durch das betreffende Objekt erstreckt.Information is input regarding a target object and a straight target line represented by a straight line in the coordinate system of the target object. For example, as shown in Fig. 26, an object of interest is rotated so that it is always oriented in the direction of a straight line that is perpendicular to the straight target line and extends through the object of interest.
Es werden Informationen bezüglich eines Zielobjekts und einer in dem Koordinatensystem des Zielobjekts durch eine flache Ebene repräsentierten Zielebene eingegeben. So wird beispielsweise, wie in Fig. 27 dargestellt, ein betreffendes Objekt derart gedreht, daß die Blickrich tung des Objekts stets in der Richtung der Normalenlinie der Zielebene ausgerichtet ist.Information is input regarding a target object and a target plane represented by a flat plane in the coordinate system of the target object. For example, as shown in Fig. 27, an object in question is rotated such that the viewing direction The object's orientation is always aligned in the direction of the normal line of the target plane.
Wie in Fig. 28 dargestellt, wird ein betreffendes Objekt beispielsweise derart gedreht, daß die Blickrichtung des Objekts stets in der Bewegungsrichtung, d.h. in der Richtung der Tangente des Bewegungspfads, ausgerichtet ist.As shown in Fig. 28, an object in question is rotated, for example, in such a way that the viewing direction of the object is always aligned in the direction of movement, i.e. in the direction of the tangent of the movement path.
Fig. 29 zeigt ein Beispiel einer Anzeige eines Grundoperationsrahmens auf einer CRT-Anzeige 101, die gemäß der Ausführungsform als Anzeigeeinrichtung dient. Eine Operation wird grundlegend unter Verwendung eines Positionszeigers 2901 mit Schaltern und einer Tastatur 2902 ausgeführt. Zunächst wird unter Verwendung des Positionszeigers 2901 eine betreffende Operationskomponente ausgewählt, und anschließend wird eine Operationsanweisung eingegeben. Als Verfahren zur Auswahl eines betreffenden Objekts für eine Operation unter Verwendung des Positionszeigers 2901 existieren ein Verfahren zur Auswahl eines betreffenden Objekts für die Operation durch seine direkte Bestimmung durch einen Positionszeiger und Drücken eines Schalters und ein Verfahren zur Auswahl eines betreffenden Objekts für die Operation durch Bestimmen eines die Objekte enthaltenden rechteckigen Bereichs und gleichzeitiges Auswählen mehrerer Objekte. Wird das zuerst genannte Verfahren zur Auswahl eines Objekts verwendet, werden auf einem nachstehend beschriebenen Anzeigebereich für Zeichen der Name eines ausgewählten betreffenden Objekts und die spezifische Komponentennummer angezeigt. Bei der Verwendung weiterer Verfahren können sämtliche Komponenten durch Bestimmung einer Anweisung zur Auswahl der gesamten Komponenten aus einem nachstehend beschriebenen aufrufbaren Menü aus gewählt werden, oder eine einzelne Komponente kann durch Bestimmen eines Komponentennamens auf einem Zeitlinieneditor ausgewählt werden. Wird eine bereits ausgewählte Komponente erneut ausgewählt, wird diese Komponente in einen nicht ausgewählten Zustand versetzt.Fig. 29 shows an example of display of a basic operation frame on a CRT display 101 serving as a display device according to the embodiment. An operation is basically carried out using a cursor 2901 having switches and a keyboard 2902. First, a subject operation component is selected using the cursor 2901, and then an operation instruction is input. As a method of selecting a subject object for an operation using the cursor 2901, there are a method of selecting a subject object for operation by directly designating it with a cursor and pressing a switch, and a method of selecting a subject object for operation by designating a rectangular area containing the objects and selecting a plurality of objects at the same time. When the former method is used to select an object, the name of a selected subject object and the specific component number are displayed on a character display area described below. When other methods are used, all the components can be selected by designating an instruction for selecting all the components from a callable menu described below. or a single component can be selected by specifying a component name on a timeline editor. If a previously selected component is selected again, that component is placed in an unselected state.
Der Operationsbildschirm wird entweder in einem vierfach unterteilten Anzeigemodus oder in einem nicht unterteilten Anzeigemodus verwendet. In dem vierfach unterteilten Anzeigemodus sind im oberen linken Bereich, im unteren linken Bereich und im unteren rechten Bereich drei dreieckige Diagramme angezeigt, und im oberen rechten Bereich werden selektiv ein Bild, wie es von einer Kamera gesehen wird, oder eine aus einem wählbaren Winkel betrachtete perspektivische Ansicht angezeigt. Der obere rechte Bereich wird als vierte Ebene bezeichnet. Der nicht unterteilte Modus ist ein Modus, in dem ein gewünschter Anzeigebereich des vierfach unterteilten Modus vergrößert und auf dem gesamten Bildschirmbereich angezeigt wird. Ein Bereich zur Anzeige von Zeichen am oberen Endabschnitt ist ein Bereich, in dem eine über die Tastatur eingegebene Anweisung oder einer der verschiedenen Stati des Systems angezeigt werden. Vier feste Menüs am rechten Endabschnitt umfassen ein Steuermenü zur Eingabe und Anzeige von Formen, ein Menü zum Einstellen von Attributen, ein Menü zum Einstellen von Bewegungen und ein Menü zur Aufbereitung von Bildern. Jedes Menü wird in normaler Helligkeit angezeigt, wenn das Menü ausgewählt werden kann, und in einer dunklen Farbe, wenn es nicht ausgewählt werden kann. Wenn ein Menü einen bestimmten Modus aufweist und sich in einem auswählbaren Zustand befindet, wird vor dem Namen des Menüs eine Prüfmarkierung angezeigt. Wie in Fig. 29 dargestellt, kann ein aufrufbares Menü durch Drücken eines Schalters auf dem Positionsindikator aufgerufen werden. Die Analyse und die Art von in dem aufrufbaren Menü enthaltenen Anweisungen unterscheiden sich abhängig von der Position des Positionszeigers beim Drücken eines Schalters und abhängig von dem Modus. Das auf rufbare Menü enthält auch nur die in den vier festen Menüs zuletzt ausgewählte Anweisung.The operation screen is used in either a four-way divided display mode or a non-divided display mode. In the four-way divided display mode, three triangular diagrams are displayed in the upper left area, the lower left area, and the lower right area, and an image as seen by a camera or a perspective view viewed from a selectable angle is selectively displayed in the upper right area. The upper right area is called the fourth level. The non-divided mode is a mode in which a desired display area of the four-way divided mode is enlarged and displayed on the entire screen area. A character display area at the upper end section is an area in which an instruction entered from the keyboard or one of the various statuses of the system is displayed. Four fixed menus at the right end section include a control menu for entering and displaying shapes, a menu for setting attributes, a menu for setting motions, and a menu for editing images. Each menu is displayed in normal brightness when the menu can be selected, and in a dark color when it cannot be selected. When a menu has a specific mode and is in a selectable state, a check mark is displayed in front of the menu name. As shown in Fig. 29, an invokable menu can be invoked by pressing a switch on the position indicator. The analysis and type of instructions contained in the invokable menu differ depending on the position of the position indicator when pressing a switch and depending on the mode. The menu displayed on The menu that can be called also contains only the instruction last selected in the four fixed menus.
Unter den vier festen Menüs enthält das Steuermenü zur Eingabe und Anzeige von Formen Anweisungen bezüglich der Eingabe von Formen, des Löschens von Komponenten, des Kopierens von Komponenten, der Zuweisung von Ausgangselementen, der Vergrößerung von Komponenten, der Drehung von Komponenten, der Bewegung von Komponenten, der Anzeige von Gitternetzen, des Löschens von Gitternetzen, einer Normalenanzeige, einer gewöhnlichen Anzeige, der Anzeige eines durchgehenden Rechtecks, keiner Anzeige, der Anzeige einer Drehung, des Blickwinkels einer Kamera, eines Schnappschußspeichers und eines Lesens von Schnappschüssen. Die Funktion jeder Anweisung wird im folgenden beschrieben.Among the four fixed menus, the control menu for inputting and displaying shapes contains instructions for inputting shapes, deleting components, copying components, assigning output elements, magnifying components, rotating components, moving components, displaying grids, deleting grids, normal display, ordinary display, displaying a solid rectangle, no display, displaying rotation, viewing angle of a camera, snapshot storage, and reading snapshots. The function of each instruction is described below.
Die Anweisung zur Eingabe einer Form ist eine Anweisung zur Eingabe einer extern definierten dreidimensionalen Form. Werden der Name einer Datei, in der Formdaten gespeichert sind, und das Format der Formdaten angegeben, werden die Formdaten erhalten. In der Datei können mehrere Komponenten gespeichert sein, wobei die Namen der Komponenten und ihre hierarchische Struktur gespeichert sind und jeder Komponente automatisch eine eindeutige Komponentennummer zugewiesen wird. Sämtliche Komponenten ohne Ausgangselement werden derart gesteuert, daß sie die Welt zum Ausgangselement haben.The shape input instruction is an instruction for inputting an externally defined three-dimensional shape. If the name of a file in which shape data is stored and the format of the shape data are specified, the shape data is obtained. Multiple components can be stored in the file, with the names of the components and their hierarchical structure stored and each component automatically assigned a unique component number. All components without a source element are controlled to have the world as their source element.
Die Anweisung zum Löschen einer Komponente ist eine Anweisung zum vollständigen Löschen einer bereits ausgewählten Komponente.The delete component instruction is an instruction to completely delete an already selected component.
Die Anweisung zum Kopieren einer Komponente ist eine Anweisung zur Erzeugung einer weiteren Komponente durch Teilen der Formdaten einer bereits ausgewählten Komponente. Eine durch diese Anweisung erzeugte Komponente teilt die Formdaten mit einer weiteren Komponente. Daher werden, wenn für eine der die Form teilenden Komponenten eine Anweisung zur Vergrößerung einer Komponente, eine Anweisung zur Drehung einer Komponente oder eine Anweisung zur Bewegung einer Komponente ausgeführt werden, die anderen Komponenten durch die ausgeführte Anweisung beeinflußt.The copy component instruction is an instruction to create another component by dividing the shape data of an already selected component. A component created by this instruction shares the shape data with another component. Therefore, if an instruction to enlarge a component, an instruction to rotate a component, or an instruction to Component or an instruction to move a component is executed, the other components are influenced by the executed instruction.
Die Anweisung zur Zuweisung eines Ausgangselements ist eine Anweisung zur Zuweisung eines Ausgangselements einer bereits ausgewählten Komponente. Wenn der Name einer als Ausgangselement dienenden Komponente oder eine Komponentennummer eingegeben werden, wird die hierarchische Struktur der Komponenten rekonstruiert.The statement for assigning an output element is an instruction for assigning an output element to an already selected component. When the name of a component serving as an output element or a component number is entered, the hierarchical structure of the components is reconstructed.
Die Anweisung zur Vergrößerung einer Komponente ist eine Anweisung zur Veränderung der Größe einer Komponente unter Verwendung des Koordinatensystems der Komponente als Referenz. Wird der Vergrößerungs- bzw. Verkleinerungsfaktor für jede Achse des Koordinatensystems der Komponente eingegeben, wird die Vergrößerung oder Verkleinerung mit dem entsprechenden Faktor ausgeführt.The component enlargement instruction is an instruction to change the size of a component using the component's coordinate system as a reference. If the enlargement or reduction factor is entered for each axis of the component's coordinate system, the enlargement or reduction is carried out by the corresponding factor.
Die Anweisung zum Drehen einer Komponente ist eine Anweisung zum Drehen einer Komponente unter Verwendung des Koordinatensystems der Komponente als Referenz. Wenn der Drehwinkel für jede Achse eingegeben wird, wird eine Drehung ausgeführt.The rotate component instruction is an instruction to rotate a component using the component's coordinate system as a reference. When the rotation angle is entered for each axis, a rotation is performed.
Die Anweisung zum Bewegen einer Komponente ist eine Anweisung zum Bewegen einer Komponente unter Verwendung des Koordinatensystems der Komponente als Referenz. Wenn die Bewegungsgröße für jede Achse eingegeben wird, wird eine parallele Bewegung ausgeführt.The instruction to move a component is an instruction to move a component using the coordinate system of the component as a reference. When the movement amount is entered for each axis, a parallel movement is performed.
Die Anweisung zur Anzeige eines Gitternetzes ist eine Anweisung zur Anzeige eines Bezugskoordinatensystems und einer Bezugsebene einer bereits ausgewählten Komponente.The instruction to display a grid is an instruction to display a reference coordinate system and a reference plane of an already selected component.
Die Anweisung zum Löschen des Gitternetzes ist eine Anweisung zum Löschen eines Bezugskoordinatensystems und einer Bezugsebene einer bereits ausgewählten Komponente.The delete mesh statement is an instruction to delete a reference coordinate system and a reference plane of an already selected component.
Die Anweisung für eine Normalenanzeige ist eine Anweisung zur Anzeige eines Komponentenkoordinatensystems nur einer bereits ausgewählten Komponente in einer Normalenposition. Wird diese Anweisung unter der Bedingung ausgeführt, daß keine Komponente ausgewählt ist, wird das Koordinatensystem der Welt in der Normalenposition angezeigt. Die Normalenposition ist eine Position, in der ein bezeichnetes Koordinatensystem ein Bezugskoordinatensystem wird, in dem drei dreiekkige Diagramme angezeigt sind.The normal display instruction is an instruction to display a component coordinate system of only an already selected component in a normal position. When this instruction is executed under the condition that no component is selected, the coordinate system of the world is displayed in the normal position. The normal position is a position in which a designated coordinate system becomes a reference coordinate system in which three triangular diagrams are displayed.
Die Anweisung für eine normale Anzeige verändert einen Anzeigemodus einer bereits ausgewählten Komponente in einen normalen Anzeigemodus. Die Anweisung für eine normale Anzeige ist ein Anweisung zur Aufbereitung eines Bilds unter Verwendung eines jeder Komponente zugewiesenen Attributwerts. Der Attributwert wird in der Beschreibung des Menüs zur Einstellung von Attributen beschrieben.The normal display instruction changes a display mode of an already selected component to a normal display mode. The normal display instruction is an instruction for rendering an image using an attribute value assigned to each component. The attribute value is described in the description of the attribute setting menu.
Die Anweisung zur Anzeige eines rechteckigen Festkörpers verändert einen Anzeigemodus einer bereits ausgewählten Komponente in einen Modus zur Anzeige eines rechteckigen Festkörpers. Im Modus zur Anzeige eines rechteckigen Festkörpers wird ein rechteckiger Festkörper in seiner spezifischen Farbe angezeigt, wobei der Festkörper durch Zeichnen von Linien erhalten wird, die sich zwischen maximalen und minimalen Werten auf jeder Achse in dem Komponentenkoordinatensystem einer Komponente erstrecken. Die objektspezifische Farbe wird in der Beschreibung des Menüs zum Einstellen von Attributen beschrieben.The rectangular solid display instruction changes a display mode of an already selected component to a rectangular solid display mode. In the rectangular solid display mode, a rectangular solid is displayed in its specific color, which is obtained by drawing lines extending between maximum and minimum values on each axis in the component coordinate system of a component. The object-specific color is described in the description of the attribute setting menu.
Die Anweisung für keine Anzeige verändert den Anzeigemodus einer bereits ausgewählten Komponente in einen Modus ohne Anzeige. Der Modus ohne Anzeige ist ein Modus zur Unterdrückung der Anzeige einer betreffenden Komponente.The no display instruction changes the display mode of an already selected component to a no display mode. No display mode is a mode for suppressing the display of a particular component.
Die Anweisung zur Drehung einer Anzeige ist eine Anweisung zum Drehen einer perspektivischen Ansicht, wenn sie auf der vierten Ebene angezeigt ist, um dadurch die Bestimmung der dreidimensionalen Position eines Objekts und die Einstellung des Orts zu unterstützen.The instruction to rotate a display is an instruction to rotate a perspective view when it is displayed on the fourth level, thereby determining the three-dimensional position of an object and to support the setting of the location.
Die Anweisung für den Blickwinkel der Kamera bestimmt, ob ein von einer Kamera aufgenommenes Bild oder eine aus einem wählbaren Winkel betrachtete perspektivische Ansicht auf der vierten Ebene angezeigt wird. Wird ein von einer Kamera aufgenommenes Bild angezeigt, wird vor der Anweisung für den Blickwinkel der Kamera eine Prüfmarkierung angezeigt.The camera angle of view instruction determines whether an image captured by a camera or a perspective view viewed from a selectable angle is displayed on the fourth layer. When an image captured by a camera is displayed, a check mark is displayed before the camera angle of view instruction.
Die Anweisung zum Speichern von Schnappschüssen ist eine Anweisung zum Speichern sämtlicher gegenwärtig aufbereiteter Daten in einer Datei. Wird der Name einer Datei eingegeben, wird diese Anweisung ausgeführt.The save snapshot statement is an instruction to save all currently processed data to a file. When the name of a file is entered, this instruction is executed.
Die Anweisung zum Lesen eines Schnappschusses ist eine Anweisung zum Lesen bereits aufbereiteter Daten. Wird der Name einer Datei eingegeben, werden sämtliche gegenwärtig aufbereiteten Daten einmal gelöscht, und anschließend werden die Daten aus der bezeichneten Datei gelesen, um eine Aufbereitung zu ermöglichen.The read snapshot instruction is an instruction to read data that has already been prepared. If the name of a file is entered, all currently prepared data is deleted once, and then the data from the specified file is read to enable preparation.
Unter den vier festen Menüs enthält das Menü zum Einstellen von Attributen Anweisungen bezüglich der Aufbereitung von Attributen, der Maskierung, der Kamerazuweisung und der Zuweisung einer Lichtquelle. Die Funktion jeder Anweisung wird nachstehend beschrieben.Among the four fixed menus, the attribute setting menu contains instructions regarding attribute editing, masking, camera assignment, and light source assignment. The function of each instruction is described below.
Die Anweisung zur Aufbereitung von Attributen öffnet einen Editor für Oberflächenattribute, wenn ein bereits ausgewähltes Objekt eine Komponente ist, einen Editor für Kameraattribute, wenn das Objekt eine Kamera ist, und einen Editor für die Attribute einer Lichtquelle, wenn das Objekt eine Lichtquelle ist. Wird die Anweisung ausgewählt, wenn kein Objekt ausgewählt ist, wird der Editor für Oberflächenattribute geöffnet. Unter Verwendung des Editors für Oberflächenattribute ist es möglich, die Oberflächenattribute eines bezeichneten Objekts aufzubereiten. Werden mehrere Komponen ten ausgewählt, wird jeder Komponente ein Oberflächenattribut zugewiesen. Jeder Editor wird im weiteren beschrieben.The Edit Attributes statement opens a surface attributes editor if an already selected object is a component, a camera attributes editor if the object is a camera, and a light source attributes editor if the object is a light source. If the statement is selected when no object is selected, the Surface Attributes Editor opens. Using the Surface Attributes Editor, it is possible to edit the surface attributes of a designated object. If multiple components are selected, the Surface Attributes Editor opens. ten, each component is assigned a surface attribute. Each editor is described below.
Die Anweisung zur Maskierung öffnet einen Maskierungseditor zur Maskierung einer bereits ausgewählten Komponente. Sind mehrere Objekte ausgewählt, wird unter Verwendung eines von dem Maskierungseditor bestimmten Parameters für jedes Objekt der gleiche Maskierungsvorgang ausgeführt.The masking instruction opens a masking editor for masking an already selected component. If multiple objects are selected, the same masking operation is performed for each object using a parameter determined by the masking editor.
Die Anweisung zur Zuweisung einer Kamera ist eine Anweisung zur Bezeichnung einer bereits ausgewählten Komponente als Kamera. Wurde eine andere Komponente als Kamera bestimmt, wird eine derartige Zuweisung gelöscht, und die durch diese Anweisung bestimmte Komponente wird neu als Kamera bestimmt.The statement to assign a camera is an instruction to designate an already selected component as a camera. If another component was designated as a camera, such an assignment is deleted and the component designated by this statement is redesignated as a camera.
Die Anweisung zur Zuweisung einer Lichtquelle ist eine Anweisung zur Bezeichnung einer bereits ausgewählten Komponente als Lichtquelle. Eine als Lichtquelle bezeichnete Komponente wird in einer lichtquellenspezifischen Farbe angezeigt. Wenn die Anweisung für eine Komponente ausgeführt wird, die bereits als Lichtquelle bezeichnet ist, wird eine derartige Lichtquellenzuweisung gelöscht, und die bezeichnete Komponente wird eine normale Komponente.The light source assignment statement is an instruction to designate an already selected component as a light source. A component designated as a light source is displayed in a light source-specific color. If the statement is executed on a component that is already designated as a light source, such a light source assignment is deleted and the designated component becomes a normal component.
Unter den vier festen Menüs enthält das Menü zur Einstellung einer Bewegung Anweisungen bezüglich der Anzeige eines Orts, des Löschens eines Orts, der Anzeige eines Zeitlinieneditors, der Aufbereitung einer Bewegung und des Lesens einer Bewegung. Die Funktion jeder Anweisung wird im folgenden beschrieben.Among the four fixed menus, the menu for setting a motion contains instructions for displaying a location, deleting a location, displaying a timeline editor, editing a motion, and reading a motion. The function of each instruction is described below.
Die Anweisung zur Anzeige eines Orts ist eine Anweisung zur Anzeige des Bewegungspfads einer bereits ausgewählten Komponente.The instruction to display a location is an instruction to display the motion path of an already selected component.
Unter den vier festen Menüs enthält das Menü zur Aufbereitung eines Bilds Anweisungen bezüglich der Aufbereitung des Hintergrunds, der Bildsynthese, der Hardware-Bildaufbereitung und der Software-Bildaufbereitung.Among the four fixed menus, the menu for processing an image contains instructions regarding processing the background, image synthesis, hardware image processing and software image processing.
Als nächstes wird eine weitere Ausführungsform der vorliegenden Erfindung beschrieben.Next, another embodiment of the present invention will be described.
In der tatsächlichen Phase hängen die Eigenschaften von von der Oberfläche eines Objekts reflektiertem Licht nicht nur von den Eigenschaften einer Lichtquelle, sondern auch von den Eigenschaften der Oberfläche eines Objekts ab. Im Bereich der Computergrafik wird die Bildqualität eines gewünschten Materials durch Ausdrücken der Eigenschaften der Oberfläche eines Objekts erhalten. Von der Oberfläche eines Objekts reflektiertes Licht wird in gestreutes Licht und gespiegeltes Licht klassifiziert. Das gestreute Licht sind die Komponenten des Lichts, die einmal in ein Objekt eingedrungen sind und dann von der Oberfläche des Objekts in eine Richtung abgestrahlt werden. Das gespiegelte Licht sind die Komponenten des Lichts, die von der Oberfläche eines Objekts spiegelartig reflektiert werden.In the actual stage, the properties of light reflected from the surface of an object depend not only on the properties of a light source but also on the properties of the surface of an object. In the field of computer graphics, the image quality of a desired material is obtained by expressing the properties of the surface of an object. Light reflected from the surface of an object is classified into scattered light and specular light. The scattered light is the components of light that have once penetrated into an object and are then radiated from the surface of the object in a direction. The specular light is the components of light that are reflected from the surface of an object in a mirror-like manner.
Im Bereich der Computergrafik wird im allgemeinen die folgende Gleichung zur Bestimmung der Helligkeit oder Luminanz der Oberfläche eines Objekts verwendet.In the field of computer graphics, the following equation is generally used to determine the brightness or luminance of the surface of an object.
I = Ia · Ka + Id · Kd · cos(A) + Is · Ks · W(B)I = Ia · Ka + Id · Kd · cos(A) + Is · Ks · W(B)
...(28),...(28),
wobeiwhere
I: bestimmte Luminanz auf der Oberfläche eines Objekts,I: certain luminance on the surface of an object,
Ia, Ib, Is: Parameter, die die Eigenschaften einer Lichtquelle angeben,Ia, Ib, Is: parameters that indicate the properties of a light source,
Ka: Intensität des Umgebungslichts,Ka: intensity of ambient light,
Kd: Intensität des gestreuten Lichts,Kd: intensity of scattered light,
Ks: Intensität des gespiegelten Lichts.Ks: Intensity of the reflected light.
Der erste Begriff (die Umgebungslichtkomponenten) der Gleichung (28) repräsentiert die mit einem Umgebungslicht au ßer der Lichtquelle bestrahlten Lichtkomponenten. Dieser Begriff ist vorgesehen, um zu verhindern, daß ein nicht direkt von der Lichtquelle angestrahlter Abschnitt schwarz wird.The first term (the ambient light components) of equation (28) represents the ambient light components irradiated above the light source. This term is used to prevent a section not directly illuminated by the light source from becoming black.
Der zweite Begriff (die gestreuten Lichtkomponenten) der Gleichung (28) ist ein Begriff, der das Lambertsche Kosinusgesetz repräsentiert, das angewendet wird, wenn Licht von einer Lichtquelle vollständig gestreut und reflektiert wird. Der Wert "A" in cos(A) ist ein Winkel zwischen einer Normalenlinie auf der Oberfläche eines Objekts und der Richtung der Lichtquelle von der Oberfläche des Objekts aus betrachtet. Der Begriff gibt die Komponenten der für ein Objekt, wie Kunststoff oder Gips, spezifischen Farbe an.The second term (the scattered light components) of equation (28) is a term representing Lambert's cosine law, which is applied when light from a light source is completely scattered and reflected. The value "A" in cos(A) is an angle between a normal line on the surface of an object and the direction of the light source as viewed from the surface of the object. The term indicates the components of color specific to an object, such as plastic or plaster.
Der dritte Begriff der Gleichung (28) ist ein Ausdruck, der die gespiegelten Lichtkomponenten angibt. Der Wert "B" in W(B) ist ein Winkel zwischen der Richtung eines Blickwinkels und der Richtung der Normalenreflektion auf der spiegelnden Oberfläche, und W(B) ist eine Funktion, die eine Dämpfung angibt, wenn der Blickwinkel aus der Richtung der Normalenspiegelreflexion verschoben wird. Die gespiegelten Lichtkomponenten spielen eine wichtige Rolle beim Ausdrücken der Bildqualität des Materials eines Objekts. Die gespiegelten Lichtkomponenten eines Objekts aus Kunststoff haben beispielsweise die gleiche Farbe wie die Lichtquelle. Wenn die Lichtquelle weißes Licht ausstrahlt, wird nämlich das von dem Kunststoff gespiegelte Licht weiß, und wenn die Lichtquelle rotes Licht ausstrahlt, wird das gespiegelte Licht rot. Dagegen haben die von Metall, solider Farbe und dergleichen eine Farbe, die sich von der der Lichtquelle unterscheidet. Wird beispielsweise Kupfer mit weißem Licht angestrahlt, haben die gespiegelten Lichtkomponente die für Kupfer spezifische Farbe, d.h. sie sind rot.The third term of equation (28) is an expression that indicates the reflected light components. The value "B" in W(B) is an angle between the direction of a viewing angle and the direction of normal reflection on the mirror surface, and W(B) is a function that indicates an attenuation when the viewing angle is shifted from the direction of normal mirror reflection. The reflected light components play an important role in expressing the image quality of the material of an object. For example, the reflected light components of an object made of plastic have the same color as the light source. Namely, when the light source emits white light, the reflected light from the plastic becomes white, and when the light source emits red light, the reflected light becomes red. On the other hand, those of metal, solid paint, and the like have a color different from that of the light source. If, for example, copper is illuminated with white light, the reflected light components have the color specific to copper, i.e. they are red.
Ka, Kd und Ks repräsentieren Farbvektorinformationen, die jeweils durch eine Kombination von R, G und B repräsentiert werden können. Eine Kombination von Ka, Kd und Ks er möglicht den Ausdruck von Bildern verschiedener Materialqualitäten. Eine herkömmliche Methode zur Bestimmung einer Kombination von R, G und B, die Ka, Kd oder Ks bestimmt, erforderte jedoch erhebliche Fachkenntnisse. Bei dieser Ausführungsform wird Ka nicht durch eine Kombination von R, G und B bestimmt, sondern wird durch die Repräsentation der Farbe eines Objekts in einem (H, L, S) - Farbmodell als (H, αaL, S) bestimmt, wobei gilt 0 ≤ α ≤ 1. Ähnlich wird Kd durch (H, αd, S) bestimmt, wobei 0 ≤ αd ≤ 1 gilt. Ks wird durch (H, αsL, βsS) bestimmt, wobei 0 ≤ αs ≤ 1 und 0 ≤ βs ≤ 1 gelten. Eine "matte" Farbe wird durch Einstellen von αs = 0 ausgedrückt. Die Farbe von Kunststoff wird ausgedrückt, indem βs = 0 eingestellt wird, und die Farbe von Metall wird durch Einstellen von βs = 1 eingestellt. Jeder bestimmte Wert Ka, Kd und Ks wird durch eine Berechnung durch einen Computer in eine Kombination von R, G und B umgewandelt. Ka und Kd wird eine Farbe zugewiesen, die von einer für ein Objekt spezifischen Farbe abhängt, und die Intensität der Reflexion kann unabhängig von jedem Parameter eingestellt werden. Ks wird eine für ein Objekt spezifische Farbe, die Farbe weiß oder eine Zwischenfarbe zugewiesen, um die Intensität der Reflexion zu bestimmen.Ka, Kd and Ks represent color vector information, each of which can be represented by a combination of R, G and B. A combination of Ka, Kd and Ks is enables the expression of images of different material qualities. However, a conventional method of determining a combination of R, G and B that determines Ka, Kd or Ks required considerable expertise. In this embodiment, Ka is not determined by a combination of R, G and B, but is determined by representing the color of an object in a (H, L, S) color model as (H, αaL, S), where 0 ≤ α ≤ 1. Similarly, Kd is determined by (H, αd, S), where 0 ≤ α d ≤ 1. Ks is determined by (H, αsL, βsS), where 0 ≤ α s ≤ 1 and 0 ≤ β s ≤ 1. A "matte" color is expressed by setting αs = 0. The color of plastic is expressed by setting βs = 0, and the color of metal is set by setting βs = 1. Each specific value of Ka, Kd, and Ks is converted into a combination of R, G, and B by a calculation by a computer. Ka and Kd are assigned a color depending on a color specific to an object, and the intensity of reflection can be adjusted independently of each parameter. Ks is assigned a color specific to an object, the color white, or an intermediate color to determine the intensity of reflection.
Fig. 30 zeigt den Aufbau des Hauptteils eines Computergrafiksystems gemäß der Ausführungsform der vorliegenden Erfindung. Eine Vorrichtung 1 zur Bestimmung einer objektspezifischen Farbe bestimmt die für ein Objekt spezifische Farbe. Soll beispielsweise ein Bild der Materialqualität von rotem Kunststoff oder Kupfer realisiert werden, wird eine "rote" Farbe als objektspezifische Farbe verwendet. Die Vorrichtung zur Bestimmung der objektspezifischen Farbe bestimmt unter Verwendung der drei Primärfarben R, G und B und entsprechend der "Farbe" und der "Intensität", die vom Bediener zugewiesen werden, den Farbton eines Objekts. Bei dieser Ausführungsform kann der Bediener, wie im weiteren unter Bezugnahme auf Fig. 34 beschrieben, die Farbe und Intensität unter Verwendung von Schiebereglern linear bestimmen. Es können dem Bediener jedoch auch unter Verwendung eines Computers auswählbare mögliche Farben angezeigt werden, und die vom Bediener ausgewählte Farbe kann als objektspezifische Farbe verwendet werden.Fig. 30 shows the structure of the main part of a computer graphics system according to the embodiment of the present invention. An object-specific color determining device 1 determines the color specific to an object. For example, when an image of the material quality of red plastic or copper is to be realized, a "red" color is used as the object-specific color. The object-specific color determining device determines the color tone of an object using the three primary colors R, G and B and in accordance with the "color" and "intensity" assigned by the operator. In this embodiment, the operator can determine the color and intensity linearly using sliders, as described below with reference to Fig. 34. However, selectable possible colors can also be presented to the operator using a computer, and the color selected by the operator can be used as the object-specific color.
Die Einzelheiten einer Vorrichtung 2 zur Bestimmung eines Oberflächenreflexionsattributs gemäß Fig. 30 sind in Fig. 31 dargestellt. Die Vorrichtung 2 zur Bestimmung eines Oberflächenreflexionsattributs ist aus einer Einheit 3 zur Bestimmung der Intensität des Umgebungslichts, einer Einheit 4 zur Bestimmung der Intensität des gestreuten Lichts, einer Einheit 5 zum Einstellen der Bildqualität von Metall und einer Einheit 6 zur Bestimmung der Intensität des gespiegelten Lichts aufgebaut.The details of a surface reflection attribute determining device 2 shown in Fig. 30 are shown in Fig. 31. The surface reflection attribute determining device 2 is composed of an ambient light intensity determining unit 3, a scattered light intensity determining unit 4, a metal image quality adjusting unit 5, and a reflected light intensity determining unit 6.
Die Einheit 3 zur Bestimmung Intensität des Umgebungslichts (Ka) empfängt eine objektspezifische Farbe repräsentierende RGB-Daten von der Vorrichtung 1 zur Bestimmung der objektspezifischen Farbe und wandelt die empfangenen Daten in Daten im HLS-Farbmodell um. Darauf wird auf die vorstehend beschriebene Weise unter Verwendung eines vom Bediener bestimmten Werts αa (H, αaL, S) ermittelt und in Daten im RGB- Farbmodell umgewandelt, um Ka zu berechnen.The ambient light intensity (Ka) determination unit 3 receives RGB data representing an object-specific color from the object-specific color determination device 1 and converts the received data into data in the HLS color model. Then, in the manner described above, using a value αa specified by the operator, (H, αaL, S) is determined and converted into data in the RGB color model to calculate Ka.
Ähnlich wandelt die Einheit 4 zur Bestimmung der Intensität des gestreuten Lichts (Kd) die RGB-Daten in HLS-Daten um. Darauf wird unter Verwendung eines vom Bediener bestimmten Werts von αd (H, αdL, S) ermittelt und in das RGB-Modell umgewandelt, um Kd zu berechnen.Similarly, the scattered light intensity (Kd) determination unit 4 converts the RGB data into HLS data. Then, using an operator-specified value of αd, (H, αdL, S) is determined and converted into the RGB model to calculate Kd.
Ähnlich empfängt die Einheit 5 zum Einstellen eires Bilds der Qualität von Metall RGB-Daten und wandelt sie in HLS-Daten um. Danach wird unter Verwendung eines vom Benutzer bestimmten Werts von βs (H, L, βsS) ermittelt. Die Einheit 6 zur Bestimmung der Intensität des gespiegelten Lichts (Kd) ermittelt unter Verwendung eines vom Bediener bestimmten Werts von αa (H, αsL, (βsS) und wandelt den Wert in Daten im RGB-Farbmodell um, um Ks zu berechnen.Similarly, the metal quality image adjustment unit 5 receives RGB data and converts it into HLS data. Then, using a user-specified value of βs (H, L, βsS) is determined. The reflected light intensity (Kd) determination unit 6 determined using an operator-specified value of αa (H, αsL, (βsS)) and converts the value to data in the RGB color model to calculate Ks.
Fig. 32 stellt eine von einer einzigen Lichtquelle beleuchtete Kugel dar. Die vorstehend beschriebenen Werte Ka, Kd und Ks bestimmen den Bereich und die Helligkeit an jedem Punkt der Kugel. Gemäß Fig. 32 wird die Umgebungslichtkomponente durch den Parameter Ks bestimmt, um einen Abschritt auszudrücken, der von der Lichtquelle nicht direkt beJeuchtet wird. Die Komponente des gestreuten Lichts wird durch den Parameter Kd bestimmt, um einen Abschnitt auszudrücken, der von der Lichtquelle direkt beleuchtet wird. Die Komponente des gespiegelten Lichts wird durch Ks bestimmt, um einen Abschnitt auszudrücken, an dem das Licht von der Oberfläche des Objekts spiegelartig reflektiert wird und auf die Augen auftrifft.Fig. 32 shows a sphere illuminated by a single light source. The values Ka, Kd and Ks described above determine the area and brightness at each point of the sphere. According to Fig. 32, the ambient light component is determined by the parameter Ks to express a portion not directly illuminated by the light source. The scattered light component is determined by the parameter Kd to express a portion directly illuminated by the light source. The reflected light component is determined by Ks to express a portion where the light is reflected from the surface of the object in a mirror-like manner and impinges on the eyes.
Als nächstes wird die Bestimmung einer objektspezifischen Farbe beschrieben. Bei der Bestimmung einer Farbe werden im allgemeinen die drei RGB-Farben verwendet, um durch Einstellen der Farbintensitäten einen Farbton zu bestimmen. Bei dieser Ausführungsform wird eine objektspezifische Farbe jedoch unter Verwendung des HLS-Farbmodells bestimmt. Fig. 33 stellt ein HLS-Farbmodell dar. Eine Farbe wird durch die Eingabe von drei Parametern identifiziert, die H (den Farbton), L (die Helligkeit) und S (die Sättigung) umfassen. Der Farbton H nimmt einen Wert von 0 bis 360 Grad an. 0 Grad repräsentiert "rot", 60 Grad repräsentiert "gelb", 120 Grad repräsentiert "grün", 180 Grad repräsentiert "zyan", 240 Grad repräsentiert "blau" und 300 Grad repräsentiert "magneta". Die Helligkeit L nimmt einen Wert von 0,0 bis 110 an. Der hqert 0,0 repräsentiert "schwarz", der Wert 1,0 repräsentiert weiß, die übrigen Werte repräsentierten dem Farbton H und der Sättigung S entsprechende Farben. Die Sättigung 5 nimmt einen Wert von 0,0 bis 1,0 an. Der Wert 0,0 repräsentiert eine "achromatische Farbe", d.h. "grau", und der Wert 1,0 repräsentiert eine "reine Farbe". Durch Verändern der Sättigung S ist es möglich, die Farbe kontinuierlich von "grau" bis "rein" zu verändern, wobei die gleiche "Helligkeit" und der gleiche "Farbton" beibehalten werden. Unter Verwendung einer geeigneten Kombination von HLS kann der Bediener eine gewünschte Farbe bestimmen.Next, the determination of an object-specific color will be described. In determining a color, the three RGB colors are generally used to determine a hue by adjusting the color intensities. However, in this embodiment, an object-specific color is determined using the HLS color model. Fig. 33 illustrates an HLS color model. A color is identified by inputting three parameters including H (the hue), L (the brightness), and S (the saturation). The hue H takes a value from 0 to 360 degrees. 0 degrees represents "red," 60 degrees represents "yellow," 120 degrees represents "green," 180 degrees represents "cyan," 240 degrees represents "blue," and 300 degrees represents "magneta." The brightness L takes a value from 0.0 to 110. The hqert 0.0 represents "black," the value 1.0 represents white, the remaining values represent colors corresponding to the hue H and the saturation S. The saturation 5 takes a value from 0.0 to 1.0. The value 0.0 represents a "achromatic color", that is, "gray", and the value 1.0 represents a "pure color". By changing the saturation S, it is possible to continuously change the color from "gray" to "pure" while maintaining the same "brightness" and "hue". Using an appropriate combination of HLS, the operator can determine a desired color.
Fig. 34 zeigt den Aufbau einer Benutzerschnittstelle zum Einstellen der Bildqualität eines Materials. Für jeden der in Fig. 34 dargestellten Schieberegler kann ein tatsächlicher Schieberegler verwendet werden, oder sie können durch die Anzeige eines simulierten Bilds auf dem Computerbildschirm realisiert werden. Zur Bestimmung einer objektspezifischen Farbe wird eine Kombination aus drei Schiebereglern für Farbton, Helligkeit und Sättigung verwendet. Ähnlich wird zur Bestimmung einer objektspezifischen Farbe eine Kombination von drei Schiebereglern für rot, grün und blau verwendet. Die Kombination der Schieberegler für Farbton, Helligkeit und Sättigung steht in Beziehung zu der Kombination der Schieberegler für rot, grün und blau, so daß bei der Bewegung eines Schiebereglers einer der Kombinationen der Schieberegler der anderen Kombination ebenfalls bewegt wird, um die Bewegungen zwischen ihnen in Übereinstimmung zu bringen. Der Bediener wählt zur Bestimmung einer objektspezifischen Farbe eine gewünschte der beiden Kombinationen aus.Fig. 34 shows the structure of a user interface for adjusting the image quality of a material. For each of the sliders shown in Fig. 34, an actual slider may be used, or they may be realized by displaying a simulated image on the computer screen. A combination of three sliders for hue, brightness and saturation is used to determine an object-specific color. Similarly, a combination of three sliders for red, green and blue is used to determine an object-specific color. The combination of the hue, brightness and saturation sliders is related to the combination of the red, green and blue sliders, so that when a slider of one of the combinations is moved, the slider of the other combination is also moved to match the movements between them. The operator selects a desired one of the two combinations to determine an object-specific color.
Bei dieser Ausführungsform sind als Schieberegler zur Bestimmung des Reflexionsattributs ein Schieberegler für das Umgebungslicht, ein Schieberegler für das gestreute Licht, ein Schieberegler für das gespiegelte Licht, ein Schieberegler für die Bildqualität von Metall und ein Schieberegler für die Rauhigkeit der Oberfläche vorgesehen. Fig. 35 ist eine Schnittansicht eines Farbmodells. Die Farben auf dem Schnitt weisen alle die gleiche Sättigung auf und enthalten eine objektspezifische Farbe. Wird der Schieberegler für das Umge bungslicht bewegt, um die Helligkeitskomponente der objektspezifischen Farbe zu verändern, verändert sich der Wert von Ka kontinuierlich von der objektspezifischen Farbe zu einem schwarzen Punkt, wie durch eine fett gedruckte Linie cargestellt. Mit dem Schieberegler für das gestreute Licht wird durch Verändern der Helligkeitskomponente eines objektspezifischen Lichts Kd bestimmt. Der Schieberegler für die Oberflächenrauhigkeit wird zur Bestimmung eines Bereichs einer Spiegelreflexionskomponente verwendet (siehe Fig. 32). Der Schieberegler für die Bildqualität von Metall wird zum Verändern der Sättigungskomponente einer objektspezifischen Farbe verwendet, wie in Fig. 36 dargestellt, wobei das Ergebnis eine kontinuierliche Veränderung von der objektspezifischen Farbe zu der achromatischen Farbe (der Farbe grau) ist. Wenn der Schieberegler für die Bildqualität von Metall zur Metallseite verschoben wird, nähert sich die Sättigungskomponente der objektspezifischen Farbe, und wenn er zur Kunststoffseite verschoben wird, nähert sich die Komponente der achromatischen Farbe. Wie in Fig. 36 dargestellt, wird durch den Schieberegler für das gespiegelte Licht durch Verändern der Helligkeitskomponente der durch den Schieberegler für die Bildqualität von Metall bestimmten Farbe Ks bestimmt.In this embodiment, an ambient light slider, a scattered light slider, a specular light slider, a metal image quality slider and a surface roughness slider are provided as sliders for determining the reflection attribute. Fig. 35 is a cross-sectional view of a color model. The colors on the cross-section all have the same saturation and contain an object-specific color. If the ambient light slider is moved, the color model is changed to the object-specific color. ence light is moved to change the brightness component of the object-specific color, the value of Ka changes continuously from the object-specific color to a black dot as shown by a bold line c. The scattered light slider is used to determine Kd by changing the brightness component of an object-specific light. The surface roughness slider is used to determine an area of a specular reflection component (see Fig. 32). The metal image quality slider is used to change the saturation component of an object-specific color as shown in Fig. 36, with the result being a continuous change from the object-specific color to the achromatic color (the color gray). When the metal image quality slider is moved to the metal side, the saturation component approaches the object-specific color, and when it is moved to the plastic side, the component approaches the achromatic color. As shown in Fig. 36, the reflected light slider determines the color Ks by changing the brightness component of the color determined by the metal image quality slider.
Fig. 37 zeigt den Aufbau einer weiteren Benutzerschnittstelle, die sich von der in Fig. 34 dargestellten unterscheidet. Bei dieser Ausführungsform bestimmt der Bediener mittels auf dem Bildschirm angezeigter Menüs selektiv eine geeignete objektspezifische Farbe bzw. ein Reflexionsattribut. Bei dieser Ausführungsform weist im Gegensatz zu der in Fig. 34 gezeigten Ausführungsform, bei der jeder Parameter linear bestimmt werden kann, jeder Parameter einen Streuungswert auf. Bestimmt der Bediener Menüs, werden die Daten bezüglich der objektspezifischen Farbe und die Daten bezüglich des Reflexionsattributs, die den bestimmten Menüs entsprechen, aus einer Speichervorrichtung gelesen, so daß die unter Bezugnahme auf Fig. 30 beschriebenen Einheiten Ka, Kd und Ks berechnen.Fig. 37 shows the structure of another user interface which is different from that shown in Fig. 34. In this embodiment, the operator selectively determines a suitable object-specific color or a reflection attribute by means of menus displayed on the screen. In this embodiment, each parameter has a dispersion value, unlike the embodiment shown in Fig. 34 in which each parameter can be linearly determined. When the operator determines menus, the data on the object-specific color and the data on the reflection attribute corresponding to the determined menus are read from a storage device, so that the data specified under Calculate the units Ka, Kd and Ks described with reference to Fig. 30.
Die in den Fig. 34 und 37 dargestellten Benutzerschnittstellen können kombiniert verwendet werden. Sie können beispielsweise so aufgebaut sein, daß der Bediener eine objektspezifische Farbe unter Verwendung der in Fig. 34 gezeigten Benutzerschnittstelle und ein Reflexionsattribut unter Verwendung der in Fig. 37 gezeigten Benutzerschnittstelle auswählt oder umgekehrt. Überdies können sie derart aufgebaut sein, daß der Benutzer zunächst unter Verwendung von Menüs grob eine objektspezifische Farbe und ein Reflexionsattribut auswählt und sie dann unter Verwendung der in Fig. 34 dargestellten Benutzerschnittstelle fein einstellt.The user interfaces shown in Figs. 34 and 37 can be used in combination. For example, they can be designed so that the operator selects an object-specific color using the user interface shown in Fig. 34 and a reflection attribute using the user interface shown in Fig. 37, or vice versa. Moreover, they can be designed so that the user first roughly selects an object-specific color and a reflection attribute using menus and then finely adjusts them using the user interface shown in Fig. 34.
Als nächstes wird ein Verfahren zum Erhalt der Bildqualität eines Materials eines typischen Objekts unter Verwendung der in Fig. 34 dargestellten Benutzerschnittstelle beschrieben.Next, a method for obtaining the image quality of a material of a typical object using the user interface shown in Fig. 34 will be described.
Zum Ausdrücken eines leuchtenden Objekts wird die leuchtende Farbe des Objekts zunächst unter Verwendung entweder einer Kombination von Schiebereglern für Farbton, Helligkeit und Sättigung oder einer Kombination von Schiebereglern für rot, grün und blau bestimmt. Als nächstes wird der Schieberegler für das Umgebungslicht auf einen hinreichend großen Wert eingestellt. Durch eine derartige hinreichend große Umgebungslichtkomponente wird das Bild der Materialqualität des leuchtenden Objekts ausgedrückt. Die Schieberegler zur Bestimmung des Reflexionsattributs (die Schieberegler für das gestreute Licht, das gespiegelte Licht, die Rauhigkeit der Oberfläche und die Bildqualität von Metall) werden wie gewünscht auf beliebige Werte eingestellt.To express a luminous object, the luminous color of the object is first determined using either a combination of hue, brightness, and saturation sliders or a combination of red, green, and blue sliders. Next, the ambient light slider is set to a sufficiently large value. Such a sufficiently large ambient light component expresses the image of the material quality of the luminous object. The sliders for determining the reflection attribute (the scattered light, specular light, surface roughness, and metal image quality sliders) are set to arbitrary values as desired.
Ebenso wird beim Ausdrücken eines Objekts mit einer matten Farbe, wie Gips, zuerst die objektspezifische Farbe bestimmt. Der Schieberegler für das gespiegelte Licht wird auf den minimalen Wert eingestellt, um die Anzeige einer leuchtenden Farbe zu unterdrücken. Der Schieberegler für das gestreute Licht wird auf einen beliebigen Wert eingestellt, um die Helligkeit eines beleuchteten Abschnitts einzustellen. Anschließend wird der Schieberegler für das Umgebungslicht verwendet, um die Helligkeit eines nicht beleuchteten Abschnitts einzustellen.Similarly, when expressing an object with a matte color, such as plaster, the object-specific color is first determined. The specular light slider is set to the minimum value to display a glowing color. The diffused light slider is set to any value to adjust the brightness of an illuminated section. Then the ambient light slider is used to adjust the brightness of an unlit section.
Zum Ausdrücken eines Objekts aus Kunststoff mit einer leuchtenden Farbe wird zunächst die objektspezifische Farbe bestimmt. Die Schieberegler für das Umgebungslicht und das gestreute Licht werden auf ähnliche Weise wie bei Gips eingestellt, wobei der Schieberegler für die Bildqualität von Metall auf die Kunststoffseite bewegt wird, um die Farbe der gestreuten Lichtkomponente auf eine achromatische Farbe einzustellen, und der Schieberegler für das gespiegelte Licht auf einen beliebigen Wert eingestellt wird, um dadurch die Helligkeit eines Abschnitts mit einer leuchtenden Farbe einzustellen. Überdies wird der Schieberegler für die Rauhigkeit der Oberfläche zum Einstellen des Bereichs des Abschnitts mit der leuchtenden Farbe verwendet. Da Ks hierbei auf eine achromatische Farbe eingestellt ist, hat die Spiegelreflexionskomponente unabhängig von der objektspezifischen Farbe die gleiche Farbe wie die Lichtquelle.To express a plastic object with a bright color, the object-specific color is first determined. The ambient light and scattered light sliders are adjusted in a similar manner to that of plaster, with the image quality slider of metal moved to the plastic side to set the color of the scattered light component to an achromatic color and the specular light slider set to an arbitrary value to thereby adjust the brightness of a portion with a bright color. In addition, the surface roughness slider is used to adjust the area of the portion with the bright color. Here, since Ks is set to an achromatic color, the specular reflection component has the same color as the light source regardless of the object-specific color.
Ebenso wird zum Ausdrücken eines Objekts aus Metall mit einer leuchtenden Farbe zunächst die objektspezifische Farbe bestimmt. Der Schieberegler für das gestreute Licht wird normalerweise auf den minimalen Wert eingestellt, um das gestreute Licht zu unterdrücken. Der Schieberegler für das Umgebungslicht wird auf einen geeigneten Wert eingestellt, wobei die Bildwirkung berücksichtigt wird. Der Schieberegler für die Bildqualität von Metall wird zu der Metallseite bewegt, um die gespiegelte Lichtkomponente auf die objektspezifische Farbe einzustellen, und der Schieberegler für das gespiegelte Licht wird auf einen beliebigen Wert eingestellt, um dadurch die Helligkeit des Abschnitts mit der leuchtenden Farbe einzustellen. Überdies wird der Schieberegler für die Rauhigkeit der Oberfläche zum Einstellen des Bereichs des Abschnitts mit der leuchtenden Farbe verwendet. Da Ks hierbei auf die objektspezifische Farbe eingestellt wird, hat die gespiegelte Lichtkomponente die objektspezifische Farbe, wenn das Objekt beispielsweise von weißem Licht beleuchtet wird.Similarly, to express a metal object with a luminous color, the object-specific color is first determined. The scattered light slider is usually set to the minimum value to suppress the scattered light. The ambient light slider is set to an appropriate value taking the image effect into consideration. The metal image quality slider is moved to the metal side to adjust the specular light component to the object-specific color, and the specular light slider is set to an arbitrary value, thereby adjusting the brightness of the luminous part. color. In addition, the surface roughness slider is used to adjust the area of the portion with the glowing color. Since Ks is set to the object-specific color, the reflected light component will have the object-specific color when the object is illuminated by white light, for example.
Bei der vorstehend beschriebenen Ausführungsform wurde die Helligkeitskomponente L in dem HLS-Farbmodell verändert, um die Intensität der Umgebungslichtkomponente, die Intensität der Streulichtkomponente und die Intensität der gespiegelten Lichtkomponente einzustellen. Die vorliegende Erfindung ist nicht darauf beschränkt, sondern jede der Farbmodellkomponenten kann verändert werden, wenn sie die Lichtintensität verändert. Gemäß Fig. 35 kann beispielsweise der Wert auf der die objektspezifische Farbe und den Punkt der schwarzen Farbe verbindenden Linie verändert werden, was zu einer ähnlichen Wirkung wie der vorstehend beschriebenen führt. Überdies erfolgte bei den Ausführungsformen die Einstellung der Farbe der Spiegelreflexion unter Verwendung des Schiebereglers für die Bildqualität von Metall durch Verändern der Sättigungskomponente des HLS-Farbmodells. Die vorliegende Erfindung ist nicht auf eine derartige Ausführungsform beschränkt, sondern es kann jedes Verfahren verwendet werden, wenn eine Interpolation zwischen der achromatischen Farbe und einer objektspezifischen Farbe erfolgen kann. Gemäß Fig. 36 kann beispielsweise der Wert auf der die objektspezifische Farbe und den Punkt der weißen Farbe verbindenden Linie verändert werden, was zu einer ähnlichen Wirkung wie der vorstehend beschriebenen führt.In the above-described embodiment, the brightness component L in the HLS color model was changed to adjust the intensity of the ambient light component, the intensity of the scattered light component, and the intensity of the specular light component. The present invention is not limited to this, but any of the color model components can be changed if it changes the light intensity. For example, as shown in Fig. 35, the value on the line connecting the object-specific color and the point of the black color can be changed, resulting in an effect similar to that described above. Moreover, in the embodiments, the adjustment of the color of the specular reflection using the metal image quality slider was performed by changing the saturation component of the HLS color model. The present invention is not limited to such an embodiment, but any method can be used if interpolation between the achromatic color and an object-specific color can be performed. For example, as shown in Fig. 36, the value on the line connecting the object-specific color and the point of white color can be changed, resulting in an effect similar to that described above.
Erfindungsgemäß wird der Bewegungspfad eines Objekts unter Verwendung zumindest entweder der Größe und Richtung einer Geschwindigkeit, der Blickrichtung des Objekts und der Zeit gesteuert. Daher kann die Bewegung eines Objekts intuitiv bestimmt werden.According to the invention, the movement path of an object is controlled using at least one of the magnitude and direction of a speed, the viewing direction of the object, and time. Therefore, the movement of an object can be determined intuitively.
Überdies kann die Bewegung an der Verbindung zwischen Schlüsselrahmen gleichmäßig eingestellt werden, indem die Geschwindigkeit am Endpunkt eines Orts auf den gleichen Wert wie die am Startpunkt des nächsten Orts eingestellt wird.Furthermore, the motion at the connection between key frames can be made smooth by setting the speed at the end point of one location to the same value as that at the start point of the next location.
Darüber hinaus kann ein auf dem Pfad bestimmter Zwischenpunkt als neuer Schlüsselrahmen registriert werden, so daß der Pfad fein bestimmt werden kann.In addition, an intermediate point specified on the path can be registered as a new key frame so that the path can be finely determined.
Erfindungsgemäß wird die für ein Objekt spezifische Farbe unabhängig von dem Reflexionsattribut eingestellt, so daß selbst eine Person ohne besondere Fachkenntnisse die Farbe einfach, rasch und intuitiv einstellen kann.According to the invention, the color specific to an object is set independently of the reflection attribute, so that even a person without special technical knowledge can set the color easily, quickly and intuitively.
Claims (5)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15002190 | 1990-06-11 | ||
JP2314435A JP2728312B2 (en) | 1990-11-21 | 1990-11-21 | Computer graphic system and object display attribute setting method |
JP2322884A JPH04127279A (en) | 1990-06-11 | 1990-11-28 | Device and method for kinetic path generation of object |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69130549D1 DE69130549D1 (en) | 1999-01-14 |
DE69130549T2 true DE69130549T2 (en) | 1999-05-27 |
Family
ID=27319859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69130549T Expired - Fee Related DE69130549T2 (en) | 1990-06-11 | 1991-06-10 | Device for generating an object movement path |
Country Status (3)
Country | Link |
---|---|
US (1) | US5717848A (en) |
EP (1) | EP0461577B1 (en) |
DE (1) | DE69130549T2 (en) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005589A (en) * | 1990-07-12 | 1999-12-21 | Hitachi, Ltd. | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller |
US5420967A (en) * | 1992-11-10 | 1995-05-30 | International Business Machines Corporation | Method and apparatus for the efficient generation of high quality images in a computer system utilizing an interconnected image state table |
JP3359401B2 (en) * | 1993-12-02 | 2002-12-24 | 富士通株式会社 | Figure editing apparatus and method |
FR2724033B1 (en) * | 1994-08-30 | 1997-01-03 | Thomson Broadband Systems | SYNTHESIS IMAGE GENERATION METHOD |
US6493006B1 (en) * | 1996-05-10 | 2002-12-10 | Apple Computer, Inc. | Graphical user interface having contextual menus |
JP3378900B2 (en) * | 1996-06-25 | 2003-02-17 | 富士通株式会社 | Object editing method, object editing system, and recording medium |
US6115051A (en) * | 1996-08-07 | 2000-09-05 | Adobe Systems Incorporated | Arc-length reparameterization |
US5936639A (en) * | 1997-02-27 | 1999-08-10 | Mitsubishi Electric Information Technology Center America, Inc. | System for determining motion control of particles |
KR100581483B1 (en) * | 1997-04-03 | 2006-05-22 | 가부시키가이샤 세가 | Game image display method and control method |
US6154221A (en) * | 1997-04-04 | 2000-11-28 | Avid Technology, Inc. | Parametric function curve editing |
US6307576B1 (en) * | 1997-10-02 | 2001-10-23 | Maury Rosenfeld | Method for automatically animating lip synchronization and facial expression of animated characters |
US6373490B1 (en) * | 1998-03-09 | 2002-04-16 | Macromedia, Inc. | Using remembered properties to create and regenerate points along an editable path |
US6522328B1 (en) * | 1998-04-07 | 2003-02-18 | Adobe Systems Incorporated | Application of a graphical pattern to a path |
US6938217B1 (en) * | 1999-01-04 | 2005-08-30 | Apple Computer, Inc. | Accelerator handles |
US6859769B1 (en) * | 1999-01-26 | 2005-02-22 | Analytical Graphics, Inc. | Method and apparatus for creating elements and systems for description of position and motion of bodies in three-dimensional space to support orbital maneuver analysis |
US6512522B1 (en) | 1999-04-15 | 2003-01-28 | Avid Technology, Inc. | Animation of three-dimensional characters along a path for motion video sequences |
US6469702B1 (en) | 1999-04-16 | 2002-10-22 | Avid Technology, Inc. | Method and system for editing function curves in two dimensions |
EP1079332A1 (en) * | 1999-08-25 | 2001-02-28 | M.M. Multimedia A/S | Method of rendering states of a system |
US6489989B1 (en) * | 1999-09-15 | 2002-12-03 | Electric Planet, Inc. | System, method and article of manufacture for executing a video setup protocol |
US7369130B2 (en) * | 1999-10-29 | 2008-05-06 | Hitachi Kokusai Electric Inc. | Method and apparatus for editing image data, and computer program product of editing image data |
US6903742B1 (en) * | 1999-12-01 | 2005-06-07 | Microsoft Corporation | Method and apparatus for transforming and rendering graphical curves |
US6724385B2 (en) | 2000-03-08 | 2004-04-20 | Sony Computer Entertainment Inc. | Method of replaying game, recording medium, program, and entertainment system |
JP4325075B2 (en) * | 2000-04-21 | 2009-09-02 | ソニー株式会社 | Data object management device |
KR100370080B1 (en) * | 2000-08-11 | 2003-01-29 | 엘지전자 주식회사 | Method and apparatus for displaying OSD menu of Monitor |
DE10045117C2 (en) * | 2000-09-13 | 2002-12-12 | Bernd Von Prittwitz | Method and device for real-time geometry control |
JP4011327B2 (en) * | 2000-11-15 | 2007-11-21 | 株式会社レクサー・リサーチ | Display object providing apparatus, display object providing method, and display object providing program |
US8493370B2 (en) * | 2001-08-29 | 2013-07-23 | Palm, Inc. | Dynamic brightness range for portable computer displays based on ambient conditions |
GB2385952B (en) * | 2001-10-24 | 2006-05-31 | Imagine Broadband Ltd | Data processing system and method |
JP3964646B2 (en) * | 2001-10-25 | 2007-08-22 | 富士フイルム株式会社 | Image processing method, image processing apparatus, and image signal creation method |
JP3818442B2 (en) * | 2002-03-25 | 2006-09-06 | ソニー株式会社 | Image processing apparatus and method, recording medium, and program |
GB2391144A (en) * | 2002-07-19 | 2004-01-28 | Kaydara Inc | Retrieval of information related to selected displayed object |
US7164423B1 (en) * | 2003-04-30 | 2007-01-16 | Apple Computer, Inc. | Method and apparatus for providing an animated representation of a reorder operation |
US8456475B2 (en) * | 2003-06-30 | 2013-06-04 | Microsoft Corporation | Motion line switching in a virtual environment |
US7358973B2 (en) * | 2003-06-30 | 2008-04-15 | Microsoft Corporation | Mixture model for motion lines in a virtual reality environment |
US7725828B1 (en) * | 2003-10-15 | 2010-05-25 | Apple Inc. | Application of speed effects to a video presentation |
US8133115B2 (en) | 2003-10-22 | 2012-03-13 | Sony Computer Entertainment America Llc | System and method for recording and displaying a graphical path in a video game |
KR100519980B1 (en) * | 2003-12-24 | 2005-10-13 | 한국전자통신연구원 | Method for generation of 2-dimensional motion path |
US20050195195A1 (en) * | 2004-03-04 | 2005-09-08 | International Business Machines Corporation | System, apparatus and method of creating control paths for animated objects |
US20050231512A1 (en) * | 2004-04-16 | 2005-10-20 | Niles Gregory E | Animation of an object using behaviors |
US7932909B2 (en) * | 2004-04-16 | 2011-04-26 | Apple Inc. | User interface for controlling three-dimensional animation of an object |
US7805678B1 (en) | 2004-04-16 | 2010-09-28 | Apple Inc. | Editing within single timeline |
US8448083B1 (en) | 2004-04-16 | 2013-05-21 | Apple Inc. | Gesture control of multimedia editing applications |
US7411590B1 (en) | 2004-08-09 | 2008-08-12 | Apple Inc. | Multimedia file format |
JP4581924B2 (en) * | 2004-09-29 | 2010-11-17 | 株式会社ニコン | Image reproducing apparatus and image reproducing program |
US20060071933A1 (en) | 2004-10-06 | 2006-04-06 | Sony Computer Entertainment Inc. | Application binary interface for multi-pass shaders |
US7830393B2 (en) * | 2004-10-13 | 2010-11-09 | Panasonic Corporation | Device, method, and integrated circuit for rectangular image drawing |
US7710423B2 (en) * | 2005-03-21 | 2010-05-04 | Microsoft Corproation | Automatic layout of items along an embedded one-manifold path |
EP1918881B1 (en) * | 2005-04-19 | 2012-10-03 | DigitalFish, Inc. | Techniques and workflows for computer graphics animation system |
US20060274070A1 (en) | 2005-04-19 | 2006-12-07 | Herman Daniel L | Techniques and workflows for computer graphics animation system |
US7636126B2 (en) * | 2005-06-22 | 2009-12-22 | Sony Computer Entertainment Inc. | Delay matching in audio/video systems |
US7636093B1 (en) * | 2005-07-29 | 2009-12-22 | Adobe Systems Incorporated | Parameterized motion paths |
JP4785662B2 (en) * | 2005-10-03 | 2011-10-05 | キヤノン株式会社 | Information processing apparatus and information processing method |
WO2007101141A2 (en) * | 2006-02-24 | 2007-09-07 | Hmicro, Inc. | A medical signal processing system with distributed wireless sensors |
US8018470B2 (en) * | 2006-03-28 | 2011-09-13 | Microsoft Corporation | Vector based object property variations |
US7880746B2 (en) * | 2006-05-04 | 2011-02-01 | Sony Computer Entertainment Inc. | Bandwidth management through lighting control of a user environment via a display device |
US7965859B2 (en) | 2006-05-04 | 2011-06-21 | Sony Computer Entertainment Inc. | Lighting control of a user environment via a display device |
EP2114539A4 (en) * | 2007-02-26 | 2012-09-12 | Intralot S A | Method for displaying a draw result along with customized information |
US20080227544A1 (en) * | 2007-03-15 | 2008-09-18 | Inxile Entertainment, Inc. | Line Rider |
US8432396B2 (en) * | 2007-06-08 | 2013-04-30 | Apple Inc. | Reflections in a multidimensional user interface environment |
WO2009026289A2 (en) * | 2007-08-20 | 2009-02-26 | Hmicro, Inc. | Wearable user interface device, system, and method of use |
US8926509B2 (en) * | 2007-08-24 | 2015-01-06 | Hmicro, Inc. | Wireless physiological sensor patches and systems |
US20090079744A1 (en) * | 2007-09-21 | 2009-03-26 | Microsoft Corporation | Animating objects using a declarative animation scheme |
US20110019824A1 (en) | 2007-10-24 | 2011-01-27 | Hmicro, Inc. | Low power radiofrequency (rf) communication systems for secure wireless patch initialization and methods of use |
WO2009055608A2 (en) | 2007-10-24 | 2009-04-30 | Hmicro, Inc. | Method and apparatus to retrofit wired healthcare and fitness systems for wireless operation |
US20100118037A1 (en) * | 2008-09-08 | 2010-05-13 | Apple Inc. | Object-aware transitions |
US7721209B2 (en) * | 2008-09-08 | 2010-05-18 | Apple Inc. | Object-aware transitions |
US20100064222A1 (en) * | 2008-09-08 | 2010-03-11 | Apple Inc. | Object-aware transitions |
US8086275B2 (en) | 2008-10-23 | 2011-12-27 | Microsoft Corporation | Alternative inputs of a mobile communications device |
US8175653B2 (en) | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
US9342817B2 (en) | 2011-07-07 | 2016-05-17 | Sony Interactive Entertainment LLC | Auto-creating groups for sharing photos |
US9529486B2 (en) * | 2012-03-29 | 2016-12-27 | FiftyThree, Inc. | Methods and apparatus for providing a digital illustration system |
US9823634B2 (en) * | 2012-04-24 | 2017-11-21 | Cast Group Of Companies Inc. | System and method for providing three-dimensional paths |
US10176633B2 (en) | 2012-06-05 | 2019-01-08 | Apple Inc. | Integrated mapping and navigation application |
US9052197B2 (en) | 2012-06-05 | 2015-06-09 | Apple Inc. | Providing navigation instructions while device is in locked mode |
US9230556B2 (en) | 2012-06-05 | 2016-01-05 | Apple Inc. | Voice instructions during navigation |
US9482296B2 (en) | 2012-06-05 | 2016-11-01 | Apple Inc. | Rendering road signs during navigation |
US9886794B2 (en) | 2012-06-05 | 2018-02-06 | Apple Inc. | Problem reporting in maps |
US9159153B2 (en) | 2012-06-05 | 2015-10-13 | Apple Inc. | Method, system and apparatus for providing visual feedback of a map view change |
US9541417B2 (en) | 2012-06-05 | 2017-01-10 | Apple Inc. | Panning for three-dimensional maps |
US8983778B2 (en) | 2012-06-05 | 2015-03-17 | Apple Inc. | Generation of intersection information by a mapping service |
US9418672B2 (en) | 2012-06-05 | 2016-08-16 | Apple Inc. | Navigation application with adaptive instruction text |
US9997069B2 (en) | 2012-06-05 | 2018-06-12 | Apple Inc. | Context-aware voice guidance |
US9269178B2 (en) | 2012-06-05 | 2016-02-23 | Apple Inc. | Virtual camera for 3D maps |
US9147286B2 (en) | 2012-06-06 | 2015-09-29 | Apple Inc. | Non-static 3D map views |
JP5947707B2 (en) | 2012-12-27 | 2016-07-06 | 富士フイルム株式会社 | Virtual endoscopic image display apparatus and method, and program |
US9418485B2 (en) | 2013-05-31 | 2016-08-16 | Apple Inc. | Adjusting heights for road path indicators |
WO2015059573A2 (en) * | 2013-10-22 | 2015-04-30 | Realitygate (Pty) Ltd. | Dynamic modification of content presentation based on attributes of received input |
WO2016172506A1 (en) | 2015-04-23 | 2016-10-27 | Hasbro, Inc. | Context-aware digital play |
JP6720972B2 (en) * | 2015-06-17 | 2020-07-08 | 凸版印刷株式会社 | Image processing system, method, and program |
CN106843709B (en) * | 2015-12-04 | 2020-04-14 | 阿里巴巴集团控股有限公司 | Method and device for displaying display object according to real-time information |
CN111221598B (en) * | 2018-11-23 | 2023-09-15 | 北京金山云网络技术有限公司 | Method, device and terminal equipment for dynamically displaying image |
JP7220591B2 (en) * | 2019-03-07 | 2023-02-10 | 三菱重工業株式会社 | Self-position estimation device, self-position estimation method and program |
JP1667177S (en) * | 2019-12-24 | 2020-12-14 | ||
CN111408132B (en) * | 2020-02-17 | 2023-04-07 | 网易(杭州)网络有限公司 | Game picture display method, device, equipment and storage medium |
CN113610947A (en) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | Animation generation method, device, computer equipment and storage medium |
CN115131471B (en) * | 2022-08-05 | 2024-08-02 | 北京字跳网络技术有限公司 | Image-based animation generation method, device, equipment and storage medium |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55118107A (en) * | 1979-03-05 | 1980-09-10 | Hitachi Ltd | Method and device for control of automatic working device |
JPS5825686A (en) * | 1981-08-07 | 1983-02-15 | アルプス電気株式会社 | Course guiding system to be carried on vehicle having track display position moving function |
US4600919A (en) * | 1982-08-03 | 1986-07-15 | New York Institute Of Technology | Three dimensional animation |
JPS5971515A (en) * | 1982-10-16 | 1984-04-23 | Fanuc Ltd | Graphic display device |
JPS59177605A (en) * | 1983-03-28 | 1984-10-08 | Fanuc Ltd | Input method of cut direction in automatic programming |
US4905147A (en) * | 1986-10-15 | 1990-02-27 | Logg George E | Collision detection system for video system |
JPS63102853A (en) * | 1986-10-21 | 1988-05-07 | Fanuc Ltd | Nc programming method for pocket machining |
US4797836A (en) * | 1986-11-19 | 1989-01-10 | The Grass Valley Group, Inc. | Image orientation and animation using quaternions |
DE3640987C1 (en) * | 1986-12-01 | 1993-04-29 | Agie Ag Ind Elektronik | Numerical control system for highly dynamic processes |
JP2728399B2 (en) * | 1987-03-19 | 1998-03-18 | 川崎重工業株式会社 | Robot control method |
US4952051A (en) * | 1988-09-27 | 1990-08-28 | Lovell Douglas C | Method and apparatus for producing animated drawings and in-between drawings |
JP2714100B2 (en) * | 1989-01-30 | 1998-02-16 | 日本電信電話株式会社 | How to make a video |
US5053760A (en) * | 1989-07-17 | 1991-10-01 | The Grass Valley Group, Inc. | Graphics path prediction display |
US5025382A (en) * | 1989-12-12 | 1991-06-18 | The Mitre Corporation | Datalink controller interface |
-
1991
- 1991-06-10 DE DE69130549T patent/DE69130549T2/en not_active Expired - Fee Related
- 1991-06-10 EP EP91109465A patent/EP0461577B1/en not_active Expired - Lifetime
-
1994
- 1994-12-20 US US08/359,780 patent/US5717848A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0461577A2 (en) | 1991-12-18 |
EP0461577B1 (en) | 1998-12-02 |
DE69130549D1 (en) | 1999-01-14 |
EP0461577A3 (en) | 1993-08-04 |
US5717848A (en) | 1998-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130549T2 (en) | Device for generating an object movement path | |
DE3850737T2 (en) | Color control and selection system for computer display. | |
DE69533711T2 (en) | Computer-assisted color selection and coloring system | |
DE69128548T2 (en) | Improvements in control data fields of picture elements | |
DE69329049T2 (en) | Method of processing data representing three-dimensional graphic objects | |
DE69902262T2 (en) | ANIMATION SYSTEM AND METHOD FOR DEFINING AND APPLYING RULE-BASED GROUPS OF OBJECTS | |
DE69830767T2 (en) | Method and apparatus for assembling layered synthetic graphic filters | |
DE3854753T2 (en) | Color image enhancement device and method. | |
DE69832611T2 (en) | COMPUTER GRAPHICS SYSTEM | |
DE69837366T2 (en) | Method and device for displaying the moving object on a background picture | |
DE69428647T2 (en) | Method and device for generating a second mixed image signal in the spatial context of a first image signal | |
DE3306288C2 (en) | ||
DE69127915T2 (en) | Priority color mapping system and method | |
DE60302063T2 (en) | Graphical user interface for a flight simulator based on a client-server architecture | |
DE69131478T2 (en) | Manufacture and control of lighting designs | |
DE69900270T2 (en) | Device for generating adapted gamma curves for a color correction system | |
DE69029605T2 (en) | Color control for color display | |
DE69329341T2 (en) | VIRTUAL REALITY GENERATOR FOR FINANCIAL NEWS | |
DE69219981T2 (en) | Process for changing the colors of an image | |
DE3854324T2 (en) | Color correction for video graphics systems. | |
DE69130545T2 (en) | System for creating a textured perspective view | |
DE3853664T2 (en) | Color cell texture. | |
DE68927471T2 (en) | Process for shading a graphic image | |
DE69215841T2 (en) | Graphical user interface for preparing a color table | |
DE10223751A1 (en) | System and method for combining graphics formats in a digital video pipeline |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |