JP3104582B2 - Image processing apparatus and method - Google Patents
Image processing apparatus and methodInfo
- Publication number
- JP3104582B2 JP3104582B2 JP07206186A JP20618695A JP3104582B2 JP 3104582 B2 JP3104582 B2 JP 3104582B2 JP 07206186 A JP07206186 A JP 07206186A JP 20618695 A JP20618695 A JP 20618695A JP 3104582 B2 JP3104582 B2 JP 3104582B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- reference point
- point
- angle
- data
- 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
Landscapes
- Processing Or Creating Images (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は画像処理装置および
その方法に係わり、特に、ゲーム装置等で汎用されるキ
ャラクターの移動表示処理技術を改良した画像処理装
置、およびその方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and an image processing method, and more particularly to an image processing apparatus and a method for improving a moving display processing technique of a character commonly used in a game apparatus and the like.
【0002】[0002]
【従来の技術】一般に、この種の画像処理装置は、操作
信号に応じて画面に表示される図形(表示体)を移動表
示するための装置であって、これらの表示体の移動状態
に対応する座標等のデータを記憶するとともに、その他
の必要なデータや処理プログラムを記憶するメモリと、
図形の移動状態を決定、ないしは操作するための操作指
令を出力する操作盤と、操作指令を基にメモリ内の各種
のデータや処理プログラムに応じて所定の図形を表示装
置の画面上で移動させながら表示するための表示処理を
実行し、その処理結果を含む画面を表示信号として出力
するデータ処理装置とを備えて構成されている。図形に
は部品としてのパーツとパーツの集合体としてのキャラ
クターとが含まれる。2. Description of the Related Art Generally, an image processing apparatus of this kind is an apparatus for moving and displaying a figure (display body) displayed on a screen in response to an operation signal. A memory for storing data such as coordinates to be stored, and for storing other necessary data and processing programs;
An operation panel that determines the moving state of the figure or outputs an operation command for operating the figure, and moves a predetermined figure on the screen of the display device according to various data and processing programs in the memory based on the operation command. And a data processing device for executing a display process for displaying while displaying the result of the display as a display signal. The figure includes a part as a part and a character as an aggregate of parts.
【0003】このような画像処理装置の電源を投入し、
かつ画像処理装置に対して所定の操作を行なうと、デー
タ処理装置がメモリ内のプログラムにしたがって動作
し、次のような処理を実行する。When the power of such an image processing apparatus is turned on,
When a predetermined operation is performed on the image processing apparatus, the data processing apparatus operates according to a program in the memory and executes the following processing.
【0004】操作盤から操作指令がデータ処理装置に与
えられると、データ処理装置は操作指令を基にメモリ内
のキャラクターの各種の移動状態(モーション)のデー
タの中で必要な移動状態のデータを取り出して複数のパ
ーツを合成させながらキャラクターを表示装置の画面上
で移動させるための処理を実行する。When an operation command is given to the data processing device from the operation panel, the data processing device transmits necessary movement state data among various movement state (motion) data of the character in the memory based on the operation command. A process for moving the character on the screen of the display device while taking out and combining a plurality of parts is executed.
【0005】そして、画像処理装置は、プログラム等に
従って表示される他の画面に処理結果を含めた画面の表
示信号を形成し、その表示信号を表示装置に与える。こ
れにより、キャラクターは、表示装置の画面上において
所定の背景内で移動することになる。各パーツは、ボデ
ィ座標系に定義され、これがワールド座標系にモデリン
グ変換され、次いで視野変換されることにより画面に表
示される図形となる。[0005] The image processing apparatus forms a display signal of a screen including a processing result on another screen displayed according to a program or the like, and supplies the display signal to the display device. As a result, the character moves within a predetermined background on the screen of the display device. Each part is defined in the body coordinate system, which is model-transformed into the world coordinate system, and then subjected to field-of-view transformation to become a figure displayed on the screen.
【0006】ところで、上述した従来の画像処理装置に
おいては、キャラクターを表示装置の画面上で移動させ
るために、各パーツについてモーション中の全ての態様
毎にモデリング変換の為に必要な数種類のファクターを
用意し、これをテーブル化してメモリに記憶させてお
き、操作盤からの操作指令を基にテーブルからパーツに
関するモーションのデータを全て取り出し、これを基に
パーツを表示装置の画面上で移動表示させることにより
このキャラクターを移動させながら表示するようになっ
ていた。In the above-described conventional image processing apparatus, in order to move a character on the screen of a display device, several types of factors necessary for modeling conversion are required for each aspect of each part in motion. Prepare it, store it in a table and store it in memory, take out all the motion data related to parts from the table based on the operation command from the operation panel, and move and display the parts on the screen of the display device based on this As a result, the character was displayed while being moved.
【0007】[0007]
【発明が解決しようとする課題】しかしながら、従来の
画像処理装置にあっては、キャラクターを表示装置の画
面上で移動させるためには、各パーツキャラクターの各
モーションについて多量のデータが必要となって記憶テ
ーブルが大容量化し、大容量のメモリを必要とする欠点
がある。故に、このようなテーブルの作成に多大な労力
および時間が避けられない。However, in the conventional image processing apparatus, a large amount of data is required for each motion of each part character in order to move the character on the screen of the display device. There is a disadvantage that the storage table becomes large in capacity and a large capacity memory is required. Therefore, great effort and time are unavoidable in creating such a table.
【0008】したがって、従来の画像処理装置にあって
は、キャラクターの移動状態を示すモーションデータの
量が限定されることにより、例えばモーションの種類が
制限されたり、モーションの微細な動きが達成できない
ことがあり、人体類似のキャラクター等の如く関節など
のような多彩かつ自由な動きが期待されるようなもので
は、その動きを十分表現することができない。また、こ
のようにテーブルの作成に多大な労力および時間が必要
であるため、キャラクターの動きを変更、あるいは調整
しようとすることも容易ではない。Therefore, in the conventional image processing apparatus, since the amount of motion data indicating the moving state of the character is limited, for example, the type of motion is limited, or a fine motion cannot be achieved. In the case of a character that is expected to have various and free movements such as a joint such as a character similar to a human body, the movement cannot be sufficiently expressed. Further, since a great deal of labor and time are required to create the table, it is not easy to change or adjust the movement of the character.
【0009】また、各キャラクターの各モーションにつ
いて、それぞれの動きの多量のデータが用意し記憶され
ているため、キャラクターの表示のための処理時間が長
くなって画像表示が遅延する。Further, since a large amount of data of each motion is prepared and stored for each motion of each character, the processing time for displaying the character becomes long and the image display is delayed.
【0010】そこで、本発明はこのような問題を解決す
るために、キャラクターを移動表示させるために必要な
データ量を多くしなくても、キャラクターの動きを多彩
に表現できる画像処理装置を提供することを目的とす
る。In order to solve such a problem, the present invention provides an image processing apparatus capable of expressing the movement of a character in various ways without increasing the amount of data necessary for moving and displaying the character. The purpose is to:
【0011】また、キャラクターを表示するための処理
時間を短縮し、画像表示を迅速に実行可能な画像処理装
置を提供することを目的とする。さらに、これらの目的
を達成することができる画像処理方法を提供することを
目的とする。It is another object of the present invention to provide an image processing apparatus capable of shortening a processing time for displaying a character and quickly executing image display. It is another object of the present invention to provide an image processing method that can achieve these objects.
【0012】[0012]
【課題を解決するための手段】前記目的を達成するため
に、この発明は、所定の図形を移動させながら表示でき
るように構成した画像処理装置において、前記図形の一
連の動きに対応し、この図形を表示するための基準とな
る基準点を記憶する基準点メモリと、前記基準点に対す
る図形の他の位置を決定するための制御点を記憶する制
御点メモリと、前記図形に移動指令を出力する操作手段
と、当該移動指令に基づいて、前記基準点と制御点とに
よって定まる座標系領域に前記図形を配置するための画
像処理を行なう画像表示処理手段と、を備えることを特
徴とする。SUMMARY OF THE INVENTION In order to achieve the above object, the present invention provides an image processing apparatus configured to display a predetermined figure while moving the figure. A reference point memory for storing a reference point serving as a reference for displaying a figure, a control point memory for storing a control point for determining another position of the figure with respect to the reference point, and outputting a movement command to the figure Operating means for performing the image processing for arranging the figure in a coordinate system area determined by the reference point and the control point based on the movement command.
【0013】この画像処理装置は、好適には、前記移動
指令に基づいて決定される前記図形の一連の動きに対応
して、前記基準点メモリ及び制御点メモリから読み出し
た基準点の座標データ及び制御点の座標データから、図
形が所定の座標系に対して成す角度を求める角度演算手
段と、その求めた角度に前記図形を配置する配置手段と
を、さらに備える。Preferably, the image processing apparatus preferably stores coordinate data of a reference point read from the reference point memory and the control point memory in response to a series of movements of the figure determined based on the movement command. The apparatus further includes angle calculating means for calculating an angle formed by the graphic with respect to a predetermined coordinate system from the coordinate data of the control point, and arranging means for arranging the graphic at the determined angle.
【0014】前記角度演算手段は、前記基準点の座標系
に対する制御点がなす角度を演算し、前記配置手段は当
該基準点からこの角度をもって前記図形を配置するよう
にする。The angle calculating means calculates an angle formed by the control point with respect to the coordinate system of the reference point, and the arranging means arranges the figure with this angle from the reference point.
【0015】そして、本発明の画像処理装置は、さら
に、前記図形を表示するためのデータを所定の座標系に
予め記憶するメモリを備え、前記画像表示処理手段は、
このデータによって形成される図形を前記座標系領域に
配置する。The image processing apparatus according to the present invention further includes a memory for storing data for displaying the figure in a predetermined coordinate system in advance, and the image display processing means includes:
The figure formed by this data is arranged in the coordinate system area.
【0016】前記角度演算手段は、前記基準点のマトリ
クスの逆行列を制御点の絶対座標に乗じることにより制
御点の基準点に対する相対座標を演算し、この相対座標
から前記角度を演算する。The angle calculating means calculates relative coordinates of the control point with respect to the reference point by multiplying an absolute matrix of the control point by an inverse matrix of the matrix of the reference point, and calculates the angle from the relative coordinates.
【0017】前記図形は、好適には複数のパーツが連結
されて作られたキャラクターであり、このキャラクター
の本体に対して基端側のパーツに前記基準点が設けら
れ、また先端側のパーツに対して前記制御点が設けられ
ている。前記画像表示処理手段は、パーツ同士の接続点
を演算する接続点演算手段を備え、前記角度演算手段
は、この接続点におけるパーツ同士の連結角度を演算す
るとともに、この接続点が前記基準点の基準座標に対し
て成す角度を演算し、前記配置手段は、基端側のパーツ
を基準点からこの角度をもって配置するとともに、前記
接続点から前記連結角度をもって他のパーツを配置す
る。The figure is preferably a character formed by connecting a plurality of parts. The reference point is provided on a part on the base end side with respect to the main body of the character, and the character is formed on the part on the tip side with respect to the body. The control point is provided for this. The image display processing means includes connection point calculation means for calculating a connection point between parts, and the angle calculation means calculates a connection angle between the parts at the connection point, and the connection point is defined as the reference point. An angle formed with respect to the reference coordinates is calculated, and the arranging unit arranges the base-side part with this angle from the reference point and arranges another part with the connection angle from the connection point.
【0018】前記画像表示処理手段は、前記制御点を所
望の位置に変更ないしは設定可能な制御点変更・設定手
段を備える。前記角度演算手段は、前記角度を前記図形
に対して定義された長さのデータを持つ骨格に基づいて
演算する。The image display processing means includes control point changing / setting means capable of changing or setting the control point to a desired position. The angle calculating means calculates the angle based on a skeleton having data of a length defined for the figure.
【0019】前記画像表示処理手段は、前記移動指令に
基づいて決定される前記図形の一連の動きに対応して、
前記基準点メモリ及び制御点メモリから読み出した基準
点の座標データ及び制御点の座標データから、前記図形
の所定の座標系に対するマトリクスを求めるマトリクス
演算手段と、その求めたマトリクスに合わせて前記図形
を配置する配置手段とを備える。The image display processing means is responsive to a series of movements of the figure determined based on the movement command,
Matrix calculation means for obtaining a matrix for a predetermined coordinate system of the figure from the coordinate data of the reference point and the coordinate data of the control point read from the reference point memory and the control point memory; And arranging means for arranging.
【0020】前記マトリクス演算手段は、前記基準点の
座標系に対する制御点がなすマトリクスを演算し、前記
配置手段は当該マトリクスに基づいて前記図形を配置す
る。前記マトリクス演算手段は、前記基準点のマトリク
スの転置行列を利用して制御点の基準点に対する相対座
標を演算し、この相対座標から前記マトリクスを演算す
る。The matrix calculating means calculates a matrix formed by control points of the reference point with respect to the coordinate system, and the arranging means arranges the figure based on the matrix. The matrix calculation means calculates relative coordinates of the control points with respect to the reference point using a transposed matrix of the matrix of the reference points, and calculates the matrix from the relative coordinates.
【0021】前記マトリクス演算手段は、前記制御点の
マトリクスに行列演算を適用して接続点におけるパーツ
のマトリクスを演算し、かつ前記パーツの接続点のマト
リクスに行列演算を適用することにより他のパーツのマ
トリクスを演算し、前記配置手段は、前記各パーツのマ
トリクスに基づいて前記キャラクターを所定の座標系に
配置する。The matrix computing means computes a matrix of parts at a connection point by applying a matrix computation to the matrix of the control points, and applies a matrix computation to a matrix of connection points of the parts to produce other parts. The arrangement means arranges the character in a predetermined coordinate system based on the matrix of each part.
【0022】本発明に係わる画像処理装置およびその方
法によれば、移動指令に基づいて、基準点メモリから図
形を表示するための基準となる基準点のデータを読み出
し、かつ基準点に対する図形の他の位置を決定するため
の制御点のデータを制御点メモリから読み出し、前記基
準点と制御点とによって定まる座標系領域に図形を表示
するための画像表示処理が行なわれる。According to the image processing apparatus and the method thereof according to the present invention, based on a movement command, data of a reference point serving as a reference for displaying a figure from a reference point memory is read, and other than the figure corresponding to the reference point. The data of the control point for determining the position is read out from the control point memory, and an image display process for displaying a graphic in a coordinate system area determined by the reference point and the control point is performed.
【0023】したがって、基準点と制御点とを定めれ
ば、図形の移動表示が実質的に可能となるため、移動表
示に必要なデータ量を低減することができるとともに、
制御点を所望の位置に変更・設定することにより、図形
の多彩で自由な動きを実現することができる。Therefore, if the reference point and the control point are determined, the moving display of the figure becomes substantially possible, so that the data amount required for the moving display can be reduced, and
By changing and setting the control points to desired positions, it is possible to realize various and free movements of the graphic.
【0024】また、本発明によれば、移動指令に基づい
て決定された図形の一連の動きに対応して、前記基準点
メモリ及び制御点メモリから読み出した図形の基準点の
座標データ及び制御点の座標データから各図形の所定の
座標系に対する角度を算出し、求めた角度に図形を配置
する。したがって、この角度を予め記憶しておかなくて
も、図形の移動の都度この角度を演算し、演算した角度
で図形を表示できる。According to the present invention, the coordinate data and the control point of the reference point of the figure read from the reference point memory and the control point memory corresponding to a series of movements of the figure determined based on the movement command. , The angle of each figure with respect to a predetermined coordinate system is calculated from the coordinate data, and the figure is arranged at the obtained angle. Therefore, even if this angle is not stored in advance, this angle is calculated every time the figure is moved, and the figure can be displayed at the calculated angle.
【0025】この角度を基準点の座標系に対する角度と
して演算することにより、基準点に対してこの角度をも
って正確に図形を配置することができる。By calculating this angle as the angle of the reference point with respect to the coordinate system, the figure can be accurately arranged with this angle with respect to the reference point.
【0026】図形データを所定の座標系に予め記憶し、
このデータによって形成される図形を前記座標系領域に
配置することにより、この図形を構成する各点毎の移動
状態に対応する座標データを予め作成して記憶しておく
ことを省略できる。このデータには、二次元図形を定義
するためのスプライトデータ、三次元データを定義する
ためのポリゴンデータとが含まれる。The graphic data is stored in a predetermined coordinate system in advance,
By arranging a graphic formed by this data in the coordinate system area, it is possible to omit the creation and storage of coordinate data corresponding to the movement state of each point constituting the graphic in advance. This data includes sprite data for defining a two-dimensional figure and polygon data for defining three-dimensional data.
【0027】前記基準点のマトリクスの逆行列を制御点
の絶対座標に乗じることにより制御点の基準点に対する
相対座標を演算し、この相対座標から前記角度を演算す
る。これにより基準点の座標系対する制御点が成す角度
を容易かつ迅速に求められる。前記基準点をキャラクタ
ーの基端側に設定し、制御点をキャラクターの先端側に
設定することにより、キャラクターの動作を人体類似の
ものに近づけることができる。The relative coordinates of the control point to the reference point are calculated by multiplying the absolute coordinates of the control point by the inverse matrix of the reference point matrix, and the angle is calculated from the relative coordinates. Thereby, the angle formed by the control point with respect to the coordinate system of the reference point can be easily and quickly obtained. By setting the reference point on the base end side of the character and the control point on the front end side of the character, the movement of the character can be made closer to that of a human body.
【0028】また、キャラクターが複数のパーツを連結
して構成されるものであり、基端側のパーツに対して前
記基準点が設けられ、また先端側のパーツに対して前記
制御点が設けられている時に、パーツ同士の接続点を演
算し、この接続点におけるパーツ同士の連結角度を演算
するとともに、この接続点が前記基準点の基準座標に対
して成す角度を演算し、基端側のパーツを基準点からこ
の角度をもって配置するとともに、前記接続点から前記
連結角度をもって他のパーツを配置することにより、複
数のパーツが連結して一つのキャラクターが構成される
ようなものでも、基準点と制御点とを設定するだけで、
キャラクターの移動状態を表示することができる。The character is constructed by connecting a plurality of parts. The reference point is provided for a base part, and the control point is provided for a tip part. Is calculated, the connection point between the parts is calculated, the connection angle between the parts at this connection point is calculated, and the angle formed by the connection point with respect to the reference coordinates of the reference point is calculated, By arranging parts at this angle from the reference point and arranging other parts at the connection angle from the connection point, even if multiple parts are connected to form one character, Just set the control point and
The movement status of the character can be displayed.
【0029】また、前記画像表示処理手段は、前記移動
指令に基づいて決定される前記キャラクター(図形)の
一連の動きに対応して、前記基準点メモリ及び制御点メ
モリから読み出したキャラクターの基準点の座標データ
及び制御点の座標データから、キャラクターの所定の座
標系に対するマトリクスを求めるマトリクス演算手段
と、その求めたマトリクスに前記キャラクターを配置す
る配置手段とを備える構成としてある。The image display processing means may further include a reference point of the character read from the reference point memory and the control point memory corresponding to a series of movements of the character (graphic) determined based on the movement command. From the coordinate data of the control point and the coordinate data of the control points, and a matrix operation means for obtaining a matrix of the character in a predetermined coordinate system, and an arrangement means for arranging the character in the obtained matrix.
【0030】また、前記マトリクス演算手段では、ある
座標軸で回転させて得られたマトリクスが他の座標軸で
回転させて得られたマトリクスの転置行列になる点に着
目し、これを利用して相対座標を出し、これによりマト
リクス演算を行なうための余弦値、正弦値を算出し、こ
れら余弦値、正弦値に基づいて行列演算を行なうことに
より、直接前記基準点の座標系に対する制御点がなすマ
トリクスを演算している。前記配置手段は当該マトリク
スに基づいて前記キャラクターを配置する。Further, the matrix calculation means focuses on the fact that a matrix obtained by rotating the coordinate system on a certain coordinate axis becomes a transposed matrix of a matrix obtained by rotating the matrix on another coordinate axis. The cosine value and the sine value for performing the matrix operation are calculated, and the matrix operation is performed based on the cosine value and the sine value, thereby directly forming the matrix formed by the control points with respect to the reference point coordinate system. It is calculating. The arrangement means arranges the characters based on the matrix.
【0031】また、前記キャラクターが複数のパーツを
連結して構成されるものである場合には、基端側のパー
ツに対して前記基準点が設けられ、また先端側のパーツ
に対して前記制御点が設けられているときに、前記マト
リクス演算手段では、前記制御点のマトリクスに行列演
算をして接続点におけるパーツのマトリクスを、前記の
ように演算し、かつ前記パーツの接続点のマトリクスに
行列演算を適用することにより他のパーツのマトリクス
を演算している。このように接続点についても、それぞ
れパーツのマトリクスを直接演算している。In the case where the character is formed by connecting a plurality of parts, the reference point is provided for the base part and the control point is provided for the tip part. When points are provided, the matrix calculation means performs a matrix calculation on the matrix of the control points to calculate a matrix of parts at connection points as described above, and converts the matrix of connection points of the parts into a matrix. The matrix of another part is calculated by applying the matrix calculation. As described above, the matrix of the parts is also directly calculated for the connection points.
【0032】[0032]
【発明の実施の形態】以下、本発明の実施形態を図面を
用いて説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0033】<第1の形態の説明> 〔装置の構成〕図1において、画像処理装置1は、大別
して、キャラクターCa,Cb等を表示する表示装置
(ディスプレイ)2と、各種データ、テーブル及びプロ
グラムを記憶するメモリ3と、前記ディスプレイ2に表
示されるキャラクターCa又はCbに移動指令用の操作
信号を与える操作盤4と、操作盤4からの操作指令を基
にメモリ3内の各種データを参照して表示データを作成
し、これをディスプレイ2に与えるデータ処理装置5と
を備えている。各装置は次のように構成されている。<Description of First Embodiment> [Structure of Apparatus] In FIG. 1, an image processing apparatus 1 is roughly divided into a display device (display) 2 for displaying characters Ca, Cb, etc., and various data, tables and A memory 3 for storing a program, an operation panel 4 for giving an operation signal for a movement instruction to the character Ca or Cb displayed on the display 2, and various data in the memory 3 based on an operation instruction from the operation panel 4. A data processing device 5 that creates display data by referring to the display data and provides the display data to the display 2. Each device is configured as follows.
【0034】ディスプレイ2は、データ処理装置5に接
続されており、このデータ処理装置5から供給される表
示信号に応じてキャラクターCa,Cbやその他の画面
(例えば、背景画面(BG))を含めて一画面6として
表示する。ここで、メモリ3は、キャラクターを構成す
るためのデータとして三次元座標データを有し、データ
処理装置は所定の視点から見た図形を作成する。The display 2 is connected to the data processing device 5 and includes characters Ca, Cb and other screens (for example, a background screen (BG)) according to the display signal supplied from the data processing device 5. Is displayed as one screen 6. Here, the memory 3 has three-dimensional coordinate data as data for constituting a character, and the data processing device creates a figure viewed from a predetermined viewpoint.
【0035】〔キャラクターの構造の説明〕図2は キ
ャラクターCa又はCbの構造を説明するための図であ
る。これらキャラクターCa又はCbについて総称する
場合は、以下「C」で代表させて称することとする。キ
ャラクターCは、人体を意図して構成されたものであ
り、例えば、腰部パーツU1と、胸部パーツU2と、頭
部パーツU3と、左腕部パーツU4と、右腕部パーツU
5と、左脚部パーツU6と、右脚部パーツU7とから構
成されるものとする。また、各部パーツについて総称す
る場合には、以下「U」で代表させて説明する。[Description of Character Structure] FIG. 2 is a diagram for explaining the structure of the character Ca or Cb. When the characters Ca or Cb are collectively referred to as "C" hereinafter. The character C is designed for the human body, and includes, for example, a waist part U1, a chest part U2, a head part U3, a left arm part U4, and a right arm part U.
5, a left leg part U6, and a right leg part U7. In addition, when the parts are collectively referred to, they will be represented by “U” below.
【0036】この実施形態では各部パーツUは、基準点
及び制御点(いずれも後で詳説する。)との間で、一つ
又は二つの骨の周りに定義される。パーツUは、一つの
骨で構成されているものと二つの骨で構成されているも
のとからなる。前者は、頭部、胸部、腰部のパーツがあ
り、後者は、左右の両腕、左右の両脚のパーツがある。
この実施形態では、キャラクターとして人体を想定して
いることから便宜上骨という表現を採用した。In this embodiment, each part U is defined around one or two bones between a reference point and a control point (both will be described in detail later). The part U is composed of a part composed of one bone and a part composed of two bones. The former has head, chest, and waist parts, and the latter has left and right arms and left and right legs.
In this embodiment, the expression "bone" is used for convenience because a human body is assumed as a character.
【0037】基準点Tに関する座標データと、制御点S
に関する座標データと、その基準点Tと制御点Sの間に
配置する骨、骨が二つある場合は骨同士の角度にもよっ
てパーツの配置が定義される。The coordinate data relating to the reference point T and the control point S
When there are two bones and two bones to be arranged between the reference point T and the control point S, the arrangement of the parts is defined by the angle between the bones.
【0038】この実施形態では、後に詳細するが、制御
点Sと基準点Tに関するデータを基に所定の座標系にお
ける各部のパーツの骨の角度を計算して求め、この座標
系における角度のデータに従って骨Bを基準点Tと制御
点Sとの間に配置する。ここで、基準点Tとは、各パー
ツを定義する際の基準となるものであって、各パーツの
基端寄りに設定される。制御点Sとは、基準点Tに対す
る各パーツの他の位置を決定するためのポイントであっ
て、各部品の先端寄りに設定される。In this embodiment, as will be described in detail later, the angles of the bones of the parts of each part in a predetermined coordinate system are calculated and obtained based on the data on the control point S and the reference point T. Is arranged between the reference point T and the control point S according to the following. Here, the reference point T is a reference when defining each part, and is set near the base end of each part. The control point S is a point for determining another position of each part with respect to the reference point T, and is set near the tip of each part.
【0039】各基準点は、各パーツの一連の動作の軌跡
に対応した相対座標データ群から構成され、また、各制
御点は、各部品の一連の動きに対応し、あるいはこの動
きとは関係なく一連の動きの過程にある各部品の先端が
占める所定位置のデータ群から構成される。本実施形態
では、前記制御点のデータは、絶対座標系における絶対
座標データ群から構成されている。Each reference point is composed of a group of relative coordinate data corresponding to a trajectory of a series of movements of each part. Each control point corresponds to a series of movements of each part or is related to this movement. Rather, it is composed of a data group at a predetermined position occupied by the tip of each component in the course of a series of movements. In the present embodiment, the control point data is composed of an absolute coordinate data group in an absolute coordinate system.
【0040】基準点を構成するデータには、前記相対座
標データの他、基準点の座標系が絶対座標系に対して成
す相対角度が含まれる。The data constituting the reference point includes, in addition to the relative coordinate data, a relative angle formed by the coordinate system of the reference point with respect to the absolute coordinate system.
【0041】腰部パーツU1以外のパーツU2〜U7の
基準点は、腰部パーツU1の基準点T1からの相対座標
データによって定義される。この腰部パーツU1の基準
点T1は、その他のパーツの基準となるものであって、
絶対座標系における絶対座標データと、絶対座標系に対
して成す基準点T1を中心とする座標系が成す角度によ
って特定される。The reference points of the parts U2 to U7 other than the waist part U1 are defined by relative coordinate data from the reference point T1 of the waist part U1. The reference point T1 of the waist part U1 is a reference for other parts,
It is specified by the absolute coordinate data in the absolute coordinate system and the angle formed by the coordinate system centered on the reference point T1 formed with respect to the absolute coordinate system.
【0042】各々のパーツに対応する骨Bは、長さのデ
ータLを持つことになり、その長さのデータLは他の所
定座標系のX軸方向の進行方向に登録されている。した
がって、例えば一つの骨Bが、基準点Tと制御点Sとの
XYZ直交座標系のY軸,Z軸になす角度を算出し、そ
の角度に合わせて所定の座標系に登録されている骨Bの
データを、基準点Tの座標系に変換するようにすれば、
パーツがが基準点と制御点との間に定義されることにな
る。The bone B corresponding to each part has length data L, and the length data L is registered in the X axis direction traveling direction of another predetermined coordinate system. Therefore, for example, an angle formed between the reference point T and the control point S with respect to the Y axis and the Z axis of the XYZ orthogonal coordinate system is calculated, and the bone registered in the predetermined coordinate system according to the angle is calculated. If the data of B is converted into the coordinate system of the reference point T,
The part will be defined between the reference point and the control point.
【0043】このような考えから、キャラクターCにつ
いていえば、例えば、腰部パーツU1は、基準点T1と
制御点S1との間の骨B1の周りに定義され、胸部パー
ツU2は基準点T1と制御点S2との間の骨B2の周り
に定義され、頭部パーツU3は基準点T3と制御点S3
との間の一つの骨B3の周りに定義され、左腕部の二つ
のパーツU4は基準点T4と制御点S4との間の二つの
骨B41,B42を接続点(関節)Q4で接続し、これ
らの骨の周りに定義され、右腕部の二つのパーツU5は
基準点T5と制御点S5との間に二つの骨B51,B5
2を接続点Q5で接続して、これらの周りに定義され、
左脚部の二つのパーツU6は基準点T6と制御点S6と
の間に二つの骨B61,B62を接続点Q6で接続して
配置し、これらの周りに定義され、右脚部の二つのパー
ツU7は基準点T7と制御点S7との間に二つの骨B7
1,B72を接続点Q7で接続して配置して、これらの
周りに定義されることになる。From this idea, regarding the character C, for example, the waist part U1 is defined around the bone B1 between the reference point T1 and the control point S1, and the chest part U2 is defined as the control point T1. The head part U3 is defined around the bone B2 between the point S2 and the reference point T3 and the control point S3.
And two parts U4 of the left arm connect two bones B41 and B42 between the reference point T4 and the control point S4 at a connection point (joint) Q4. Defined around these bones, the two parts U5 of the right arm are located between the reference point T5 and the control point S5.
2 connected at connection point Q5, defined around them,
The two parts U6 of the left leg have two bones B61 and B62 connected at the connection point Q6 between the reference point T6 and the control point S6. The part U7 has two bones B7 between the reference point T7 and the control point S7.
1, B72 are connected and arranged at the connection point Q7, and are defined around these.
【0044】また、キャラクターCでは、前記各部のパ
ーツU1ないしU7のうち一つのパーツを基本パーツに
選択し、他のパーツを付属パーツとする。基本パーツと
しては、一定時間間隔に刻まれた時刻t1〜t13におけ
るキャラクターの一連の動き(この一連の動きを「モー
ション」という。この「モーション」の一例が図3に例
示されている。)の中で、中心的なパーツであることが
好ましく、例えば、腰部のパーツU1が好ましい。な
お、胸部のパーツU2でも良い。本実施形態では、便宜
上腰部のパーツU1を基本パーツにする。In the character C, one of the parts U1 to U7 of each part is selected as a basic part, and the other parts are attached parts. As a basic part, a series of movements of the character at times t1 to t13 engraved at fixed time intervals (this series of movements are referred to as "motion". An example of this "motion" is illustrated in FIG. 3). Among them, a central part is preferable, and for example, a waist part U1 is preferable. The chest part U2 may be used. In the present embodiment, the waist part U1 is used as a basic part for convenience.
【0045】そして、各パーツのモーション中の各時刻
t1,t2, …における基準点T、または制御点Sとの座
標データを所定のスプライン関数によって演算すること
により、時刻と時刻との間の各点T、Sのデータ量を飛
躍的に減少させるとともに、各モーションを滑らかに表
現することができる。The coordinate data with respect to the reference point T or the control point S at each time t1, t2,... In the motion of each part is calculated by a predetermined spline function, so that each time between the times is calculated. The amount of data at points T and S can be drastically reduced, and each motion can be expressed smoothly.
【0046】例えば、右腕のパーツU5の制御点S5と
基準点T5とを代表させて図3に表示するが、各モーシ
ョンデータに対する、これら基準点および制御点の軌跡
をスプライン関数によってその都度計算するか、或いは
データとして記憶すると、破線および一点鎖線で示すよ
うに滑らかな動きを表現することができる。For example, FIG. 3 shows the control point S5 and the reference point T5 of the part U5 of the right arm as representatives, and the trajectory of the reference point and the control point for each motion data is calculated each time by a spline function. Alternatively, if the data is stored as data, a smooth motion can be expressed as indicated by a broken line and a dashed line.
【0047】ここで、スプライン関数とは、節点と称さ
れる点と点との間に滑らかな曲線を形成するための関数
である。節点間毎の曲線は、例えば、次の(1)乃至
(3)式の多項式の集合によって表せられる。節点間毎
に異なる多項式を与えることもできる。Here, the spline function is a function for forming a smooth curve between points called nodes. The curve for each node is represented by a set of polynomials of the following equations (1) to (3), for example. Different polynomials can be given for each node.
【0048】 x=a0+a1t+a2t2+・・・・・+antn ・・・(1) y=b0+b1t+b2t2+・・・・・+bntn ・・・(2) z=c0+c1t+c2t2+・・・・・+cntn ・・・(3) a0,a1,a2,・・・・・,an :所定の定数 b0,b1,b2,・・・・・,bn :所定の定数 c0,c1,c2,・・・・・,cn :所定の定数 x :x軸の座標 y :y軸の座標 z :z軸の座標 t :節点間を、0≦t≦1範囲で変動するパラメータ このようにスプライン関数は区分的多項式関数であり、
微分および積分が容易であることから、コンピュータグ
ラフィック技術において、必要となる滑らかな曲線を作
り出すことを容易とする。すなわち、節点を基準点ある
いは制御点とし、基準点と基準点との間、および制御点
と制御点との間をこのスプライン関数によって定義する
ことによって、キャラクターに滑らかな動きを与えるこ
とができる。X = a 0 + a 1 t + a 2 t 2 +... + A n t n (1) y = b 0 + b 1 t + b 2 t 2 +... + B n t n. ·· (2) z = c 0 + c 1 t + c 2 t 2 + ····· + c n t n ··· (3) a 0, a 1, a 2, ·····, a n: predetermined B 0 , b 1 , b 2 ,..., B n : predetermined constants c 0 , c 1 , c 2 ,..., C n : predetermined constants x: x-axis coordinates y: coordinates on the y-axis z: coordinates on the z-axis t: a parameter that fluctuates between nodes in the range of 0 ≦ t ≦ 1 Thus, the spline function is a piecewise polynomial function,
The ease of differentiation and integration facilitates the creation of the required smooth curves in computer graphics technology. That is, a smooth motion can be given to a character by defining a node as a reference point or a control point and defining between the reference point and the reference point and between the control point and the control point by using the spline function.
【0049】キャラクターCは、腰部パーツU1の基準
点T1を三次元の絶対座標系に配置し、これを基準とし
て各パーツU2〜U7の基準点T2〜T7を相対的に配
置することにより、各パーツを腰部のパーツU1に連結
させ、結果として、全体としては形の変化するキャラク
ターとして表示することができるようにしている。The character C arranges the reference point T1 of the waist part U1 in a three-dimensional absolute coordinate system, and arranges the reference points T2 to T7 of the parts U2 to U7 relative to the reference point. The parts are connected to the waist part U1, so that the whole can be displayed as a character whose shape changes.
【0050】〔メモリ3の詳細説明〕図4は、メモリ3
内の所定の記憶領域を示すものであり、腰部パーツU1
の基準点T1の一連の動きに相当するモーションデータ
用メモリ31と、各パーツU1〜U7の制御点メモリ3
2と、U1以外の付属パーツU2〜U7の基準点メモリ
33と、骨を成すデータを記憶する骨データメモリ34
と、定義された骨から最終的にキャラクター全体(闘
士)を定義するために必要なデータを記憶する補助メモ
リ35の例を示す説明図である。[Detailed Description of Memory 3] FIG.
And a predetermined storage area in the lower part U1
And a control point memory 3 for each of the parts U1 to U7.
2, a reference point memory 33 for accessory parts U2 to U7 other than U1, and a bone data memory 34 for storing bone forming data
FIG. 9 is an explanatory diagram showing an example of an auxiliary memory 35 that stores data necessary for finally defining the entire character (warrior) from defined bones.
【0051】モーションデータ用メモリ31は、キャラ
クターCに関するそれぞれ異なった動き(ジャンプ、ラ
ンニング等)に対応する複数のモーションデータ#1,
#2,…を記憶する。このモーションデータ用メモリ3
1には、複数のモーションのそれぞれについて一連の動
作の各態様毎の前記基本パーツである腰部パーツU1の
基準点の3次元絶対座標と、あるいは、これに加えてこ
の基準点を中心とする座標系が絶対座標系対して成す角
度が記憶されている。絶対座標系とは、ワールド座標系
をいう。なお、図3はモーションの一例を示したもので
ある。The motion data memory 31 stores a plurality of motion data # 1, # 1 corresponding to different motions (jump, running, etc.) of the character C.
# 2, ... are stored. This motion data memory 3
1 includes three-dimensional absolute coordinates of a reference point of the waist part U1, which is the basic part, for each aspect of a series of motions for each of a plurality of motions, or additionally, coordinates centered on the reference point. The angle formed by the system with respect to the absolute coordinate system is stored. The absolute coordinate system refers to a world coordinate system. FIG. 3 shows an example of the motion.
【0052】このモーションデータ#1,#2,…を、
一つのキャラクターCに対して、例えば500〜700
程度用意すれば、闘士の動きを表現する場合であって
も、通常予想されるモーションの全てをほぼ網羅すると
思われる。The motion data # 1, # 2,.
For example, 500 to 700 for one character C
If it prepares to the extent, even if it expresses the movement of a warrior, it seems that it covers almost all the normally expected motions.
【0053】制御点メモリ32は、腰部パーツU1と他
の付属パーツU2〜U7の制御点Sの絶対座標データを
記憶している。また、基準点メモリ33は、腰部のパー
ツU1の基準点に対する他の付属パーツU2〜U7の基
準点Tの相対座標データ、あるいはこれに加えて各基準
点の基準座標系が絶対座標系に対して成す角度を記憶し
ている。この相対座標データは、腰部のパーツU1の基
準点に対する3次元座標データによって与えられる。The control point memory 32 stores the absolute coordinate data of the control points S of the waist part U1 and the other attached parts U2 to U7. The reference point memory 33 stores relative coordinate data of the reference point T of the other attached parts U2 to U7 with respect to the reference point of the waist part U1, or, in addition, the reference coordinate system of each reference point is relative to the absolute coordinate system. I remember the angle made. The relative coordinate data is given by three-dimensional coordinate data for the reference point of the waist part U1.
【0054】また、骨データメモリ34は、全てのパー
ツU1,U2,U3 …について、これら各パーツを定
義するための各骨B1,B2,B3,B41,B42,
B51,B52,B61,B62,B71,B72のそ
れぞれの長さL(図2参照)に関するデータ及びその他
必要なデータを記憶している。また、これら骨B1,B
2,B3,B41,B42,B51,B52,B61,
B62,B71,B72は、先に述べたように、所定の
XYZ座標系のX軸の進行方向に登録されている。The bone data memory 34 stores, for all the parts U1, U2, U3,..., The bones B1, B2, B3, B41, B42,
Data relating to the length L (see FIG. 2) of each of B51, B52, B61, B62, B71, and B72 and other necessary data are stored. In addition, these bones B1, B
2, B3, B41, B42, B51, B52, B61,
As described above, B62, B71, and B72 are registered in the traveling direction of the X axis in the predetermined XYZ coordinate system.
【0055】この実施形態では、骨に対して肉(すなわ
ち形状を成すパーツ)を定義することにより、キャラク
ターの3次元図形(闘士の形状)が定義される。例え
ば、ボディ座標系に上腕の図形を定義し、これをワール
ド座標系にモデリング変換する際に、例えば、上腕のパ
ーツを成す複数のポリゴンが上腕骨(B41又はB5
1)の例えば重心に対して相対的に配置される。この
後、闘士が視野変換されてディスプレイに表示される。
補助メモリ35は、各パーツに対する3次元形状を成す
ポリゴンの座標データを記憶している。本実施形態にお
いて、骨はパーツをワールド座標系に基準点と制御点に
基づいて配置(定義)されるためのものであって、通常
は骨自体がワールド座標系に配置されない。In this embodiment, a three-dimensional figure of a character (shape of a warrior) is defined by defining meat (namely, parts forming a shape) with respect to a bone. For example, when a figure of the upper arm is defined in the body coordinate system and the model is converted into a model in the world coordinate system, for example, a plurality of polygons forming parts of the upper arm are used as humeral bones (B41 or B5).
1), for example, it is arranged relatively to the center of gravity. Thereafter, the field of view of the warrior is changed and displayed on the display.
The auxiliary memory 35 stores coordinate data of a polygon forming a three-dimensional shape for each part. In the present embodiment, the bone is for arranging (defining) a part in the world coordinate system based on the reference point and the control point, and the bone itself is not usually arranged in the world coordinate system.
【0056】また、補助メモリ35には、闘士を表示す
る上での色彩に関するデータE1 ,E2 ,E3 ,…や、
材質(木目、金属表面等)を表現するデータF1 、F2
、F3 ……等と、その他の表示特性に関するデータも
記憶されている。In the auxiliary memory 35, data E1, E2, E3,...
Data F1 and F2 expressing material (grain, metal surface, etc.)
, F3,..., And other data relating to display characteristics.
【0057】また、図1に示すように、モーションデー
タ用メモリ31、制御点メモリ32、基準点メモリ3
3、骨データメモリ34及び補助メモリ35を含むメモ
リ3は、データ処理装置5に接続されており、前記キャ
ラクターCを三次元表示するための各種データの他、そ
の他の必要なデータ(例えば、背景画像を表示するため
のデータ)や処理プログラムを記憶している。データ処
理装置5は、これらプログラムによって必要な画像処理
動作を実行できるように構成されている。As shown in FIG. 1, a motion data memory 31, a control point memory 32, a reference point memory 3
3. The memory 3 including the bone data memory 34 and the auxiliary memory 35 is connected to the data processing device 5, and in addition to various data for three-dimensionally displaying the character C, other necessary data (for example, background) Data for displaying an image) and a processing program. The data processing device 5 is configured to execute necessary image processing operations by these programs.
【0058】操作盤4はデータ処理装置5に接続されて
おり、キャラクターCa、Cbからなる闘士を操作する
ための操作指令を形成してデータ処理装置5に与えるよ
うになっている。ここで、この操作指令は、闘士を移動
させるための出力から主として構成される。The operation panel 4 is connected to the data processing device 5 so that an operation command for operating a warrior composed of characters Ca and Cb is formed and given to the data processing device 5. Here, the operation command mainly includes an output for moving the warrior.
【0059】データ処理装置5は、操作盤4からの操作
指令を基に、メモリ3(モーションデータ用メモリ3
1、制御点メモリ32、基準点メモリ33、骨データメ
モリ34及び補助メモリ35を含む)内の各種データ及
び処理プログラムに応じて、キャラクターCをディスプ
レイ2上で移動表示させる処理を実行し、その処理結果
を含む画面を表示信号Vdとしてディスプレイ2に出力
するようになっている。The data processing device 5 stores the memory 3 (the motion data memory 3) based on an operation command from the operation panel 4.
1, a process for moving and displaying the character C on the display 2 in accordance with various data and a processing program in the control point memory 32, the reference point memory 33, the bone data memory 34, and the auxiliary memory 35). A screen including the processing result is output to the display 2 as a display signal Vd.
【0060】また、データ処理装置5は各種の処理を実
行するCPU50を具備しており、このCPU50は、
メモリ3内の各種モーションデータ等やプログラムに従
って動作し、モーション選択ユニット(手段)51、座
標位置決定ユニット(手段)52、角度演算ユニット
(手段)53、画像出力制御ユニット(手段)54を実
現する。The data processing device 5 includes a CPU 50 for executing various processes.
It operates according to various motion data and the like and programs in the memory 3 to realize a motion selection unit (means) 51, a coordinate position determination unit (means) 52, an angle calculation unit (means) 53, and an image output control unit (means) 54. .
【0061】〔画像処理装置の機能ブロックの説明〕図
5を用いて、このデータ処理装置によって実現される各
ユニット(手段)を詳細に説明する。図5は、画像処理
装置1の機能ブロック図を示したものである。[Explanation of Functional Blocks of Image Processing Apparatus] Each unit (means) realized by the data processing apparatus will be described in detail with reference to FIG. FIG. 5 shows a functional block diagram of the image processing apparatus 1.
【0062】図5において、CPU50は、メモリ3内
の所定動作プログラムを実行することにより、操作盤4
からの操作指令SSを読み込み、その操作指令を基にメ
モリ3のモーションデータ用メモリ31からキャラクタ
ーCの複数のモーションのうちから所定のモーションを
選択する。具体的には、CPU50は、選択されたモー
ション中のパーツU1の基準点に関するデータ群(座標
データ等)を選択する、モーション選択ユニット51を
実現する。In FIG. 5, the CPU 50 executes a predetermined operation program in the memory 3 to
And reads a predetermined motion from a plurality of motions of the character C from the motion data memory 31 of the memory 3 based on the operation command. Specifically, the CPU 50 implements the motion selection unit 51 that selects a data group (coordinate data and the like) relating to the reference point of the part U1 in the selected motion.
【0063】符号52は、座標位置決定ユニットを示
す。このユニットは、この選択されたモーション中の所
定タイミング(図3の(a)〜(m)のいずれか)にお
ける各パーツU1〜U7毎の基準点を、基準点メモリ3
3から相対座標の形で読み出し、同様にこのモーション
とタイミングとに対応する各パーツU1〜U7の制御点
を制御点メモリ33から読み出し、これらのデータに基
づいて、ディスプレイの表示座標系に各パーツを移動表
示するための座標位置を決定する、座標位置決定ユニッ
トを示す。パーツU1〜U7の基準点の座標は絶対座標
の形に変換され、制御点の座標とともに、表示用マトリ
クスメモリ(MD)内に記憶される。Reference numeral 52 denotes a coordinate position determination unit. This unit stores a reference point for each of the parts U1 to U7 at a predetermined timing (one of (a) to (m) in FIG. 3) during the selected motion in a reference point memory 3
3 is read out in the form of relative coordinates. Similarly, the control points of the parts U1 to U7 corresponding to the motion and the timing are read out from the control point memory 33, and based on these data, each part is displayed in the display coordinate system of the display. 1 shows a coordinate position determination unit that determines a coordinate position for moving and displaying. The coordinates of the reference points of the parts U1 to U7 are converted into the form of absolute coordinates, and stored together with the coordinates of the control points in the display matrix memory (MD).
【0064】符号53は、各パーツ毎に、基準点と制御
点の座標データとから、基準点の座標系に対する各パー
ツの骨Bの角度を演算する角度演算装置である。この角
度演算ユニットにより、所定のモーション中の一態様に
おける角度が連続的に演算される。この角度も演算の都
度、表示用マトリックスメモリ(MD)内に順次記憶さ
れる。Reference numeral 53 denotes an angle calculator for calculating the angle of the bone B of each part with respect to the coordinate system of the reference point from the coordinate data of the reference point and the control point for each part. With this angle calculation unit, an angle in one mode during a predetermined motion is continuously calculated. This angle is also sequentially stored in the display matrix memory (MD) each time the calculation is performed.
【0065】この表示用マトリクスはメモリ3のRAM
内に構成されるもので、図7に示すように、各パーツ毎
で、かつ各モーション中のそれぞれの態様毎に、基準点
の座標データとこの基準点に対する骨の角度を記憶する
ように構成される。This display matrix is a RAM of the memory 3.
As shown in FIG. 7, the coordinate data of the reference point and the angle of the bone with respect to the reference point are stored for each part and for each mode in each motion. Is done.
【0066】図5に示す画像出力制御ユニット54は、
座標位置決定ユニット52で得られた座標データと角度
演算ユニット53で得られた角度とから、各部品の移動
表示処理、ひいては各部品の集合体からなるキャラクタ
ーの移動表示処理を実行する。すなわち、この画像出力
制御ユニットは、マトリクスMDの内容をCRT2に順
次表示するための処理を実行するものであり、データメ
モリ34から該当する骨のデータを取り出して、基準点
から演算された角度をもってパーツを配置する処理を実
行する。The image output control unit 54 shown in FIG.
Based on the coordinate data obtained by the coordinate position determination unit 52 and the angle obtained by the angle calculation unit 53, a movement display process of each component, and furthermore, a movement display process of a character composed of an assembly of each component is executed. That is, the image output control unit executes a process for sequentially displaying the contents of the matrix MD on the CRT 2. The image output control unit fetches the data of the corresponding bone from the data memory 34 and uses the angle calculated from the reference point. Execute the process to place parts.
【0067】また、データ処理装置5には、さらに画像
出力制御回路55が設けられている。この画像出力制御
回路55は、前記CPU50の画像出力制御ユニット5
4からのキャラクターと、前記CPU50からの画像信
号とメモリ3の内部のROMに記憶させてある画像デー
タとを基に表示信号Vdを形成して、ディスプレイ2に
与えるように構成されている。The data processing device 5 is further provided with an image output control circuit 55. The image output control circuit 55 includes an image output control unit 5 of the CPU 50.
The display signal Vd is formed based on the character from the CPU 4 and the image signal from the CPU 50 and the image data stored in the ROM in the memory 3, and is provided to the display 2.
【0068】このように構成され画像表示処理装置の実
施形態の動作を説明する。 <キャラクター作成動作>図6は、各パーツの基準点、
制御点を並びに角度データを順次演算するためのフロー
チャートである。The operation of the embodiment of the image display processing apparatus configured as described above will be described. <Character creation operation> Fig. 6 shows the reference points of each part,
9 is a flowchart for sequentially calculating control points and angle data.
【0069】画像表示処理装置1の電源を投入し、次い
で、この画像処理装置1に対して必要な操作をして動作
させると、データ処理装置5がメモリ3内の動作プログ
ラムにしたがって動作を開始し、CPU50が前記各ユ
ニット51、52、53、54を実現する。そして、操
作盤4を操作することにより操作指令がデータ処理装置
5に与えられると、CPU50で実現されたモーション
選択ユニット51は、前記操作指令を基に、メモリ3内
のモーションデータ用メモリ31の中の所定のモーショ
ンデータ中から特定のモーションデータを選択する(ス
テップ101)。When the power of the image display processing device 1 is turned on and the required operation is performed on the image processing device 1, the data processing device 5 starts operating according to the operation program in the memory 3. Then, the CPU 50 realizes each of the units 51, 52, 53, 54. When an operation command is given to the data processing device 5 by operating the operation panel 4, the motion selection unit 51 realized by the CPU 50 executes the operation of the motion data memory 31 in the memory 3 based on the operation command. A specific motion data is selected from the predetermined motion data (step 101).
【0070】次いで、選択されたモーションデータを基
に座標位置決定ユニット52が、パーツU1の一連の移
動のうち第1番目の態様(図3の(a))に対応した、
制御点S1及び基準点T1を取り出して絶対座標データ
を決定する(S102)。Next, based on the selected motion data, the coordinate position determining unit 52 corresponds to the first mode (FIG. 3A) of the series of movements of the part U1.
The control point S1 and the reference point T1 are extracted to determine absolute coordinate data (S102).
【0071】次いで、この態様において、角度演算ユニ
ット53は、制御点S1の座標データと、基準点T1の
座標データからポリゴン(骨B1)の基準点の座標系に
おける角度を演算して決定する(S103)。これらの
座標データ及び角度データは、メモリ3内の表示用マト
リクスMDに記憶されるとともに、スタックマトリクス
メモリ(STM)に記憶させる(S104)。したがっ
て、以下の説明では、各部品のデータが演算された後、
順次、表示用マトリクスMDに記憶されるとともに、S
TMにも退避させているので、その都度言及せずに単に
表示用マトリクスMDに記憶させると表現するに止め
る。Next, in this embodiment, the angle calculation unit 53 calculates and determines the angle of the polygon (bone B1) in the coordinate system from the coordinate data of the control point S1 and the coordinate data of the reference point T1 ( S103). These coordinate data and angle data are stored in the display matrix MD in the memory 3 and also stored in the stack matrix memory (STM) (S104). Therefore, in the following description, after the data of each part is calculated,
While being sequentially stored in the display matrix MD, S
Since it is also saved in the TM, it is only necessary to simply store it in the display matrix MD without mentioning each time.
【0072】そして、座標位置決定ユニット52は、S
TMを読み出しSTM内の腰部のパーツU1の基準点座
標データを取り出し(S105)、しかも、この腰部の
パーツU1に連結される胸部のパーツU2の基準点T2
のT1に対する相対座標データから、胸部パーツU2の
基準点T2の絶対座標データを演算する(S106)。
すなわち、パーツU1の基準点T1とパーツU2の基準
点T2との絶対座標系における座標位置が決定されたこ
とになる。Then, the coordinate position determination unit 52
The TM is read and the reference point coordinate data of the waist part U1 in the STM is extracted (S105), and the reference point T2 of the chest part U2 connected to this waist part U1.
The absolute coordinate data of the reference point T2 of the chest part U2 is calculated from the relative coordinate data with respect to T1 (S106).
That is, the coordinate positions of the reference point T1 of the part U1 and the reference point T2 of the part U2 in the absolute coordinate system are determined.
【0073】次に、この態様において、角度演算ユニッ
ト53は、制御点メモリ32から読み出した制御点S2
の座標データと、基準点メモリ33から読み出した基準
点T2の相対座標データから骨B2の基準点から見た、
すなわち基準点の座標系における角度を演算して決定す
る(S107)。これらの座標データ及び角度データ
は、メモリ3のRAM内の表示用マトリクスMDに記憶
される(S108)。以後、同様の処理が、各パーツに
ついて実行される(S109〜S128)。Next, in this embodiment, the angle calculation unit 53 controls the control point S2 read from the control point memory 32.
And the relative coordinate data of the reference point T2 read from the reference point memory 33 as viewed from the reference point of the bone B2.
That is, the angle of the reference point in the coordinate system is calculated and determined (S107). These coordinate data and angle data are stored in the display matrix MD in the RAM of the memory 3 (S108). Thereafter, the same processing is executed for each part (S109 to S128).
【0074】以上のようにS101〜S120の処理に
よってキャラクターの上半身の画像を表示するために、
各パーツ毎の基準点の座標、制御点の座標、およびこれ
らの座標から骨の角度が演算され、かつS121〜S1
28の処理によってキャラクターの下半身を表示するた
めの同様なデータが演算されたことになる。As described above, in order to display the image of the upper body of the character by the processing of S101 to S120,
The coordinates of the reference point for each part, the coordinates of the control point, and the bone angle are calculated from these coordinates, and S121 to S1
By the process of 28, similar data for displaying the lower body of the character is calculated.
【0075】したがって、これら一連の処理が終了する
と所定のモーションの第1番目の態様(図3の(a))
の全パーツに対して骨の角度データが演算され、同時に
この全データが表示用マトリクスMD(図7参照)内に
設定記憶されたことになる。そして、この表示用マトリ
クスの内容に基づいて各パーツが、ディスプレイに図3
の(a)の態様となるように画面として表示されること
になる。Therefore, when these series of processes are completed, the first mode of the predetermined motion (FIG. 3 (a))
Is calculated for all the parts, and at the same time, all the data are set and stored in the display matrix MD (see FIG. 7). Then, based on the contents of the display matrix, each part is displayed on the display as shown in FIG.
(A) is displayed on the screen.
【0076】<パーツを配置するための角度算出動作>
図6における骨Bの角度算出(S103、S107、S
111、S115、S119、S123、S127)の
動作について、一つの骨Bからなるパーツ(腰、胸、
頭)の場合と、二つの骨Bから構成されるパーツ(右
腕、左腕、右脚、左脚)の場合とに分けて説明する。<Angle Calculation Operation for Placing Parts>
Calculation of the angle of bone B in FIG. 6 (S103, S107, S107)
Regarding the operations of 111, S115, S119, S123, and S127), the parts (hip, chest,
The case will be described separately for the case of the head) and the case of the parts (right arm, left arm, right leg, left leg) composed of two bones B.
【0077】〔一つの骨の場合〕図8は、一つの骨Bか
らなる部品パーツを配置するための角度を決定するため
のフローチャートである。図9は、基準点Tと制御点S
とが絶対座標系(ワールド座標系)に存在することの概
念図であり、図10は、制御点を基準点から見た座標、
すなわち、制御点を基準点の座標系に配置したこと説明
する概念図である。[Case of One Bone] FIG. 8 is a flowchart for determining an angle for arranging a component part consisting of one bone B. FIG. 9 shows the reference point T and the control point S
FIG. 10 is a conceptual diagram showing that control points exist in an absolute coordinate system (world coordinate system).
That is, it is a conceptual diagram illustrating that the control points are arranged in the coordinate system of the reference point.
【0078】図9に示すように所定のパーツUの基準点
Tの絶対座標(x0,y0,z0)は、一般には、x,
y,z直交座標系の原点にはない。また、所定パーツU
には角度データも含まれている。そこで、角度演算ユニ
ット53は、まず、パーツUの制御点Sの絶対座標(x
1,y1,z1)を用いて、基準点に対する制御点Sの相
対座標を求める。As shown in FIG. 9, the absolute coordinates (x0, y0, z0) of the reference point T of a predetermined part U are generally x,
It is not at the origin of the y, z rectangular coordinate system. In addition, predetermined parts U
Also includes angle data. Therefore, the angle calculation unit 53 firstly sets the absolute coordinates (x
(1, y1, z1) is used to determine the relative coordinates of the control point S with respect to the reference point.
【0079】そこで、角度演算ユニット53は、パーツ
Uの基準点Tの座標系を構成するマトリツクスの逆行列
を求める(S201)。次に、角度演算ユニット53
は、S201で求めた逆行列に制御点Sの絶対座標(x
1,Y1,z1)を乗じることにより、制御点の基準点の
座標系における相対座標(x2,y2,z2)を求める
(S202)。なお、基準点の座標系のマトリクスは、
絶対座標系の原点に対する基準点の座標位置および絶対
座標系に対する基準点の座標系の成すx,y,z軸の角
度によって特徴づけられる。Then, the angle calculation unit 53 obtains the inverse matrix of the matrix constituting the coordinate system of the reference point T of the part U (S201). Next, the angle calculation unit 53
Is the absolute matrix of the control point S (x
By multiplying by (1, Y1, z1), relative coordinates (x2, y2, z2) of the control point in the coordinate system of the reference point are obtained (S202). The matrix of the coordinate system of the reference point is
It is characterized by the coordinate position of the reference point with respect to the origin of the absolute coordinate system and the angles of the x, y, and z axes formed by the coordinate system of the reference point with respect to the absolute coordinate system.
【0080】図10は、この演算処理が行なわれたこと
により、パーツUの基準点Tがx,y,z直交座標の原
点(0,0,0)に一致し、しかも制御点Sが座標点
(x2,y2,z2)で表現された状態を示している。
このような状態において、角度演算ユニット53は、次
の数式1で表せられるx軸上の点Pa(x,0,0)を
仮定する。FIG. 10 shows that the reference point T of the part U coincides with the origin (0, 0, 0) of the x, y, z orthogonal coordinates, and the control point S is The state represented by the point (x2, y2, z2) is shown.
In such a state, the angle calculation unit 53 assumes a point Pa (x, 0, 0) on the x-axis represented by the following Equation 1.
【0081】[0081]
【数1】 (Equation 1)
【0082】そして、角度演算ユニット53は、このx
軸上の点Paを、x,y,z直交座標系におけるz軸回
り、y軸回り順で回転操作し、パーツUの制御点Sの座
標データ(x2,y2,z2)に対して一致させる処理を
実行する(S203)。このように処理することによ
り、角度決定ユニット53は、次の数式2,3を用い
て、骨Bがz軸に対してなす角度θZと、骨BがY軸に
対してなす角度θyを求めることができる(S20
4)。Then, the angle calculation unit 53 calculates x
The point Pa on the axis is rotated around the z-axis and the y-axis in the x, y, z orthogonal coordinate system in order in order to match the coordinate data (x2, y2, z2) of the control point S of the part U. The processing is executed (S203). By performing such processing, the angle determination unit 53 obtains the angle θZ that the bone B makes with respect to the z-axis and the angle θy that the bone B makes with respect to the Y-axis by using the following Expressions 2 and 3. (S20
4).
【0083】[0083]
【数2】 (Equation 2)
【0084】[0084]
【数3】 (Equation 3)
【0085】ここで、前記基準点は骨Bを配置させるた
めの基端部となるポイントであり、制御点はその先端の
ポイントを示すものである。前記角度は基準点を元にし
てパーツを配置するための角度に相当するものである。
ポリゴンデータメモリ34に記憶されているポリゴンデ
ータを、そのメモリ内の座標系から図10に示す座標系
に前記角度分を考慮に入れた変換が実行されることによ
り、基準点と制御点との間に骨を簡単に配置できるよう
になる。Here, the reference point is a point serving as a base end for placing the bone B, and the control point is a point at the tip. The angle corresponds to an angle for arranging parts based on the reference point.
The polygon data stored in the polygon data memory 34 is converted from the coordinate system in the memory into the coordinate system shown in FIG. 10 in consideration of the angle, thereby converting the reference point and the control point. Bone can be easily placed in between.
【0086】したがって、基準点Tの座標データと、制
御点Sの座標データと、を記憶しておくだけで、パーツ
Uのモーションを表現することができる。本来パーツU
のモーションを再現するには、基準点T、制御点Sに加
えて、パーツの角度自体を予め記憶しておく必要がある
が、本実施形態ではその必要がないので、記憶データ量
を少なくすることができる。しかも、制御点を適宜変更
することにより、基準点に対する骨の角度を所望の値に
実現でき、本実施形態のような人体類似のキャラクター
では自由な関節の動きを簡単に実現することができる。Therefore, the motion of the part U can be expressed only by storing the coordinate data of the reference point T and the coordinate data of the control point S. Original parts U
In order to reproduce the motion, the angle of the part itself needs to be stored in advance in addition to the reference point T and the control point S. However, in the present embodiment, this is not necessary, and the amount of stored data is reduced. be able to. In addition, by appropriately changing the control points, the angle of the bone with respect to the reference point can be realized to a desired value, and the movement of the joint can be easily realized in a character similar to a human body as in the present embodiment.
【0087】〔二つの骨の場合〕図11は、二つの骨か
らなるパーツを表示するためのフローチャートである。
図12は、二つの骨Bn1、Bn2(図2に示すように、こ
こで、nは4,5,6,7である。)を有するパーツU
の基準点Tを直交座標系の原点(0,0,0)に配置し
た状態の図である。図13は、このパーツUの制御点S
をこの直交座標系のX軸上の点Pb(X1,0,0)に
移動させた状態の図である。図14は、二つの骨Bn1、
Bn2の接続点Qを直交座標系の仮想点Pc(JX3 ,
0,0)に配置した状態の図である。図15は、二つの
骨Bn1、Bn2の接続点Qを直交座標系のY,Z平面から
見た状態の図である。なお、このように二つの骨Bn1、
Bn2があるパーツUには、既に説明したとおり、右腕、
左腕、右脚、左脚が相当する。[Case of Two Bones] FIG. 11 is a flowchart for displaying a part composed of two bones.
FIG. 12 shows a part U having two bones Bn1 and Bn2 (where n is 4, 5, 6, 7 as shown in FIG. 2).
FIG. 5 is a diagram showing a state in which a reference point T is arranged at the origin (0, 0, 0) of a rectangular coordinate system. FIG. 13 shows the control point S of this part U.
Is moved to a point Pb (X1, 0, 0) on the X axis of the rectangular coordinate system. FIG. 14 shows two bones Bn1,
A connection point Q of Bn2 is connected to a virtual point Pc (JX3,
(0, 0). FIG. 15 is a diagram showing a state in which a connection point Q between the two bones Bn1 and Bn2 is viewed from the Y and Z planes of the rectangular coordinate system. In addition, two bones Bn1,
The part U with Bn2 has the right arm,
The left arm, right leg, and left leg are equivalent.
【0088】角度演算ユニット53は、パーツUの基準
点Tを基準点の座標系の原点(0,0,0)にあると仮
定して計算を始める。パーツUの基準点Tのマトリツク
スの逆行列を求めて、これに制御点Sの絶対座標を乗じ
ることにより、制御点の相対座標(x0,y0,z0)を
求める(S301)。このことは、先に説明した図9,
図10の場合と同様である。The angle calculation unit 53 starts the calculation on the assumption that the reference point T of the part U is at the origin (0, 0, 0) of the coordinate system of the reference point. The inverse matrix of the matrix of the reference point T of the part U is obtained, and the matrix is multiplied by the absolute coordinates of the control point S to obtain the relative coordinates (x0, y0, z0) of the control point (S301). This is shown in FIG.
This is the same as in FIG.
【0089】図12は、この計算操作が行なわれたこと
により、制御点のもともとの絶対座標がパーツUの基準
点に対する相対座標(x0,y0,z0)に移動、あるい
は変換された状態を示している。 このような状態にお
いて、図13に示すように、角度演算ユニット53は、
X軸上の点Pb(X1,0,0)を仮定する。次いで、
角度演算ユニット53は、この点(X1,0,0)に、
パーツUの制御点Sをもってくる操作をする(S30
2)。つまり、数式4及び数式5を用いて、Z軸回り、
Y軸回りの順に座標系を回転させると、パーツUの制御
点Sは、図13に示すように、X軸上の点Pbに移動し
た状態になる。FIG. 12 shows a state in which the original absolute coordinates of the control point have been moved or converted to the relative coordinates (x0, y0, z0) of the part U with respect to the reference point by performing this calculation operation. ing. In such a state, as shown in FIG.
Assume a point Pb (X1, 0, 0) on the X axis. Then
The angle calculation unit 53 calculates the point (X1, 0, 0)
An operation of bringing the control point S of the part U is performed (S30).
2). That is, using Equations 4 and 5, around the Z axis,
When the coordinate system is rotated in the order around the Y axis, the control point S of the part U moves to a point Pb on the X axis as shown in FIG.
【0090】[0090]
【数4】 (Equation 4)
【0091】[0091]
【数5】 (Equation 5)
【0092】このような状態に達したところで、図13
に示すように、各部の長さについて、骨Bn1の長さをL
1 、骨Bn2の長さをL2 、原点から点Pbまでの長さを
L0とし、かつ骨Bn1,Bn2のなす角度をθZ2とし、余
弦定理を利用すると、数式6〜8に示すように接続点Q
の座標およびこの角度θZ2を求めることができる(S3
03)。When such a state is reached, FIG.
As shown in the figure, the length of each bone Bn1 is L
1, the length of the bone Bn2 is L2, the length from the origin to the point Pb is L0, the angle between the bones Bn1 and Bn2 is θZ2, and using the cosine theorem, the connection points are expressed as shown in Equations 6 to 8. Q
And the angle θZ2 can be obtained (S3
03).
【0093】[0093]
【数6】 (Equation 6)
【0094】[0094]
【数7】 (Equation 7)
【0095】[0095]
【数8】 (Equation 8)
【0096】このような状態で接続点Qの座標データを
元の座標系に戻す処理を実行する。つまり、前記数式2
及び数式3で算出した角度θZ0、θY0で、かつZ軸回
り、Y軸回りの順で回転させる。これにより、数式9に
示すように、接続点Qの座標データ(JX1,JY1,J
Z1 )が求まることになる(S304)。In such a state, processing for returning the coordinate data of the connection point Q to the original coordinate system is executed. That is, Equation 2
And at angles θZ0 and θY0 calculated by Expression 3, and around the Z axis and the Y axis. As a result, as shown in Expression 9, the coordinate data (JX1, JY1, JJ1,
Z1) is obtained (S304).
【0097】[0097]
【数9】 (Equation 9)
【0098】次に、角度演算ユニット53では、X軸上
の点Pb(X1,0,0)を、Z,Yの順で回転させ
て、接続点Q(JX1 、JY1 ,JZ1 )に一致させる
角度を求める。これは、図14に示すように、接続点Q
がX軸上の点Pc(JX3,0,0 )に移動したような
状態になる。このような状態に達したところで、角度演
算ユニット53では、数式10及び数式11を用いて、
骨Bn1がY軸、Z軸に対して成す角度(θY1,θZ1)を
算出している(S305)。Next, in the angle calculation unit 53, the point Pb (X1, 0, 0) on the X axis is rotated in the order of Z and Y to match the connection point Q (JX1, JY1, JZ1). Find the angle. This is, as shown in FIG.
Has moved to a point Pc (JX3,0,0) on the X-axis. When such a state is reached, the angle calculation unit 53 uses Expressions 10 and 11 to express
The angles (θY1, θZ1) formed by the bone Bn1 with respect to the Y axis and the Z axis are calculated (S305).
【0099】[0099]
【数10】 (Equation 10)
【0100】[0100]
【数11】 [Equation 11]
【0101】そして、S305において算出した骨Bn1
の角度(θY1,θZ1)の負の値(−θY1,−θZ1)で制
御点S(x0 ,y0 ,z0 )を、Y軸回り,Z軸回りの
順で回転させることにより、数式12を使用して制御点
Sの座標データ(x2 ,y2,z2 )を算出することが
できる(S306)。Then, the bone Bn1 calculated in S305
By rotating the control point S (x0, y0, z0) in the order of the Y-axis and the Z-axis at a negative value (-θY1, -θZ1) of the angle (θY1, θZ1), the equation 12 is used. Thus, the coordinate data (x2, y2, z2) of the control point S can be calculated (S306).
【0102】[0102]
【数12】 (Equation 12)
【0103】また、上述したステップ306で求めた点
のデータを使用し、数式13に示すところにより、骨B
n1の角度θX1を算出することができる(S307;図1
5参照)。Further, using the data of the points obtained in the above-mentioned step 306, the bone B
The angle θX1 of n1 can be calculated (S307; FIG. 1)
5).
【0104】[0104]
【数13】 (Equation 13)
【0105】制御点Sの座標データ(x2 ,y2 ,z2
)に変換した際に、この座標系をX軸方向から見ると
(Y,Z平面として見ると)、前記制御点Sは、図15
に示すように、Y,Z平面に対して角度θX1だけずれた
点になる。このずれを角度θX1だけ補正することによ
り、制御点SをY,Z平面上に一致させることができ
る。この角度θX1を骨Bn1のX軸に対する角度とする。The coordinate data (x2, y2, z2) of the control point S
When this coordinate system is viewed from the X-axis direction (when viewed as a Y, Z plane), the control point S
As shown in the figure, the point is shifted by an angle θX1 with respect to the Y and Z planes. By correcting this displacement by the angle θX1, the control point S can be made coincident with the Y and Z planes. This angle θX1 is an angle of the bone Bn1 with respect to the X axis.
【0106】このようにして骨Bn1の角度を、θX1,θ
Y1,θZ1とすることができ、また、骨Bn2の角度は、π
−θZ2とすることができる。このように骨Bn1は三つの
角度を有するが、骨Bn2はZ軸の角度しか持たないこと
になる。In this way, the angle of the bone Bn1 is changed to θX1, θ
Y1, θZ1 and the angle of the bone Bn2 is π
−θZ2. Thus, while the bone Bn1 has three angles, the bone Bn2 has only the Z-axis angle.
【0107】また、骨Bn1と骨Bn2との曲がる方向が1
80°逆の場合には、前記数式7おける符号を逆にし、
かつ骨Bn1の角度θX1からπを引き(θX1−π)、骨B
n2の角度θZ2の符号を逆にすれば良い。The direction in which the bone Bn1 and the bone Bn2 bend is one.
In the case of the reverse of 80 °, the sign in Equation 7 is reversed,
Π is subtracted from the angle θX1 of the bone Bn1 (θX1−π), and the bone B
What is necessary is just to reverse the sign of the angle θZ2 of n2.
【0108】このようにして骨Bn1、Bn2の角度を求め
ることができるので、パーツUの基準点Tと制御点Sの
位置における座標データに、前記骨Bをその角度になる
ように移動して配置することにより、当該位置に骨Bn
1、Bn2が定義される。Since the angles of the bones Bn1 and Bn2 can be determined in this manner, the bone B is moved to the coordinate data at the positions of the reference point T and the control point S of the part U so as to have the angle. By arranging the bone Bn at the position
1, Bn2 is defined.
【0109】この実施形態によれば、二つの骨から定義
される二つのパーツであっても、一つの基準点と一つの
制御点によって、二つの骨の接合点における関節の複雑
な動きでも多彩でかつ簡単に表現することができる。According to this embodiment, even with two parts defined from two bones, even with the use of one reference point and one control point, even a complicated movement of a joint at a joint point between two bones can be variously performed. And can be easily expressed.
【0110】したがって、パーツUの基準点Tの座標デ
ータと、制御点Sの座標データと、ポリゴンに関するデ
ータとを記憶しておくだけでよく、例えば、パーツUの
各動きに対するX軸回り、Y軸回り、Z軸回りの全ての
回転角度までデータとして記憶しておく必要がないた
め、多量のデータを記憶させる必要がなく、しかも計算
で角度を算出するのみで角度を変更できるため角度変更
の自由度が高くなる。Therefore, it is only necessary to store the coordinate data of the reference point T of the part U, the coordinate data of the control point S, and the data relating to the polygon. Since there is no need to store data up to all rotation angles around the axis and the Z axis, there is no need to store a large amount of data, and the angle can be changed only by calculating the angle by calculation. The degree of freedom increases.
【0111】図16に示すように、例えば右腕のパーツ
U5の制御点Sの元々の座標が点AAにあり、仮に壁W
の座標データを越えていた場合には、通常、そのまま表
示すると、パーツの制御点Sの部分が壁Wに埋まってし
まうように表示されてしまう。しかしながら、CPU5
0が制御点の位置を変更する制御点位置変更・設定ユニ
ットを実現することにより、制御点Sを壁W部分の表面
位置(点BB)に簡単に変更することができ、かつこの
点(BB)に制御点Sを移動させても、この制御点Sの
データで骨Bの配置角度を簡単に計算できる。As shown in FIG. 16, for example, the original coordinates of the control point S of the part U5 of the right arm are at the point AA and the wall W
If the coordinate data exceeds the coordinate data, the part is displayed as if the control point S part of the part were buried in the wall W when displayed as it is. However, CPU5
By realizing a control point position changing / setting unit in which 0 changes the position of the control point, the control point S can be easily changed to the surface position (point BB) of the wall W, and this point (BB) ), The arrangement angle of the bone B can be easily calculated from the data of the control point S.
【0112】したがって、制御点Sの変更が容易であっ
て、パーツUの表現の自由度が増大する。CPU5は変
更された制御点の位置を制御点メモリ32に記憶する。
したがって、制御点は予めプログラムによって与えられ
るばかりでなく、キャラクターの移動表示の態様の如何
に応じて適宜設定、変更が可能となる。Therefore, the control point S can be easily changed, and the degree of freedom in expressing the part U is increased. The CPU 5 stores the changed position of the control point in the control point memory 32.
Therefore, the control points are not only given in advance by the program, but also can be appropriately set and changed according to the movement display mode of the character.
【0113】また、図17に示すように、パーツUの基
準点Tに対して、パーツUの制御点Sを、点ACから点
BCにまで移動させるように動作(物体Xを取りに行く
ような動作)の場合には、本実施形態によれば、上述し
たように、前記制御点Sを点ACから点BCにもってく
るだけで、骨Bの配置角度を計算できるため、骨Bの配
置を正確に行なうことができ、しかもパーツUの表現の
自由度が増大する。Also, as shown in FIG. 17, an operation is performed to move the control point S of the part U from the point AC to the point BC with respect to the reference point T of the part U. In this case, according to the present embodiment, as described above, the arrangement angle of the bone B can be calculated only by bringing the control point S from the point AC to the point BC. Can be performed accurately, and the degree of freedom in expressing the part U increases.
【0114】以上のように、結果的に各パーツUからな
るキャラクター全体の3次元図形を絶対座標系に表示す
ることができる。そして、このようにして得た各パーツ
Uの絶対座標系のデータを記憶しているマトリクスMD
内から前記画像出力制御ユニット54(図5参照)はデ
ータを取り出し、このデータを基にキャラクターCを定
義するための画像信号を形成する。As described above, as a result, the three-dimensional figure of the entire character composed of the parts U can be displayed in the absolute coordinate system. A matrix MD storing the data of the absolute coordinate system of each part U obtained in this way.
The image output control unit 54 (see FIG. 5) extracts data from the inside, and forms an image signal for defining the character C based on the data.
【0115】そして、画像出力制御回路55は、この画
像信号とメモリ3内に設定記憶された他の画像データ
(例えば、背景画像)とを含めた画像信号Vdを形成
し、表示装置制御信号とともにこれら信号をディスプレ
イ2に出力する。これによって、選択されたモーション
のうち第1番目の態様のキャラクターの全体像が表示さ
れる。The image output control circuit 55 forms an image signal Vd including this image signal and other image data (for example, a background image) set and stored in the memory 3, and together with the display device control signal. These signals are output to the display 2. Thereby, the whole image of the character in the first mode among the selected motions is displayed.
【0116】この後、選択されたモーションのうちの第
2番目の態様における腰部パーツU1のデータに基づい
て、前記処理を繰り返すことにより第2番目の態様のキ
ャラクターの全体像(図3の(b))が表示される。こ
れを順次繰り返すと選択されたモーションの一連の動作
を構成する全ての場面(瞬間)のキャラクターの態様を
表示することができる(図3参照)。そして、最後のキ
ャラクターの態様(図3の(m))について処理が終了
した時点で、選択されたモーションの表示を終了する。Thereafter, based on the data of the waist part U1 in the second mode of the selected motion, the above-described processing is repeated to obtain the entire image of the character in the second mode ((b) in FIG. 3). )) Is displayed. By repeating this sequentially, it is possible to display the character form in all scenes (moments) constituting a series of motions of the selected motion (see FIG. 3). Then, when the processing for the last character mode ((m) in FIG. 3) ends, the display of the selected motion ends.
【0117】したがって、このような処理を続けること
により、キャラクターCは時刻t1のときに例えば図3
(a)に示すような形状で表示され、時刻t2 のときに
例えば図3(b)に示すような形状で表示され、・・・
時刻t13のときに例えば図7(m)に示すような形状で
表示されることになり、キャラクターCはディスプレイ
2上において連続して動作しているように見える。Therefore, by continuing such processing, the character C is set at time t1 as shown in FIG.
(A), at time t2, for example, as shown in FIG. 3 (b),...
At time t13, the character C is displayed in a shape as shown in FIG. 7M, for example, and the character C appears to be operating continuously on the display 2.
【0118】なお、図6に示す処理の過程で、図4に示
す補助メモリ35が順次参照されて、各パーツに対して
定義されるポリゴンについて所定の色彩E、材質F等を
特定する記憶データが読み出されて、これら所定の色彩
や材質感を表現できるように構成されている。In the course of the processing shown in FIG. 6, the auxiliary memory 35 shown in FIG. 4 is sequentially referred to and stored data for specifying a predetermined color E, material F, etc. for the polygon defined for each part. Are read out to express these predetermined colors and textures.
【0119】〔第1実施形態の利点等〕以上のように本
実施形態では、キャラクターCを例えば7個のパーツU
1〜U7に分割し、各パーツについて例えば腰部のパー
ツU1を基本パーツとして定め、これを操作指令及びモ
ーションデータ31からモーション選択ユニット511
より基本パーツU1のモーション位置等を決定して基本
パーツの基準点を表示空間の三次元座標系(ワールド座
標系)に置いた。そして、この基本パーツU1を基準と
して制御点メモリ32、基準点メモリ33及び骨データ
メモリ34の各データを参照して、各骨Bの絶対座標系
における配置を計算で求め、これから絶対座標系におけ
るキャラクターCを構築できるのである。[Advantages of the First Embodiment, etc.] As described above, in this embodiment, the character C is replaced with, for example, seven parts U
1 to U7, and for each part, for example, a waist part U1 is determined as a basic part, which is determined from an operation command and motion data 31 by a motion selection unit 511.
The motion position and the like of the basic part U1 are determined, and the reference point of the basic part is set in the three-dimensional coordinate system (world coordinate system) of the display space. The arrangement of each bone B in the absolute coordinate system is obtained by calculation with reference to the data of the control point memory 32, the reference point memory 33, and the bone data memory 34 based on the basic part U1. Character C can be constructed.
【0120】したがって、キャラクターCを形成するパ
ーツUの制御点Sのデータを決めることにより、各骨B
のポリゴンの絶対座標系における配置を計算により簡単
に算出することができるから、パーツUの表現の自由度
が増大し、ディスプレイ2の画面表示上でキャラクター
に対する必要な表示状態を容易に得ることができる。Therefore, by determining the data of the control point S of the part U forming the character C, each bone B
Since the arrangement of the polygons in the absolute coordinate system can be easily calculated by calculation, the degree of freedom in expressing the part U is increased, and the necessary display state for the character on the screen display of the display 2 can be easily obtained. it can.
【0121】また、ディスプレイ2の画面表示上で好ま
しくない表示状態の場合には、制御点Sの座標を好まし
い位置に移動させるだけで、骨Bの絶対座標上での配置
を簡単に計算で出せるから、上述同様に、パーツUの表
現の自由度が増大し、かつ必要なデータ量が少なくて済
む。In the case of an unfavorable display state on the screen of the display 2, the arrangement of the bone B on the absolute coordinates can be easily calculated simply by moving the coordinates of the control point S to a preferable position. Therefore, as described above, the degree of freedom in expressing the part U is increased, and the required data amount can be reduced.
【0122】また、モーションデータ用メモリ31は、
腰部のパーツのモーションデータを備えることにより、
画像表示のための処理時間を短縮しながら、キャラクタ
ーを移動表示することができる。また、制御点メモリ3
2は、各モーションに対するパーツUの制御点Sのデー
タを記憶しており、かつその制御点Sの変更が容易にな
っている。Further, the motion data memory 31
By having motion data of the waist parts,
The character can be moved and displayed while reducing the processing time for displaying the image. The control point memory 3
Reference numeral 2 stores data of the control point S of the part U for each motion, and the control point S can be easily changed.
【0123】前記メモリは複数のモーションデータを備
え、操作盤からの操作指令を基に所定のモーションデー
タを選択できることから、複数のモーションによってキ
ャラクターの移動表示が可能となり、キャラクターの移
動表示の多様化がさらに図れることになる。Since the memory is provided with a plurality of motion data and a predetermined motion data can be selected based on an operation command from the operation panel, the movement display of the character can be performed by the plurality of motions, thereby diversifying the movement display of the character. Can be further improved.
【0124】なお、前記実施形態では、パーツUの制御
点Sを絶対座標で与えてきたが、基準点Tに対する相対
座標でもよく、また、特定の基端部(例えば腰部のパー
ツUの基準点T1)からの相対座標であってもよい。In the above embodiment, the control point S of the part U is given in absolute coordinates. However, it may be a relative coordinate with respect to the reference point T, or a specific base end (for example, the reference point of the waist part U). The coordinates may be relative to T1).
【0125】なお、本実施形態では、複数のパーツの集
合体からなるキャラクターに基づいて闘士の形状を構成
するための複数のポリゴンをモデリング変換したが、骨
の集合自体を闘士の形状であるとして、ポリゴンを配置
するようにしても良い。後者の場合は、骨自体が闘士の
形状であるとして、骨を構成する複数のポリゴンが定義
される。In the present embodiment, a plurality of polygons for constructing the shape of a warrior are model-converted based on a character composed of a set of a plurality of parts. However, the set of bones is assumed to be the shape of the warrior. Alternatively, polygons may be arranged. In the latter case, a plurality of polygons constituting the bone are defined assuming that the bone itself has the shape of a warrior.
【0126】<第2の実施形態>次に、本発明に係る画
像処理装置の第2の実施形態について説明する。上述し
た第1の実施形態は各パーツの角度を求めてからモーシ
ョンに応じたマトリクスを求めるようにしたものである
のに対して、この第2の実施形態は、モーションに応じ
た各パーツのマトリクスを直接求めるようにしたもので
ある。以下、第2の実施形態について図18以降の図を
参照して説明する。<Second Embodiment> Next, an image processing apparatus according to a second embodiment of the present invention will be described. The first embodiment described above obtains the matrix corresponding to the motion after calculating the angle of each part, whereas the second embodiment determines the matrix of each part according to the motion. Is directly obtained. Hereinafter, the second embodiment will be described with reference to FIGS.
【0127】図18は、本発明に係る画像処理装置の第
2の実施形態を示す機能ブロック図である。図18にお
いて、CPU50は、メモリ3内の所定動作プログラム
を実行することにより、操作盤4からの操作指令SSを
読み込み、その操作指令を基にメモリ3のモーションデ
ータ用メモリ31からキャラクターCの複数のモーショ
ンのうちから所定のモーションを選択し、具体的には、
選択されたモーション中のパーツU1の基準点に関する
データ群(座標データ等)を選択する、モーション選択
ユニット51を実現するものである。これについては、
第1の実施形態と同様である。FIG. 18 is a functional block diagram showing a second embodiment of the image processing apparatus according to the present invention. In FIG. 18, the CPU 50 reads an operation command SS from the operation panel 4 by executing a predetermined operation program in the memory 3, and reads a plurality of characters C from the motion data memory 31 of the memory 3 based on the operation command. Select a predetermined motion from among the motions of
This realizes a motion selection unit 51 that selects a data group (coordinate data and the like) relating to the reference point of the part U1 in the selected motion. For this,
This is the same as in the first embodiment.
【0128】このモーション選択ユニット51の出力
は、マトリクス演算ユニット52aに与えられるように
なっている。マトリクス演算ユニット52aは、この選
択されたモーション中の所定タイミング(図3の(a)
〜(m)のいずれか)におけるパーツU1〜U7毎の基
準点、各パーツU1〜U7の制御点のマトリクスMtを
メモリ32,33から読み出し、これらのデータに基づ
いて、ディスプレイの表示座標系にパーツを移動表示す
るためのマトリクスML を決定するようになっている。
また、マトリクス演算ユニット52aは、このマトリク
スML を表示用マトリクス(MD)内に記憶させるとと
もに、スタックマトリクス(STM)に記憶させるよう
になっている。また、マトリクス演算ユニット52a
は、所定のモーション中の一態様における骨(B)のマ
トリクスMを連続的に演算できるようになっている。The output of the motion selection unit 51 is provided to a matrix operation unit 52a. The matrix operation unit 52a determines a predetermined timing (FIG. 3A) during the selected motion.
To (m)), the matrix Mt of the control points of the parts U1 to U7 and the control points of the parts U1 to U7 are read out from the memories 32 and 33, and based on these data, the display coordinate system is displayed on the display. A matrix ML for moving and displaying the parts is determined.
The matrix operation unit 52a stores the matrix ML in the display matrix (MD) and also in the stack matrix (STM). Also, the matrix operation unit 52a
Can continuously calculate the matrix M of the bone (B) in one mode during a predetermined motion.
【0129】画像出力制御ユニット54は、マトリクス
演算ユニット52aで得られたマトリクスとから、各パ
ーツの移動表示処理、ひいては各部品の集合体からなる
キャラクターの移動表示処理を実行する。すなわち、こ
の画像出力制御ユニット54は、マトリクスメモリMD
の内容をCRTに順次表示するための処理を実行するも
のであり、データメモリ34から該当する部品パーツの
ポリゴンデータを取り出して、基準点から演算された角
度をもってパーツを配置する処理を実行する。The image output control unit 54 executes the movement display processing of each part and the movement display processing of a character composed of an assembly of each part from the matrix obtained by the matrix operation unit 52a. That is, this image output control unit 54 is
Is performed to sequentially display the contents of the CRT on the CRT. The polygon data of the corresponding part part is extracted from the data memory 34, and the processing of arranging the part at an angle calculated from the reference point is executed.
【0130】また、データ処理装置5には、さらに画像
出力制御回路55が設けられている。この画像出力制御
回路55は、CPU50の画像出力制御ユニット54か
らのキャラクターと、CPU50からの画像信号とメモ
リ3に記憶させてある画像データとを基に表示信号Vd
を形成して、ディスプレイ2に与えるように構成されて
いる。Further, the data processing device 5 is further provided with an image output control circuit 55. The image output control circuit 55 generates a display signal Vd based on a character from the image output control unit 54 of the CPU 50, an image signal from the CPU 50, and image data stored in the memory 3.
To be provided to the display 2.
【0131】<キャラクター作成動作>図19は、各パ
ーツのマトリクスを順次演算するためのフローチャート
である。この画像処理装置1に対して必要な操作をして
動作させると、データ処理装置5がメモリ3内の動作プ
ログラムにしたがって動作を開始し、CPU50が各ユ
ニット51、52、53a、54を実現する。<Character Creation Operation> FIG. 19 is a flowchart for sequentially calculating the matrix of each part. When necessary operations are performed on the image processing apparatus 1, the data processing apparatus 5 starts operating according to the operation program in the memory 3, and the CPU 50 realizes the units 51, 52, 53a, and 54. .
【0132】そして、操作盤4を操作することにより操
作指令がデータ処理装置5に与えられると、CPU50
で実現されたモーション選択ユニット51は、操作指令
を基に、メモリ3内のモーションデータ用メモリ31の
中の所定のモーションデータ中から特定のモーションデ
ータを選択する(ステップ401)。When an operation command is given to the data processing device 5 by operating the operation panel 4, the CPU 50
The motion selection unit 51 realized in step (1) selects specific motion data from predetermined motion data in the motion data memory 31 in the memory 3 based on the operation command (step 401).
【0133】次いで、選択されたモーションデータを基
にマトリクス演算ユニット52aが、パーツU1の一連
の移動のうち第1番目の態様(図3の(a))に対応し
た、制御点S1及び基準点T1のデータを持つマトリク
スMt1 を取り出して、表示上の基準位置を決定すると
ともに、このような制御点S1の座標データと基準点T
1の座標データを持つマトリクスMt1 を基に骨B1の
基準位置におけるマトリクスML1を演算して決定する
(S403)。このようにして得られたマトリクスML1
は、メモリ3内の表示用マトリクスMDに記憶されると
ともに、スタックマトリクス(STM)に記憶させる
(S403)。Next, based on the selected motion data, the matrix operation unit 52a executes the control point S1 and the reference point corresponding to the first mode (FIG. 3A) of the series of movements of the part U1. Remove the matrix Mt 1 with T1 data, and determines a reference position on the display, the coordinate data and the reference point T of the control points S1
The matrix M L1 at the reference position of the bone B1 is calculated and determined based on the matrix Mt 1 having the coordinate data of 1 (S403). The matrix M L1 thus obtained
Are stored in the display matrix MD in the memory 3 and in the stack matrix (STM) (S403).
【0134】したがって、以下の説明では、各パーツの
データが演算された後、順次、表示用マトリクスMDに
記憶されるとともに、STMにも退避させているので、
その都度言及せずに単に表示用マトリクスMDに記憶さ
せると表現するに止める。Therefore, in the following description, after the data of each part is calculated, it is sequentially stored in the display matrix MD and is also saved in the STM.
It will be merely described that the information is simply stored in the display matrix MD without mentioning each time.
【0135】そして、マトリクス演算ユニット52a
は、STMを読み出しSTM内の腰部のパーツU1の基
準点座標データを取り出し(S404)、しかも、この
腰部のパーツU1に連結される胸部のパーツU2の基準
点T2のT1に対する座標データから、胸部パーツU2
のマトリクスML を演算する(S405)。すなわち、
パーツU1の基準点T1とパーツU2の基準点T2との
絶対座標系における座標位置が決定されたことになる。
これらの各パーツU1,U2のマトリクスML は、メモ
リ3のRAM内の表示用マトリクスMDに記憶される
(S406)。以後、同様の処理が、各パーツについて
実行される(S407〜S421)。The matrix operation unit 52a
Reads the STM, extracts the reference point coordinate data of the waist part U1 in the STM (S404), and obtains the chest part from the coordinate data of the reference point T2 of the chest part U2 connected to the waist part U1 with respect to T1. Part U2
Is calculated (S405). That is,
The coordinate positions of the reference point T1 of the part U1 and the reference point T2 of the part U2 in the absolute coordinate system are determined.
Matrix M L for each of these parts U1, U2 is stored in the display matrix MD in the memory 3 RAM (S406). Thereafter, the same processing is executed for each part (S407 to S421).
【0136】以上のようにS401〜S415の処理に
よってキャラクターの上半身の画像を表示するために、
各パーツ毎の基準点の座標、制御点の座標のマトリクス
Mtから骨Bを表示するためのマトリクスML が演算さ
れ、かつS416〜S421の処理によってキャラクタ
ーの下半身を表示するための同様なデータが演算された
ことになる。As described above, in order to display the image of the upper body of the character by the processing of S401 to S415,
Coordinates of the reference points of each part, the matrix ML for displaying bone B from the matrix M t of the control point coordinates are calculated, and similar data for displaying the lower body of a character by processing of S416~S421 is It is calculated.
【0137】したがって、これら一連の処理が終了する
と所定のモーションの第1番目の態様(図3の(a))
の全パーツのマトリクスML が演算され、同時にこの全
データが表示用マトリクスMD内に設定記憶されたこと
になる。そして、この表示用マトリクスの内容を画像出
力制御ユニット(配置ユニット)54によりディスプレ
イ2に再生することにより、図3の(a)の態様が画面
として表示されることになる。Therefore, when these series of processes are completed, the first mode of the predetermined motion ((a) of FIG. 3)
Is calculated, and all the data are set and stored in the display matrix MD at the same time. Then, by reproducing the contents of this display matrix on the display 2 by the image output control unit (arrangement unit) 54, the mode of FIG. 3A is displayed as a screen.
【0138】<パーツを配置するためのマトリクスML
の算出動作>図19におけるポリゴン(骨B)のマトリ
クスML の算出(S402、S405、S408、S4
11、S414、S417、S420)の動作につい
て、一つの骨Bからなるパーツ(腰、胸、頭)の場合
と、二つの骨Bから構成されるパーツ(右腕、左腕、右
脚、左脚)の場合とに分けて説明する。<Matrix M L for arranging parts
Operation of Calculation> Calculation of Matrix ML of Polygon (Bone B) in FIG. 19 (S402, S405, S408, S4
11, S414, S417, and S420) for the operation of a part (hip, chest, head) composed of one bone B and the part composed of two bones B (right arm, left arm, right leg, left leg) The description will be made separately for the case.
【0139】〔一つの骨の場合〕図20〜図23は、一
つの骨Bからなるパーツを配置するためのマトリクスM
を決定するための説明図である。図20は、このマトリ
クスMを求めるためのフローチャートである。図21
は、基準点Tと制御点Sとが相対座標系に存在する場合
の説明図である。図22は、図21をZ軸方向からみた
図である。図23は、図21のXY平面をθZ だけ傾け
た平面をY軸方向から見た図である。[Case of One Bone] FIGS. 20 to 23 show a matrix M for arranging parts consisting of one bone B.
FIG. 4 is an explanatory diagram for determining the value. FIG. 20 is a flowchart for obtaining the matrix M. FIG.
FIG. 4 is an explanatory diagram when a reference point T and a control point S exist in a relative coordinate system. FIG. 22 is a diagram of FIG. 21 viewed from the Z-axis direction. FIG. 23 is a diagram in which a plane obtained by inclining the XY plane of FIG. 21 by θZ is viewed from the Y-axis direction.
【0140】第2の実施形態は、ーX,−Y,−Zの順
序で回転させたマトリクスMがZ,Y,Xの順序で回転
させたマトリクスの転置行列になることを利用してい
る。すなわち、あるマトリクスにRx,Ry,Rzの各
成分を持つ回転マトリクスを乗じて回転させるに際し、
X軸を中心に負方向に回転させ、次にY軸を中心に正方
向に回転させ、次いでZ軸を中心に正方向に回転させた
マトリクスMが、Z軸を中心に正方向に回転させ、次に
Y軸を中心に正方向に回転させ、次にX軸方向に回転さ
せたマトリクスの転置行列になるという点を利用してパ
ーツの相対座標を求め、これによりz軸及びy軸に対す
る角度を求め、これら角度で行列計算をすることによ
り、絶対座標上に配置するパーツのマトリクスMを求め
るようにしている。The second embodiment utilizes the fact that a matrix M rotated in the order of -X, -Y, -Z becomes a transposed matrix of a matrix rotated in the order of Z, Y, X. . That is, when a certain matrix is rotated by multiplying by a rotation matrix having components of Rx, Ry, and Rz,
A matrix M rotated in the negative direction about the X axis, then in the positive direction about the Y axis, and then rotated in the positive direction about the Z axis is rotated in the positive direction about the Z axis. Then, the relative coordinates of the parts are obtained by using the point that the matrix is rotated in the positive direction about the Y axis and then the matrix rotated in the X axis direction is used. The angles are obtained, and a matrix calculation is performed using these angles, thereby obtaining a matrix M of the parts arranged on the absolute coordinates.
【0141】図9に示すように所定のパーツUは、基準
点Tの絶対座標(x0,y0,z0)及び制御点Sの絶対
座標(x1,y1,z1)のマトリクスMsで表される。
また、基準点Tの絶対座標(x0,y0,z0)は、一般
には、x,y,z直交座標系の原点にはない。As shown in FIG. 9, the predetermined part U is represented by a matrix Ms of the absolute coordinates (x0, y0, z0) of the reference point T and the absolute coordinates (x1, y1, z1) of the control point S.
In addition, the absolute coordinates (x0, y0, z0) of the reference point T are generally not at the origin of the x, y, z orthogonal coordinate system.
【0142】そこで、パーツUの相対座標を求める(ス
テップ501)。この相対座標は、次の点に着目して得
るものである。あるマトリクスMを座標移動(T)した
ものと座標回転(R)したものの合成である行列M-1・
M(=E)は、数式14に示すように、Then, the relative coordinates of the part U are obtained (step 501). The relative coordinates are obtained by focusing on the following points. A matrix M -1 · which is a combination of a certain matrix M subjected to coordinate movement (T) and coordinate rotation (R).
M (= E) is, as shown in Expression 14,
【0143】[0143]
【数14】 M-1・M=(T-1・Rz -1・Ry -1・Rx -1)・(Rx・Ry・Rz・T) =E となる。すなわち、マトリクスMを逆行列で移動Tし、
かつz,y,xの逆行列で回転(R)させたもの{M-1
=(T-1・Rz -1・Ry -1・Rx -1)(逆行列)}と、
x,y,zで回転(R)させ、かつマトリクスMを移動
Tしたもの{M=(Rx・Ry・Rz・T)}とを合成し
てできる行列Eは、次のような性質を持つことが分か
る。M −1 · M = (T −1 · R z −1 · R y −1 · R x −1 ) · (Rx · Ry · Rz · T) = E That is, the matrix M is moved T by an inverse matrix,
And rotated (R) by the inverse matrix of z, y, x {M -1
= (T -1 · R z -1 · R y -1 · R x -1 ) (inverse matrix)}
x, y, rotating in z (R) is, and the matrix M that move T {M = (R x · R y · R z · T)} and the matrix E, which can be synthesized, such as: You can see that it has properties.
【0144】すなわち、回転(R)の逆行列は、角度の
符号を反転したもので取り扱うことができる。また、移
動(T)の逆行列は、座標の符号を反転したもので取り
扱うことができる。That is, the inverse matrix of the rotation (R) can be handled by reversing the sign of the angle. In addition, the inverse matrix of the movement (T) can be handled by reversing the sign of the coordinates.
【0145】そして、z,y,xの順序で回転したマト
リクスの角度成分(3×3)は、 Cx= cosθx ,Sx= sinθx 、Cy= cosθy ,S
y= sinθy 、Cz= cosθz ,Sz= sinθz とする
と、The angular components (3 × 3) of the matrix rotated in the order of z, y, x are as follows: Cx = cos θ x , Sx = sin θ x , Cy = cos θ y , S
If y = sin θ y , Cz = cos θ z , Sz = sin θ z ,
【0146】[0146]
【数15】 (Equation 15)
【0147】となる。一方、−x,−y,−zの順序で
回転させたマトリクスMは、上記と同様に、Is obtained. On the other hand, the matrix M rotated in the order of -x, -y, -z,
【0148】[0148]
【数16】 (Equation 16)
【0149】となる。数式15及び数式16より、Is as follows. From Equations 15 and 16,
【0150】[0150]
【数17】r00=m00,r01=m10,r02=m20 r10=m01,r11=m11,r12=m21 r20=m02,r21=m12,r22=m22 となる。これは、Rz -1・Ry -1・Rx -1= t(Rx,
Ry,Rz)となることを表している。つまり、−x,−
y,−zの順序でマトリクスMを回転させたものは、
z,y,xの順序でマトリクスMを回転させたものの転
置行列になることを意味している。R00 = m00, r01 = m10, r02 = m20 r10 = m01, r11 = m11, r12 = m21 r20 = m02, r21 = m12, r22 = m22 This is because R z -1 R y -1 R x -1 = t (R x ,
R y , R z ). That is, -x,-
When the matrix M is rotated in the order of y, -z,
This means that the matrix M is rotated in the order of z, y, x, and becomes a transposed matrix.
【0151】ゆえに、制御点Sの絶対座標G(gx,g
y,gz)を制御点Sの相対座標L(x0 ,y0 ,z0
)にするためには、カレントマトリックス(基準点T
に相当)を数式18のようにする必要がある。Therefore, the absolute coordinates G (gx, g
y, gz) to the relative coordinates L (x0, y0, z0) of the control point S.
), The current matrix (reference point T
) Must be made as in Expression 18.
【0152】[0152]
【数18】 (Equation 18)
【0153】このようなカレントマトリックスとなって
いるときに、移動成分(m30,m31,m32)を絶対座標
(gx,gy,gz)から引くと、すなわち、x=gx
−m30,y=gy−m31,z=gz−m32と置くことに
より、カレントマトリクス(基準点T)を原点に仮定す
ることができる。これにより、基準点Tは、図20に示
すように、原点におくことができる。When the moving component (m30, m31, m32) is subtracted from the absolute coordinates (gx, gy, gz) in such a current matrix, that is, x = gx
By setting −m30, y = gy−m31, and z = gz−m32, the current matrix (reference point T) can be assumed as the origin. Thereby, the reference point T can be set at the origin as shown in FIG.
【0154】このような状態に置かれているとして、制
御点Sの相対座標L(x0 ,y0 ,z0 )を求める。こ
の制御点Sの相対座標L(x0 ,y0 ,z0 )は、数式
18を基に、Assuming that the control point S is in such a state, the relative coordinates L (x 0 , y 0 , z 0 ) of the control point S are obtained. The relative coordinates L (x 0 , y 0 , z 0 ) of the control point S are calculated based on Expression 18 as follows:
【0155】[0155]
【数19】x0 =m00・x+m01・y+m02・z y0 =m10・x+m11・y+m12・z z0 =m20・x+m21・y+m22・z のように得ることができる。Equation 19 can be obtained as x 0 = m00 · x + m01 · y + m02 · z y 0 = m10 · x + m11 · y + m12 · z z 0 = m20 · x + m21 · y + m22 · z.
【0156】この第2の実施形態における上記計算は、
通常の座標移動の計算量とほぼ同じである。一方、前記
第1の実施形態のように逆行列を求めてから相対座標を
求める計算であると、逆行列を求めるために座標移動の
計算量の約6倍程度かかり、さらに座標移動の計算が必
要となることから、最終的に座標移動の計算量の約7倍
必要であった。しかしながら、上述したようにこの第2
の実施形態では、第1の実施形態の計算量の約7分の1
に短縮することができる。The calculation in the second embodiment is as follows.
This is almost the same as the amount of calculation for ordinary coordinate movement. On the other hand, if the calculation is to obtain the relative coordinates after obtaining the inverse matrix as in the first embodiment, it takes about six times the calculation amount of the coordinate movement to obtain the inverse matrix, and furthermore, the calculation of the coordinate movement requires Because of the necessity, about seven times the calculation amount of the coordinate movement was finally required. However, as described above, this second
In the embodiment, the calculation amount is about 1/7 of the calculation amount of the first embodiment.
Can be shortened.
【0157】このようにして相対座標が算出されると、
sin θz,cosθz,sinθy ,cosθyを簡単に求めること
ができることになる。そこで、マトリクス演算ユニット
52aは、まず、数式20から sinθz,cosθzを算出
する(ステップ502)。これは、図21のものをz軸
方向から見ると、図22に示すように、斜辺が(x0 2+
y0 2)1/2となり、かつx軸の長さがx0 、y軸の長さ
がy0 となるので、sinθz ,cosθz を簡単に算出する
ことができる。When the relative coordinates are calculated in this way,
sin θ z , cos θ z , sin θ y , and cos θ y can be easily obtained. Therefore, matrix calculation unit 52a first calculates a sin [theta z, cos [theta] z from Equation 20 (step 502). This is because, when the thing in FIG. 21 is viewed from the z-axis direction, as shown in FIG. 22, the hypotenuse is (x 0 2 +
y 0 2 ) 1/2 , the length of the x-axis is x 0 , and the length of the y-axis is y 0 , so that sin θ z and cos θ z can be easily calculated.
【0158】[0158]
【数20】 (Equation 20)
【0159】また、同様に、マトリクス演算ユニット5
2aは、数式21から sinθy ,cosθy を算出する
(ステップ502)。これは、図20においてxz平面
をθzだけ傾けた平面をy軸方向から見た場合には、図
22に示すようになり、斜辺が(x0 2+y0 2+z0 2)
1/2 、z軸がz0 、z軸に直交する軸が(x0 2+y0 2)
1/2となるので、sinθy,cosθyは、数式21のように
簡単に求めることができる。Similarly, the matrix operation unit 5
2a is calculated from the equation 21 sin [theta y, the cos [theta] y (step 502). When a plane obtained by inclining the xz plane by θ z in FIG. 20 is viewed from the y-axis direction, the result is as shown in FIG. 22, where the hypotenuse is (x 0 2 + y 0 2 + z 0 2 )
1/2 , the z axis is z 0 , and the axis orthogonal to the z axis is (x 0 2 + y 0 2 )
Since it is 1/2 , sin θ y and cos θ y can be easily obtained as in Expression 21.
【0160】[0160]
【数21】 (Equation 21)
【0161】このようにして求めたsin θz ,cosθz,
sinθy,cosθy を使用して、マトリクス演算ユニット
52aは、数式22により、基準点のマトリクスMcを
Z,Y回転させる(ステップ503)。これにより、制
御点SのマトリクスMsは、The sin θ z , cos θ z ,
Using sin θ y and cos θ y , the matrix operation unit 52a rotates the matrix Mc of the reference point by Z and Y using Expression 22 (step 503). Thereby, the matrix Ms of the control points S is
【0162】[0162]
【数22】 (Equation 22)
【0163】で求められる。Is obtained.
【0164】制御点SのマトリクスMsは、通常は、角
度θを与えて回転させるが、結局は、sinθ,cosθを求
めてから計算しているので、直接 sinθ,cosθを与え
て回転させた方がよいからである。Normally, the matrix Ms of the control points S is rotated by giving an angle θ. However, since the matrix Ms is calculated after obtaining sin θ and cos θ, it is preferable that the matrix Ms be rotated by directly giving sin θ and cos θ. Is good.
【0165】したがって、基準点のマトリクスMcを
z,y回転させたものは、数式22のように、制御点S
のマトリクスMsとなる。このようにして求めたマトリ
クスは、骨のマトリクスMとしてよい。Therefore, the matrix Mc of the reference points rotated by z and y is represented by the control point S
Of the matrix Ms. The matrix thus obtained may be a bone matrix M.
【0166】ここで別な見方をしてみると、Mtを基準
点マトリクス、Msを制御点マトリクス、Mbを骨Bの
マトリクス、Rzをz軸回転、Ryをy軸回転、Tを座
標移動(トランス)、及びLを骨Bの長さとすると、骨
BのマトリクスMbと、基準点TのマトリクスMtと、
制御点のマトリクスMsとの間には、次の数式23に示
すようになる。From another point of view, Mt is a reference point matrix, Ms is a control point matrix, Mb is a bone B matrix, Rz is a z-axis rotation, Ry is a y-axis rotation, and T is a coordinate movement ( Trans) and L are the length of the bone B, the matrix Mb of the bone B, the matrix Mt of the reference point T,
The following equation 23 shows the relationship between the control point matrix Ms.
【0167】[0167]
【数23】Mb=Ry・Rz・Mt Ms=T・Mb=(L,0,0,1)・Mb これは、骨Bがx軸方向に延びていることから、骨の長
さLだけ移動したものが制御点SのマトリクスMsとな
る。Mb = Ry · Rz · Mt Ms = T · Mb = (L, 0,0,1) · Mb Since the bone B extends in the x-axis direction, this is equivalent to the length L of the bone. The moved one becomes the matrix Ms of the control points S.
【0168】ここで、基準点TのマトリクスMtは、数
式24に示すように、Here, the matrix Mt of the reference points T is expressed by the following equation (24).
【0169】[0169]
【数24】 (Equation 24)
【0170】となっている。したがって、骨Bの制御点
SのマトリクスMsは、Is set. Therefore, the matrix Ms of the control points S of the bone B is
【0171】[0171]
【数25】Ms=T・Mb=T・Ry・Rz・Mt となる。Ms = T · Mb = T · Ry · Rz · Mt
【0172】ここで、制御点Sの座標を(xS ,yS ,
zS )とすると、基準点TのマトリクスMtを移動させ
て回転させる場合に、Here, the coordinates of the control point S are represented by (x S , y S ,
z S ), when the matrix Mt of the reference point T is moved and rotated,
【0173】[0173]
【数26】 (Equation 26)
【0174】として与えられることになる。このように
本実施形態では、骨が一つの場合には、基準点Tに対す
る制御点Sの相対座標を求めることにより、sinθz,co
sθz、sinθy,cosθyを求め、しかも、これら sin、co
sの値を用いて基準点Tの制御点Sの座標を求めること
により、骨BのマトリクスMを算出することにしてい
る。Will be given as As described above, in the present embodiment, when there is one bone, by obtaining the relative coordinates of the control point S with respect to the reference point T, sinθ z , co
sθ z , sin θ y , and cos θ y are obtained.
The matrix M of the bone B is calculated by calculating the coordinates of the control point S of the reference point T using the value of s.
【0175】〔二つの骨の場合〕図24は、二つの骨か
らなるパーツを表示するためのフローチャートである。
図25は、二つの骨Bn1、Bn2(図2に示すように、こ
こで、nは4,5,6,7である。)を有するパーツU
の基準点Tを直交座標系の原点(0,0,0)に配置し
た状態の図である。[Case of Two Bone] FIG. 24 is a flowchart for displaying a part composed of two bones.
FIG. 25 shows a part U having two bones Bn1 and Bn2 (where n is 4, 5, 6, 7 as shown in FIG. 2).
FIG. 5 is a diagram showing a state in which a reference point T is arranged at the origin (0, 0, 0) of a rectangular coordinate system.
【0176】マトリクス演算ユニット52aは、まず、
相対座標を求める(ステップ601)。この相対座標の
算出の方法は、前記図9、図21〜図23に示す骨一つ
の場合の算出方法と全く同一である。このようにして制
御点Sの相対座標を求めると、パーツUの基準点Tは、
直交座標系の原点(0,0,0)に配置した状態になる
(図25参照)。The matrix operation unit 52a firstly
Relative coordinates are obtained (step 601). The method of calculating the relative coordinates is exactly the same as the method of calculating one relative bone shown in FIGS. 9 and 21 to 23. When the relative coordinates of the control point S are obtained in this way, the reference point T of the part U is
It will be in a state of being arranged at the origin (0, 0, 0) of the rectangular coordinate system (see FIG. 25).
【0177】図25において、骨Bn1の長さをL1 、骨
Bn2の長さをL0 、基準点Tと制御点Sの長さをL1 と
し、制御点Sの座標を仮にL(x0 ,y0 ,z0 )とす
ると、L1 =(x0 2+y02+z0 2)1/2となる。[0177] In FIG. 25, the length of the bone Bn1 L1, L0 the length of the bone Bn2, as a reference point T the length of the control points S and L1, if L (x 0, y coordinates of the control points S 0, z 0) to become L1 = (x 0 2 + y 02 + z 0 2) 1/2.
【0178】そこで、L1 について、sinθz ,cosθ
z ,sinθy ,cosθy を算出する(ステップ602)。
これは、前述した骨一つの場合の計算方法と全く同様に
行えばよく、マトリクス演算ユニット52aは、sin θ
z ,cosθz については数式20を利用し、 sinθy ,c
osθy については数式21を利用して、それぞれ算出す
る。Then, for L 1, sin θ z , cos θ
z , sin θ y , and cos θ y are calculated (step 602).
This may be performed in exactly the same manner as the calculation method for a single bone described above, and the matrix operation unit 52a
Equation 20 is used for z and cos θ z , and sin θ y and c
osθ y is calculated using Equation 21.
【0179】マトリクス演算ユニット52aは、上述し
たようにして得られたsinθz,cosθz,sinθy,cosθy
を使用し、行列計算を行うと長さL1 のマトリクスM
(すなわち制御点SのマトリクスMs)を得ることがで
きる。[0179] matrix operation unit 52a is, sin [theta z obtained as described above, cosθ z, sinθ y, cosθ y
And a matrix calculation is performed to obtain a matrix M of length L1.
(That is, the matrix Ms of the control points S) can be obtained.
【0180】次に、骨Bn2のマトリクスMb2は、制御点
SのマトリクスMsをz軸の上でθz2だけ回転させたも
のに相当する。したがって、次に骨Bn2のマトリクスを
算出することにする。[0180] Then, the matrix M b2 bone Bn2 is equivalent to a matrix Ms of the control point S is rotated by theta z2 on the z-axis. Therefore, the matrix of the bone Bn2 is calculated next.
【0181】図25において、θz2は線分L1 と線分L
0 とがなす角度であり、θz1は骨Bn1と骨Bn2とがなす
角度である。したがって、マトリクス演算ユニット52
aは、余弦定理を使用し、数式27のようにして、cos
θzを算出する。In FIG. 25, θ z2 is a line segment L1 and a line segment L1.
0 and θ z1 is the angle between bone Bn1 and bone Bn2. Therefore, the matrix operation unit 52
a is expressed by using the cosine theorem,
Calculate θ z .
【0182】[0182]
【数27】 [Equation 27]
【0183】また、sin2θ+ cos2θ=1の公式によ
り、sinθ=±(1− cos2θ)1/2となるから、マトリ
クス演算ユニット52aは、 cosθZ2を算出した後に、
上記式よりsinθz2を算出する(ステップ604)。な
お、骨Bn2が正方向に曲がるときにはsinθz2=+(1
−cos2θz2)1/2となり、骨Bn2が逆に曲がるときにはs
inθz2=−(1−cos2θz2)1/2 となる。In addition, since sin θ = ± (1−cos 2 θ) 1/2 according to the formula of sin 2 θ + cos 2 θ = 1, the matrix operation unit 52a calculates cos θ Z2 after
The sin θ z2 is calculated from the above equation (step 604). When the bone Bn2 bends in the positive direction, sin θ z2 = + (1
−cos 2 θ z2 ) 1/2 , and when the bone Bn2 bends in reverse, s
inθ z2 = − (1−cos 2 θ z2 ) 1/2
【0184】次に、マトリクス演算ユニット52aは、
上述したようにして求めた sinθz2,cosθz2を使用
し、制御点SのマトリクスMsをθz2だけz軸上で回線
させる計算をする(ステップ605)。この計算につい
て、マトリクス演算ユニット52aは、数式28を使用
して計算をしている。Next, the matrix operation unit 52a
Sin [theta z2 obtained as described above, using the cos [theta] z2, the calculation for the line matrix Ms of the control point S on theta z2 only z-axis (step 605). For this calculation, the matrix operation unit 52a performs the calculation using Expression 28.
【0185】[0185]
【数28】 [Equation 28]
【0186】これにより、第1の実施形態のように角度
を計算しなくても、骨Bn2のマトリクスを直接得ること
ができる。Thus, the matrix of the bone Bn2 can be obtained directly without calculating the angle as in the first embodiment.
【0187】次に、骨Bn1のマトリクスMについて求め
ることにする。まず、図25における関係から、余弦定
理を適用すると、cosθz1は、数式29のようになる。Next, the matrix M of the bone Bn1 will be determined. First, from the relationship in FIG. 25, when the cosine theorem is applied, cos θ z1 becomes as shown in Expression 29.
【0188】[0188]
【数29】 (Equation 29)
【0189】また、sin2θ+ cos2θ=1の公式によ
り、sinθ=±(1− cos2θ)1/2 となるから、マトリ
クス演算ユニット52aは、 cosθ21を算出した後に、
上記式よりsinθz1を算出する(ステップ606)。な
お、骨Bn1が正方向に曲がるときには、sinθz1=−
(1−cos2θz2)1/2となり、骨Bn1が逆に曲がるとき
にはsinθz1=+(1−cos2θz1)1/2となる。In addition, since sin θ = ± (1−cos 2 θ) 1/2 according to the formula of sin 2 θ + cos 2 θ = 1, the matrix operation unit 52a calculates cos θ 21 after
The sin θ z1 is calculated from the above equation (step 606). When the bone Bn1 bends in the positive direction, sin θ z1 = −
(1−cos 2 θ z2 ) 1/2 , and sin θ z1 = + (1−cos 2 θ z1 ) 1/2 when the bone Bn1 bends in the opposite direction.
【0190】次に、マトリクス演算ユニット52aは、
上述したようにして求めた sinθz1,cosθz1を使用
し、骨Bn2のマトリクスM(骨Bn1と骨Bn2の接続部で
あって、マトリクス(Rz2・Ms))をθz1だけ回転さ
せる計算をする(ステップ607)。この計算につい
て、マトリクス演算ユニット52aは、数式30を使用
して計算をしている。Next, the matrix operation unit 52a
Sin [theta z1 obtained as described above, using the cos [theta] z1, (a connecting portion of the bone Bn1 and bone Bn2, matrix (R z2 · Ms)) matrix M of the bone Bn2 calculations for the rotation by theta z1 (Step 607). For this calculation, the matrix operation unit 52a performs the calculation using Expression 30.
【0191】[0191]
【数30】 [Equation 30]
【0192】これにより、第1の実施形態のように角度
を計算しなくても、骨Bn1のマトリクスを直接得ること
ができる。As a result, the matrix of the bone Bn1 can be directly obtained without calculating the angle as in the first embodiment.
【0193】〔第2の実施形態の利点〕本第2の実施形
態では、各骨が基準位置から実際に配置される際に当該
骨に与えられるマトリクスを直接得ることができる。こ
れは、第1の実施形態が、逆行列を求めてから一致処理
を実行し、その後に角度を計算し、その角度等から実際
に配置される骨のマトリクスにするという経路をたどっ
ているのに対して、第2の実施形態では、第1の実施形
態の7分の1の計算量で相対座標を出して、回転させる
ためのsin、cosを求め、これにより所定の回転等をさせ
ることにより、骨が配置されるマトリクスを直接算出し
ているため、計算量が少なくて済むことになる。[Advantages of the Second Embodiment] In the second embodiment, when each bone is actually arranged from the reference position, the matrix given to the bone can be directly obtained. This is because the first embodiment follows a path in which a matching process is performed after obtaining an inverse matrix, and thereafter, an angle is calculated, and a matrix of bones to be actually arranged is obtained from the angle and the like. On the other hand, in the second embodiment, relative coordinates are calculated with a calculation amount that is one seventh of that of the first embodiment, and sin and cos for rotation are obtained. Thus, since the matrix in which the bones are arranged is directly calculated, the calculation amount is small.
【0194】また、前記キャラクターの一連の動きに対
応して、前記基準点メモリ及び制御点メモリから読み出
したキャラクターの基準点の座標データ及び制御点の座
標データから、キャラクターの所定の座標系に対するマ
トリクスを直接求めているので、演算速度が高速にな
り、しかもキャラクターの配置を正確に行なうことがで
きる。Further, in accordance with a series of movements of the character, a matrix for a predetermined coordinate system of the character is obtained from the coordinate data of the reference point of the character and the coordinate data of the control point read from the reference point memory and the control point memory. Is directly obtained, the calculation speed is increased, and the character arrangement can be performed accurately.
【0195】第2の実施形態では、これら基準点と制御
点とによって実質的にキャラクターの移動表示が可能と
なり、キャラクターの移動表示に必要なデータ量を低減
することができるとともに、キャラクターの所望の位置
に設定することが可能になり、キャラクターの多彩で自
由な動きを実現することができる。In the second embodiment, the movement and display of the character can be substantially performed by the reference point and the control point, so that the amount of data necessary for the movement and display of the character can be reduced, and the desired character of the character can be displayed. It is possible to set the position, and various and free movements of the character can be realized.
【0196】第2の実施形態では、マトリクス演算ユニ
ット52aでは、前記基準点のマトリクスの転置行列を
利用して制御点の基準点に対する相対座標を演算し、こ
の相対座標から前記マトリクスを演算するための余弦、
正弦値をを求めるようにしたので、正確なマトリクスが
算出でき、またマトリクス算出値の再演算が必要なとき
にでも簡単かつ高速に再演算が可能になる。In the second embodiment, the matrix calculation unit 52a calculates the relative coordinates of the control points with respect to the reference point using the transposed matrix of the matrix of the reference points, and calculates the matrix from the relative coordinates. Cosine of
Since the sine value is obtained, an accurate matrix can be calculated, and even when recalculation of the calculated matrix value is necessary, recalculation can be performed easily and at high speed.
【0197】第2の実施形態では、前記キャラクターが
複数の単位キャラクターを連結して構成されるものであ
る場合であって、基端側の単位キャラクターに対して前
記基準点が設けられ、また先端側の単位キャラクターに
対して前記制御点が設けられているときでも、マトリク
ス演算ユニット52aにより、前記制御点のマトリクス
に行列演算をして接続点における単位キャラクターのマ
トリクスを演算し、かつ前記単位キャラクターの接続点
のマトリクスに行列演算することにより他の単位キャラ
クターのマトリクスを演算できるので、連結したキャラ
クターの表現が多彩なものになる。In the second embodiment, the character is formed by connecting a plurality of unit characters, and the reference point is provided for the unit character on the base end side, and Even when the control point is provided for the unit character on the side, the matrix operation unit 52a performs a matrix operation on the matrix of the control points to calculate the matrix of the unit character at the connection point, and The matrix of the other unit characters can be calculated by performing the matrix operation on the matrix of the connection points of, so that the expression of the connected characters becomes various.
【0198】〔その他1〕次に、動きを作ったモデルと
画面に出したいモデルの体型が異なる場合が存在する。
このような場合には、マトリクスの座標成分を再計算す
る必要がある。例えば、第1の実施形態における図2に
おいて、骨B1 の基準点T1 と骨B3 の基準点T3 の距
離が異なるときを考えてみる。[Other 1] Next, there is a case where the body type of the model making the movement is different from that of the model desired to be displayed on the screen.
In such a case, it is necessary to recalculate the coordinate components of the matrix. For example, consider the case where the distance between the reference point T1 of the bone B1 and the reference point T3 of the bone B3 in FIG. 2 in the first embodiment is different.
【0199】骨B2 のマトリクスは、前記した第2の実
施形態による方法によって求められたマトリクスと同じ
ものといえる。しかしながら、もし、基準点T3 までの
距離が動きをつきった元のモデルより長い場合、当然、
骨B3 のマトリクスは第2の実施形態で計算したマトリ
クスと一致しない。このような場合には、骨Bn3のマト
リクスの座標成分を再計算する必要があるのである。It can be said that the matrix of the bone B2 is the same as the matrix obtained by the method according to the second embodiment. However, if the distance to the reference point T3 is longer than the original model with motion,
The matrix of the bone B3 does not match the matrix calculated in the second embodiment. In such a case, it is necessary to recalculate the coordinate components of the matrix of the bone Bn3.
【0200】また、ゲームの中での座標系と動きを作っ
た座標系とは、一般的に、一致しない。例えばz軸方向
に走っている動きを作った場合、実際のゲーム上では、
xz平面上を動けなければならない。In general, the coordinate system in the game does not coincide with the coordinate system that created the movement. For example, if you make a movement running in the z-axis direction, in an actual game,
It must be able to move on the xz plane.
【0201】よって、始めにy軸上の角度成分θy を回
転させておいてから、動きのマトリクスを乗じて計算す
る必要がある。このとき、骨のマトリクスに右から、角
度θyの座標変換をかけてやればよい。Therefore, it is necessary to rotate the angle component θ y on the y-axis first, and then calculate by multiplying by the motion matrix. At this time, the bone matrix may be subjected to coordinate transformation of the angle θ y from the right.
【0202】第1の実施形態では、θy 回転させてか
ら、各パーツの角度や座標を順次計算していたが、上述
した第2の実施形態では、このような計算のやり直しに
対して、マトリクス自体を加工することで対処できるた
めに、計算量が少なくできることが分かる。In the first embodiment, the angle and the coordinates of each part are sequentially calculated after the rotation by θ y . In the second embodiment, however, such a recalculation is not performed. It can be seen that the processing amount can be reduced by processing the matrix itself, so that the calculation amount can be reduced.
【0203】〔その他2〕前記第2の実施形態におい
て、マトリクスが与えられたときに、角度を簡単に計算
できる方法について説明する。前記数式15を利用する
ことにより、数式31に示すように、θy,θx,θz
を算出することができる。[Other 2] In the second embodiment, a method for easily calculating an angle when a matrix is given will be described. By using Equation 15, as shown in Equation 31, θy, θx, θz
Can be calculated.
【0204】[0204]
【数31】 (Equation 31)
【0205】このように要素mを用いることにより、θ
y,θx,θzを算出することができる。By using the element m in this way, θ
y, θx, θz can be calculated.
【0206】また、この場合は、z,y,xの順序で回
転させた場合のθz,θy,θxだが、同様な方法によ
り、任意の回転軸の順での回転各を求めることができ
る。例えば、y,x,zの順序で回転させる場合、数式
15を参照して、数式32により求めることができる。Further, in this case, θz, θy, and θx when rotated in the order of z, y, and x, but the rotation in an arbitrary rotation axis order can be obtained by the same method. For example, when the rotation is performed in the order of y, x, and z, the rotation can be obtained by Expression 32 with reference to Expression 15.
【0207】[0207]
【数32】 (Equation 32)
【0208】この数式28の結果を使用することによ
り、数式33のように、θx,θy,θzを算出するこ
とができる。By using the result of Expression 28, θx, θy, and θz can be calculated as in Expression 33.
【0209】[0209]
【数33】 [Equation 33]
【0210】上の結論は、角度と角度を接続するときに
有効である。例えば、θx0,θy0,θz0と、θx1,
θy1,θz1の角度差を算出したいときに、これらを単純
に差し引いても、回転軸の順番が重要であるために、角
度の差とならない。このような場合、次の数式34,3
5が成立するマトリクスMxを算出すればよい。The above conclusion is valid when connecting angles. For example, θ x0 , θ y0 , θ z0 , θ x1 ,
When it is desired to calculate the angle difference between θ y1 and θ z1 , even if these are simply subtracted, there is no difference in angle because the order of the rotation axes is important. In such a case, the following Expressions 34 and 3
What is necessary is just to calculate the matrix Mx in which 5 holds.
【0211】[0211]
【数34】Mx・Rx0・Ry0・Rz0=Rx1・Ry1・Rz1 Mx · R x0 · R y0 · R z0 = R x1 · R y1 · R z1
【0212】[0212]
【数35】 Mx=Rx1・Ry1・Rz1・Rz0 -1・Ry0 -1・Rx0 -1 この数式35の右辺は、−θx0,−θy0,−θz0,
θx1,θy1,θz1の順序で回転させたのと同じことであ
る。このようにして計算したマトリクスMxから成分を
取り出して角度を計算すれば、角度の差を正確に求める
ことができる。このようにして得られる結論は、モーシ
ョンとモーションとを滑らかにつなぐ理論に応用するこ
とができる。Mx = R x1 · R y1 · R z1 · R z0 -1 · R y0 -1 · R x0 -1 The right side of Equation 35 is -θ x0 , -θ y0 , -θ z0 ,
This is the same as rotating in the order of θ x1 , θ y1 , θ z1 . By taking out the components from the matrix Mx calculated in this way and calculating the angle, the difference between the angles can be accurately obtained. The conclusions obtained in this way can be applied to a theory that smoothly connects motions.
【0213】[0213]
【発明の効果】以上説明したように、本発明に係わる画
像処理によれば、前記基準点と制御点とによって定まる
座標系領域に前記キャラクターを表示するようにしたの
で、これら基準点と制御点とによって実質的にキャラク
ターの移動表示が可能となり、キャラクターの移動表示
に必要なデータ量を低減することができるとともに、制
御点を所望の位置に設定することにより、キャラクター
の多彩で自由な動きを実現することができる。As described above, according to the image processing according to the present invention, the character is displayed in the coordinate system area determined by the reference point and the control point. This makes it possible to virtually display the movement of the character, thereby reducing the amount of data required for the movement display of the character, and by setting the control points at desired positions, the character can be diversified and freely moved. Can be realized.
【0214】また、前記移動指令に基づいて決定された
前記キャラクターの一連の動きに対応して、前記基準点
メモリ及び制御点メモリから読み出したキャラクターの
基準点の座標データ及び制御点の座標データから各キャ
ラクターの所定の座標系に対する角度を角度演算ユニッ
トで算出し、その求めた角度にキャラクターを配置する
ため、キャラクターの移動を表す角度を予め記憶しなく
ても、キャラクターの移動の都度この角度を演算し、演
算された角度でキャラクターを表示することができる。Further, in accordance with a series of movements of the character determined based on the movement command, the coordinate data of the reference point of the character and the coordinate data of the control point read from the reference point memory and the control point memory are used. The angle of each character with respect to the predetermined coordinate system is calculated by the angle calculation unit, and the character is arranged at the obtained angle. Therefore, even if the angle representing the movement of the character is not stored in advance, this angle is calculated each time the character moves. It is possible to calculate and display the character at the calculated angle.
【0215】この角度を基準点の座標系に対する角度と
して演算することにより、基準点に対して正確にキャラ
クターを配置することができる。By calculating this angle as the angle of the reference point with respect to the coordinate system, the character can be accurately positioned with respect to the reference point.
【0216】また、前記キャラクターを表示するための
データを所定の座標系に予め記憶し、このキャラクター
データによって形成されるキャラクターを前記座標系領
域に配置することにより、キャラクターを構成するため
の点毎に移動状態の座標データを登録することを省略す
ることができ、キャラクターの移動表示に必要なデータ
量を大幅に低減することができる。Further, data for displaying the character is stored in a predetermined coordinate system in advance, and the character formed by the character data is arranged in the coordinate system area, so that each point for forming the character is obtained. It is possible to omit the registration of the coordinate data of the moving state in, and it is possible to greatly reduce the amount of data necessary for the moving display of the character.
【0217】また、基準点のマトリクスの逆行列を制御
点の絶対座標に乗じることにより制御点の基準点に対す
る相対座標を演算し、この相対座標から前記角度を演算
することにより、基準点の座標系対する制御点が成す角
度を容易に求めることができ、移動表示のための処理動
作が迅速化される。The relative coordinates of the control point with respect to the reference point are calculated by multiplying the absolute coordinates of the control point by the inverse matrix of the reference point matrix, and the angle is calculated from the relative coordinates to obtain the coordinate of the reference point. The angle formed by the control points with respect to the system can be easily obtained, and the processing operation for moving display can be speeded up.
【0218】さらに、前記基準点をキャラクターの基端
側に設定し、前記制御点をキャラクターの先端側に設定
することにより、キャラクターに人体に近似した動きを
実現しながら、前記本発明の種々の効果を達成すること
ができる。Further, by setting the reference point on the base end side of the character and setting the control point on the tip end side of the character, various movements of the present invention can be realized while realizing a movement similar to a human body to the character. The effect can be achieved.
【0219】また、複数の単位キャラクターが連結して
一つのキャラクターが構成されるようなものでも、基準
点と制御点とを設定するだけで、キャラクターの移動状
態を表示することができる。[0219] Even if a plurality of unit characters are connected to form one character, the moving state of the character can be displayed only by setting the reference point and the control point.
【0220】また、前記キャラクターの一連の動きに対
応して、前記基準点メモリ及び制御点メモリから読み出
したキャラクターの基準点の座標データ及び制御点の座
標データから、キャラクターの所定の座標系に対するマ
トリクスを直接求めているので、演算量が極端に少なく
なり、かつ演算速度が高速になり、しかもキャラクター
の配置を正確に行なうことができる。Further, in accordance with a series of movements of the character, a matrix for a predetermined coordinate system of the character is obtained from the coordinate data of the reference point and the control point of the character read from the reference point memory and the control point memory. Is directly obtained, the amount of calculation is extremely reduced, the calculation speed is increased, and the character can be accurately arranged.
【0221】これにより、これら基準点と制御点とによ
って実質的にキャラクターの移動表示が可能となり、キ
ャラクターの移動表示に必要なデータ量を低減すること
ができるとともに、キャラクターの所望の位置に設定す
ることが可能になり、キャラクターの多彩で自由な動き
を実現することができる。Thus, the movement and display of the character can be substantially performed by the reference point and the control point, and the amount of data required for the movement and display of the character can be reduced, and the character can be set at a desired position. It is possible to realize various and free movements of the character.
【0222】また、前記マトリクス演算ユニットでは、
前記基準点のマトリクスの転置行列を利用して制御点の
基準点に対する相対座標を演算し、この相対座標から前
記マトリクスを演算するための余弦、正弦値をを求める
ようにしたので、正確なマトリクスが算出でき、またマ
トリクス算出値の再演算が必要なときにでも簡単かつ高
速に再演算が可能になる。In the matrix operation unit,
The relative coordinates of the control points with respect to the reference point are calculated using the transposed matrix of the matrix of the reference points, and cosine and sine values for calculating the matrix are calculated from the relative coordinates. Can be calculated, and even when recalculation of the matrix calculation value is required, recalculation can be performed easily and at high speed.
【0223】また、前記キャラクターが複数の単位キャ
ラクターを連結して構成されるものである場合であっ
て、基端側の単位キャラクターに対して前記基準点が設
けられ、また先端側の単位キャラクターに対して前記制
御点が設けられているときでも、マトリクス演算ユニッ
トにより、前記制御点のマトリクスに行列演算をして接
続点における単位キャラクターのマトリクスを演算し、
かつ前記単位キャラクターの接続点のマトリクスに行列
演算することにより他の単位キャラクターのマトリクス
を演算できるので、連結したキャラクターの表現が多彩
なものになる。In the case where the character is formed by connecting a plurality of unit characters, the reference point is provided for the unit character on the base end, and On the other hand, even when the control points are provided, the matrix operation unit calculates a matrix of the unit characters at the connection points by performing a matrix operation on the matrix of the control points,
In addition, the matrix of the connection points of the unit characters can be calculated in a matrix, so that the matrix of other unit characters can be calculated.
【図1】本発明に係る形体の多角形表示処理装置の第1
の実施形態を示すブロック図である。FIG. 1 shows a first embodiment of a polygon display processing apparatus for a feature according to the present invention.
It is a block diagram showing an embodiment.
【図2】本実施形態で使用される表示用形体を示す説明
図である。FIG. 2 is an explanatory diagram showing a display feature used in the embodiment.
【図3】本実施形態で実現される表示用形体の動きの例
を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of a movement of a display feature realized in the embodiment;
【図4】本実施形態のメモリの構成例を示す説明図であ
る。FIG. 4 is an explanatory diagram illustrating a configuration example of a memory according to the embodiment;
【図5】本実施形態の機能ブロック図である。FIG. 5 is a functional block diagram of the embodiment.
【図6】本実施形態の動作を説明するためのフローチャ
ートである。FIG. 6 is a flowchart for explaining the operation of the present embodiment.
【図7】本実施形態の表示用マトリクスの構成例を示す
説明図である。FIG. 7 is an explanatory diagram illustrating a configuration example of a display matrix according to the present embodiment.
【図8】部品パーツの角度を算出する動作を説明するた
めのフローチャートである。FIG. 8 is a flowchart illustrating an operation for calculating an angle of a part part.
【図9】同実施形態における部品パーツがXYZ座標系
に置かれた状態の説明図である。FIG. 9 is an explanatory diagram of a state where the component parts according to the embodiment are placed on an XYZ coordinate system.
【図10】同実施形態における一つの部品パーツの基準
点TがXYZ座標系の原点に置かれた状態の説明図であ
る。FIG. 10 is an explanatory diagram of a state where a reference point T of one component part in the embodiment is set at an origin of an XYZ coordinate system.
【図11】部品パーツが複数の単位キャラクターによっ
て構成される場合の角度の算出動作を説明するためのフ
ローチャートである。FIG. 11 is a flowchart illustrating an angle calculating operation when a component part is configured by a plurality of unit characters.
【図12】同実施形態におけるトの基準点TをXYZ座
標系の原点に配置した状態を示す説明図である。FIG. 12 is an explanatory diagram showing a state in which a reference point T of the embodiment is arranged at the origin of an XYZ coordinate system.
【図13】同実施形態における二つの単位キャラクター
の基準点TをXYZ座標系原点に、制御点SをXYZ座
標系のX軸の一点に配置した状態を示す説明図である。FIG. 13 is an explanatory diagram showing a state in which a reference point T of two unit characters in the same embodiment is located at the origin of the XYZ coordinate system, and a control point S is located at one point on the X axis of the XYZ coordinate system.
【図14】同実施形態における基準点Tを原点に、接続
点QをXYZ座標系のX軸の一点に配置した状態を示す
説明図である。FIG. 14 is an explanatory diagram showing a state in which a reference point T is located at the origin and a connection point Q is located at one point on the X axis of the XYZ coordinate system in the embodiment.
【図15】同実施形態におけるパーツをXYZ座標系の
Y,Z平面からみた図である。FIG. 15 is a diagram of the part in the embodiment viewed from the Y, Z plane of the XYZ coordinate system.
【図16】同実施形態の利点を説明するための説明図で
ある。FIG. 16 is an explanatory diagram for explaining advantages of the embodiment.
【図17】同実施形態の他の利点を説明するための説明
図である。FIG. 17 is an explanatory diagram for explaining another advantage of the embodiment.
【図18】本発明の第2の実施形態を示す機能ブロック
図である。FIG. 18 is a functional block diagram showing a second embodiment of the present invention.
【図19】同第2の実施形態の動作を説明するためのフ
ローチャートである。FIG. 19 is a flowchart for explaining the operation of the second embodiment.
【図20】同第2の実施形態の骨一つのときのマトリク
スの算出方法を説明するためのフローチャートである。FIG. 20 is a flowchart illustrating a method of calculating a matrix for a single bone according to the second embodiment.
【図21】同第2の実施形態の骨一つのときのマトリク
スの算出に使用するための説明図である。FIG. 21 is an explanatory diagram for use in calculating a matrix for one bone according to the second embodiment.
【図22】同第2の実施形態の骨一つのときにマトリク
スの算出に使用するための説明図でるあ。FIG. 22 is an explanatory diagram for use in calculating a matrix when only one bone is used in the second embodiment.
【図23】同第2の実施形態の骨一つのときにマトリク
スの算出に使用するための説明図でるあ。FIG. 23 is an explanatory diagram for use in calculating a matrix when only one bone is used in the second embodiment.
【図24】同第2の実施形態において骨二つのときのマ
トリクスを算出する方法を説明するためのフローチャー
トである。FIG. 24 is a flowchart for explaining a method of calculating a matrix for two bones in the second embodiment.
【図25】同第2の実施形態の骨二つのときにマトリク
スの算出方法の説明に使用する説明図である。FIG. 25 is an explanatory diagram used for describing a matrix calculation method when there are two bones in the second embodiment.
1 画像処理装置 2 ディスプレイ(表示装置) 3 メモリ 4 操作盤 5 画像表示処理装置 6 画面 31 モーションデータ用メモリ 32 制御点メモリ 33 基準点メモリ 34 ポリゴンデータメモリ 35 補助メモリ 50 CPU 51 モーション選択ユニット 52 座標位置決定ユニット 52a マトリクス演算ユニット 53 角度演算ユニット 54 画像出力制御ユニット 55 画像出力制御回路 C、Ca、Cb キャラクター B、Bn1、Bn2 骨(単位キャラクター) U1 パーツ(キャラクター) U2 パーツ(キャラクター) U3 パーツ(キャラクター) U4 パーツ(キャラクター) U5 パーツ(キャラクター) U6 パーツ(キャラクター) U7 パーツ(キャラクター) T1、T2、T3、T4、T5、T6、T7 基準点 S1、S2、S3、S4、S5、S6、S7 基準点 Q4、Q5、Q6、Q7 接続点 Reference Signs List 1 image processing device 2 display (display device) 3 memory 4 operation panel 5 image display processing device 6 screen 31 motion data memory 32 control point memory 33 reference point memory 34 polygon data memory 35 auxiliary memory 50 CPU 51 motion selection unit 52 coordinates Position determination unit 52a Matrix calculation unit 53 Angle calculation unit 54 Image output control unit 55 Image output control circuit C, Ca, Cb Character B, Bn1, Bn2 Bone (unit character) U1 part (character) U2 part (character) U3 part ( Character) U4 parts (character) U5 parts (character) U6 parts (character) U7 parts (character) T1, T2, T3, T4, T5, T6, T7 Reference points S1, S2 S3, S4, S5, S6, S7 reference point Q4, Q5, Q6, Q7 connection point
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 - 17/50 A63F 13/00 - 13/12 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) G06T 1/00-17/50 A63F 13/00-13/12 JICST file (JOIS)
Claims (13)
ように構成した画像処理装置において、前記図形の一連
の動きに対応し、この図形を表示するための基準となる
基準点を記憶する基準点メモリと、前記基準点に対する
図形の他の位置を決定するための制御点を記憶する制御
点メモリと、 前記図形に移動指令を出力する操作手段と、 当該移動指令に基づいて、前記基準点と制御点とによっ
て定まる座標系領域に前記図形を配置するための画像処
理を行なう画像表示処理手段と、 前記移動指令に基づいて決定される前記図形の一連の動
きに対応して、前記基準点メモリ及び制御点メモリから
読み出した基準点の座標データ及び制御点の座標データ
から、図形が所定の座標系に対して成す角度を求める手
段であって、前記基準点の座標系に対する制御点がなす
角度を演算する角度演算手段と、当該基準点からこの角度をもって前記図形を配置する 配
置手段と、 を備える画像処理装置。An image processing apparatus configured to be able to display a predetermined figure while moving it, wherein a reference point corresponding to a series of movements of the figure and storing a reference point serving as a reference for displaying the figure. A memory, a control point memory that stores a control point for determining another position of the figure with respect to the reference point, an operation unit that outputs a movement command to the figure, and the reference point based on the movement command. Image display processing means for performing image processing for arranging the figure in a coordinate system area determined by a control point; and the reference point memory corresponding to a series of movements of the figure determined based on the movement command. And a method for obtaining an angle formed by the figure with respect to a predetermined coordinate system from the coordinate data of the reference point and the coordinate data of the control point read from the control point memory.
A control point for the coordinate system of the reference point.
An image processing apparatus comprising: an angle calculating unit that calculates an angle; and an arranging unit that arranges the figure at an angle from the reference point .
タを所定の座標系に予め記憶するメモリを備え、前記画
像表示処理手段は、このデータによって形成される図形
を前記座標系領域に配置する請求項1記載の装置。2. The image processing apparatus according to claim 1, further comprising a memory configured to store data for displaying the graphic in a predetermined coordinate system, wherein the image display processing unit arranges the graphic formed by the data in the coordinate system area. The device according to claim 1.
リクスの逆行列を制御点の絶対座標に乗じることにより
制御点の基準点に対する相対座標を演算し、この相対座
標から前記角度を演算する請求項1記載の装置。3. The angle calculating means calculates a relative coordinate of the control point with respect to the reference point by multiplying an absolute matrix of the control point by an inverse matrix of the reference point matrix, and calculates the angle from the relative coordinate. The device according to claim 1.
ャラクターであり、このキャラクターの本体に対して基
端側のパーツに前記基準点が設けられ、また先端側のパ
ーツに対して前記制御点が設けられていると共に、前記
画像表示処理手段は、パーツ同士の接続点を演算する接
続点演算手段を備え、前記角度演算手段は、この接続点
におけるパーツ同士の連結角度を演算するとともに、こ
の接続点が前記基準点の基準座標に対して成す角度を演
算し、前記配置手段は、基端側のパーツを基準点からこ
の角度をもって配置するとともに、前記接続点から前記
連結角度をもって他のパーツを配置するようした請求項
1記載の装置。4. The graphic is a character in which a plurality of parts are connected, the reference point is provided on a part on the base end side of the main body of the character, and the control point is provided on a part on the distal end side. Is provided, the image display processing means includes connection point calculation means for calculating a connection point between parts, and the angle calculation means calculates a connection angle between the parts at this connection point, and An angle formed by the connection point with respect to the reference coordinates of the reference point is calculated, and the arranging means arranges the base-side part with this angle from the reference point and other parts with the connection angle from the connection point. 2. The device according to claim 1, wherein the device is arranged.
記制御点を図形の先端側に設定する請求項1乃至4のい
ずれか一項記載の装置。5. Set the reference point on the base end side of the figure, apparatus of any one of claims 1 to 4, sets the control points on the distal end side of the figure.
所望の位置に変更ないしは設定可能な制御点変更・設定
手段を備える請求項1記載の装置。Wherein said image display processing means, apparatus according to claim 1, further comprising a desired change or Configurable control point changing and setting means to a position of the control point.
形に対して定義された長さのデータを持つ骨格に基づい
て演算する請求項1記載の装置。7. The apparatus according to claim 1, wherein the angle calculating means calculates the angle based on a skeleton having data of a length defined for the figure.
に基づいて決定される前記図形の一連の動きに対応し
て、前記基準点メモリ及び制御点メモリから読み出した
基準点の座標データ及び制御点の座標データから、前記
図形の所定の座標系に対するマトリクスを求めるマトリ
クス演算手段と、その求めたマトリクスに合わせて前記
図形を配置する配置手段とを備える請求項1記載の装
置。8. The image display processing means according to claim 1, wherein said coordinate data and control data of a reference point read from said reference point memory and control point memory correspond to a series of movements of said figure determined based on said movement command. 2. The apparatus according to claim 1, further comprising: matrix calculation means for obtaining a matrix of the graphic with respect to a predetermined coordinate system from coordinate data of points; and arranging means for arranging the graphic in accordance with the obtained matrix.
の座標系に対する制御点がなすマトリクスを演算し、前
記配置手段は当該マトリクスに基づいて前記図形を配置
する請求項8記載の装置。Wherein said matrix operation means calculates a matrix control point with respect to the coordinate system of the reference point forms, the positioning means according to claim 8, wherein placing the graphic based on the matrix.
点のマトリクスの転置行列を利用して制御点の基準点に
対する相対座標を演算し、この相対座標から前記マトリ
クスを演算する請求項9記載の装置。Wherein said matrix operation means calculates the relative coordinates with respect to the reference point of use to the control point a transposed matrix of the matrix of the reference point, according to claim 9, wherein computing the matrix from the relative coordinates .
ャラクターであり、このキャラクター本体の基端側にあ
るパーツに前記基準点が設けられ、また先端側にあるパ
ーツに対して前記制御点が設けられており、前記マトリ
クス演算手段は、前記制御点のマトリクスに行列演算を
適用して接続点におけるパーツのマトリクスを演算し、
かつ前記パーツの接続点のマトリクスに行列演算を適用
することにより他のパーツのマトリクスを演算し、前記
配置手段は、前記各パーツのマトリクスに基づいて前記
キャラクターを所定の座標系に配置するようした請求項
8記載の装置。11. The graphic is a character in which a plurality of parts are connected, the reference point is provided on a part on the base end side of the character body, and the control point is provided on a part on the distal end side. The matrix operation means calculates a matrix of parts at connection points by applying a matrix operation to the matrix of the control points,
The matrix of the other parts is calculated by applying a matrix operation to the matrix of the connection points of the parts, and the arrangement unit arranges the character in a predetermined coordinate system based on the matrix of each part. Claim
An apparatus according to claim 8 .
るように構成した画像処理装置において、前記図形の一
連の動きに対応し、この図形を表示するための基準とな
る基準点を記憶する基準点メモリと、前記基準点に対す
る図形の他の位置を決定するための制御点を記憶する制
御点メモリと、前記図形に移動指令を出力する操作手段
と、 当該移動指令に基づいて、前記基準点と制御点とによっ
て定まる座標系領域に前記図形を配置するための画像処
理を行なう画像表示処理手段と、前記移動指令に基づいて決定される前記図形の一連の動
きに対応して、前記基準点メモリ及び制御点メモリから
読み出した基準点の座標データ及び制御点の座標データ
から、図形が所定の座標系に対して成す角度を求める手
段であって、前記基準点の座標系に対する制御点がなす
角度を演算する角度演算手段と、 当該基準点からこの角度をもって前記図形を配置する配
置手段と、 を有し、 前記図形が複数のパーツが連結されたキャラクターであ
り、このキャラクターの本体に対して基端側のパーツに
前記基準点が設けられ、また先端側のパーツに対して前
記制御点が設けられていると共に、前記基準点は、前記
基端側パーツの一連の動きに対応した座標データ群から
構成され、前記制御点は、前記基端側パーツの一連の動
きに対応し、あるいはこの動きとは関係なく一連の動き
の過程にある各パーツの先端が占める所定位置のデータ
群から構成されている画像処理装置。12. A predetermined figure can be displayed while being moved.
In the image processing apparatus configured to
In response to the series of movements, it becomes a reference for displaying this figure.
A reference point memory for storing a reference point,
Control points for determining other positions of the figure
Point memory and operation means for outputting a movement command to the figure
And the control point and the reference point based on the movement command.
Image processing for arranging the figure in a coordinate system area determined by
Image display processing means for performingA series of movements of the figure determined based on the movement command
Corresponding to the reference point memory and the control point memory.
The read coordinate data of the reference point and the coordinate data of the control point
To determine the angle that the figure makes with respect to the predetermined coordinate system
A control point for the coordinate system of the reference point.
Angle calculation means for calculating an angle, An arrangement to arrange the figure at this angle from the reference point
Mounting means, Wherein the figure is a character in which a plurality of parts are connected.
To the parts on the base end side of the main body of this character
The reference point is provided, and the front part is
The control point is provided, and the reference point is
From the coordinate data group corresponding to a series of movements of the base part
The control point is a series of movements of the proximal part.
Or a series of movements independent of this movement
Of the specified position occupied by the tip of each part in the process of
An image processing device composed of a group.
望の位置に変更可能ないしは設定可能な制御点変更・設
定手段を備えてなる請求項12記載の画像処理装置。Wherein said image processing means, the image processing apparatus according to claim 12, wherein the control point becomes comprise the desired changeable or configurable control point changing and setting means to a position.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07206186A JP3104582B2 (en) | 1994-08-11 | 1995-08-11 | Image processing apparatus and method |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6-189351 | 1994-08-11 | ||
| JP18935194 | 1994-08-11 | ||
| JP29988294 | 1994-12-02 | ||
| JP6-299882 | 1994-12-02 | ||
| JP07206186A JP3104582B2 (en) | 1994-08-11 | 1995-08-11 | Image processing apparatus and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08212375A JPH08212375A (en) | 1996-08-20 |
| JP3104582B2 true JP3104582B2 (en) | 2000-10-30 |
Family
ID=27326165
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07206186A Expired - Fee Related JP3104582B2 (en) | 1994-08-11 | 1995-08-11 | Image processing apparatus and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3104582B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4042926B2 (en) * | 1997-11-07 | 2008-02-06 | 株式会社バンダイナムコゲームス | Image generating apparatus and information storage medium |
| JP2007058709A (en) * | 2005-08-26 | 2007-03-08 | Light Weight:Kk | Image processor, image processing method and program |
| JP7265607B1 (en) * | 2021-11-26 | 2023-04-26 | 株式会社Cygames | SYSTEM, GAME DEVICE, METHOD, AND PROGRAM FOR DETERMINING MOTION SEQUENCE |
-
1995
- 1995-08-11 JP JP07206186A patent/JP3104582B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| PIXEL94/2月号、(1994−2−1)、図形処理情報センター、河内隆幸、「モーション・キャプチャーがアニメーション制作を変える」、p.73−75 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08212375A (en) | 1996-08-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5767861A (en) | Processing apparatus and method for displaying a moving figure constrained to provide appearance of fluid motion | |
| US6937240B2 (en) | Methods and apparatus for transforming three-dimensional objects in video games | |
| JP5118220B2 (en) | Motion modeling apparatus and method, and program | |
| WO2002101655A1 (en) | Image processing method, image processing apparatus, and program for emphasizing object movement | |
| JPH09330424A (en) | 3D skeletal structure motion converter | |
| EP1207498A2 (en) | Display object generation method in information processing equipment | |
| JP3104582B2 (en) | Image processing apparatus and method | |
| JPH09153151A (en) | Motion generator with three-dimensional skeletal structure | |
| JP4329965B2 (en) | GAME SYSTEM AND INFORMATION STORAGE MEDIUM | |
| JPH1021420A (en) | Image synthesizing apparatus and image synthesizing method | |
| JP3380158B2 (en) | Data representation method of skeleton model | |
| JP5843679B2 (en) | Image reproduction program and game system | |
| JP3523728B2 (en) | 3D game device and image composition method | |
| JP3683487B2 (en) | 3D model animation generation method using outer shell | |
| JP3294224B2 (en) | Computer-readable recording medium, image processing method and image processing apparatus | |
| JP2001067491A (en) | Image display method and apparatus using subdivision polygons | |
| JP4450047B2 (en) | Display object generation method in information processing apparatus, program for controlling execution thereof, and recording medium storing the program | |
| JP3363134B2 (en) | 3D model drawing data creation method, apparatus, 3D video game apparatus, and readable recording medium on which 3D model drawing data creation program is recorded | |
| JP4199764B2 (en) | Skin control point position calculation device, calculation method, and program | |
| JP4786389B2 (en) | Program, information storage medium, and image generation system | |
| JP4088814B2 (en) | GAME DEVICE, IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD, AND RECORDING MEDIUM CONTAINING IMAGE PROCESSING PROGRAM RUNNING ON COMPUTER | |
| CN118298142B (en) | Three-dimensional engine geometry automatic alignment method and system based on three-dimensional vector | |
| JP3401899B2 (en) | Image display processing device | |
| JPH09297853A (en) | Polygon data generation method, image processing apparatus and extended function board to which the method is applied | |
| JP3289940B2 (en) | Computer graphics and image viewing condition determination support method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000801 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |