(57)【要約】  【課題】  ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に必要な計算の実行に要する処理負荷を軽減し、これにより描画時間の短縮及び三次元対象物を形成するポリゴンの微細化を実現することが可能な描画用計算装置、コンピュータプログラム及び記録媒体を提供する。  【解決手段】  四角形であるポリゴンの頂点が受ける力を行列の演算にて計算し、また頂点の法線ベクトルを近似式を用いて計算し、また４×４の行列として計算を行う。【選択図】        図１
2005099952.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行う描画用計算装置であって、
任意のポリゴンの一の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出する手段と、
質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求める手段と、
求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出する手段と、
基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点間の距離を乗じた値を要素とする第２行列を算出する手段と、
算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出する手段と、
算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手段と
を備えることを特徴とする描画用計算装置。
【請求項２】
前記第１行列は、下記式（Ａ）にて示され、
前記第２行列は、下記式（Ｂ）にて示され、
前記第３行列は、下記式（Ｃ）にて示される
ことを特徴とする請求項１に記載の描画用計算装置。
【数１】
2005099952.tif 000007
【請求項３】
前記ポリゴンは、四角形であり、
前記傍頂点の数は、四である
ことを特徴とする請求項１又は請求項２に記載の描画用計算装置。
【請求項４】
ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行う描画用計算装置であって、
前記ポリゴンは、四角形であり、
任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出する手段と、
抽出した各傍頂点の座標に基づく位置ベクトルを求める手段と、
抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行う手段と
を備えることを特徴とする描画用計算装置。
【請求項５】
描画に要する計算を行う前に、
前記複数のポリゴンが三角形である三次元対象物の表面を形成する複数の三角形を抽出する手段と、
抽出した各三角形の長辺を削除することにより、複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する手段と
を更に備えることを特徴とする請求項１乃至請求項４のいずれかに記載の描画用計算装置。
【請求項６】
コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムであって、
コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、
コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、
コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、
コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、
コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、
コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順と
を実行させることを特徴とするコンピュータプログラム。
【請求項７】
コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムであって、
前記ポリゴンは、四角形であり、
コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、
コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、
コンピュータに、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順と
を実行させることを特徴とするコンピュータプログラム。
【請求項８】
コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体であって、
コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、
コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、
コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、
コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、
コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、
コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順と
を実行させるコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【請求項９】
コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体であって、
前記ポリゴンは、四角形であり、
コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、
コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、
コンピュータに、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順と
を実行させるコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のポリゴンにて構成される三次元対象物の描画に要する計算を行う描画用計算装置、その装置を実現するためのコンピュータプログラム及びそのプログラムが記録されたコンピュータでの読み取りが可能な記録媒体に関する。更に詳しくは布、衣服、及び毛髪等の柔軟な物体を模した三次元対象物の変形を描画するビデオゲーム装置等の描画用計算装置、コンピュータプログラム並びに記録媒体に関する。
【背景技術】
【０００２】
三次元対象物の画像を描画するための一手法として、様々な形状の三次元対象物の表面を微小なポリゴン（多角形）に分割し、分割した夫々のポリゴンにテクスチャと呼ばれる模様を貼り付ける方法が例えばビデオゲーム等の分野において広く用いられている。
【０００３】
複数のポリゴンにて構成される三次元対象物の描画に要する計算を行うビデオゲーム装置等の描画用計算装置において、布、衣服及び毛髪等の柔軟な物体を模した三次元対象物の変形の描画に要する計算を行うクロスシミュレーション処理を行う場合、複数の四角形にて三次元対象物を構成し、四角形の各頂点を質点とし、相隣る質点間を接続する、四角形の各辺をバネとするモデルを想定したシミュレーションモデルにより、描画に要する計算を行っている（例えば、非特許文献１参照）。
【０００４】
複数の四角形にて構成される三次元対象物の描画に要する計算とは、例えば四角形の各頂点を質点とした場合の一の質点が相隣る他の四の質点から受ける力の計算、及び頂点における法線ベクトルの計算等の計算である。
【０００５】
一の質点を基準頂点Ｍ０とし、一の質点Ｍ０と相隣る四の質点を傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４とした場合、基準頂点Ｍ０が受ける力は、各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４から夫々受ける力Ｆ１，Ｆ２，Ｆ３，Ｆ４の合力として計算される。
【０００６】
基準頂点Ｍ０が傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４から夫々受ける力Ｆ１，Ｆ２，Ｆ３，Ｆ４を求める場合、先ず基準頂点Ｍ０、傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の位置ベクトルを夫々Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４として、以下の各式により基準頂点Ｍ０から傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４への相対ベクトルＸ１，Ｘ２，Ｘ３，Ｘ４を求める。
【０００７】
Ｘ１＝Ｐ１−Ｐ０
Ｘ２＝Ｐ２−Ｐ０
Ｘ３＝Ｐ３−Ｐ０
Ｘ４＝Ｐ４−Ｐ０
但し、Ｘ１：基準頂点Ｍ０から傍頂点Ｍ１への相対ベクトル
Ｘ２：基準頂点Ｍ０から傍頂点Ｍ２への相対ベクトル
Ｘ３：基準頂点Ｍ０から傍頂点Ｍ３への相対ベクトル
Ｘ４：基準頂点Ｍ０から傍頂点Ｍ４への相対ベクトル
そして求めた相対ベクトルＸ１，Ｘ２，Ｘ３，Ｘ４を用いて、基準頂点Ｍ０が傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４から夫々受ける力Ｆ１，Ｆ２，Ｆ３，Ｆ４を以下の各式により求めることができ、求めたＦ１，Ｆ２，Ｆ３，Ｆ４の合力を計算することにより基準頂点Ｍ０が受ける力を得ることができる。
【０００８】
Ｆ１＝ｋ＊（｜Ｘ１｜−Ｌ１）＊（Ｘ１／｜Ｘ１｜）
Ｆ２＝ｋ＊（｜Ｘ２｜−Ｌ２）＊（Ｘ２／｜Ｘ２｜）
Ｆ３＝ｋ＊（｜Ｘ３｜−Ｌ３）＊（Ｘ３／｜Ｘ３｜）
Ｆ４＝ｋ＊（｜Ｘ４｜−Ｌ４）＊（Ｘ４／｜Ｘ４｜）
但し、ｋ  ：バネ定数
Ｌ１：基準頂点Ｍ０及び傍頂点Ｍ１間の距離
Ｌ２：基準頂点Ｍ０及び傍頂点Ｍ２間の距離
Ｌ３：基準頂点Ｍ０及び傍頂点Ｍ３間の距離
Ｌ４：基準頂点Ｍ０及び傍頂点Ｍ４間の距離
また基準頂点Ｍ０における法線ベクトルＮ０を求める場合、先ず基準頂点Ｍ０、傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の夫々の位置ベクトルＰ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４を以下の各式により求める。
【０００９】
Ｎ１＝（Ｐ１−Ｐ０）×（Ｐ２−Ｐ０）／｜（Ｐ１−Ｐ０）×（Ｐ２−Ｐ０）｜
Ｎ２＝（Ｐ３−Ｐ０）×（Ｐ１−Ｐ０）／｜（Ｐ３−Ｐ０）×（Ｐ１−Ｐ０）｜
Ｎ３＝（Ｐ２−Ｐ０）×（Ｐ４−Ｐ０）／｜（Ｐ２−Ｐ０）×（Ｐ４−Ｐ０）｜
Ｎ４＝（Ｐ４−Ｐ０）×（Ｐ３−Ｐ０）／｜（Ｐ４−Ｐ０）×（Ｐ３−Ｐ０）｜
そして求めた位置ベクトルＰ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４から以下の式により基準頂点Ｍ０における法線ベクトルＮ０を計算することができる。
【００１０】
Ｎ０＝（Ｎ１＋Ｎ２＋Ｎ３＋Ｎ４）／４
【非特許文献１】「Ｃ  ＭＡＧＡＺＩＮＥ」ソフトバンクパブリッシング、２０００年９月号、ｐ．１０−４２
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら従来の力の計算及び法線ベクトルの計算等の描画に要する計算では、計算に要する処理負荷が大きいという問題があり、この問題は三次元対象物の描画時間にも影響する。
【００１２】
本発明は斯かる事情に鑑みてなされたものであり、三次元対象物の描画に要する計算を、例えばマトリックス演算プロセッサを用いて効率的に並列計算を実現することが可能な形式の計算式を用いて行うことにより、又は計算を簡略化する近似式を用いることにより、計算に要する処理負荷を軽減し、描画時間を短縮することが可能な描画用計算装置、その装置を実現するためのコンピュータプログラム及びそのプログラムが記録されたコンピュータでの読み取りが可能な記録媒体の提供を目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の本発明は、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行う描画用計算装置であって、任意のポリゴンの一の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出する手段と、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求める手段と、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出する手段と、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点間の距離を乗じた値を要素とする第２行列を算出する手段と、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出する手段と、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手段とを備えることを特徴とする描画用計算装置である。
【００１４】
本発明に従えば、描画用計算装置は、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が構成される三次元対象物の描画に要する計算を行う。そして描画用計算装置は、任意のポリゴンの一の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出する手段と、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求める手段と、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出する手段と、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点間の距離を乗じた値を要素とする第２行列を算出する手段と、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出する手段と、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手段とを備える。
【００１５】
本発明の描画用計算装置では、布、衣服及び毛髪等の柔軟な物体を模した三次元対象物の変形を描画するための計算として、三次元対象物を構成するポリゴンの任意の頂点にかかる合力を計算する場合に、基準頂点の座標及び各傍頂点の座標に基づく第１行列及び第２行列を算出し、算出した第１行列及び第２行列の差にバネ定数を乗じて算出した第３行列に基づいて合力を計算する。
【００１６】
この構成により、行列の演算にて合力を計算することが可能となるので、相隣る頂点からの力を夫々求めた上で合力を計算する従来の計算と比べて、マトリックス演算プロセッサ等の行列の演算に特化したサブプロセッサを効率的に使用することが可能となるので、メインプロセッサにて実施される計算に要する処理負荷を軽減することが可能である。
【００１７】
請求項２に記載の本発明は、請求項１に記載の描画用計算装置において、前記第１行列は、下記式（Ａ）にて示され、前記第２行列は、下記式（Ｂ）にて示され、前記第３行列は、下記式（Ｃ）にて示されることを特徴とする。
【００１８】
【数２】
2005099952.tif 000003
【００１９】
本発明に従えば、描画用計算装置は、下記式（Ａ）にて示す第１行列を算出し、下記式（Ｂ）にて示す第２行列を算出し、下記式（Ｃ）にて示す第３行列を算出する。
【００２０】
【数３】
2005099952.tif 000004
【００２１】
本発明の描画用計算装置では、式（Ａ）、式（Ｂ）及び式（Ｃ）として示す様に、マトリックスデータ構造に配置した行列を用いて計算する。
【００２２】
この構成により、普及しているビデオゲーム装置及びパーソナルコンピュータ等の装置が備えるマトリックス演算プロセッサを効率的に使用して並列計算を実現することが可能となるので、主となるプロセッサの負荷を軽減して全体としての計算時間を短縮させる。
【００２３】
請求項３に記載の本発明は、請求項１又は請求項２に記載の描画用計算装置において、前記ポリゴンは、四角形であり、前記傍頂点の数は、四であることを特徴とする。
【００２４】
本発明に従えば、画像描画用装置では、三次元対象物の変形を計算する場合に計算の対象として、複数の四角形を有するポリゴンを用い、当該ポリゴンにおける傍頂点は四である。
【００２５】
本発明の描画用計算装置では、傍頂点の数を四とすることにより、特に三次元対象物を二次元の画面に投影すべく、投影される平面を示す斉次座標を示した斉次座標系にて表現した場合に、第１行列、第２行列及び第３行列等の行列を、ｘ座標、ｙ座標及びｚ座標並びに斉次座標を含む４×４の行列として表現することができるので、マトリックス演算プロセッサの標準的な仕様に適合させて、マトリックス演算プロセッサを効率的に使用することが可能となる。
【００２６】
請求項４に記載の本発明は、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行う描画用計算装置であって、前記ポリゴンは、四角形であり、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出する手段と、抽出した各傍頂点の座標に基づく位置ベクトルを求める手段と、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行う手段とを備えることを特徴とする描画用計算装置である。
【００２７】
本発明に従えば、描画用計算装置は、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行う。そして前記ポリゴンは、四角形であり、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出する手段と、抽出した各傍頂点の座標に基づく位置ベクトルを求める手段と、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行う手段とを備える。
【００２８】
本発明の描画用計算装置では、柔軟な物体を模した三次元対象物の変形を描画するための計算として、三次元対象物を構成する四角形の頂点の法線ベクトルを計算する場合に、対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとして計算する。
【００２９】
この構成により、外積及び正規化の計算を夫々四回行う従来の計算と比べて、計算が簡略化されるので計算に要する処理負荷を軽減することが可能である。
【００３０】
請求項５に記載の本発明は、請求項１乃至請求項４のいずれかに記載の描画用計算装置において、描画に要する計算を行う前に、前記複数のポリゴンが三角形である三次元対象物の表面を形成する複数の三角形を抽出する手段と、抽出した各三角形の長辺を削除することにより、複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する手段とを更に備えることを特徴とする。
【００３１】
本発明に従えば、描画用計算装置は、描画に要する計算を行う前に、複数のポリゴンが三角形である三次元対象物の表面を形成する複数の三角形を抽出する手段と、抽出した各三角形の長辺を削除することにより、複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する手段と備える。
【００３２】
本発明の描画用計算装置では、ビデオゲーム装置用のデータとして形成された複数の三角形にて表面が形成される三次元対象物に対して、三次元対象物の表面を形成する三角形の長辺、即ち四角形の対角線に相当する辺を削除して複数の四角形にて表面が形成される三次元対象物に変換する前処理を行うことにより、複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に容易に変換することが可能となるので、複数の三角形にて表面が形成される三次元対象物に対しても請求項１乃至請求項４のいずれかに記載した発明を適用することが可能となる。
【００３３】
請求項６に記載の本発明は、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムであって、コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順とを実行させることを特徴とするコンピュータプログラムである。
【００３４】
本発明に従えば、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて構成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムは、コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順とを実行させる。
【００３５】
本発明のコンピュータプログラムでは、ビデオゲーム装置等のコンピュータにて実行することにより、複数のポリゴンにて構成される布、衣服及び毛髪等の柔軟な物体を模した三次元対象物の描画に要する計算を行う描画用計算装置としてコンピュータが動作し、三次元対象物の変形を描画するための計算として、三次元対象物を構成するポリゴンの任意の頂点にかかる合力を計算する場合に、基準頂点の座標及び各傍頂点の座標に基づく第１行列及び第２行列を算出し、算出した第１行列及び第２行列の差にバネ定数を乗じて算出した第３行列に基づいて合力を計算する。
【００３６】
この構成により、行列の演算にて合力を計算することが可能となるので、相隣る頂点からの力を夫々求めた上で合力を計算する従来の計算と比べて、マトリックス演算プロセッサ等の行列の演算に特化したサブプロセッサを効率的に使用することが可能となるので、メインプロセッサにて実施される計算に要する処理負荷を軽減することが可能である。
【００３７】
請求項７に記載の本発明は、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムであって、前記ポリゴンは、四角形であり、コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、コンピュータに、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順とを実行させることを特徴とするコンピュータプログラムである。
【００３８】
本発明に従えば、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムは、四角形であるポリゴンに対して適用され、コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、コンピュータに、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順とを実行させる。
【００３９】
本発明のコンピュータプログラムでは、ビデオゲーム装置等のコンピュータにて実行することにより、柔軟な物体を模した三次元対象物の描画に要する計算を行う描画用計算装置としてコンピュータが作動し、三次元対象物の変形を描画するための計算として、三次元対象物を構成する四角形の頂点の法線ベクトルを計算する場合に、対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとして計算する。
【００４０】
この構成により、外積及び正規化の計算を夫々四回行う従来の計算と比べて、計算が簡略化されるので計算に要する処理負荷を軽減することが可能である。
【００４１】
請求項８に記載の本発明は、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体であって、コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順とを実行させるコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体である。
【００４２】
本発明に従えば、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体は、コンピュータに、任意のポリゴンの位置の基準頂点及び該基準頂点と相隣る複数の傍頂点を質点として抽出させる手順と、コンピュータに、質点として抽出した基準頂点及び各傍頂点の座標をポリゴンデータから求めさせる手順と、コンピュータに、求めた基準頂点の座標及び各傍頂点の座標の差を要素とする第１行列を算出させる手順と、コンピュータに、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出させる手順と、コンピュータに、算出した第１行列及び第２行列の差に定数を乗じて第３行列を算出させる手順と、コンピュータに、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する複数の傍頂点からの力の合力とする、描画に要する計算を行う手順とを実行させる。
【００４３】
本発明のコンピュータでの読み取りが可能な記録媒体では、記録されているコンピュータプログラムを、ビデオゲーム装置等のコンピュータにて実行することにより、複数のポリゴンにて構成される布、衣服及び毛髪等の柔軟な物体を模した三次元対象物の描画に要する計算を行う描画用計算装置としてコンピュータが動作し、三次元対象物の変形を描画するための計算として、三次元対象物を構成するポリゴンの任意の頂点にかかる合力を計算する場合に、基準頂点の座標及び各傍頂点の座標に基づく第１行列及び第２行列を算出し、算出した第１行列及び第２行列の差にバネ定数を乗じて算出した第３行列に基づいて合力を計算する。
【００４４】
この構成により、行列の演算にて合力を計算することが可能となるので、相隣る頂点からの力を夫々求めた上で合力を計算する従来の計算と比べて、マトリックス演算プロセッサ等の行列の演算に特化したサブプロセッサを効率的に使用することが可能となるので、メインプロセッサにて実施される計算が簡略化されるので計算に要する処理負荷を軽減することが可能である。
【００４５】
請求項９に記載の本発明は、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体であって、前記ポリゴンは、四角形であり、コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、コンピュータに、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順とを実行させるコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体である。
【００４６】
本発明に従えば、コンピュータに、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の描画に要する計算を行わせるコンピュータプログラムを記録してある、コンピュータでの読み取りが可能な記録媒体は、四角形であるポリゴンに対して適用され、コンピュータに、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出させる手順と、コンピュータに、抽出した各傍頂点の座標に基づく位置ベクトルを求めさせる手順と、コンピュータに、対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとする、描画に要する計算を行わせる手順とを実行させる。
【００４７】
本発明のコンピュータでの読み取りが可能な記録媒体では、記録されているコンピュータプログラムを、ビデオゲーム装置等のコンピュータにて実行することにより、柔軟な物体を模した三次元対象物の描画に要する計算を行う描画用計算装置としてコンピュータが
作動し、三次元対象物の変形を描画するための計算として、三次元対象物を構成する四角形の頂点の法線ベクトルを計算する場合に、対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとして計算する。
【００４８】
この構成により、外積及び正規化の計算を夫々四回行う従来の計算と比べて、計算が簡略化されるので計算に要する処理負荷を軽減することが可能である。
【発明の効果】
【００４９】
請求項１乃至請求項３、請求項６、及び請求項８に記載の本発明によれば、布、衣服及び毛髪等の柔軟な物体を模した、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物、特に複数の四角形にて表面が形成される三次元対象物の変形を描画するための計算として、任意の四角形の一の基準頂点及び該基準頂点と相隣る四の傍頂点を質点として抽出し、質点として抽出した基準頂点及び各傍頂点の座標の差を要素とする第１行列を算出し、基準頂点の座標及び各傍頂点の座標の差を、基準頂点から各傍頂点へのベクトルの大きさにて除し、更に基準頂点及び各傍頂点の距離を乗じた値を要素とする第２行列を算出し、算出した第１行列及び第２行列の差にバネ定数を乗じて第３行列を算出し、算出した第３行列の要素の中で夫々の傍頂点に関する要素の和を要素とする第４行列を、基準頂点に対する四の傍頂点からの力の合力とする計算を行う。
【００５０】
この構成により、行列の演算にて合力を計算することが可能となるので、相隣る頂点からの力を夫々求めた上で合力を計算する従来の計算と比べて、マトリックス演算プロセッサ等の行列の演算に特化したサブプロセッサを効率的に使用することが可能となるので、メインプロセッサにて実施される計算に要する処理負荷を軽減することが可能である。
【００５１】
特に三次元対象物を二次元の画面に投影すべく、投影される平面を示す斉次座標を示した斉次座標系にて表現した場合に、第１行列、第２行列及び第３行列等の行列を、ｘ座標、ｙ座標及びｚ座標並びに斉次座標を含む４×４の行列として表現することができるので、普及しているビデオゲーム装置及びパーソナルコンピュータ等の装置が備えるマトリックス演算プロセッサを効率的に使用して並列計算を実現することが可能となるので、主となるプロセッサの負荷を軽減して装置全体としての計算時間を短縮させることが可能である。
【００５２】
このようにしてポリゴン画像である三次元対象物の複数の頂点にかかる力を計算する時間を短縮させることにより、三次元対象物の描画時間が短縮するので、例えば一定時間内に描画すべき画像のフレーム数を増加させて三次元対象物の円滑な動きを表現することが可能となり、また各四角形の大きさを小さくして全体の四角形の数を増加させることにより、三次元対象物を緻密に表現することが可能となる等、優れた効果を奏する。
【００５３】
請求項４、請求項７、及び請求項９に記載の本発明によれば、衣服及び毛髪等の柔軟な物体を模した、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物、特に複数の四角形にて表面が形成される三次元対象物の変形を描画するための計算として、三次元対象物の表面を形成する四角形の頂点の法線ベクトルを計算する場合に、任意の四角形の一の基準頂点と相隣る四の傍頂点を抽出し、抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へと向かう二組のベクトル、即ち対角線となる二組のベクトルの外積を正規化したベクトルを、基準頂点の法線ベクトルとして計算する。
【００５４】
この構成により、各頂点について外積及び正規化の計算を夫々四回行う従来の計算と比べて、計算が簡略化されるので計算に要する処理負荷を軽減することが可能である。
【００５５】
このようにしてポリゴン画像である三次元対象物の複数の頂点の法線ベクトルを計算する時間を短縮させることにより、三次元対象物の描画時間が短縮するので、例えば一定時間内に描画すべき画像のフレーム数を増加させて三次元対象物の円滑な動きを表現することが可能となり、また各四角形の大きさを小さくして全体の四角形の数を増加させることにより、三次元対象物を緻密に表現することが可能となる等、優れた効果を奏する。
【００５６】
請求項５に記載の本発明によれば、ビデオゲーム装置用のデータとして形成された複数の三角形にて表面が形成される三次元対象物に対して、合力の計算及び法線ベクトルの計算等の描画に要する計算を行う場合に、描画に要する計算を行う前に、複数の三角形にて表面が形成される三次元対象物から複数の三角形を抽出し、抽出した各三角形の頂点を削除することにより複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する。
【００５７】
この構成により、例えばＣＧ(Computer Graphics) 用ソフトウェアを用いて三次元対象物をデザインする段階にて作成された複数の四角形にて表面が形成される三次元対象物のデータが、ビデオゲーム装置用のデータとして複数の三角形にて表面が形成される三次元対象物のデータに変換された場合にでも、複数の三角形にて表面が形成される三次元対象物から、三次元対象物の表面を形成する三角形の長辺、即ち四角形の対角線に相当する辺を削除して複数の四角形にて表面が形成される三次元対象物を容易に形成することが可能となるので、複数の三角形にて表面が形成される三次元対象物に対しても請求項１乃至請求項４のいずれかに記載した発明を適用することが可能となる等、優れた効果を奏する。
【発明を実施するための最良の形態】
【００５８】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【００５９】
図１は本発明の描画用計算装置１００の構成を示すブロック図である。
【００６０】
描画用計算装置１００は、家庭用ビデオゲーム装置を用いたコンピュータの一種であり、装置全体を制御するメインプロセッサであるＣＰＵ(Central Processing Unit)１０１と、画像データ及び音声データの生成及び加工処理等の信号処理を行う信号処理プロセッサ１０２、４×４の行列に関する計算を行うマトリックス演算プロセッサ１０３、並びに画像描画処理を行う画像描画処理プロセッサ１０４等のＣＰＵ１０１の制御に基づき動作する各種サブプロセッサと、本発明のコンピュータプログラム２０１及びデータ等の各種情報を記録したＲＯＭ(Read Only Memory)カートリッジ、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)及びＤＶＤ(Digital Versatile Disc)等の記録媒体２００から各種情報を読み取るスロット、ＣＤ−ＲＯＭドライブ及びＤＶＤドライブ等の補助記憶手段１０５と、計算データ及び表示用の画像データ等の情報を一時的に記憶するＲＡＭ(Random Access Memory)１０６とを備えている。
【００６１】
そして補助記憶手段１０５により記録媒体２００に記録されている本発明のコンピュータプログラム２０１及びデータ等の各種情報を読み取り、ＲＡＭ１０６に記憶させてＣＰＵ１０１の制御に基づき実行することで、家庭用ビデオゲーム装置として用いられているコンピュータは、本発明の描画用計算装置１００として動作する。
【００６２】
また描画用計算装置１００は、入力用インターフェース回路（入力用Ｉ／Ｆ）１０７を介して接続する専用コントローラ等の入力手段１０８を備えている。
【００６３】
さらに描画用計算装置１００は、音声データの出力に用いられる音声出力用インターフェース回路（音声出力用Ｉ／Ｆ）１０９を備え、音声出力用インターフェース回路１０９から出力されたデジタル信号である音声データは、音声用Ｄ／Ａコンバータ（音声用Ｄ／Ａ）１１０によりアナログ信号に変換され、音声用Ｄ／Ａコンバータ１１０により変換されたアナログ信号はプリメインアンプ１１１にて増幅された後、音声データに基づいて音声を出力するスピーカ等の音声出力手段１２０へ送出される。
【００６４】
さらに描画用計算装置１００は、画像データの出力に用いられる画像出力用インターフェース回路（画像出力用Ｉ／Ｆ）１１２を備え、画像出力用インターフェース回路１１２から出力されたデジタル信号である画像データは、画像用Ｄ／Ａコンバータ（画像用Ｄ／Ａ）１１３によりアナログ信号に変換され、画像データに基づいて画像を出力するテレビジョンモニタ等の表示手段１３０へ送出される。
【００６５】
なお１台のテレビジョンモニタを、音声出力手段１２０及び表示手段１３０を兼用する装置として用いてもよい。
【００６６】
次に本発明の描画用計算装置１００を用いてゲーム空間内に三次元対象物を表現するために行われる処理について説明する。
【００６７】
描画用計算装置１００では、ＣＰＵ１０１の制御に基づいて、信号処理プロセッサ１０２及びマトリックス演算プロセッサ１０３が各種計算処理を行い、計算の結果に基づいて画像描画処理プロセッサ１０４、ＲＡＭ１０６の一部である表示エリア（フレームバッファ）上に描画すべき画像データの書き込み処理を行う。
【００６８】
なおＲＡＭ１０６は、非表示エリア及び表示エリアを有しており、非表示エリアは、ポリゴンデータ及びテクスチャデータ等の画像描画処理における途中計算データを記憶し、また表示エリアは表示手段１３０に表示されるべき画像データを記憶し、記憶されている画像データは、画像用Ｄ／Ａコンバータ１１３を介して表示手段１３０へ送出される。
【００６９】
ポリゴンデータとは、ゲーム空間内で設定される三次元対象物の表面を形成する複数の四角形等のポリゴン（多角形）の頂点の空間座標を示すデータであり、ポリゴンデータにより示される三次元対象物の表面には、テクスチャデータとして示される模様及び材質等の表面を示す画像が貼り付けられ、これによりゲーム空間内の様々な仮想物体が示される。
【００７０】
そしてゲーム空間内の三次元対象物を示す画像を表示手段１３０に表示する場合、ＣＰＵ１０１の制御に基づく各プロセッサの処理により、ポリゴンデータにより頂点の座標が示された複数のポリゴンにて表面が形成される三次元対象物の空間座標を平面座標に変換し、更に透視投影処理を行うことによって、二次元上におけるポリゴンの各頂点の平面座標を計算し、計算した平面座標に基づくポリゴンにテクスチャデータを貼り付けた画像データを生成し、生成した画像データをＲＡＭ１０６の表示エリアに記憶させる。
【００７１】
ＲＡＭ１０６の表示エリアに記憶させた画像データは、前述した様に画像用Ｄ／Ａコンバータ１１３を介して表示手段１３０へ送出され、表示手段１３０に表示される。
【００７２】
次に本発明の描画用計算装置１００における三次元対象物の描画に要する計算について説明する。
【００７３】
布、衣服、及び毛髪等の柔軟な物体を模した三次元対象物は、動画として描画する場合に、様々な形状に変化する動きが求められ、自然な動きを表現するためには様々な力学的計算が必要となる。
【００７４】
図２は本発明の描画用計算装置１００における三次元対象物を模式的に示す説明図である。
【００７５】
図２（ａ）は、柔軟な物体を模した三次元対象物を形成する複数の四角形を示す説明図である。図２（ａ）は正方形の布を模した三次元対象物を示しており、複数の四角形により形成されている。
【００７６】
図２（ｂ）は、図２（ａ）に示した三次元対象物の描画に必要な計算を行う場合に想定される力学モデルを示す説明図である。図２（ａ）にて示される三次元対象物の描画に要する計算を行う場合には、図２（ｂ）に示す様に各四角形の頂点を質点とし、相隣る質点間はバネにて接続され、このバネにより各質点は相隣る四の質点（布の端部の質点では相隣る二又は三の質点）から力を受けるという力学モデルを想定する。
【００７７】
このような力学モデルを想定することにより、例えば布の端部を引っ張るという動きを描画する場合に、布の端部に相当する質点にかかる力、またその質点に相隣る質点にかかる力、更にその質点に相隣る質点にかかる力を計算することが可能となり、布を模した三次元対象物の形状の変化を計算により求めることが可能となる。
【００７８】
さらに三次元対象物の描画に要する計算の一つとして、例えば三次元対象物にテクスチャデータを貼り付けた画像データを生成する場合に、三次元対象物の表面で反射する光の向きを計算するために、各頂点における法線ベクトルを求める計算が必要となる。
【００７９】
次に本発明の描画用計算装置１００における三次元対象物の描画に要する計算について説明する。
【００８０】
本発明の描画用計算装置１００においては、ビデオゲーム装置用のデータとして形成された三次元対象物の表面を形成する複数の多角形が三角形である場合に、マトリックス演算プロセッサ１０３を効果的に用いるべく、三次元対象物の描画に要する合力の計算及び法線ベクトルの計算等の計算を行う前に、複数の三角形で表面が形成された三次元対象物を、複数の四角形で表面が形成された三次元対象物に変換する処理を行う。
【００８１】
図３は本発明の描画用計算装置１００のポリゴン変換処理を示すフローチャートである。
【００８２】
描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、三次元対象物の描画に要する合力の計算及び法線ベクトルの計算等の計算を行う前に、複数の三角形にて表面が形成される三次元対象物に含まれる複数の三角形を抽出し（Ｓ１０１）、抽出した各三角形の長辺を削除することにより、複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する（Ｓ１０２）。ステップＳ１０２において三角形の長辺を削除して四角形に変換するとしているが、ここでいう削除とは計算の対象とするデータから外すという意味であり、データ自体を削除して複数の三角形にて構成される三次元対象物に復元することが不可能な状態にするものではない。
【００８３】
図４は本発明の描画用計算装置１００のポリゴン変換処理による三次元対象物のポリゴンの変換を示す説明図である。図４は、図３を用いて説明したポリゴン変換処理を行う前の複数の三角形にて表面が形成される三次元対象物を示しており、夫々の三角形の三辺の中で点線にて示した辺が、図３におけるステップＳ１０２にて削除される各三角形の長辺である。
【００８４】
図４に示す様にポリゴン変換処理を行う前の三角形の長辺は、変換後の四角形の対角線に相当する辺であり、長辺を削除することにより複数の三角形にて表面が形成される三次元対象物を複数の四角形にて表面が形成される三次元対象物に変換する処理を容易に行うことが可能である。
【００８５】
次に本発明の描画用計算装置１００にて、三次元対象物を構成する四角形の頂点に相当する一の質点にかかる他の質点からの力の合力を計算する方法について説明する。
【００８６】
図５は本発明の描画用計算装置１００の合力計算処理を示すフローチャートであり、図６は本発明の描画用計算装置１００の合力計算処理における基準頂点Ｍ０及び該基準頂点Ｍ０と相隣る四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の結合関係を模式的に示す説明図である。
【００８７】
描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、三次元対象物の表面を形成する任意の四角形の一の基準頂点Ｍ０及び該基準頂点Ｍ０と相隣る四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４を質点として抽出し（Ｓ２０１）、質点として抽出した基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の三次元空間における座標をポリゴンデータから求める（Ｓ２０２）。
【００８８】
ステップＳ２０２にて求められる基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の三次元空間における座標は以下の様に示される。
【００８９】
Ｐ０＝（ｘ０，ｙ０，ｚ０，ｗ０）
Ｐ１＝（ｘ１，ｙ１，ｚ１，ｗ１）
Ｐ２＝（ｘ２，ｙ２，ｚ２，ｗ２）
Ｐ３＝（ｘ３，ｙ３，ｚ３，ｗ３）
Ｐ４＝（ｘ４，ｙ４，ｚ４，ｗ４）
但し、Ｐ０：基準頂点Ｍ０の座標
Ｐ１：傍頂点Ｍ１の座標
Ｐ２：傍頂点Ｍ２の座標
Ｐ３：傍頂点Ｍ３の座標
Ｐ４：傍頂点Ｍ４の座標
なおｘ０，ｘ１，ｘ３，ｘ４は、ｘ軸、ｙ軸及びｚ軸にて示される三次元座標上でのｘの値、ｙ０，ｙ１，ｙ３，ｙ４は、ｙの値、そしてｚ０，ｚ１，ｚ３，ｚ４は、ｚの値を示すものであり、このような座標系にて示せることよりＰ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４は基準頂点Ｍ０及び傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の位置ベクトルであると解釈することもできる。
【００９０】
またｗ０，ｗ１，ｗ２，ｗ３，ｗ４は、三次元対象物を二次元の画面に投影する場合に、投影される平面を示す斉次座標であり、例えばｗ＝１として示される二次元の平面上に投影することを想定した場合、ｗ０＝ｗ１＝ｗ２＝ｗ３＝ｗ４＝１の値が用いられる。
【００９１】
そして描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、求めた基準頂点Ｍ０の座標及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の座標の差を要素とする下記の式（１）に示す第１行列ＭＸを算出する（Ｓ２０３）。
【００９２】
【数４】
2005099952.tif 000005
【００９３】
さらに描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、基準頂点Ｍ０の座標及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の座標の差を、基準頂点Ｍ０から各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４へのベクトルの大きさにて除し、更に基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間の距離Ｌ１，Ｌ２，Ｌ３，Ｌ４を乗じた値を要素とする下記の式（２）に示す第２行列ＭＬを算出する（Ｓ２０４）。なお式（２）において基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間の夫々の距離Ｌ１，Ｌ２，Ｌ３，Ｌ４は、伸縮しない頂点間の距離を示すため常に一定である。
【００９４】
【数５】
2005099952.tif 000006
【００９５】
そして描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、第１行列ＭＸ及び第２行列ＭＬの差にバネ定数ｋを乗じて下記の式（３）に示す第３行列ＭＦを算出する（Ｓ２０５）。なお式（３）では、基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４を質点とみなし、基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間に働く引力を計算するものであり、便宜上基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間をバネ定数ｋの仮想的なバネにて繋いだ状態を仮定してその力を計算しているが、基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間の夫々の距離Ｌ１，Ｌ２，Ｌ３，Ｌ４は一定であるため、基準頂点Ｍ０及び各傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４間を繋ぐ仮想的なバネは伸縮しないものとする。
【００９６】
第３行列ＭＦ＝ｋ＊（ＭＸ−ＭＬ）    ……式（３）
但し、ｋ：バネ定数
そして描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、算出した第３行列の要素の中で夫々の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４に関する要素の和を要素とする第４行列Ｆを計算する（Ｓ２０６）。
【００９７】
ステップＳ２０６にて計算される第４行列Ｆとは、第３行列ＭＦの各列の和を要素とする列ベクトルであり、基準頂点Ｍ０に対する複数の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４からの力の合力を示すベクトルである。
【００９８】
図７は本発明の描画用計算装置１００における三次元対象物の端部の結合関係を模式的に示す説明図である。図７は、例えば図２にて示した正方形の布を模した三次元対象物の端部を示しており、図７（ａ）が正方形の辺に相当する端部であり、図７（ｂ）が正方形の頂点に相当する端部である。
【００９９】
図７（ａ）に示す端部では、基準頂点Ｍ０に対する四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の中で傍頂点Ｍ４となるべき頂点が存在しない。
【０１００】
このような場合でも基準頂点Ｍ０には相隣る四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４が接続されていると仮定し、傍頂点Ｍ４の座標Ｐ４として基準頂点Ｍ０の座標Ｐ０を用いて計算を行う。
【０１０１】
図７（ｂ）に示す端部では、基準頂点Ｍ０に対する四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４の中で傍頂点Ｍ３，Ｍ４となるべき頂点が存在しない。
【０１０２】
このような場合でも基準頂点Ｍ０には相隣る四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４が接続されていると仮定し、傍頂点Ｍ３，Ｍ４の座標Ｐ３，Ｐ４として基準頂点Ｍ０の座標Ｐ０を用いて計算を行う。
【０１０３】
これらの合力計算処理は、三次元対象物を構成する全ての四角形の頂点に対して行われるが、第１行列ＭＸ、第２行列ＭＬ及び第３行列ＭＦは、４×４の行列として表現されているため、その計算にはマトリックス演算プロセッサ１０３が効果的に使用され並列計算にて行われるため、他のＣＰＵ１０１及び各種プロセッサへの負荷を軽減し、装置全体としての計算時間を短縮させる。
【０１０４】
実際にテストを行ったところ、従来の方法の７０〜９０％の時間で計算を完了することができるという結果が得られた。
【０１０５】
次に本発明の描画用計算装置１００にて、三次元対象物を構成する四角形の頂点の法線ベクトルを計算する方法について説明する。図８は本発明の描画用計算装置１００の法線ベクトル演算処理を示すフローチャートであり、図９は本発明の描画用計算装置１００の法線ベクトル演算処理における基準頂点Ｖ０及び該基準頂点Ｖ０と相隣る四の傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４の結合関係を模式的に示す説明図である。
【０１０６】
描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、三次元対象物の表面を形成する任意の四角形の一の基準頂点Ｖ０及び該基準頂点Ｖ０と相隣る四の傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４を抽出し（Ｓ３０１）、抽出した各傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４の三次元空間における座標に基づく位置ベクトルＰ１，Ｐ２，Ｐ３，Ｐ４を求める（Ｓ３０２）。
【０１０７】
ステップＳ３０２にて求められる各傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４の座標に基づく位置ベクトルＰ１，Ｐ２，Ｐ３，Ｐ４とは、図５を用いて説明した合力計算処理のステップＳ２０２にて求めた座標Ｐ１，Ｐ２，Ｐ３，Ｐ４である。
【０１０８】
そして描画用計算装置１００では、ＲＡＭ１０６に記憶させたコンピュータプログラム２０１を実行するＣＰＵ１０１の制御に基づいて、ステップＳ３０１にて抽出した四の傍頂点により形成される四角形の対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルの外積を正規化した下記の式（４）にて示すベクトルＮ０を計算する（Ｓ３０３）。
【０１０９】
法線ベクトルＮ０
＝（Ｐ１−Ｐ３）×（Ｐ２−Ｐ４）／｜（Ｐ１−Ｐ３）×（Ｐ２−Ｐ４）｜
……式（４）
【０１１０】
ステップＳ３０３にて計算されるベクトルＮ０は、基準頂点Ｖ０の法線ベクトルとして用いられる。
【０１１１】
なお対角の位置にある一方の傍頂点から他方の傍頂点へ向かう二組のベクトルとは、図９における傍頂点Ｖ１から傍頂点Ｖ３へ向かうベクトル及び傍頂点Ｖ２から傍頂点Ｖ４へ向かうベクトルである。
【０１１２】
図１０は本発明の描画用計算装置１００における三次元対象物の端部の結合関係を模式的に示す説明図である。図１０は、例えば図２にて示した正方形の布を模した三次元対象
物の端部を示しており、図１０（ａ）が正方形の辺に相当する端部であり、図１０（ｂ）が正方形の頂点に相当する端部である。
【０１１３】
図１０（ａ）に示す端部では、基準頂点Ｍ０に対する四の傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４の中で傍頂点Ｖ４となるべき頂点が存在しない。
【０１１４】
このような場合でも基準頂点Ｍ０には相隣る四の傍頂点Ｍ１，Ｍ２，Ｍ３，Ｍ４が接続されていると仮定し、傍頂点Ｍ４の座標Ｐ４として基準頂点Ｖ０の座標Ｐ０を用いて計算を行う。
【０１１５】
図１０（ｂ）に示す端部では、基準頂点Ｍ０に対する四の傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４の中で傍頂点Ｖ３，Ｖ４となるべき頂点が存在しない。
【０１１６】
このような場合でも基準頂点Ｍ０には相隣る四の傍頂点Ｖ１，Ｖ２，Ｖ３，Ｖ４が接続されていると仮定し、傍頂点Ｖ３，Ｖ４の座標Ｐ３，Ｐ４として基準頂点Ｍ０の座標Ｐ０を用いて計算を行う。
【０１１７】
上述した法線ベクトル計算処理により計算時間を短縮することが可能であり、実際にテストを行ったところ、従来の方法の２０〜２５％の時間で計算を完了することができるという結果が得られた。
【０１１８】
前記発明を実施するための最良の形態では、複数の四角形にて表面が形成される三次元対象物の描画に関する計算を行う形態を示したが、本発明はこれに限らず、複数の三角形にて表面が形成される三次元対象物等の四角形以外のポリゴンの頂点に対する合力の計算に適用することも可能である。
【図面の簡単な説明】
【０１１９】
【図１】本発明の描画用計算装置の構成を示すブロック図である。
【図２】本発明の描画用計算装置における三次元対象物を模式的に示す説明図である。
【図３】本発明の描画用計算装置のポリゴン変換処理を示すフローチャートである。
【図４】本発明の描画用計算装置のポリゴン変換処理による三次元対象物のポリゴンの変換を示す説明図である。
【図５】本発明の描画用計算装置の合力計算処理を示すフローチャートである。
【図６】本発明の描画用計算装置の合力計算処理における基準頂点及び該基準頂点と相隣る四の傍頂点の結合関係を模式的に示す説明図である。
【図７】本発明の描画用計算装置における三次元対象物の端部の結合関係を模式的に示す説明図である。
【図８】本発明の描画用計算装置の法線ベクトル演算処理を示すフローチャートである。
【図９】本発明の描画用計算装置の法線ベクトル演算処理における基準頂点及び該基準頂点と相隣る四の傍頂点の結合関係を模式的に示す説明図である。
【図１０】本発明の描画用計算装置における三次元対象物の端部の結合関係を模式的に示す説明図である。
【符号の説明】
【０１２０】
１００  画像処理装置
１０１  ＣＰＵ
１０２  信号処理プロセッサ
１０３  マトリックス演算プロセッサ
１０４  画像描画処理プロセッサ
１０５  補助記憶手段
１０６  ＲＡＭ
１０７  入力用インターフェース回路
１０８  入力手段
１０９  音声出力用インターフェース回路
１１０  音声用Ｄ／Ａコンバータ
１１１  プリメインアンプ
１１２  画像出力用インターフェース回路
１１３  画像用Ｄ／Ａコンバータ
１２０  音声出力手段
１３０  表示手段
２００  記録媒体
２０１  コンピュータプログラム
【図１】
2005099952.tif 000008
【図２】
2005099952.tif 000009
【図３】
2005099952.tif 000010
【図４】
2005099952.tif 000011
【図５】
2005099952.tif 000012
【図６】
2005099952.tif 000013
【図７】
2005099952.tif 000014
【図８】
2005099952.tif 000015
【図９】
2005099952.tif 000016
【図１０】
2005099952.tif 000017