(57)【要約】【課題】所望の３次元形状に精度よく対応した２次元パターンを容易に得る。【解決手段】３次元形状展開用プログラムがインストールされた３次元形状展開装置としてのコンピュータ２０は、マウス５０等を介して入力された輪郭ストロークＳＳの２次元座標データを取得する座標処理部２１と、２次元座標データに基づく２次元モデリングを実行して２次元パターンについての２次元モデルデータを生成すると共に、２次元モデルデータに基づく３次元モデリングを実行して２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する２Ｄ／３Ｄモデリング部２２と、輪郭ストロークＳＳと３次元モデルデータにより規定される３次元形状の輪郭ストロークＳＳに対応した輪郭とが一致するように２次元モデルデータを調整する２Ｄモデルデータ調整部２３とを含む。【選択図】図１
2009042811.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状を２次元に展開するための３次元形状展開装置であって、
前記３次元形状の輪郭を入力するための入力手段と、
前記入力手段を介して入力された輪郭の２次元座標データを取得する座標取得手段と、
前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成する２次元モデリング手段と、
前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する３次元モデリング手段と、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整する２次元モデルデータ調整手段と、
を備える３次元形状展開装置。
【請求項２】
請求項１に記載の３次元形状展開装置において、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行される３次元形状展開装置。
【請求項３】
請求項１または２に記載の３次元形状展開装置において、
前記２次元モデリング手段は、前記入力された輪郭の１つに対応して互いに表裏の関係をなす一対の２次元パターンについての２次元モデルデータを生成し、
前記３次元モデリング手段は、前記一対の２次元パターンを互いに対応する外周同士を接合した状態で膨らませて得られる３次元形状の３次元モデルデータを生成する３次元形状展開装置。
【請求項４】
請求項１から３の何れか一項に記載の３次元形状展開装置において、
前記座標取得手段は、前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭を形成する頂点である仮頂点の所定の２次元座標系における２次元座標データを取得し、
前記２次元モデルデータ調整手段は、
前記仮頂点および前記入力された輪郭を形成する頂点である目標頂点の２次元座標データに基づいて、前記目標頂点と該目標頂点に対応した前記仮頂点とを結ぶベクトルの該仮頂点の法線方向への射影成分の長さを算出する射影成分長さ算出手段と、
前記２次元モデルデータにより規定される２次元パターンの輪郭を形成する頂点である対象頂点を該対象頂点の法線方向に前記算出された射影成分の長さだけ移動させたときの前記対象頂点の座標を算出する座標算出手段と、
を含む３次元形状展開装置。
【請求項５】
請求項４に記載の３次元形状展開装置において、
前記射影成分の長さの全仮頂点についての総和と所定の閾値とを比較し、前記総和が前記閾値以下となったときに前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致したと判断する判定手段を更に備える３次元形状展開装置。
【請求項６】
請求項１から５の何れか一項に記載の３次元形状展開装置において、
前記２次元モデリング手段は、前記入力された輪郭の前記２次元座標データに基づいて該２次元座標データにより規定される２次元パターンをポリゴンメッシュによりメッシュ分割すると共に前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを前記２次元モデルデータとして出力する３次元形状展開装置。
【請求項７】
請求項６に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記２次元モデルデータに基づいて前記ポリゴンメッシュの各エッジにより画成されるメッシュ面を該メッシュ面の法線方向における所定の移動制約および前記ポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで該法線方向かつ外方に移動させたときの前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを求め、求めた座標およびエッジ長さを前記３次元モデルデータとして出力する３次元形状展開装置。
【請求項８】
請求項７に記載の３次元形状展開装置において、
前記所定の移動制約は、メッシュ面fの面積をA(f)とし、メッシュ面fの法線ベクトルをn(f)とし、ある頂点Viを含むメッシュ面の集合をNiとしたときに、頂点Viの移動量Δdfを次式（１）に従って設定する制約であり（ただし、αは所定の係数である。）、
前記所定の伸縮制約は、ある頂点Viとエッジを介して結ばれる頂点をVjとし、頂点Viと頂点Vjとを結ぶエッジをeijとし、頂点Viと交わるエッジeijの集合をEijとし、エッジeijの左側に位置する面の面積をA(e.leftface)とし、エッジeijの右側に位置する面の面積をA(e.rightface)とし、エッジeijから頂点Vi，Vjに加えられる引張力をtijとしたときに、前記頂点Viの移動量Δdeを次式（２）に従って設定する制約であり（ただし、βは所定の係数であり、引張力tijは次式（３）のとおりであり、式（３）におけるlijはもとのエッジ長さである。）、
前記３次元モデリング手段は、全頂点Viを式（１）から定まる移動量Δdfだけ移動させた後、移動後の全頂点Viを更に式（２）から定まる移動量Δdeだけ少なくとも１回移動させたときの３次元座標データを算出する３次元形状展開装置。
【数１】
2009042811.tif 000006
【数２】
2009042811.tif 000007
【数３】
2009042811.tif 000008
【請求項９】
請求項１から８の何れか一項に記載の３次元形状展開装置において、
画面上に３次元画像を表示可能な３次元画像表示手段と、
画面上に２次元画像を表示可能な２次元画像表示手段と、
前記３次元モデルデータに基づいて該３次元モデルデータにより規定される３次元形状を示す３次元画像が前記画面に表示されるように前記３次元画像表示手段を制御する３次元画像表示制御手段と、
前記２次元モデリング手段により生成された２次元モデルデータまたは前記２次元モデルデータ調整手段により調整された２次元モデルデータに基づいて該２次元モデルデータにより規定される２次元パターンを示す２次元画像が前記画面に表示されるように前記２次元画像表示手段を制御する２次元画像表示制御手段と、
を更に備える３次元形状展開装置。
【請求項１０】
請求項９に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周と２点で交差すると共に該３次元画像を分断する分断ストロークが入力されたときに、前記３次元モデルデータにより規定される３次元形状が前記分断ストロークを所定方向にスイープして得られる可展面により該可展面の一側の領域を残すと共に該可展面の他側の領域を消去するようにカットされたものとして前記３次元モデルデータを生成し、
前記２次元モデルデータ調整手段は、前記生成された３次元モデルデータに基づいて前記可展面の一側の領域に対応するように前記２次元モデルデータを調整する３次元形状展開装置。
【請求項１１】
請求項１０に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記可展面の一側の領域に対応するように調整された２次元モデルデータに基づいて、該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成し、
前記入力された分断ストロークと、前記３次元モデルデータにより規定される３次元形状の前記分断ストロークに対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行される３次元形状展開装置。
【請求項１２】
請求項９に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に前記外周の外側に突出する追加ストロークが入力されたときに、前記追加ストロークの入力により該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして該ベースラインに対応するように前記３次元モデルデータを生成し、
前記座標取得手段は、前記追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の２次元座標系における前記追加ストロークを形成する頂点の２次元座標データを取得すると共に前記ベースラインを形成する頂点を前記仮想平面に投影して得られる２次元座標データを取得し、
前記２次元モデルデータ調整手段は、前記追加ストロークを形成する頂点および前記ベースラインを形成する頂点の２次元座標データに基づいて前記追加ストロークと前記ベースラインとに対応するように前記２次元モデルデータを調整する３次元形状展開装置。
【請求項１３】
請求項１２に記載の３次元形状展開装置において、
前記ベースラインは、前記３次元形状の表面と前記仮想平面との交線に含まれて前記追加ストロークの前記始点から前記終点まで延びるラインである３次元形状展開装置。
【請求項１４】
請求項１２に記載の３次元形状展開装置において、
前記ベースラインは、前記追加ストロークの前記始点および終点を含むと共に所定の面形状を画成する閉じたラインである３次元形状展開装置。
【請求項１５】
請求項１２から１４の何れか一項に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記追加ストロークと前記ベースラインとに対応するように調整された２次元モデルデータに基づいて、該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成し、
前記入力された追加ストロークと前記３次元モデルデータにより規定される３次元形状の前記追加ストロークに対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行される３次元形状展開装置。
【請求項１６】
請求項９に記載の３次元形状展開装置において、
前記３次元画像表示手段の前記画面上で前記２次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点を移動させるための３次元画像操作手段を更に備え、
前記座標取得手段は、前記３次元画像操作手段を介して前記３次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、該可動頂点とそれを含む前記シームラインとに基づく所定の仮想平面に対して設定される所定の２次元座標系における前記可動頂点の２次元座標データを取得し、
前記２次元モデルデータ調整手段は、前記２次元座標データに基づいて前記可動頂点の前記仮想平面上での移動量を算出すると共に、前記可動頂点に対応した前記接合ラインを形成する頂点が該頂点の法線方向に前記算出された移動量だけ移動したものとして前記２次元モデルデータを調整し、
前記３次元モデリング手段は、前記調整された２次元モデルデータに基づいて前記３次元モデルデータを更新する３次元形状展開装置。
【請求項１７】
請求項９または１６に記載の３次元形状展開装置において、
前記２次元画像表示手段の前記画面上で前記２次元パターンの外周を形成する頂点である可動頂点を移動させるための２次元画像操作手段を更に備え、
前記座標取得手段は、前記２次元画像操作手段を介して前記２次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、所定の２次元座標系における前記可動頂点の２次元座標データを取得し、
前記２次元モデルデータ調整手段は、前記可動頂点がもとの位置から前記取得された２次元座標データに基づく位置まで移動したものとして前記２次元モデルデータを調整し、
前記３次元モデリング手段は、前記調整された２次元モデルデータに基づいて前記３次元モデルデータを更新する３次元形状展開装置。
【請求項１８】
請求項９または１７に記載の３次元形状展開装置において、
前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に前記外周の内側に含まれる切込ストロークが入力されたときに、前記切込ストロークに対応した箇所に切込ラインが形成されたものとして前記３次元モデルデータを更新し、
前記２次元モデルデータ調整手段は、前記更新された３次元モデルデータに基づいて前記２次元モデルデータを調整する３次元形状展開装置。
【請求項１９】
３次元形状を２次元に展開するための３次元形状展開方法であって、
（ａ）前記３次元形状の輪郭を入力するための入力手段を介して入力された輪郭の２次元座標データを取得するステップと、
（ｂ）前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成するステップと、
（ｃ）前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するステップと、
（ｄ）ステップ（ａ）にて入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整するステップと、
を含む３次元形状展開方法。
【請求項２０】
請求項１９に記載の３次元形状展開方法において、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、ステップ（ｄ）と、（ｅ）ステップ（ｄ）にて調整された２次元モデルデータに基づいて前記３次元モデルデータを更新するステップとを繰り返し実行する３次元形状展開方法。
【請求項２１】
３次元形状を２次元に展開する３次元形状展開装置としてコンピュータを機能させるための３次元形状展開用プログラムであって、
前記３次元形状の輪郭を入力するための入力手段を介して入力された輪郭の２次元座標データを取得する座標取得モジュールと、
前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成する２次元モデリングモジュールと、
前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する３次元モデリングモジュールと、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整する２次元モデルデータ調整モジュールと、
を備える３次元形状展開用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状を２次元に展開するための３次元形状展開装置、３次元形状展開方法、および３次元形状展開用プログラムに関する。
【背景技術】
【０００２】
従来から、３次元形状を２次元に展開して型紙や展開図といった２次元パターンを得ることには様々な分野において多くのニーズが存在している。そして、３次元モデリングソフトウェアを用いて構築された３次元形状のモデルからペーパークラフト用の展開図を作成する技術としては、三谷らにより提案されたもの（非特許文献１参照）や、Shatzらにより提案されたもの（非特許文献２参照）等が知られている。また、Juliusらは、３次元モデルを自動的に可展面になるように領域分割をしたのち２次元へ展開する手法（非特許文献３参照）を提案している。
【非特許文献１】MITANI, J., AND SUZUKI, H. 2004. Making papercraft toys from meshes using strip-based approximate unfolding. ACM Transactions on Graphics, 23(3), 259・263.
【非特許文献２】SHATZ, I., TAL, A., AND LEIFMAN, G. 2006. Paper craft models from meshes. The Visual Computer: International Journal of Computer Graphics (Proceedings of Pacific Graphics 2006) 22, 9, 825-834.
【非特許文献３】JULIUS, D., KRAEVOY, V., AND SHEFFER, A. 2005. D-Charts: quasi developable mesh segmentation, Computer Graphics Forum. In Proceedings of Eurographics 2005, 24(3), 981・990.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のような非特許文献1から３に記載の技術を用いれば、３次元モデルを２次元に展開した２次元パターンを得ることができる。しかしながら、３次元グラフィックを用いて所望の３次元形状をモデル化すること自体、必ずしも容易ではない。また、構築した３次元モデルに基づいて作成した２次元パターンを立体化しても、得られた立体が本来望まれていた３次元形状とは異なることも多々あり、このような場合には、３次元モデルを再構築することが必要となってしまう。このため、所望の３次元形状に精度よく対応した２次元パターンを得るために、設計者の経験や勘に頼らざるを得ないのが現実である。
【０００４】
そこで、本発明による３次元形状展開装置、３次元形状展開方法、および３次元形状展開用プログラムは、所望の３次元形状に精度よく対応した２次元パターンを容易に得ることを主目的とする。
【課題を解決するための手段】
【０００５】
本発明による３次元形状展開装置、３次元形状展開方法、および３次元形状展開用プログラムは、上述の主目的を達成するために以下の手段を採っている。
【０００６】
本発明による３次元形状展開装置は、
３次元形状を２次元に展開するための３次元形状展開装置であって、
前記３次元形状の輪郭を入力するための入力手段と、
前記入力手段を介して入力された輪郭の２次元座標データを取得する座標取得手段と、
前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成する２次元モデリング手段と、
前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する３次元モデリング手段と、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整する２次元モデルデータ調整手段と、
を備えるものである。
【０００７】
この３次元形状展開装置を用いて３次元形状を２次元に展開して２次元パターンを得る際には、まず入力手段を介して所望の３次元形状の輪郭（外形線）を入力する。３次元形状の輪郭が入力されると、入力された輪郭の２次元座標データが座標取得手段により取得されると共に、２次元モデリング手段によって２次元座標データに基づく所定の２次元モデリングが実行され、当該２次元座標データにより規定される２次元パターンについての２次元モデルデータが生成される。更に、３次元モデリング手段によって２次元モデルデータに基づく所定の３次元モデリングが実行され、当該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータが生成される。ここで、２次元モデルデータにより規定される２次元パターンを膨らませる３次元モデリングを実行した場合、３次元モデルデータにより規定される３次元形状の上記入力された輪郭に対応した輪郭は基本的に内側に収縮する傾向にある。このため、この３次元形状展開装置では、入力された輪郭と３次元モデルデータにより規定される３次元形状の当該入力された輪郭に対応した輪郭とが一致するように２次元モデルデータ調整手段により２次元モデルデータが調整される。このように、入力手段を介して入力された輪郭に対応した２次元パターンについての２次元モデルデータと、当該２次元モデルデータに基づく３次元モデルデータとを生成した上で、入力された輪郭と３次元モデルデータにより規定される３次元形状の輪郭とが一致するように２次元モデルデータを調整すれば、所望の３次元形状に精度よく対応した２次元パターンを容易に得ることが可能となる。
【０００８】
また、上記３次元形状展開装置において、前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた２次元パターンを立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。
【０００９】
更に、前記２次元モデリング手段は、前記入力された輪郭の１つに対応して互いに表裏の関係をなす一対の２次元パターンについての２次元モデルデータを生成し、前記３次元モデリング手段は、前記一対の２次元パターンを互いに対応する外周同士を接合した状態で膨らませて得られる３次元形状の３次元モデルデータを生成するものであってもよい。このような３次元形状展開装置は、互いに接合された複数の２次元パターンの内部に所定の充填材や流体等を充填したぬいぐるみやバルーン等の設計に極めて有用である。
【００１０】
また、前記座標取得手段は、前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭を形成する頂点である仮頂点の所定の２次元座標系における２次元座標データを取得するものであってもよく、前記２次元モデルデータ調整手段は、前記仮頂点および前記入力された輪郭を形成する頂点である目標頂点の２次元座標データに基づいて、前記目標頂点と該目標頂点に対応した前記仮頂点とを結ぶベクトルの該仮頂点の法線方向への射影成分の長さを算出する射影成分長さ算出手段と、前記２次元モデルデータにより規定される２次元パターンの輪郭を形成する頂点である対象頂点を該対象頂点の法線方向に前記算出された射影成分の長さだけ移動させたときの前記対象頂点の座標を算出する座標算出手段とを含むものであってもよい。これにより、２次元パターンをより適正に変形させて３次元モデルデータにより規定される３次元形状の輪郭を入力された輪郭に近づけると共に、２次元モデルデータの調整に際しての演算負荷を低減することが可能となる。
【００１１】
更に、上記３次元形状展開装置は、前記射影成分の長さの全仮頂点についての総和と所定の閾値とを比較し、前記総和が前記閾値以下となったときに前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致したと判断する判定手段を更に備えてもよい。これにより、入力された輪郭と３次元モデルデータにより規定される３次元形状の輪郭とが一致したか否かの判定をより適正に実行することが可能となる。
【００１２】
また、前記２次元モデリング手段は、前記入力された輪郭の前記２次元座標データに基づいて該２次元座標データにより規定される２次元パターンをポリゴンメッシュによりメッシュ分割すると共に前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを前記２次元モデルデータとして出力するものであってもよい。
【００１３】
更に、前記３次元モデリング手段は、前記２次元モデルデータに基づいて前記ポリゴンメッシュの各エッジにより画成されるメッシュ面を該メッシュ面の法線方向における所定の移動制約および前記ポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで該法線方向かつ外方に移動させたときの前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを求め、求めた座標およびエッジ長さを前記３次元モデルデータとして出力するものであってもよい。これにより、２次元パターンに基づく３次元形状の極端な膨張が抑制されるように３次元モデルデータをより適正に生成可能となる。
【００１４】
この場合、前記所定の移動制約は、メッシュ面fの面積をA(f)とし、メッシュ面fの法線ベクトルをn(f)とし、ある頂点Viを含むメッシュ面の集合をNiとしたときに、頂点Viの移動量Δdfを次式（１）に従って設定する制約であり（ただし、αは所定の係数である。）、前記所定の伸縮制約は、ある頂点Viとエッジを介して結ばれる頂点をVjとし、頂点Viと頂点Vjとを結ぶエッジをeijとし、頂点Viと交わるエッジeijの集合をEijとし、エッジeijの左側に位置する面の面積をA(e.leftface)とし、エッジeijの右側に位置する面の面積をA(e.rightface)とし、エッジeijから頂点Vi，Vjに加えられる引張力をtijとしたときに、前記頂点Viの移動量Δdeを次式（２）に従って設定する制約であり（ただし、βは所定の係数であり、引張力tijは次式（３）のとおりであり、式（３）におけるlijはもとのエッジ長さである。）、前記３次元モデリング手段は、全頂点Viを式（１）から定まる移動量Δdfだけ移動させた後、移動後の全頂点Viを更に式（２）から定まる移動量Δdeだけ少なくとも１回移動させたときの３次元座標データを算出するものであってもよい。これにより、２次元パターンを膨らませる３次元モデリングをより適正なものとすると共に、係数αおよびβを適宜設定することにより２次元パターンを構成する素材の選択の自由度を高めることが可能となる。
【数１】
2009042811.tif 000003
【数２】
2009042811.tif 000004
【数３】
2009042811.tif 000005
【００１５】
そして、上記３次元形状展開装置は、画面上に３次元画像を表示可能な３次元画像表示手段と、画面上に２次元画像を表示可能な２次元画像表示手段と、前記３次元モデルデータに基づいて該３次元モデルデータにより規定される３次元形状を示す３次元画像が前記画面に表示されるように前記３次元画像表示手段を制御する３次元画像表示制御手段と、前記２次元モデリング手段により生成された２次元モデルデータまたは前記２次元モデルデータ調整手段により調整された２次元モデルデータに基づいて該２次元モデルデータにより規定される２次元パターンを示す２次元画像が前記画面に表示されるように前記２次元画像表示手段を制御する２次元画像表示制御手段とを更に備えてもよい。これにより、この３次元形状展開装置では、２次元画像表示手段の画面上に２次元モデルデータに基づく２次元パターンが表示されると共に、３次元画像表示手段の画面上に３次元モデルデータに基づく３次元形状が表示されることから、ユーザは、２次元および３次元画像表示手段の画面を参照しながら所望の３次元形状に対応した２次元パターンを設計することが可能となる。
【００１６】
また、前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周と２点で交差すると共に該３次元画像を分断する分断ストロークが入力されたときに、前記３次元モデルデータにより規定される３次元形状が前記分断ストロークを所定方向にスイープして得られる可展面により該可展面の一側の領域を残すと共に該可展面の他側の領域を消去するようにカットされたものとして前記３次元モデルデータを生成するものであってもよく、前記２次元モデルデータ調整手段は、前記生成された３次元モデルデータに基づいて前記可展面の一側の領域に対応するように前記２次元モデルデータを調整するものであってもよい。
【００１７】
この３次元形状展開装置では、入力手段を介して３次元画像表示手段の画面上に表示された３次元画像の外周と２点で交差すると共に当該３次元画像を分断する分断ストロークが入力されると、３次元モデルデータにより規定される３次元形状が分断ストロークを所定方向にスイープして得られる可展面により当該可展面の一側の領域を残すと共に当該可展面の他側の領域を消去するようにカットされたものとして３次元モデルデータが生成される。そして、分断ストロークの入力に応じて３次元モデルデータが生成されると、２次元モデルデータ調整手段は、生成された３次元モデルデータに基づいて３次元形状の可展面よりも一側の領域に対応するように２次元モデルデータを調整する。これにより、この３次元形状展開装置では、３次元画像表示手段の画面上で３次元画像をカットするように分断ストロークを入力することにより比較的複雑な３次元形状に対応した２次元パターンを得ることが可能となる。
【００１８】
この場合、前記可展面の一側の領域に対応するように調整された２次元モデルデータに基づいて、該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するものであってもよく、前記入力された分断ストロークと、前記３次元モデルデータにより規定される３次元形状の前記分断ストロークに対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた２次元パターンを立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。
【００１９】
更に、本発明による３次元形状展開装置において、前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に前記外周の外側に突出する追加ストロークが入力されたときに、前記追加ストロークの入力により該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして該ベースラインに対応するように前記３次元モデルデータを生成するものであってもよく、前記座標取得手段は、前記追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の２次元座標系における前記追加ストロークを形成する頂点の２次元座標データを取得すると共に前記ベースラインを形成する頂点を前記仮想平面に投影して得られる２次元座標データを取得するものであってもよく、前記２次元モデルデータ調整手段は、前記追加ストロークを形成する頂点および前記ベースラインを形成する頂点の２次元座標データに基づいて前記追加ストロークと前記ベースラインとに対応するように前記２次元モデルデータを調整するものであってもよい。
【００２０】
この３次元形状展開装置では、入力手段を介して３次元画像表示手段の画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に当該外周の外側に突出する追加ストロークが入力されると、追加ストロークの入力により当該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして３次元モデリング手段によって当該ベースラインに対応するように３次元モデルデータが更新される。また、座標取得手段は、追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の２次元座標系における追加ストロークを形成する頂点の２次元座標データと、ベースラインを形成する頂点を当該仮想平面に投影して得られる２次元座標データとを取得する。そして、２次元モデルデータ調整手段は、追加ストロークを形成する頂点およびベースラインを形成する頂点の２次元座標データに基づいて追加ストロークとベースラインとに対応するように２次元モデルデータを調整する。これにより、この３次元形状展開装置では、３次元画像表示手段の画面上で３次元画像から突出するように追加ストロークを入力することにより、突部が追加されたより複雑な３次元形状に対応した２次元パターンを得ることができる。
【００２１】
この場合、前記ベースラインは、前記３次元形状の表面と前記仮想平面との交線に含まれて前記追加ストロークの前記始点から前記終点まで延びるラインであってもよい。これにより、もとの３次元形状に対して追加ストロークとベースラインとに対応した輪郭をもった膨らんだパーツをベースライン上でもとの３次元形状に接続するように追加すると共に、当該パーツに対応した２次元パターンを得ることが可能となる。
【００２２】
また、前記ベースラインは、前記追加ストロークの前記始点および終点を含むと共に所定の面形状を画成する閉じたラインであってもよい。これにより、閉じたラインに対応した開口を介してもとの３次元形状に接続されるパーツを追加すると共に、当該パーツに対応した２次元パターンを得ることが可能となる。
【００２３】
そして、これらの３次元形状展開装置において、前記３次元モデリング手段は、前記追加ストロークと前記ベースラインとに対応するように調整された２次元モデルデータに基づいて、該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するものであってもよく、前記入力された追加ストロークと前記３次元モデルデータにより規定される３次元形状の前記追加ストロークに対応した輪郭とが概ね一致するまで、前記２次元モデルデータ調整手段による前記２次元モデルデータの調整と、前記調整された２次元モデルデータに基づく前記３次元モデリング手段による前記３次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた２次元パターンを立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。
【００２４】
更に、本発明による３次元形状展開装置は、前記３次元画像表示手段の前記画面上で前記２次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点を移動させるための３次元画像操作手段を更に備えてもよく、前記座標取得手段は、前記３次元画像操作手段を介して前記３次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、該可動頂点とそれを含む前記シームラインとに基づく所定の仮想平面に対して設定される所定の２次元座標系における前記可動頂点の２次元座標データを取得するものであってもよく、前記２次元モデルデータ調整手段は、前記２次元座標データに基づいて前記可動頂点の前記仮想平面上での移動量を算出すると共に、前記可動頂点に対応した前記接合ラインを形成する頂点が該頂点の法線方向に前記算出された移動量だけ移動したものとして前記２次元モデルデータを調整するものであってもよく、前記３次元モデリング手段は、前記調整された２次元モデルデータに基づいて前記３次元モデルデータを更新するものであってもよい。
【００２５】
この３次元形状展開装置では、３次元画像操作手段を介して３次元画像表示手段の画面上で２次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点が移動されると、座標取得手段が当該可動頂点とそれを含むシームラインとに基づく所定の仮想平面に対して設定される所定の２次元座標系における可動頂点の２次元座標データを取得する。また、２次元モデルデータ調整手段は、２次元座標データに基づいて可動頂点の仮想平面上での移動量を算出すると共に、可動頂点に対応した接合ラインを形成する頂点が当該頂点の法線方向に算出された移動量だけ移動したものとして２次元モデルデータを調整し、３次元モデリング手段は、調整された２次元モデルデータに基づいて３次元モデルデータを更新する。これにより、この３次元形状展開装置では、３次元画像表示手段の画面上で可動頂点を移動させることにより、３次元形状を所望の形状に近づくように修正すると共に、修正された３次元形状に対応した２次元パターンを得ることが可能となる。
【００２６】
また、本発明による３次元形状展開装置は、前記２次元画像表示手段の前記画面上で前記２次元パターンの外周を形成する頂点である可動頂点を移動させるための２次元画像操作手段を更に備えてもよく、前記座標取得手段は、前記２次元画像操作手段を介して前記２次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、所定の２次元座標系における前記可動頂点の２次元座標データを取得するものであってもよく、前記２次元モデルデータ調整手段は、前記可動頂点がもとの位置から前記取得された２次元座標データに基づく位置まで移動したものとして前記２次元モデルデータを調整するものであってもよく、前記３次元モデリング手段は、前記調整された２次元モデルデータに基づいて前記３次元モデルデータを更新するものであってもよい。
【００２７】
この３次元形状展開装置では、２次元画像操作手段を介して２次元画像表示手段の画面上で２次元パターンの外周を形成する頂点である可動頂点が移動されると、座標取得手段が所定の２次元座標系における可動頂点の２次元座標データを取得する。また、２次元モデルデータ調整手段は、可動頂点がもとの位置から取得された２次元座標データに基づく位置まで移動したものとして２次元モデルデータを調整し、３次元モデリング手段は、調整された２次元モデルデータに基づいて３次元モデルデータを更新する。これにより、この３次元形状展開装置では、２次元画像表示手段の画面上で可動頂点を移動させることにより、３次元形状を所望の形状に近づくように修正すると共に、修正された３次元形状に対応した２次元パターンを得ることが可能となる。
【００２８】
更に、本発明による３次元形状展開装置において、前記３次元モデリング手段は、前記入力手段を介して前記３次元画像表示手段の前記画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に前記外周の内側に含まれる切込ストロークが入力されたときに、前記切込ストロークに対応した箇所に切込ラインが形成されたものとして前記３次元モデルデータを更新するものであってもよく、前記２次元モデルデータ調整手段は、前記更新された３次元モデルデータに基づいて前記２次元モデルデータを調整するものであってもよい。
【００２９】
この３次元形状展開装置では、３次元画像表示手段の画面上に表示された３次元画像の外周上または内側に始点および終点を有すると共に当該外周の内側に含まれる切込ストロークが入力されると、３次元モデリング手段により切込ストロークに対応した箇所に切込ラインが形成されたものとして３次元モデルデータが更新され、２次元モデルデータ調整手段は、更新された３次元モデルデータに基づいて２次元モデルデータを調整する。これにより、この３次元形状展開装置では、３次元画像表示手段の画面上で３次元画像に切り込みを入れるように切込ストロークを入力することにより、２次元パターンに対して新たな接合ラインを追加して、それにより３次元形状を変化させることが可能となる。この場合、３次元形状展開装置が２次元画像表示手段の画面上で可動頂点を移動させる２次元画像操作手段を備えていれば、３次元形状をよりきめ細かく変化させることができる。
【００３０】
本発明による３次元形状展開方法は、
３次元形状を２次元に展開するための３次元形状展開方法であって、
（ａ）前記３次元形状の輪郭を入力するための入力手段を介して入力された輪郭の２次元座標データを取得するステップと、
（ｂ）前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成するステップと、
（ｃ）前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するステップと、
（ｄ）ステップ（ａ）にて入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整するステップと、
を含むものである。
【００３１】
この方法によれば、入力手段を介して入力された輪郭に対応した２次元パターンについての２次元モデルデータと、当該２次元モデルデータに基づく３次元モデルデータとを生成した上で、入力された輪郭と３次元モデルデータにより規定される３次元形状の輪郭とが一致するように２次元モデルデータを調整することから、所望の３次元形状に精度よく対応した２次元パターンを容易に得ることが可能となる。
【００３２】
また、本発明による３次元形状展開方法は、前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、ステップ（ｄ）と、（ｅ）ステップ（ｄ）にて調整された２次元モデルデータに基づいて前記３次元モデルデータを更新するステップとを繰り返し実行するものであってもよい。
【００３３】
本発明による３次元形状展開用プログラムは、
３次元形状を２次元に展開する３次元形状展開装置としてコンピュータを機能させるための３次元形状展開用プログラムであって、
前記３次元形状の輪郭を入力するための入力手段を介して入力された輪郭の２次元座標データを取得する座標取得モジュールと、
前記２次元座標データに基づく２次元モデリングを実行して該２次元座標データにより規定される２次元パターンについての２次元モデルデータを生成する２次元モデリングモジュールと、
前記２次元モデルデータに基づく３次元モデリングを実行して該２次元モデルデータにより規定される２次元パターンを外方に膨らませて得られる３次元形状の３次元モデルデータを生成する３次元モデリングモジュールと、
前記入力された輪郭と前記３次元モデルデータにより規定される３次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記２次元モデルデータを調整する２次元モデルデータ調整モジュールと、
を備えるものである。
【００３４】
このプログラムをインストールしたコンピュータは、入力手段を介して入力された輪郭に対応した２次元パターンについての２次元モデルデータと、当該２次元モデルデータに基づく３次元モデルデータとを生成した上で、入力された輪郭と３次元モデルデータにより規定される３次元形状の輪郭とが一致するように２次元モデルデータを調整することから、当該コンピュータを用いることにより、所望の３次元形状に精度よく対応した２次元パターンを容易に得ることが可能となる。
【発明を実施するための最良の形態】
【００３５】
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
【実施例】
【００３６】
図１は、本発明の実施例に係る３次元形状展開装置としてのコンピュータ２０の概略構成図である。同図に示すように、実施例のコンピュータ２０は、図示しないＣＰＵ，ＲＯＭ，ＲＡＭ、グラフィックプロセッサ（ＧＰＵ）、システムバス、各種インターフェース、記憶装置（ハードディスクドライブ）、外部記憶装置等を含む汎用のコンピュータとして構成されており、液晶ディスプレイ等の表示装置３０、入力装置としてのキーボード４０やマウス５０、更には、プリンタ７０等と接続されて使用される。なお、実施例の表示装置３０は、スタイラス６０により指定された表示画面３１上の絶対座標を検出可能なタブレットを含む、いわゆる液晶タブレットとして構成されている。そして、このコンピュータ２０には、ユーザが所望する３次元形状を２次元に展開して当該３次元形状に対応した２次元パターンを提供する３次元形状展開用プログラムがインストールされている。この３次元形状展開用プログラムは、３次元形状のモデリングと２次元パターンの生成（シミュレーション）とを並行して実行することにより、結果として得られる２次元パターンとユーザが所望する３次元形状とを精度よく対応させることができるものであり、互いに接合された複数の２次元パターンの内部に所定の充填材や気体等を充填したぬいぐるみやバルーン等の設計に極めて有用なものである。なお、以下の説明において、適宜「２次元」を「２Ｄ」といい、「３次元」を「３Ｄ」という。
【００３７】
コンピュータ２０において３次元形状展開用プログラムが起動されると、表示装置３０の表示画面３１には、図１に示すように、２Ｄ画像表示領域３２と３Ｄ画像表示領域３３とが表示される。そして、コンピュータ２０のユーザがマウス５０やスタイラス６０あるいはキーボード４０を用いて３Ｄ画像表示領域３３に対して所望の３次元形状の輪郭を示す輪郭ストロークＳＳを入力すると、２Ｄ画像表示領域３２には、輪郭ストロークＳＳに対応した複数の２次元パターン３４と共に複数の２次元パターン３４の外周同士の対応関係を示すコネクタ３５とが表示され、３Ｄ画像表示領域３３には、輪郭ストロークＳＳに対応した３次元画像３６が表示されることになる。また、コンピュータ２０のユーザは、マウス５０やスタイラス６０を用いて３Ｄ画像表示領域３３上で３次元画像３６をカットするように分断ストロークＣＳ（図１における一点鎖線参照）を入力したり、３次元画像３６から突出するように追加ストロークＡＳ（図１における二点鎖線参照）を入力したりすることにより、図２に示すように、３次元形状をより複雑化すると共に当該３次元形状に対応した２次元パターン３４を得ることができる。更に、３次元形状が複雑化するにつれて、３Ｄ画像表示領域３３に表示される３次元画像３６には、図２に示すように、２次元パターン同士の接合ラインに対応したシームライン３７が含まれることになる。そして、コンピュータ２０のユーザは、マウス５０やスタイラス６０を用いて３Ｄ画像表示領域３３に表示されるシームライン３７や、２Ｄ画像表示領域３２に表示される２次元パターン３４の外周（輪郭）をドラッグして変形させることにより、３次元形状を所望の形状に近づくように修正すると共に修正された３次元形状に対応した２次元パターンを得ることができる。加えて、コンピュータ２０のユーザは、３Ｄ画像表示領域３３に表示される３次元画像３６に切り込みを入れるように切込ストロークを入力することにより、２次元パターン３４に対して新たな接合ラインを追加して、それにより３次元形状を変化させることもできる。このような処理を実行して、例えば図２に示すような複数の２次元パターン３４を得た後、２Ｄ画像表示領域３２に表示された複数の２次元パターン３４をプリンタ７０によりプリントアウトすれば、出力結果を型紙として用いて、ぬいぐるみやバルーン等を作成することが可能となる。なお、実施例では、２Ｄ画像表示領域３２に対しては、図２に示すようなＸ−Ｙ座標系が絶対座標系として設定されており、３Ｄ画像表示領域３３には、同様に図２に示すようなＸ−Ｙ−Ｚ座標系が絶対座標系として設定されている。
【００３８】
図１に示すように、３次元形状展開用プログラムが起動されると、コンピュータ２０には、ＣＰＵやＲＯＭ，ＲＡＭ，ＧＰＵ、各種インターフェース、記憶装置といったハードウエアと、インストールされた３次元形状展開用プログラムとの一方または双方の協働により、座標処理部２１や、２Ｄ／３Ｄモデリング部２２、２Ｄモデルデータ調整部２３、データ格納部２４、コネクタ設定部２７、２Ｄ画像表示制御部２８、３Ｄ画像表示制御部２９等が機能ブロックとして構築される。座標処理部２１は、２次元パターン３４や３次元画像３６、各種ストロークに関連した座標を処理するものであり、座標系設定部２１ａと座標演算部２１ｂとを含む。座標系設定部２１ａは、３Ｄ画像表示領域３３に対してストロークが入力されたり、２Ｄまたは３Ｄ画像表示領域３２または３３において２次元パターン３４または３次元画像３６を編集するための操作が実行されたりすると、入力されたストロークを形成する各頂点の座標等を算出する際に基準とすべき座標系を設定する。また、座標演算部２１ｂは、座標系設定部２１ａにより設定された座標系に基づいて入力されたストロークを形成する各頂点の座標等を算出する。２Ｄ／３Ｄモデリング部２２は、基本的に周知のメッシュモデリングを実行するものであり、２次元座標データに基づく２次元メッシュモデリングと、３次元座標データに基づく３次元メッシュモデリングとの双方を実行可能である。２Ｄモデルデータ調整部２３は、主に、ユーザにより入力された輪郭ストロークＳＳ、分断ストロークＣＳあるいは追加ストロークＡＳと３次元モデルデータにより規定される３次元形状の輪郭ストロークＳＳ等に対応した輪郭とが一致するように２次元モデルデータを調整する。データ格納部２４は、２Ｄデータ格納部２５と３Ｄデータ格納部２６とを含む。２Ｄデータ格納部２５には、座標処理部２１により取得（算出）された２次元座標データや、２Ｄ／３Ｄモデリング部２２により２次元メッシュモデリングの結果として出力される２次元モデルデータ、２Ｄモデルデータ調整部２３により調整された２次元モデルデータ等が格納され、３Ｄデータ格納部２６には、座標処理部２１により取得（算出）された３次元座標データや、２Ｄ／３Ｄモデリング部２２により３次元メッシュモデリングの結果として出力される３次元モデルデータ等が格納される。コネクタ設定部２７は、２次元パターン３４の外周（接合ライン）同士の対応関係を示すコネクタ３５に関する情報を設定する。２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて２次元パターン３４を２Ｄ画像表示領域３２に表示させる。３Ｄ画像表示制御部２９は、３次元モデルデータや３Ｄ画像表示領域３３でのユーザによる画像操作に基づいて周知のレンダリング処理を実行して所定のテクスチャが付与された３次元画像３６を３Ｄ画像表示領域３３に表示させる。
【００３９】
そして、３次元形状展開用プログラムが起動されている最中にコンピュータ２０により実行されるルーチンには、ユーザが３Ｄ画像表示領域３３上で輪郭ストロークＳＳを入力したときに実行される基本ルーチン、ユーザが３Ｄ画像表示領域３３上で分断ストロークＣＳを入力したときに実行される切断ルーチン、ユーザが３Ｄ画像表示領域３３上で追加ストロークＡＳを入力したときに実行されるパーツ追加ルーチン、ユーザがシームライン３７や２次元パターン３４の外周をドラッグして変形させたときに実行される３Ｄ引張ルーチンや２Ｄ引張ルーチン、ユーザが３Ｄ画像表示領域３３上で切込ストロークＤＳを入力したときに実行されるシーム追加ルーチン等が含まれる。以下、これらのルーチンについて順番に説明する。
【００４０】
〔基本ルーチン〕
図３は、実施例のコンピュータ２０において実行される基本ルーチンの一例を示すフローチャートである。かかる基本ルーチンは、３次元形状展開用プログラムが起動されて表示装置３０の表示画面３１に２Ｄ画像表示領域３２および３Ｄ画像表示領域３３が表示され、図４に示すように、コンピュータ２０のユーザが３Ｄ画像表示領域３３上で所望の３次元形状の輪郭を示す輪郭ストロークＳＳを入力したときに実行されるものである。なお、実施例では、ストロークの自己交差による演算の発散を防止すべく、図４に示すように、別個の始点および終点を有する（閉じていない）輪郭ストロークＳＳが入力されたときにのみ、図３の基本ルーチンが実行される。図３の基本ルーチンの開始に際して、コンピュータ２０の座標処理部２１は、３Ｄ画像表示領域３３に対して設定されている３次元絶対座標系（ピクセル単位の座標系、図２参照）のＸ−Ｙ座標系に基づく輪郭ストロークＳＳを形成する各点の座標を表示装置３０から取得すると共に、取得した各点の座標のうち、例えば輪郭ストロークＳＳの始点から終点までの所定間隔おきの点のＸ−Ｙ座標を輪郭ストロークＳＳを形成する頂点の２次元座標データとして２Ｄデータ格納部２５に格納する（ステップＳ１００）。なお、実施例では、輪郭ストロークＳＳは別個の始点および終点を有する（閉じていない）単一のストロークであることから、当該始点および終点を例えば直線で結ぶことにより輪郭ストロークＳＳを閉じたストロークとして取り扱うこととした。こうして輪郭ストロークＳＳを形成する頂点の２次元座標データが取得されると、２Ｄ／３Ｄモデリング部２２により、当該２次元座標データに基づく２次元メッシュモデリングが実行される（ステップＳ１１０）。ステップＳ１１０における２次元メッシュモデリングは、ステップＳ１００にて取得された輪郭ストロークＳＳを形成する頂点の２次元座標データに基づいて当該２次元座標データにより規定される２次元パターンをポリゴンメッシュ（実施例では、三角形メッシュ）によりメッシュ分割すると共に全ポリゴンメッシュの頂点のＸ−Ｙ座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報を２次元モデルデータとして出力するものである。ここで、輪郭ストロークＳＳに対応した２次元パターンは、ぬいぐるみやバルーンの型紙となるべきものであるから、ステップＳ１１０において、２Ｄ／３Ｄモデリング部２２は、１本の輪郭ストロークＳＳに対して互いに表裏の関係をなす左右対称の一対の２次元パターンについての２次元モデルデータを生成する。また、全ポリゴンメッシュの頂点のうち、２次元パターン３４の外周（接合ライン）を形成する頂点の２次元モデルデータに対しては、外周を形成する旨を示す識別子が属性として付与されると共に、接合ラインの端点（ここでは、輪郭ストロークＳＳの始点および終点）となる頂点のデータには、端点であることを示す識別子が属性として付与される。こうして２Ｄ／３Ｄモデリング部２２により出力される２次元モデルデータは、２Ｄデータ格納部２５に格納される。また、２Ｄ／３Ｄモデリング部２２は、輪郭ストロークＳＳと概ね同一の輪郭を有する２次元パターンについての２次元モデルデータの座標データに対してＺ座標として値０を付与することにより３次元モデルデータを生成し、こうして生成される３次元モデルデータは、３Ｄデータ格納部２６に格納される。
【００４１】
次いで、コネクタ設定部２７により、２次元パターン３４の外周すなわち接合ライン同士の対応関係を示すコネクタ３５に関する情報が設定される（ステップＳ１２０）。ここで、輪郭ストロークＳＳの入力に応じて生成される２次元モデルデータは、上述のように左右対称の一対の２次元パターンについてのものであるから、図５に示すように、当該一対の２次元パターン同士を重ね合わせたときに互いに対をなすエッジ同士を対応付けするようにコネクタ３５を設定することが可能である。ただし、このように互いに対をなすエッジ同士のすべてにコネクタ３５を付与すれば、多数のコネクタ３５が２Ｄ画像表示領域３２に表示されてしまい、視覚的に煩雑となると共に却って接合ライン同士の対応関係が不明確となってしまう。このため、実施例では、より適正にコネクタ３５を設定すべく、ステップＳ１２０において次のような処理が実行される。すなわち、ステップＳ１２０では、まず、一方の２次元パターンの外周（接合ライン）の端点Ｐ０を始点とした１つのエッジｅ１と、それに対応した他方の２次元パターンの端点Ｐ０′を始点としたエッジｅ１′とを抽出する。更に、一方の２次元パターンのエッジｅ１に隣接するエッジと、それらに対応した他方の２次元パターンのエッジとをすべて抽出した上で、エッジｅ１と隣り合うエッジに対応した他方の２次元パターンのエッジがエッジｅ１′に隣接しているか否かを判定する。そして、図示するようにエッジｅ２′がエッジｅ１′に隣接していると判断されると、一方の２次元パターンのエッジｅ１およびｅ２と、他方の２次元パターンのエッジｅ１′およびｅ２′とがそれぞれ１つのエッジであるとみなされ、エッジｅ１およびｅ２が共有する頂点Ｐ１と、エッジｅ１′およびｅ２′が共有する頂点Ｐ１′とがコネクタにより結ばれる旨を示す属性が頂点Ｐ１およびＰ１′についての２次元モデルデータに付与される。そして、ステップＳ１２０では、以後、他方の端点に到達するまで、このような処理が互いに隣接し合うエッジ同士について順次実行され、図６に示すように、最終的に１本の輪郭ストロークＳＳに対して２本のコネクタ３５が設定される。また、実施例では、２Ｄ画像表示領域３２に表示された際にコネクタ３５同士が近接し過ぎないようにコネクタ３５により結ばれる旨を示す属性を付与する頂点が適宜調整される。
【００４２】
上述のステップＳ１００からＳ１２０の処理が完了すると、２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて２次元パターン３４やコネクタ３５等を互いに重なり合わないように２Ｄ画像表示領域３２に表示させ、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいてレンダリング処理を実行し、３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ１３０）。実施例において、２Ｄ画像表示領域３２には、図７に示すように、入力された輪郭ストロークＳＳと概ね合致する輪郭をもった左右一対の２次元パターン３４と、２次元パターン３４の接合ライン同士の対応関係を示すコネクタ３５と、接合ラインの端点Ｐｅとが表示される。また、３Ｄ画像表示領域３３には、図４において二点鎖線で示すように、入力された輪郭ストロークＳＳと概ね合致する輪郭を有すると共に所定のテクスチャ（図４では図示省略）が付与された３次元画像３６が表示される。ここで、上述のように、ステップＳ１１０において生成される３次元モデルデータは、ポリゴンメッシュの各頂点のＺ座標を値０とした実質的に２次元モデリングを経て生成される２次元モデルデータと同一のものであることから、ステップＳ１３０にて３Ｄ画像表示領域３３に表示される３次元画像３６に付与されるテクスチャは、立体感や陰影等を示さない平面的なものとなる。なお、ステップＳ１００からＳ１２０の処理は、高速に実行可能なものであり、ユーザが３Ｄ画像表示領域３３上で輪郭ストロークＳＳを入力してから極めて短時間のうちに２次元パターン３４が２Ｄ画像表示領域３２に表示され、３次元画像３６が３Ｄ画像表示領域３３に表示されることになる。
【００４３】
続いて、２Ｄ／３Ｄモデリング部２２により、ステップＳ１１０にて生成された３次元モデルデータ（実質的には、輪郭ストロークＳＳと概ね同一の輪郭を有する２次元パターンについての２次元モデルデータ）に基づいて、ステップＳ１１０にて生成された２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するための３次元モデリング（物理シミュレーション）が実行される（ステップＳ１４０）。ステップＳ１４０における３次元モデリングは、輪郭ストロークＳＳと概ね同一の輪郭を有する２次元パターンに対して付与されたポリゴンメッシュの各エッジにより画成されるメッシュ面をその法線方向における所定の移動制約およびポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで当該法線方向かつ外方に移動させたときのポリゴンメッシュの頂点の３次元座標や一対の頂点間のエッジ長さ等を求め、求めた座標やエッジ長さ等を３次元モデルデータとして出力するものである。
【００４４】
かかる３次元モデリングについて図８を参照しながら説明すると、２Ｄ／３Ｄモデリング部２２は、まず３Ｄデータ格納部２６に格納されている３次元モデルデータを入力する（ステップＳ１４１）。そして、２Ｄ／３Ｄモデリング部２２は、入力した３次元モデルデータに基づいて、ポリゴンメッシュの全頂点について上記移動制約のもとでの移動量Δｄｆを算出する（ステップＳ１４２）。ステップＳ１４２の処理は、図９に示すように、２次元パターン３４同士を接合ラインにて互いに接合して内部に充填材や気体等を充填したことにより各メッシュ面がそれぞれの法線方向に移動したとの仮定のもと、ポリゴンメッシュの各頂点の移動量Δｄｆを求めるものである。この場合、ある頂点Ｖｉの移動量Δｄｆは、メッシュ面ｆの面積をＡ（ｆ）とし、メッシュ面ｆの法線ベクトルをｎ（ｆ）とし、ある頂点Ｖｉを含むメッシュ面の集合をＮｉとすれば、上記式（１）により表される。なお、実施例では、２次元パターンを構成する素材の特性を考慮した上で式（１）における係数αを値０．０２としている。ステップＳ１４２にて各頂点の移動量Δｄｆを算出したならば、２Ｄ／３Ｄモデリング部２２は、ステップＳ１４１にて入力した３次元モデルデータと各頂点の移動量Δｄｆとに基づいて、ポリゴンメッシュの各頂点をそれぞれの法線方向に移動量Δｄｆだけ移動させたときの各頂点の３次元座標やエッジに関する情報からなる３次元モデルデータを算出し、３Ｄデータ格納部２６に格納する（ステップＳ１４３）。
【００４５】
更に、２Ｄ／３Ｄモデリング部２２は、ステップＳ１４３にて算出された３次元モデルデータに基づいて、ポリゴンメッシュの全頂点について上記伸縮制約のもとでの移動量Δｄｅを算出する（ステップＳ１４４）。ステップＳ１４４の処理は、図１０に示すように、Desbrunらによって提案されている手法（DESBRUN, M., SCHRODER, P., AND BARR, A. 1999. Interactive animation of structured deformable objects. In Proceedings of Graphics Interface 1999, 1・8. 参照）を用いて、ぬいぐるみやバルーンを作成する際に２次元パターンを構成する素材の過度の伸長が規制されると共に収縮が許容されるとの仮定のもと、ある頂点Ｖｉが周囲のエッジにより引っ張られて外方への移動が規制されるとした場合のポリゴンメッシュの各頂点の移動量Δｄｅを求めるものである。この場合、ある頂点Ｖｉの移動量Δｄｅは、頂点Ｖｉとエッジを介して結ばれる頂点をＶｊとし、頂点Ｖｉと頂点Ｖｊとを結ぶエッジをｅｉｊとし、頂点Ｖｉと交わるエッジｅｉｊの集合をＥｉｊとし、エッジｅｉｊの左側に位置する面の面積をA(e.leftface)とし、エッジｅｉｊの右側に位置する面の面積をA(e.rightface)とし、エッジｅｉｊから頂点Ｖｉ，Ｖｊに加えられる引張力をｔｉｊとすれば、上記式（２）により表される。また、引張力ｔｉｊは上記式（３）のとおりであり、実施例では、式（３）からわかるように、エッジが伸長する場合にのみ頂点Ｖｉの外方への移動を規制するようにエッジｅｉｊから頂点Ｖｉに引張力ｔｉｊが作用することとし、エッジが収縮する場合には引張力ｔｉｊを値０としている。なお、式（３）におけるｌｉｊはもとのエッジ長さであり、実施例では、２次元パターンを構成する素材の特性を考慮した上で式（２）における係数βを値１としている。ステップＳ１４４にて各頂点の移動量Δｄｅを算出したならば、２Ｄ／３Ｄモデリング部２２は、ステップＳ１４３にて算出した３次元モデルデータと各頂点の移動量Δｄｅとに基づいて、ポリゴンメッシュの各頂点をそれぞれの法線方向に移動量Δｄｆだけ移動させたときの各頂点の３次元座標やエッジに関する情報等からなる３次元モデルデータを算出し、３Ｄデータ格納部２６に格納する（ステップＳ１４５）。ステップＳ１４５の処理が完了すると、３Ｄ画像表示制御部２９は、ステップＳ１４５にて算出された３次元モデルデータに基づいて３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ１４６）。そして、２Ｄ／３Ｄモデリング部２２は、所定の収束条件が成立しているか否かを判定し（ステップＳ１４７）、収束条件が成立していなければ、再度ステップＳ１４１以降の処理を実行する。なお、実施例では、ステップＳ１４１からＳ１４６までの一連の処理が３０サイクル（およそ２秒間）実行されると収束条件が成立することとしており、ステップＳ１４７にて肯定判断がなされると、ステップＳ１４０の３次元モデリングが完了する。なお、ステップＳ１４０の３次元モデリングにより生成される３次元モデルデータにより規定される３次元形状が極端に膨らんだものとならないように、ステップＳ１４３の処理を実行した後、ステップＳ１４４およびＳ１４５の処理を複数回（例えば１０回）繰り返し実行してもよい。
【００４６】
ステップＳ１４０の処理が完了したときの３Ｄ画像表示領域３３の表示例を図１１に示す。ステップＳ１４０における３次元モデリングは、輪郭ストロークＳＳと概ね合致する輪郭をもった２次元パターン３４をユーザの視線方向（図中Ｚ方向）に膨らませるものであるから、図１１に示すように、ステップＳ１４０の処理の完了時に３Ｄ画像表示領域３３に表示される輪郭ストロークＳＳに対応した３次元画像３６の輪郭３６ｓは、ステップＳ１００にて入力された輪郭ストロークＳＳ（同図における二点鎖線参照）とは一致せず、基本的に輪郭ストロークＳＳの内側に収まるものとなる。従って、この状態で２Ｄ画像表示領域３２に表示されている２次元パターン３４を型紙としてぬいぐるみやバルーンを作成しても、完成品はユーザにより所望された輪郭をもたない不完全なものとなってしまう。このため、ステップＳ１４０の処理の後、輪郭ストロークＳＳと３次元モデルデータにより規定される３次元形状の輪郭ストロークＳＳに対応した輪郭３６ｓとが一致するように２Ｄモデルデータ調整部２３により２Ｄモデルデータ調整ルーチン（ステップＳ１５０）が実行される。
【００４７】
図１２を参照しながら、ステップＳ１５０の２Ｄモデルデータ調整ルーチンについて説明すると、このルーチンの開始に際して、座標処理部２１は、まず２Ｄデータ格納部２５に格納されている輪郭ストロークＳＳを形成する頂点（以下「目標頂点」という）の２次元座標データや２次元モデルデータ、３Ｄデータ格納部２６に格納されている３次元モデルデータを入力する（ステップＳ１５１）。次いで、座標処理部２１の座標系設定部２１ａは、３Ｄ画像表示領域３３に表示されている３次元画像３６の輪郭３６ｓを形成する頂点の２次元座標を算出するための投影面を設定すると共に、当該投影面に対して２次元の投影座標系を設定する（ステップＳ１５２）。ステップＳ１５２においては、ステップＳ１００にてユーザが輪郭ストロークＳＳを入力する際には３Ｄ画像表示領域３３におけるＺ方向とユーザの視線方向とが一致していると考えられることを踏まえて、基本的に、３Ｄ画像表示領域３３におけるＸ−Ｙ平面が投影面とされると共に、３Ｄ画像表示領域３３におけるＸ−Ｙ座標系が投影座標系として設定される。ただし、ステップＳ１５０の処理が実行される前に３Ｄ画像表示領域３３上で３次元画像３６の向きがユーザにより変更されているような場合には、座標系設定部２１ａは、所定の手順に従い、輪郭ストロークＳＳを形成する頂点を含む平面を投影面とすると共に当該投影面に対して２次元の投影座標系を形成する水平軸と垂直軸とを設定する。こうして投影座標系が設定されると、座標処理部２１の座標演算部２１ｂは、３次元モデルデータ中の３次元画像３６の輪郭３６ｓを形成する頂点（以下「仮頂点」という）の３次元座標データと投影座標系に基づいて、輪郭ストロークＳＳを上記投影面に投影したときの各仮頂点の２次元座標データを算出し、２Ｄデータ格納部２５に格納する（ステップＳ１５３）。なお、ステップＳ１５２にて３Ｄ画像表示領域３３におけるＸ−Ｙ座標系が投影座標系として設定されていれば、ステップＳ１５３にて算出される仮頂点の２次元座標データは、３次元座標データのＸおよびＹ座標を示すものとなる。
【００４８】
続いて、２Ｄモデルデータ調整部２３は、図１３に示すように、輪郭ストロークＳＳを形成する各目標頂点Ｐｉの２次元座標データと各仮頂点ｖｉの２次元座標データとに基づいて、目標頂点Ｐｉと当該目標頂点Ｐｉに対応した仮頂点ｖｉとを結ぶベクトルの仮頂点ｖｉの法線方向への射影成分長さｄｉをすべての目標頂点Ｐｉおよび仮頂点ｖｉの組について算出する（ステップＳ１５４）。更に、２Ｄモデルデータ調整部２３は、射影成分長さｄｉのすべての目標頂点Ｐｉおよび仮頂点ｖｉの組についての総和を計算する（ステップＳ１５５）。そして、２Ｄモデルデータ調整部２３は、２次元モデルデータ中の２次元パターン３４の外周（輪郭）を形成する頂点（以下「対象頂点」という）の２次元座標データと、ステップＳ１５４にて算出した射影成分長さｄｉとに基づいて、図１４や図１５（ａ）および（ｂ）に示すように、対象頂点ｕｉをそれに対応する目標頂点Ｐｉおよび仮頂点ｖｉの組について算出された射影成分長さｄｉだけ当該対象頂点ｕｉの法線方向に移動させたときの各対象頂点ｕｉの２次元座標データを算出する（ステップＳ１５６）。各対象頂点の２次元座標データを算出した後、２Ｄモデルデータ調整部２３は、２次元パターン３４の外周（輪郭）を滑らかなものとすべく、算出した対象頂点の２次元座標データに対して周知のラプラシアンスムージングを施すと共に（図１５（ｂ）および（ｃ）参照）、対象頂点以外のポリゴンメッシュの頂点の２次元座標データに対して周知のガウシアンスムージングを施し（図１５（ｃ）および（ｄ）参照）、全ポリゴンメッシュの頂点のＸ−Ｙ座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報からなる２次元モデルデータを更新する（ステップＳ１５７）。
【００４９】
こうしてステップＳ１５０の処理が完了すると、２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて新たな２次元パターン３４を２Ｄ画像表示領域３２に表示させる（ステップＳ１６０）。また、２Ｄ／３Ｄモデリング部２２は、ステップＳ１５０にて調整・更新された２次元モデルデータに基づいて３次元モデルデータを生成（更新）する（ステップＳ１７０）。ステップＳ１７０において、２Ｄ／３Ｄモデリング部２２は、３次元モデルデータにより規定されるポリゴンメッシュのエッジの長さがステップＳ１５０にて調整・更新された２次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の３次元座標データを再計算すると共に、再計算の結果に基づいてエッジに関する情報等を求め、新たな３次元モデルデータとして３Ｄデータ格納部２６に格納する。そして、ステップＳ１７０にて３次元モデルデータが更新されると、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいて新たな３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ１８０）。ステップＳ１８０の処理の後、２Ｄモデルデータ調整部２３は、ステップＳ１５５にて計算した射影成分長さｄｉの総和が予め定められた閾値以下であるか否かを判定し（ステップＳ１９０）、射影成分長さｄｉの総和が当該閾値を上回っていれば、再度ステップＳ１５０の２Ｄモデルデータ調整ルーチンを実行し、更に２次元パターン３４の再表示（ステップＳ１６０）、３次元モデルデータの更新（ステップＳ１７０）および３次元画像３６の再表示（ステップＳ１８０）が実行される。そして、ステップＳ１９０にて射影成分長さｄｉの総和が上記閾値以下になったと判断されると本ルーチンが終了することになる。このようにして本ルーチンが終了した時点では、図１６に示すように、３Ｄ画像表示領域３３にユーザにより入力された輪郭ストロークＳＳと概ね一致した輪郭３６ｓを有する３次元画像３６が表示されると共に、２Ｄ画像表示領域３２には、３次元画像３６に対応した複数（左右一対）の２次元パターン３４がコネクタ３５等と共に表示されることになる。
【００５０】
ここまで説明したように、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０を用いて所望の３次元形状を２次元に展開して２次元パターン３４を得る際には、まず３Ｄ画像表示領域３３上でマウス５０やスタイラス６０等を介して所望の３次元形状の外形線となる輪郭ストロークＳＳを入力する。輪郭ストロークＳＳが入力されると、当該輪郭ストロークＳＳの２次元座標データが座標処理部２１により取得されると共に（ステップＳ１００）、２Ｄ／３Ｄモデリング部２２によって輪郭ストロークＳＳの２次元座標データに基づく２次元モデリングが実行され、当該２次元座標データにより規定される２次元パターン３４についての２次元モデルデータが生成される（ステップＳ１１０）。更に、２Ｄ／３Ｄモデリング部２２によって２次元モデルデータ（２次元モデルデータと実質的に同一の３次元モデルデータ）に基づく３次元モデリングが実行され、２次元モデルデータにより規定される２次元パターン３４を膨らませて得られる３次元形状の３次元モデルデータが生成される（ステップＳ１４０）。ここで、２次元モデルデータにより規定される２次元パターン３４を膨らませるステップＳ１４０の３次元モデリングを実行した場合、３次元モデルデータにより規定される３次元画像３６の輪郭ストロークＳＳに対応した輪郭３６ｓは基本的に内側に収縮する傾向にある。このため、実施例では、輪郭ストロークＳＳと３次元モデルデータにより規定される３次元画像３６の当該輪郭ストロークＳＳに対応した輪郭３６ｓとが一致するように２Ｄモデルデータ調整部２３により２次元モデルデータが調整される（ステップＳ１５０）。
【００５１】
このように、ユーザにより入力された輪郭ストロークＳＳに対応した２次元パターンについての２次元モデルデータを生成すると共に（ステップＳ１１０）、当該２次元モデルデータに基づく３次元モデルデータとを生成した上で（ステップＳ１４０）、輪郭ストロークＳＳと３次元モデルデータにより規定される３次元画像３６の輪郭３６ｓとが一致するように２次元モデルデータを調整すれば（ステップＳ１５０）、所望の３次元形状に精度よく対応した２次元パターンを容易に得ることが可能となる。そして、上記実施例では、輪郭ストロークＳＳと３次元モデルデータにより規定される３次元画像３６の輪郭ストロークＳＳに対応した輪郭３６ｓとが概ね一致するまで、２Ｄモデルデータ調整部２３による２次元モデルデータの調整（ステップＳ１５０）と、調整された２次元モデルデータに基づく２Ｄ／３Ｄモデリング部２２による３次元モデルデータの更新（ステップＳ１７０）とが繰り返し実行されることから、得られた２次元パターンを立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。更に、実施例の２Ｄ／３Ｄモデリング部２２は、ユーザにより入力された１本の輪郭ストロークＳＳに対応して互いに表裏の関係をなす一対の２次元パターン３４についての２次元モデルデータを生成すると共に、一対の２次元パターン３４を互いに対応する接合ライン同士を接合した状態で膨らませて得られる３次元形状の３次元モデルデータを生成するものであるから、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０は、互いに接合された複数の２次元パターンの内部に充填材や気体等を充填したぬいぐるみやバルーン等の設計に極めて有用である。
【００５２】
また、上記実施例では、ステップＳ１５０の２次元モデルデータの調整に際して、座標処理部２１によって３次元モデルデータにより規定される３次元画像３６の輪郭ストロークＳＳに対応した輪郭３６ｓを形成する頂点である仮頂点ｖｉの投影座標系における２次元座標データが取得される（ステップＳ１５３）。そして、２Ｄ／３Ｄモデリング部２２は、仮頂点ｖｉや輪郭ストロークＳＳを形成する目標頂点Ｐｉの２次元座標データに基づいて、目標頂点Ｐｉと当該目標頂点Ｐｉに対応した仮頂点ｖｉとを結ぶベクトルの仮頂点ｖｉの法線方向への射影成分長さｄｉを算出すると共に（ステップＳ１５４）、２次元パターン３４の外周（輪郭）を形成する対象頂点ｕｉをそれに対応する目標頂点Ｐｉおよび仮頂点ｖｉの組について算出された射影成分長さｄｉだけ当該対象頂点ｕｉの法線方向に移動させたときの各対象頂点ｕｉの２次元座標データを算出し（ステップＳ１５６）、各対象頂点ｕｉの２次元座標データに基づいて２次元モデルデータを更新する（ステップＳ１５７）。これにより、２次元パターン３４をより適正に変形させて３次元モデルデータにより規定される３次元画像３６の輪郭３６ｓを輪郭ストロークＳＳに近づけることができる。また、このような２次元モデルデータの調整におけるアルゴリズムは比較的シンプルなものであることから、２次元モデルデータの調整に際しての演算負荷を低減することが可能となる。更に、上記実施例において、ステップＳ１５０の２次元モデルデータ調整ルーチンが実行された後、２Ｄ／３Ｄモデリング部２２は、３次元モデルデータにより規定されるポリゴンメッシュのエッジの長さが調整・更新された２次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の３次元座標データを再計算し、当該再計算の結果に基づいて３次元モデルデータを更新する（ステップＳ１７０）。これにより、３次元モデルデータの更新も比較的短時間のうちに実行されることになる。また、上記実施例では、ステップＳ１５５にて算出される射影成分長さｄｉの全仮頂点ｖｉについての総和と所定の閾値とを比較し（ステップＳ１９０）、射影成分長さｄｉの総和が閾値以下となったときに輪郭ストロークＳＳと３次元モデルデータにより規定される３次元画像３６の輪郭３６ｓとが一致したと判断される。すなわち、上述のように２次元モデルデータの調整（ステップＳ１５０）と３次元モデルデータの更新（ステップＳ１７０）とが繰り返し実行されると、輪郭ストロークＳＳと３次元画像３６の輪郭３６ｓとが近づくにつれて射影成分長さｄｉの総和が小さくなり、当該総和が最小となったときに理論上、輪郭ストロークＳＳと３次元画像３６の輪郭３６ｓとが再接近し、その後に２次元モデルデータの調整（ステップＳ１５０）と３次元モデルデータの更新（ステップＳ１７０とが更に続行されると、射影成分長さｄｉの総和は逆に大きな値を示すことになる。従って、上記実施例のように、射影成分長さｄｉの総和と閾値とを比較すれば、輪郭ストロークＳＳと３次元画像３６の輪郭３６ｓとが一致したか否かの判定をより適正に実行することが可能となる。
【００５３】
加えて、実施例の２Ｄ／３Ｄモデリング部２２は、２次元モデルデータ（２次元モデルデータと実質的に同一の３次元モデルデータ）に基づいてポリゴンメッシュの各エッジにより画成されるメッシュ面を上記（１）式に基づくメッシュ面の法線方向における移動制約および上記（２）式に基づくポリゴンメッシュの各エッジの伸長を規制する伸縮制約のもとで当該法線方向かつ外方に移動させたときのポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さ等を算出し、算出した座標およびエッジ長さを３次元モデルデータとして出力するものである。これにより、２次元パターンに基づく３次元形状の極端な膨張が抑制されるように３次元モデルデータをより適正に生成可能となる。また、上記（１）式における係数αや上記（２）式における係数βを適宜設定することにより２次元パターンを構成する素材の選択の自由度を高めることが可能となる。
【００５４】
そして、上記実施例では、コンピュータ２０において３次元形状展開用プログラムが起動されると、表示装置３０の表示画面３１に２Ｄ画像表示領域３２と３Ｄ画像表示領域３３とが表示され、２Ｄ画像表示領域３２には、２Ｄ画像表示制御部２８により２次元モデルデータに基づく２次元画像すなわち２次元パターン３４やコネクタ３５等が表示され、３Ｄ画像表示領域３３には、３Ｄ画像表示制御部２９により３次元モデルデータに基づく３次元画像３６が表示される（ステップＳ１３０，Ｓ１４０，Ｓ１６０，Ｓ１８０）。これにより、ユーザは、２Ｄ画像表示領域３２および３Ｄ画像表示領域３３を参照しながら所望の３次元形状に対応した２次元パターン３４を設計することが可能となる。なお、上記実施例では、２Ｄ画像表示領域３２に２次元パターン３４の接合ライン同士の対応関係を示すコネクタ３５が表示されるが、これに限られるものではない。すなわち、２Ｄ画像表示領域３２にコネクタ３５を表示する代わりに、図１７に示すように、２Ｄ画像表示領域３２において、数字等の識別子を用いて２次元パターン３４の接合ライン同士の対応関係を示すようにしてもよい。
〔切断ルーチン〕
図１８は、実施例のコンピュータ２０において実行される切断ルーチンの一例を示すフローチャートである。かかる切断ルーチンは、例えば上述の基本ルーチンが少なくとも１回実行されて３Ｄ画像表示領域３３に３次元画像３６が表示されている状態で、図１９に示すように、ユーザにより３Ｄ画像表示領域３３上で３次元画像３６の外周（輪郭）と２点で交差すると共に３次元画像３６を分断する分断ストロークＣＳが入力されたときに実行されるものである。図１８の切断ルーチンの開始に際して、コンピュータ２０の座標処理部２１は、３Ｄ画像表示領域３３に対して設定されている絶対座標系のＸ−Ｙ座標系に基づく分断ストロークＣＳを形成する各点の座標を表示装置３０から取得すると共に、取得した各点の座標のうち、例えば分断ストロークＣＳの始点から終点までの所定間隔おきの点のＸ−Ｙ座標を分断ストロークＣＳを形成する頂点の２次元座標データとして２Ｄデータ格納部２５に格納する（ステップＳ３００）。更に、座標処理部２１の座標演算部２１ｂは、ステップＳ３００にて取得した分断ストロークＣＳを形成する頂点の２次元座標データと、３Ｄデータ格納部２６に格納されている３次元モデルデータ（ポリゴンメッシュの各頂点の３次元座標）とに基づいて、分断ストロークＣＳを形成する頂点ごとに、当該頂点を通ってＺ軸方向（ユーザの視線方向）に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）を算出し、算出した座標を分断ストロークＣＳを形成する頂点の３次元座標データとして３Ｄデータ格納部２６に格納する（ステップＳ３１０）。
【００５５】
次いで、２Ｄ／３Ｄモデリング部２２は、ステップＳ３１０にて取得された分断ストロークＣＳを形成する頂点の３次元座標データと３Ｄデータ格納部２６に格納されている３次元モデルデータとに基づいて、それまで３Ｄデータ格納部２６に格納されていた３次元モデルデータにより規定される３次元形状をリメッシュする（ステップＳ３２０）。ステップＳ３２０では、もとの３次元形状が分断ストロークＣＳを３Ｄ画像表示領域３３のＺ軸方向（ユーザの視線方向）にスイープして得られる可展面により当該可展面の例えば図中左側の領域を残すと共に当該可展面の図中右側の領域を消去するようにカットされたものとして、図２０に示すように、当該可展面により形成される３次元形状の新たな断面にポリゴンメッシュが付与されると共に分断ストロークＣＳを形成する頂点に対応するように３次元モデルデータが更新される。こうして３次元モデルデータが更新されると、更新された３次元モデルデータは３Ｄデータ格納部２６に格納され、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいて新たな３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ３３０）。
【００５６】
また、２Ｄモデルデータ調整部２３は、ステップＳ３２０にて更新された３次元モデルデータに基づいて、上記可展面の図中左側の領域すなわちもとの３次元形状のうちの消去されずに残される領域に対応するように２次元モデルデータを調整する（ステップＳ３４０）。ここで、図２０に示すように、分断ストロークＣＳをスイープすることにより形成される３次元形状の新たな断面は、可展面であって容易に２次元に展開可能である。従って、ステップＳ３４０において、２Ｄモデルデータ調整部２３は、まず上記可展面により形成された３次元形状の新たな断面に付与されたメッシュの頂点の３次元座標データに基づいて、これらの頂点を所定の２次元平面に投影したときの２次元座標を算出する。そして、２Ｄモデルデータ調整部２３は、算出した２次元座標に基づいて３次元形状の追加された新たな断面についての２次元モデルデータを生成すると共に、当該新たな断面の外周に対応するようにそれまで２Ｄデータ格納部２５に格納されていた２次元モデルデータを調整する。これにより、３次元形状の追加された新たな断面に対応した新たな２次元パターンについての２次元モデルデータが生成されることから、コネクタ設定部２７は、図３のステップＳ１２０と同様にして、調整された２次元モデルデータに対して、２次元パターン３４の接合ライン同士の対応関係を示すコネクタ３５に関する情報を設定する（ステップＳ３５０）。このようにして更新される２次元モデルデータは、２Ｄデータ格納部２５に格納され、２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて２次元パターン３４やコネクタ３５等を互いに重なり合わないように２Ｄ画像表示領域３２に表示させる（ステップＳ３６０）。
【００５７】
こうして分断ストロークＣＳの入力に伴う２次元モデルデータの調整が実行されると、２Ｄ／３Ｄモデリング部２２は、図３のステップＳ１４０と同様にして、ステップＳ３４０にて調整された２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するための３次元モデリングを実行する（ステップＳ３７０）。ここで、ステップＳ３７０の３次元モデリングが実行されると、基本的に３次元形状のうちの分断ストロークＣＳをスイープすることにより形成される新たな断面の周辺が外方に膨らんでいくことになるが、ステップＳ３７０の実行中に３次元画像３６が３Ｄ画像表示領域３３に表示された段階では、基本的に分断ストロークＣＳに対応した３次元画像３６の輪郭とユーザにより入力された分断ストロークＣＳとが一致しない。このため、ステップＳ３７０の処理の後、図３のステップＳ１５０と同様にして、２Ｄモデルデータ調整部２３により分断ストロークＣＳと３次元モデルデータにより規定される３次元形状の分断ストロークＣＳに対応した輪郭（外周すなわちシームライン３７）とが一致するように２次元モデルデータが調整され（ステップＳ３８０）、２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて新たな２次元パターン３４を２Ｄ画像表示領域３２に表示させる（ステップＳ３９０）。なお、ステップＳ３８０では、例えば、ステップＳ３００にて取得された分断ストロークＣＳを形成する頂点である目標頂点の２次元座標データと、３次元画像３６の分断ストロークＣＳに対応したシームライン３７を形成する頂点である仮頂点の投影座標系における２次元座標データとに基づいて射影成分長さを求めると共に、２次元パターン３４の外周（輪郭）を形成する対象頂点をそれに対応する目標頂点および仮頂点の組について算出された射影成分長さだけ当該対象頂点の法線方向に移動させたときの各対象頂点の２次元座標データを算出し、各対象頂点の２次元座標データに基づいて２次元モデルデータを更新すればよい。また、２Ｄ／３Ｄモデリング部２２は、図３のステップＳ１７０と同様にして、ステップＳ３８０にて調整・更新された２次元モデルデータに基づいて３次元モデルデータを生成（更新）し（ステップＳ４００）、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいて新たな３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ４１０）。ステップＳ４１０の処理の後、２Ｄモデルデータ調整部２３は、図３のステップＳ１９０と同様にして、ステップＳ３８０の処理に際して計算した射影成分長さの総和が予め定められた閾値以下であるか否かを判定し（ステップＳ４２０）、射影成分長さの総和が当該閾値を上回っていれば、再度ステップＳ３８０の２Ｄモデルデータ調整ルーチンを実行し、更に２次元パターン３４の再表示（ステップＳ３９０）、３次元モデルデータの更新（ステップＳ４００）および３次元画像３６の再表示（ステップＳ４１０）が実行される。そして、ステップＳ４２０にて射影成分長さの総和が上記閾値以下になったと判断されると本ルーチンが終了することになる。このようにして本ルーチンが終了した時点では、３Ｄ画像表示領域３３には、図２１に示すように、ユーザにより入力された分断ストロークＣＳに対応したシームライン（輪郭）３７を有する３次元画像３６が表示されると共に、２Ｄ画像表示領域３２には、３次元画像３６に対応した複数（左右一対）の２次元パターン３４がコネクタ３５等と共に表示されることになる（図示省略）。なお、図２１は、新たな追加された断面が正面にくるようにユーザにより３次元画像３６が移動されたときの表示例を示すものである。
【００５８】
ここまで説明したように、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０では、マウス５０やスタイラス６０等を介して３Ｄ画像表示領域３３に表示された３次元画像３６の外周と２点で交差すると共に当該３次元画像３６を分断する分断ストロークＣＳが入力されると、もとの３次元モデルデータにより規定される３次元形状が分断ストロークＣＳを３Ｄ画像表示領域３３のＺ軸方向（ユーザの視線方向）にスイープして得られる可展面により当該可展面の一側の領域を残すと共に当該可展面の他側の領域を消去するようにカットされたものとして３次元モデルデータが生成される（ステップＳ３００〜Ｓ３２０）。また、分断ストロークＣＳの入力に応じて３次元モデルデータが生成されると、２Ｄモデルデータ調整部２３は、生成された３次元モデルデータに基づいて３次元形状の可展面よりも一側の領域に対応するように２次元モデルデータを調整する（ステップＳ３４０）。更に、２Ｄ／３Ｄモデリング部２２は、ステップＳ３４０にて調整・更新された２次元モデルデータに基づく３次元モデリングを実行し、当該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する（ステップＳ３７０）。そして、ユーザにより入力された分断ストロークＣＳと、３次元モデルデータにより規定される３次元形状の分断ストロークＣＳに対応したシームライン３７（輪郭）とが概ね一致するまで、２Ｄモデルデータ調整部２３による２次元モデルデータの調整（ステップＳ３８０）と、調整された２次元モデルデータに基づく２Ｄ／３Ｄモデリング部２２による３次元モデルデータの更新（ステップＳ４００）とが繰り返し実行される。これにより、ユーザは、３Ｄ画像表示領域３３において３次元画像３６をカットするように分断ストロークＣＳを入力することにより、比較的複雑な３次元形状に対応した２次元パターン３４を得ることが可能となる。また、上記実施例では、分断ストロークＣＳと３次元画像３６の分断ストロークＣＳに対応したシームライン３７（輪郭）とが概ね一致するまで、２次元モデルデータの調整（ステップＳ３８０）と３次元モデルデータの更新（ステップＳ４００）とが繰り返し実行されることから、得られた２次元パターン３４を立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。
【００５９】
〔パーツ追加ルーチン〕
図２２は、実施例のコンピュータ２０において実行されるパーツ追加ルーチンの一例を示すフローチャートである。かかるパーツ追加ルーチンは、例えば上述の基本ルーチンが少なくとも１回実行されて３Ｄ画像表示領域３３に３次元画像３６が表示されている状態で、図２３（ａ）に示すように、マウス５０やスタイラス６０を介してユーザにより３Ｄ画像表示領域３３上で３次元画像３６の外周上または内側に始点および終点を有すると共に３次元画像３６の外周の外側に突出する追加ストロークＡＳが入力されたときに実行されるものである。なお、図２３では、説明をわかりやすくするために、３次元画像３６をテクスチャが付与されていないメッシュモデルとして示す。図２２のパーツ追加ルーチンの開始に際して、コンピュータ２０の座標処理部２１は、３Ｄ画像表示領域３３に対して設定されている絶対座標系（ピクセル単位の座標系、図２参照）のＸ−Ｙ座標系に基づく追加ストロークＡＳを形成する各点の座標を取得すると共に、取得した各点の座標のうち、例えば追加ストロークＡＳの始点から終点までの所定間隔おきの点のＸ−Ｙ座標を追加ストロークＡＳを形成する頂点の２次元座標データとして２Ｄデータ格納部２５に格納する（ステップＳ５００）。また、座標処理部２１の座標演算部２１ｂは、ステップＳ５００にて取得した追加ストロークＡＳを形成する頂点の２次元座標データと、３Ｄデータ格納部２６に格納されている３次元モデルデータ（ポリゴンメッシュの各頂点の３次元座標）とに基づいて、追加ストロークＡＳの始点に対応した頂点を通ってＺ軸方向（ユーザの視線方向）に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）と、追加ストロークＡＳの終点に対応した頂点を通ってＺ軸方向に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）とを算出し、算出した座標を追加ストロークＡＳを形成する始点および終点の３次元座標データとして３Ｄデータ格納部２６に格納する（ステップＳ５１０）。更に、座標処理部２１の座標系設定部２１ａは、ステップＳ５１０にて算出した追加ストロークＡＳを形成する始点および終点の３次元座標データに基づいて追加ストロークＡＳを形成する頂点の２次元座標等を算出するための投影面を設定すると共に、当該投影面に対して２次元の投影座標系を設定する（ステップＳ５２０）。ステップＳ５２０においては、図２３（ａ）に示すように、追加ストロークＡＳの始点ｖｓおよび終点ｖｅを含むと共に例えば追加ストロークＡＳの始点ｖｓの法線方向ｎに延びる仮想的な平面ＰＦが投影面とされると共に、始点ｖｓおよび終点ｖｅを通る直線を水平軸（ｘ′軸）とすると共に始点ｖｓから水平軸（ｘ′軸）に直交に延びる直線を垂直軸（ｙ′軸）とした２次元の投影座標系が設定される。
【００６０】
次いで、２Ｄ／３Ｄモデリング部２２は、３Ｄデータ格納部２６に格納されている３次元モデルデータにより規定される３次元形状に対して、追加ストロークＡＳの始点および終点を通るベースラインを設定すると共に当該ベースラインを形成する頂点の３次元座標データを算出する（ステップＳ５３０）。実施例では、ベースラインとして、図２３（ｂ）に示すような追加ストロークＡＳの始点ｖｓから終点ｖｅまで概ね直線状に延びるベースラインＢＬ１と、図２３（ｃ）に示すような追加ストロークＡＳの始点ｖｓおよび終点ｖｅを含むと共に所定の面形状を画成する閉じたベースラインＢＬ２が設定される。すなわち、ステップＳ５３０において、２Ｄ／３Ｄモデリング部２２は、ステップＳ５１０にて取得した追加ストロークＡＳを形成する始点および終点の３次元座標データと３Ｄデータ格納部２６に格納されている３次元モデルデータ（ポリゴンメッシュの各頂点の３次元座標）とに基づいて、追加ストロークＡＳの始点ｖｓと終点ｖｅとを結ぶ直線上に所定間隔おきに仮想点を設定すると共に、仮想点ごとに当該仮想点を通って上記投影面と平行（始点ｖｓの法線方向）に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）を算出し、算出した座標をベースラインＢＬ１を形成する頂点の３次元座標データとして３Ｄデータ格納部２６に格納する。また、２Ｄ／３Ｄモデリング部２２は、ステップＳ５１０にて取得した追加ストロークＡＳを形成する始点および終点の３次元座標データと３Ｄデータ格納部２６に格納されている３次元モデルデータとに基づいて、追加ストロークＡＳの始点ｖｓと終点ｖｅとを結ぶ直線を長軸とすると共に所定長さ（例えば長径の１／４）の短軸をもった楕円上に所定間隔おきに仮想点を設定すると共に、仮想点ごとに当該仮想点を通って上記投影面と平行（始点ｖｓの法線方向）に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）を算出し、算出した座標をベースラインＢＬ２を形成する頂点の３次元座標データとして３Ｄデータ格納部２６に格納する。
【００６１】
ステップＳ５３０にてベースラインＢＬ１およびＢＬ２を形成する頂点の３次元座標データが取得されると、２Ｄ／３Ｄモデリング部２２は、ベースラインＢＬ１の頂点の３次元座標データに基づいて、それまで３Ｄデータ格納部２６に格納されていた３次元モデルデータにより規定される３次元形状をリメッシュすると共に、ベースラインＢＬ２の頂点の３次元座標データに基づいて、それまで３Ｄデータ格納部２６に格納されていた３次元モデルデータにより規定される３次元形状をリメッシュする（ステップＳ５４０）。これにより、ステップＳ５４０の処理が実行されると、図２３（ｂ）に示すように、ベースラインＢＬ１を形成する頂点に対応するように３次元モデルデータが更新され、更新された３次元モデルデータが３Ｄデータ格納部２６に格納される。また、ステップＳ５４０では、図２３（ｃ）に示すように、ベースラインＢＬ２によりもとの３次元形状に開口が形成されたものとして、当該ベースラインＢＬ２を形成する頂点に対応するように３次元モデルデータが生成され、ベースラインＢＬ２に対応した３次元モデルデータも３Ｄデータ格納部２６に格納される。ステップＳ５４０の処理の後、座標処理部２１の座標演算部２１ｂは、追加ストロークＡＳおよびベースラインＢＬ１の頂点の３次元座標データと投影座標系に基づいて、追加ストロークＡＳおよびベースラインＢＬ１を投影面ＰＦに投影したときの各頂点の２次元座標データを算出し、２Ｄデータ格納部２５に格納する（ステップＳ５５０）。また、ステップＳ５５０おいて、座標演算部２１ｂは、追加ストロークＡＳおよびベースラインＢＬ２の頂点の３次元座標データと投影座標系に基づいて、追加ストロークＡＳおよびベースラインＢＬ２を投影面ＰＦに投影したときの各頂点の２次元座標データを算出し、２Ｄデータ格納部２５に格納する。ここで、ベースラインＢＬ２に関しては、図２４に示すように、各頂点を投影面に対して９０°回転させたときの座標を求める。
【００６２】
続いて、２Ｄモデルデータ調整部２３は、ステップＳ５５０にて取得された追加ストロークＡＳおよびベースラインＢＬ１，ＢＬ２の頂点の投影座標系における２次元座標データに基づいて、追加ストロークＡＳとベースラインＢＬ１，ＢＬ２とに対応するように２次元モデルデータを調整する（ステップＳ５６０）。ステップＳ５６０において、２Ｄモデルデータ調整部２３は、追加ストロークＡＳおよびベースラインＢＬ１，ＢＬ２の頂点の投影座標系における２次元座標データに基づいて、追加ストロークＡＳに対応した新たなパーツについての２次元モデルデータを生成すると共に、ベースラインＢＬ１，ＢＬ２の頂点の投影座標系における２次元座標データに基づいて、当該新たなパーツともとの３次元形状との接合ラインに対応するように２Ｄデータ格納部２５に格納されていた２次元モデルデータを調整する。これにより、新たなパーツに対応した新たな２次元パターンについての２次元モデルデータが生成されることから、コネクタ設定部２７は、図３のステップＳ１２０と同様にして、調整された２次元モデルデータに対して、２次元パターン３４の接合ライン同士の対応関係を示すコネクタ３５に関する情報を設定する（ステップＳ５７０）。そして、２Ｄ／３Ｄモデリング部２２は、図３のステップＳ１４０と同様にして、調整された２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成するための３次元モデリングを実行する（ステップＳ５８０）。
【００６３】
実施例では、ステップＳ５８０の実行中、図２５に示すように、３Ｄ画像表示領域３３内に追加ストロークＡＳが入力される前の３次元画像３６と共にサブウィンドウ３３Ａおよび３３Ｂが表示され、サブウィンドウ３３ＡにベースラインＢＬ１についての３次元画像３６Ａが、サブウィンドウ３３ＢにベースラインＢＬ２についての３次元画像３６Ｂがそれぞれ表示される。ここで、３次元モデリングが実行されると、基本的に３次元形状のうちの追加ストロークＡＳに対応した新たなパーツの周辺が外方に膨らんでいくことになるが（図２３（ｄ）および（ｅ）参照）、３次元画像３６が３Ｄ画像表示領域３３に表示された段階では、基本的に追加ストロークＡＳに対応した３次元画像３６の輪郭（外周すなわちシームライン３７）とユーザにより入力された追加ストロークＡＳとが一致しない。このため、ステップＳ５８０の処理の後、図３のステップＳ１５０と同様にして、２Ｄモデルデータ調整部２３により追加ストロークＡＳと３次元モデルデータにより規定される３次元形状の追加ストロークＡＳに対応した輪郭とが一致するように２次元モデルデータが調整される（ステップＳ５９０）。なお、ステップＳ５９０では、例えば、ステップＳ５５０にて取得された追加ストロークＡＳを形成する頂点である目標頂点の投影座標系における２次元座標データと、３次元画像３６の追加ストロークＡＳに対応した外周（シームライン３７）を形成する頂点である仮頂点の投影座標系における２次元座標データとに基づいて射影成分長さを求めると共に、２次元パターン３４の外周（輪郭）を形成する対象頂点をそれに対応する目標頂点および仮頂点の組について算出された射影成分長さだけ当該対象頂点の法線方向に移動させたときの各対象頂点の２次元座標データを算出し、各対象頂点の２次元座標データに基づいて２次元モデルデータを更新すればよい。また、２Ｄ／３Ｄモデリング部２２は、図３のステップＳ１７０と同様にして、調整・更新された２次元モデルデータに基づいて３次元モデルデータを生成（更新）し（ステップＳ６００）、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいて新たな３次元画像３６Ａおよび３６Ｂをサブウィンドウ３３Ａ，３３Ｂに表示させる（ステップＳ６１０）。ステップＳ６１０の処理の後、２Ｄモデルデータ調整部２３は、図３のステップＳ１９０と同様にして、ステップＳ５９０の処理に際して計算した射影成分長さの総和が予め定められた閾値以下であるか否かを判定し（ステップＳ６２０）、射影成分長さの総和が当該閾値を上回っていれば、再度ステップＳ５９０の２Ｄモデルデータ調整ルーチンを実行し、更に３次元モデルデータの更新（ステップＳ６００）および３次元画像３６Ａおよび３６Ｂの再表示（ステップＳ６１０）が実行される。そして、ステップＳ６２０にて射影成分長さの総和が上記閾値以下になったと判断されると、そこでステップＳ５９０〜Ｓ６１０の処理は終了し、サブウィンドウ３３Ａおよび３３Ｂに表示されている３次元画像３６Ａおよび３６Ｂのうち、ユーザが希望する何れか一方が選択（クリック）されると（ステップＳ６３０）、２Ｄ画像表示制御部２８は、ユーザにより選択された３次元画像３６Ａまたは３６Ｂに対応した２次元モデルデータに基づいて２次元パターン３４等を２Ｄ画像表示領域３２に表示させ、３Ｄ画像表示制御部２９は、サブウィンドウ３３Ａおよび３３Ｂを消去すると共に、３次元モデルデータに基づいてユーザにより選択された３次元画像３６（３６Ａまたは３６Ｂ）を３Ｄ画像表示領域３３に表示させ（ステップＳ６４０）、これにより、本ルーチンが終了することになる。
【００６４】
ここまで説明したように、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０では、マウス５０やスタイラス６０等を介して３Ｄ画像表示領域３３に表示された３次元画像３６の外周上または内側に始点および終点を有すると共に３次元画像３６の外周の外側に突出する追加ストロークＡＳが入力されると、追加ストロークＡＳの入力により追加ストロークＡＳの始点ｖｓおよび終点ｖｅを通るベースラインＢＬ１およびＢＬ２が形成されたものとして２Ｄ／３Ｄモデリング部２２によって当該ベースラインに対応するように３次元モデルデータが更新される（ステップＳ５３０，Ｓ５４０）。また、座標処理部２１の座標演算部２１ｂは、追加ストロークＡＳの始点ｖｓおよび終点ｖｅを含む投影面ＰＦに対して設定される投影座標系における追加ストロークＡＳを形成する頂点の２次元座標データと、ベースラインＢＬ１，ＢＬ２を形成する頂点を投影面ＰＦに投影して得られる２次元座標データとを取得する（ステップＳ５５０）。更に、２Ｄモデルデータ調整部２３は、追加ストロークＡＳを形成する頂点およびベースラインＢＬ１，ＢＬ２を形成する頂点の２次元座標データに基づいて追加ストロークＡＳとベースラインＢＬ１，ＢＬ２とに対応するように２次元モデルデータを調整する（ステップＳ５６０）。そして、２Ｄ／３Ｄモデリング部２２は、ステップＳ５６０にて調整・更新された２次元モデルデータに基づく３次元モデリングを実行し、当該２次元モデルデータにより規定される２次元パターンを膨らませて得られる３次元形状の３次元モデルデータを生成する（ステップＳ５８０）。その後、ユーザにより入力された追加ストロークＡＳと、３次元モデルデータにより規定される３次元形状の追加ストロークＡＳに対応した外周（シームライン３７）とが概ね一致するまで、２Ｄモデルデータ調整部２３による２次元モデルデータの調整（ステップＳ５９０）と、調整された２次元モデルデータに基づく２Ｄ／３Ｄモデリング部２２による３次元モデルデータの更新（ステップＳ６００）とが繰り返し実行される。
【００６５】
これにより、ユーザは、３Ｄ画像表示領域３３において３次元画像３６から突出するように追加ストロークＡＳを入力することにより、突部が追加されたより複雑な３次元形状に対応した２次元パターン３４を得ることが可能となる。また、上記実施例では、追加ストロークＡＳと３次元画像３６の追加ストロークＡＳに対応した外周（シームライン３７）とが概ね一致するまで、２次元モデルデータの調整（ステップＳ５９０）と３次元モデルデータの更新（ステップＳ６００）とが繰り返し実行されることから、得られた２次元パターン３４を立体化して得られる３次元形状と、ユーザにより所望されている３次元形状とをより精度よく一致させることが可能となる。更に、上記実施例のように、ステップＳ５３０にて設定されるベースラインＢＬ１を３次元形状の表面（メッシュ面）と投影面ＰＦとの交線に含まれて追加ストロークＡＳの始点ｖｓから終点ｖｅまで延びるラインとすれば、もとの３次元形状に対して追加ストロークＡＳとベースラインＢＬ１とに対応した輪郭をもった膨らんだパーツをベースラインＢＬ１上でもとの３次元形状に接続するよう追加すると共に、当該パーツに対応した２次元パターン３４を得ることが可能となる。加えて、ステップＳ５３０にて設定されるベースラインＢＬ２を追加ストロークＡＳの始点ｖｓおよび終点ｖｅを含むと共に所定の面形状（実施例では略楕円形状）を画成する閉じたラインとすれば、閉じたラインに対応した開口を介してもとの３次元形状に接続されるパーツを追加すると共に、当該パーツに対応した２次元パターン３４を得ることが可能となる。そして、上記実施例のように、３Ｄ画像表示領域３３にベースラインＢＬ１についての３次元画像３６ＡとベースラインＢＬ２についての３次元画像３６Ｂとの双方を表示し、ユーザに所望の３次元画像の選択を許容すれば、ぬいぐるみやバルーン等の設計におけるユーザの利便性を向上させることが可能となる。
【００６６】
なお、上述のように、ユーザによる追加ストロークＡＳの入力に伴ってベースラインを設定する代わりに、五十嵐らによって提案された手法（IGARASHI, T., MATSUOKA, S., AND TANAKA, H. 1999. Teddy: A sketching interface for 3D freeform design. ACM SIGGRAPH 1999, 409・416. 参照）を用いて、ユーザにより直線状あるいは所定の面形状を画成するベースラインが３次元画像に対して入力されたときに当該３次元形状に突起状のパーツを追加すると共に当該パーツに対応した２次元パターンを得るようにしてもよい。
【００６７】
〔３Ｄ／２Ｄ引張ルーチン〕
図２６は、実施例のコンピュータ２０において実行される３Ｄ引張ルーチンの一例を示すフローチャートである。かかる３Ｄ引張ルーチンは、例えば上述の基本ルーチンが少なくとも１回実行されて３Ｄ画像表示領域３３に３次元画像３６が表示されている状態で、マウス５０やスタイラス６０を介してユーザにより３Ｄ画像表示領域３３上で３次元画像３６のシームライン３７を形成するポリゴンメッシュの頂点すなわち２次元パターン３４同士の接合ラインに対応した頂点（以下「可動頂点」という）が移動されたときに実行されるものである。なお、実施例では、３次元画像３６のシームライン３７を形成する可動頂点の３次元モデルデータに対しては当該シームライン３７を形成する旨を示す識別子が付与されており、３Ｄ画像表示領域３３上でユーザによりカーソルが移動されて、カーソルが可動頂点の上に位置すると、図２７に示すように、カーソルの形状が矢印形から手の形へと変化する。そして、カーソルの形状が手の形へと変化したときに、ユーザが例えばマウス５０を右クリックすると、対象となる可動頂点をドラッグして移動させることが可能となる。
【００６８】
図２６の３Ｄ引張ルーチンの開始に際して、座標処理部２１は、３Ｄデータ格納部２６からドラッグされた可動頂点と当該可動頂点を含むシームライン３７の２つの端点の３次元座標データを取得する（ステップＳ７００）。また、座標処理部２１の座標系設定部２１ａは、ドラッグされた可動頂点と２つの端点の３次元座標データに基づいて投影面を設定すると共に、当該投影面に対して２次元の投影座標系を設定する（ステップＳ７１０）。ステップＳ７１０においては、ドラッグ時（移動される直前）の対象となる可動頂点および２つの端点の３次元座標データに基づいて、これら３点を含む仮想平面ＰＦを投影面として設定する。また、投影座標系は、図２７に示すように、移動される直前の可動頂点を原点とし、かつ移動される直前の可動頂点の法線方向に延びる直線を垂直軸（ｙ′軸）とすると共に当該垂直軸と直交に延びる直線を水平軸（ｘ′軸）とするものとされる。更に、座標処理部２１は、３Ｄ画像表示領域３３に対して設定されている絶対座標系のＸ−Ｙ座標系に基づく対象となる可動頂点の２次元座標データを表示装置３０から取得する（ステップＳ７２０）。そして、座標処理部２１の座標演算部２１ｂは、ステップＳ７２０にて取得された対象となる可動頂点の２次元座標をステップＳ７１０にて設定された投影面に投影したときの当該可動頂点の投影座標系における２次元座標データを算出し、２Ｄデータ格納部２５に格納する（ステップＳ７３０）。
【００６９】
次いで、２Ｄモデルデータ調整部２３は、ステップＳ７３０にて算出された対象となる可動頂点の投影座標系における２次元座標データに基づいて当該可動頂点の投影面上での移動量δを算出する（ステップＳ７４０）。移動量δは、ステップＳ７３０にて算出された対象となる可動頂点の投影座標系における２次元座標と投影座標系の原点との距離として容易に算出することができる。こうして移動量δを算出すると、２Ｄモデルデータ調整部２３は、図２８に示すように、上記ドラッグされた可動頂点に対応した２次元パターン３４（ポリゴンメッシュ）の頂点ｕｉｆ，ｕｉｂをそれぞれの法線方向にステップＳ７４０にて算出された移動量δだけ移動させたときの２次元座標データを算出すると共に、２次元パターン３４の外周（輪郭）を滑らかなものとすべく、頂点ｕｉｆ，ｕｉｂを含む外周（接合ライン）を形成するすべての頂点に対して所定のスムージング処理（例えば、五十嵐らにより提案された２次元変形手法：IGARASHI, T., MOSCOVICH, T., AND HUGHES, J.F. 2005. As-rigid-as-possible shape manipulation. ACM Transactions on Computer Graphics (In ACM SIGGRAPH 2005), 24(3), 1134・1141. 参照）を施した上で、全ポリゴンメッシュの頂点のＸ−Ｙ座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報からなる２次元モデルデータを調整・更新する（ステップＳ７５０）。
【００７０】
こうして２次元モデルデータが調整・更新されると、２Ｄ画像表示制御部２８は、２次元モデルデータに基づいて２次元パターン３４等を２Ｄ画像表示領域３２に表示させる（ステップＳ７６０）。また、２Ｄ／３Ｄモデリング部２２は、ステップＳ７５０にて調整・更新された２次元モデルデータに基づいて３次元モデルデータを生成（更新）する（ステップＳ７７０）。ステップＳ７７０において、２Ｄ／３Ｄモデリング部２２は、３次元モデルデータにより規定されるポリゴンメッシュのエッジの長さがステップＳ７５０にて調整・更新された２次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の３次元座標データを再計算すると共に、再計算の結果に基づいてエッジに関する情報等を求め、新たな３次元モデルデータとして３Ｄデータ格納部２６に格納する。ステップＳ７７０の処理の後、ユーザによる可動頂点のドラッグが解除されているか否か判定され（ステップＳ７８０）、ユーザによる可動頂点のドラッグが解除されていなければ、再度ステップＳ７２０以降の処理が実行される。また、ステップＳ７８０にてユーザによる可動頂点のドラッグが解除されていると判断された場合には、更にドラッグの解除後にステップＳ７２０以降の処理が１サイクル実行された否かが判定され（ステップＳ７９０）、否定判断がなされた場合には、ステップＳ７２０以降の処理がもう１サイクル実行される。そして、ステップＳ７２０にて肯定判断がなされた時点で本ルーチンが終了することになる。
【００７１】
ここまで説明したように、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０では、３Ｄ画像表示領域３３に３次元画像３６が表示されている状態で、マウス５０やスタイラス６０を介してユーザにより３Ｄ画像表示領域３３上で３次元画像３６のシームライン３７を形成する可動頂点が移動されると、座標処理部２１により対象となる可動頂点とそれを含むシームライン３７（接合ライン）の２つの端点とに基づく投影面に対して設定される投影座標系における可動頂点の２次元座標データが取得される（ステップＳ７３０）。また、２Ｄモデルデータ調整部２３は、ステップＳ７３０にて取得された２次元座標データに基づいて可動頂点の投影面上での移動量δを算出すると共に（ステップＳ７４０）、算出した移動量δだけ可動頂点に対応したポリゴンメッシュの頂点が当該頂点の法線方向に移動したものとして２次元モデルデータを調整し（ステップＳ７５０）、２Ｄ／３Ｄモデリング部２２は、調整された２次元モデルデータに基づいて３次元モデルデータを更新する（ステップＳ７７０）。これにより、コンピュータ２０のユーザは、マウス５０やスタイラス６０を用いて３Ｄ画像表示領域３３上で可動頂点を移動させることにより、図２９（ａ），（ｂ），（ｃ）および（ｄ）に示すように、３次元形状を所望の形状に近づくように修正すると共に、修正された３次元形状に対応した２次元パターン３４を得ることが可能となる。
【００７２】
なお、図２６の３Ｄ引張ルーチンは、ユーザにより３Ｄ画像表示領域３３上で可動頂点が移動されたときに実行されるものであるが、実施例では、図３０（ａ），（ｂ）および（ｃ）に示すように、２Ｄ画像表示領域３２に２次元パターン３４が表示されている状態でマウス５０やスタイラス６０を介してユーザにより２Ｄ画像表示領域３２上で２次元パターン３４の外周（接合ライン）を形成する頂点（以下「可動頂点」という）が移動されたときにも図２６の３Ｄ引張ルーチンと同様の図示しない２Ｄ引張ルーチンが実行される。なお、図３０では、説明をわかりやすくするために、２次元パターン３４をメッシュモデルとして示す。実施例では、２次元パターン３４同士の外周を形成する可動頂点の２次元モデルデータに対しては外周を形成する旨を示す識別子が付与されており、２Ｄ画像表示領域３２上でユーザによりカーソルが移動されて、カーソルが可動頂点の上に位置すると、図３０に示すように、カーソルの形状が矢印形から手の形へと変化する。そして、カーソルの形状が手の形へと変化したときに、ユーザが例えばマウス５０を右クリックすると、対象となる可動頂点をドラッグして移動させることが可能となる。そして、実施例における２Ｄ引張ルーチンが開始されると、座標処理部２１は、２Ｄ画像表示領域３２に対して設定されているＸ−Ｙ座標系における可動頂点の２次元座標データを取得し、２Ｄモデルデータ調整部２３は、対象となる可動頂点の２次元座標データに基づいて当該可動頂点がもとの位置から取得された２次元座標データに基づく位置まで移動したものとして２次元モデルデータを調整する。更に、２Ｄ／３Ｄモデリング部２２は、調整された２次元モデルデータに基づいて３次元モデルデータを更新する。これにより、コンピュータ２０のユーザは、マウス５０やスタイラス６０を用いて２Ｄ画像表示領域３２上で可動頂点を移動させることにより、３次元形状を所望の形状に近づくように修正すると共に、修正された３次元形状に対応した２次元パターン３４を得ることが可能となる。
【００７３】
〔シーム追加ルーチン〕
図３１は、実施例のコンピュータ２０において実行されるシーム追加ルーチンの一例を示すフローチャートである。かかるシーム追加ルーチンは、例えば上述の基本ルーチンが少なくとも１回実行されて３Ｄ画像表示領域３３に３次元画像３６が表示されている状態で、図３２（ａ）に示すように、マウス５０やスタイラス６０を介してユーザにより３Ｄ画像表示領域３３上で３次元画像３６の外周上または内側に始点および終点を有すると共に当該外周の内側に含まれる切込ストロークＤＳが入力されたときに実行されるものである。図３１のシーム追加ルーチンの開始に際して、コンピュータ２０の座標処理部２１は、３Ｄ画像表示領域３３に対して設定されている絶対座標系のＸ−Ｙ座標系に基づく切込ストロークＤＳを形成する各点の座標を表示装置３０から取得すると共に、取得した各点の座標のうち、例えば切込ストロークＤＳの始点から終点までの所定間隔おきの点のＸ−Ｙ座標を切込ストロークＤＳを形成する頂点の２次元座標データとして２Ｄデータ格納部２５に格納する（ステップＳ９００）。更に、座標処理部２１の座標演算部２１ｂは、ステップＳ３００にて取得した切込ストロークＤＳを形成する頂点の２次元座標データと、３Ｄデータ格納部２６に格納されている３次元モデルデータ（ポリゴンメッシュの各頂点の３次元座標）とに基づいて、切込ストロークＤＳを形成する頂点ごとに、当該頂点を通ってＺ軸方向（ユーザの視線方向）に延びる直線と３次元モデルデータに基づくメッシュ面との交点の座標（３次元座標）を算出し、算出した座標を切込ストロークＤＳを形成する頂点の３次元座標データとして３Ｄデータ格納部２６に格納する（ステップＳ９１０）。
【００７４】
次いで、２Ｄ／３Ｄモデリング部２２は、ステップＳ９１０にて取得された切込ストロークＤＳを形成する頂点の３次元座標データと３Ｄデータ格納部２６に格納されている３次元モデルデータとに基づいて、それまで３Ｄデータ格納部２６に格納されていた３次元モデルデータにより規定される３次元形状を切込ストロークＤＳに対応した箇所に切込ラインが形成されたものとしてリメッシュする（ステップＳ９２０）。こうして３次元モデルデータが更新されると、更新された３次元モデルデータは３Ｄデータ格納部２６に格納され、３Ｄ画像表示制御部２９は、３次元モデルデータに基づいて３次元画像３６を３Ｄ画像表示領域３３に表示させる（ステップＳ９３０）。また、２Ｄモデルデータ調整部２３は、ステップＳ９２０にて更新された３次元モデルデータに基づいて２次元モデルデータを調整し、調整・更新した２次元モデルデータを２Ｄデータ格納部２５に格納する（ステップＳ９４０）。実施例では、SHEFFERらによって提案された２次元展開手法（SHEFFER, A., LEVY, B., MOGILNITSKY, M., AND BOGOMYAKOV, A. 2005. ABF++: Fast and robust angle based flattening. ACM Transactions on Graphics, 24(2), 311・330. 参照）を用いて３次元モデルデータから２次元モデルデータを生成することとしている。そして、２Ｄ画像表示制御部２８によって２Ｄ画像表示領域３２への２次元モデルデータに基づく２次元パターン３４等の表示が実行されると（ステップＳ９５０）、本ルーチンが終了する。
【００７５】
ここまで説明したように、実施例の３次元形状展開用プログラムがインストールされたコンピュータ２０では、マウス５０やスタイラス６０等を介して３Ｄ画像表示領域３３に表示された３次元画像３６の外周上または内側に始点および終点を有すると共に外周の内側に含まれる切込ストロークＤＳが入力されると、２Ｄ／３Ｄモデリング部２２により切込ストロークＤＳに対応した箇所に切込ラインが形成されたものとして３次元モデルデータが更新され（ステップＳ９２０）、２Ｄモデルデータ調整部２３は、更新された３次元モデルデータに基づいて２次元モデルデータを調整する（ステップＳ９４０）。これにより、ユーザは、３Ｄ画像表示領域３３において３次元画像３６に切り込みを入れるように切込ストロークＤＳを入力することにより、２次元パターン３４に切込ストロークＤＳに対応した新たな接合ラインを追加して、それにより３次元形状を変化させることが可能となる。そして、切込ストロークＤＳの入力に伴い、図３２（ｂ）に示すように２次元パターン３４の外周から内側に向けて延びる接合ラインが形成されたような場合には、当該接合ラインを形成する各頂点のうち、２次元パターン３４の最も内側に位置する端点以外の全頂点が互いに重なり合った２つの頂点からなるものとして取り扱い、２Ｄ画像表示領域３２上で切込ストロークＤＳに対応した新たな接合ラインの頂点（可動頂点）を移動させることができるようにするとよい。これにより、図３２（ｃ）に示すように２Ｄ画像表示領域３２上で新たな接合ラインの頂点（可動頂点）を移動させて、図３２（ｄ）に示すように３次元形状をよりきめ細かく変化させることが可能となる。
【００７６】
なお、上述の実施例に係る３次元形状展開用プログラムは、１台のコンピュータ２０にインストールされるものとして説明されたが、これに限られるものではない。すなわち、３次元形状展開用プログラムは、３次元モデリングや３次元画像表示制御といった３次元データに関連した処理を実行するモジュールと２次元モデルデータの調整や２次元画像表示制御といった２次元データに関連した処理を実行するモジュールとに区分けされてもよく、これらのモジュールが互いに通信可能な２台のコンピュータに別々にインストールされてもよい。これにより、３次元形状のモデリングや２次元パターンの生成等における処理速度をより高速化することが可能となる。また、上記実施例は、コンピュータ２０に対して１台の表示装置３０が接続されると共に表示装置３０の表示画面３１に２Ｄ画像表示領域３２と３Ｄ画像表示領域３３とが表示されるものとして説明されたが、これに限られるものではない。すなわち、コンピュータ２０に対して２台の表示装置３０を接続し、一方の表示装置３０の表示画面３１に２Ｄ画像表示領域３２を表示させると共に他方の表示装置３０の表示画面３１に３Ｄ画像表示領域３３を表示させてもよい。
【００７７】
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、様々な変更をなし得ることはいうまでもない。
【産業上の利用可能性】
【００７８】
本発明は、情報処理分野において有用である。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施例に係る３次元展開用プログラムがインストールされた３次元形状展開装置としてのコンピュータ２０の概略構成図である。
【図２】表示装置３０の表示画面３１の表示例を示す説明図である。
【図３】実施例のコンピュータ２０において実行される基本ルーチンの一例を示すフローチャートである。
【図４】３Ｄ画像表示領域３３の表示例を示す説明図である。
【図５】コネクタ３５の設定手順を示す説明図である。
【図６】コネクタ３５の設定手順を示す説明図である。
【図７】２Ｄ画像表示領域３２の表示例を示す説明図である。
【図８】基本ルーチンのステップＳ１４０にて実行される３Ｄモデリングルーチンの一例を示すフローチャートである。
【図９】３ＤモデリングルーチンのステップＳ１４２およびＳ１４３を説明するための説明図である。
【図１０】３ＤモデリングルーチンのステップＳ１４４およびＳ１４５を説明するための説明図である。
【図１１】３Ｄモデリングルーチンが完了したときの３Ｄ画像表示領域３３の表示例を示す説明図である。
【図１２】基本ルーチンのステップＳ１５０にて実行される２Ｄモデルデータ調整ルーチンの一例を示すフローチャートである。
【図１３】２Ｄモデルデータ調整ルーチンのステップＳ１５４を説明するための説明図である。
【図１４】２Ｄモデルデータ調整ルーチンのステップＳ１５６を説明するための説明図である。
【図１５】（ａ），（ｂ），（ｃ）および（ｄ）は、２Ｄモデルデータの調整手順を説明するための説明図である。
【図１６】基本ルーチンの終了時における表示画面３１の表示例を示す説明図である。
【図１７】２Ｄ画像表示領域３２の表示例を示す説明図である。
【図１８】実施例のコンピュータ２０において実行される切断ルーチンの一例を示すフローチャートである。
【図１９】３Ｄ画像表示領域３３の表示例を示す説明図である。
【図２０】切断ルーチンのステップＳ３２０およびＳ３４０を説明するための説明図である。
【図２１】３Ｄ画像表示領域３３の表示例を示す説明図である。
【図２２】実施例のコンピュータ２０において実行されるパーツ追加ルーチンの一例を示すフローチャートである。
【図２３】（ａ），（ｂ），（ｃ），（ｄ）および（ｅ）は、パーツ追加ルーチンが実行されたときに３次元画像３６が変化する様子を例示する説明図である。
【図２４】パーツ追加ルーチンのステップＳ５５０を説明するための説明図である。
【図２５】３Ｄ画像表示領域３３の表示例を示す説明図である。
【図２６】実施例のコンピュータ２０において実行される３Ｄ引張ルーチンの一例を示すフローチャートである。
【図２７】３Ｄ引張ルーチンのステップＳ７１０を説明するための説明図である。
【図２８】３Ｄ引張ルーチンのステップＳ７５０を説明するための説明図である。
【図２９】（ａ），（ｂ），（ｃ）および（ｄ）は、３Ｄ引張ルーチンが実行されたときに３次元画像３６や２次元パターン３４が変化する様子を例示する説明図である。
【図３０】（ａ），（ｂ）および（ｃ）は、２Ｄ引張ルーチンが実行されたときに２次元パターン３４が変化する様子を例示する説明図である。
【図３１】実施例のコンピュータ２０において実行されるシーム追加ルーチンの一例を示すフローチャートである。
【図３２】（ａ），（ｂ），（ｃ）および（ｄ）は、シーム追加ルーチン等が実行されたときに３次元画像３６や２次元パターン３４が変化する様子を例示する説明図である。
【符号の説明】
【００８０】
２０  コンピュータ、２１  座標処理部、２１ａ  座標系設定部、２１ｂ  座標演算部、２２  ２Ｄ／３Ｄモデリング部、２３  ２Ｄモデルデータ調整部、２４  データ格納部、２５  ２Ｄデータ格納部、２６  ３Ｄデータ格納部、２７  コネクタ設定部、２８  ２Ｄ画像表示制御部、２９  ３Ｄ画像表示制御部、３０  表示装置、３１  表示画面、３２  ２Ｄ画像表示領域、３３  ３Ｄ画像表示領域、３３Ａ，３３Ｂ  サブウィンドウ、３４  ２次元パターン、３５  コネクタ、３６，３６Ａ、３６Ｂ  ３次元画像、３６ｓ  輪郭、３７  シームライン、４０  キーボード、５０  マウス、６０  スタイラス、７０  プリンタ、ＡＳ  追加ストローク、ＣＳ  分断ストローク、ＤＳ  切込ストローク、ＳＳ  輪郭ストローク、ＢＬ１，ＢＬ２  ベースライン。
【図３】
2009042811.tif 000009
【図４】
2009042811.tif 000010
【図５】
2009042811.tif 000011
【図６】
2009042811.tif 000012
【図７】
2009042811.tif 000013
【図８】
2009042811.tif 000014
【図９】
2009042811.tif 000015
【図１２】
2009042811.tif 000016
【図１５】
2009042811.tif 000017
【図１７】
2009042811.tif 000018
【図１８】
2009042811.tif 000019
【図２２】
2009042811.tif 000020
【図２６】
2009042811.tif 000021
【図３１】
2009042811.tif 000022
【図１】
2009042811.tif 000023
【図２】
2009042811.tif 000024
【図１０】
2009042811.tif 000025
【図１１】
2009042811.tif 000026
【図１３】
2009042811.tif 000027
【図１４】
2009042811.tif 000028
【図１６】
2009042811.tif 000029
【図１９】
2009042811.tif 000030
【図２０】
2009042811.tif 000031
【図２１】
2009042811.tif 000032
【図２３】
2009042811.tif 000033
【図２４】
2009042811.tif 000034
【図２５】
2009042811.tif 000035
【図２７】
2009042811.tif 000036
【図２８】
2009042811.tif 000037
【図２９】
2009042811.tif 000038
【図３０】
2009042811.tif 000039
【図３２】
2009042811.tif 000040