(57)【要約】  衣類を粗いポリゴンで分割して着装状態をシミュレーションし、ポリゴンで分割した各ポリゴンに働く力を計算して、変形させる。衣類各部に働く加速度がほぼ０になると、ポリゴンを細かいポリゴンに切り替え、シミュレーションを続行する。短時間でリアルに、衣類の着装状態をシミュレーションできる。
2008016027.tif 000002
【特許請求の範囲】
【請求項１】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための手段と、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための手段とを設けたことを特徴とする、着装シミュレーション装置。
【請求項２】
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出するための手段をさらに設けて、該検出時に粗いポリゴンから細かいポリゴンへ変更するようにしたことを特徴とする、請求項１の着装シミュレーション装置。
【請求項３】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする方法において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションし、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションすることを特徴とする、着装シミュレーション方法。
【請求項４】
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出し、該検出時に粗いポリゴンから細かいポリゴンへ変更することを特徴とする、請求項３の着装シミュレーション方法。
【請求項５】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置のためのプログラムにおいて、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための命令と、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための命令とを設けたことを特徴とする、着装シミュレーションプログラム。
【請求項６】
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出するための命令をさらに設けて、該検出時に粗いポリゴンから細かいポリゴンへ変更するようにしたことを特徴とする、請求項５の着装シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は布帛を用いた衣類の着装シミュレーションに関し、特にシミュレーションの高速化に関する。
【背景技術】
【０００２】
デザイン上の衣類を人体モデルに着装させて、着装状態をシミュレーションすることが知られている。この技術では、衣類を多数のポリゴンに分割し、各ポリゴンに働く力を人体モデルとの接触による抗力や摩擦力、ポリゴン間の応力、衣類の重力などから求めて、ポリゴンの変形をシミュレーションする。そして衣類がほぼ一定の安定な形状に達すると、あるいは所定回数シミュレーションを行うと計算を打ち切り、衣類の着装状態を得る。【０００３】
このようなシミュレーションでは、メッシュを詳細にする程シミュレーションの精度が増すが、計算量が増加する。一方メッシュを粗くすると、計算量は少なくなるが、シミュレーションの精度が得られない。この点に関し特許文献１は、ポリゴン数が少ない粗いモデルでシミュレーションを行い、次いでポリゴン数の多い詳細モデルに変更することを開示している。ただし特許文献１（特開２００５−１１０２７号公報）では、詳細モデルへの変更後、各ポリゴンへ働く力を計算してポリゴンを１回のみ変形させ、それ以上のシミュレーションは行っていない。このため粗いモデルでのシミュレーション結果が基本的に保たれ、粗いモデルでの原型を維持する範囲で、シミュレーションが終了する。
【特許文献１】特開２００５−１１０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、細かいポリゴンを用いたモデルに応じた精度まで、短時間で衣類の着装状態をシミュレーションできるようにすることにある。
この発明での追加の課題は、粗いポリゴンから細かいポリゴンへ、適切なタイミングで切り替えることにある。
【課題を解決するための手段】
【０００５】
この発明は、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための手段と、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための手段とを設けたことを特徴とする。【０００６】
またこの発明は、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする方法において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションし、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションすることを特徴とする。【０００７】
この発明はさらに、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置のためのプログラムにおいて、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための命令と、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための命令とを設けたことを特徴とする。【０００８】
好ましくは、粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出し、該検出時に粗いポリゴンから細かいポリゴンへ変更する。【０００９】
この明細書で、シミュレーション装置に関する記載は特に断らない限り、シミュレーション方法やプログラムにもそのまま当てはまり、シミュレーション方法に関する記載は特に断らない限り、シミュレーション装置やプログラムにもそのまま当てはまる。さらにシミュレーションで用いているのは人体モデルであって現実の人体ではないが、簡単のため人体モデルを人体ということがある。
【発明の効果】
【００１０】
この発明では、シミュレーションの前半を粗いポリゴンで行い、後半を細かいポリゴンで行う。この結果シミュレーションに必要な時間が短縮され、しかも細かいポリゴンに応じた着装結果をシミュレーションできるので、精密なシミュレーションができる。このため衣類のデザインの評価が容易になる。【００１１】
粗いポリゴンに分割した衣類がほぼ等速運動をしている場合、衣類に作用する加速度は全体として最小で、衣類は安定状態を通過しつつある。ここからシミュレーションを続行すると、衣類は再度不安定な状態へ移行する。そこで粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に細かいポリゴンに変更すると、細かいポリゴンでのシミュレーションを粗いポリゴンで衣類がほぼ安定状態に達した後に開始できるので効率的である。
【図面の簡単な説明】
【００１２】
【図１】実施例の着装シミュレーション装置のブロック図
【図２】実施例の着装シミュレーション方法を示すフローチャート
【図３】実施例の着装シミュレーションプログラムのブロック図
【図４】実施例での粗いポリゴンと細かいポリゴンとの例を示す図
【図５】実施例での粗いポリゴンと細かいポリゴンとの他の例を示す図
【図６】実施例での、ポリゴン間に作用する力のモデルを示す図
【図７】実施例での、テクスチャー画像と細かいポリゴン及び粗いポリゴンの関係を示す図
【図８】実施例で、粗いポリゴンへ分割した衣類がほぼ等速で運動する状態を説明する図
【図９】比較例での着装シミュレーション結果を示し、(A)は細かいポリゴンを用いた結果を、(B)は粗いポリゴンを用いた結果を示し、図の左から順にスカートのポリゴンによる分割、正面視でのスカートの着装状態、平面視でのスカートの着装状態を示す。
【図１０】実施例での着装シミュレーション結果を示し、図９(B)の粗いポリゴンを用いてシミュレーションをスタートし、(A)の細かいポリゴンに変更してシミュレーションを終了させた際のものである。図１０の左側はスカートの着装状態を正面視で示し、右側はスカートの着装状態を平面視で示す。
【符号の説明】
【００１３】
２  着装シミュレーション装置    ４  バス    ６  スタイラス    ７  デジタイザ    ８  キーボード    １０  カラーモニタ    １２  カラープリンタ
１４  ディスクドライブ    １６  ＬＡＮインターフェース    １８  パターン作成部
２０  パターンデータ記憶部    ２２  ポリゴン生成部    ２４  シミュレータ
２６  ポリゴン切り替え部    ３０  シミュレーションプログラム
３１  ポリゴン生成命令    ３２  縫合命令    ３３  着装命令
３４  シミュレーション命令    ３５  ポリゴン切り替え命令  
７１  テクスチャー画像    ７２  細かいポリゴンの配置
７３  粗いポリゴンの配置    ７４  ３Ｄ空間での粗いポリゴンの配置
【発明を実施するための最良の形態】
【００１４】
以下にこの発明を実施するための最良の形態を示すが、これに限るものではない。
【実施例】
【００１５】
図１〜図１０に、実施例の着装シミュレーション装置２、並びにシミュレーション方法，シミュレーションプログラム３０を示す。図１において、４はバスで、６はスタイラスで、７はデジタイザであり、８はコマンド入力などに用いるキーボードで、１０はカラーモニタである。そしてスタイラス６で衣類をデザインし、デザイン結果をカラーモニタ１０に表示し、スタイラス６で再度修正することにより衣類をデザインする。また衣類の着装シミュレーション結果をカラーモニタ１０に表示する。１２はカラープリンタで、１４はディスクドライブで、デザイン結果の入出力などに用い、デザイン結果の入出力にはＬＡＮインターフェース１６も使用できる。１８はパターン作成部で、スタイラス６から入力したデザインを編集し、衣類のパターンデータとする。パターンデータには衣類の各パーツの形状の他に、各パーツのＩＤ、パーツの属性で例えば前身頃、後身頃，襟，右前袖などのデータ、並びに脇下などのパーツの位置を表す特徴点を追加する。また特徴点と特徴点との対応関係から、パーツ間の縫合ラインが定まる。なおこの発明の対象となる衣類は複数のパーツを縫合した衣類であり、特に布帛からなるパーツを縫合した衣類である。【００１６】
２０はパターンデータ記憶部で、着装シミュレーションの対象となるパターンデータを記憶し、ポリゴン生成部２２はパターンデータの各パーツを複数のポリゴンに分割し、特に粗いポリゴンと細かいポリゴンの２種類のポリゴンで分割する。図４，図５にポリゴンへの分割の例を示すと、実線は粗いポリゴンへの分割用のメッシュで、破線は細かいポリゴンへの分割用のメッシュである。図４の場合、粗いポリゴンへの分割線は、細かいポリゴンへの分割線を兼ね、細かいポリゴンは１つの粗いポリゴンの内部にある。
これに対して図５の場合、１つの細かいポリゴンが２つの粗いポリゴンに渡っている場合があり、粗いポリゴンへの分割線は必ずしも細かいポリゴンへの分割線ではない。【００１７】
衣類の外形を定める輪郭線、並びに折り返しやポケットの境界の内部線は、デザイン上特に重要な箇所である。なおパーツの境界自体は衣類の輪郭ではない。そこで輪郭線や内部線に接する位置には最初から細かいポリゴンのみを割り当て、粗いポリゴンでシミュレーションする際も、輪郭線や内部線に接したポリゴンは細かいポリゴンとすることが好ましい。【００１８】
図１に戻り、２４はシミュレータで、各ポリゴンに働く力を求めて、ポリゴンを変形及び運動させ、シミュレーションを実行する。図６にポリゴンに働く力のモデルを示す。図６の４つのポリゴンのうち中央のポリゴンに働く力を考える。ｇ1〜ｇ4は各ポリゴンの中心で、ポリゴンの形は三角形でも四角形でもよい。Ｌ1〜Ｌ3は中央のポリゴンの３辺、φは∠ｇ2ｇ1ｇ3で、θは辺Ｌ1を境に２つのポリゴンが折り曲げられている場合の折り曲げ角である。【００１９】
中央のポリゴンに働く力は、隣接する例えば３つのポリゴンの中心ｇ2，ｇ３，ｇ4との位置関係によるものと、辺Ｌ1〜Ｌ3がパターンデータの段階からどのように変化したかによるものと、辺Ｌ1〜Ｌ3を境に隣接するポリゴン間の折り曲げ角θによるものと、∠ｇ2ｇ1ｇ3等がパターンデータの段階からどのように変化したかによるもの、とがある。そしてこれらの力は、パターンデータに対してポリゴンがどのように変形したかに基づく力である。これらの力は、パターンデータの段階でのポリゴン形状を安定形状とし、これからの変位に比例するバネ力と見なすことができる。【００２０】
衣類にはこれ以外に重力があり、重力は各パーツの中心に働き、そこから各ポリゴンに分配されると考えても、各ポリゴンに直接働くと考えてもよい。また衣類は人体モデルとの干渉によって形状が定まり、人体モデルとの干渉には人体モデル表面との接触による抗力並びに人体モデル表面から所定の距離範囲内に接近した際の摩擦力とがある。さらにポリゴンが運動すると、速度に比例する摩擦力で運動エネルギーが失われるものとする。これらの力を加味すると、各ポリゴン毎の運動方程式を立てることができ、ポリゴンに働く力からその加速度を求めてポリゴンを変形並びに移動させ、再度ポリゴンに働く力を求めることを繰り返すと、衣類が人体モデルに接触してどのような形状に変化するかをシミュレーションできる。ポリゴンの加速度は、中心の並進と回転、及び各辺あるいは各頂点の重心に対する運動に対応する。なおポリゴンの辺や頂点の運動はポリゴン平面内に限られる。【００２１】
図７に、衣類のテクスチャーと細かいポリゴンや粗いポリゴンの対応関係を示す。７１は衣類のテクスチャー画像で、７２は細かいポリゴンの配置、７３は粗いポリゴンの配置である。粗いポリゴンを用いて着装状態をシミュレーションし、３Ｄ空間での粗いポリゴンの配置７４が得られたとする。配置７３，７４に、ポリゴンＰ1Ｐ2Ｐ3の配置を示す。ポリゴンＰ1Ｐ2Ｐ3は、配置７４での位置が既知なので、配置７３でのポリゴンＰ1Ｐ2Ｐ3上の各点が３Ｄ空間のどの位置にマッピングされるかを求めることができる。配置７３での、ポリゴンＰ1Ｐ2Ｐ3以外の任意の点も同様に、３Ｄ空間での配置７４へマッピングした際の座標を求めることができる。従って配置７２での細かいポリゴンが３Ｄ空間のどの位置にマッピングされるかを求めることもでき、テクスチャー画像７１の各画素が３Ｄ空間のどの位置にマッピングされるかも求めることができる。マッピングには例えば射影変換を用いる。【００２２】
図８に、シミュレーション過程で衣類に働く加速度の絶対値の和の変化を示す。各ポリゴンの運動方程式を解いて、その加速度を求める。ここで運動方程式を解く回数をシミュレーション回数Ｎとして、各ポリゴンへの加速度の絶対値の和を合計加速度Ａとする。合計加速度Ａが大きいと衣類は不安定な状態にあり、合計加速度Ａが０で衣類は安定な状態となる。シミュレーションを繰り返すと、合計加速度Ａに最小値が現れ、その後再度増加する。ポリゴンの速度の絶対値の平均を平均速度とすると、合計加速度Ａが最小値となるシミュレーション回数ｎで、衣類はほぼ等速運動をし、平均速度はこの付近で一定となる。そこでシミュレーション回数ｎで、言い換えると合計加速度Ａが最小となり、衣類がほぼ等速運動をする点の付近で、粗いポリゴンから細かいポリゴンへ変更する。以上の手続により、粗いポリゴンでの安定状態まで衣類を到達させた後、細かいポリゴンに置き換え、粗いポリゴンでは表現不能な細かな風合いをシミュレーションする。【００２３】
図１に戻り、２６はポリゴン切り替え部で、粗いポリゴンを用いてのシミュレーション過程で衣類の合計加速度の変化を監視し、合計加速度が最小値を通過すると、合計加速度が最小値となる位置まで粗いポリゴンの位置や姿勢を戻し、ポリゴンを細かいポリゴンに変更する。合計加速度が最小となった点を行き過ぎてから元に戻すので、例えば過去２ステップあるいは３ステップ分のポリゴンの位置と姿勢を記憶しておくことが好ましい。【００２４】
ポリゴンを細かいポリゴンに切り替えた際の、粗いポリゴンの位置は合計加速度が最小となる位置のものを用い、図７の関係を用いて細かいポリゴンの初期配置を決定する。粗いポリゴンが持っていた速度を細かいポリゴンに引き継がせてもよいが、実施例では細かいポリゴンの初期速度は０とする。次に細かいポリゴンに対し、図６と同様にして、ポリゴン間の位置関係、人体モデルとの干渉、衣類に働く重力、並びにポリゴンの運動に伴う摩擦力に基づき、運動方程式を解いてポリゴンの変形や移動を繰り返し再計算する。【００２５】
シミュレータ２４は細かいポリゴンの初期配置と初期的な力に基づいて、シミュレーションを再度実行する。シミュレーションに対する計算時間の割り当てでは、粗いポリゴンでのシミュレーションと細かいポリゴンでのシミュレーションに例えば１：１程度の計算時間を使用する。全体の計算時間は、細かいポリゴンを用いた衣類が安定状態に達するまでの時間で、最初から細かいポリゴンでシミュレーションを行う際の１／２程度となり、粗いポリゴンのみを用いてシミュレーションする際の例えば２倍程度となる。【００２６】
図２に、実施例の着装シミュレーション方法を示す。パターンデータの各パーツを粗いポリゴンと細かいポリゴンとに分割する。次にパターンデータに従い各パーツを仮想的に縫合し、人体モデルに仮想的に着装させる。この時パーツには人体の外側に存在するとの制約が加わり、これに伴って衣類が変形し、初期的に大きな歪みが発生する。粗いポリゴンに分割した衣類に対し、安定状態に達するまでシミュレーションを実行する。ここで各ポリゴンがほぼ等速運動していることを検出すると、言い換えると衣類に働く合計加速度が最小となると、粗いポリゴンを細かいポリゴンに変更する。そして衣類が安定状態に移行するまで、言い換えると合計加速度が所定値以下となるまで、あるいは所定以上の回数シミュレーションするまで、着装シミュレーションを実行する。【００２７】
図３に、実施例のシミュレーションプログラム３０を示すと、ポリゴン生成命令３１は粗いポリゴンと細かいポリゴンとで衣類の各パーツを分割し、縫合命令３２はパターンデータに従って各パーツを仮想的に縫合し、着装命令３３は縫合済みの衣類を人体モデルに対し仮想的に着装させる。シミュレーション命令３４では、各ポリゴンに働く力を求めて、ポリゴンの運動方程式を解き、ポリゴンを変形並びに移動させる。そしてポリゴン切り替え命令３５では、衣類に働く合計加速度が最小となったことを検出して、ポリゴンを粗いポリゴンから細かいポリゴンに変更し、粗いポリゴンの配置から求まる細かいポリゴンの配置を、細かいポリゴン配置の初期値としてシミュレーション命令３４に引き渡す。【００２８】
図９，図１０にスカートの着装シミュレーション結果を示し、図９(A)は最初から細かいポリゴンのみを用いてシミュレーションした際の結果を示し、(B)は粗いポリゴンのみを用いてシミュレーションした際の結果を示す。図９の左側の列はパターンデータ上のスカートを表し、中央の列は正面視でのシミュレーション結果を、右側の列は平面視でのシミュレーション結果を示す。粗いポリゴンを用いて安定状態に達するまでシミュレーションを繰り返しても、細かいポリゴンでのシミュレーション結果とは異なっている。特に図９の右側の列で明らかなように、スカートのひだの形状が異なり、ドレープ感を表現できていない。
図１０は、実施例に従い、粗いポリゴンでシミュレーションを開始し、細かいポリゴンに変更してシミュレーションを続行した際の結果である。正面視でも平面視でもシミュレーション結果は、最初から細かいポリゴンを用いてシミュレーションしたものとほぼ同等である。【００２９】
実施例ではスカートの着装を示したが、衣類の種類は任意である。また人体モデルに衣類を仮想的に着装させるには、仮想的に縫合した衣類内に人体モデルをセットし、衣類を人体モデルの外形線まで膨張させるようにしてもよい。あるいは人体モデルを細い軸などで表現し、仮想的に縫合した衣類の内部に人体モデルの軸を通して、軸を人体モデルまで膨張させ、この間、人体モデルと干渉しないように衣類を変形させてもよい。軸の膨張等の初期的な着装の過程では、粗いシミュレーションを行うので、衣類は粗いポリゴンに分割しておく。【００３０】
実施例では以下の効果が得られる。
(1)  短い時間で、衣類の着装状態を正確にシミュレーションできる。
(2)  シミュレーション結果は、粗いポリゴンの分割では得られない程度に高精度である。
(3)  粗いポリゴンを用いてシミュレーションし、衣類がほぼ等速運動した時点で細かいポリゴンに変更すると、粗いポリゴンでのシミュレーションによる安定状態を経由して細かいポリゴンに移行できる。
【図１】
2008016027.tif 000003
【図２】
2008016027.tif 000004
【図３】
2008016027.tif 000005
【図４】
2008016027.tif 000006
【図５】
2008016027.tif 000007
【図６】
2008016027.tif 000008
【図７】
2008016027.tif 000009
【図８】
2008016027.tif 000010
【図９】
2008016027.tif 000011
【図１０】
2008016027.tif 000012
【手続補正書】
【提出日】平成21年1月19日(2009.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための手段と、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出するための手段とを設けて、粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更し、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための手段とを設けたことを特徴とする、着装シミュレーション装置。
【請求項２】
前記検出するための手段は、粗いポリゴンに加わる加速度から、衣類に加わる合計加速度を監視し、合計加速度が最小になることにより、衣類がほぼ等速運動をしていることを検出することを特徴とする、請求項１に記載の着装シミュレーション装置。
【請求項３】
前記検出するための手段は、衣類に加わる合計加速度が最小値を経過してから、合計加速度が最小となったことを検出し、かつ
粗いポリゴンの位置と姿勢とを記憶し、衣類に加わる合計加速度が最小となった際の位置と姿勢を元に、前記細かいポリゴンを生成することを特徴とする、請求項２に記載の着装シミュレーション装置。
【請求項４】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする方法において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションし、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更し、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションすることを特徴とする、着装シミュレーション方法。
【請求項５】
粗いポリゴンに加わる加速度から、衣類に加わる合計加速度を監視し、合計加速度が最小になることにより、衣類がほぼ等速運動をしていることを検出することを特徴とする、請求項４に記載の着装シミュレーション方法。
【請求項６】
衣類に加わる合計加速度が最小値を経過してから、合計加速度が最小となったことを検出し、かつ
粗いポリゴンの位置と姿勢とを記憶し、衣類に加わる合計加速度が最小となった際の位置と姿勢を元に、前記細かいポリゴンを生成することを特徴とする、請求項５に記載の着装シミュレーション方法。
【請求項７】
衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションするシミュレーション装置のためのプログラムにおいて、
前記シミュレーション装置に、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするステップと、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更するステップと、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするステップとを、実行させることを特徴とする、着装シミュレーションプログラム。
【請求項８】
粗いポリゴンに加わる加速度から、衣類に加わる合計加速度を監視し、合計加速度が最小になることにより、衣類がほぼ等速運動をしていることを検出することを特徴とする、請求項７に記載の着装シミュレーションプログラム。
【請求項９】
衣類に加わる合計加速度が最小値を経過してから、合計加速度が最小となったことを検出し、かつ
粗いポリゴンの位置と姿勢とを記憶し、衣類に加わる合計加速度が最小となった際の位置と姿勢を元に、前記細かいポリゴンを生成することを特徴とする、請求項８に記載の着装シミュレーションプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は布帛を用いた衣類の着装シミュレーションに関し、特にシミュレーションの高速化に関する。
【背景技術】
【０００２】
デザイン上の衣類を人体モデルに着装させて、着装状態をシミュレーションすることが知られている。この技術では、衣類を多数のポリゴンに分割し、各ポリゴンに働く力を人体モデルとの接触による抗力や摩擦力、ポリゴン間の応力、衣類の重力などから求めて、ポリゴンの変形をシミュレーションする。そして衣類がほぼ一定の安定な形状に達すると、あるいは所定回数シミュレーションを行うと計算を打ち切り、衣類の着装状態を得る。
【０００３】
このようなシミュレーションでは、メッシュを詳細にする程シミュレーションの精度が増すが、計算量が増加する。一方メッシュを粗くすると、計算量は少なくなるが、シミュレーションの精度が得られない。この点に関し特許文献１は、ポリゴン数が少ない粗いモデルでシミュレーションを行い、次いでポリゴン数の多い詳細モデルに変更することを開示している。ただし特許文献１（特開２００５−１１０２７号公報）では、詳細モデルへの変更後、各ポリゴンへ働く力を計算してポリゴンを１回のみ変形させ、それ以上のシミュレーションは行っていない。このため粗いモデルでのシミュレーション結果が基本的に保たれ、粗いモデルでの原型を維持する範囲で、シミュレーションが終了する。
【特許文献１】特開２００５−１１０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、細かいポリゴンを用いたモデルに応じた精度まで、短時間で衣類の着装状態をシミュレーションできるようにすることにある。
この発明での追加の課題は、粗いポリゴンから細かいポリゴンへ、適切なタイミングで切り替えることにある。
【課題を解決するための手段】
【０００５】
この発明は、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする装置において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするための手段と、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出するための手段とを設けて、粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更し、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするための手段とを設けたことを特徴とする。
【０００６】
またこの発明は、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションする方法において、
粗いポリゴンで衣類を分割して着装状態をシミュレーションし、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更し、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションすることを特徴とする。
【０００７】
この発明さらに、衣類を複数のポリゴンに分割し、人体モデルからポリゴンに働く力、ポリゴン間の力、及び重力に基づいてポリゴンを変形・移動させることにより、人体への衣類の着装状態をシミュレーションするシミュレーション装置のためのプログラムにおいて、
前記シミュレーション装置に、
粗いポリゴンで衣類を分割して着装状態をシミュレーションするステップと、
粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に、粗いポリゴンを細かいポリゴンへ変更するステップと、
粗いポリゴンでのシミュレーション結果を初期値とし、細かいポリゴンで衣類を再分割して、少なくとも細かいポリゴンへの分割に応じた着装状態が得られるまで、細かいポリゴンの変形・移動を繰り返すように、着装状態をシミュレーションするステップとを、実行させることを特徴とする。
【０００８】
好ましくは、粗いポリゴンに加わる加速度から、衣類に加わる合計加速度を監視し、合計加速度が最小になることにより、衣類がほぼ等速運動をしていることを検出する。
また好ましくは、衣類に加わる合計加速度が最小値を経過してから、合計加速度が最小となったことを検出し、かつ
粗いポリゴンの位置と姿勢とを記憶し、衣類に加わる合計加速度が最小となった際の位置と姿勢を元に、前記細かいポリゴンを生成する。
【０００９】
この明細書で、シミュレーション装置に関する記載は特に断らない限り、シミュレーション方法やプログラムにもそのまま当てはまり、シミュレーション方法に関する記載は特に断らない限り、シミュレーション装置やプログラムにもそのまま当てはまる。さらにシミュレーションで用いているのは人体モデルであって現実の人体ではないが、簡単のため人体モデルを人体ということがある。
【発明の効果】
【００１０】
この発明では、シミュレーションの前半を粗いポリゴンで行い、後半を細かいポリゴンで行う。この結果シミュレーションに必要な時間が短縮され、しかも細かいポリゴンに応じた着装結果をシミュレーションできるので、精密なシミュレーションができる。このため衣類のデザインの評価が容易になる。
【００１１】
粗いポリゴンに分割した衣類がほぼ等速運動をしている場合、衣類に作用する加速度は全体として最小で、衣類は安定状態を通過しつつある。ここからシミュレーションを続行すると、衣類は再度不安定な状態へ移行する。そこで粗いポリゴンに分割した衣類がほぼ等速運動をしていることを検出した際に細かいポリゴンに変更すると、細かいポリゴンでのシミュレーションを粗いポリゴンで衣類がほぼ安定状態に達した後に開始できるので効率的である。
【発明を実施するための最良の形態】
【００１２】
以下にこの発明を実施するための最良の形態を示すが、これに限るものではない。
【実施例】
【００１３】
図１〜図１０に、実施例の着装シミュレーション装置２、並びにシミュレーション方法，シミュレーションプログラム３０を示す。図１において、４はバスで、６はスタイラスで、７はデジタイザであり、８はコマンド入力などに用いるキーボードで、１０はカラーモニタである。そしてスタイラス６で衣類をデザインし、デザイン結果をカラーモニタ１０に表示し、スタイラス６で再度修正することにより衣類をデザインする。また衣類の着装シミュレーション結果をカラーモニタ１０に表示する。１２はカラープリンタで、１４はディスクドライブで、デザイン結果の入出力などに用い、デザイン結果の入出力にはＬＡＮインターフェース１６も使用できる。１８はパターン作成部で、スタイラス６から入力したデザインを編集し、衣類のパターンデータとする。パターンデータには衣類の各パーツの形状の他に、各パーツのＩＤ、パーツの属性で例えば前身頃、後身頃，襟，右前袖などのデータ、並びに脇下などのパーツの位置を表す特徴点を追加する。また特徴点と特徴点との対応関係から、パーツ間の縫合ラインが定まる。なおこの発明の対象となる衣類は複数のパーツを縫合した衣類であり、特に布帛からなるパーツを縫合した衣類である。
【００１４】
２０はパターンデータ記憶部で、着装シミュレーションの対象となるパターンデータを記憶し、ポリゴン生成部２２はパターンデータの各パーツを複数のポリゴンに分割し、特に粗いポリゴンと細かいポリゴンの２種類のポリゴンで分割する。図４，図５にポリゴンへの分割の例を示すと、実線は粗いポリゴンへの分割用のメッシュで、破線は細かいポリゴンへの分割用のメッシュである。図４の場合、粗いポリゴンへの分割線は、細かいポリゴンへの分割線を兼ね、細かいポリゴンは１つの粗いポリゴンの内部にある。
これに対して図５の場合、１つの細かいポリゴンが２つの粗いポリゴンに渡っている場合があり、粗いポリゴンへの分割線は必ずしも細かいポリゴンへの分割線ではない。
【００１５】
衣類の外形を定める輪郭線、並びに折り返しやポケットの境界の内部線は、デザイン上特に重要な箇所である。なおパーツの境界自体は衣類の輪郭ではない。そこで輪郭線や内部線に接する位置には最初から細かいポリゴンのみを割り当て、粗いポリゴンでシミュレーションする際も、輪郭線や内部線に接したポリゴンは細かいポリゴンとすることが好ましい。
【００１６】
図１に戻り、２４はシミュレータで、各ポリゴンに働く力を求めて、ポリゴンを変形及び運動させ、シミュレーションを実行する。図６にポリゴンに働く力のモデルを示す。図６の４つのポリゴンのうち中央のポリゴンに働く力を考える。ｇ1〜ｇ4は各ポリゴンの中心で、ポリゴンの形は三角形でも四角形でもよい。Ｌ1〜Ｌ3は中央のポリゴンの３辺、φは∠ｇ2ｇ1ｇ3で、θは辺Ｌ1を境に２つのポリゴンが折り曲げられている場合の折り曲げ角である。
【００１７】
中央のポリゴンに働く力は、隣接する例えば３つのポリゴンの中心ｇ2，ｇ３，ｇ4との位置関係によるものと、辺Ｌ1〜Ｌ3がパターンデータの段階からどのように変化したかによるものと、辺Ｌ1〜Ｌ3を境に隣接するポリゴン間の折り曲げ角θによるものと、∠ｇ2ｇ1ｇ3等がパターンデータの段階からどのように変化したかによるもの、とがある。そしてこれらの力は、パターンデータに対してポリゴンがどのように変形したかに基づく力である。これらの力は、パターンデータの段階でのポリゴン形状を安定形状とし、これからの変位に比例するバネ力と見なすことができる。
【００１８】
衣類にはこれ以外に重力があり、重力は各パーツの中心に働き、そこから各ポリゴンに分配されると考えても、各ポリゴンに直接働くと考えてもよい。また衣類は人体モデルとの干渉によって形状が定まり、人体モデルとの干渉には人体モデル表面との接触による抗力並びに人体モデル表面から所定の距離範囲内に接近した際の摩擦力とがある。さらにポリゴンが運動すると、速度に比例する摩擦力で運動エネルギーが失われるものとする。これらの力を加味すると、各ポリゴン毎の運動方程式を立てることができ、ポリゴンに働く力からその加速度を求めてポリゴンを変形並びに移動させ、再度ポリゴンに働く力を求めることを繰り返すと、衣類が人体モデルに接触してどのような形状に変化するかをシミュレーションできる。ポリゴンの加速度は、中心の並進と回転、及び各辺あるいは各頂点の重心に対する運動に対応する。なおポリゴンの辺や頂点の運動はポリゴン平面内に限られる。
【００１９】
図７に、衣類のテクスチャーと細かいポリゴンや粗いポリゴンの対応関係を示す。７１は衣類のテクスチャー画像で、７２は細かいポリゴンの配置、７３は粗いポリゴンの配置である。粗いポリゴンを用いて着装状態をシミュレーションし、３Ｄ空間での粗いポリゴンの配置７４が得られたとする。配置７３，７４に、ポリゴンＰ1Ｐ2Ｐ3の配置を示す。ポリゴンＰ1Ｐ2Ｐ3は、配置７４での位置が既知なので、配置７３でのポリゴンＰ1Ｐ2Ｐ3上の各点が３Ｄ空間のどの位置にマッピングされるかを求めることができる。配置７３での、ポリゴンＰ1Ｐ2Ｐ3以外の任意の点も同様に、３Ｄ空間での配置７４へマッピングした際の座標を求めることができる。従って配置７２での細かいポリゴンが３Ｄ空間のどの位置にマッピングされるかを求めることもでき、テクスチャー画像７１の各画素が３Ｄ空間のどの位置にマッピングされるかも求めることができる。マッピングには例えば射影変換を用いる。
【００２０】
図８に、シミュレーション過程で衣類に働く加速度の絶対値の和の変化を示す。各ポリゴンの運動方程式を解いて、その加速度を求める。ここで運動方程式を解く回数をシミュレーション回数Ｎとして、各ポリゴンへの加速度の絶対値の和を合計加速度Ａとする。合計加速度Ａが大きいと衣類は不安定な状態にあり、合計加速度Ａが０で衣類は安定な状態となる。シミュレーションを繰り返すと、合計加速度Ａに最小値が現れ、その後再度増加する。ポリゴンの速度の絶対値の平均を平均速度とすると、合計加速度Ａが最小値となるシミュレーション回数ｎで、衣類はほぼ等速運動をし、平均速度はこの付近で一定となる。そこでシミュレーション回数ｎで、言い換えると合計加速度Ａが最小となり、衣類がほぼ等速運動をする点の付近で、粗いポリゴンから細かいポリゴンへ変更する。以上の手続により、粗いポリゴンでの安定状態まで衣類を到達させた後、細かいポリゴンに置き換え、粗いポリゴンでは表現不能な細かな風合いをシミュレーションする。
【００２１】
図１に戻り、２６はポリゴン切り替え部で、粗いポリゴンを用いてのシミュレーション過程で衣類の合計加速度の変化を監視し、合計加速度が最小値を通過すると、合計加速度が最小値となる位置まで粗いポリゴンの位置や姿勢を戻し、ポリゴンを細かいポリゴンに変更する。合計加速度が最小となった点を行き過ぎてから元に戻すので、例えば過去２ステップあるいは３ステップ分のポリゴンの位置と姿勢を記憶しておくことが好ましい。
【００２２】
ポリゴンを細かいポリゴンに切り替えた際の、粗いポリゴンの位置は合計加速度が最小となる位置のものを用い、図７の関係を用いて細かいポリゴンの初期配置を決定する。粗いポリゴンが持っていた速度を細かいポリゴンに引き継がせてもよいが、実施例では細かいポリゴンの初期速度は０とする。次に細かいポリゴンに対し、図６と同様にして、ポリゴン間の位置関係、人体モデルとの干渉、衣類に働く重力、並びにポリゴンの運動に伴う摩擦力に基づき、運動方程式を解いてポリゴンの変形や移動を繰り返し再計算する。
【００２３】
シミュレータ２４は細かいポリゴンの初期配置と初期的な力に基づいて、シミュレーションを再度実行する。シミュレーションに対する計算時間の割り当てでは、粗いポリゴンでのシミュレーションと細かいポリゴンでのシミュレーションに例えば１：１程度の計算時間を使用する。全体の計算時間は、細かいポリゴンを用いた衣類が安定状態に達するまでの時間で、最初から細かいポリゴンでシミュレーションを行う際の１／２程度となり、粗いポリゴンのみを用いてシミュレーションする際の例えば２倍程度となる。
【００２４】
図２に、実施例の着装シミュレーション方法を示す。パターンデータの各パーツを粗いポリゴンと細かいポリゴンとに分割する。次にパターンデータに従い各パーツを仮想的に縫合し、人体モデルに仮想的に着装させる。この時パーツには人体の外側に存在するとの制約が加わり、これに伴って衣類が変形し、初期的に大きな歪みが発生する。粗いポリゴンに分割した衣類に対し、安定状態に達するまでシミュレーションを実行する。ここで各ポリゴンがほぼ等速運動していることを検出すると、言い換えると衣類に働く合計加速度が最小となると、粗いポリゴンを細かいポリゴンに変更する。そして衣類が安定状態に移行するまで、言い換えると合計加速度が所定値以下となるまで、あるいは所定以上の回数シミュレーションするまで、着装シミュレーションを実行する。
【００２５】
図３に、実施例のシミュレーションプログラム３０を示すと、ポリゴン生成命令３１は粗いポリゴンと細かいポリゴンとで衣類の各パーツを分割し、縫合命令３２はパターンデータに従って各パーツを仮想的に縫合し、着装命令３３は縫合済みの衣類を人体モデルに対し仮想的に着装させる。シミュレーション命令３４では、各ポリゴンに働く力を求めて、ポリゴンの運動方程式を解き、ポリゴンを変形並びに移動させる。そしてポリゴン切り替え命令３５では、衣類に働く合計加速度が最小となったことを検出して、ポリゴンを粗いポリゴンから細かいポリゴンに変更し、粗いポリゴンの配置から求まる細かいポリゴンの配置を、細かいポリゴン配置の初期値としてシミュレーション命令３４に引き渡す。
【００２６】
図９，図１０にスカートの着装シミュレーション結果を示し、図９(A)は最初から細かいポリゴンのみを用いてシミュレーションした際の結果を示し、(B)は粗いポリゴンのみを用いてシミュレーションした際の結果を示す。図９の左側の列はパターンデータ上のスカートを表し、中央の列は正面視でのシミュレーション結果を、右側の列は平面視でのシミュレーション結果を示す。粗いポリゴンを用いて安定状態に達するまでシミュレーションを繰り返しても、細かいポリゴンでのシミュレーション結果とは異なっている。特に図９の右側の列で明らかなように、スカートのひだの形状が異なり、ドレープ感を表現できていない。
図１０は、実施例に従い、粗いポリゴンでシミュレーションを開始し、細かいポリゴンに変更してシミュレーションを続行した際の結果である。正面視でも平面視でもシミュレーション結果は、最初から細かいポリゴンを用いてシミュレーションしたものとほぼ同等である。
【００２７】
実施例ではスカートの着装を示したが、衣類の種類は任意である。また人体モデルに衣類を仮想的に着装させるには、仮想的に縫合した衣類内に人体モデルをセットし、衣類を人体モデルの外形線まで膨張させるようにしてもよい。あるいは人体モデルを細い軸などで表現し、仮想的に縫合した衣類の内部に人体モデルの軸を通して、軸を人体モデルまで膨張させ、この間、人体モデルと干渉しないように衣類を変形させてもよい。軸の膨張等の初期的な着装の過程では、粗いシミュレーションを行うので、衣類は粗いポリゴンに分割しておく。
【００２８】
実施例では以下の効果が得られる。
(1)  短い時間で、衣類の着装状態を正確にシミュレーションできる。
(2)  シミュレーション結果は、粗いポリゴンの分割では得られない程度に高精度である。
(3)  粗いポリゴンを用いてシミュレーションし、衣類がほぼ等速運動した時点で細かいポリゴンに変更すると、粗いポリゴンでのシミュレーションによる安定状態を経由して細かいポリゴンに移行できる。
【図面の簡単な説明】
【００２９】
【図１】実施例の着装シミュレーション装置のブロック図
【図２】実施例の着装シミュレーション方法を示すフローチャート
【図３】実施例の着装シミュレーションプログラムのブロック図
【図４】実施例での粗いポリゴンと細かいポリゴンとの例を示す図
【図５】実施例での粗いポリゴンと細かいポリゴンとの他の例を示す図
【図６】実施例での、ポリゴン間に作用する力のモデルを示す図
【図７】実施例での、テクスチャー画像と細かいポリゴン及び粗いポリゴンの関係を示す図
【図８】実施例で、粗いポリゴンへ分割した衣類がほぼ等速で運動する状態を説明する図
【図９】比較例での着装シミュレーション結果を示し、(A)は細かいポリゴンを用いた結果を、(B)は粗いポリゴンを用いた結果を示し、図の左から順にスカートのポリゴンによる分割、正面視でのスカートの着装状態、平面視でのスカートの着装状態を示す。
【図１０】実施例での着装シミュレーション結果を示し、図９(B)の粗いポリゴンを用いてシミュレーションをスタートし、(A)の細かいポリゴンに変更してシミュレーションを終了させた際のものである。図１０の左側はスカートの着装状態を正面視で示し、右側はスカートの着装状態を平面視で示す。
【符号の説明】
【００３０】
２  着装シミュレーション装置    ４  バス    ６  スタイラス    ７  デジタイザ    ８  キーボード    １０  カラーモニタ    １２  カラープリンタ
１４  ディスクドライブ    １６  ＬＡＮインターフェース    １８  パターン作成部
２０  パターンデータ記憶部    ２２  ポリゴン生成部    ２４  シミュレータ
２６  ポリゴン切り替え部    ３０  シミュレーションプログラム
３１  ポリゴン生成命令    ３２  縫合命令    ３３  着装命令
３４  シミュレーション命令    ３５  ポリゴン切り替え命令  
７１  テクスチャー画像    ７２  細かいポリゴンの配置
７３  粗いポリゴンの配置    ７４  ３Ｄ空間での粗いポリゴンの配置
【国際調査報告】
2008016027.tif 000013
2008016027.tif 000014