(57)【特許請求の範囲】
【請求項１】
物体の頂点座標を表す頂点情報と、前記物体を構成する各面を前記頂点情報の順序を示す番号の組合せで表わした面情報と、を有する形状データの各面の面情報を整列する面情報整列装置であって、
前記形状データの外部に複数の補助点を指定する手段と、
各面毎の法線方向ベクトルと重心位置を算出する手段と、
各面毎の前記重心位置から一番近い補助点と前記重心位置との差分ベクトルを算出する手段と、
前記差分ベクトルと前記法線方向ベクトルとの内積角を算出する手段と、
前記内積角が予め定められた角度より大きい場合、前記面の法線方向を反転するように、面情報を構成する前記頂点情報の順序を示す番号を整列しなおす手段と、
を具備することを特徴とする面情報整列装置。
【請求項２】
コンピュータを、物体の頂点を表わす頂点情報と、前記物体を構成する各面を前記頂点情報の順序を示す番号の組合せで表わした面情報と、を有する形状データを基にして、
前記形状データの外部に複数の補助点を指定する手段と、
各面毎の法線方向ベクトルと重心位置を算出する手段と、
各面毎の前記重心位置から一番近い補助点と前記重心位置との差分ベクトルとを算出する手段と、
前記差分ベクトルと前記法線方向ベクトルとの内積角を算出する手段と、
前記内積角が予め定められた角度より大きい場合、前記面の法線方向を反転するように、面情報を構成する前記頂点情報の順序を示す番号を整列しなおす手段、
として機能させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元コンピュータグラフィックスの画像制作における形状データの法線方向整列装置および記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、形状データ制作において物体を構成している各面の法線方向を整列する際、（１）オペレータが整列する面を選択し、反転の指示を行う対話的方法、（２）空間上の補助点を一点のみオペレータが指定し、個々のポリゴンが補助ポイントの方向（または反対方向）に向く処理を自動的に行うことにより、法線方向を整列する方法等が取られている。
【０００３】
しかしながら、前述（１）の方法では、膨大な形状データに対してオペレータの整列処理の作業負荷が非常に大きい。また、前述（２）の方法では、入力するポリゴンデータの向きによっては正しい整列処理ができない場合があり、精度良く整列することができない。
【発明が解決しようとする課題】
【０００４】
本発明は、このような問題を鑑みてなされたもので、その目的とするところは、形状データ制作作業効率および形状データの各面における法線方向整列処理の精度の高い法線方向整列装置を提供することにある。
【０００５】
【課題を解決するための手段】
前述した目的を達成するための本発明は、物体の頂点座標を表す頂点情報と、前記物体を構成する各面を前記頂点情報の順序を示す番号の組合せで表わした面情報と、を有する形状データの各面の面情報を整列する面情報整列装置であって、前記形状データの外部に複数の補助点を指定する手段と、各面毎の法線方向ベクトルと重心位置を算出する手段と、各面毎の前記重心位置から一番近い補助点と前記重心位置との差分ベクトルを算出する手段と、前記差分ベクトルと前記法線方向ベクトルとの内積角を算出する手段と、前記内積角が予め定められた角度より大きい場合、前記面の法線方向を判定するように、面情報を構成する前記頂点情報の順序を示す番号を整列しなおす手段と、を具備することを特徴とする面情報整列装置である。
【０００６】
【発明の実施の形態】
以下に、図面に基づいて本発明の実施の形態を詳細に説明する。図１は、本発明の実施の形態に係る形状データの法線方向整列装置１の概略構成図である。図１に示すように、形状データの法線方向整列装置１は、パーソナルコンピュータ３、外部記憶装置５等を有する。
【０００７】
パーソナルコンピュータ３は、形状データ入力装置７、法線方向整列装置９、形状データ出力装置１１として機能する。形状データ入力装置７は、頂点テーブル（図５）と稜線テーブル（図５）で記述された３次元形状データを外部記憶装置５からメモリ上に入力する。法線方向整列装置９は、入力した形状データに対して、各面の法線方向の整列処理を行う。形状出力装置１１は、メモリ上に展開された頂点テーブルと稜線テーブルで記述された３次元形状データを外部記憶装置５のファイルデータとして出力する。外部記憶装置５は、ハードディスク、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ）等であり、形状データを記憶する。
【０００８】
次に、本発明の形状データの法線方向整列処理１の処理手順を説明する。図２は、形状データの法線方向整列装置１の概略の処理手順を示すフローチャートである。図３は、法線方向整列装置９における、形状データの法線方向整列処理の詳細な処理手順を示すフローチャートである。図４、図５は、形状データの構造を示す。
【０００９】
まず、形状入力装置７において、外部記憶装置５より形状データをパーソナルコンピュータ３のメモリ上に読込む（ステップ２０１）。例えば、図４に示すような物体２０の形状データを読込む。図５に示すように、読込まれた形状データ２１は、各ポリゴン（面）の頂点座標を一頂点ずつ記述されている頂点テーブル２３ｖi （ｉ＝０，…，Ｎv ）と、各ポリゴン( 面) Ｓj （ｊ＝０，…，Ｎs ）がもつ頂点を頂点テーブル２３の順序を示す番号である頂点番号のこの並びとして記述されている稜線テーブル２５から構成される。
【００１０】
頂点テーブル２３において、Ｖは頂点を示す。例えば、第１番目の頂点座標は（０．００，０．００，０．００）であり、第２番目の頂点座標は（１．００，０．００，０．００）である。また、稜線テーブル２５において、ｆは面を示す。例えば、第１番目の面情報は「ｆ  １２６５」となっており、第１、第２、第６、第５番目の頂点により決定される。同様に、第２の面情報「ｆ  ２６７３」は、第２、第６、第７、第３番目の頂点により決定される。
【００１１】
次に、法線方向整列装置９において、入力した形状データ２１に対して、法線方向の整列処理を行う（ステップ２０２）。図３を用いて、この形状データ２１に対する法線方向の整列処理の手順を詳細に説明する。図６は、面Ｓ1 の法線方向の整列処理の説明図である。図７は、面Ｓ2 の法線方向の反転処理の説明図である。
【００１２】
図３に示すように、まず、オペレータが形状データの外部に複数の補助点ｐ（１），ｐ（２），…，ｐ（ｊ）と最大角ａ（１），ａ（２），…，ａ（ｊ）を指定する（ステップ３０１）。例えば、図６に示すように、物体２０の外部に複数の補助点ｐ（１），ｐ（２），…，ｐ（５）を指定する。
【００１３】
次に、稜線テーブル２５から任意の面Ｓi を選択する（ステップ３０２）。例えば、図６に示すように、稜線テーブル２５の第１番目の面Ｓ1 「ｆ  １２６５」を選択する。
【００１４】
次に、面Ｓi の法線方向ベクトルＮi を算出する（ステップ３０３）。例えば、面Ｓ1 の場合、図６に示すように法線方向ベクトルＮ1 を算出する。次に、面Ｓi の重心位置Ｇi を算出する（ステップ３０４）。例えば、面Ｓ1 の場合、図６に示すように重心位置Ｇ1 を算出する。
【００１５】
次に、選択した面Ｓi に対して重心位置Ｇi から一番近傍の補助点ｐ（ｋ）を選択する（ステップ３０５）。例えば、図６のに示すように、面Ｓ1 の場合、重心位置Ｇ1 から一番近傍の補助点ｐ（３）を選択する。
【００１６】
次に、面Ｓi の重心位置Ｇi と補助点ｐ（ｋ）との差分ベクトルＤikを算出する（ステップ３０６）。差分ベクトルＤikと法線方向ベクトルＮi の内積角ａi を算出する（ステップ３０７）。例えば、面Ｓ1 の場合、図６に示すように重心位置Ｇ1 と補助点ｐ（３）との差分ベクトルＤ13を算出する。次に、重心位置Ｇ1 と補助点ｐ（３）との差分ベクトルＤ13と、法線方向ベクトルＮ1 の内積角ａ1 を算出する。
【００１７】
内積角ａi がオペレータが指定した最大角ａ（ｋ）より小さい場合（ステップ３０８）は、正しく整列されているので、ステップ３０２へ戻り、次の面の整列処理を行う。例えば、面Ｓ1 の場合、図６に示すように内積角ａ1 がオペレータが指定した最大角ａ（３）より小さいので、ステップ３０２へ戻り、次の面の整列処理へ移る。
【００１８】
次に、内積角ａi がオペレータが指定した最大角ａ（ｋ）より大きい場合（ステップ３０８）、ポリゴンすなわち面Ｓi の法線方向の反転処理を行う（ステップ３０９）。具体例として、図７を用いて、稜線テーブル２５の第２番目の面Ｓ2 「ｆ  ２６７３」の法線方向の反転処理の説明を行う。
【００１９】
図７の（ａ）に示すように、面Ｓ2 の法線方向ベクトルＮ2 、重心位置Ｇ2 を算出する（ステップ３０３、ステップ３０４）。面Ｓ2 に対して重心位置Ｇ2 から一番近傍の補助点ｐ（４）を選択する（ステップ３０５）。面Ｓ2 の重心位置Ｇ2 と補助点ｐ（４）との差分ベクトルＤ24を算出し（ステップ３０６）、差分ベクトルＤ24と法線方向ベクトルＮ2 との内積角ａ2 を算出する（ステップ３０７）。内積角ａ2 がオペレータが指定した最大角ａ（４）より大きいので（ステップ３０８）、面Ｓ2 の法線方向の反転処理を行う（ステップ３０９）。
【００２０】
図７の（ｂ）に示すように、面Ｓ2 の法線方向を反転させることで面Ｓ2 の法線方向ベクトルＮ2rを算出し、差分ベクトルＤ24と法線方向ベクトルＮ2rとの内積角ａ2 を算出する。内積角ａ2 はオペレータが指定した最大角ａ（４）より小さくなり、正しく整列される。すなわち、面Ｓ2 の法線方向を反転させ、稜線テーブル２５の面「ｆ  ２６７３」を「ｆ  ２３７６」に整列し直し、置き換える。
【００２１】
このようにして、法線方向整列処理９において、稜線テーブル２５の個々の面に対して法線方向の整列処理を行う。
【００２２】
次に、形状出力装置１１において、メモリ上に展開された頂点テーブル２３と稜線テーブル２５で記述された形状データ２１を外部記憶装置５へファイルデータとして出力する（ステップ２０３）。
【００２３】
このように、本実施の形態によると、頂点テーブル２３と個々の面を記述した稜線テーブル２５で定義された形状データ２１と形状データ２１の外部にオペレータが指定した複数の補助点に対して、個々の面の法線方向を自動的に整列させる。従って、オペレータの整列処理の作業負荷が非常に軽減される。また、従来の方法と比較して、精度良く面の法線方向の整列ができる。
【００２４】
尚、本発明は、コンピュータグラフィックス（ＣＧ）の画像制作、ＣＧカレンダー、ＣＧホログラム、ＣＧアニメーション、ＣＧコマーシャル、ＣＧポスター、ハイビジョンＣＧ静止画番組等の制作等に用いることができる。
【００２５】
また、図２や図３に示すプログラムを記録したＣＤ−ＲＯＭ等の記録媒体自体を市場で流通させることもできる。
【００２６】
【発明の効果】
以上、詳細に説明したように本発明では、形状データ制作作業効率および形状データの各面における法線方向整列処理の精度の高い法線方向整列装置を提供することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係る形状データの法線方向整列装置１の概略構成図
【図２】  形状データの法線方向整列装置１の概略の処理手順を示すフローチャート
【図３】  法線方向整列装置９における、形状データの法線方向整列処理の詳細な処理手順を示すフローチャート
【図４】  物体２０を示す図
【図５】  形状データ２１の構造を示す図
【図６】  面１２６５の法線方向の整列処理の説明図
【図７】  面２６７３の法線方向の整列処理の説明図
【符号の説明】
１………形状データの法線方向整列装置
３………パーソナルコンピュータ
５………外部記憶装置
７………形状入力装置
９………法線方向整列装置
１１………形状出力装置
２０………物体
２１………形状データ
２３………頂点テーブル
２５………稜線テーブル
出願人  大日本印刷株式会社
代理人  弁理士  井上  誠一
【図１】
0003718345.tif 000002
【図２】
0003718345.tif 000003
【図３】
0003718345.tif 000004
【図４】
0003718345.tif 000005
【図５】
0003718345.tif 000006
【図６】
0003718345.tif 000007
【図７】
0003718345.tif 000008