JP2009042811A - 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム - Google Patents
3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム Download PDFInfo
- Publication number
- JP2009042811A JP2009042811A JP2007204018A JP2007204018A JP2009042811A JP 2009042811 A JP2009042811 A JP 2009042811A JP 2007204018 A JP2007204018 A JP 2007204018A JP 2007204018 A JP2007204018 A JP 2007204018A JP 2009042811 A JP2009042811 A JP 2009042811A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- model data
- vertex
- dimensional model
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/021—Flattening
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】所望の3次元形状に精度よく対応した2次元パターンを容易に得る。
【解決手段】3次元形状展開用プログラムがインストールされた3次元形状展開装置としてのコンピュータ20は、マウス50等を介して入力された輪郭ストロークSSの2次元座標データを取得する座標処理部21と、2次元座標データに基づく2次元モデリングを実行して2次元パターンについての2次元モデルデータを生成すると共に、2次元モデルデータに基づく3次元モデリングを実行して2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する2D/3Dモデリング部22と、輪郭ストロークSSと3次元モデルデータにより規定される3次元形状の輪郭ストロークSSに対応した輪郭とが一致するように2次元モデルデータを調整する2Dモデルデータ調整部23とを含む。
【選択図】図1
【解決手段】3次元形状展開用プログラムがインストールされた3次元形状展開装置としてのコンピュータ20は、マウス50等を介して入力された輪郭ストロークSSの2次元座標データを取得する座標処理部21と、2次元座標データに基づく2次元モデリングを実行して2次元パターンについての2次元モデルデータを生成すると共に、2次元モデルデータに基づく3次元モデリングを実行して2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する2D/3Dモデリング部22と、輪郭ストロークSSと3次元モデルデータにより規定される3次元形状の輪郭ストロークSSに対応した輪郭とが一致するように2次元モデルデータを調整する2Dモデルデータ調整部23とを含む。
【選択図】図1
Description
本発明は、3次元形状を2次元に展開するための3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラムに関する。
従来から、3次元形状を2次元に展開して型紙や展開図といった2次元パターンを得ることには様々な分野において多くのニーズが存在している。そして、3次元モデリングソフトウェアを用いて構築された3次元形状のモデルからペーパークラフト用の展開図を作成する技術としては、三谷らにより提案されたもの(非特許文献1参照)や、Shatzらにより提案されたもの(非特許文献2参照)等が知られている。また、Juliusらは、3次元モデルを自動的に可展面になるように領域分割をしたのち2次元へ展開する手法(非特許文献3参照)を提案している。
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.
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から3に記載の技術を用いれば、3次元モデルを2次元に展開した2次元パターンを得ることができる。しかしながら、3次元グラフィックを用いて所望の3次元形状をモデル化すること自体、必ずしも容易ではない。また、構築した3次元モデルに基づいて作成した2次元パターンを立体化しても、得られた立体が本来望まれていた3次元形状とは異なることも多々あり、このような場合には、3次元モデルを再構築することが必要となってしまう。このため、所望の3次元形状に精度よく対応した2次元パターンを得るために、設計者の経験や勘に頼らざるを得ないのが現実である。
そこで、本発明による3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラムは、所望の3次元形状に精度よく対応した2次元パターンを容易に得ることを主目的とする。
本発明による3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラムは、上述の主目的を達成するために以下の手段を採っている。
本発明による3次元形状展開装置は、
3次元形状を2次元に展開するための3次元形状展開装置であって、
前記3次元形状の輪郭を入力するための入力手段と、
前記入力手段を介して入力された輪郭の2次元座標データを取得する座標取得手段と、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリング手段と、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリング手段と、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整手段と、
を備えるものである。
3次元形状を2次元に展開するための3次元形状展開装置であって、
前記3次元形状の輪郭を入力するための入力手段と、
前記入力手段を介して入力された輪郭の2次元座標データを取得する座標取得手段と、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリング手段と、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリング手段と、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整手段と、
を備えるものである。
この3次元形状展開装置を用いて3次元形状を2次元に展開して2次元パターンを得る際には、まず入力手段を介して所望の3次元形状の輪郭(外形線)を入力する。3次元形状の輪郭が入力されると、入力された輪郭の2次元座標データが座標取得手段により取得されると共に、2次元モデリング手段によって2次元座標データに基づく所定の2次元モデリングが実行され、当該2次元座標データにより規定される2次元パターンについての2次元モデルデータが生成される。更に、3次元モデリング手段によって2次元モデルデータに基づく所定の3次元モデリングが実行され、当該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータが生成される。ここで、2次元モデルデータにより規定される2次元パターンを膨らませる3次元モデリングを実行した場合、3次元モデルデータにより規定される3次元形状の上記入力された輪郭に対応した輪郭は基本的に内側に収縮する傾向にある。このため、この3次元形状展開装置では、入力された輪郭と3次元モデルデータにより規定される3次元形状の当該入力された輪郭に対応した輪郭とが一致するように2次元モデルデータ調整手段により2次元モデルデータが調整される。このように、入力手段を介して入力された輪郭に対応した2次元パターンについての2次元モデルデータと、当該2次元モデルデータに基づく3次元モデルデータとを生成した上で、入力された輪郭と3次元モデルデータにより規定される3次元形状の輪郭とが一致するように2次元モデルデータを調整すれば、所望の3次元形状に精度よく対応した2次元パターンを容易に得ることが可能となる。
また、上記3次元形状展開装置において、前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた2次元パターンを立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。
更に、前記2次元モデリング手段は、前記入力された輪郭の1つに対応して互いに表裏の関係をなす一対の2次元パターンについての2次元モデルデータを生成し、前記3次元モデリング手段は、前記一対の2次元パターンを互いに対応する外周同士を接合した状態で膨らませて得られる3次元形状の3次元モデルデータを生成するものであってもよい。このような3次元形状展開装置は、互いに接合された複数の2次元パターンの内部に所定の充填材や流体等を充填したぬいぐるみやバルーン等の設計に極めて有用である。
また、前記座標取得手段は、前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭を形成する頂点である仮頂点の所定の2次元座標系における2次元座標データを取得するものであってもよく、前記2次元モデルデータ調整手段は、前記仮頂点および前記入力された輪郭を形成する頂点である目標頂点の2次元座標データに基づいて、前記目標頂点と該目標頂点に対応した前記仮頂点とを結ぶベクトルの該仮頂点の法線方向への射影成分の長さを算出する射影成分長さ算出手段と、前記2次元モデルデータにより規定される2次元パターンの輪郭を形成する頂点である対象頂点を該対象頂点の法線方向に前記算出された射影成分の長さだけ移動させたときの前記対象頂点の座標を算出する座標算出手段とを含むものであってもよい。これにより、2次元パターンをより適正に変形させて3次元モデルデータにより規定される3次元形状の輪郭を入力された輪郭に近づけると共に、2次元モデルデータの調整に際しての演算負荷を低減することが可能となる。
更に、上記3次元形状展開装置は、前記射影成分の長さの全仮頂点についての総和と所定の閾値とを比較し、前記総和が前記閾値以下となったときに前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致したと判断する判定手段を更に備えてもよい。これにより、入力された輪郭と3次元モデルデータにより規定される3次元形状の輪郭とが一致したか否かの判定をより適正に実行することが可能となる。
また、前記2次元モデリング手段は、前記入力された輪郭の前記2次元座標データに基づいて該2次元座標データにより規定される2次元パターンをポリゴンメッシュによりメッシュ分割すると共に前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを前記2次元モデルデータとして出力するものであってもよい。
更に、前記3次元モデリング手段は、前記2次元モデルデータに基づいて前記ポリゴンメッシュの各エッジにより画成されるメッシュ面を該メッシュ面の法線方向における所定の移動制約および前記ポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで該法線方向かつ外方に移動させたときの前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを求め、求めた座標およびエッジ長さを前記3次元モデルデータとして出力するものであってもよい。これにより、2次元パターンに基づく3次元形状の極端な膨張が抑制されるように3次元モデルデータをより適正に生成可能となる。
この場合、前記所定の移動制約は、メッシュ面fの面積をA(f)とし、メッシュ面fの法線ベクトルをn(f)とし、ある頂点Viを含むメッシュ面の集合をNiとしたときに、頂点Viの移動量Δdfを次式(1)に従って設定する制約であり(ただし、αは所定の係数である。)、前記所定の伸縮制約は、ある頂点Viとエッジを介して結ばれる頂点をVjとし、頂点Viと頂点Vjとを結ぶエッジをeijとし、頂点Viと交わるエッジeijの集合をEijとし、エッジeijの左側に位置する面の面積をA(e.leftface)とし、エッジeijの右側に位置する面の面積をA(e.rightface)とし、エッジeijから頂点Vi,Vjに加えられる引張力をtijとしたときに、前記頂点Viの移動量Δdeを次式(2)に従って設定する制約であり(ただし、βは所定の係数であり、引張力tijは次式(3)のとおりであり、式(3)におけるlijはもとのエッジ長さである。)、前記3次元モデリング手段は、全頂点Viを式(1)から定まる移動量Δdfだけ移動させた後、移動後の全頂点Viを更に式(2)から定まる移動量Δdeだけ少なくとも1回移動させたときの3次元座標データを算出するものであってもよい。これにより、2次元パターンを膨らませる3次元モデリングをより適正なものとすると共に、係数αおよびβを適宜設定することにより2次元パターンを構成する素材の選択の自由度を高めることが可能となる。
そして、上記3次元形状展開装置は、画面上に3次元画像を表示可能な3次元画像表示手段と、画面上に2次元画像を表示可能な2次元画像表示手段と、前記3次元モデルデータに基づいて該3次元モデルデータにより規定される3次元形状を示す3次元画像が前記画面に表示されるように前記3次元画像表示手段を制御する3次元画像表示制御手段と、前記2次元モデリング手段により生成された2次元モデルデータまたは前記2次元モデルデータ調整手段により調整された2次元モデルデータに基づいて該2次元モデルデータにより規定される2次元パターンを示す2次元画像が前記画面に表示されるように前記2次元画像表示手段を制御する2次元画像表示制御手段とを更に備えてもよい。これにより、この3次元形状展開装置では、2次元画像表示手段の画面上に2次元モデルデータに基づく2次元パターンが表示されると共に、3次元画像表示手段の画面上に3次元モデルデータに基づく3次元形状が表示されることから、ユーザは、2次元および3次元画像表示手段の画面を参照しながら所望の3次元形状に対応した2次元パターンを設計することが可能となる。
また、前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周と2点で交差すると共に該3次元画像を分断する分断ストロークが入力されたときに、前記3次元モデルデータにより規定される3次元形状が前記分断ストロークを所定方向にスイープして得られる可展面により該可展面の一側の領域を残すと共に該可展面の他側の領域を消去するようにカットされたものとして前記3次元モデルデータを生成するものであってもよく、前記2次元モデルデータ調整手段は、前記生成された3次元モデルデータに基づいて前記可展面の一側の領域に対応するように前記2次元モデルデータを調整するものであってもよい。
この3次元形状展開装置では、入力手段を介して3次元画像表示手段の画面上に表示された3次元画像の外周と2点で交差すると共に当該3次元画像を分断する分断ストロークが入力されると、3次元モデルデータにより規定される3次元形状が分断ストロークを所定方向にスイープして得られる可展面により当該可展面の一側の領域を残すと共に当該可展面の他側の領域を消去するようにカットされたものとして3次元モデルデータが生成される。そして、分断ストロークの入力に応じて3次元モデルデータが生成されると、2次元モデルデータ調整手段は、生成された3次元モデルデータに基づいて3次元形状の可展面よりも一側の領域に対応するように2次元モデルデータを調整する。これにより、この3次元形状展開装置では、3次元画像表示手段の画面上で3次元画像をカットするように分断ストロークを入力することにより比較的複雑な3次元形状に対応した2次元パターンを得ることが可能となる。
この場合、前記可展面の一側の領域に対応するように調整された2次元モデルデータに基づいて、該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するものであってもよく、前記入力された分断ストロークと、前記3次元モデルデータにより規定される3次元形状の前記分断ストロークに対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた2次元パターンを立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。
更に、本発明による3次元形状展開装置において、前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に前記外周の外側に突出する追加ストロークが入力されたときに、前記追加ストロークの入力により該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして該ベースラインに対応するように前記3次元モデルデータを生成するものであってもよく、前記座標取得手段は、前記追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の2次元座標系における前記追加ストロークを形成する頂点の2次元座標データを取得すると共に前記ベースラインを形成する頂点を前記仮想平面に投影して得られる2次元座標データを取得するものであってもよく、前記2次元モデルデータ調整手段は、前記追加ストロークを形成する頂点および前記ベースラインを形成する頂点の2次元座標データに基づいて前記追加ストロークと前記ベースラインとに対応するように前記2次元モデルデータを調整するものであってもよい。
この3次元形状展開装置では、入力手段を介して3次元画像表示手段の画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に当該外周の外側に突出する追加ストロークが入力されると、追加ストロークの入力により当該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして3次元モデリング手段によって当該ベースラインに対応するように3次元モデルデータが更新される。また、座標取得手段は、追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の2次元座標系における追加ストロークを形成する頂点の2次元座標データと、ベースラインを形成する頂点を当該仮想平面に投影して得られる2次元座標データとを取得する。そして、2次元モデルデータ調整手段は、追加ストロークを形成する頂点およびベースラインを形成する頂点の2次元座標データに基づいて追加ストロークとベースラインとに対応するように2次元モデルデータを調整する。これにより、この3次元形状展開装置では、3次元画像表示手段の画面上で3次元画像から突出するように追加ストロークを入力することにより、突部が追加されたより複雑な3次元形状に対応した2次元パターンを得ることができる。
この場合、前記ベースラインは、前記3次元形状の表面と前記仮想平面との交線に含まれて前記追加ストロークの前記始点から前記終点まで延びるラインであってもよい。これにより、もとの3次元形状に対して追加ストロークとベースラインとに対応した輪郭をもった膨らんだパーツをベースライン上でもとの3次元形状に接続するように追加すると共に、当該パーツに対応した2次元パターンを得ることが可能となる。
また、前記ベースラインは、前記追加ストロークの前記始点および終点を含むと共に所定の面形状を画成する閉じたラインであってもよい。これにより、閉じたラインに対応した開口を介してもとの3次元形状に接続されるパーツを追加すると共に、当該パーツに対応した2次元パターンを得ることが可能となる。
そして、これらの3次元形状展開装置において、前記3次元モデリング手段は、前記追加ストロークと前記ベースラインとに対応するように調整された2次元モデルデータに基づいて、該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するものであってもよく、前記入力された追加ストロークと前記3次元モデルデータにより規定される3次元形状の前記追加ストロークに対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行されてもよい。これにより、得られた2次元パターンを立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。
更に、本発明による3次元形状展開装置は、前記3次元画像表示手段の前記画面上で前記2次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点を移動させるための3次元画像操作手段を更に備えてもよく、前記座標取得手段は、前記3次元画像操作手段を介して前記3次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、該可動頂点とそれを含む前記シームラインとに基づく所定の仮想平面に対して設定される所定の2次元座標系における前記可動頂点の2次元座標データを取得するものであってもよく、前記2次元モデルデータ調整手段は、前記2次元座標データに基づいて前記可動頂点の前記仮想平面上での移動量を算出すると共に、前記可動頂点に対応した前記接合ラインを形成する頂点が該頂点の法線方向に前記算出された移動量だけ移動したものとして前記2次元モデルデータを調整するものであってもよく、前記3次元モデリング手段は、前記調整された2次元モデルデータに基づいて前記3次元モデルデータを更新するものであってもよい。
この3次元形状展開装置では、3次元画像操作手段を介して3次元画像表示手段の画面上で2次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点が移動されると、座標取得手段が当該可動頂点とそれを含むシームラインとに基づく所定の仮想平面に対して設定される所定の2次元座標系における可動頂点の2次元座標データを取得する。また、2次元モデルデータ調整手段は、2次元座標データに基づいて可動頂点の仮想平面上での移動量を算出すると共に、可動頂点に対応した接合ラインを形成する頂点が当該頂点の法線方向に算出された移動量だけ移動したものとして2次元モデルデータを調整し、3次元モデリング手段は、調整された2次元モデルデータに基づいて3次元モデルデータを更新する。これにより、この3次元形状展開装置では、3次元画像表示手段の画面上で可動頂点を移動させることにより、3次元形状を所望の形状に近づくように修正すると共に、修正された3次元形状に対応した2次元パターンを得ることが可能となる。
また、本発明による3次元形状展開装置は、前記2次元画像表示手段の前記画面上で前記2次元パターンの外周を形成する頂点である可動頂点を移動させるための2次元画像操作手段を更に備えてもよく、前記座標取得手段は、前記2次元画像操作手段を介して前記2次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、所定の2次元座標系における前記可動頂点の2次元座標データを取得するものであってもよく、前記2次元モデルデータ調整手段は、前記可動頂点がもとの位置から前記取得された2次元座標データに基づく位置まで移動したものとして前記2次元モデルデータを調整するものであってもよく、前記3次元モデリング手段は、前記調整された2次元モデルデータに基づいて前記3次元モデルデータを更新するものであってもよい。
この3次元形状展開装置では、2次元画像操作手段を介して2次元画像表示手段の画面上で2次元パターンの外周を形成する頂点である可動頂点が移動されると、座標取得手段が所定の2次元座標系における可動頂点の2次元座標データを取得する。また、2次元モデルデータ調整手段は、可動頂点がもとの位置から取得された2次元座標データに基づく位置まで移動したものとして2次元モデルデータを調整し、3次元モデリング手段は、調整された2次元モデルデータに基づいて3次元モデルデータを更新する。これにより、この3次元形状展開装置では、2次元画像表示手段の画面上で可動頂点を移動させることにより、3次元形状を所望の形状に近づくように修正すると共に、修正された3次元形状に対応した2次元パターンを得ることが可能となる。
更に、本発明による3次元形状展開装置において、前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に前記外周の内側に含まれる切込ストロークが入力されたときに、前記切込ストロークに対応した箇所に切込ラインが形成されたものとして前記3次元モデルデータを更新するものであってもよく、前記2次元モデルデータ調整手段は、前記更新された3次元モデルデータに基づいて前記2次元モデルデータを調整するものであってもよい。
この3次元形状展開装置では、3次元画像表示手段の画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に当該外周の内側に含まれる切込ストロークが入力されると、3次元モデリング手段により切込ストロークに対応した箇所に切込ラインが形成されたものとして3次元モデルデータが更新され、2次元モデルデータ調整手段は、更新された3次元モデルデータに基づいて2次元モデルデータを調整する。これにより、この3次元形状展開装置では、3次元画像表示手段の画面上で3次元画像に切り込みを入れるように切込ストロークを入力することにより、2次元パターンに対して新たな接合ラインを追加して、それにより3次元形状を変化させることが可能となる。この場合、3次元形状展開装置が2次元画像表示手段の画面上で可動頂点を移動させる2次元画像操作手段を備えていれば、3次元形状をよりきめ細かく変化させることができる。
本発明による3次元形状展開方法は、
3次元形状を2次元に展開するための3次元形状展開方法であって、
(a)前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得するステップと、
(b)前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成するステップと、
(c)前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するステップと、
(d)ステップ(a)にて入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整するステップと、
を含むものである。
3次元形状を2次元に展開するための3次元形状展開方法であって、
(a)前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得するステップと、
(b)前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成するステップと、
(c)前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するステップと、
(d)ステップ(a)にて入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整するステップと、
を含むものである。
この方法によれば、入力手段を介して入力された輪郭に対応した2次元パターンについての2次元モデルデータと、当該2次元モデルデータに基づく3次元モデルデータとを生成した上で、入力された輪郭と3次元モデルデータにより規定される3次元形状の輪郭とが一致するように2次元モデルデータを調整することから、所望の3次元形状に精度よく対応した2次元パターンを容易に得ることが可能となる。
また、本発明による3次元形状展開方法は、前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、ステップ(d)と、(e)ステップ(d)にて調整された2次元モデルデータに基づいて前記3次元モデルデータを更新するステップとを繰り返し実行するものであってもよい。
本発明による3次元形状展開用プログラムは、
3次元形状を2次元に展開する3次元形状展開装置としてコンピュータを機能させるための3次元形状展開用プログラムであって、
前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得する座標取得モジュールと、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリングモジュールと、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを外方に膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリングモジュールと、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整モジュールと、
を備えるものである。
3次元形状を2次元に展開する3次元形状展開装置としてコンピュータを機能させるための3次元形状展開用プログラムであって、
前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得する座標取得モジュールと、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリングモジュールと、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを外方に膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリングモジュールと、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整モジュールと、
を備えるものである。
このプログラムをインストールしたコンピュータは、入力手段を介して入力された輪郭に対応した2次元パターンについての2次元モデルデータと、当該2次元モデルデータに基づく3次元モデルデータとを生成した上で、入力された輪郭と3次元モデルデータにより規定される3次元形状の輪郭とが一致するように2次元モデルデータを調整することから、当該コンピュータを用いることにより、所望の3次元形状に精度よく対応した2次元パターンを容易に得ることが可能となる。
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
図1は、本発明の実施例に係る3次元形状展開装置としてのコンピュータ20の概略構成図である。同図に示すように、実施例のコンピュータ20は、図示しないCPU,ROM,RAM、グラフィックプロセッサ(GPU)、システムバス、各種インターフェース、記憶装置(ハードディスクドライブ)、外部記憶装置等を含む汎用のコンピュータとして構成されており、液晶ディスプレイ等の表示装置30、入力装置としてのキーボード40やマウス50、更には、プリンタ70等と接続されて使用される。なお、実施例の表示装置30は、スタイラス60により指定された表示画面31上の絶対座標を検出可能なタブレットを含む、いわゆる液晶タブレットとして構成されている。そして、このコンピュータ20には、ユーザが所望する3次元形状を2次元に展開して当該3次元形状に対応した2次元パターンを提供する3次元形状展開用プログラムがインストールされている。この3次元形状展開用プログラムは、3次元形状のモデリングと2次元パターンの生成(シミュレーション)とを並行して実行することにより、結果として得られる2次元パターンとユーザが所望する3次元形状とを精度よく対応させることができるものであり、互いに接合された複数の2次元パターンの内部に所定の充填材や気体等を充填したぬいぐるみやバルーン等の設計に極めて有用なものである。なお、以下の説明において、適宜「2次元」を「2D」といい、「3次元」を「3D」という。
コンピュータ20において3次元形状展開用プログラムが起動されると、表示装置30の表示画面31には、図1に示すように、2D画像表示領域32と3D画像表示領域33とが表示される。そして、コンピュータ20のユーザがマウス50やスタイラス60あるいはキーボード40を用いて3D画像表示領域33に対して所望の3次元形状の輪郭を示す輪郭ストロークSSを入力すると、2D画像表示領域32には、輪郭ストロークSSに対応した複数の2次元パターン34と共に複数の2次元パターン34の外周同士の対応関係を示すコネクタ35とが表示され、3D画像表示領域33には、輪郭ストロークSSに対応した3次元画像36が表示されることになる。また、コンピュータ20のユーザは、マウス50やスタイラス60を用いて3D画像表示領域33上で3次元画像36をカットするように分断ストロークCS(図1における一点鎖線参照)を入力したり、3次元画像36から突出するように追加ストロークAS(図1における二点鎖線参照)を入力したりすることにより、図2に示すように、3次元形状をより複雑化すると共に当該3次元形状に対応した2次元パターン34を得ることができる。更に、3次元形状が複雑化するにつれて、3D画像表示領域33に表示される3次元画像36には、図2に示すように、2次元パターン同士の接合ラインに対応したシームライン37が含まれることになる。そして、コンピュータ20のユーザは、マウス50やスタイラス60を用いて3D画像表示領域33に表示されるシームライン37や、2D画像表示領域32に表示される2次元パターン34の外周(輪郭)をドラッグして変形させることにより、3次元形状を所望の形状に近づくように修正すると共に修正された3次元形状に対応した2次元パターンを得ることができる。加えて、コンピュータ20のユーザは、3D画像表示領域33に表示される3次元画像36に切り込みを入れるように切込ストロークを入力することにより、2次元パターン34に対して新たな接合ラインを追加して、それにより3次元形状を変化させることもできる。このような処理を実行して、例えば図2に示すような複数の2次元パターン34を得た後、2D画像表示領域32に表示された複数の2次元パターン34をプリンタ70によりプリントアウトすれば、出力結果を型紙として用いて、ぬいぐるみやバルーン等を作成することが可能となる。なお、実施例では、2D画像表示領域32に対しては、図2に示すようなX−Y座標系が絶対座標系として設定されており、3D画像表示領域33には、同様に図2に示すようなX−Y−Z座標系が絶対座標系として設定されている。
図1に示すように、3次元形状展開用プログラムが起動されると、コンピュータ20には、CPUやROM,RAM,GPU、各種インターフェース、記憶装置といったハードウエアと、インストールされた3次元形状展開用プログラムとの一方または双方の協働により、座標処理部21や、2D/3Dモデリング部22、2Dモデルデータ調整部23、データ格納部24、コネクタ設定部27、2D画像表示制御部28、3D画像表示制御部29等が機能ブロックとして構築される。座標処理部21は、2次元パターン34や3次元画像36、各種ストロークに関連した座標を処理するものであり、座標系設定部21aと座標演算部21bとを含む。座標系設定部21aは、3D画像表示領域33に対してストロークが入力されたり、2Dまたは3D画像表示領域32または33において2次元パターン34または3次元画像36を編集するための操作が実行されたりすると、入力されたストロークを形成する各頂点の座標等を算出する際に基準とすべき座標系を設定する。また、座標演算部21bは、座標系設定部21aにより設定された座標系に基づいて入力されたストロークを形成する各頂点の座標等を算出する。2D/3Dモデリング部22は、基本的に周知のメッシュモデリングを実行するものであり、2次元座標データに基づく2次元メッシュモデリングと、3次元座標データに基づく3次元メッシュモデリングとの双方を実行可能である。2Dモデルデータ調整部23は、主に、ユーザにより入力された輪郭ストロークSS、分断ストロークCSあるいは追加ストロークASと3次元モデルデータにより規定される3次元形状の輪郭ストロークSS等に対応した輪郭とが一致するように2次元モデルデータを調整する。データ格納部24は、2Dデータ格納部25と3Dデータ格納部26とを含む。2Dデータ格納部25には、座標処理部21により取得(算出)された2次元座標データや、2D/3Dモデリング部22により2次元メッシュモデリングの結果として出力される2次元モデルデータ、2Dモデルデータ調整部23により調整された2次元モデルデータ等が格納され、3Dデータ格納部26には、座標処理部21により取得(算出)された3次元座標データや、2D/3Dモデリング部22により3次元メッシュモデリングの結果として出力される3次元モデルデータ等が格納される。コネクタ設定部27は、2次元パターン34の外周(接合ライン)同士の対応関係を示すコネクタ35に関する情報を設定する。2D画像表示制御部28は、2次元モデルデータに基づいて2次元パターン34を2D画像表示領域32に表示させる。3D画像表示制御部29は、3次元モデルデータや3D画像表示領域33でのユーザによる画像操作に基づいて周知のレンダリング処理を実行して所定のテクスチャが付与された3次元画像36を3D画像表示領域33に表示させる。
そして、3次元形状展開用プログラムが起動されている最中にコンピュータ20により実行されるルーチンには、ユーザが3D画像表示領域33上で輪郭ストロークSSを入力したときに実行される基本ルーチン、ユーザが3D画像表示領域33上で分断ストロークCSを入力したときに実行される切断ルーチン、ユーザが3D画像表示領域33上で追加ストロークASを入力したときに実行されるパーツ追加ルーチン、ユーザがシームライン37や2次元パターン34の外周をドラッグして変形させたときに実行される3D引張ルーチンや2D引張ルーチン、ユーザが3D画像表示領域33上で切込ストロークDSを入力したときに実行されるシーム追加ルーチン等が含まれる。以下、これらのルーチンについて順番に説明する。
〔基本ルーチン〕
図3は、実施例のコンピュータ20において実行される基本ルーチンの一例を示すフローチャートである。かかる基本ルーチンは、3次元形状展開用プログラムが起動されて表示装置30の表示画面31に2D画像表示領域32および3D画像表示領域33が表示され、図4に示すように、コンピュータ20のユーザが3D画像表示領域33上で所望の3次元形状の輪郭を示す輪郭ストロークSSを入力したときに実行されるものである。なお、実施例では、ストロークの自己交差による演算の発散を防止すべく、図4に示すように、別個の始点および終点を有する(閉じていない)輪郭ストロークSSが入力されたときにのみ、図3の基本ルーチンが実行される。図3の基本ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている3次元絶対座標系(ピクセル単位の座標系、図2参照)のX−Y座標系に基づく輪郭ストロークSSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば輪郭ストロークSSの始点から終点までの所定間隔おきの点のX−Y座標を輪郭ストロークSSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS100)。なお、実施例では、輪郭ストロークSSは別個の始点および終点を有する(閉じていない)単一のストロークであることから、当該始点および終点を例えば直線で結ぶことにより輪郭ストロークSSを閉じたストロークとして取り扱うこととした。こうして輪郭ストロークSSを形成する頂点の2次元座標データが取得されると、2D/3Dモデリング部22により、当該2次元座標データに基づく2次元メッシュモデリングが実行される(ステップS110)。ステップS110における2次元メッシュモデリングは、ステップS100にて取得された輪郭ストロークSSを形成する頂点の2次元座標データに基づいて当該2次元座標データにより規定される2次元パターンをポリゴンメッシュ(実施例では、三角形メッシュ)によりメッシュ分割すると共に全ポリゴンメッシュの頂点のX−Y座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報を2次元モデルデータとして出力するものである。ここで、輪郭ストロークSSに対応した2次元パターンは、ぬいぐるみやバルーンの型紙となるべきものであるから、ステップS110において、2D/3Dモデリング部22は、1本の輪郭ストロークSSに対して互いに表裏の関係をなす左右対称の一対の2次元パターンについての2次元モデルデータを生成する。また、全ポリゴンメッシュの頂点のうち、2次元パターン34の外周(接合ライン)を形成する頂点の2次元モデルデータに対しては、外周を形成する旨を示す識別子が属性として付与されると共に、接合ラインの端点(ここでは、輪郭ストロークSSの始点および終点)となる頂点のデータには、端点であることを示す識別子が属性として付与される。こうして2D/3Dモデリング部22により出力される2次元モデルデータは、2Dデータ格納部25に格納される。また、2D/3Dモデリング部22は、輪郭ストロークSSと概ね同一の輪郭を有する2次元パターンについての2次元モデルデータの座標データに対してZ座標として値0を付与することにより3次元モデルデータを生成し、こうして生成される3次元モデルデータは、3Dデータ格納部26に格納される。
図3は、実施例のコンピュータ20において実行される基本ルーチンの一例を示すフローチャートである。かかる基本ルーチンは、3次元形状展開用プログラムが起動されて表示装置30の表示画面31に2D画像表示領域32および3D画像表示領域33が表示され、図4に示すように、コンピュータ20のユーザが3D画像表示領域33上で所望の3次元形状の輪郭を示す輪郭ストロークSSを入力したときに実行されるものである。なお、実施例では、ストロークの自己交差による演算の発散を防止すべく、図4に示すように、別個の始点および終点を有する(閉じていない)輪郭ストロークSSが入力されたときにのみ、図3の基本ルーチンが実行される。図3の基本ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている3次元絶対座標系(ピクセル単位の座標系、図2参照)のX−Y座標系に基づく輪郭ストロークSSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば輪郭ストロークSSの始点から終点までの所定間隔おきの点のX−Y座標を輪郭ストロークSSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS100)。なお、実施例では、輪郭ストロークSSは別個の始点および終点を有する(閉じていない)単一のストロークであることから、当該始点および終点を例えば直線で結ぶことにより輪郭ストロークSSを閉じたストロークとして取り扱うこととした。こうして輪郭ストロークSSを形成する頂点の2次元座標データが取得されると、2D/3Dモデリング部22により、当該2次元座標データに基づく2次元メッシュモデリングが実行される(ステップS110)。ステップS110における2次元メッシュモデリングは、ステップS100にて取得された輪郭ストロークSSを形成する頂点の2次元座標データに基づいて当該2次元座標データにより規定される2次元パターンをポリゴンメッシュ(実施例では、三角形メッシュ)によりメッシュ分割すると共に全ポリゴンメッシュの頂点のX−Y座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報を2次元モデルデータとして出力するものである。ここで、輪郭ストロークSSに対応した2次元パターンは、ぬいぐるみやバルーンの型紙となるべきものであるから、ステップS110において、2D/3Dモデリング部22は、1本の輪郭ストロークSSに対して互いに表裏の関係をなす左右対称の一対の2次元パターンについての2次元モデルデータを生成する。また、全ポリゴンメッシュの頂点のうち、2次元パターン34の外周(接合ライン)を形成する頂点の2次元モデルデータに対しては、外周を形成する旨を示す識別子が属性として付与されると共に、接合ラインの端点(ここでは、輪郭ストロークSSの始点および終点)となる頂点のデータには、端点であることを示す識別子が属性として付与される。こうして2D/3Dモデリング部22により出力される2次元モデルデータは、2Dデータ格納部25に格納される。また、2D/3Dモデリング部22は、輪郭ストロークSSと概ね同一の輪郭を有する2次元パターンについての2次元モデルデータの座標データに対してZ座標として値0を付与することにより3次元モデルデータを生成し、こうして生成される3次元モデルデータは、3Dデータ格納部26に格納される。
次いで、コネクタ設定部27により、2次元パターン34の外周すなわち接合ライン同士の対応関係を示すコネクタ35に関する情報が設定される(ステップS120)。ここで、輪郭ストロークSSの入力に応じて生成される2次元モデルデータは、上述のように左右対称の一対の2次元パターンについてのものであるから、図5に示すように、当該一対の2次元パターン同士を重ね合わせたときに互いに対をなすエッジ同士を対応付けするようにコネクタ35を設定することが可能である。ただし、このように互いに対をなすエッジ同士のすべてにコネクタ35を付与すれば、多数のコネクタ35が2D画像表示領域32に表示されてしまい、視覚的に煩雑となると共に却って接合ライン同士の対応関係が不明確となってしまう。このため、実施例では、より適正にコネクタ35を設定すべく、ステップS120において次のような処理が実行される。すなわち、ステップS120では、まず、一方の2次元パターンの外周(接合ライン)の端点P0を始点とした1つのエッジe1と、それに対応した他方の2次元パターンの端点P0′を始点としたエッジe1′とを抽出する。更に、一方の2次元パターンのエッジe1に隣接するエッジと、それらに対応した他方の2次元パターンのエッジとをすべて抽出した上で、エッジe1と隣り合うエッジに対応した他方の2次元パターンのエッジがエッジe1′に隣接しているか否かを判定する。そして、図示するようにエッジe2′がエッジe1′に隣接していると判断されると、一方の2次元パターンのエッジe1およびe2と、他方の2次元パターンのエッジe1′およびe2′とがそれぞれ1つのエッジであるとみなされ、エッジe1およびe2が共有する頂点P1と、エッジe1′およびe2′が共有する頂点P1′とがコネクタにより結ばれる旨を示す属性が頂点P1およびP1′についての2次元モデルデータに付与される。そして、ステップS120では、以後、他方の端点に到達するまで、このような処理が互いに隣接し合うエッジ同士について順次実行され、図6に示すように、最終的に1本の輪郭ストロークSSに対して2本のコネクタ35が設定される。また、実施例では、2D画像表示領域32に表示された際にコネクタ35同士が近接し過ぎないようにコネクタ35により結ばれる旨を示す属性を付与する頂点が適宜調整される。
上述のステップS100からS120の処理が完了すると、2D画像表示制御部28は、2次元モデルデータに基づいて2次元パターン34やコネクタ35等を互いに重なり合わないように2D画像表示領域32に表示させ、3D画像表示制御部29は、3次元モデルデータに基づいてレンダリング処理を実行し、3次元画像36を3D画像表示領域33に表示させる(ステップS130)。実施例において、2D画像表示領域32には、図7に示すように、入力された輪郭ストロークSSと概ね合致する輪郭をもった左右一対の2次元パターン34と、2次元パターン34の接合ライン同士の対応関係を示すコネクタ35と、接合ラインの端点Peとが表示される。また、3D画像表示領域33には、図4において二点鎖線で示すように、入力された輪郭ストロークSSと概ね合致する輪郭を有すると共に所定のテクスチャ(図4では図示省略)が付与された3次元画像36が表示される。ここで、上述のように、ステップS110において生成される3次元モデルデータは、ポリゴンメッシュの各頂点のZ座標を値0とした実質的に2次元モデリングを経て生成される2次元モデルデータと同一のものであることから、ステップS130にて3D画像表示領域33に表示される3次元画像36に付与されるテクスチャは、立体感や陰影等を示さない平面的なものとなる。なお、ステップS100からS120の処理は、高速に実行可能なものであり、ユーザが3D画像表示領域33上で輪郭ストロークSSを入力してから極めて短時間のうちに2次元パターン34が2D画像表示領域32に表示され、3次元画像36が3D画像表示領域33に表示されることになる。
続いて、2D/3Dモデリング部22により、ステップS110にて生成された3次元モデルデータ(実質的には、輪郭ストロークSSと概ね同一の輪郭を有する2次元パターンについての2次元モデルデータ)に基づいて、ステップS110にて生成された2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するための3次元モデリング(物理シミュレーション)が実行される(ステップS140)。ステップS140における3次元モデリングは、輪郭ストロークSSと概ね同一の輪郭を有する2次元パターンに対して付与されたポリゴンメッシュの各エッジにより画成されるメッシュ面をその法線方向における所定の移動制約およびポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで当該法線方向かつ外方に移動させたときのポリゴンメッシュの頂点の3次元座標や一対の頂点間のエッジ長さ等を求め、求めた座標やエッジ長さ等を3次元モデルデータとして出力するものである。
かかる3次元モデリングについて図8を参照しながら説明すると、2D/3Dモデリング部22は、まず3Dデータ格納部26に格納されている3次元モデルデータを入力する(ステップS141)。そして、2D/3Dモデリング部22は、入力した3次元モデルデータに基づいて、ポリゴンメッシュの全頂点について上記移動制約のもとでの移動量Δdfを算出する(ステップS142)。ステップS142の処理は、図9に示すように、2次元パターン34同士を接合ラインにて互いに接合して内部に充填材や気体等を充填したことにより各メッシュ面がそれぞれの法線方向に移動したとの仮定のもと、ポリゴンメッシュの各頂点の移動量Δdfを求めるものである。この場合、ある頂点Viの移動量Δdfは、メッシュ面fの面積をA(f)とし、メッシュ面fの法線ベクトルをn(f)とし、ある頂点Viを含むメッシュ面の集合をNiとすれば、上記式(1)により表される。なお、実施例では、2次元パターンを構成する素材の特性を考慮した上で式(1)における係数αを値0.02としている。ステップS142にて各頂点の移動量Δdfを算出したならば、2D/3Dモデリング部22は、ステップS141にて入力した3次元モデルデータと各頂点の移動量Δdfとに基づいて、ポリゴンメッシュの各頂点をそれぞれの法線方向に移動量Δdfだけ移動させたときの各頂点の3次元座標やエッジに関する情報からなる3次元モデルデータを算出し、3Dデータ格納部26に格納する(ステップS143)。
更に、2D/3Dモデリング部22は、ステップS143にて算出された3次元モデルデータに基づいて、ポリゴンメッシュの全頂点について上記伸縮制約のもとでの移動量Δdeを算出する(ステップS144)。ステップS144の処理は、図10に示すように、Desbrunらによって提案されている手法(DESBRUN, M., SCHRODER, P., AND BARR, A. 1999. Interactive animation of structured deformable objects. In Proceedings of Graphics Interface 1999, 1・8. 参照)を用いて、ぬいぐるみやバルーンを作成する際に2次元パターンを構成する素材の過度の伸長が規制されると共に収縮が許容されるとの仮定のもと、ある頂点Viが周囲のエッジにより引っ張られて外方への移動が規制されるとした場合のポリゴンメッシュの各頂点の移動量Δdeを求めるものである。この場合、ある頂点Viの移動量Δdeは、頂点Viとエッジを介して結ばれる頂点をVjとし、頂点Viと頂点Vjとを結ぶエッジをeijとし、頂点Viと交わるエッジeijの集合をEijとし、エッジeijの左側に位置する面の面積をA(e.leftface)とし、エッジeijの右側に位置する面の面積をA(e.rightface)とし、エッジeijから頂点Vi,Vjに加えられる引張力をtijとすれば、上記式(2)により表される。また、引張力tijは上記式(3)のとおりであり、実施例では、式(3)からわかるように、エッジが伸長する場合にのみ頂点Viの外方への移動を規制するようにエッジeijから頂点Viに引張力tijが作用することとし、エッジが収縮する場合には引張力tijを値0としている。なお、式(3)におけるlijはもとのエッジ長さであり、実施例では、2次元パターンを構成する素材の特性を考慮した上で式(2)における係数βを値1としている。ステップS144にて各頂点の移動量Δdeを算出したならば、2D/3Dモデリング部22は、ステップS143にて算出した3次元モデルデータと各頂点の移動量Δdeとに基づいて、ポリゴンメッシュの各頂点をそれぞれの法線方向に移動量Δdfだけ移動させたときの各頂点の3次元座標やエッジに関する情報等からなる3次元モデルデータを算出し、3Dデータ格納部26に格納する(ステップS145)。ステップS145の処理が完了すると、3D画像表示制御部29は、ステップS145にて算出された3次元モデルデータに基づいて3次元画像36を3D画像表示領域33に表示させる(ステップS146)。そして、2D/3Dモデリング部22は、所定の収束条件が成立しているか否かを判定し(ステップS147)、収束条件が成立していなければ、再度ステップS141以降の処理を実行する。なお、実施例では、ステップS141からS146までの一連の処理が30サイクル(およそ2秒間)実行されると収束条件が成立することとしており、ステップS147にて肯定判断がなされると、ステップS140の3次元モデリングが完了する。なお、ステップS140の3次元モデリングにより生成される3次元モデルデータにより規定される3次元形状が極端に膨らんだものとならないように、ステップS143の処理を実行した後、ステップS144およびS145の処理を複数回(例えば10回)繰り返し実行してもよい。
ステップS140の処理が完了したときの3D画像表示領域33の表示例を図11に示す。ステップS140における3次元モデリングは、輪郭ストロークSSと概ね合致する輪郭をもった2次元パターン34をユーザの視線方向(図中Z方向)に膨らませるものであるから、図11に示すように、ステップS140の処理の完了時に3D画像表示領域33に表示される輪郭ストロークSSに対応した3次元画像36の輪郭36sは、ステップS100にて入力された輪郭ストロークSS(同図における二点鎖線参照)とは一致せず、基本的に輪郭ストロークSSの内側に収まるものとなる。従って、この状態で2D画像表示領域32に表示されている2次元パターン34を型紙としてぬいぐるみやバルーンを作成しても、完成品はユーザにより所望された輪郭をもたない不完全なものとなってしまう。このため、ステップS140の処理の後、輪郭ストロークSSと3次元モデルデータにより規定される3次元形状の輪郭ストロークSSに対応した輪郭36sとが一致するように2Dモデルデータ調整部23により2Dモデルデータ調整ルーチン(ステップS150)が実行される。
図12を参照しながら、ステップS150の2Dモデルデータ調整ルーチンについて説明すると、このルーチンの開始に際して、座標処理部21は、まず2Dデータ格納部25に格納されている輪郭ストロークSSを形成する頂点(以下「目標頂点」という)の2次元座標データや2次元モデルデータ、3Dデータ格納部26に格納されている3次元モデルデータを入力する(ステップS151)。次いで、座標処理部21の座標系設定部21aは、3D画像表示領域33に表示されている3次元画像36の輪郭36sを形成する頂点の2次元座標を算出するための投影面を設定すると共に、当該投影面に対して2次元の投影座標系を設定する(ステップS152)。ステップS152においては、ステップS100にてユーザが輪郭ストロークSSを入力する際には3D画像表示領域33におけるZ方向とユーザの視線方向とが一致していると考えられることを踏まえて、基本的に、3D画像表示領域33におけるX−Y平面が投影面とされると共に、3D画像表示領域33におけるX−Y座標系が投影座標系として設定される。ただし、ステップS150の処理が実行される前に3D画像表示領域33上で3次元画像36の向きがユーザにより変更されているような場合には、座標系設定部21aは、所定の手順に従い、輪郭ストロークSSを形成する頂点を含む平面を投影面とすると共に当該投影面に対して2次元の投影座標系を形成する水平軸と垂直軸とを設定する。こうして投影座標系が設定されると、座標処理部21の座標演算部21bは、3次元モデルデータ中の3次元画像36の輪郭36sを形成する頂点(以下「仮頂点」という)の3次元座標データと投影座標系に基づいて、輪郭ストロークSSを上記投影面に投影したときの各仮頂点の2次元座標データを算出し、2Dデータ格納部25に格納する(ステップS153)。なお、ステップS152にて3D画像表示領域33におけるX−Y座標系が投影座標系として設定されていれば、ステップS153にて算出される仮頂点の2次元座標データは、3次元座標データのXおよびY座標を示すものとなる。
続いて、2Dモデルデータ調整部23は、図13に示すように、輪郭ストロークSSを形成する各目標頂点Piの2次元座標データと各仮頂点viの2次元座標データとに基づいて、目標頂点Piと当該目標頂点Piに対応した仮頂点viとを結ぶベクトルの仮頂点viの法線方向への射影成分長さdiをすべての目標頂点Piおよび仮頂点viの組について算出する(ステップS154)。更に、2Dモデルデータ調整部23は、射影成分長さdiのすべての目標頂点Piおよび仮頂点viの組についての総和を計算する(ステップS155)。そして、2Dモデルデータ調整部23は、2次元モデルデータ中の2次元パターン34の外周(輪郭)を形成する頂点(以下「対象頂点」という)の2次元座標データと、ステップS154にて算出した射影成分長さdiとに基づいて、図14や図15(a)および(b)に示すように、対象頂点uiをそれに対応する目標頂点Piおよび仮頂点viの組について算出された射影成分長さdiだけ当該対象頂点uiの法線方向に移動させたときの各対象頂点uiの2次元座標データを算出する(ステップS156)。各対象頂点の2次元座標データを算出した後、2Dモデルデータ調整部23は、2次元パターン34の外周(輪郭)を滑らかなものとすべく、算出した対象頂点の2次元座標データに対して周知のラプラシアンスムージングを施すと共に(図15(b)および(c)参照)、対象頂点以外のポリゴンメッシュの頂点の2次元座標データに対して周知のガウシアンスムージングを施し(図15(c)および(d)参照)、全ポリゴンメッシュの頂点のX−Y座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報からなる2次元モデルデータを更新する(ステップS157)。
こうしてステップS150の処理が完了すると、2D画像表示制御部28は、2次元モデルデータに基づいて新たな2次元パターン34を2D画像表示領域32に表示させる(ステップS160)。また、2D/3Dモデリング部22は、ステップS150にて調整・更新された2次元モデルデータに基づいて3次元モデルデータを生成(更新)する(ステップS170)。ステップS170において、2D/3Dモデリング部22は、3次元モデルデータにより規定されるポリゴンメッシュのエッジの長さがステップS150にて調整・更新された2次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の3次元座標データを再計算すると共に、再計算の結果に基づいてエッジに関する情報等を求め、新たな3次元モデルデータとして3Dデータ格納部26に格納する。そして、ステップS170にて3次元モデルデータが更新されると、3D画像表示制御部29は、3次元モデルデータに基づいて新たな3次元画像36を3D画像表示領域33に表示させる(ステップS180)。ステップS180の処理の後、2Dモデルデータ調整部23は、ステップS155にて計算した射影成分長さdiの総和が予め定められた閾値以下であるか否かを判定し(ステップS190)、射影成分長さdiの総和が当該閾値を上回っていれば、再度ステップS150の2Dモデルデータ調整ルーチンを実行し、更に2次元パターン34の再表示(ステップS160)、3次元モデルデータの更新(ステップS170)および3次元画像36の再表示(ステップS180)が実行される。そして、ステップS190にて射影成分長さdiの総和が上記閾値以下になったと判断されると本ルーチンが終了することになる。このようにして本ルーチンが終了した時点では、図16に示すように、3D画像表示領域33にユーザにより入力された輪郭ストロークSSと概ね一致した輪郭36sを有する3次元画像36が表示されると共に、2D画像表示領域32には、3次元画像36に対応した複数(左右一対)の2次元パターン34がコネクタ35等と共に表示されることになる。
ここまで説明したように、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20を用いて所望の3次元形状を2次元に展開して2次元パターン34を得る際には、まず3D画像表示領域33上でマウス50やスタイラス60等を介して所望の3次元形状の外形線となる輪郭ストロークSSを入力する。輪郭ストロークSSが入力されると、当該輪郭ストロークSSの2次元座標データが座標処理部21により取得されると共に(ステップS100)、2D/3Dモデリング部22によって輪郭ストロークSSの2次元座標データに基づく2次元モデリングが実行され、当該2次元座標データにより規定される2次元パターン34についての2次元モデルデータが生成される(ステップS110)。更に、2D/3Dモデリング部22によって2次元モデルデータ(2次元モデルデータと実質的に同一の3次元モデルデータ)に基づく3次元モデリングが実行され、2次元モデルデータにより規定される2次元パターン34を膨らませて得られる3次元形状の3次元モデルデータが生成される(ステップS140)。ここで、2次元モデルデータにより規定される2次元パターン34を膨らませるステップS140の3次元モデリングを実行した場合、3次元モデルデータにより規定される3次元画像36の輪郭ストロークSSに対応した輪郭36sは基本的に内側に収縮する傾向にある。このため、実施例では、輪郭ストロークSSと3次元モデルデータにより規定される3次元画像36の当該輪郭ストロークSSに対応した輪郭36sとが一致するように2Dモデルデータ調整部23により2次元モデルデータが調整される(ステップS150)。
このように、ユーザにより入力された輪郭ストロークSSに対応した2次元パターンについての2次元モデルデータを生成すると共に(ステップS110)、当該2次元モデルデータに基づく3次元モデルデータとを生成した上で(ステップS140)、輪郭ストロークSSと3次元モデルデータにより規定される3次元画像36の輪郭36sとが一致するように2次元モデルデータを調整すれば(ステップS150)、所望の3次元形状に精度よく対応した2次元パターンを容易に得ることが可能となる。そして、上記実施例では、輪郭ストロークSSと3次元モデルデータにより規定される3次元画像36の輪郭ストロークSSに対応した輪郭36sとが概ね一致するまで、2Dモデルデータ調整部23による2次元モデルデータの調整(ステップS150)と、調整された2次元モデルデータに基づく2D/3Dモデリング部22による3次元モデルデータの更新(ステップS170)とが繰り返し実行されることから、得られた2次元パターンを立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。更に、実施例の2D/3Dモデリング部22は、ユーザにより入力された1本の輪郭ストロークSSに対応して互いに表裏の関係をなす一対の2次元パターン34についての2次元モデルデータを生成すると共に、一対の2次元パターン34を互いに対応する接合ライン同士を接合した状態で膨らませて得られる3次元形状の3次元モデルデータを生成するものであるから、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20は、互いに接合された複数の2次元パターンの内部に充填材や気体等を充填したぬいぐるみやバルーン等の設計に極めて有用である。
また、上記実施例では、ステップS150の2次元モデルデータの調整に際して、座標処理部21によって3次元モデルデータにより規定される3次元画像36の輪郭ストロークSSに対応した輪郭36sを形成する頂点である仮頂点viの投影座標系における2次元座標データが取得される(ステップS153)。そして、2D/3Dモデリング部22は、仮頂点viや輪郭ストロークSSを形成する目標頂点Piの2次元座標データに基づいて、目標頂点Piと当該目標頂点Piに対応した仮頂点viとを結ぶベクトルの仮頂点viの法線方向への射影成分長さdiを算出すると共に(ステップS154)、2次元パターン34の外周(輪郭)を形成する対象頂点uiをそれに対応する目標頂点Piおよび仮頂点viの組について算出された射影成分長さdiだけ当該対象頂点uiの法線方向に移動させたときの各対象頂点uiの2次元座標データを算出し(ステップS156)、各対象頂点uiの2次元座標データに基づいて2次元モデルデータを更新する(ステップS157)。これにより、2次元パターン34をより適正に変形させて3次元モデルデータにより規定される3次元画像36の輪郭36sを輪郭ストロークSSに近づけることができる。また、このような2次元モデルデータの調整におけるアルゴリズムは比較的シンプルなものであることから、2次元モデルデータの調整に際しての演算負荷を低減することが可能となる。更に、上記実施例において、ステップS150の2次元モデルデータ調整ルーチンが実行された後、2D/3Dモデリング部22は、3次元モデルデータにより規定されるポリゴンメッシュのエッジの長さが調整・更新された2次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の3次元座標データを再計算し、当該再計算の結果に基づいて3次元モデルデータを更新する(ステップS170)。これにより、3次元モデルデータの更新も比較的短時間のうちに実行されることになる。また、上記実施例では、ステップS155にて算出される射影成分長さdiの全仮頂点viについての総和と所定の閾値とを比較し(ステップS190)、射影成分長さdiの総和が閾値以下となったときに輪郭ストロークSSと3次元モデルデータにより規定される3次元画像36の輪郭36sとが一致したと判断される。すなわち、上述のように2次元モデルデータの調整(ステップS150)と3次元モデルデータの更新(ステップS170)とが繰り返し実行されると、輪郭ストロークSSと3次元画像36の輪郭36sとが近づくにつれて射影成分長さdiの総和が小さくなり、当該総和が最小となったときに理論上、輪郭ストロークSSと3次元画像36の輪郭36sとが再接近し、その後に2次元モデルデータの調整(ステップS150)と3次元モデルデータの更新(ステップS170とが更に続行されると、射影成分長さdiの総和は逆に大きな値を示すことになる。従って、上記実施例のように、射影成分長さdiの総和と閾値とを比較すれば、輪郭ストロークSSと3次元画像36の輪郭36sとが一致したか否かの判定をより適正に実行することが可能となる。
加えて、実施例の2D/3Dモデリング部22は、2次元モデルデータ(2次元モデルデータと実質的に同一の3次元モデルデータ)に基づいてポリゴンメッシュの各エッジにより画成されるメッシュ面を上記(1)式に基づくメッシュ面の法線方向における移動制約および上記(2)式に基づくポリゴンメッシュの各エッジの伸長を規制する伸縮制約のもとで当該法線方向かつ外方に移動させたときのポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さ等を算出し、算出した座標およびエッジ長さを3次元モデルデータとして出力するものである。これにより、2次元パターンに基づく3次元形状の極端な膨張が抑制されるように3次元モデルデータをより適正に生成可能となる。また、上記(1)式における係数αや上記(2)式における係数βを適宜設定することにより2次元パターンを構成する素材の選択の自由度を高めることが可能となる。
そして、上記実施例では、コンピュータ20において3次元形状展開用プログラムが起動されると、表示装置30の表示画面31に2D画像表示領域32と3D画像表示領域33とが表示され、2D画像表示領域32には、2D画像表示制御部28により2次元モデルデータに基づく2次元画像すなわち2次元パターン34やコネクタ35等が表示され、3D画像表示領域33には、3D画像表示制御部29により3次元モデルデータに基づく3次元画像36が表示される(ステップS130,S140,S160,S180)。これにより、ユーザは、2D画像表示領域32および3D画像表示領域33を参照しながら所望の3次元形状に対応した2次元パターン34を設計することが可能となる。なお、上記実施例では、2D画像表示領域32に2次元パターン34の接合ライン同士の対応関係を示すコネクタ35が表示されるが、これに限られるものではない。すなわち、2D画像表示領域32にコネクタ35を表示する代わりに、図17に示すように、2D画像表示領域32において、数字等の識別子を用いて2次元パターン34の接合ライン同士の対応関係を示すようにしてもよい。
〔切断ルーチン〕
図18は、実施例のコンピュータ20において実行される切断ルーチンの一例を示すフローチャートである。かかる切断ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図19に示すように、ユーザにより3D画像表示領域33上で3次元画像36の外周(輪郭)と2点で交差すると共に3次元画像36を分断する分断ストロークCSが入力されたときに実行されるものである。図18の切断ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系のX−Y座標系に基づく分断ストロークCSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば分断ストロークCSの始点から終点までの所定間隔おきの点のX−Y座標を分断ストロークCSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS300)。更に、座標処理部21の座標演算部21bは、ステップS300にて取得した分断ストロークCSを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、分断ストロークCSを形成する頂点ごとに、当該頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標を分断ストロークCSを形成する頂点の3次元座標データとして3Dデータ格納部26に格納する(ステップS310)。
〔切断ルーチン〕
図18は、実施例のコンピュータ20において実行される切断ルーチンの一例を示すフローチャートである。かかる切断ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図19に示すように、ユーザにより3D画像表示領域33上で3次元画像36の外周(輪郭)と2点で交差すると共に3次元画像36を分断する分断ストロークCSが入力されたときに実行されるものである。図18の切断ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系のX−Y座標系に基づく分断ストロークCSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば分断ストロークCSの始点から終点までの所定間隔おきの点のX−Y座標を分断ストロークCSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS300)。更に、座標処理部21の座標演算部21bは、ステップS300にて取得した分断ストロークCSを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、分断ストロークCSを形成する頂点ごとに、当該頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標を分断ストロークCSを形成する頂点の3次元座標データとして3Dデータ格納部26に格納する(ステップS310)。
次いで、2D/3Dモデリング部22は、ステップS310にて取得された分断ストロークCSを形成する頂点の3次元座標データと3Dデータ格納部26に格納されている3次元モデルデータとに基づいて、それまで3Dデータ格納部26に格納されていた3次元モデルデータにより規定される3次元形状をリメッシュする(ステップS320)。ステップS320では、もとの3次元形状が分断ストロークCSを3D画像表示領域33のZ軸方向(ユーザの視線方向)にスイープして得られる可展面により当該可展面の例えば図中左側の領域を残すと共に当該可展面の図中右側の領域を消去するようにカットされたものとして、図20に示すように、当該可展面により形成される3次元形状の新たな断面にポリゴンメッシュが付与されると共に分断ストロークCSを形成する頂点に対応するように3次元モデルデータが更新される。こうして3次元モデルデータが更新されると、更新された3次元モデルデータは3Dデータ格納部26に格納され、3D画像表示制御部29は、3次元モデルデータに基づいて新たな3次元画像36を3D画像表示領域33に表示させる(ステップS330)。
また、2Dモデルデータ調整部23は、ステップS320にて更新された3次元モデルデータに基づいて、上記可展面の図中左側の領域すなわちもとの3次元形状のうちの消去されずに残される領域に対応するように2次元モデルデータを調整する(ステップS340)。ここで、図20に示すように、分断ストロークCSをスイープすることにより形成される3次元形状の新たな断面は、可展面であって容易に2次元に展開可能である。従って、ステップS340において、2Dモデルデータ調整部23は、まず上記可展面により形成された3次元形状の新たな断面に付与されたメッシュの頂点の3次元座標データに基づいて、これらの頂点を所定の2次元平面に投影したときの2次元座標を算出する。そして、2Dモデルデータ調整部23は、算出した2次元座標に基づいて3次元形状の追加された新たな断面についての2次元モデルデータを生成すると共に、当該新たな断面の外周に対応するようにそれまで2Dデータ格納部25に格納されていた2次元モデルデータを調整する。これにより、3次元形状の追加された新たな断面に対応した新たな2次元パターンについての2次元モデルデータが生成されることから、コネクタ設定部27は、図3のステップS120と同様にして、調整された2次元モデルデータに対して、2次元パターン34の接合ライン同士の対応関係を示すコネクタ35に関する情報を設定する(ステップS350)。このようにして更新される2次元モデルデータは、2Dデータ格納部25に格納され、2D画像表示制御部28は、2次元モデルデータに基づいて2次元パターン34やコネクタ35等を互いに重なり合わないように2D画像表示領域32に表示させる(ステップS360)。
こうして分断ストロークCSの入力に伴う2次元モデルデータの調整が実行されると、2D/3Dモデリング部22は、図3のステップS140と同様にして、ステップS340にて調整された2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するための3次元モデリングを実行する(ステップS370)。ここで、ステップS370の3次元モデリングが実行されると、基本的に3次元形状のうちの分断ストロークCSをスイープすることにより形成される新たな断面の周辺が外方に膨らんでいくことになるが、ステップS370の実行中に3次元画像36が3D画像表示領域33に表示された段階では、基本的に分断ストロークCSに対応した3次元画像36の輪郭とユーザにより入力された分断ストロークCSとが一致しない。このため、ステップS370の処理の後、図3のステップS150と同様にして、2Dモデルデータ調整部23により分断ストロークCSと3次元モデルデータにより規定される3次元形状の分断ストロークCSに対応した輪郭(外周すなわちシームライン37)とが一致するように2次元モデルデータが調整され(ステップS380)、2D画像表示制御部28は、2次元モデルデータに基づいて新たな2次元パターン34を2D画像表示領域32に表示させる(ステップS390)。なお、ステップS380では、例えば、ステップS300にて取得された分断ストロークCSを形成する頂点である目標頂点の2次元座標データと、3次元画像36の分断ストロークCSに対応したシームライン37を形成する頂点である仮頂点の投影座標系における2次元座標データとに基づいて射影成分長さを求めると共に、2次元パターン34の外周(輪郭)を形成する対象頂点をそれに対応する目標頂点および仮頂点の組について算出された射影成分長さだけ当該対象頂点の法線方向に移動させたときの各対象頂点の2次元座標データを算出し、各対象頂点の2次元座標データに基づいて2次元モデルデータを更新すればよい。また、2D/3Dモデリング部22は、図3のステップS170と同様にして、ステップS380にて調整・更新された2次元モデルデータに基づいて3次元モデルデータを生成(更新)し(ステップS400)、3D画像表示制御部29は、3次元モデルデータに基づいて新たな3次元画像36を3D画像表示領域33に表示させる(ステップS410)。ステップS410の処理の後、2Dモデルデータ調整部23は、図3のステップS190と同様にして、ステップS380の処理に際して計算した射影成分長さの総和が予め定められた閾値以下であるか否かを判定し(ステップS420)、射影成分長さの総和が当該閾値を上回っていれば、再度ステップS380の2Dモデルデータ調整ルーチンを実行し、更に2次元パターン34の再表示(ステップS390)、3次元モデルデータの更新(ステップS400)および3次元画像36の再表示(ステップS410)が実行される。そして、ステップS420にて射影成分長さの総和が上記閾値以下になったと判断されると本ルーチンが終了することになる。このようにして本ルーチンが終了した時点では、3D画像表示領域33には、図21に示すように、ユーザにより入力された分断ストロークCSに対応したシームライン(輪郭)37を有する3次元画像36が表示されると共に、2D画像表示領域32には、3次元画像36に対応した複数(左右一対)の2次元パターン34がコネクタ35等と共に表示されることになる(図示省略)。なお、図21は、新たな追加された断面が正面にくるようにユーザにより3次元画像36が移動されたときの表示例を示すものである。
ここまで説明したように、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20では、マウス50やスタイラス60等を介して3D画像表示領域33に表示された3次元画像36の外周と2点で交差すると共に当該3次元画像36を分断する分断ストロークCSが入力されると、もとの3次元モデルデータにより規定される3次元形状が分断ストロークCSを3D画像表示領域33のZ軸方向(ユーザの視線方向)にスイープして得られる可展面により当該可展面の一側の領域を残すと共に当該可展面の他側の領域を消去するようにカットされたものとして3次元モデルデータが生成される(ステップS300〜S320)。また、分断ストロークCSの入力に応じて3次元モデルデータが生成されると、2Dモデルデータ調整部23は、生成された3次元モデルデータに基づいて3次元形状の可展面よりも一側の領域に対応するように2次元モデルデータを調整する(ステップS340)。更に、2D/3Dモデリング部22は、ステップS340にて調整・更新された2次元モデルデータに基づく3次元モデリングを実行し、当該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する(ステップS370)。そして、ユーザにより入力された分断ストロークCSと、3次元モデルデータにより規定される3次元形状の分断ストロークCSに対応したシームライン37(輪郭)とが概ね一致するまで、2Dモデルデータ調整部23による2次元モデルデータの調整(ステップS380)と、調整された2次元モデルデータに基づく2D/3Dモデリング部22による3次元モデルデータの更新(ステップS400)とが繰り返し実行される。これにより、ユーザは、3D画像表示領域33において3次元画像36をカットするように分断ストロークCSを入力することにより、比較的複雑な3次元形状に対応した2次元パターン34を得ることが可能となる。また、上記実施例では、分断ストロークCSと3次元画像36の分断ストロークCSに対応したシームライン37(輪郭)とが概ね一致するまで、2次元モデルデータの調整(ステップS380)と3次元モデルデータの更新(ステップS400)とが繰り返し実行されることから、得られた2次元パターン34を立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。
〔パーツ追加ルーチン〕
図22は、実施例のコンピュータ20において実行されるパーツ追加ルーチンの一例を示すフローチャートである。かかるパーツ追加ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図23(a)に示すように、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36の外周上または内側に始点および終点を有すると共に3次元画像36の外周の外側に突出する追加ストロークASが入力されたときに実行されるものである。なお、図23では、説明をわかりやすくするために、3次元画像36をテクスチャが付与されていないメッシュモデルとして示す。図22のパーツ追加ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系(ピクセル単位の座標系、図2参照)のX−Y座標系に基づく追加ストロークASを形成する各点の座標を取得すると共に、取得した各点の座標のうち、例えば追加ストロークASの始点から終点までの所定間隔おきの点のX−Y座標を追加ストロークASを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS500)。また、座標処理部21の座標演算部21bは、ステップS500にて取得した追加ストロークASを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、追加ストロークASの始点に対応した頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)と、追加ストロークASの終点に対応した頂点を通ってZ軸方向に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)とを算出し、算出した座標を追加ストロークASを形成する始点および終点の3次元座標データとして3Dデータ格納部26に格納する(ステップS510)。更に、座標処理部21の座標系設定部21aは、ステップS510にて算出した追加ストロークASを形成する始点および終点の3次元座標データに基づいて追加ストロークASを形成する頂点の2次元座標等を算出するための投影面を設定すると共に、当該投影面に対して2次元の投影座標系を設定する(ステップS520)。ステップS520においては、図23(a)に示すように、追加ストロークASの始点vsおよび終点veを含むと共に例えば追加ストロークASの始点vsの法線方向nに延びる仮想的な平面PFが投影面とされると共に、始点vsおよび終点veを通る直線を水平軸(x′軸)とすると共に始点vsから水平軸(x′軸)に直交に延びる直線を垂直軸(y′軸)とした2次元の投影座標系が設定される。
図22は、実施例のコンピュータ20において実行されるパーツ追加ルーチンの一例を示すフローチャートである。かかるパーツ追加ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図23(a)に示すように、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36の外周上または内側に始点および終点を有すると共に3次元画像36の外周の外側に突出する追加ストロークASが入力されたときに実行されるものである。なお、図23では、説明をわかりやすくするために、3次元画像36をテクスチャが付与されていないメッシュモデルとして示す。図22のパーツ追加ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系(ピクセル単位の座標系、図2参照)のX−Y座標系に基づく追加ストロークASを形成する各点の座標を取得すると共に、取得した各点の座標のうち、例えば追加ストロークASの始点から終点までの所定間隔おきの点のX−Y座標を追加ストロークASを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS500)。また、座標処理部21の座標演算部21bは、ステップS500にて取得した追加ストロークASを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、追加ストロークASの始点に対応した頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)と、追加ストロークASの終点に対応した頂点を通ってZ軸方向に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)とを算出し、算出した座標を追加ストロークASを形成する始点および終点の3次元座標データとして3Dデータ格納部26に格納する(ステップS510)。更に、座標処理部21の座標系設定部21aは、ステップS510にて算出した追加ストロークASを形成する始点および終点の3次元座標データに基づいて追加ストロークASを形成する頂点の2次元座標等を算出するための投影面を設定すると共に、当該投影面に対して2次元の投影座標系を設定する(ステップS520)。ステップS520においては、図23(a)に示すように、追加ストロークASの始点vsおよび終点veを含むと共に例えば追加ストロークASの始点vsの法線方向nに延びる仮想的な平面PFが投影面とされると共に、始点vsおよび終点veを通る直線を水平軸(x′軸)とすると共に始点vsから水平軸(x′軸)に直交に延びる直線を垂直軸(y′軸)とした2次元の投影座標系が設定される。
次いで、2D/3Dモデリング部22は、3Dデータ格納部26に格納されている3次元モデルデータにより規定される3次元形状に対して、追加ストロークASの始点および終点を通るベースラインを設定すると共に当該ベースラインを形成する頂点の3次元座標データを算出する(ステップS530)。実施例では、ベースラインとして、図23(b)に示すような追加ストロークASの始点vsから終点veまで概ね直線状に延びるベースラインBL1と、図23(c)に示すような追加ストロークASの始点vsおよび終点veを含むと共に所定の面形状を画成する閉じたベースラインBL2が設定される。すなわち、ステップS530において、2D/3Dモデリング部22は、ステップS510にて取得した追加ストロークASを形成する始点および終点の3次元座標データと3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、追加ストロークASの始点vsと終点veとを結ぶ直線上に所定間隔おきに仮想点を設定すると共に、仮想点ごとに当該仮想点を通って上記投影面と平行(始点vsの法線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標をベースラインBL1を形成する頂点の3次元座標データとして3Dデータ格納部26に格納する。また、2D/3Dモデリング部22は、ステップS510にて取得した追加ストロークASを形成する始点および終点の3次元座標データと3Dデータ格納部26に格納されている3次元モデルデータとに基づいて、追加ストロークASの始点vsと終点veとを結ぶ直線を長軸とすると共に所定長さ(例えば長径の1/4)の短軸をもった楕円上に所定間隔おきに仮想点を設定すると共に、仮想点ごとに当該仮想点を通って上記投影面と平行(始点vsの法線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標をベースラインBL2を形成する頂点の3次元座標データとして3Dデータ格納部26に格納する。
ステップS530にてベースラインBL1およびBL2を形成する頂点の3次元座標データが取得されると、2D/3Dモデリング部22は、ベースラインBL1の頂点の3次元座標データに基づいて、それまで3Dデータ格納部26に格納されていた3次元モデルデータにより規定される3次元形状をリメッシュすると共に、ベースラインBL2の頂点の3次元座標データに基づいて、それまで3Dデータ格納部26に格納されていた3次元モデルデータにより規定される3次元形状をリメッシュする(ステップS540)。これにより、ステップS540の処理が実行されると、図23(b)に示すように、ベースラインBL1を形成する頂点に対応するように3次元モデルデータが更新され、更新された3次元モデルデータが3Dデータ格納部26に格納される。また、ステップS540では、図23(c)に示すように、ベースラインBL2によりもとの3次元形状に開口が形成されたものとして、当該ベースラインBL2を形成する頂点に対応するように3次元モデルデータが生成され、ベースラインBL2に対応した3次元モデルデータも3Dデータ格納部26に格納される。ステップS540の処理の後、座標処理部21の座標演算部21bは、追加ストロークASおよびベースラインBL1の頂点の3次元座標データと投影座標系に基づいて、追加ストロークASおよびベースラインBL1を投影面PFに投影したときの各頂点の2次元座標データを算出し、2Dデータ格納部25に格納する(ステップS550)。また、ステップS550おいて、座標演算部21bは、追加ストロークASおよびベースラインBL2の頂点の3次元座標データと投影座標系に基づいて、追加ストロークASおよびベースラインBL2を投影面PFに投影したときの各頂点の2次元座標データを算出し、2Dデータ格納部25に格納する。ここで、ベースラインBL2に関しては、図24に示すように、各頂点を投影面に対して90°回転させたときの座標を求める。
続いて、2Dモデルデータ調整部23は、ステップS550にて取得された追加ストロークASおよびベースラインBL1,BL2の頂点の投影座標系における2次元座標データに基づいて、追加ストロークASとベースラインBL1,BL2とに対応するように2次元モデルデータを調整する(ステップS560)。ステップS560において、2Dモデルデータ調整部23は、追加ストロークASおよびベースラインBL1,BL2の頂点の投影座標系における2次元座標データに基づいて、追加ストロークASに対応した新たなパーツについての2次元モデルデータを生成すると共に、ベースラインBL1,BL2の頂点の投影座標系における2次元座標データに基づいて、当該新たなパーツともとの3次元形状との接合ラインに対応するように2Dデータ格納部25に格納されていた2次元モデルデータを調整する。これにより、新たなパーツに対応した新たな2次元パターンについての2次元モデルデータが生成されることから、コネクタ設定部27は、図3のステップS120と同様にして、調整された2次元モデルデータに対して、2次元パターン34の接合ライン同士の対応関係を示すコネクタ35に関する情報を設定する(ステップS570)。そして、2D/3Dモデリング部22は、図3のステップS140と同様にして、調整された2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するための3次元モデリングを実行する(ステップS580)。
実施例では、ステップS580の実行中、図25に示すように、3D画像表示領域33内に追加ストロークASが入力される前の3次元画像36と共にサブウィンドウ33Aおよび33Bが表示され、サブウィンドウ33AにベースラインBL1についての3次元画像36Aが、サブウィンドウ33BにベースラインBL2についての3次元画像36Bがそれぞれ表示される。ここで、3次元モデリングが実行されると、基本的に3次元形状のうちの追加ストロークASに対応した新たなパーツの周辺が外方に膨らんでいくことになるが(図23(d)および(e)参照)、3次元画像36が3D画像表示領域33に表示された段階では、基本的に追加ストロークASに対応した3次元画像36の輪郭(外周すなわちシームライン37)とユーザにより入力された追加ストロークASとが一致しない。このため、ステップS580の処理の後、図3のステップS150と同様にして、2Dモデルデータ調整部23により追加ストロークASと3次元モデルデータにより規定される3次元形状の追加ストロークASに対応した輪郭とが一致するように2次元モデルデータが調整される(ステップS590)。なお、ステップS590では、例えば、ステップS550にて取得された追加ストロークASを形成する頂点である目標頂点の投影座標系における2次元座標データと、3次元画像36の追加ストロークASに対応した外周(シームライン37)を形成する頂点である仮頂点の投影座標系における2次元座標データとに基づいて射影成分長さを求めると共に、2次元パターン34の外周(輪郭)を形成する対象頂点をそれに対応する目標頂点および仮頂点の組について算出された射影成分長さだけ当該対象頂点の法線方向に移動させたときの各対象頂点の2次元座標データを算出し、各対象頂点の2次元座標データに基づいて2次元モデルデータを更新すればよい。また、2D/3Dモデリング部22は、図3のステップS170と同様にして、調整・更新された2次元モデルデータに基づいて3次元モデルデータを生成(更新)し(ステップS600)、3D画像表示制御部29は、3次元モデルデータに基づいて新たな3次元画像36Aおよび36Bをサブウィンドウ33A,33Bに表示させる(ステップS610)。ステップS610の処理の後、2Dモデルデータ調整部23は、図3のステップS190と同様にして、ステップS590の処理に際して計算した射影成分長さの総和が予め定められた閾値以下であるか否かを判定し(ステップS620)、射影成分長さの総和が当該閾値を上回っていれば、再度ステップS590の2Dモデルデータ調整ルーチンを実行し、更に3次元モデルデータの更新(ステップS600)および3次元画像36Aおよび36Bの再表示(ステップS610)が実行される。そして、ステップS620にて射影成分長さの総和が上記閾値以下になったと判断されると、そこでステップS590〜S610の処理は終了し、サブウィンドウ33Aおよび33Bに表示されている3次元画像36Aおよび36Bのうち、ユーザが希望する何れか一方が選択(クリック)されると(ステップS630)、2D画像表示制御部28は、ユーザにより選択された3次元画像36Aまたは36Bに対応した2次元モデルデータに基づいて2次元パターン34等を2D画像表示領域32に表示させ、3D画像表示制御部29は、サブウィンドウ33Aおよび33Bを消去すると共に、3次元モデルデータに基づいてユーザにより選択された3次元画像36(36Aまたは36B)を3D画像表示領域33に表示させ(ステップS640)、これにより、本ルーチンが終了することになる。
ここまで説明したように、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20では、マウス50やスタイラス60等を介して3D画像表示領域33に表示された3次元画像36の外周上または内側に始点および終点を有すると共に3次元画像36の外周の外側に突出する追加ストロークASが入力されると、追加ストロークASの入力により追加ストロークASの始点vsおよび終点veを通るベースラインBL1およびBL2が形成されたものとして2D/3Dモデリング部22によって当該ベースラインに対応するように3次元モデルデータが更新される(ステップS530,S540)。また、座標処理部21の座標演算部21bは、追加ストロークASの始点vsおよび終点veを含む投影面PFに対して設定される投影座標系における追加ストロークASを形成する頂点の2次元座標データと、ベースラインBL1,BL2を形成する頂点を投影面PFに投影して得られる2次元座標データとを取得する(ステップS550)。更に、2Dモデルデータ調整部23は、追加ストロークASを形成する頂点およびベースラインBL1,BL2を形成する頂点の2次元座標データに基づいて追加ストロークASとベースラインBL1,BL2とに対応するように2次元モデルデータを調整する(ステップS560)。そして、2D/3Dモデリング部22は、ステップS560にて調整・更新された2次元モデルデータに基づく3次元モデリングを実行し、当該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する(ステップS580)。その後、ユーザにより入力された追加ストロークASと、3次元モデルデータにより規定される3次元形状の追加ストロークASに対応した外周(シームライン37)とが概ね一致するまで、2Dモデルデータ調整部23による2次元モデルデータの調整(ステップS590)と、調整された2次元モデルデータに基づく2D/3Dモデリング部22による3次元モデルデータの更新(ステップS600)とが繰り返し実行される。
これにより、ユーザは、3D画像表示領域33において3次元画像36から突出するように追加ストロークASを入力することにより、突部が追加されたより複雑な3次元形状に対応した2次元パターン34を得ることが可能となる。また、上記実施例では、追加ストロークASと3次元画像36の追加ストロークASに対応した外周(シームライン37)とが概ね一致するまで、2次元モデルデータの調整(ステップS590)と3次元モデルデータの更新(ステップS600)とが繰り返し実行されることから、得られた2次元パターン34を立体化して得られる3次元形状と、ユーザにより所望されている3次元形状とをより精度よく一致させることが可能となる。更に、上記実施例のように、ステップS530にて設定されるベースラインBL1を3次元形状の表面(メッシュ面)と投影面PFとの交線に含まれて追加ストロークASの始点vsから終点veまで延びるラインとすれば、もとの3次元形状に対して追加ストロークASとベースラインBL1とに対応した輪郭をもった膨らんだパーツをベースラインBL1上でもとの3次元形状に接続するよう追加すると共に、当該パーツに対応した2次元パターン34を得ることが可能となる。加えて、ステップS530にて設定されるベースラインBL2を追加ストロークASの始点vsおよび終点veを含むと共に所定の面形状(実施例では略楕円形状)を画成する閉じたラインとすれば、閉じたラインに対応した開口を介してもとの3次元形状に接続されるパーツを追加すると共に、当該パーツに対応した2次元パターン34を得ることが可能となる。そして、上記実施例のように、3D画像表示領域33にベースラインBL1についての3次元画像36AとベースラインBL2についての3次元画像36Bとの双方を表示し、ユーザに所望の3次元画像の選択を許容すれば、ぬいぐるみやバルーン等の設計におけるユーザの利便性を向上させることが可能となる。
なお、上述のように、ユーザによる追加ストロークASの入力に伴ってベースラインを設定する代わりに、五十嵐らによって提案された手法(IGARASHI, T., MATSUOKA, S., AND TANAKA, H. 1999. Teddy: A sketching interface for 3D freeform design. ACM SIGGRAPH 1999, 409・416. 参照)を用いて、ユーザにより直線状あるいは所定の面形状を画成するベースラインが3次元画像に対して入力されたときに当該3次元形状に突起状のパーツを追加すると共に当該パーツに対応した2次元パターンを得るようにしてもよい。
〔3D/2D引張ルーチン〕
図26は、実施例のコンピュータ20において実行される3D引張ルーチンの一例を示すフローチャートである。かかる3D引張ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36のシームライン37を形成するポリゴンメッシュの頂点すなわち2次元パターン34同士の接合ラインに対応した頂点(以下「可動頂点」という)が移動されたときに実行されるものである。なお、実施例では、3次元画像36のシームライン37を形成する可動頂点の3次元モデルデータに対しては当該シームライン37を形成する旨を示す識別子が付与されており、3D画像表示領域33上でユーザによりカーソルが移動されて、カーソルが可動頂点の上に位置すると、図27に示すように、カーソルの形状が矢印形から手の形へと変化する。そして、カーソルの形状が手の形へと変化したときに、ユーザが例えばマウス50を右クリックすると、対象となる可動頂点をドラッグして移動させることが可能となる。
図26は、実施例のコンピュータ20において実行される3D引張ルーチンの一例を示すフローチャートである。かかる3D引張ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36のシームライン37を形成するポリゴンメッシュの頂点すなわち2次元パターン34同士の接合ラインに対応した頂点(以下「可動頂点」という)が移動されたときに実行されるものである。なお、実施例では、3次元画像36のシームライン37を形成する可動頂点の3次元モデルデータに対しては当該シームライン37を形成する旨を示す識別子が付与されており、3D画像表示領域33上でユーザによりカーソルが移動されて、カーソルが可動頂点の上に位置すると、図27に示すように、カーソルの形状が矢印形から手の形へと変化する。そして、カーソルの形状が手の形へと変化したときに、ユーザが例えばマウス50を右クリックすると、対象となる可動頂点をドラッグして移動させることが可能となる。
図26の3D引張ルーチンの開始に際して、座標処理部21は、3Dデータ格納部26からドラッグされた可動頂点と当該可動頂点を含むシームライン37の2つの端点の3次元座標データを取得する(ステップS700)。また、座標処理部21の座標系設定部21aは、ドラッグされた可動頂点と2つの端点の3次元座標データに基づいて投影面を設定すると共に、当該投影面に対して2次元の投影座標系を設定する(ステップS710)。ステップS710においては、ドラッグ時(移動される直前)の対象となる可動頂点および2つの端点の3次元座標データに基づいて、これら3点を含む仮想平面PFを投影面として設定する。また、投影座標系は、図27に示すように、移動される直前の可動頂点を原点とし、かつ移動される直前の可動頂点の法線方向に延びる直線を垂直軸(y′軸)とすると共に当該垂直軸と直交に延びる直線を水平軸(x′軸)とするものとされる。更に、座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系のX−Y座標系に基づく対象となる可動頂点の2次元座標データを表示装置30から取得する(ステップS720)。そして、座標処理部21の座標演算部21bは、ステップS720にて取得された対象となる可動頂点の2次元座標をステップS710にて設定された投影面に投影したときの当該可動頂点の投影座標系における2次元座標データを算出し、2Dデータ格納部25に格納する(ステップS730)。
次いで、2Dモデルデータ調整部23は、ステップS730にて算出された対象となる可動頂点の投影座標系における2次元座標データに基づいて当該可動頂点の投影面上での移動量δを算出する(ステップS740)。移動量δは、ステップS730にて算出された対象となる可動頂点の投影座標系における2次元座標と投影座標系の原点との距離として容易に算出することができる。こうして移動量δを算出すると、2Dモデルデータ調整部23は、図28に示すように、上記ドラッグされた可動頂点に対応した2次元パターン34(ポリゴンメッシュ)の頂点uif,uibをそれぞれの法線方向にステップS740にて算出された移動量δだけ移動させたときの2次元座標データを算出すると共に、2次元パターン34の外周(輪郭)を滑らかなものとすべく、頂点uif,uibを含む外周(接合ライン)を形成するすべての頂点に対して所定のスムージング処理(例えば、五十嵐らにより提案された2次元変形手法: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. 参照)を施した上で、全ポリゴンメッシュの頂点のX−Y座標および一対の頂点同士を結ぶエッジに関するエッジの始点および終点となる頂点やエッジ長さといった情報からなる2次元モデルデータを調整・更新する(ステップS750)。
こうして2次元モデルデータが調整・更新されると、2D画像表示制御部28は、2次元モデルデータに基づいて2次元パターン34等を2D画像表示領域32に表示させる(ステップS760)。また、2D/3Dモデリング部22は、ステップS750にて調整・更新された2次元モデルデータに基づいて3次元モデルデータを生成(更新)する(ステップS770)。ステップS770において、2D/3Dモデリング部22は、3次元モデルデータにより規定されるポリゴンメッシュのエッジの長さがステップS750にて調整・更新された2次元モデルデータにより規定される対応するエッジの長さに一致するように各頂点の3次元座標データを再計算すると共に、再計算の結果に基づいてエッジに関する情報等を求め、新たな3次元モデルデータとして3Dデータ格納部26に格納する。ステップS770の処理の後、ユーザによる可動頂点のドラッグが解除されているか否か判定され(ステップS780)、ユーザによる可動頂点のドラッグが解除されていなければ、再度ステップS720以降の処理が実行される。また、ステップS780にてユーザによる可動頂点のドラッグが解除されていると判断された場合には、更にドラッグの解除後にステップS720以降の処理が1サイクル実行された否かが判定され(ステップS790)、否定判断がなされた場合には、ステップS720以降の処理がもう1サイクル実行される。そして、ステップS720にて肯定判断がなされた時点で本ルーチンが終了することになる。
ここまで説明したように、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20では、3D画像表示領域33に3次元画像36が表示されている状態で、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36のシームライン37を形成する可動頂点が移動されると、座標処理部21により対象となる可動頂点とそれを含むシームライン37(接合ライン)の2つの端点とに基づく投影面に対して設定される投影座標系における可動頂点の2次元座標データが取得される(ステップS730)。また、2Dモデルデータ調整部23は、ステップS730にて取得された2次元座標データに基づいて可動頂点の投影面上での移動量δを算出すると共に(ステップS740)、算出した移動量δだけ可動頂点に対応したポリゴンメッシュの頂点が当該頂点の法線方向に移動したものとして2次元モデルデータを調整し(ステップS750)、2D/3Dモデリング部22は、調整された2次元モデルデータに基づいて3次元モデルデータを更新する(ステップS770)。これにより、コンピュータ20のユーザは、マウス50やスタイラス60を用いて3D画像表示領域33上で可動頂点を移動させることにより、図29(a),(b),(c)および(d)に示すように、3次元形状を所望の形状に近づくように修正すると共に、修正された3次元形状に対応した2次元パターン34を得ることが可能となる。
なお、図26の3D引張ルーチンは、ユーザにより3D画像表示領域33上で可動頂点が移動されたときに実行されるものであるが、実施例では、図30(a),(b)および(c)に示すように、2D画像表示領域32に2次元パターン34が表示されている状態でマウス50やスタイラス60を介してユーザにより2D画像表示領域32上で2次元パターン34の外周(接合ライン)を形成する頂点(以下「可動頂点」という)が移動されたときにも図26の3D引張ルーチンと同様の図示しない2D引張ルーチンが実行される。なお、図30では、説明をわかりやすくするために、2次元パターン34をメッシュモデルとして示す。実施例では、2次元パターン34同士の外周を形成する可動頂点の2次元モデルデータに対しては外周を形成する旨を示す識別子が付与されており、2D画像表示領域32上でユーザによりカーソルが移動されて、カーソルが可動頂点の上に位置すると、図30に示すように、カーソルの形状が矢印形から手の形へと変化する。そして、カーソルの形状が手の形へと変化したときに、ユーザが例えばマウス50を右クリックすると、対象となる可動頂点をドラッグして移動させることが可能となる。そして、実施例における2D引張ルーチンが開始されると、座標処理部21は、2D画像表示領域32に対して設定されているX−Y座標系における可動頂点の2次元座標データを取得し、2Dモデルデータ調整部23は、対象となる可動頂点の2次元座標データに基づいて当該可動頂点がもとの位置から取得された2次元座標データに基づく位置まで移動したものとして2次元モデルデータを調整する。更に、2D/3Dモデリング部22は、調整された2次元モデルデータに基づいて3次元モデルデータを更新する。これにより、コンピュータ20のユーザは、マウス50やスタイラス60を用いて2D画像表示領域32上で可動頂点を移動させることにより、3次元形状を所望の形状に近づくように修正すると共に、修正された3次元形状に対応した2次元パターン34を得ることが可能となる。
〔シーム追加ルーチン〕
図31は、実施例のコンピュータ20において実行されるシーム追加ルーチンの一例を示すフローチャートである。かかるシーム追加ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図32(a)に示すように、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36の外周上または内側に始点および終点を有すると共に当該外周の内側に含まれる切込ストロークDSが入力されたときに実行されるものである。図31のシーム追加ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系のX−Y座標系に基づく切込ストロークDSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば切込ストロークDSの始点から終点までの所定間隔おきの点のX−Y座標を切込ストロークDSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS900)。更に、座標処理部21の座標演算部21bは、ステップS300にて取得した切込ストロークDSを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、切込ストロークDSを形成する頂点ごとに、当該頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標を切込ストロークDSを形成する頂点の3次元座標データとして3Dデータ格納部26に格納する(ステップS910)。
図31は、実施例のコンピュータ20において実行されるシーム追加ルーチンの一例を示すフローチャートである。かかるシーム追加ルーチンは、例えば上述の基本ルーチンが少なくとも1回実行されて3D画像表示領域33に3次元画像36が表示されている状態で、図32(a)に示すように、マウス50やスタイラス60を介してユーザにより3D画像表示領域33上で3次元画像36の外周上または内側に始点および終点を有すると共に当該外周の内側に含まれる切込ストロークDSが入力されたときに実行されるものである。図31のシーム追加ルーチンの開始に際して、コンピュータ20の座標処理部21は、3D画像表示領域33に対して設定されている絶対座標系のX−Y座標系に基づく切込ストロークDSを形成する各点の座標を表示装置30から取得すると共に、取得した各点の座標のうち、例えば切込ストロークDSの始点から終点までの所定間隔おきの点のX−Y座標を切込ストロークDSを形成する頂点の2次元座標データとして2Dデータ格納部25に格納する(ステップS900)。更に、座標処理部21の座標演算部21bは、ステップS300にて取得した切込ストロークDSを形成する頂点の2次元座標データと、3Dデータ格納部26に格納されている3次元モデルデータ(ポリゴンメッシュの各頂点の3次元座標)とに基づいて、切込ストロークDSを形成する頂点ごとに、当該頂点を通ってZ軸方向(ユーザの視線方向)に延びる直線と3次元モデルデータに基づくメッシュ面との交点の座標(3次元座標)を算出し、算出した座標を切込ストロークDSを形成する頂点の3次元座標データとして3Dデータ格納部26に格納する(ステップS910)。
次いで、2D/3Dモデリング部22は、ステップS910にて取得された切込ストロークDSを形成する頂点の3次元座標データと3Dデータ格納部26に格納されている3次元モデルデータとに基づいて、それまで3Dデータ格納部26に格納されていた3次元モデルデータにより規定される3次元形状を切込ストロークDSに対応した箇所に切込ラインが形成されたものとしてリメッシュする(ステップS920)。こうして3次元モデルデータが更新されると、更新された3次元モデルデータは3Dデータ格納部26に格納され、3D画像表示制御部29は、3次元モデルデータに基づいて3次元画像36を3D画像表示領域33に表示させる(ステップS930)。また、2Dモデルデータ調整部23は、ステップS920にて更新された3次元モデルデータに基づいて2次元モデルデータを調整し、調整・更新した2次元モデルデータを2Dデータ格納部25に格納する(ステップS940)。実施例では、SHEFFERらによって提案された2次元展開手法(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. 参照)を用いて3次元モデルデータから2次元モデルデータを生成することとしている。そして、2D画像表示制御部28によって2D画像表示領域32への2次元モデルデータに基づく2次元パターン34等の表示が実行されると(ステップS950)、本ルーチンが終了する。
ここまで説明したように、実施例の3次元形状展開用プログラムがインストールされたコンピュータ20では、マウス50やスタイラス60等を介して3D画像表示領域33に表示された3次元画像36の外周上または内側に始点および終点を有すると共に外周の内側に含まれる切込ストロークDSが入力されると、2D/3Dモデリング部22により切込ストロークDSに対応した箇所に切込ラインが形成されたものとして3次元モデルデータが更新され(ステップS920)、2Dモデルデータ調整部23は、更新された3次元モデルデータに基づいて2次元モデルデータを調整する(ステップS940)。これにより、ユーザは、3D画像表示領域33において3次元画像36に切り込みを入れるように切込ストロークDSを入力することにより、2次元パターン34に切込ストロークDSに対応した新たな接合ラインを追加して、それにより3次元形状を変化させることが可能となる。そして、切込ストロークDSの入力に伴い、図32(b)に示すように2次元パターン34の外周から内側に向けて延びる接合ラインが形成されたような場合には、当該接合ラインを形成する各頂点のうち、2次元パターン34の最も内側に位置する端点以外の全頂点が互いに重なり合った2つの頂点からなるものとして取り扱い、2D画像表示領域32上で切込ストロークDSに対応した新たな接合ラインの頂点(可動頂点)を移動させることができるようにするとよい。これにより、図32(c)に示すように2D画像表示領域32上で新たな接合ラインの頂点(可動頂点)を移動させて、図32(d)に示すように3次元形状をよりきめ細かく変化させることが可能となる。
なお、上述の実施例に係る3次元形状展開用プログラムは、1台のコンピュータ20にインストールされるものとして説明されたが、これに限られるものではない。すなわち、3次元形状展開用プログラムは、3次元モデリングや3次元画像表示制御といった3次元データに関連した処理を実行するモジュールと2次元モデルデータの調整や2次元画像表示制御といった2次元データに関連した処理を実行するモジュールとに区分けされてもよく、これらのモジュールが互いに通信可能な2台のコンピュータに別々にインストールされてもよい。これにより、3次元形状のモデリングや2次元パターンの生成等における処理速度をより高速化することが可能となる。また、上記実施例は、コンピュータ20に対して1台の表示装置30が接続されると共に表示装置30の表示画面31に2D画像表示領域32と3D画像表示領域33とが表示されるものとして説明されたが、これに限られるものではない。すなわち、コンピュータ20に対して2台の表示装置30を接続し、一方の表示装置30の表示画面31に2D画像表示領域32を表示させると共に他方の表示装置30の表示画面31に3D画像表示領域33を表示させてもよい。
以上、実施例を用いて本発明の実施の形態について説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、様々な変更をなし得ることはいうまでもない。
本発明は、情報処理分野において有用である。
20 コンピュータ、21 座標処理部、21a 座標系設定部、21b 座標演算部、22 2D/3Dモデリング部、23 2Dモデルデータ調整部、24 データ格納部、25 2Dデータ格納部、26 3Dデータ格納部、27 コネクタ設定部、28 2D画像表示制御部、29 3D画像表示制御部、30 表示装置、31 表示画面、32 2D画像表示領域、33 3D画像表示領域、33A,33B サブウィンドウ、34 2次元パターン、35 コネクタ、36,36A、36B 3次元画像、36s 輪郭、37 シームライン、40 キーボード、50 マウス、60 スタイラス、70 プリンタ、AS 追加ストローク、CS 分断ストローク、DS 切込ストローク、SS 輪郭ストローク、BL1,BL2 ベースライン。
Claims (21)
- 3次元形状を2次元に展開するための3次元形状展開装置であって、
前記3次元形状の輪郭を入力するための入力手段と、
前記入力手段を介して入力された輪郭の2次元座標データを取得する座標取得手段と、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリング手段と、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリング手段と、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整手段と、
を備える3次元形状展開装置。 - 請求項1に記載の3次元形状展開装置において、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行される3次元形状展開装置。 - 請求項1または2に記載の3次元形状展開装置において、
前記2次元モデリング手段は、前記入力された輪郭の1つに対応して互いに表裏の関係をなす一対の2次元パターンについての2次元モデルデータを生成し、
前記3次元モデリング手段は、前記一対の2次元パターンを互いに対応する外周同士を接合した状態で膨らませて得られる3次元形状の3次元モデルデータを生成する3次元形状展開装置。 - 請求項1から3の何れか一項に記載の3次元形状展開装置において、
前記座標取得手段は、前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭を形成する頂点である仮頂点の所定の2次元座標系における2次元座標データを取得し、
前記2次元モデルデータ調整手段は、
前記仮頂点および前記入力された輪郭を形成する頂点である目標頂点の2次元座標データに基づいて、前記目標頂点と該目標頂点に対応した前記仮頂点とを結ぶベクトルの該仮頂点の法線方向への射影成分の長さを算出する射影成分長さ算出手段と、
前記2次元モデルデータにより規定される2次元パターンの輪郭を形成する頂点である対象頂点を該対象頂点の法線方向に前記算出された射影成分の長さだけ移動させたときの前記対象頂点の座標を算出する座標算出手段と、
を含む3次元形状展開装置。 - 請求項4に記載の3次元形状展開装置において、
前記射影成分の長さの全仮頂点についての総和と所定の閾値とを比較し、前記総和が前記閾値以下となったときに前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致したと判断する判定手段を更に備える3次元形状展開装置。 - 請求項1から5の何れか一項に記載の3次元形状展開装置において、
前記2次元モデリング手段は、前記入力された輪郭の前記2次元座標データに基づいて該2次元座標データにより規定される2次元パターンをポリゴンメッシュによりメッシュ分割すると共に前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを前記2次元モデルデータとして出力する3次元形状展開装置。 - 請求項6に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記2次元モデルデータに基づいて前記ポリゴンメッシュの各エッジにより画成されるメッシュ面を該メッシュ面の法線方向における所定の移動制約および前記ポリゴンメッシュの各エッジの少なくとも伸長を規制する所定の伸縮制約のもとで該法線方向かつ外方に移動させたときの前記ポリゴンメッシュの頂点の座標および一対の頂点間のエッジ長さを求め、求めた座標およびエッジ長さを前記3次元モデルデータとして出力する3次元形状展開装置。 - 請求項7に記載の3次元形状展開装置において、
前記所定の移動制約は、メッシュ面fの面積をA(f)とし、メッシュ面fの法線ベクトルをn(f)とし、ある頂点Viを含むメッシュ面の集合をNiとしたときに、頂点Viの移動量Δdfを次式(1)に従って設定する制約であり(ただし、αは所定の係数である。)、
前記所定の伸縮制約は、ある頂点Viとエッジを介して結ばれる頂点をVjとし、頂点Viと頂点Vjとを結ぶエッジをeijとし、頂点Viと交わるエッジeijの集合をEijとし、エッジeijの左側に位置する面の面積をA(e.leftface)とし、エッジeijの右側に位置する面の面積をA(e.rightface)とし、エッジeijから頂点Vi,Vjに加えられる引張力をtijとしたときに、前記頂点Viの移動量Δdeを次式(2)に従って設定する制約であり(ただし、βは所定の係数であり、引張力tijは次式(3)のとおりであり、式(3)におけるlijはもとのエッジ長さである。)、
前記3次元モデリング手段は、全頂点Viを式(1)から定まる移動量Δdfだけ移動させた後、移動後の全頂点Viを更に式(2)から定まる移動量Δdeだけ少なくとも1回移動させたときの3次元座標データを算出する3次元形状展開装置。
- 請求項1から8の何れか一項に記載の3次元形状展開装置において、
画面上に3次元画像を表示可能な3次元画像表示手段と、
画面上に2次元画像を表示可能な2次元画像表示手段と、
前記3次元モデルデータに基づいて該3次元モデルデータにより規定される3次元形状を示す3次元画像が前記画面に表示されるように前記3次元画像表示手段を制御する3次元画像表示制御手段と、
前記2次元モデリング手段により生成された2次元モデルデータまたは前記2次元モデルデータ調整手段により調整された2次元モデルデータに基づいて該2次元モデルデータにより規定される2次元パターンを示す2次元画像が前記画面に表示されるように前記2次元画像表示手段を制御する2次元画像表示制御手段と、
を更に備える3次元形状展開装置。 - 請求項9に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周と2点で交差すると共に該3次元画像を分断する分断ストロークが入力されたときに、前記3次元モデルデータにより規定される3次元形状が前記分断ストロークを所定方向にスイープして得られる可展面により該可展面の一側の領域を残すと共に該可展面の他側の領域を消去するようにカットされたものとして前記3次元モデルデータを生成し、
前記2次元モデルデータ調整手段は、前記生成された3次元モデルデータに基づいて前記可展面の一側の領域に対応するように前記2次元モデルデータを調整する3次元形状展開装置。 - 請求項10に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記可展面の一側の領域に対応するように調整された2次元モデルデータに基づいて、該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成し、
前記入力された分断ストロークと、前記3次元モデルデータにより規定される3次元形状の前記分断ストロークに対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行される3次元形状展開装置。 - 請求項9に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に前記外周の外側に突出する追加ストロークが入力されたときに、前記追加ストロークの入力により該追加ストロークの始点および終点を通る所定のベースラインが形成されたものとして該ベースラインに対応するように前記3次元モデルデータを生成し、
前記座標取得手段は、前記追加ストロークの始点および終点を含む所定の仮想平面に対して設定される所定の2次元座標系における前記追加ストロークを形成する頂点の2次元座標データを取得すると共に前記ベースラインを形成する頂点を前記仮想平面に投影して得られる2次元座標データを取得し、
前記2次元モデルデータ調整手段は、前記追加ストロークを形成する頂点および前記ベースラインを形成する頂点の2次元座標データに基づいて前記追加ストロークと前記ベースラインとに対応するように前記2次元モデルデータを調整する3次元形状展開装置。 - 請求項12に記載の3次元形状展開装置において、
前記ベースラインは、前記3次元形状の表面と前記仮想平面との交線に含まれて前記追加ストロークの前記始点から前記終点まで延びるラインである3次元形状展開装置。 - 請求項12に記載の3次元形状展開装置において、
前記ベースラインは、前記追加ストロークの前記始点および終点を含むと共に所定の面形状を画成する閉じたラインである3次元形状展開装置。 - 請求項12から14の何れか一項に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記追加ストロークと前記ベースラインとに対応するように調整された2次元モデルデータに基づいて、該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成し、
前記入力された追加ストロークと前記3次元モデルデータにより規定される3次元形状の前記追加ストロークに対応した輪郭とが概ね一致するまで、前記2次元モデルデータ調整手段による前記2次元モデルデータの調整と、前記調整された2次元モデルデータに基づく前記3次元モデリング手段による前記3次元モデルデータの更新とが繰り返し実行される3次元形状展開装置。 - 請求項9に記載の3次元形状展開装置において、
前記3次元画像表示手段の前記画面上で前記2次元パターン同士の接合ラインに対応したシームラインを形成する頂点である可動頂点を移動させるための3次元画像操作手段を更に備え、
前記座標取得手段は、前記3次元画像操作手段を介して前記3次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、該可動頂点とそれを含む前記シームラインとに基づく所定の仮想平面に対して設定される所定の2次元座標系における前記可動頂点の2次元座標データを取得し、
前記2次元モデルデータ調整手段は、前記2次元座標データに基づいて前記可動頂点の前記仮想平面上での移動量を算出すると共に、前記可動頂点に対応した前記接合ラインを形成する頂点が該頂点の法線方向に前記算出された移動量だけ移動したものとして前記2次元モデルデータを調整し、
前記3次元モデリング手段は、前記調整された2次元モデルデータに基づいて前記3次元モデルデータを更新する3次元形状展開装置。 - 請求項9または16に記載の3次元形状展開装置において、
前記2次元画像表示手段の前記画面上で前記2次元パターンの外周を形成する頂点である可動頂点を移動させるための2次元画像操作手段を更に備え、
前記座標取得手段は、前記2次元画像操作手段を介して前記2次元画像表示手段の前記画面上で前記可動頂点が移動されるときに、所定の2次元座標系における前記可動頂点の2次元座標データを取得し、
前記2次元モデルデータ調整手段は、前記可動頂点がもとの位置から前記取得された2次元座標データに基づく位置まで移動したものとして前記2次元モデルデータを調整し、
前記3次元モデリング手段は、前記調整された2次元モデルデータに基づいて前記3次元モデルデータを更新する3次元形状展開装置。 - 請求項9または17に記載の3次元形状展開装置において、
前記3次元モデリング手段は、前記入力手段を介して前記3次元画像表示手段の前記画面上に表示された3次元画像の外周上または内側に始点および終点を有すると共に前記外周の内側に含まれる切込ストロークが入力されたときに、前記切込ストロークに対応した箇所に切込ラインが形成されたものとして前記3次元モデルデータを更新し、
前記2次元モデルデータ調整手段は、前記更新された3次元モデルデータに基づいて前記2次元モデルデータを調整する3次元形状展開装置。 - 3次元形状を2次元に展開するための3次元形状展開方法であって、
(a)前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得するステップと、
(b)前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成するステップと、
(c)前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成するステップと、
(d)ステップ(a)にて入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整するステップと、
を含む3次元形状展開方法。 - 請求項19に記載の3次元形状展開方法において、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが概ね一致するまで、ステップ(d)と、(e)ステップ(d)にて調整された2次元モデルデータに基づいて前記3次元モデルデータを更新するステップとを繰り返し実行する3次元形状展開方法。 - 3次元形状を2次元に展開する3次元形状展開装置としてコンピュータを機能させるための3次元形状展開用プログラムであって、
前記3次元形状の輪郭を入力するための入力手段を介して入力された輪郭の2次元座標データを取得する座標取得モジュールと、
前記2次元座標データに基づく2次元モデリングを実行して該2次元座標データにより規定される2次元パターンについての2次元モデルデータを生成する2次元モデリングモジュールと、
前記2次元モデルデータに基づく3次元モデリングを実行して該2次元モデルデータにより規定される2次元パターンを膨らませて得られる3次元形状の3次元モデルデータを生成する3次元モデリングモジュールと、
前記入力された輪郭と前記3次元モデルデータにより規定される3次元形状の前記入力された輪郭に対応した輪郭とが一致するように前記2次元モデルデータを調整する2次元モデルデータ調整モジュールと、
を備える3次元形状展開用プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007204018A JP2009042811A (ja) | 2007-08-06 | 2007-08-06 | 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム |
| US12/068,075 US20090040224A1 (en) | 2007-08-06 | 2008-02-01 | Three-dimensional shape conversion system, three-dimensional shape conversion method, and program for conversion of three-dimensional shape |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007204018A JP2009042811A (ja) | 2007-08-06 | 2007-08-06 | 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009042811A true JP2009042811A (ja) | 2009-02-26 |
Family
ID=40346029
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007204018A Pending JP2009042811A (ja) | 2007-08-06 | 2007-08-06 | 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20090040224A1 (ja) |
| JP (1) | JP2009042811A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015115047A (ja) * | 2013-12-16 | 2015-06-22 | 国立大学法人 東京大学 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
| JP2015535719A (ja) * | 2012-10-05 | 2015-12-17 | マテリアライズ エン.フェー. | カスタマイズされた大動脈ステントデバイスおよびそれを作製する方法 |
Families Citing this family (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7559931B2 (en) | 2003-06-09 | 2009-07-14 | OrthAlign, Inc. | Surgical orientation system and method |
| WO2004112610A2 (en) | 2003-06-09 | 2004-12-29 | Vitruvian Orthopaedics, Llc | Surgical orientation device and method |
| US10133928B2 (en) * | 2006-05-02 | 2018-11-20 | Digitalglobe, Inc. | Advanced semi-automated vector editing in two and three dimensions |
| EP2136715B1 (en) * | 2007-04-19 | 2014-06-25 | Mako Surgical Corp. | Implant planning using captured joint motion information |
| KR100915574B1 (ko) * | 2007-12-17 | 2009-09-07 | 한국전자통신연구원 | 충분히 매끄럽게 만들어진 메쉬의 각진 부분을 복원하는메쉬 재구성 방법 및 장치 |
| CA3050929A1 (en) * | 2008-07-24 | 2010-01-28 | OrthAlign, Inc. | Systems and methods for joint replacement |
| US20100137871A1 (en) | 2008-09-10 | 2010-06-03 | OrthAlign, Inc. | Hip surgery systems and methods |
| US9364291B2 (en) * | 2008-12-11 | 2016-06-14 | Mako Surgical Corp. | Implant planning using areas representing cartilage |
| WO2011003171A1 (en) * | 2009-07-08 | 2011-01-13 | Smart Technologies Ulc | Three-dimensional widget manipulation on a multi-touch panel |
| US10869771B2 (en) | 2009-07-24 | 2020-12-22 | OrthAlign, Inc. | Systems and methods for joint replacement |
| US8118815B2 (en) | 2009-07-24 | 2012-02-21 | OrthAlign, Inc. | Systems and methods for joint replacement |
| JP5357685B2 (ja) * | 2009-09-28 | 2013-12-04 | 株式会社ソニー・コンピュータエンタテインメント | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体 |
| US8543532B2 (en) * | 2009-10-05 | 2013-09-24 | Nokia Corporation | Method and apparatus for providing a co-creation platform |
| EP2525740A4 (en) * | 2010-01-21 | 2016-01-20 | Orthalign Inc | SYSTEMS AND METHOD FOR THE REPLACEMENT OF JOINTS |
| WO2011096964A1 (en) | 2010-02-03 | 2011-08-11 | Exxonmobil Upstream Research Company | Method for using dynamic target region for well path/drill center optimization |
| CN102436674A (zh) * | 2010-09-29 | 2012-05-02 | 国际商业机器公司 | 用于创建模型数据的方法及系统 |
| US9092191B2 (en) * | 2010-10-01 | 2015-07-28 | Z124 | Smart pad operation with differing aspect ratios |
| CN102467595B (zh) * | 2010-11-12 | 2015-04-01 | 中兴通讯股份有限公司 | 膝上型电脑设备模型的处理方法及装置 |
| US8994742B2 (en) * | 2011-10-18 | 2015-03-31 | 3D Systems, Inc. | Systems and methods for seam resolution |
| CN102521343B (zh) * | 2011-12-09 | 2013-05-15 | 山东大学 | 一种电力系统仿真软件输入数据转换方法 |
| US9595129B2 (en) | 2012-05-08 | 2017-03-14 | Exxonmobil Upstream Research Company | Canvas control for 3D data volume processing |
| WO2013173700A1 (en) | 2012-05-18 | 2013-11-21 | OrthAlign, Inc. | Devices and methods for knee arthroplasty |
| US9649160B2 (en) | 2012-08-14 | 2017-05-16 | OrthAlign, Inc. | Hip replacement navigation system and method |
| CN102945568B (zh) * | 2012-10-22 | 2015-09-30 | 江阴纳尔捷机器人有限公司 | 一种空间网壳结构的数据处理方法 |
| GB201304321D0 (en) * | 2013-03-11 | 2013-04-24 | Creative Edge Software Llc | Apparatus and method for applying a two-dimensional image on a three-dimensional model |
| CN103268368B (zh) * | 2013-03-27 | 2016-01-13 | 北京工业大学 | 一种克林根贝尔格锥齿轮接触调整方法 |
| US9323869B1 (en) * | 2013-04-16 | 2016-04-26 | Msc.Software Corporation | Mesh-based shape optimization systems and methods |
| JP6091371B2 (ja) * | 2013-07-29 | 2017-03-08 | ローランドディー.ジー.株式会社 | スライスデータ作成装置、スライスデータ作成方法、プログラムおよびコンピューター読み取り可能な記録媒体 |
| EP2833326B1 (en) * | 2013-07-30 | 2016-04-06 | Dassault Systèmes | Lossless compression of a 3D mesh including transforming of the mesh to a image |
| US20150246488A1 (en) * | 2014-03-03 | 2015-09-03 | Microsoft Corporation | Fabricating three-dimensional objects with overhang |
| US9734264B2 (en) * | 2014-05-05 | 2017-08-15 | Microsoft Technology Licensing, Llc | Fabricating three-dimensional objects with embossing |
| CA2963154C (en) * | 2014-09-30 | 2020-05-05 | Cae Inc. | Rendering plausible images of 3d polygon meshes |
| US9636596B2 (en) | 2014-10-13 | 2017-05-02 | Deeplocal, Inc. | Dynamic balloon display device and method for use thereof |
| US9721379B2 (en) * | 2014-10-14 | 2017-08-01 | Biosense Webster (Israel) Ltd. | Real-time simulation of fluoroscopic images |
| CN104376152B (zh) * | 2014-10-31 | 2018-04-27 | 北京宇航系统工程研究所 | 一种参数化建模和标注方法 |
| US10363149B2 (en) | 2015-02-20 | 2019-07-30 | OrthAlign, Inc. | Hip replacement navigation system and method |
| JP6429682B2 (ja) * | 2015-03-04 | 2018-11-28 | 株式会社日立産機システム | ネットワークシミュレーション装置、ネットワークシミュレーション方法及びネットワークシミュレーションプログラム |
| CN104951589B (zh) * | 2015-04-02 | 2018-01-02 | 中南大学 | 一种露天爆破矿体边界损失贫化控制系统及操作方法 |
| CN105138738B (zh) * | 2015-07-31 | 2018-05-25 | 中南大学 | 一种三维渗透张量计算方法 |
| US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
| US10481678B2 (en) * | 2017-01-11 | 2019-11-19 | Daqri Llc | Interface-based modeling and design of three dimensional spaces using two dimensional representations |
| US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
| US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
| CA3056382A1 (en) | 2017-03-14 | 2018-09-20 | OrthAlign, Inc. | Hip replacement navigation systems and methods |
| CA3056495A1 (en) | 2017-03-14 | 2018-09-20 | OrthAlign, Inc. | Soft tissue measurement & balancing systems and methods |
| US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
| US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
| US20190005709A1 (en) * | 2017-06-30 | 2019-01-03 | Apple Inc. | Techniques for Correction of Visual Artifacts in Multi-View Images |
| CN109934928B (zh) * | 2019-03-18 | 2023-04-14 | 江西博微新技术有限公司 | 基于骨架化的三维模型简化方法 |
| KR102149105B1 (ko) * | 2019-09-18 | 2020-08-27 | 세종대학교산학협력단 | 혼합현실 기반 3차원 스케치 장치 및 방법 |
| CN111724483B (zh) * | 2020-04-16 | 2024-07-19 | 北京诺亦腾科技有限公司 | 一种图像移植方法 |
| CN113781622B (zh) * | 2021-08-31 | 2024-12-20 | 咪咕文化科技有限公司 | 三维模型纹理贴图的转换方法、装置、设备以及介质 |
| CN115146449A (zh) * | 2022-06-13 | 2022-10-04 | 中冶京诚工程技术有限公司 | 扭转连接溜管制作方法和装置 |
| US20240193851A1 (en) * | 2022-12-12 | 2024-06-13 | Adobe Inc. | Generation of a 360-degree object view by leveraging available images on an online platform |
| CN118858441B (zh) * | 2024-09-27 | 2024-12-03 | 国网江苏省电力有限公司 | 用于灌注桩成孔质量检测的三维成像方法、装置及系统 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4558437B2 (ja) * | 2004-10-12 | 2010-10-06 | デジタルファッション株式会社 | 仮想型紙作成プログラム、仮想型紙作成装置、及び仮想型紙作成方法 |
| US7586490B2 (en) * | 2004-10-20 | 2009-09-08 | Siemens Aktiengesellschaft | Systems and methods for three-dimensional sketching |
-
2007
- 2007-08-06 JP JP2007204018A patent/JP2009042811A/ja active Pending
-
2008
- 2008-02-01 US US12/068,075 patent/US20090040224A1/en not_active Abandoned
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015535719A (ja) * | 2012-10-05 | 2015-12-17 | マテリアライズ エン.フェー. | カスタマイズされた大動脈ステントデバイスおよびそれを作製する方法 |
| JP2015115047A (ja) * | 2013-12-16 | 2015-06-22 | 国立大学法人 東京大学 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
| WO2015093457A1 (ja) * | 2013-12-16 | 2015-06-25 | 国立大学法人東京大学 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20090040224A1 (en) | 2009-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2009042811A (ja) | 3次元形状展開装置、3次元形状展開方法、および3次元形状展開用プログラム | |
| US8773431B2 (en) | Methods and apparatus for generating an N-sided patch by sketching on a three-dimensional reference surface | |
| Wang et al. | Feature based 3D garment design through 2D sketches | |
| US8334868B2 (en) | Method and apparatus for surface inflation using mean curvature constraints | |
| JP4613313B2 (ja) | 画像処理システムおよび画像処理プログラム | |
| KR100914218B1 (ko) | 3차원 스캔 데이터를 이용하여 로프트 서피스를 계산하기위한 시스템 및 방법 | |
| CN102812463A (zh) | 能够进行三维对象模型的3d印刷的方法和系统 | |
| US9881417B2 (en) | Multi-view drawing apparatus of three-dimensional objects, and method | |
| US10467791B2 (en) | Motion edit method and apparatus for articulated object | |
| JP2011048586A (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
| EP3474185B1 (en) | Classification of 2d images according to types of 3d arrangement | |
| US8681147B1 (en) | Fractured texture coordinates | |
| US10289771B2 (en) | Modification of a constrained asymmetrical subdivision mesh | |
| CN115023742A (zh) | 具有详细褶皱的面部网格变形 | |
| JP6435337B2 (ja) | コンピュータ支援設計モデルの破断表現の作成 | |
| CN102378990A (zh) | 用于交互式实时网格分割的系统和方法 | |
| US20250078407A1 (en) | Method for modifying a 3d model by using a partial sketch | |
| JP2010271820A (ja) | 立体形状生成方法及び立体形状生成システム | |
| CN106716500B (zh) | 一种信息处理装置及深度定义方法 | |
| JP6676259B2 (ja) | タイリング図形生成システム、タイリング図形生成方法及びプログラム | |
| CN104143211A (zh) | 基于单幅图像的三维自由形体生成方法 | |
| KR101634461B1 (ko) | 스케치를 이용한 얼굴 주름 생성 장치 및 방법 | |
| CN109308732B (zh) | 基于控制网格变形的部件网格融合方法及系统 | |
| JP2023071137A (ja) | 顔表情を生成するための方法及びそれを利用する3次元グラフィックインターフェース装置 | |
| JP2006277712A (ja) | 3次元モデルのフィッティング装置、方法及びプログラム |