JPH08212375A - 画像処理装置およびその方法 - Google Patents

画像処理装置およびその方法

Info

Publication number
JPH08212375A
JPH08212375A JP7206186A JP20618695A JPH08212375A JP H08212375 A JPH08212375 A JP H08212375A JP 7206186 A JP7206186 A JP 7206186A JP 20618695 A JP20618695 A JP 20618695A JP H08212375 A JPH08212375 A JP H08212375A
Authority
JP
Japan
Prior art keywords
matrix
point
reference point
character
angle
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.)
Granted
Application number
JP7206186A
Other languages
English (en)
Other versions
JP3104582B2 (ja
Inventor
Susumu Kimura
進 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Enterprises Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP07206186A priority Critical patent/JP3104582B2/ja
Publication of JPH08212375A publication Critical patent/JPH08212375A/ja
Application granted granted Critical
Publication of JP3104582B2 publication Critical patent/JP3104582B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【目的】 キャラクター等の表現を多様化できる画像処
理装置およびその方法を提供する。 【構成】 この画像処理装置は、所定のキャラクターを
移動させながら表示できるようになっている。ここで、
画像処理装置は、キャラクターの一連の動きに対応し、
キャラクターを表示するための基準となる基準点を記憶
する基準点メモリ33と、基準点に対するキャラクター
の他の位置を決定するための制御点を記憶する制御点メ
モリ32と、キャラクターに移動指令を出力する操作盤
4と、移動指令に基づいて基準点と制御点とによって定
まる座標系領域にキャラクターを表示するための画像処
理を行う画像表示処理装置5と、を備えている。そし
て、制御点を変更しても、直ちに所定の座標系における
キャラクターの配置表示を計算で行うことができるた
め、キャラクターの表現が自由になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像処理装置および
その方法に係わり、特に、ゲーム装置等で汎用されるキ
ャラクターの移動表示処理技術を改良した画像処理装
置、およびその方法に関するものである。
【0002】
【従来の技術】一般に、この種の画像処理装置は、操作
信号に応じて画面に表示される図形(表示体)を移動表
示するための装置であって、これらの表示体の移動状態
に対応する座標等のデータを記憶するとともに、その他
の必要なデータや処理プログラムを記憶するメモリと、
図形の移動状態を決定、ないしは操作するための操作指
令を出力する操作盤と、操作指令を基にメモリ内の各種
のデータや処理プログラムに応じて所定の図形を表示装
置の画面上で移動させながら表示するための表示処理を
実行し、その処理結果を含む画面を表示信号として出力
するデータ処理装置とを備えて構成されている。図形に
は部品としてのパーツとパーツの集合体としてのキャラ
クターとが含まれる。
【0003】このような画像処理装置の電源を投入し、
かつ画像処理装置に対して所定の操作を行なうと、デー
タ処理装置がメモリ内のプログラムにしたがって動作
し、次のような処理を実行する。
【0004】操作盤から操作指令がデータ処理装置に与
えられると、データ処理装置は操作指令を基にメモリ内
のキャラクターの各種の移動状態(モーション)のデー
タの中で必要な移動状態のデータを取り出して複数のパ
ーツを合成させながらキャラクターを表示装置の画面上
で移動させるための処理を実行する。
【0005】そして、画像処理装置は、プログラム等に
従って表示される他の画面に処理結果を含めた画面の表
示信号を形成し、その表示信号を表示装置に与える。こ
れにより、キャラクターは、表示装置の画面上において
所定の背景内で移動することになる。各パーツは、ボデ
ィ座標系に定義され、これがワールド座標系にモデリン
グ変換され、次いで視野変換されることにより画面に表
示される図形となる。
【0006】ところで、上述した従来の画像処理装置に
おいては、キャラクターを表示装置の画面上で移動させ
るために、各パーツについてモーション中の全ての態様
毎にモデリング変換の為に必要な数種類のファクターを
用意し、これをテーブル化してメモリに記憶させてお
き、操作盤からの操作指令を基にテーブルからパーツに
関するモーションのデータを全て取り出し、これを基に
パーツを表示装置の画面上で移動表示させることにより
このキャラクターを移動させながら表示するようになっ
ていた。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
画像処理装置にあっては、キャラクターを表示装置の画
面上で移動させるためには、各パーツキャラクターの各
モーションについて多量のデータが必要となって記憶テ
ーブルが大容量化し、大容量のメモリを必要とする欠点
がある。故に、このようなテーブルの作成に多大な労力
および時間が避けられない。
【0008】したがって、従来の画像処理装置にあって
は、キャラクターの移動状態を示すモーションデータの
量が限定されることにより、例えばモーションの種類が
制限されたり、モーションの微細な動きが達成できない
ことがあり、人体類似のキャラクター等の如く関節など
のような多彩かつ自由な動きが期待されるようなもので
は、その動きを十分表現することができない。また、こ
のようにテーブルの作成に多大な労力および時間が必要
であるため、キャラクターの動きを変更、あるいは調整
しようとすることも容易ではない。
【0009】また、各キャラクターの各モーションにつ
いて、それぞれの動きの多量のデータが用意し記憶され
ているため、キャラクターの表示のための処理時間が長
くなって画像表示が遅延する。
【0010】そこで、本発明はこのような問題を解決す
るために、キャラクターを移動表示させるために必要な
データ量を多くしなくても、キャラクターの動きを多彩
に表現できる画像処理装置を提供することを目的とす
る。
【0011】また、キャラクターを表示するための処理
時間を短縮し、画像表示を迅速に実行可能な画像処理装
置を提供することを目的とする。さらに、これらの目的
を達成することができる画像処理方法を提供することを
目的とする。
【0012】
【課題を解決するための手段】前記目的を達成するため
に、この発明は、所定の図形を移動させながら表示でき
るように構成した画像処理装置において、前記図形の一
連の動きに対応し、この図形を表示するための基準とな
る基準点を記憶する基準点メモリと、前記基準点に対す
る図形の他の位置を決定するための制御点を記憶する制
御点メモリと、前記図形に移動指令を出力する操作手段
と、当該移動指令に基づいて、前記基準点と制御点とに
よって定まる座標系領域に前記図形を配置するための画
像処理を行なう画像表示処理手段と、を備えることを特
徴とする。
【0013】この画像処理装置は、好適には、前記移動
指令に基づいて決定される前記図形の一連の動きに対応
して、前記基準点メモリ及び制御点メモリから読み出し
た基準点の座標データ及び制御点の座標データから、図
形が所定の座標系に対して成す角度を求める角度演算手
段と、その求めた角度に前記図形を配置する配置手段と
を、さらに備える。
【0014】前記角度演算手段は、前記基準点の座標系
に対する制御点がなす角度を演算し、前記配置手段は当
該基準点からこの角度をもって前記図形を配置するよう
にする。
【0015】そして、本発明の画像処理装置は、さら
に、前記図形を表示するためのデータを所定の座標系に
予め記憶するメモリを備え、前記画像表示処理手段は、
このデータによって形成される図形を前記座標系領域に
配置する。
【0016】前記角度演算手段は、前記基準点のマトリ
クスの逆行列を制御点の絶対座標に乗じることにより制
御点の基準点に対する相対座標を演算し、この相対座標
から前記角度を演算する。
【0017】前記図形は、好適には複数のパーツが連結
されて作られたキャラクターであり、このキャラクター
の本体に対して基端側のパーツに前記基準点が設けら
れ、また先端側のパーツに対して前記制御点が設けられ
ている。前記画像表示処理手段は、パーツ同士の接続点
を演算する接続点演算手段を備え、前記角度演算手段
は、この接続点におけるパーツ同士の連結角度を演算す
るとともに、この接続点が前記基準点の基準座標に対し
て成す角度を演算し、前記配置手段は、基端側のパーツ
を基準点からこの角度をもって配置するとともに、前記
接続点から前記連結角度をもって他のパーツを配置す
る。
【0018】前記画像表示処理手段は、前記制御点を所
望の位置に変更ないしは設定可能な制御点変更・設定手
段を備える。前記角度演算手段は、前記角度を前記図形
に対して定義された長さのデータを持つ骨格に基づいて
演算する。
【0019】前記画像表示処理手段は、前記移動指令に
基づいて決定される前記図形の一連の動きに対応して、
前記基準点メモリ及び制御点メモリから読み出した基準
点の座標データ及び制御点の座標データから、前記図形
の所定の座標系に対するマトリクスを求めるマトリクス
演算手段と、その求めたマトリクスに合わせて前記図形
を配置する配置手段とを備える。
【0020】前記マトリクス演算手段は、前記基準点の
座標系に対する制御点がなすマトリクスを演算し、前記
配置手段は当該マトリクスに基づいて前記図形を配置す
る。前記マトリクス演算手段は、前記基準点のマトリク
スの転置行列を利用して制御点の基準点に対する相対座
標を演算し、この相対座標から前記マトリクスを演算す
る。
【0021】前記マトリクス演算手段は、前記制御点の
マトリクスに行列演算を適用して接続点におけるパーツ
のマトリクスを演算し、かつ前記パーツの接続点のマト
リクスに行列演算を適用することにより他のパーツのマ
トリクスを演算し、前記配置手段は、前記各パーツのマ
トリクスに基づいて前記キャラクターを所定の座標系に
配置する。
【0022】本発明に係わる画像処理装置およびその方
法によれば、移動指令に基づいて、基準点メモリから図
形を表示するための基準となる基準点のデータを読み出
し、かつ基準点に対する図形の他の位置を決定するため
の制御点のデータを制御点メモリから読み出し、前記基
準点と制御点とによって定まる座標系領域に図形を表示
するための画像表示処理が行なわれる。
【0023】したがって、基準点と制御点とを定めれ
ば、図形の移動表示が実質的に可能となるため、移動表
示に必要なデータ量を低減することができるとともに、
制御点を所望の位置に変更・設定することにより、図形
の多彩で自由な動きを実現することができる。
【0024】また、本発明によれば、移動指令に基づい
て決定された図形の一連の動きに対応して、前記基準点
メモリ及び制御点メモリから読み出した図形の基準点の
座標データ及び制御点の座標データから各図形の所定の
座標系に対する角度を算出し、求めた角度に図形を配置
する。したがって、この角度を予め記憶しておかなくて
も、図形の移動の都度この角度を演算し、演算した角度
で図形を表示できる。
【0025】この角度を基準点の座標系に対する角度と
して演算することにより、基準点に対してこの角度をも
って正確に図形を配置することができる。
【0026】図形データを所定の座標系に予め記憶し、
このデータによって形成される図形を前記座標系領域に
配置することにより、この図形を構成する各点毎の移動
状態に対応する座標データを予め作成して記憶しておく
ことを省略できる。このデータには、二次元図形を定義
するためのスプライトデータ、三次元データを定義する
ためのポリゴンデータとが含まれる。
【0027】前記基準点のマトリクスの逆行列を制御点
の絶対座標に乗じることにより制御点の基準点に対する
相対座標を演算し、この相対座標から前記角度を演算す
る。これにより基準点の座標系対する制御点が成す角度
を容易かつ迅速に求められる。前記基準点をキャラクタ
ーの基端側に設定し、制御点をキャラクターの先端側に
設定することにより、キャラクターの動作を人体類似の
ものに近づけることができる。
【0028】また、キャラクターが複数のパーツを連結
して構成されるものであり、基端側のパーツに対して前
記基準点が設けられ、また先端側のパーツに対して前記
制御点が設けられている時に、パーツ同士の接続点を演
算し、この接続点におけるパーツ同士の連結角度を演算
するとともに、この接続点が前記基準点の基準座標に対
して成す角度を演算し、基端側のパーツを基準点からこ
の角度をもって配置するとともに、前記接続点から前記
連結角度をもって他のパーツを配置することにより、複
数のパーツが連結して一つのキャラクターが構成される
ようなものでも、基準点と制御点とを設定するだけで、
キャラクターの移動状態を表示することができる。
【0029】また、前記画像表示処理手段は、前記移動
指令に基づいて決定される前記キャラクター(図形)の
一連の動きに対応して、前記基準点メモリ及び制御点メ
モリから読み出したキャラクターの基準点の座標データ
及び制御点の座標データから、キャラクターの所定の座
標系に対するマトリクスを求めるマトリクス演算手段
と、その求めたマトリクスに前記キャラクターを配置す
る配置手段とを備える構成としてある。
【0030】また、前記マトリクス演算手段では、ある
座標軸で回転させて得られたマトリクスが他の座標軸で
回転させて得られたマトリクスの転置行列になる点に着
目し、これを利用して相対座標を出し、これによりマト
リクス演算を行なうための余弦値、正弦値を算出し、こ
れら余弦値、正弦値に基づいて行列演算を行なうことに
より、直接前記基準点の座標系に対する制御点がなすマ
トリクスを演算している。前記配置手段は当該マトリク
スに基づいて前記キャラクターを配置する。
【0031】また、前記キャラクターが複数のパーツを
連結して構成されるものである場合には、基端側のパー
ツに対して前記基準点が設けられ、また先端側のパーツ
に対して前記制御点が設けられているときに、前記マト
リクス演算手段では、前記制御点のマトリクスに行列演
算をして接続点におけるパーツのマトリクスを、前記の
ように演算し、かつ前記パーツの接続点のマトリクスに
行列演算を適用することにより他のパーツのマトリクス
を演算している。このように接続点についても、それぞ
れパーツのマトリクスを直接演算している。
【0032】
【発明の実施の形態】以下、本発明の実施形態を図面を
用いて説明する。
【0033】<第1の形態の説明> 〔装置の構成〕図1において、画像処理装置1は、大別
して、キャラクターCa,Cb等を表示する表示装置
(ディスプレイ)2と、各種データ、テーブル及びプロ
グラムを記憶するメモリ3と、前記ディスプレイ2に表
示されるキャラクターCa又はCbに移動指令用の操作
信号を与える操作盤4と、操作盤4からの操作指令を基
にメモリ3内の各種データを参照して表示データを作成
し、これをディスプレイ2に与えるデータ処理装置5と
を備えている。各装置は次のように構成されている。
【0034】ディスプレイ2は、データ処理装置5に接
続されており、このデータ処理装置5から供給される表
示信号に応じてキャラクターCa,Cbやその他の画面
(例えば、背景画面(BG))を含めて一画面6として
表示する。ここで、メモリ3は、キャラクターを構成す
るためのデータとして三次元座標データを有し、データ
処理装置は所定の視点から見た図形を作成する。
【0035】〔キャラクターの構造の説明〕図2は キ
ャラクターCa又はCbの構造を説明するための図であ
る。これらキャラクターCa又はCbについて総称する
場合は、以下「C」で代表させて称することとする。キ
ャラクターCは、人体を意図して構成されたものであ
り、例えば、腰部パーツU1と、胸部パーツU2と、頭
部パーツU3と、左腕部パーツU4と、右腕部パーツU
5と、左脚部パーツU6と、右脚部パーツU7とから構
成されるものとする。また、各部パーツについて総称す
る場合には、以下「U」で代表させて説明する。
【0036】この実施形態では各部パーツUは、基準点
及び制御点(いずれも後で詳説する。)との間で、一つ
又は二つの骨の周りに定義される。パーツUは、一つの
骨で構成されているものと二つの骨で構成されているも
のとからなる。前者は、頭部、胸部、腰部のパーツがあ
り、後者は、左右の両腕、左右の両脚のパーツがある。
この実施形態では、キャラクターとして人体を想定して
いることから便宜上骨という表現を採用した。
【0037】基準点Tに関する座標データと、制御点S
に関する座標データと、その基準点Tと制御点Sの間に
配置する骨、骨が二つある場合は骨同士の角度にもよっ
てパーツの配置が定義される。
【0038】この実施形態では、後に詳細するが、制御
点Sと基準点Tに関するデータを基に所定の座標系にお
ける各部のパーツの骨の角度を計算して求め、この座標
系における角度のデータに従って骨Bを基準点Tと制御
点Sとの間に配置する。ここで、基準点Tとは、各パー
ツを定義する際の基準となるものであって、各パーツの
基端寄りに設定される。制御点Sとは、基準点Tに対す
る各パーツの他の位置を決定するためのポイントであっ
て、各部品の先端寄りに設定される。
【0039】各基準点は、各パーツの一連の動作の軌跡
に対応した相対座標データ群から構成され、また、各制
御点は、各部品の一連の動きに対応し、あるいはこの動
きとは関係なく一連の動きの過程にある各部品の先端が
占める所定位置のデータ群から構成される。本実施形態
では、前記制御点のデータは、絶対座標系における絶対
座標データ群から構成されている。
【0040】基準点を構成するデータには、前記相対座
標データの他、基準点の座標系が絶対座標系に対して成
す相対角度が含まれる。
【0041】腰部パーツU1以外のパーツU2〜U7の
基準点は、腰部パーツU1の基準点T1からの相対座標
データによって定義される。この腰部パーツU1の基準
点T1は、その他のパーツの基準となるものであって、
絶対座標系における絶対座標データと、絶対座標系に対
して成す基準点T1を中心とする座標系が成す角度によ
って特定される。
【0042】各々のパーツに対応する骨Bは、長さのデ
ータLを持つことになり、その長さのデータLは他の所
定座標系のX軸方向の進行方向に登録されている。した
がって、例えば一つの骨Bが、基準点Tと制御点Sとの
XYZ直交座標系のY軸,Z軸になす角度を算出し、そ
の角度に合わせて所定の座標系に登録されている骨Bの
データを、基準点Tの座標系に変換するようにすれば、
パーツがが基準点と制御点との間に定義されることにな
る。
【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で接続して配置して、これらの
周りに定義されることになる。
【0044】また、キャラクターCでは、前記各部のパ
ーツU1ないしU7のうち一つのパーツを基本パーツに
選択し、他のパーツを付属パーツとする。基本パーツと
しては、一定時間間隔に刻まれた時刻t1〜t13におけ
るキャラクターの一連の動き(この一連の動きを「モー
ション」という。この「モーション」の一例が図3に例
示されている。)の中で、中心的なパーツであることが
好ましく、例えば、腰部のパーツU1が好ましい。な
お、胸部のパーツU2でも良い。本実施形態では、便宜
上腰部のパーツU1を基本パーツにする。
【0045】そして、各パーツのモーション中の各時刻
t1,t2, …における基準点T、または制御点Sとの座
標データを所定のスプライン関数によって演算すること
により、時刻と時刻との間の各点T、Sのデータ量を飛
躍的に減少させるとともに、各モーションを滑らかに表
現することができる。
【0046】例えば、右腕のパーツU5の制御点S5と
基準点T5とを代表させて図3に表示するが、各モーシ
ョンデータに対する、これら基準点および制御点の軌跡
をスプライン関数によってその都度計算するか、或いは
データとして記憶すると、破線および一点鎖線で示すよ
うに滑らかな動きを表現することができる。
【0047】ここで、スプライン関数とは、節点と称さ
れる点と点との間に滑らかな曲線を形成するための関数
である。節点間毎の曲線は、例えば、次の(1)乃至
(3)式の多項式の集合によって表せられる。節点間毎
に異なる多項式を与えることもできる。
【0048】 x=a0+a1t+a22+・・・・・+ann ・・・(1) y=b0+b1t+b22+・・・・・+bnn ・・・(2) z=c0+c1t+c22+・・・・・+cnn ・・・(3) a0,a1,a2,・・・・・,an :所定の定数 b0,b1,b2,・・・・・,bn :所定の定数 c0,c1,c2,・・・・・,cn :所定の定数 x :x軸の座標 y :y軸の座標 z :z軸の座標 t :節点間を、0≦t≦1範囲で変動するパラメータ このようにスプライン関数は区分的多項式関数であり、
微分および積分が容易であることから、コンピュータグ
ラフィック技術において、必要となる滑らかな曲線を作
り出すことを容易とする。すなわち、節点を基準点ある
いは制御点とし、基準点と基準点との間、および制御点
と制御点との間をこのスプライン関数によって定義する
ことによって、キャラクターに滑らかな動きを与えるこ
とができる。
【0049】キャラクターCは、腰部パーツU1の基準
点T1を三次元の絶対座標系に配置し、これを基準とし
て各パーツU2〜U7の基準点T2〜T7を相対的に配
置することにより、各パーツを腰部のパーツU1に連結
させ、結果として、全体としては形の変化するキャラク
ターとして表示することができるようにしている。
【0050】〔メモリ3の詳細説明〕図4は、メモリ3
内の所定の記憶領域を示すものであり、腰部パーツU1
の基準点T1の一連の動きに相当するモーションデータ
用メモリ31と、各パーツU1〜U7の制御点メモリ3
2と、U1以外の付属パーツU2〜U7の基準点メモリ
33と、骨を成すデータを記憶する骨データメモリ34
と、定義された骨から最終的にキャラクター全体(闘
士)を定義するために必要なデータを記憶する補助メモ
リ35の例を示す説明図である。
【0051】モーションデータ用メモリ31は、キャラ
クターCに関するそれぞれ異なった動き(ジャンプ、ラ
ンニング等)に対応する複数のモーションデータ#1,
#2,…を記憶する。このモーションデータ用メモリ3
1には、複数のモーションのそれぞれについて一連の動
作の各態様毎の前記基本パーツである腰部パーツU1の
基準点の3次元絶対座標と、あるいは、これに加えてこ
の基準点を中心とする座標系が絶対座標系対して成す角
度が記憶されている。絶対座標系とは、ワールド座標系
をいう。なお、図3はモーションの一例を示したもので
ある。
【0052】このモーションデータ#1,#2,…を、
一つのキャラクターCに対して、例えば500〜700
程度用意すれば、闘士の動きを表現する場合であって
も、通常予想されるモーションの全てをほぼ網羅すると
思われる。
【0053】制御点メモリ32は、腰部パーツU1と他
の付属パーツU2〜U7の制御点Sの絶対座標データを
記憶している。また、基準点メモリ33は、腰部のパー
ツU1の基準点に対する他の付属パーツU2〜U7の基
準点Tの相対座標データ、あるいはこれに加えて各基準
点の基準座標系が絶対座標系に対して成す角度を記憶し
ている。この相対座標データは、腰部のパーツU1の基
準点に対する3次元座標データによって与えられる。
【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軸の進行方向に登録されている。
【0055】この実施形態では、骨に対して肉(すなわ
ち形状を成すパーツ)を定義することにより、キャラク
ターの3次元図形(闘士の形状)が定義される。例え
ば、ボディ座標系に上腕の図形を定義し、これをワール
ド座標系にモデリング変換する際に、例えば、上腕のパ
ーツを成す複数のポリゴンが上腕骨(B41又はB5
1)の例えば重心に対して相対的に配置される。この
後、闘士が視野変換されてディスプレイに表示される。
補助メモリ35は、各パーツに対する3次元形状を成す
ポリゴンの座標データを記憶している。本実施形態にお
いて、骨はパーツをワールド座標系に基準点と制御点に
基づいて配置(定義)されるためのものであって、通常
は骨自体がワールド座標系に配置されない。
【0056】また、補助メモリ35には、闘士を表示す
る上での色彩に関するデータE1 ,E2 ,E3 ,…や、
材質(木目、金属表面等)を表現するデータF1 、F2
、F3 ……等と、その他の表示特性に関するデータも
記憶されている。
【0057】また、図1に示すように、モーションデー
タ用メモリ31、制御点メモリ32、基準点メモリ3
3、骨データメモリ34及び補助メモリ35を含むメモ
リ3は、データ処理装置5に接続されており、前記キャ
ラクターCを三次元表示するための各種データの他、そ
の他の必要なデータ(例えば、背景画像を表示するため
のデータ)や処理プログラムを記憶している。データ処
理装置5は、これらプログラムによって必要な画像処理
動作を実行できるように構成されている。
【0058】操作盤4はデータ処理装置5に接続されて
おり、キャラクターCa、Cbからなる闘士を操作する
ための操作指令を形成してデータ処理装置5に与えるよ
うになっている。ここで、この操作指令は、闘士を移動
させるための出力から主として構成される。
【0059】データ処理装置5は、操作盤4からの操作
指令を基に、メモリ3(モーションデータ用メモリ3
1、制御点メモリ32、基準点メモリ33、骨データメ
モリ34及び補助メモリ35を含む)内の各種データ及
び処理プログラムに応じて、キャラクターCをディスプ
レイ2上で移動表示させる処理を実行し、その処理結果
を含む画面を表示信号Vdとしてディスプレイ2に出力
するようになっている。
【0060】また、データ処理装置5は各種の処理を実
行するCPU50を具備しており、このCPU50は、
メモリ3内の各種モーションデータ等やプログラムに従
って動作し、モーション選択ユニット(手段)51、座
標位置決定ユニット(手段)52、角度演算ユニット
(手段)53、画像出力制御ユニット(手段)54を実
現する。
【0061】〔画像処理装置の機能ブロックの説明〕図
5を用いて、このデータ処理装置によって実現される各
ユニット(手段)を詳細に説明する。図5は、画像処理
装置1の機能ブロック図を示したものである。
【0062】図5において、CPU50は、メモリ3内
の所定動作プログラムを実行することにより、操作盤4
からの操作指令SSを読み込み、その操作指令を基にメ
モリ3のモーションデータ用メモリ31からキャラクタ
ーCの複数のモーションのうちから所定のモーションを
選択する。具体的には、CPU50は、選択されたモー
ション中のパーツU1の基準点に関するデータ群(座標
データ等)を選択する、モーション選択ユニット51を
実現する。
【0063】符号52は、座標位置決定ユニットを示
す。このユニットは、この選択されたモーション中の所
定タイミング(図3の(a)〜(m)のいずれか)にお
ける各パーツU1〜U7毎の基準点を、基準点メモリ3
3から相対座標の形で読み出し、同様にこのモーション
とタイミングとに対応する各パーツU1〜U7の制御点
を制御点メモリ33から読み出し、これらのデータに基
づいて、ディスプレイの表示座標系に各パーツを移動表
示するための座標位置を決定する、座標位置決定ユニッ
トを示す。パーツU1〜U7の基準点の座標は絶対座標
の形に変換され、制御点の座標とともに、表示用マトリ
クスメモリ(MD)内に記憶される。
【0064】符号53は、各パーツ毎に、基準点と制御
点の座標データとから、基準点の座標系に対する各パー
ツの骨Bの角度を演算する角度演算装置である。この角
度演算ユニットにより、所定のモーション中の一態様に
おける角度が連続的に演算される。この角度も演算の都
度、表示用マトリックスメモリ(MD)内に順次記憶さ
れる。
【0065】この表示用マトリクスはメモリ3のRAM
内に構成されるもので、図7に示すように、各パーツ毎
で、かつ各モーション中のそれぞれの態様毎に、基準点
の座標データとこの基準点に対する骨の角度を記憶する
ように構成される。
【0066】図5に示す画像出力制御ユニット54は、
座標位置決定ユニット52で得られた座標データと角度
演算ユニット53で得られた角度とから、各部品の移動
表示処理、ひいては各部品の集合体からなるキャラクタ
ーの移動表示処理を実行する。すなわち、この画像出力
制御ユニットは、マトリクスMDの内容をCRT2に順
次表示するための処理を実行するものであり、データメ
モリ34から該当する骨のデータを取り出して、基準点
から演算された角度をもってパーツを配置する処理を実
行する。
【0067】また、データ処理装置5には、さらに画像
出力制御回路55が設けられている。この画像出力制御
回路55は、前記CPU50の画像出力制御ユニット5
4からのキャラクターと、前記CPU50からの画像信
号とメモリ3の内部のROMに記憶させてある画像デー
タとを基に表示信号Vdを形成して、ディスプレイ2に
与えるように構成されている。
【0068】このように構成され画像表示処理装置の実
施形態の動作を説明する。 <キャラクター作成動作>図6は、各パーツの基準点、
制御点を並びに角度データを順次演算するためのフロー
チャートである。
【0069】画像表示処理装置1の電源を投入し、次い
で、この画像処理装置1に対して必要な操作をして動作
させると、データ処理装置5がメモリ3内の動作プログ
ラムにしたがって動作を開始し、CPU50が前記各ユ
ニット51、52、53、54を実現する。そして、操
作盤4を操作することにより操作指令がデータ処理装置
5に与えられると、CPU50で実現されたモーション
選択ユニット51は、前記操作指令を基に、メモリ3内
のモーションデータ用メモリ31の中の所定のモーショ
ンデータ中から特定のモーションデータを選択する(ス
テップ101)。
【0070】次いで、選択されたモーションデータを基
に座標位置決定ユニット52が、パーツU1の一連の移
動のうち第1番目の態様(図3の(a))に対応した、
制御点S1及び基準点T1を取り出して絶対座標データ
を決定する(S102)。
【0071】次いで、この態様において、角度演算ユニ
ット53は、制御点S1の座標データと、基準点T1の
座標データからポリゴン(骨B1)の基準点の座標系に
おける角度を演算して決定する(S103)。これらの
座標データ及び角度データは、メモリ3内の表示用マト
リクスMDに記憶されるとともに、スタックマトリクス
メモリ(STM)に記憶させる(S104)。したがっ
て、以下の説明では、各部品のデータが演算された後、
順次、表示用マトリクスMDに記憶されるとともに、S
TMにも退避させているので、その都度言及せずに単に
表示用マトリクスMDに記憶させると表現するに止め
る。
【0072】そして、座標位置決定ユニット52は、S
TMを読み出しSTM内の腰部のパーツU1の基準点座
標データを取り出し(S105)、しかも、この腰部の
パーツU1に連結される胸部のパーツU2の基準点T2
のT1に対する相対座標データから、胸部パーツU2の
基準点T2の絶対座標データを演算する(S106)。
すなわち、パーツU1の基準点T1とパーツU2の基準
点T2との絶対座標系における座標位置が決定されたこ
とになる。
【0073】次に、この態様において、角度演算ユニッ
ト53は、制御点メモリ32から読み出した制御点S2
の座標データと、基準点メモリ33から読み出した基準
点T2の相対座標データから骨B2の基準点から見た、
すなわち基準点の座標系における角度を演算して決定す
る(S107)。これらの座標データ及び角度データ
は、メモリ3のRAM内の表示用マトリクスMDに記憶
される(S108)。以後、同様の処理が、各パーツに
ついて実行される(S109〜S128)。
【0074】以上のようにS101〜S120の処理に
よってキャラクターの上半身の画像を表示するために、
各パーツ毎の基準点の座標、制御点の座標、およびこれ
らの座標から骨の角度が演算され、かつS121〜S1
28の処理によってキャラクターの下半身を表示するた
めの同様なデータが演算されたことになる。
【0075】したがって、これら一連の処理が終了する
と所定のモーションの第1番目の態様(図3の(a))
の全パーツに対して骨の角度データが演算され、同時に
この全データが表示用マトリクスMD(図7参照)内に
設定記憶されたことになる。そして、この表示用マトリ
クスの内容に基づいて各パーツが、ディスプレイに図3
の(a)の態様となるように画面として表示されること
になる。
【0076】<パーツを配置するための角度算出動作>
図6における骨Bの角度算出(S103、S107、S
111、S115、S119、S123、S127)の
動作について、一つの骨Bからなるパーツ(腰、胸、
頭)の場合と、二つの骨Bから構成されるパーツ(右
腕、左腕、右脚、左脚)の場合とに分けて説明する。
【0077】〔一つの骨の場合〕図8は、一つの骨Bか
らなる部品パーツを配置するための角度を決定するため
のフローチャートである。図9は、基準点Tと制御点S
とが絶対座標系(ワールド座標系)に存在することの概
念図であり、図10は、制御点を基準点から見た座標、
すなわち、制御点を基準点の座標系に配置したこと説明
する概念図である。
【0078】図9に示すように所定のパーツUの基準点
Tの絶対座標(x0,y0,z0)は、一般には、x,
y,z直交座標系の原点にはない。また、所定パーツU
には角度データも含まれている。そこで、角度演算ユニ
ット53は、まず、パーツUの制御点Sの絶対座標(x
1,y1,z1)を用いて、基準点に対する制御点Sの相
対座標を求める。
【0079】そこで、角度演算ユニット53は、パーツ
Uの基準点Tの座標系を構成するマトリツクスの逆行列
を求める(S201)。次に、角度演算ユニット53
は、S201で求めた逆行列に制御点Sの絶対座標(x
1,Y1,z1)を乗じることにより、制御点の基準点の
座標系における相対座標(x2,y2,z2)を求める
(S202)。なお、基準点の座標系のマトリクスは、
絶対座標系の原点に対する基準点の座標位置および絶対
座標系に対する基準点の座標系の成すx,y,z軸の角
度によって特徴づけられる。
【0080】図10は、この演算処理が行なわれたこと
により、パーツUの基準点Tがx,y,z直交座標の原
点(0,0,0)に一致し、しかも制御点Sが座標点
(x2,y2,z2)で表現された状態を示している。
このような状態において、角度演算ユニット53は、次
の数式1で表せられるx軸上の点Pa(x,0,0)を
仮定する。
【0081】
【数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)。
【0083】
【数2】
【0084】
【数3】
【0085】ここで、前記基準点は骨Bを配置させるた
めの基端部となるポイントであり、制御点はその先端の
ポイントを示すものである。前記角度は基準点を元にし
てパーツを配置するための角度に相当するものである。
ポリゴンデータメモリ34に記憶されているポリゴンデ
ータを、そのメモリ内の座標系から図10に示す座標系
に前記角度分を考慮に入れた変換が実行されることによ
り、基準点と制御点との間に骨を簡単に配置できるよう
になる。
【0086】したがって、基準点Tの座標データと、制
御点Sの座標データと、を記憶しておくだけで、パーツ
Uのモーションを表現することができる。本来パーツU
のモーションを再現するには、基準点T、制御点Sに加
えて、パーツの角度自体を予め記憶しておく必要がある
が、本実施形態ではその必要がないので、記憶データ量
を少なくすることができる。しかも、制御点を適宜変更
することにより、基準点に対する骨の角度を所望の値に
実現でき、本実施形態のような人体類似のキャラクター
では自由な関節の動きを簡単に実現することができる。
【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には、既に説明したとおり、右腕、
左腕、右脚、左脚が相当する。
【0088】角度演算ユニット53は、パーツUの基準
点Tを基準点の座標系の原点(0,0,0)にあると仮
定して計算を始める。パーツUの基準点Tのマトリツク
スの逆行列を求めて、これに制御点Sの絶対座標を乗じ
ることにより、制御点の相対座標(x0,y0,z0)を
求める(S301)。このことは、先に説明した図9,
図10の場合と同様である。
【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に移動し
た状態になる。
【0090】
【数4】
【0091】
【数5】
【0092】このような状態に達したところで、図13
に示すように、各部の長さについて、骨Bn1の長さをL
1 、骨Bn2の長さをL2 、原点から点Pbまでの長さを
L0とし、かつ骨Bn1,Bn2のなす角度をθZ2とし、余
弦定理を利用すると、数式6〜8に示すように接続点Q
の座標およびこの角度θZ2を求めることができる(S3
03)。
【0093】
【数6】
【0094】
【数7】
【0095】
【数8】
【0096】このような状態で接続点Qの座標データを
元の座標系に戻す処理を実行する。つまり、前記数式2
及び数式3で算出した角度θZ0、θY0で、かつZ軸回
り、Y軸回りの順で回転させる。これにより、数式9に
示すように、接続点Qの座標データ(JX1,JY1,J
Z1 )が求まることになる(S304)。
【0097】
【数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)。
【0099】
【数10】
【0100】
【数11】
【0101】そして、S305において算出した骨Bn1
の角度(θY1,θZ1)の負の値(−θY1,−θZ1)で制
御点S(x0 ,y0 ,z0 )を、Y軸回り,Z軸回りの
順で回転させることにより、数式12を使用して制御点
Sの座標データ(x2 ,y2,z2 )を算出することが
できる(S306)。
【0102】
【数12】
【0103】また、上述したステップ306で求めた点
のデータを使用し、数式13に示すところにより、骨B
n1の角度θX1を算出することができる(S307;図1
5参照)。
【0104】
【数13】
【0105】制御点Sの座標データ(x2 ,y2 ,z2
)に変換した際に、この座標系をX軸方向から見ると
(Y,Z平面として見ると)、前記制御点Sは、図15
に示すように、Y,Z平面に対して角度θX1だけずれた
点になる。このずれを角度θX1だけ補正することによ
り、制御点SをY,Z平面上に一致させることができ
る。この角度θX1を骨Bn1のX軸に対する角度とする。
【0106】このようにして骨Bn1の角度を、θX1,θ
Y1,θZ1とすることができ、また、骨Bn2の角度は、π
−θZ2とすることができる。このように骨Bn1は三つの
角度を有するが、骨Bn2はZ軸の角度しか持たないこと
になる。
【0107】また、骨Bn1と骨Bn2との曲がる方向が1
80°逆の場合には、前記数式7おける符号を逆にし、
かつ骨Bn1の角度θX1からπを引き(θX1−π)、骨B
n2の角度θZ2の符号を逆にすれば良い。
【0108】このようにして骨Bn1、Bn2の角度を求め
ることができるので、パーツUの基準点Tと制御点Sの
位置における座標データに、前記骨Bをその角度になる
ように移動して配置することにより、当該位置に骨Bn
1、Bn2が定義される。
【0109】この実施形態によれば、二つの骨から定義
される二つのパーツであっても、一つの基準点と一つの
制御点によって、二つの骨の接合点における関節の複雑
な動きでも多彩でかつ簡単に表現することができる。
【0110】したがって、パーツUの基準点Tの座標デ
ータと、制御点Sの座標データと、ポリゴンに関するデ
ータとを記憶しておくだけでよく、例えば、パーツUの
各動きに対するX軸回り、Y軸回り、Z軸回りの全ての
回転角度までデータとして記憶しておく必要がないた
め、多量のデータを記憶させる必要がなく、しかも計算
で角度を算出するのみで角度を変更できるため角度変更
の自由度が高くなる。
【0111】図16に示すように、例えば右腕のパーツ
U5の制御点Sの元々の座標が点AAにあり、仮に壁W
の座標データを越えていた場合には、通常、そのまま表
示すると、パーツの制御点Sの部分が壁Wに埋まってし
まうように表示されてしまう。しかしながら、CPU5
0が制御点の位置を変更する制御点位置変更・設定ユニ
ットを実現することにより、制御点Sを壁W部分の表面
位置(点BB)に簡単に変更することができ、かつこの
点(BB)に制御点Sを移動させても、この制御点Sの
データで骨Bの配置角度を簡単に計算できる。
【0112】したがって、制御点Sの変更が容易であっ
て、パーツUの表現の自由度が増大する。CPU5は変
更された制御点の位置を制御点メモリ32に記憶する。
したがって、制御点は予めプログラムによって与えられ
るばかりでなく、キャラクターの移動表示の態様の如何
に応じて適宜設定、変更が可能となる。
【0113】また、図17に示すように、パーツUの基
準点Tに対して、パーツUの制御点Sを、点ACから点
BCにまで移動させるように動作(物体Xを取りに行く
ような動作)の場合には、本実施形態によれば、上述し
たように、前記制御点Sを点ACから点BCにもってく
るだけで、骨Bの配置角度を計算できるため、骨Bの配
置を正確に行なうことができ、しかもパーツUの表現の
自由度が増大する。
【0114】以上のように、結果的に各パーツUからな
るキャラクター全体の3次元図形を絶対座標系に表示す
ることができる。そして、このようにして得た各パーツ
Uの絶対座標系のデータを記憶しているマトリクスMD
内から前記画像出力制御ユニット54(図5参照)はデ
ータを取り出し、このデータを基にキャラクターCを定
義するための画像信号を形成する。
【0115】そして、画像出力制御回路55は、この画
像信号とメモリ3内に設定記憶された他の画像データ
(例えば、背景画像)とを含めた画像信号Vdを形成
し、表示装置制御信号とともにこれら信号をディスプレ
イ2に出力する。これによって、選択されたモーション
のうち第1番目の態様のキャラクターの全体像が表示さ
れる。
【0116】この後、選択されたモーションのうちの第
2番目の態様における腰部パーツU1のデータに基づい
て、前記処理を繰り返すことにより第2番目の態様のキ
ャラクターの全体像(図3の(b))が表示される。こ
れを順次繰り返すと選択されたモーションの一連の動作
を構成する全ての場面(瞬間)のキャラクターの態様を
表示することができる(図3参照)。そして、最後のキ
ャラクターの態様(図3の(m))について処理が終了
した時点で、選択されたモーションの表示を終了する。
【0117】したがって、このような処理を続けること
により、キャラクターCは時刻t1のときに例えば図3
(a)に示すような形状で表示され、時刻t2 のときに
例えば図3(b)に示すような形状で表示され、・・・
時刻t13のときに例えば図7(m)に示すような形状で
表示されることになり、キャラクターCはディスプレイ
2上において連続して動作しているように見える。
【0118】なお、図6に示す処理の過程で、図4に示
す補助メモリ35が順次参照されて、各パーツに対して
定義されるポリゴンについて所定の色彩E、材質F等を
特定する記憶データが読み出されて、これら所定の色彩
や材質感を表現できるように構成されている。
【0119】〔第1実施形態の利点等〕以上のように本
実施形態では、キャラクターCを例えば7個のパーツU
1〜U7に分割し、各パーツについて例えば腰部のパー
ツU1を基本パーツとして定め、これを操作指令及びモ
ーションデータ31からモーション選択ユニット511
より基本パーツU1のモーション位置等を決定して基本
パーツの基準点を表示空間の三次元座標系(ワールド座
標系)に置いた。そして、この基本パーツU1を基準と
して制御点メモリ32、基準点メモリ33及び骨データ
メモリ34の各データを参照して、各骨Bの絶対座標系
における配置を計算で求め、これから絶対座標系におけ
るキャラクターCを構築できるのである。
【0120】したがって、キャラクターCを形成するパ
ーツUの制御点Sのデータを決めることにより、各骨B
のポリゴンの絶対座標系における配置を計算により簡単
に算出することができるから、パーツUの表現の自由度
が増大し、ディスプレイ2の画面表示上でキャラクター
に対する必要な表示状態を容易に得ることができる。
【0121】また、ディスプレイ2の画面表示上で好ま
しくない表示状態の場合には、制御点Sの座標を好まし
い位置に移動させるだけで、骨Bの絶対座標上での配置
を簡単に計算で出せるから、上述同様に、パーツUの表
現の自由度が増大し、かつ必要なデータ量が少なくて済
む。
【0122】また、モーションデータ用メモリ31は、
腰部のパーツのモーションデータを備えることにより、
画像表示のための処理時間を短縮しながら、キャラクタ
ーを移動表示することができる。また、制御点メモリ3
2は、各モーションに対するパーツUの制御点Sのデー
タを記憶しており、かつその制御点Sの変更が容易にな
っている。
【0123】前記メモリは複数のモーションデータを備
え、操作盤からの操作指令を基に所定のモーションデー
タを選択できることから、複数のモーションによってキ
ャラクターの移動表示が可能となり、キャラクターの移
動表示の多様化がさらに図れることになる。
【0124】なお、前記実施形態では、パーツUの制御
点Sを絶対座標で与えてきたが、基準点Tに対する相対
座標でもよく、また、特定の基端部(例えば腰部のパー
ツUの基準点T1)からの相対座標であってもよい。
【0125】なお、本実施形態では、複数のパーツの集
合体からなるキャラクターに基づいて闘士の形状を構成
するための複数のポリゴンをモデリング変換したが、骨
の集合自体を闘士の形状であるとして、ポリゴンを配置
するようにしても良い。後者の場合は、骨自体が闘士の
形状であるとして、骨を構成する複数のポリゴンが定義
される。
【0126】<第2の実施形態>次に、本発明に係る画
像処理装置の第2の実施形態について説明する。上述し
た第1の実施形態は各パーツの角度を求めてからモーシ
ョンに応じたマトリクスを求めるようにしたものである
のに対して、この第2の実施形態は、モーションに応じ
た各パーツのマトリクスを直接求めるようにしたもので
ある。以下、第2の実施形態について図18以降の図を
参照して説明する。
【0127】図18は、本発明に係る画像処理装置の第
2の実施形態を示す機能ブロック図である。図18にお
いて、CPU50は、メモリ3内の所定動作プログラム
を実行することにより、操作盤4からの操作指令SSを
読み込み、その操作指令を基にメモリ3のモーションデ
ータ用メモリ31からキャラクターCの複数のモーショ
ンのうちから所定のモーションを選択し、具体的には、
選択されたモーション中のパーツU1の基準点に関する
データ群(座標データ等)を選択する、モーション選択
ユニット51を実現するものである。これについては、
第1の実施形態と同様である。
【0128】このモーション選択ユニット51の出力
は、マトリクス演算ユニット52aに与えられるように
なっている。マトリクス演算ユニット52aは、この選
択されたモーション中の所定タイミング(図3の(a)
〜(m)のいずれか)におけるパーツU1〜U7毎の基
準点、各パーツU1〜U7の制御点のマトリクスMtを
メモリ32,33から読み出し、これらのデータに基づ
いて、ディスプレイの表示座標系にパーツを移動表示す
るためのマトリクスML を決定するようになっている。
また、マトリクス演算ユニット52aは、このマトリク
スML を表示用マトリクス(MD)内に記憶させるとと
もに、スタックマトリクス(STM)に記憶させるよう
になっている。また、マトリクス演算ユニット52a
は、所定のモーション中の一態様における骨(B)のマ
トリクスMを連続的に演算できるようになっている。
【0129】画像出力制御ユニット54は、マトリクス
演算ユニット52aで得られたマトリクスとから、各パ
ーツの移動表示処理、ひいては各部品の集合体からなる
キャラクターの移動表示処理を実行する。すなわち、こ
の画像出力制御ユニット54は、マトリクスメモリMD
の内容をCRTに順次表示するための処理を実行するも
のであり、データメモリ34から該当する部品パーツの
ポリゴンデータを取り出して、基準点から演算された角
度をもってパーツを配置する処理を実行する。
【0130】また、データ処理装置5には、さらに画像
出力制御回路55が設けられている。この画像出力制御
回路55は、CPU50の画像出力制御ユニット54か
らのキャラクターと、CPU50からの画像信号とメモ
リ3に記憶させてある画像データとを基に表示信号Vd
を形成して、ディスプレイ2に与えるように構成されて
いる。
【0131】<キャラクター作成動作>図19は、各パ
ーツのマトリクスを順次演算するためのフローチャート
である。この画像処理装置1に対して必要な操作をして
動作させると、データ処理装置5がメモリ3内の動作プ
ログラムにしたがって動作を開始し、CPU50が各ユ
ニット51、52、53a、54を実現する。
【0132】そして、操作盤4を操作することにより操
作指令がデータ処理装置5に与えられると、CPU50
で実現されたモーション選択ユニット51は、操作指令
を基に、メモリ3内のモーションデータ用メモリ31の
中の所定のモーションデータ中から特定のモーションデ
ータを選択する(ステップ401)。
【0133】次いで、選択されたモーションデータを基
にマトリクス演算ユニット52aが、パーツU1の一連
の移動のうち第1番目の態様(図3の(a))に対応し
た、制御点S1及び基準点T1のデータを持つマトリク
スMt1 を取り出して、表示上の基準位置を決定すると
ともに、このような制御点S1の座標データと基準点T
1の座標データを持つマトリクスMt1 を基に骨B1の
基準位置におけるマトリクスML1を演算して決定する
(S403)。このようにして得られたマトリクスML1
は、メモリ3内の表示用マトリクスMDに記憶されると
ともに、スタックマトリクス(STM)に記憶させる
(S403)。
【0134】したがって、以下の説明では、各パーツの
データが演算された後、順次、表示用マトリクスMDに
記憶されるとともに、STMにも退避させているので、
その都度言及せずに単に表示用マトリクスMDに記憶さ
せると表現するに止める。
【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)。
【0136】以上のようにS401〜S415の処理に
よってキャラクターの上半身の画像を表示するために、
各パーツ毎の基準点の座標、制御点の座標のマトリクス
tから骨Bを表示するためのマトリクスML が演算さ
れ、かつS416〜S421の処理によってキャラクタ
ーの下半身を表示するための同様なデータが演算された
ことになる。
【0137】したがって、これら一連の処理が終了する
と所定のモーションの第1番目の態様(図3の(a))
の全パーツのマトリクスML が演算され、同時にこの全
データが表示用マトリクスMD内に設定記憶されたこと
になる。そして、この表示用マトリクスの内容を画像出
力制御ユニット(配置ユニット)54によりディスプレ
イ2に再生することにより、図3の(a)の態様が画面
として表示されることになる。
【0138】<パーツを配置するためのマトリクスML
の算出動作>図19におけるポリゴン(骨B)のマトリ
クスML の算出(S402、S405、S408、S4
11、S414、S417、S420)の動作につい
て、一つの骨Bからなるパーツ(腰、胸、頭)の場合
と、二つの骨Bから構成されるパーツ(右腕、左腕、右
脚、左脚)の場合とに分けて説明する。
【0139】〔一つの骨の場合〕図20〜図23は、一
つの骨Bからなるパーツを配置するためのマトリクスM
を決定するための説明図である。図20は、このマトリ
クスMを求めるためのフローチャートである。図21
は、基準点Tと制御点Sとが相対座標系に存在する場合
の説明図である。図22は、図21をZ軸方向からみた
図である。図23は、図21のXY平面をθZ だけ傾け
た平面をY軸方向から見た図である。
【0140】第2の実施形態は、ーX,−Y,−Zの順
序で回転させたマトリクスMがZ,Y,Xの順序で回転
させたマトリクスの転置行列になることを利用してい
る。すなわち、あるマトリクスにRx,Ry,Rzの各
成分を持つ回転マトリクスを乗じて回転させるに際し、
X軸を中心に負方向に回転させ、次にY軸を中心に正方
向に回転させ、次いでZ軸を中心に正方向に回転させた
マトリクスMが、Z軸を中心に正方向に回転させ、次に
Y軸を中心に正方向に回転させ、次にX軸方向に回転さ
せたマトリクスの転置行列になるという点を利用してパ
ーツの相対座標を求め、これによりz軸及びy軸に対す
る角度を求め、これら角度で行列計算をすることによ
り、絶対座標上に配置するパーツのマトリクスMを求め
るようにしている。
【0141】図9に示すように所定のパーツUは、基準
点Tの絶対座標(x0,y0,z0)及び制御点Sの絶対
座標(x1,y1,z1)のマトリクスMsで表される。
また、基準点Tの絶対座標(x0,y0,z0)は、一般
には、x,y,z直交座標系の原点にはない。
【0142】そこで、パーツUの相対座標を求める(ス
テップ501)。この相対座標は、次の点に着目して得
るものである。あるマトリクスMを座標移動(T)した
ものと座標回転(R)したものの合成である行列M-1
M(=E)は、数式14に示すように、
【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は、次のような性質を持つことが分か
る。
【0144】すなわち、回転(R)の逆行列は、角度の
符号を反転したもので取り扱うことができる。また、移
動(T)の逆行列は、座標の符号を反転したもので取り
扱うことができる。
【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 とする
と、
【0146】
【数15】
【0147】となる。一方、−x,−y,−zの順序で
回転させたマトリクスMは、上記と同様に、
【0148】
【数16】
【0149】となる。数式15及び数式16より、
【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
y,Rz)となることを表している。つまり、−x,−
y,−zの順序でマトリクスMを回転させたものは、
z,y,xの順序でマトリクスMを回転させたものの転
置行列になることを意味している。
【0151】ゆえに、制御点Sの絶対座標G(gx,g
y,gz)を制御点Sの相対座標L(x0 ,y0 ,z0
)にするためには、カレントマトリックス(基準点T
に相当)を数式18のようにする必要がある。
【0152】
【数18】
【0153】このようなカレントマトリックスとなって
いるときに、移動成分(m30,m31,m32)を絶対座標
(gx,gy,gz)から引くと、すなわち、x=gx
−m30,y=gy−m31,z=gz−m32と置くことに
より、カレントマトリクス(基準点T)を原点に仮定す
ることができる。これにより、基準点Tは、図20に示
すように、原点におくことができる。
【0154】このような状態に置かれているとして、制
御点Sの相対座標L(x0 ,y0 ,z0 )を求める。こ
の制御点Sの相対座標L(x0 ,y0 ,z0 )は、数式
18を基に、
【0155】
【数19】x0 =m00・x+m01・y+m02・z y0 =m10・x+m11・y+m12・z z0 =m20・x+m21・y+m22・z のように得ることができる。
【0156】この第2の実施形態における上記計算は、
通常の座標移動の計算量とほぼ同じである。一方、前記
第1の実施形態のように逆行列を求めてから相対座標を
求める計算であると、逆行列を求めるために座標移動の
計算量の約6倍程度かかり、さらに座標移動の計算が必
要となることから、最終的に座標移動の計算量の約7倍
必要であった。しかしながら、上述したようにこの第2
の実施形態では、第1の実施形態の計算量の約7分の1
に短縮することができる。
【0157】このようにして相対座標が算出されると、
sin θz,cosθz,sinθy ,cosθyを簡単に求めること
ができることになる。そこで、マトリクス演算ユニット
52aは、まず、数式20から sinθz,cosθzを算出
する(ステップ502)。これは、図21のものをz軸
方向から見ると、図22に示すように、斜辺が(x0 2
0 21/2となり、かつx軸の長さがx0 、y軸の長さ
がy0 となるので、sinθz ,cosθz を簡単に算出する
ことができる。
【0158】
【数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のように
簡単に求めることができる。
【0160】
【数21】
【0161】このようにして求めたsin θz ,cosθz
sinθy,cosθy を使用して、マトリクス演算ユニット
52aは、数式22により、基準点のマトリクスMcを
Z,Y回転させる(ステップ503)。これにより、制
御点SのマトリクスMsは、
【0162】
【数22】
【0163】で求められる。
【0164】制御点SのマトリクスMsは、通常は、角
度θを与えて回転させるが、結局は、sinθ,cosθを求
めてから計算しているので、直接 sinθ,cosθを与え
て回転させた方がよいからである。
【0165】したがって、基準点のマトリクスMcを
z,y回転させたものは、数式22のように、制御点S
のマトリクスMsとなる。このようにして求めたマトリ
クスは、骨のマトリクスMとしてよい。
【0166】ここで別な見方をしてみると、Mtを基準
点マトリクス、Msを制御点マトリクス、Mbを骨Bの
マトリクス、Rzをz軸回転、Ryをy軸回転、Tを座
標移動(トランス)、及びLを骨Bの長さとすると、骨
BのマトリクスMbと、基準点TのマトリクスMtと、
制御点のマトリクスMsとの間には、次の数式23に示
すようになる。
【0167】
【数23】Mb=Ry・Rz・Mt Ms=T・Mb=(L,0,0,1)・Mb これは、骨Bがx軸方向に延びていることから、骨の長
さLだけ移動したものが制御点SのマトリクスMsとな
る。
【0168】ここで、基準点TのマトリクスMtは、数
式24に示すように、
【0169】
【数24】
【0170】となっている。したがって、骨Bの制御点
SのマトリクスMsは、
【0171】
【数25】Ms=T・Mb=T・Ry・Rz・Mt となる。
【0172】ここで、制御点Sの座標を(xS ,yS
S )とすると、基準点TのマトリクスMtを移動させ
て回転させる場合に、
【0173】
【数26】
【0174】として与えられることになる。このように
本実施形態では、骨が一つの場合には、基準点Tに対す
る制御点Sの相対座標を求めることにより、sinθz,co
z、sinθy,cosθyを求め、しかも、これら sin、co
sの値を用いて基準点Tの制御点Sの座標を求めること
により、骨BのマトリクスMを算出することにしてい
る。
【0175】〔二つの骨の場合〕図24は、二つの骨か
らなるパーツを表示するためのフローチャートである。
図25は、二つの骨Bn1、Bn2(図2に示すように、こ
こで、nは4,5,6,7である。)を有するパーツU
の基準点Tを直交座標系の原点(0,0,0)に配置し
た状態の図である。
【0176】マトリクス演算ユニット52aは、まず、
相対座標を求める(ステップ601)。この相対座標の
算出の方法は、前記図9、図21〜図23に示す骨一つ
の場合の算出方法と全く同一である。このようにして制
御点Sの相対座標を求めると、パーツUの基準点Tは、
直交座標系の原点(0,0,0)に配置した状態になる
(図25参照)。
【0177】図25において、骨Bn1の長さをL1 、骨
Bn2の長さをL0 、基準点Tと制御点Sの長さをL1 と
し、制御点Sの座標を仮にL(x0 ,y0 ,z0 )とす
ると、L1 =(x0 2+y02+z0 21/2となる。
【0178】そこで、L1 について、sinθz ,cosθ
z ,sinθy ,cosθy を算出する(ステップ602)。
これは、前述した骨一つの場合の計算方法と全く同様に
行えばよく、マトリクス演算ユニット52aは、sin θ
z ,cosθz については数式20を利用し、 sinθy ,c
osθy については数式21を利用して、それぞれ算出す
る。
【0179】マトリクス演算ユニット52aは、上述し
たようにして得られたsinθz,cosθz,sinθy,cosθy
を使用し、行列計算を行うと長さL1 のマトリクスM
(すなわち制御点SのマトリクスMs)を得ることがで
きる。
【0180】次に、骨Bn2のマトリクスMb2は、制御点
SのマトリクスMsをz軸の上でθz2だけ回転させたも
のに相当する。したがって、次に骨Bn2のマトリクスを
算出することにする。
【0181】図25において、θz2は線分L1 と線分L
0 とがなす角度であり、θz1は骨Bn1と骨Bn2とがなす
角度である。したがって、マトリクス演算ユニット52
aは、余弦定理を使用し、数式27のようにして、cos
θzを算出する。
【0182】
【数27】
【0183】また、sin2θ+ cos2θ=1の公式によ
り、sinθ=±(1− cos2θ)1/2となるから、マトリ
クス演算ユニット52aは、 cosθZ2を算出した後に、
上記式よりsinθz2を算出する(ステップ604)。な
お、骨Bn2が正方向に曲がるときにはsinθz2=+(1
−cos2θz21/2となり、骨Bn2が逆に曲がるときにはs
inθz2=−(1−cos2θz21/2 となる。
【0184】次に、マトリクス演算ユニット52aは、
上述したようにして求めた sinθz2,cosθz2を使用
し、制御点SのマトリクスMsをθz2だけz軸上で回線
させる計算をする(ステップ605)。この計算につい
て、マトリクス演算ユニット52aは、数式28を使用
して計算をしている。
【0185】
【数28】
【0186】これにより、第1の実施形態のように角度
を計算しなくても、骨Bn2のマトリクスを直接得ること
ができる。
【0187】次に、骨Bn1のマトリクスMについて求め
ることにする。まず、図25における関係から、余弦定
理を適用すると、cosθz1は、数式29のようになる。
【0188】
【数29】
【0189】また、sin2θ+ cos2θ=1の公式によ
り、sinθ=±(1− cos2θ)1/2 となるから、マトリ
クス演算ユニット52aは、 cosθ21を算出した後に、
上記式よりsinθz1を算出する(ステップ606)。な
お、骨Bn1が正方向に曲がるときには、sinθz1=−
(1−cos2θz21/2となり、骨Bn1が逆に曲がるとき
にはsinθz1=+(1−cos2θz11/2となる。
【0190】次に、マトリクス演算ユニット52aは、
上述したようにして求めた sinθz1,cosθz1を使用
し、骨Bn2のマトリクスM(骨Bn1と骨Bn2の接続部で
あって、マトリクス(Rz2・Ms))をθz1だけ回転さ
せる計算をする(ステップ607)。この計算につい
て、マトリクス演算ユニット52aは、数式30を使用
して計算をしている。
【0191】
【数30】
【0192】これにより、第1の実施形態のように角度
を計算しなくても、骨Bn1のマトリクスを直接得ること
ができる。
【0193】〔第2の実施形態の利点〕本第2の実施形
態では、各骨が基準位置から実際に配置される際に当該
骨に与えられるマトリクスを直接得ることができる。こ
れは、第1の実施形態が、逆行列を求めてから一致処理
を実行し、その後に角度を計算し、その角度等から実際
に配置される骨のマトリクスにするという経路をたどっ
ているのに対して、第2の実施形態では、第1の実施形
態の7分の1の計算量で相対座標を出して、回転させる
ためのsin、cosを求め、これにより所定の回転等をさせ
ることにより、骨が配置されるマトリクスを直接算出し
ているため、計算量が少なくて済むことになる。
【0194】また、前記キャラクターの一連の動きに対
応して、前記基準点メモリ及び制御点メモリから読み出
したキャラクターの基準点の座標データ及び制御点の座
標データから、キャラクターの所定の座標系に対するマ
トリクスを直接求めているので、演算速度が高速にな
り、しかもキャラクターの配置を正確に行なうことがで
きる。
【0195】第2の実施形態では、これら基準点と制御
点とによって実質的にキャラクターの移動表示が可能と
なり、キャラクターの移動表示に必要なデータ量を低減
することができるとともに、キャラクターの所望の位置
に設定することが可能になり、キャラクターの多彩で自
由な動きを実現することができる。
【0196】第2の実施形態では、マトリクス演算ユニ
ット52aでは、前記基準点のマトリクスの転置行列を
利用して制御点の基準点に対する相対座標を演算し、こ
の相対座標から前記マトリクスを演算するための余弦、
正弦値をを求めるようにしたので、正確なマトリクスが
算出でき、またマトリクス算出値の再演算が必要なとき
にでも簡単かつ高速に再演算が可能になる。
【0197】第2の実施形態では、前記キャラクターが
複数の単位キャラクターを連結して構成されるものであ
る場合であって、基端側の単位キャラクターに対して前
記基準点が設けられ、また先端側の単位キャラクターに
対して前記制御点が設けられているときでも、マトリク
ス演算ユニット52aにより、前記制御点のマトリクス
に行列演算をして接続点における単位キャラクターのマ
トリクスを演算し、かつ前記単位キャラクターの接続点
のマトリクスに行列演算することにより他の単位キャラ
クターのマトリクスを演算できるので、連結したキャラ
クターの表現が多彩なものになる。
【0198】〔その他1〕次に、動きを作ったモデルと
画面に出したいモデルの体型が異なる場合が存在する。
このような場合には、マトリクスの座標成分を再計算す
る必要がある。例えば、第1の実施形態における図2に
おいて、骨B1 の基準点T1 と骨B3 の基準点T3 の距
離が異なるときを考えてみる。
【0199】骨B2 のマトリクスは、前記した第2の実
施形態による方法によって求められたマトリクスと同じ
ものといえる。しかしながら、もし、基準点T3 までの
距離が動きをつきった元のモデルより長い場合、当然、
骨B3 のマトリクスは第2の実施形態で計算したマトリ
クスと一致しない。このような場合には、骨Bn3のマト
リクスの座標成分を再計算する必要があるのである。
【0200】また、ゲームの中での座標系と動きを作っ
た座標系とは、一般的に、一致しない。例えばz軸方向
に走っている動きを作った場合、実際のゲーム上では、
xz平面上を動けなければならない。
【0201】よって、始めにy軸上の角度成分θy を回
転させておいてから、動きのマトリクスを乗じて計算す
る必要がある。このとき、骨のマトリクスに右から、角
度θyの座標変換をかけてやればよい。
【0202】第1の実施形態では、θy 回転させてか
ら、各パーツの角度や座標を順次計算していたが、上述
した第2の実施形態では、このような計算のやり直しに
対して、マトリクス自体を加工することで対処できるた
めに、計算量が少なくできることが分かる。
【0203】〔その他2〕前記第2の実施形態におい
て、マトリクスが与えられたときに、角度を簡単に計算
できる方法について説明する。前記数式15を利用する
ことにより、数式31に示すように、θy,θx,θz
を算出することができる。
【0204】
【数31】
【0205】このように要素mを用いることにより、θ
y,θx,θzを算出することができる。
【0206】また、この場合は、z,y,xの順序で回
転させた場合のθz,θy,θxだが、同様な方法によ
り、任意の回転軸の順での回転各を求めることができ
る。例えば、y,x,zの順序で回転させる場合、数式
15を参照して、数式32により求めることができる。
【0207】
【数32】
【0208】この数式28の結果を使用することによ
り、数式33のように、θx,θy,θzを算出するこ
とができる。
【0209】
【数33】
【0210】上の結論は、角度と角度を接続するときに
有効である。例えば、θx0,θy0,θz0と、θx1
θy1,θz1の角度差を算出したいときに、これらを単純
に差し引いても、回転軸の順番が重要であるために、角
度の差とならない。このような場合、次の数式34,3
5が成立するマトリクスMxを算出すればよい。
【0211】
【数34】Mx・Rx0・Ry0・Rz0=Rx1・Ry1・Rz1
【0212】
【数35】 Mx=Rx1・Ry1・Rz1・Rz0 -1・Ry0 -1・Rx0 -1 この数式35の右辺は、−θx0,−θy0,−θz0
θx1,θy1,θz1の順序で回転させたのと同じことであ
る。このようにして計算したマトリクスMxから成分を
取り出して角度を計算すれば、角度の差を正確に求める
ことができる。このようにして得られる結論は、モーシ
ョンとモーションとを滑らかにつなぐ理論に応用するこ
とができる。
【0213】
【発明の効果】以上説明したように、本発明に係わる画
像処理によれば、前記基準点と制御点とによって定まる
座標系領域に前記キャラクターを表示するようにしたの
で、これら基準点と制御点とによって実質的にキャラク
ターの移動表示が可能となり、キャラクターの移動表示
に必要なデータ量を低減することができるとともに、制
御点を所望の位置に設定することにより、キャラクター
の多彩で自由な動きを実現することができる。
【0214】また、前記移動指令に基づいて決定された
前記キャラクターの一連の動きに対応して、前記基準点
メモリ及び制御点メモリから読み出したキャラクターの
基準点の座標データ及び制御点の座標データから各キャ
ラクターの所定の座標系に対する角度を角度演算ユニッ
トで算出し、その求めた角度にキャラクターを配置する
ため、キャラクターの移動を表す角度を予め記憶しなく
ても、キャラクターの移動の都度この角度を演算し、演
算された角度でキャラクターを表示することができる。
【0215】この角度を基準点の座標系に対する角度と
して演算することにより、基準点に対して正確にキャラ
クターを配置することができる。
【0216】また、前記キャラクターを表示するための
データを所定の座標系に予め記憶し、このキャラクター
データによって形成されるキャラクターを前記座標系領
域に配置することにより、キャラクターを構成するため
の点毎に移動状態の座標データを登録することを省略す
ることができ、キャラクターの移動表示に必要なデータ
量を大幅に低減することができる。
【0217】また、基準点のマトリクスの逆行列を制御
点の絶対座標に乗じることにより制御点の基準点に対す
る相対座標を演算し、この相対座標から前記角度を演算
することにより、基準点の座標系対する制御点が成す角
度を容易に求めることができ、移動表示のための処理動
作が迅速化される。
【0218】さらに、前記基準点をキャラクターの基端
側に設定し、前記制御点をキャラクターの先端側に設定
することにより、キャラクターに人体に近似した動きを
実現しながら、前記本発明の種々の効果を達成すること
ができる。
【0219】また、複数の単位キャラクターが連結して
一つのキャラクターが構成されるようなものでも、基準
点と制御点とを設定するだけで、キャラクターの移動状
態を表示することができる。
【0220】また、前記キャラクターの一連の動きに対
応して、前記基準点メモリ及び制御点メモリから読み出
したキャラクターの基準点の座標データ及び制御点の座
標データから、キャラクターの所定の座標系に対するマ
トリクスを直接求めているので、演算量が極端に少なく
なり、かつ演算速度が高速になり、しかもキャラクター
の配置を正確に行なうことができる。
【0221】これにより、これら基準点と制御点とによ
って実質的にキャラクターの移動表示が可能となり、キ
ャラクターの移動表示に必要なデータ量を低減すること
ができるとともに、キャラクターの所望の位置に設定す
ることが可能になり、キャラクターの多彩で自由な動き
を実現することができる。
【0222】また、前記マトリクス演算ユニットでは、
前記基準点のマトリクスの転置行列を利用して制御点の
基準点に対する相対座標を演算し、この相対座標から前
記マトリクスを演算するための余弦、正弦値をを求める
ようにしたので、正確なマトリクスが算出でき、またマ
トリクス算出値の再演算が必要なときにでも簡単かつ高
速に再演算が可能になる。
【0223】また、前記キャラクターが複数の単位キャ
ラクターを連結して構成されるものである場合であっ
て、基端側の単位キャラクターに対して前記基準点が設
けられ、また先端側の単位キャラクターに対して前記制
御点が設けられているときでも、マトリクス演算ユニッ
トにより、前記制御点のマトリクスに行列演算をして接
続点における単位キャラクターのマトリクスを演算し、
かつ前記単位キャラクターの接続点のマトリクスに行列
演算することにより他の単位キャラクターのマトリクス
を演算できるので、連結したキャラクターの表現が多彩
なものになる。
【図面の簡単な説明】
【図1】本発明に係る形体の多角形表示処理装置の第1
の実施形態を示すブロック図である。
【図2】本実施形態で使用される表示用形体を示す説明
図である。
【図3】本実施形態で実現される表示用形体の動きの例
を示す説明図である。
【図4】本実施形態のメモリの構成例を示す説明図であ
る。
【図5】本実施形態の機能ブロック図である。
【図6】本実施形態の動作を説明するためのフローチャ
ートである。
【図7】本実施形態の表示用マトリクスの構成例を示す
説明図である。
【図8】部品パーツの角度を算出する動作を説明するた
めのフローチャートである。
【図9】同実施形態における部品パーツがXYZ座標系
に置かれた状態の説明図である。
【図10】同実施形態における一つの部品パーツの基準
点TがXYZ座標系の原点に置かれた状態の説明図であ
る。
【図11】部品パーツが複数の単位キャラクターによっ
て構成される場合の角度の算出動作を説明するためのフ
ローチャートである。
【図12】同実施形態におけるトの基準点TをXYZ座
標系の原点に配置した状態を示す説明図である。
【図13】同実施形態における二つの単位キャラクター
の基準点TをXYZ座標系原点に、制御点SをXYZ座
標系のX軸の一点に配置した状態を示す説明図である。
【図14】同実施形態における基準点Tを原点に、接続
点QをXYZ座標系のX軸の一点に配置した状態を示す
説明図である。
【図15】同実施形態におけるパーツをXYZ座標系の
Y,Z平面からみた図である。
【図16】同実施形態の利点を説明するための説明図で
ある。
【図17】同実施形態の他の利点を説明するための説明
図である。
【図18】本発明の第2の実施形態を示す機能ブロック
図である。
【図19】同第2の実施形態の動作を説明するためのフ
ローチャートである。
【図20】同第2の実施形態の骨一つのときのマトリク
スの算出方法を説明するためのフローチャートである。
【図21】同第2の実施形態の骨一つのときのマトリク
スの算出に使用するための説明図である。
【図22】同第2の実施形態の骨一つのときにマトリク
スの算出に使用するための説明図でるあ。
【図23】同第2の実施形態の骨一つのときにマトリク
スの算出に使用するための説明図でるあ。
【図24】同第2の実施形態において骨二つのときのマ
トリクスを算出する方法を説明するためのフローチャー
トである。
【図25】同第2の実施形態の骨二つのときにマトリク
スの算出方法の説明に使用する説明図である。
【符号の説明】
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 接続点

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 所定の図形を移動させながら表示できる
    ように構成した画像処理装置において、 前記図形の一連の動きに対応し、この図形を表示するた
    めの基準となる基準点を記憶する基準点メモリと、 前記基準点に対する図形の他の位置を決定するための制
    御点を記憶する制御点メモリと、 前記図形に移動指令を出力する操作手段と、 当該移動指令に基づいて、前記基準点と制御点とによっ
    て定まる座標系領域に前記図形を配置するための画像処
    理を行なう画像表示処理手段と、 を備える画像処理装置。
  2. 【請求項2】 さらに、前記移動指令に基づいて決定さ
    れる前記図形の一連の動きに対応して、前記基準点メモ
    リ及び制御点メモリから読み出した基準点の座標データ
    及び制御点の座標データから、図形が所定の座標系に対
    して成す角度を求める角度演算手段と、その求めた角度
    に前記図形を配置する配置手段とを備える請求項1記載
    の装置。
  3. 【請求項3】 前記角度演算手段は、前記基準点の座標
    系に対する制御点がなす角度を演算し、前記配置手段は
    当該基準点からこの角度をもって前記図形を配置する請
    求項2記載の装置。
  4. 【請求項4】 さらに、前記図形を表示するためのデー
    タを所定の座標系に予め記憶するメモリを備え、前記画
    像表示処理手段は、このデータによって形成される図形
    を前記座標系領域に配置する請求項1記載の装置。
  5. 【請求項5】 前記角度演算手段は、前記基準点のマト
    リクスの逆行列を制御点の絶対座標に乗じることにより
    制御点の基準点に対する相対座標を演算し、この相対座
    標から前記角度を演算する請求項2記載の装置。
  6. 【請求項6】 前記図形が複数のパーツが連結されたキ
    ャラクターであり、このキャラクターの本体に対して基
    端側のパーツに前記基準点が設けられ、また先端側のパ
    ーツに対して前記制御点が設けられていると共に、前記
    画像表示処理手段は、パーツ同士の接続点を演算する接
    続点演算手段を備え、前記角度演算手段は、この接続点
    におけるパーツ同士の連結角度を演算するとともに、こ
    の接続点が前記基準点の基準座標に対して成す角度を演
    算し、前記配置手段は、基端側のパーツを基準点からこ
    の角度をもって配置するとともに、前記接続点から前記
    連結角度をもって他のパーツを配置するようした請求項
    2記載の装置。
  7. 【請求項7】 前記基準点を図形の基端側に設定し、前
    記制御点を図形の先端側に設定する請求項1乃至6のい
    ずれか一項記載の装置。
  8. 【請求項8】 前記画像表示処理手段は、前記制御点を
    所望の位置に変更ないしは設定可能な制御点変更・設定
    手段を備える請求項1記載の装置。
  9. 【請求項9】 前記角度演算手段は、前記角度を前記図
    形に対して定義された長さのデータを持つ骨格に基づい
    て演算する請求項3記載の装置。
  10. 【請求項10】 前記画像表示処理手段は、前記移動指
    令に基づいて決定される前記図形の一連の動きに対応し
    て、前記基準点メモリ及び制御点メモリから読み出した
    基準点の座標データ及び制御点の座標データから、前記
    図形の所定の座標系に対するマトリクスを求めるマトリ
    クス演算手段と、その求めたマトリクスに合わせて前記
    図形を配置する配置手段とを備える請求項1記載の装
    置。
  11. 【請求項11】 前記マトリクス演算手段は、前記基準
    点の座標系に対する制御点がなすマトリクスを演算し、
    前記配置手段は当該マトリクスに基づいて前記図形を配
    置する請求項10記載の装置。
  12. 【請求項12】 前記マトリクス演算手段は、前記基準
    点のマトリクスの転置行列を利用して制御点の基準点に
    対する相対座標を演算し、この相対座標から前記マトリ
    クスを演算する請求項11記載の装置。
  13. 【請求項13】 前記図形が複数のパーツを連結したキ
    ャラクターであり、このキャラクター本体の基端側にあ
    るパーツに前記基準点が設けられ、また先端側にあるパ
    ーツに対して前記制御点が設けられており、前記マトリ
    クス演算手段は、前記制御点のマトリクスに行列演算を
    適用して接続点におけるパーツのマトリクスを演算し、
    かつ前記パーツの接続点のマトリクスに行列演算を適用
    することにより他のパーツのマトリクスを演算し、前記
    配置手段は、前記各パーツのマトリクスに基づいて前記
    キャラクターを所定の座標系に配置するようした請求項
    10記載の装置。
  14. 【請求項14】 所定の図形を移動させながら表示でき
    るようした画像処理方法において、 前記図形の一連の動きに対応し、この図形を表示するた
    めの基準となる基準点を設定する基準点位置設定工程
    と、 前記基準点に対する図形の他の位置を決定するための制
    御点を設定する制御点位置設定工程と、 前記図形に移動指令を出力する移動指令出力工程と、 この移動指令に基づいて、前記基準点と制御点とによっ
    て定まる座標系領域に前記図形を表示する表示工程と、 を備える画像処理方法。
JP07206186A 1994-08-11 1995-08-11 画像処理装置およびその方法 Expired - Fee Related JP3104582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07206186A JP3104582B2 (ja) 1994-08-11 1995-08-11 画像処理装置およびその方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP18935194 1994-08-11
JP6-299882 1994-12-02
JP29988294 1994-12-02
JP6-189351 1994-12-02
JP07206186A JP3104582B2 (ja) 1994-08-11 1995-08-11 画像処理装置およびその方法

Publications (2)

Publication Number Publication Date
JPH08212375A true JPH08212375A (ja) 1996-08-20
JP3104582B2 JP3104582B2 (ja) 2000-10-30

Family

ID=27326165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07206186A Expired - Fee Related JP3104582B2 (ja) 1994-08-11 1995-08-11 画像処理装置およびその方法

Country Status (1)

Country Link
JP (1) JP3104582B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144085A (ja) * 1997-11-07 1999-05-28 Namco Ltd 画像生成装置及び情報記憶媒体
JP2007058709A (ja) * 2005-08-26 2007-03-08 Light Weight:Kk 画像処理装置、画像処理方法及びプログラム
WO2023095728A1 (ja) * 2021-11-26 2023-06-01 株式会社Cygames モーションシーケンスを決定するシステム、ゲーム装置、方法、及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144085A (ja) * 1997-11-07 1999-05-28 Namco Ltd 画像生成装置及び情報記憶媒体
JP2007058709A (ja) * 2005-08-26 2007-03-08 Light Weight:Kk 画像処理装置、画像処理方法及びプログラム
WO2023095728A1 (ja) * 2021-11-26 2023-06-01 株式会社Cygames モーションシーケンスを決定するシステム、ゲーム装置、方法、及びプログラム
JP2023078947A (ja) * 2021-11-26 2023-06-07 株式会社Cygames モーションシーケンスを決定するシステム、ゲーム装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP3104582B2 (ja) 2000-10-30

Similar Documents

Publication Publication Date Title
US6937240B2 (en) Methods and apparatus for transforming three-dimensional objects in video games
JPH09330424A (ja) 3次元骨格構造の動き変換装置
JPH04281572A (ja) 画像処理システムにおける実写画像とコンピュータ グラフィックスの合成方法
JPH0947576A (ja) 3次元ゲーム装置及び画像合成方法
JPH06342459A (ja) Cad方法およびcadシステム
JPH08212375A (ja) 画像処理装置およびその方法
JP2009070340A (ja) 骨格動作制御システム、プログラムおよび情報記憶媒体
US20180061141A1 (en) Method and System for Progressive Drape Update on Avatar Morph for Virtual Fitting
JP3760341B2 (ja) プログラム、記録媒体、画像生成装置及び画像生成方法
CN114075810B (zh) 面向混凝土3d打印的空间路径拟合方法及系统
JP3938771B2 (ja) 画像処理装置及び画像処理方法
JP4329965B2 (ja) ゲームシステム及び情報記憶媒体
JP2007148856A (ja) スキンの制御点の位置の計算装置、計算方法、ならびに、プログラム
JP7293036B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム及び情報処理方法
JP7058625B2 (ja) 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
JPH0994348A (ja) 3次元ゲーム装置及び画像合成方法
JP4786389B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2001067491A (ja) 再分割多角形を用いる画像表示方法及び装置
US6618055B1 (en) Computer readable program product, method of image processing and image processing system
CN105984146A (zh) 3d对象的制造方法及3d打印装置
JP2006338119A (ja) 製造検討支援装置
JP2013200770A (ja) 画像再生プログラム及びゲームシステム
JP2526973B2 (ja) 三次元複合自由曲面形状の測定装置
JP3401899B2 (ja) 画像表示処理装置
JP2004334662A (ja) 画像生成システム、プログラム及び情報記憶媒体

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