(57)【特許請求の範囲】
【請求項１】
三次元モデルが多面体に近似されている場合に、当該多面体を定義する複数の制御点からなるポリゴンデータに基づいて新たな制御点を生成して、当該新たな制御点を曲線で接続することにより、当該三次元モデルを複数曲面の結合体に近似するデータ生成装置であって、
前記多面体を定義する複数の制御点を通過する曲線を生成する第１生成手段と、
三次元モデルの基準軸を円心軸とする円柱を高さ方向にn+1個に等分割すると共に、当該円柱の円周をm個に等分割するn×m個の分割点を生成する第２生成手段と、
第２生成手段により生成されたn×m個の分割点と、第１生成手段により生成された曲線との位置関係に基づいて、第１生成手段により生成された曲線上に、新たな制御点を設定する設定手段とを備え、
前記第１生成手段は、多面体近似された三次元モデルの外周を周回する曲線であって、ポリゴンデータに含まれる複数の制御点を通過する周回曲線を生成する第１生成部を備え、前記設定手段は、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、周回曲線とが交差する位置を検出する第１検出部と、
検出された交差位置を新たな制御点として設定する第１設定部とを備えることを特徴とするデータ生成装置。
【請求項２】
前記第１生成手段は、第１生成部により生成された周回曲線により、ポリゴンデータに含まれる全ての制御点が周回曲線に接続されたか、一部の制御点が周回曲線に接続されずに残っているかを判定する第１判定部と、
一部の制御点が周回曲線に接続されずに残っている場合、当該一部の制御点と、周回曲線に接続された制御点とを通過する枝状の曲線を生成する第２生成部とを備え、前記第１検出部は更に、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、枝状の曲線とが交差する位置を検出し、前記第１設定部は、検出された交差位置を新たな制御点として設定することを特徴とする請求項１記載のデータ生成装置。
【請求項３】
前記第１生成手段は、前記半径方向の直線であって、第１生成部により生成された周回曲線と、周回曲線との間に位置するものを検出する第２検出部と、
検出された半径方向直線についての分割点より高い位置及び低い位置に存在する2つの制御点であって、当該分割点に最も近い2つのものを検出する第３検出部と、
第３検出部により検出された2つの近傍制御点を通過する近傍曲線を生成する第３生成部とを備え、前記設定手段は、当該近傍曲線上の分割点と同じ高さの位置に、新たな制御点を設定する第２設定部とを備えることを特徴とする請求項１又は２に記載のデータ生成装置。
【請求項４】
三次元モデルが多面体に近似されている場合に、当該多面体を定義する複数の制御点に基づいて新たな制御点を生成し、当該新たな制御点を曲線で接続することにより、当該三次元モデルを複数曲面の結合体に近似するデータ生成装置であって、操作者から、多面体近似された三次元モデルにおいて形状の変化が大きい部位である極値点の指定を複数受け付ける受付手段と、
三次元モデルの所定方向及びこれに直交する方向において複数の極値点間を通過する曲線を複数生成する第１生成手段と、
生成された複数の曲線間を所定方向及びこれに直交する方向に分割することにより、n×m個の分割点を得て、これを新たな制御点とする分割手段とを備えることを特徴とするデータ生成装置。
【請求項５】
三次元モデルが多面体に近似されている場合に、当該多面体を定義する複数の制御点からなるポリゴンデータに基づいて新たな制御点をコンピュータに生成させ、当該新たな制御点をコンピュータに曲線で接続させることにより、当該三次元モデルを複数曲面の結合体に近似させるデータ生成プログラムをコンピュータ読取可能な形式で記録している記録媒体であって、前記多面体を定義する複数の制御点を通過する曲線を生成する第１生成ステップと、三次元モデルの基準軸を円心軸とする円柱を高さ方向にn+1個に等分割すると共に、当該円柱の円周をm個に等分割するn×m個の分割点を生成する第２生成ステップと、第２生成ステップにより生成されたn×m個の分割点と、第１生成ステップにより生成された曲線との位置関係に基づいて、第１生成ステップにより生成された曲線上に、新たな制御点を設定する設定ステップとからなる手順をコンピュータに行わせ、
前記第１生成ステップは、多面体近似された三次元モデルの外周を周回する曲線であって、ポリゴンデータに含まれる複数の制御点を通過する周回曲線を生成する第１生成サブステップを備え、前記設定ステップは、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、周回曲線とが交差する位置を検出する第１検出サブステップと、検出された交差位置を新たな制御点として設定する第１設定サブステップとからなる
ことを特徴とするコンピュータ読取可能な記録媒体。
【請求項６】
前記第１生成ステップは、第１生成サブステップにより生成された周回曲線により、ポリゴンデータに含まれる全ての制御点が周回曲線に接続されたか、一部分の制御点が周回曲線に接続されずに残っているかを判定する第１判定サブステップと、一部分の制御点が周回曲線に接続されずに残っている場合、当該一部分の制御点と、周回曲線に接続された制御点とを通過する枝状の曲線を生成する第２生成サブステップとを備え、前記第１検出サブステップは更に、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、枝状の曲線とが交差する位置を検出し、前記第１設定サブステップは、検出された交差位置を新たな制御点として設定することを特徴とする請求項５記載のコンピュータ読取可能な記録媒体。
【請求項７】
前記第１生成ステップは、前記半径方向の直線であって、第１生成サブステップにより生成された周回曲線と、周回曲線との間に位置するものを検出する第２検出サブステップと、検出された半径方向直線についての分割点より高い位置及び低い位置に存在する2つの制御点であって、当該分割点に最も近い2つのものを検出する第３検出サブステップと、第３検出サブステップにより検出された2つの近傍制御点を通過する近傍曲線を生成する第３生成サブステップとを備え、前記設定ステップは、当該近傍曲線上の分割点と同じ高さの位置に、新たな制御点を設定する第２設定サブステップからなることを特徴とする請求項５又は６に記載のコンピュータ読取可能な記録媒体。
【請求項８】
三次元モデルが多面体に近似されている場合に、当該多面体を定義する複数の制御点に基づいて新たな制御点をコンピュータに生成させ、当該新たな制御点をコンピュータに曲線で接続させることにより、当該三次元モデルを複数曲面の結合体に近似させるデータ生成プログラムをコンピュータ読取可能な形式で記録している記録媒体であって、操作者から、多面体近似された三次元モデルにおいて形状の変化が大きい部位である極値点の指定を複数受け付ける受付ステップと、三次元モデルの所定方向及びこれに直交する方向において複数の極値点間を通過する曲線を複数生成する第１生成ステップと、生成された複数の曲線間を所定方向及びこれに直交する方向に分割することにより、n×m個の分割点を得て、これを新たな制御点とする分割ステップとからなる手順をコンピュータに行わせるプログラムが記録されていることを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、人体等の立体物の三次元形状を精密に表した三次元形状データを作成するデータ生成装置及びデータ生成プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
近年におけるコンピュ−タ・グラフィックスの進歩は目覚ましいものがあり、機械、建築、衣服等のあらゆる産業分野に深く浸透していると言っても過言ではない。コンピュ−タ・グラフィックスと一言でいっても、三次元形状の表現に用いられるデータの形式には、多種多様なものがある。そのうち現在最も広く普及しているデータ形式は、ポリゴン形式と呼ばれる三次元形状データである。ポリゴン形式の三次元形状データとは、多面体近似により特定の立体形状を表現するよう規定されたデータ形式であり、アメリカ・オートキャド社が規定したData eXcange Format(DXF)を初め、HRC,WAVEFRONT,IV,VRML形式等のものが広く知られている。
【０００３】
図１８は、ポリゴン形式の三次元形状データにて表現された女性のバスト部分の一例を示す図である。本図において、女性のバスト部分の形状は、三角形型の平面d1,d2,d3,d4,d5,d6・・・・・・を結合することにより表現されていることがわかる。また、本図を参照すると、三角形型の平面d1,d2,d3,d4,d5,d6・・・・・・の大きさや形状は一様でないことがわかる。これは、形状変化が少ない箇所を、大きな平面の結合により表現し、形状変化が大きい箇所は、小さな平面の結合により表現するためである。立体形状を複数の平面の結合として表現するため、ポリゴン形式の三次元形状データは、平面を配置すべき三次元座標を含んでいる（このような三次元座標にて特定される三次元空間内の仮想的な点を制御点という）。コンピュ−タ・グラフィックス描画専用のソフトウェアは、ポリゴン形式の三次元形状データの表示が命じられた場合、制御点を示す三次元座標をポリゴン形式の三次元形状データから取り出し、これら三次元座標に従って、複数の平面を描画する。平面が描画されれば、これら平面に陰影処理を施すことにより、三次元形状を表示させる。
【０００４】
【発明が解決しようとする課題】
ポリゴン形式の三次元形状データは、国内外を問わず、最も広く普及している三次元形状データであり、誰もがあらゆる形状のポリゴン形式の三次元形状データを容易に入手することができるが、上述の手順で三次元形状に陰影処理を施そうとすると、各平面に対応する全ての画素の輝度、明度が同一値に設定されるので、木や金属を削ったようなゴツゴツした人体が表示されることとなる。
【０００５】
人体が木を削ったように表現されることは、ポリゴン形式の三次元形状データをデザイン分野に応用する場合に深刻な問題となる。何故なら、描画された人体を対象にして衣服のデザインを行う場合、人体に女性のボディラインの滑らかさが現れていれば、その美しさを引き立たせるような美しい衣服をデザインしてゆくことができるが、人体が木を削ったように表現されている場合、引き立たせるべきボディラインが美しく表現されないので、ボディラインを引き立たせるような衣服のデザインが事実上不可能となるからである。
【０００６】
女性のボディラインの表現に適した三次元形状データには、NURBS(Non Uniform Rational B-Splline)形式のデータがある。NURBSとは、ベジェ曲線の束であって(このようなベジェ曲線の束はB-Spllineと呼ばれる。)、それぞれのベジェ曲線の曲率が不均一なものをいう。複数のベジェ曲線を含んだNURBS形式は、人体のボディラインを美しく表現することができるが、ポリゴン形式の三次元形状データに比べて容易に入手可能であるとはいえない。NURBS形式の三次元形状データを1から作る場合、熟練したプロの技能者であっても、大体2日が程度の工数が必要であるといわれる。従って、NURBS形式の三次元形状データを作成してから、衣服のデザインを行うというのは、デザイナーに多大な作業労力を要求することとなる。
【０００７】
最も、ポリゴン形式の三次元形状データでは平面の数が多ければ多い程、人体を緻密に表現することができるので、制御点の数を多くすれば、人体のボディラインを表現することが可能となる。しかし、制御点を多くする場合、これらの制御点の空間配置を定めるX座標、Y座標、Z座標の数も増えることとなるので、ポリゴン形式の三次元形状データのデータサイズが膨大になり、それを蓄積する際の記憶資源のサイズや、これを処理する際の処理負荷が多大になってしまうという問題点がある。
【０００８】
本発明の目的は、女性のボディラインの美しさを表現できるような複数の制御点を含むデータを簡易に作成することができるデータ生成装置を提供することである。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るデータ生成装置は、前記多面体を定義する複数の制御点を通過する曲線を生成する第１生成手段と、三次元モデルの基準軸を円心軸とする円柱を高さ方向にn+1個に等分割すると共に、当該円柱の円周をm個に等分割するn×m個の分割点を生成する第２生成手段と、第２生成手段により生成されたn×m個の分割点と、第１生成手段により生成された曲線との位置関係に基づいて、第１生成手段により生成された曲線上に、新たな制御点を設定する設定手段とを備え、前記第１生成手段は、多面体近似された三次元モデルの外周を周回する曲線であって、ポリゴンデータに含まれる複数の制御点を通過する周回曲線を生成する第１生成部を備え、前記設定手段は、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、周回曲線とが交差する位置を検出する第１検出部と、検出された交差位置を新たな制御点として設定する第１設定部とを備えることを特徴としている。
【００１０】
【発明の実施の形態】
以下、データ生成装置の実施形態について説明を行う。実施形態に係るデータ生成装置は、汎用パーソナルコンピュータに、CADプログラムをインストールし、このCADプログラムをパーソナルコンピュータの中央処理装置に実行させることにより実現される。データ生成装置の機能を具現するCADプログラムは、従来のCADプログラム同様、CD-ROM,DVD-ROM,フロッピーディスク等のコンピュータ読み取り可能な記録媒体に記録されて、流通・販売の対象となる。データ生成装置の機能を具現するCADプログラムは、衣服のデザイン、パターンメイキング、マーキングを行う点において、従来のCADプログラムと変わりないが、光学的に読み取られた精密な人体を対象としてデザインや型紙を作成する点が従来のCADプログラムと異なる。
【００１１】
図１（ａ）は、データ生成装置の機能を具現するCADプログラムがインストールされるパーソナルコンピュータのハードウェア構成を示す図である。図１（ａ）において、本パーソナルコンピュータは、データ生成装置の機能を具現するCADプログラムが記録されたコンピュータ読み取り可能な記録媒体を装填するドライブ装置１と、コンピュータ読み取り可能な記録媒体から読み出された、前記CADプログラムを収録した実行ファイル及びCADプログラムが動作を行うための各種データを格納したデータファイルを所定のディレクトリィ構造に従って格納する固定ディスク装置２と、ペン、タブレット、タッチパネル、キーボード等に対してなされた操作を受け付けるポインティングデバイス３と、操作者からの操作がCADプログラムを実行させる旨の操作である場合、当該CADプログラムや各種データがロードされるメモリ４と、メモリにロードされたCADプログラムや各種データに基づいて、処理を行うプロセッサ５と、CADプログラムによる処理結果を表示するLCD、CRT等のディスプレィ装置６と、プリンタ、X-Yプロッタ等の出力装置７とからなり、ソフトウェアの基盤処理がWindows98,Windows-NT等のマルチウィンドウ型のオペレーティングシステムにて実現されている。また本パーソナルコンピュータは、Silicon Graphics社の"OpenGL"等、コンピュ−タ・グラフィックス描画専用のプログラムライブラリィを備えおり、コンピュ−タ・グラフィックス描画環境が整備されている。これらの説明からも理解できるように、本実施形態に係るデータ生成装置を具現するにあたって、パーソナルコンピュータには特別なハードウェアを具備する必要はない。
【００１２】
このようにして実現されたパーソナルコンピュータが、データ生成装置の機能を具現する際、データ生成装置の内部構成は、図１（ｂ）のようになる。本図において、データ生成装置は、データ格納部１０、ユーザインターフェイス部１１、投影像表示部１２、及びデータ変換部１３からなる。
データ格納部１０は、固定ディスク装置等で構成され、コンピュ−タ・グラフィックスのために用いられる各種ファイルを格納したディレクトリ領域を有する。データ格納部１０に格納されるファイルには、 Data eXcange Format(DXF)、HRC,WAVEFRONT,IV,VRML形式のポリゴン形式の三次元形状データを格納したものがある。
【００１３】
ポリゴン形式の三次元形状データは、不定個数の制御点の三次元座標値を含み、これら制御点の空間配置により、人体の形状、又は、腕、足、胴体等人体の一部分を示すデータである。図２（ａ）は、三次元形状データのデータ構造を示す図である。本図において、三次元形状データは、配列型のデータ構造を有しており、X座標、Y座標、Z座標という一連の組みを複数含む。このX座標、Y座標、Z座標という一連の組みは、制御点の個々の三次元座標値を示すものである。更に、これらのX座標、Y座標、Z座標の3つの組みは、三角形型の平面（ポリゴン）を構成している。本図において制御点1,2,3のX座標、Y座標、Z座標は、ポリゴン1の三次元座標を規定するものであり、また制御点4,5,6のX座標、Y座標、Z座標は、ポリゴン2の三次元座標を規定するものである。
【００１４】
図３は、ポリゴン形式の三次元形状データにて表現された女性の人体形状を示す図である。本図における女性人体は、無数の三角形型平面を組み合わせることにより形成されている。これらの三角形型平面のそれぞれの座標は、図２（ｂ）に示すように、配列型のデータ構造にて格納されているのである。
ユーザインターフェイス部１１は、操作者からの対話的な編集操作を受け付けるためのGUIであり、オペレーティングシステムの一機能として実現されている。このユーザインターフェイス部１１は、『ファイル』『編集』『表示』等の設定を操作者から受け付けるための文字列を表示させており、何れかの文字列がクリックされると、プルダウンメニュー等を表示させる。このプルダウンメニュー等には、三次元形状データに対する様々な編集モードが提示されるが、この様々な編集モードの中には、市販のポリゴン形式の三次元形状データを、NURBS形式の三次元形状データに変換するという『データ変換モード』がある（更にこのデータ変換モードには、操作者による極値点の設定に基づいて、データ変換処理を行うという極値点設定処理があり、操作者からの明示の指示があった場合、データ変換処理は、この極値点設定処理に基づいて行われる。）。これらのうち何れかのモードが選択されると、ユーザインターフェイス部１１はデータ格納部１０におけるディレクトリを表示し、ここに格納されている複数のファイルの中から、処理対象となるファイルを選択するよう提示する。
【００１５】
投影像表示部１２は、OPEN-GLの機能を有し、ユーザインターフェイス部１１を介して指定されたファイルに三次元形状データが含まれている場合、当該三次元形状データの投影像を、ウィンドウ内に表示する。三次元形状データの投影像を表示させる。この際、データ生成装置は、光源位置と、各三次元形状データにおける各平面との距離や位置関係に基づいて制御点間の平面の色、明るさを算出して、この明るさにより、スクリーン上の投影像の色・明るさを調整する。このように、光源位置と、各三次元形状データにおける各平面との距離や位置関係に基づいて、制御点間の平面の色、明るさを算出する処理はシェーディング処理といい、このようなシェーディング処理がなされることにより、三次元形状データの投影像には、陰影が付され、投影像に立体感が現れる。図２（ｂ）は、CG描画専用プログラムライブラリィにより表示されるべき三次元形状データについての座標系を示す図である。CG描画専用プログラムライブラリィが画面表示を行う際の座標系は、画面中心を原点(0,0)とし、横p×縦qからなるX-Y座標系と、Z座標とからなり、画面上向きを正のY軸方向、画面右向きを正のX軸方向としている。
【００１６】
データ変換部１３は、CADプログラムの一のモジュールであり、データ変換モードが選択された場合、データ格納部１０におけるディレクトリを表示し、ここに格納されている複数のファイルの中から、ポリゴン形式の三次元形状データを収録したファイルを選択するよう提示する。ファイルが選択されれば、そのファイルに格納されているポリゴン形式の三次元形状データをメモリ４上にロードし、これらポリゴン形式の三次元形状データを用いて、複数の平面にて三次元形状が規定されるNURBS形式の三次元形状データに変換する。
【００１７】
このように、ポリゴン形式の三次元形状データを収録したファイルが選択されれば、三次元形状データ生成部１３は、図５のフロ−チャ−トに従って、依頼主の人体形状を示す三次元形状データを作成する。図５は、三次元形状データ生成部１３による人物像の立体化の処理手順を示すフローチャートである。データ変換部１３による変換処理は、ポリゴン形式の三次元形状データが人体を示すものである場合、人体の頭、胴体、腕、脚というそれぞれの部分に分けて行われる。図５のステップＳ１においてデータ変換部１３は、マウスによる範囲指定操作を操作者から受け付けて、変換処理の対象となるべき人体部位を特定する。尚、首、腕、胴体、脚毎にモデルデータが作成されてゆく過程を記述しようとすると説明が煩雑になるので、以降の説明では、人体の胴体部について、モデルデータが作成されてゆく場合について説明する。
【００１８】
ステップＳ２では、ポリゴン形式の三次元形状データに含まれる制御点の座標を縦方向、横方向に並べ替えて、メモリ上の動的配列に記憶しておく。図２（ｃ）は、動的配列の一例を示す図である。本図に示すように、動的配列は、座標値とチェック欄とを持つ可変長データである。
以降のステップＳ３〜Ｓ８では、多面体近似された三次元形状の胴回りを周回する曲線であって、ポリゴンデータに含まれる複数の制御点を通過する周回曲線を生成する。
【００１９】
周回曲線をどのように生成するかについて図６を参照しながら説明する。図６（ａ）〜（ｆ）は、ポリゴン形式の三次元形状データにおける複数の制御点が生成されて周回曲線が生成される様子を示す図である。ここでデータ生成装置が処理を行う場合の座標系について説明する。データ生成装置により処理される制御点は、(θ,z)という単位で三次元座標が特定されるよう、制御点の座標値の変換を行う。図４は、制御点の三次元座標を特定する座標系を示す図である。ここでZ軸は、三次元形状の中心に設けられており、三次元形状の下の端から高さ方向を正方向としている。またθは、三次元形状における任意のX-Y平面において、三次元形状の正面となす角度として表現される。
【００２０】
ステップＳ３では、Z軸における任意の制御点を選択する。ここでの選択は、高さ方向においてポリゴン形式の三次元形状データの中点にあるものを選択してもよいし、マウスでの選択を受け付けて選択しても良い。続いてステップＳ４では、選択された制御点を通過すると共に、三次元人体形状の胴回りを周回する周回曲線を生成する。この周回曲線の生成手順について図６を参照しながら具体的に説明する。
【００２１】
図６（ａ）は、ポリゴン形式の三次元形状データにおける任意の制御点が、操作者により指定された場合を想定した図である。この場合、制御点P1と180°の角度をなし、制御点P1と対向する制御点を検出する。このように対向する制御点を検出しようとする場合、必ずしも、対向する位置に制御点が存在するとは限らない。何故なら、制御点は、三次元空間に離散的に分布しており、同一平面上に制御点が複数存在するとは限らないからである。対向する位置に制御点が存在しない場合、制御点P1と対向する位置に存在する制御点であって、平面より上方向又は下方向に位置するものを検出する。ここで図６（ｂ）は、制御点P1と対向する位置から下方向に間隔Δh2だけ隔てられた位置に制御点P2が存在する場合、この制御点P2が検出された状態を示す図である。
【００２２】
対向する位置に存在する制御点が検出されれば、同様に制御点P1と90°、270°の角度をなす位置に存在する制御点、又は、これより上下方向にある制御点であって、最も近傍に存在するものを検出する。ここで図６（ｃ）は、制御点P1と90°270°をなす位置に制御点は存在しないが、上方向に間隔Δh3、間隔Δh4だけ隔てられた位置とに制御点P3及び制御点P4が存在する場合、これら制御点P3、制御点P4が検出されたことを示す図である。
【００２３】
同様に制御点P1と45°,135°,225°,315°をなす位置に存在する制御点、又は、これと近傍する位置に存在する制御点を検出する。ここで図６（ｄ）に示すように、制御点P1と45°,135°,225°,315°をなす位置から上方向及び下方向に間隔Δh5,Δh6,Δh7,Δh8だけ隔てられた位置に、制御点P2及び制御点P4が存在する場合、これら制御点P5、制御点P4が検出される。
【００２４】
このように、制御点P1と180°,90°,270°,45°,135°,225°,315°をなす位置に近い位置に存在する制御点が検出されれば、これらの制御点を一旦直線に接続して、図６（ｅ）に示すようにポリゴン形式の三次元形状データに示される人体を輪切りにする多角形を生成する。そして、それらの制御点をメモリ上の動的配列の座標値欄に保存すると共に、対応するチェック欄に、選択済みである旨を示すマークを記入する。その後、制御点の接続により得られた多角形を曲線に変換する。
【００２５】
以上の手順にて、制御点P1を通過しつつも、三次元人体形状の胴回りを周回する曲線が生成される。図６（ｆ）は、三次元人体形状の胴回りを周回するハート型の曲線w2を示す図である。制御点間が曲線で接続されれば、動的配列における曲線が通過した座標値に対応づけられているチェック欄をマークして、当該制御点は曲線により接続されたことを示す。
【００２６】
以上の手順で、制御点P1を通過する周回曲線が作成されれば、制御点P1よりZ軸の正の方向及び負の方向に存在する制御点について、同様の手順を繰り返す。即ち、図５のステップＳ５において制御点P1より上方向にある制御点を選んで、当該制御点を通過する周回曲線を作成し、周回曲線の作成が終われば、それより上にある制御点を選んで、当該制御点を通過する周回曲線を作成するという手順を繰り返すのである。
【００２７】
最も高い位置にある制御点について、周回曲線が作成されれば、図５のステップＳ６において今度は制御点P1より下方向にある制御点を選んで、当該制御点を通過する周回曲線を作成し、周回曲線の作成が終われば、それより下にある制御点を選んで、当該制御点を通過する周回曲線を作成するという手順を繰り返す。図７（ｂ）は、以上の手順を複数回繰り返すことにより、作成された周回曲線w1,w2,w3,w4,w5,w6・・・・・w11,w12,w13を示す図である。図７（ａ）は、図７（ｂ）に示す周回曲線が三次元形状のどの位置に存在するかを示す図である。
【００２８】
生成された周回曲線により、ポリゴンデータに含まれる全ての制御点が周回曲線に接続されたが一部の制御点が周回曲線に接続されずに残る場合が有り得る。そこで、図５のステップＳ７において動的配列における各制御点についてのチェック欄を参照して、未だマークが付与されていない制御点を検出する。一部の制御点が周回曲線に接続されずに残っている場合、ステップＳ８において当該一部の制御点と、周回曲線に接続された制御点とを通過する枝状の曲線を生成する。そのように枝状の曲線を生成すれば、その制御点についての座標に対応づけられているチェック欄にマークを付与する。以上、動的配列における未マークの制御点がなくなるまで、枝状制御点の接続を繰り返す。図７（ｃ）は、枝状の曲線ye1,ye2,ye3・・・・・ye7,ye8が追加された状態の三次元形状を示す図である。
【００２９】
この段階で、ポリゴン形式の三次元形状データに含まれる全ての制御点が曲線で接続されたことになるが、図７（ｂ）を参照してもわかるように、周回曲線w1,w2,w3,w4,w5,w10・・・・・・w11は、人体の横方向を奇麗に通過しているのではなく、上下に歪曲しており、所々枝状の曲線が接続されているので、見た目が悪い。女性のボディラインの美しさが表現されるとは到底思えない。そこで、本データ生成装置は、このような周回曲線で女性人体を表現するのではなく、この女性人体とは別にn×m個の制御点を定義し、周回曲線と、n×m個の制御点との位置関係に応じて、曲線上に新たな制御点を設定することにより、女性の人体を表現するのである。
【００３０】
このような変換を行うため、図５のステップＳ９においてデータ変換部１３は、パラメータn×mの入力を受け付ける。ここでn×m個の数は、2のべき乗となる数を選んでいる。このように2のべき乗を選ぶ理由は、NURBS形式の三次元形状データへと変換された後には、4×4の制御点の単位で曲面の接続が行われるので、このように4×4の制御点の単位で曲面の接続が行われることを考えれば、２のべき乗の制御点が存在することが最も望ましいからである。
【００３１】
続いてデータ生成装置はステップＳ１０において、多面体近似された三次元形状の基準軸を中心軸とする円柱状物体を生成し、ステップＳ１１では当該円柱物を高さ方向にn個に均等分割すると共に、分割により得られた各断面をm個に均等分割することにより、n×m個の分割点を生成する。図８（ａ）は、n×m個の分割点I1,I2,I3,I4,I5,I6・・・・・Inを有する円柱物体を示す図である。ここで三次元形状の基準軸とは、三次元形状の重心、又は、三次元形状の断面の重心を通過する軸であり、図８（ａ）に示す円柱物体は、その基準軸を中心軸としている。図８（ｂ）に示す三次元形状と対比しても判るように、当該円柱物体は、直径width1と、高さheightとを有することがわかる。このような円柱物体を求めるため、データ変換部１３は以下の処理を行う。即ち、三次元形状についての制御点に基づいて、三次元形状における中心部位の断面を求め、その重心を算出する。そして、その重心を通過する基準軸を算出して、この基準軸を中心軸とする円柱物体を定義するのである。
【００３２】
このように円柱物体を算出した後、ステップＳ１２では、ポリゴンデータに含まれる複数の制御点を通過する周回曲線と、n×m個の分割点との位置関係に基づいて、曲線上に新たな制御点を設定することにより、曲面近似された三次元形状を示すn×m個の制御点を作成してゆく。図９は、周回曲線w1,w2との位置関係に応じて、円柱物体上に存在する分割点I1,I2,I3,I4との位置関係に応じて、位置v1,v2,v3,v4に新たな制御点を設定する様子を示す図である。本図において各分割点は、矢印u1,u2,u3,u4に示すように、移動していることがわかる。本実施形態におけるデータ生成装置はこのような移動により、NURBS形式の三次元形状データを作成してゆく。
【００３３】
以降、このような新たな制御点を設定する手順について説明してゆく。
ここでn×m個の分割点のうち、NURBS形式の三次元形状データの分割点に変換すべきものを分割点Ixといい、図１０（ａ）に示すように、角度角度θx、高さ高さZxの位置に存在する。また、分割点Ixに対応する点であって、曲線上に存在するものを制御点Vxという。
【００３４】
図１０（ｂ）に示すように、分割点Ixにおいて周回曲線Wxが交差する場合、この分割点Ixを制御点Vxとして設定する。
図１０（ｃ）に示すように、分割点Ixでは周回曲線Wxは交差しないが、断面の中心軸と、分割点Ixとを通過する半径方向の直線RS1上であって、分割点Ixより外側にある位置、図１０（ｃ）でいうと中心軸から距離rxの位置において周回曲線と交差する場合がある。このような半径方向の直線RS1上で交差する場合、制御点Vxは、分割点Ix同様、角度θx、高さZxに存在することになるので、この分割点Ixを制御点Vxに変換する。
【００３５】
図１０（ｄ）に示すように、分割点Ixでは周回曲線は交差しないが、断面の中心軸と、分割点Ixとを通過する直線RS1上であって、分割点Ixより内側にある位置、図１０（ｄ）でいうと中心軸から距離rxの位置において周回曲線wxと交差する場合がある。このように直線RS1上の距離rxの位置で交差する場合、制御点Vxは、分割点Ix同様、角度θx、高さZxに存在することになるので、この分割点Ixをこの制御点Vxに変換する。
【００３６】
ここでポリゴン形式の三次元形状データにおける制御点は離散的に分布しているので、周回曲線と半径方向直線とが必ず交差するとは限らない。分割点と中心軸とを結ぶ半径方向の直線が、生成された周回曲線と、周回曲線との間に位置する場合が有り得る。図１１（ａ）は、半径方向の直線RS1が、生成された周回曲線w2と、周回曲線w3との間に存在する状態を示す図である。
【００３７】
この場合、半径方向直線についての分割点より高い位置及び低い位置に存在する2つの制御点であって、当該分割点に最も近い2つのものを検出する。図１１（ｂ）は、分割点Ixより高い位置及び低い位置に存在する2つの制御点であって、当該分割点に最も近い2つのものとして、制御点P2,P3が検出されている状態を示す図である。分割点Ixより上側にある制御点P1と、分割点Ixより下側にある制御点P4とを更に検出して、検出された計4つの制御点P1,P2,P3,P4を通過する曲線BV1を生成する。図１１（ｃ）は、4つの制御点P1,P2,P3,P4を通過する曲線BV1を示す図である。このように近傍曲線を生成すると、近傍曲線において1-α対α(ここでαは、(zx-z3)/(z2-z3)を満たす値)の比率にある点Vαを、新たな制御点とする。図１１（ｄ）は、制御点P2、制御点P3とに間において、1-α対α(ここでαは、(zx-z3)/(z2-z3)を満たす値)の比率の位置にある点Vαに新たな制御点が設定された状態を示す図である。
【００３８】
図１２（ａ）は、円柱物体に配置された複数の分割点I31,I32,I33,I34,I35と、間隔が広く開いた制御点P31,P32,P33,P34,P35,P36とを示す図である。制御点P31,P32,P33,P34,P35,P36は、曲線BV1,BV2,BV3,BV4が接続されていることがわかる。図１２（ｂ）は、制御点P31,P32,P33,P34,P35,P36間を接続する曲線BV1,BV2,BV3,BV4を示す図であり、図１２（ｃ）は、曲線BV1,BV2,BV3,BV4と、分割点I31,I32,I33,I34,I35との位置関係を示す図である。このように、曲線BV1,BV2,BV3,BV4が分割点I31,I32,I33,I34,I35より内側に存在していることがわかる。分割点I31,I32,I33,I34,I35について上述した処理が行われると、これらの曲線BV1,BV2,BV3,BV4に、新たな制御点が得られる。図１２（ｄ）は、分割点I31,I32,I33,I34,I35に基づいて、設定された制御点v31,v32,v33,v34,v35,v36・・・・・を示す図である。
【００３９】
以上の手順を繰り返せば、分割点により、三次元形状に示された人体形状が表現される。図１３（ａ）〜（ｄ）は、新たに定義された制御点により表現された人体の肩、胸、腰、臀部である。
図１４（ａ）（ｂ）は、n×m個に分割された円柱物体と、分割点を新たに設定することにより、表現された人体形状とを示す図である。以上で胴体部についての処理が終わると、首、腕、脚に対して、同様の処理を繰り返す。その後、新たな制御点が4×4の制御点という単位で曲面に接続されれば、複数の曲面の結合により表現された人体の三次元形状を得ることができる。図１５は、首、胴体、腕、腕、脚、脚に対して、以上の手順を行うことにより得られる人体形状を示す図であり、図１６は、以上の手順を行うことにより得られる人体形状のバスト部分を示す図である。図３、図１８では、ゴツゴツとした木彫り人形のような人体形状が表現されていたが、図１５、図１６では一転して、滑らかな曲面にて人体の三次元形状が表現されていることがわかる。図１５では、女性特有のボディラインや腰のくびれが表現され、デザインの用途に適するようなNURBS形式の三次元形状データが得られていることがわかる。以上の手順にて曲面近似された三次元形状を示すn×m個の制御点が作成されると、ステップＳ１３において、n×m個の制御点からなるNURBS形式の三次元形状データを収録したファイルをデータ格納部１０に格納する。
【００４０】
続いて、データ変換モードにおいて極値点設定処理が選択された場合のデータ変換部１３の処理について説明する。この極値点設定処理とは、データ変換モードにおいて生成されるべきNURBS形式の三次元形状データに、ポリゴン形式の三次元形状データにおける形状の特徴をより明確に反映させるものである。
操作者から、多面体近似された三次元形状において形状の変化が大きい部位である極値点の指定を複数受け付ける。図１７（ａ）は、ポリゴン形式の三次元形状データに対して指定された極値点e1,e2,e3,e4・・・・・・e9を示す図である。これらの極値点は、バストトップ、ヒップ、ウエストのうち、特に形状の変化が激しい箇所を目安に設定されている。ここでもし、設定された極値点の数が予め定められた上限より多い場合、縦方向、横方向の極値点のうち、その上限数に収まるものを選択する。この際の基準としては、変化値が大きいものからn個、m個になるように選択するのが望ましい。
【００４１】
三次元人体形状の胴回り方向及びこれに直交する方向において複数の極値点間を通過する曲線を複数生成する。図１７（ｂ）は、図１７（ａ）において設定された極値点間を、胴回り方向に通過している曲線HV1,HV2,HV3,HV4,HV5,HV6,HV7、これに直交する方向に通過している曲線VV1,VV2,VV3,VV4を示す図である。
生成された複数の曲線間を方向及び縦方向に等分割する。このような等分割を複数回繰り返すことにより、縦n個、横m個の分割点を得る。図１７（ｃ）は、図１７（ｂ）に示した曲線HV1,HV2,HV3,HV4,HV5,HV6,HV7間の通過する曲線BV1,BV2,BV3,BV4、曲線VV1,VV2,VV3,VV4間を通過する曲線BV11,BV12,BV13,BV14,BV15,BV16,BV17,を示す図である。
【００４２】
新たに設定された分割点を用いて、曲面に近似された三次元形状を表すNURBS形式の三次元形状データを生成する。図１７（ｄ）は、図１７（ｃ）に示した曲線間に、更に曲線が追加された状態を示す図である。
以上のように本実施形態によれば、NURBS形式の三次元形状データに含まれる制御点間が曲面にて接続されるため、投影像表示部１２が曲面に対して陰影処理を施す場合、各曲面に対応する全ての画素の輝度、明度が、互いに異なる値に設定されることになる。よって平面の滑らかさが表現されることになる。
【００４３】
尚、本実施形態では、人体を示すポリゴン形式の三次元形状データを一例にして説明したが、人体のような滑らかな形状で表現されることが不可欠となるデータであれば、どのようなものも本発明に係るデータ生成装置のデータ生成の対象となることはいうまでもない。例えば、下着や背広、靴等、人体そのものではなく、身にまとう物についてのデータを生成しても良いことはいうまでもない。
【００４４】
また、そのように身にまとわないものであっても、曲線にて表現されるのが望ましいものであれば、どのようなものを適用してもよい。
【００４５】
【発明の効果】
本発明に係るデータ生成装置は、上述したように構成されるので、第２生成手段により生成されたn×m個の分割点と、第１生成手段により生成された曲線との位置関係に基づいて、第１生成手段により生成された曲線上に、新たな制御点を設定する生成するので、曲線を接続するのに適した制御点が生成されることになる。何故なら、分割点は、円柱物体の円周又は高さを等分割するものなので、これに基づいて得られる制御点は、隣接する制御点との間隔が極端に広くなったり、狭くなったりすることが有り得ないからである。
【００４６】
このようにして生成された複数の制御点が女性の人体の三次元形状を示すものなら、これらの制御点を曲線で接続すれば、女性の腰のくびれ等のボディラインを美しく表現することができる。
ポリゴン形式の三次元形状データは、制御点の数が少ない部分を単純に表現し、制御点の数が多い部分を、詳細に表現しているのに対して、データ生成装置により生成される複数制御点が曲線に接続された場合、制御点数の多少に拘らず人体形状を滑らかに表現するので、制御点の数を少なくして、データの総サイズを少なくすることができる。
【００４７】
また多面体近似された三次元形状において、腰回りがどのような形状を有しているかが、周回曲線にて表現されるので、これに基づいて、新たな分割点を設定すれば、例えばポリゴン形式の三次元形状データに示される三次元形状が女性の人体である場合、その腰周りの形状を、曲面近似される三次元形状の制御点に反映させることができる。
【００４８】
ここで前記第１生成手段は、第１生成部により生成された周回曲線により、ポリゴンデータに含まれる全ての制御点が周回曲線に接続されたか、一部の制御点が周回曲線に接続されずに残っているかを判定する第１判定部と、一部の制御点が周回曲線に接続されずに残っている場合、当該一部の制御点と、周回曲線に接続された制御点とを通過する枝状の曲線を生成する第２生成部とを備え、前記第１検出部は更に、円柱の中心軸と直交し、尚且つn×m個の分割点の何れかを通過する半径方向の直線と、枝状の曲線とが交差する位置を検出し、前記第１設定部は、検出された交差位置を新たな制御点として設定することを特徴としても良い。このデータ生成装置によれば、多面体近似された三次元形状の腰周りの周辺部に制御点が離散的に存在しており、必ずしも、三次元形状の外周を周回するような曲線が生成できなかったとしても、多面体近似された三次元形状を、曲面近似される三次元形状の制御点に反映させることができる。
【００４９】
ここで本発明に係るデータ生成装置は、操作者から、多面体近似された三次元モデルにおいて形状の変化が大きい部位である極値点の指定を複数受け付ける受付手段と、三次元モデルの所定方向及びこれに直交する方向において複数の極値点間を通過する曲線を複数生成する第１生成手段と、生成された複数の曲線間を所定方向及びこれに直交する方向に分割することにより、n×m個の分割点を得て、これを新たな制御点とする分割手段とを備えていてもよい。このデータ生成装置によれば、ポリゴン形式の三次元形状データが女性の人体を示すものである場合、バストトップ、ヒップ、ウエスト等、三次元形状が大きく変化している位置を正確に曲面近似される三次元形状の制御点の座標に反映させることができる。
【図面の簡単な説明】
【図１】（ａ）データ生成装置の機能を具現するCADプログラムがインストールされるパーソナルコンピュータのハードウェア構成を示す図である。
（ｂ）データ生成装置の内部構成を示す図である。
【図２】（ａ）ポリゴン形式の三次元形状データのデータ構造を示す図である。（ｂ）OPEN-GLにより表示されるべき三次元形状データについての座標系を示す図である。
（ｃ）動的配列の一例を示す図である。
【図３】ポリゴン形式の三次元形状データにて表現された女性の人体形状を示す図である。
【図４】制御点の三次元座標を特定する座標系を示す図である。
【図５】データ変換部１３による三次元形状データの生成処理の処理手順を示すフローチャートである。
【図６】（ａ）は、ポリゴン形式の三次元形状データにおける任意の制御点が、操作者により指定された場合を想定した図である。
（ｂ）制御点P1と対向する位置から下方向に間隔Δh2だけ隔てられた位置に制御点P2が存在する場合、この制御点P2が検出された状態を示す図である。
（ｃ）制御点P1と90°270°をなす位置に制御点は存在しないが、上方向に間隔Δh3、間隔Δh4だけ隔てられた位置とに制御点P3及び制御点P4が存在する場合、これら制御点P3、制御点P4が検出されたことを示す図である。
（ｄ）制御点P1と45°,135°,225°,315°をなす位置から上方向及び下方向に間隔Δh5,Δh6,Δh7,Δh8だけ隔てられた位置に、制御点P2及び制御点P4が存在する場合、これら制御点P5、制御点P4が検出されるた状態を示す図である。
（ｅ）ポリゴン形式の三次元形状データに示される人体を輪切りにする多角形を示す図である。
（ｆ）三次元人体形状の胴回りを周回するハート型の曲線w2を示す図である。
【図７】（ａ）周回曲線が三次元形状のどの位置に存在するかを示す図である。
（ｂ）周回曲線w1,w2,w3,w4,w5w10・・・・・・w11を示す図である。
（ｃ）枝状の曲線ye1,ye2,ye3・・・・・ye7,ye8が追加された状態の三次元形状を示す図である。
【図８】（ａ）n×m個の分割点I1,I2,I3,I4,I5,I6・・・・・Inを有する円柱物体を示す図である。
（ｂ）  n×m個の分割点と対比されるべき三次元形状の一例を示す図である。
【図９】周回曲線w1,w2との位置関係に応じて、円柱物体上に存在する分割点I1,I2,I3,I4との位置関係に応じて、位置v1,v2,v3,v4に新たな制御点を設定する様子を示す図である。
【図１０】（ａ）角度角度θx、高さ高さZxの位置に存在する制御点Vxを示す図である。（ｂ）分割点Ixにおいて周回曲線Wxが交差する場合、この分割点Ixを制御点Vxとして設定するケースを示す図である。
（ｃ）中心軸から距離rxの位置において半径方向直線と、周回曲線とが交差するケースを示す図である。
（ｄ）中心軸から距離rxの位置において半径方向直線と、周回曲線wxと交差するケースを示す図である。
【図１１】（ａ）半径方向の直線RS1が、生成された周回曲線w2と、周回曲線w3との間に存在する状態を示す図である。
（ｂ）分割点Ixより高い位置及び低い位置に存在する2つの制御点であって、当該分割点に最も近い2つのものとして、制御点P2,P3が検出されている状態を示す図である。
（ｃ）4つの制御点P1,P2,P3,P4を通過する曲線BV1を示す図である。
（ｄ）制御点P2、制御点P3とに間において、1-α対α(ここでαは、(zx-z3)/(z2-z3)を満たす値)の比率の位置にある点Vαにある位置で分割点Ixが曲線と交差する状態を示す図である。
【図１２】（ａ）円柱物体に配置された複数の分割点I31,I32,I33,I34,I35と、間隔が広く開いた制御点P31,P32,P33,P34,P35,P36とを示す図である。
（ｂ）制御点P31,P32,P33,P34,P35,P36間を接続する曲線BV1,BV2,BV3,BV4を示す図である。
（ｃ）曲線BV1,BV2,BV3,BV4と、分割点I31,I32,I33,I34,I35との位置関係を示す図である。
（ｄ）分割点I31,I32,I33,I34,I35について設定された制御点v31,v32,v33,v34,v35,v36・・・・・を示す図である。
【図１３】（ａ）〜（ｄ）新たな制御点により表現された人体の肩、胸、腰、臀部である。
【図１４】（ａ）（ｂ）  n×m個に分割された円柱物体と、新たに設定された制御点により、表現された人体形状とを示す図である。
【図１５】首、胴体、腕、腕、脚、脚に対して、データ生成装置により得られる人体形状を示す図である。
【図１６】データ生成装置により得られる人体形状のバスト部分を示す図である。
【図１７】（ａ）ポリゴン形式の三次元形状データに対して指定された極値点e1,e2,e3,e4・・・・・・e9を示す図である。
（ｂ）図１７（ａ）において設定された極値点間を、胴回り方向に通過している曲線HV1,HV2,HV3,HV4,HV5,HV6,HV7、これに直交する方向に通過している曲線VV1,VV2,VV3,VV4を示す図である。
（ｃ）図１７（ｂ）に示した曲線HV1,HV2,HV3,HV4,HV5,HV6,HV7間の通過する曲線BV1,BV2,BV3,BV4、曲線VV1,VV2,VV3,VV4間を通過する曲線BV11,BV12,BV13,BV14,BV15,BV16,BV17,を示す図である。
（ｄ）図１７（ｃ）に示した曲線間に、更に曲線が追加された状態を示す図である。
【図１８】ポリゴン形式の三次元形状データにて表現された女性のバスト部分の一例を示す図である。
【符号の説明】
１０      データ格納部
１１      ユーザインターフェイス部
１２      投影像表示部
１３      データ変換部
【図１】
0004372291.tif 000002
【図２】
0004372291.tif 000003
【図３】
0004372291.tif 000004
【図４】
0004372291.tif 000005
【図５】
0004372291.tif 000006
【図６】
0004372291.tif 000007
【図７】
0004372291.tif 000008
【図８】
0004372291.tif 000009
【図９】
0004372291.tif 000010
【図１０】
0004372291.tif 000011
【図１１】
0004372291.tif 000012
【図１２】
0004372291.tif 000013
【図１３】
0004372291.tif 000014
【図１４】
0004372291.tif 000015
【図１５】
0004372291.tif 000016
【図１６】
0004372291.tif 000017
【図１７】
0004372291.tif 000018
【図１８】
0004372291.tif 000019