(57)【特許請求の範囲】
【請求項１】
衣類の着装状態をシミュレーションすると共に、追加アイテムを後付けした衣類の着装状態を求める装置において、
追加アイテムの形状を表すポリゴンデータを記憶する記憶部と、
追加アイテムの形状をユーザの指示に従って編集するために、前記ポリゴンデータを編集するための編集手段と、
追加アイテムをユーザの指示に従って衣類上に配置するための配置手段と、
追加アイテムの接合線に沿って衣類のポリゴンを再構成し、衣類のポリゴンと追加アイテムのポリゴンとに接合線に沿って辺を共有させるための接合手段と、
接合後の衣類のポリゴンと接合線とを固定し、追加アイテムのポリゴンを衣類の外側へ移動させるための１次元変形手段、とを設けたことを特徴とする、着装シミュレーション装置。
【請求項２】
前記衣類の外側の衣類のポリゴンと前記追加アイテムのポリゴンとの衝突を回避するように、前記外側の衣類のポリゴンを追加アイテムの外側へ移動させるための手段を設けたことを特徴とする、請求項１の着装シミュレーション装置。
【請求項３】
接合手段は、接合線が通過する衣類のポリゴンを再構成することを特徴とする、請求項１または２の着装シミュレーション装置。
【請求項４】
接合手段は、接合線の内側の衣類のポリゴンを追加アイテムのポリゴンで置き換え、接合線の外側のポリゴンと接合線との間のエリアに新たなポリゴンを作成することを特徴とする、請求項１または２の着装シミュレーション装置。
【請求項５】
前記記憶部は、追加アイテムのポリゴンを外側へ移動させる距離を、接合線上で０で、接合線から離れると大きくなるように記憶することを特徴とする、請求項１または２の着装シミュレーション装置。
【請求項６】
コンピュータにより、衣類の着装状態をシミュレーションすると共に、追加アイテムを後付けした衣類の着装状態を求めるためのプログラムであって、
前記コンピュータを、
追加アイテムの形状を表すポリゴンデータを記憶する記憶部と、
追加アイテムの形状をユーザの指示に従って編集するために、前記ポリゴンデータを編集するための編集手段と、
追加アイテムをユーザの指示に従って衣類上に配置するための配置手段と、
追加アイテムの接合線に沿って衣類のポリゴンを再構成し、衣類のポリゴンと追加アイテムのポリゴンとに接合線に沿って辺を共有させるための接合手段と、
接合後の衣類のポリゴンと接合線とを固定し、追加アイテムのポリゴンを衣類の外側へ移動させるための１次元変形手段、として機能させる、着装シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は着装シミュレーションに関し、特に一旦着装シミュレーションを完了した衣類に対し、ポケット、衿などのアイテムを後付けで追加することに関する。
【背景技術】
【０００２】
着装シミュレーションでは、衣類をポリゴンに分割し、人体モデルの周囲に配置し、ポリゴンに働く重力、人体モデルからの反発力、ポリゴンの変形に伴う弾性力、ポリゴン間及び人体モデルとの摩擦等を考慮して、ポリゴン単位で力学的シミュレーションを行う。シミュレーションによりポリゴンの安定配置を求め、衣類のテクスチャー、照明等のレンダリングを施し、着装状態を表示する。着装の対象は人体に限らず、ペットなどでも良い。【０００３】
ポケットなどのアイテムを衣類に後付けできると便利であるが、アイテムを付加する毎にシミュレーションを最初からやり直すのは非効率である。この点に関し、特許文献１：JP2000-242683Aは、ポケット無しの衣類に対し着装シミュレーションを行い、次いで衣類から所定の距離だけ浮かしてポケットを配置する、あるいは衣類の表面にポケットを密着させることを提案している。この場合、ポケットは、衣類に対して所定の位置に配置されているが、衣類に縫合されていない。従って視点変換を施し斜め前方から見るとポケットと衣類との隙間が見える、あるいは斜め上方から見るとポケット上端と衣類との隙間がない、などの問題が生じる。また人体モデルの姿勢を変えると、衣類をリアルタイムに変えることができても、ポケットが人体の運動に追随しない。さらに上記の衣類の外側に他の衣類が有ると、重ね着した他の衣類とポケットが干渉し、例えばポケットが他の衣類から突き出してしまうことがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】JP2000-242683A
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明の課題は、追加アイテムをベースとなる衣類に後付けで接合することにより、視点変換を施しても、あるいはモデルの姿勢を変えても、不自然な表示にならないようにすることにある。
この発明での補助的な課題は、追加アイテムと重ね着する他の衣類とが適切な位置関係を保つようにすることにある。  
【課題を解決するための手段】
【０００６】
この発明の着装シミュレーション装置は、衣類の着装状態をシミュレーションすると共に、追加アイテムを後付けした衣類の着装状態を求める装置において、
追加アイテムの形状を表すポリゴンデータを記憶する記憶部と、
追加アイテムの形状をユーザの指示に従って編集するために、前記ポリゴンデータを編集するための編集手段と、
追加アイテムをユーザの指示に従って衣類上に配置するための配置手段と、
追加アイテムの接合線に沿って衣類のポリゴンを再構成し、衣類のポリゴンと追加アイテムのポリゴンとに接合線に沿って辺を共有させるための接合手段と、
接合後の衣類のポリゴンと接合線とを固定し、追加アイテムのポリゴンを衣類の外側へ移動させるための１次元変形手段、とを設けたことを特徴とする。【０００８】
この発明の着装シミュレーションプログラムは、コンピュータにより、衣類の着装状態をシミュレーションすると共に、追加アイテムを後付けした衣類の着装状態を求めるためのプログラムであって、
前記コンピュータを、
追加アイテムの形状を表すポリゴンデータを記憶する記憶部と、
追加アイテムの形状をユーザの指示に従って編集するために、前記ポリゴンデータを編集するための編集手段と、
追加アイテムをユーザの指示に従って衣類上に配置するための配置手段と、
追加アイテムの接合線に沿って衣類のポリゴンを再構成し、衣類のポリゴンと追加アイテムのポリゴンとに接合線に沿って辺を共有させるための接合手段と、
接合後の衣類のポリゴンと接合線とを固定し、追加アイテムのポリゴンを衣類の外側へ移動させるための１次元変形手段、として機能させる。【０００９】
この発明では、ポリゴンの辺の共有により、追加アイテムをベースとなる衣類に接合でき、また追加アイテムを外側へ移動させることにより自然な形状にできる。この明細書において、着装シミュレーション装置に関する記載はそのままシミュレーションプログラムにも当てはまり、シミュレーション方法に関する記載はそのままシミュレーション装置及びシミュレーションプログラムにも当てはまる。
【００１０】
好ましくは、前記衣類の外側の衣類のポリゴンと前記追加アイテムのポリゴンとの衝突を回避するように、前記外側の衣類のポリゴンを追加アイテムの外側へ移動させるための手段を設ける。このようにすると、重ね着の内側の衣類に対してアイテムを追加しても、重ね着した外側の衣類からアイテムが突き出したりすることが無く、自然なシミュレーション結果が得られる。【００１１】
好ましくは、接合手段は接合線が通過する衣類のポリゴンを再構成する。このようにすると、追加するアイテムのポリゴンとベースとなる衣類のポリゴンとを簡単に接合でき、またポリゴンを再構成する範囲を最小限にできる。【００１２】
好ましくは、接合手段は、接合線の内側の衣類のポリゴンを追加アイテムのポリゴンで置き換え、接合線の外側のポリゴンと接合線との間のエリアに新たなポリゴンを作成する。このようにしても、追加するアイテムのポリゴンとベースとなる衣類のポリゴンとを簡単に接合でき、接合線の内側の処理も簡単である。【００１３】
好ましくは、前記記憶部は、追加アイテムのポリゴンを外側へ移動させる距離を、接合線上で０で、接合線から離れると大きくなるように記憶する。このようにすると、簡単に追加アイテムを外側へ所定長だけ移動させることができる。
【図面の簡単な説明】
【００１４】
【図１】実施例の着装シミュレーション装置のブロック図
【図２】実施例での着装シミュレーションアルゴリズムを示すフローチャート
【図３】図２以降のシミュレーションアルゴリズムを示すフローチャート
【図４】実施例での、ポケットの取り付けに伴う、身頃のポリゴンの編集を示す図
【図５】変形例での、ポケットの取り付けに伴う、身頃のポリゴンの編集を示す図
【図６】図５でのポケットのポリゴンの衣類への射影を示す水平方向断面図
【図７】身頃に密着させたポケットを外側へ移動させると共に、重ね着した他の衣類を外側へ移動させる処理を示す、水平方向断面図
【図８】ポケットの外側への移動距離を示す図
【図９】ポケットと上蓋とをシャツに接合した状態を示す図
【図１０】図９の状態から、ポケットと上蓋とを外側へ移動させた状態を示す図
【図１１】ジャケットの内側のシャツにポケットと上蓋とを接合した状態を示す図
【発明を実施するための形態】
【００１５】
以下に、発明を実施するための最適実施例を示す。この発明の範囲は、特許請求の範囲の記載に、周知技術による変更の可能性を加味して解釈されるべきである。
【実施例】
【００１６】
図１〜図１１に、実施例を示す。図１において、２は着装シミュレーション装置で、４はバスであり、６はマニュアル入力で、例えばキーボード、マウス、スタイラス、ジョイスティック、トラックボールなどである。８はカラーモニタ、１０はカラープリンタである。１２はＬＡＮインターフェース、１４は外部記憶で、外部記憶１４はデザインプログラムや着装シミュレーションプログラムなどを記憶する。１６はＣＰＵ、１８はメモリで、ＣＰＵ１６とメモリ１８とを資源として、デザイン部２０及び着装シミュレーション部２２を構成する。【００１７】
デザイン部２０は、マニュアル入力６，ＬＡＮインターフェース１２，外部記憶１４などから入力された衣類のデザインを処理し、得られたデザインをカラーモニタ８及びカラープリンタ１０などから出力する。着装シミュレーション部２２は、デザインを人体モデルあるいはペットのモデルなどに仮想的に着装させた際の状態をシミュレーションし、着装シミュレーション自体は公知である。そして着装シミュレーション結果をカラーモニタ８及びカラープリンタ１０などから出力し、ユーザは着装シミュレーション結果に基づいてデザインを変更し、特に追加アイテム、例えばポケットや衿などを追加する。【００１８】
着装シミュレーション部２２のサブシステムとして、追加アイテムデータ記憶部２４〜追加アイテム配置部３４がある。追加アイテムデータ記憶部２４は、ポケットあるいは衿などの追加アイテムの形状を記憶し、ここに形状を記憶するとは、追加アイテムを構成するポリゴンの位置データを記憶することで、例えばポリゴンの中心データ、あるいはポリゴンの頂点データなどを記憶することである。追加アイテムデータ記憶部２４は、追加アイテムを衣類に後付けした際に、アイテムの各ポリゴンを衣類からどれだけ外側に移動させるかを規定する、移動量データを記憶している。接合処理部２６は、追加アイテムの取付位置が決まると、図４〜図６のようにして、追加アイテムの付近で衣類側のポリゴンを再構成する。追加アイテム１次元変形部２８は、衣類に接合された追加アイテムを衣類の外側へ移動させ、この移動量は追加アイテムデータ記憶部２４が記憶している。【００１９】
重ね着処理部３０は、追加アイテムのさらに外側に他の衣類が存在する場合に、追加アイテムと他の衣類との衝突を検出し、具体的には追加アイテムのポリゴンと他の衣類のポリゴンとの衝突を検出し、他の衣類のポリゴンを追加アイテムの外側へ移動させることにより衝突を解消する。追加アイテム編集部３２は追加アイテムの形状を編集し、例えば図示しないユーザがマニュアル入力６などから記憶部２４の追加アイテムを選択した際に、追加アイテムの形状変更を自在にする。追加アイテムの形状が編集されると、記憶部２４ではポリゴンデータを追加アイテムの形状変更に応じて、例えば相似変形する。追加アイテム配置部３４は、ユーザが追加アイテムをベースとなる衣類上に配置することを支援し、具体的にはユーザが追加アイテムをドラッグすることに合わせて、カラーモニタ８上でベースとなる衣類に対し追加アイテムを移動させる。【００２０】
図２，図３に、実施例での着装シミュレーションアルゴリズムを示す。最初にベースとなる衣類、例えばシャツ、の着装状態をシミュレーションする(ステップ１）。ステップ２で重ね着の有無をチェックし、重ね着がある場合、重ね着する衣類の着装状態をシミュレーションする(ステップ３）。次に記憶部２４が記憶している追加アイテムの種類を例えばカラーモニタ８に表示し、ユーザは追加するアイテムを選択し、カラーモニタ８にベースとなる衣類を表示させて、カラーモニタ８上で追加アイテムの取付位置を指定し、また追加アイテムの形状を編集する(ステップ４）。記憶部２４は、例えばポケットの基本形状を複数種類記憶し、ユーザは基本形状を選択し、縦方向に伸縮あるいは横方向に伸縮することなどにより形状を編集する。形状の変更に応じて、追加アイテムのポリゴンを変形させ、例えばポケットの縦方向の伸縮率と同じ割合で各ポリゴンを縦方向に伸縮させ、横方向の伸縮率と同じ割合で横方向にポリゴンを伸縮させる。伸縮率が１から大きく外れる場合、追加アイテムの形状を編集するため、ポリゴンを追加あるいは削除する。【００２１】
カラーモニタ８にベースとなる衣類と追加アイテムとを重ねて表示した状態から、ユーザは追加アイテムの位置と形状、あるいは位置を決定する。接合処理部２６は位置が決定されると、追加アイテムの輪郭に沿って所定の範囲に、追加アイテムとベースとなる衣類との接合線を発生させ、接合は実物での縫合あるいは接着に対応する(ステップ５）。追加アイテムの側では輪郭線は元々ポリゴンの辺に重なるが、ベースとなる衣類の側では輪郭線がポリゴンの辺を通る保証は無い。そこでベースとなる衣類の側では、接合線が通過するポリゴンを接合線を境に分割し、接合線の両側の各々に境界ポリゴンを発生させる。この結果、接合線が通過するポリゴンは境界ポリゴンで置き換えられるが、接合線が通過しないポリゴンは処理しない。そして境界ポリゴンは、追加アイテムのポリゴンと接合線上で辺を共有するように発生させる(ステップ６）。【００２２】
ステップ６の処理に代えて、ベースとなる衣類のシャツに対し、接合線の内部のポリゴンを追加アイテムのポリゴンのコピーで置き換える。この操作を追加アイテムのポリゴンをベースとなる衣類に埋め込むと呼び、追加アイテムには元のポリゴンがあり、ベースとなる衣類の接合線の内部には追加アイテムから埋め込んだポリゴンがある。次に、接合線とその外側のポリゴンとの間のエリアに、境界ポリゴンを発生させる(ステップ７）。ステップ６もしくはステップ７の処理により、追加アイテムの端部のポリゴンと境界ポリゴンとが、接合線上で辺を共有する。この結果、追加アイテムはベースとなる衣類に接合線で固定され、例えば人体モデルの運動に伴って衣類をさらに変形させると、追加アイテムも連動して変形する。さらに追加アイテムとベースとなる衣類は接合線で隙間無しに接合され、どの視点から見ても接合されている。【００２３】
追加アイテムをベースとなる衣類に接合した後、結合子Ａから図３のステップ８に移り、追加アイテムのポリゴンを、例えばポリゴンの法線方向に沿って衣類の外側に移動させる(ステップ８）。そしてステップ９で、追加アイテムのさらに外側にある衣類（重ね着）との、ポリゴン間の衝突の有無を判定し、衝突が有れば重ね着側のポリゴンを外側へ移動させて衝突を解消する(ステップ１０）。得られたシミュレーション結果をカラーモニタに表示し(ステップ１１）、ユーザがデザインを変更し、例えば追加アイテムの位置あるいは形状などを変更すると、それに応じた処理を行う。【００２４】
図４に、シャツ４０にポケット４２を接合する際の境界ポリゴン４８の発生を示し、ポケット４２では上部を除いて輪郭が自動的に接合線４４となる。またポケット４２のポリゴンデータは、追加アイテムデータ記憶部２４が記憶している。図４の右側のように、ポケット４２の取付位置を指定すると、シャツの接合線４４を含むポリゴンを編集範囲４６とし、編集範囲４６内のポリゴンを境界ポリゴン４８で置き換える。境界ポリゴン４８は接合線４４上に辺を持ち、かつこの辺は、ポケット４２の接合線４４に沿ったポリゴンの辺と一致する。この結果、ポケット４２のポリゴンと境界ポリゴン４８は、接合線４４上の辺を共有し、シャツ４０に対し縫合などで接合されたことになる。図４の左側に、接合後のポリゴン配置を示す。【００２５】
図４の処理では、ポケット４２側ではポリゴンの再構成が不必要で、シャツ４０側では接合線４４が通過するポリゴン及びその１個外側のポリゴン、即ち接合線の近傍のポリゴンを再構成する。再構成の範囲は、接合線４４が通過するポリゴンのみ、あるいは接合線に直角な方向に沿ってポリゴン２個〜３個分とする。これに対して図５の処理では、右上段のポケット４２が左上段のようにシャツ４０上に配置されると、ポケット４２の内部のエリアに対し、シャツのポリゴンをポケット４２のポリゴンで置き換える。言い換えると、ポケット４２のポリゴンをシャツ４０側にコピーする。ポケット４２の輪郭と、ポケット４２とは重ならないシャツ４０の外側のポリゴンとの間のエリアを編集範囲４７とし、この範囲に境界ポリゴンを設ける。境界ポリゴンは、接合線４４上でシャツ４０のポリゴンと辺を共有するが、ポケット４２の上端の仮想接合線４５上ではポケット４２のポリゴンと辺を共有しない。また境界ポリゴンは、編集範囲４７の外側の輪郭で、シャツ４０の元々のポリゴンと頂点を共有する。【００２６】
ポケット４２側のポリゴンのシャツ４０へのコピーを図６に示す。シャツ４０は３Ｄ空間で曲面上に配置され、これに対してポケット４２は平面上に配置されているが、両者間の距離は僅かである。ポケット４２のポリゴン中心５０から、例えばポリゴンの法線方向に沿ってシャツ側へ射影し、シャツ４０との交点をポリゴン中心５１とする。なおポリゴン中心５０を射影する代わりに、ポリゴンの頂点を射影してもよい。【００２７】
図７に、ポケット４２の外側への移動を示し、初期的にポケット４２はシャツ４０に密着しているものとし、シャツ４０のポリゴンを例えばその法線方向に従って、所定の距離だけ外側に移動させる。これに伴って外側にある衣類、例えばジャケット６０とポケット４２とが衝突することがある。そこでポケット４２のポリゴンとジャケット６０のポリゴンとの衝突の有無を、重ね着処理部３０で検出し、衝突が生じている場合、ジャケット６０のポリゴンを外側に移動させる。【００２８】
以上の処理のみでは、ポケット４２の形状あるいはジャケット６０の形状が不自然な場合、ポケット４２及びジャケット６０のポリゴン配置をそれぞれスムージングする。またポケット４２の移動の間、シャツ４０は移動せず、接合線４４も移動しない。移動方向はポリゴンの法線方向としたが、ポケット４２の全体についての平均的な法線方向としてもよい。【００２９】
シミュレーションをさらに正確に行う場合、例えば図７の右側の状態を初期値として力学的シミュレーションを行えば良く、この場合、境界条件として、接合線４４並びにシャツ４０が移動しないものとする。またジャケット６０の側でも処理対象のポリゴンの範囲を制限する。さらにシミュレーションは法線方向に沿っての１次元のシミュレーションとし、計算時間を短くする。【００３０】
ポケット４２をシャツ４０に対して外側に移動させる距離をfとし、この距離を例えば図８の右側のように、追加アイテムデータ記憶部２４に記憶させる。ここでは３つの線分L1，L2，L3に対してポケットを移動させる距離f1，f2，f3を記憶し、これらの線分以外の点では移動距離を補間し、接合線４４上で移動距離は０で、接合線４４から離れると移動距離が増し、次いで一定値となる。【００３１】
上蓋付きのポケットを追加し、ジャケットと重ね着する例を図９〜図１１に示す。この場合、図２，図３のアルゴリズムによりポケット４２を取り付け、次いでその上側にポケットの上蓋６２を取り付ける。取り付けた直後で外側へ移動する前の状態を図９に示す。ポケット４２を外側へ移動させると共に、上蓋６２も外側へ移動させ、ポケット４２と上蓋６２との衝突判定を行い、衝突があれば上蓋６２のポリゴンを外側に移動させる。シミュレーション結果を図１０に示す。シミュレーションは、シャツの上側にジャケット６０を重ね着している状態からでも可能で、例えばこの場合ジャケット６０のポリゴンを透明にして、図１０までのシミュレーションを行う。次にジャケット６０のポリゴンと、ポケット４２及び上蓋６２のポリゴンとの衝突の有無を判定し、衝突があれば図７のようにして、ジャケット６０を外側へ移動させ、衝突を解消する。【００３２】
実施例では以下の効果が得られる。
(1)  ポリゴンの辺の共有により、追加アイテムをベースとなる衣類に接合できる。
(2)  接合時に追加アイテム側のポリゴンはそのまま利用し、接合線の周囲でのみ境界ポリゴンを発生させる、あるいは接合線の内側に追加アイテムのポリゴンをコピーすることなどにより、ポリゴンの再構成を最小限にする。
(3)  追加アイテムを外側へ移動させることにより自然な形状にし、重ね着などと衝突する場合、重ね着も外側に移動させることにより、自然な形状にできる。
【符号の説明】
【００３３】
２  着装シミュレーション装置    ４  バス    ６  マニュアル入力
８  カラーモニタ    １０  カラープリンタ    
１２  ＬＡＮインターフェース    １４  外部記憶    １６  ＣＰＵ
１８  メモリ    ２０  デザイン部    ２２  着装シミュレーション部
２４  追加アイテムデータ記憶部    ２６  接合処理部
２８  追加アイテム１次元変形部    ３０  重ね着処理部
３２  追加アイテム編集部    ３４  追加アイテム配置部
４０  身頃    ４２  ポケット    ４４  接合線    ４５  仮想接合線
４６，４７  編集範囲    ４８  境界ポリゴン    ５０  ポリゴン中心
５１  ポリゴン中心    ６０  ジャケット    ６２  上蓋
f1〜f3  移動データ    L1〜L3  線分
【図１】
0005543961.tif 000002
【図２】
0005543961.tif 000003
【図３】
0005543961.tif 000004
【図４】
0005543961.tif 000005
【図５】
0005543961.tif 000006
【図６】
0005543961.tif 000007
【図７】
0005543961.tif 000008
【図８】
0005543961.tif 000009
【図９】
0005543961.tif 000010
【図１０】
0005543961.tif 000011
【図１１】
0005543961.tif 000012