(57)【要約】 【構成】  デザインした仮想的な無縫製ニットガーメントの、身頃と袖を楕円柱状に膨張させ、人体モデルに対して仮に位置決めし、人体モデルの胴、両腕の各軸に向けて、無縫製ガーメントの各部を移動させて仮に着装する。着装したガーメントでのステッチの配置を横方向と縦方向とに平滑化して、ステッチの位置を粗補正する。次いでガーメント各部のステッチの位置を繰り返し平滑化して、着装後の仮想的なガーメントを得る。【効果】  仮想的なガーメントを胴の軸、腕の軸と別々の軸に向けて移動させたことによる歪みを、粗補正と平滑化で除去し、自然なシミュレーション画像が得られる。【選択図】     図１９
2005240213.tif 000002
【特許請求の範囲】
【請求項１】
複数のポリゴンからなる３次元の人体モデルに対して、複数のパーツを有する仮想的なニットガーメントを着装させるシミュレーション方法において、
前記人体モデルに複数の軸を設け、
前記ニットガーメントの各パーツを前記複数の軸のいずれかに対応させるとともに、前記ニットガーメントを人体モデルに対して仮に位置決めし、
仮に位置決めしたニットガーメントを、そのパーツ毎に対応する軸へ向けて収縮／膨張させることにより、前記ニットガーメントを人体モデルに着装させることを特徴とする、人体モデルへのニットガーメントの着装シミュレーション方法。
【請求項２】
前記人体モデルは少なくとも胴と両腕を備えると共に、胴の軸と右腕の軸並びに左腕の軸を備え、
前記仮想的なニットガーメントは少なくとも身頃と両袖からなる複数のパーツを備え、かつ各パーツを人体モデルのいずれかの軸に対応させると共に、前記仮の位置決めでは各パーツの内部を対応する軸が通るようにし、                  
さらに両袖の上部が人体モデルの腕の上部に触れ、両袖の下部は人体モデルの腕の下部に対して隙間があるように、仮想的なガーメントの両袖を収縮／膨張させることを特徴とする、請求項１の着装シミュレーション方法。
【請求項３】
前記仮想的なニットガーメントを人体モデルに着装させた後に、そのコース方向とウェール方向とに沿って、仮想的なニットガーメントの各ステッチを再配置することにより、対応する軸が異なるパーツ間での仮想的なニットガーメントの歪みを除くことを特徴とする、請求項２の着装シミュレーション方法。
【請求項４】
前記ニットガーメントの着装後に、前記ニットガーメントの各ステッチをその周囲のステッチの平均位置に近づくように移動させることによりニットガーメントのステッチ位置を平滑化し、かつこの平滑化を繰り返すことを特徴とする、請求項１〜３のいずれかの人体モデルへのニットガーメントの着装シミュレーション方法。
【請求項５】
複数のポリゴンからなる３次元の人体モデルに対して、複数のパーツを備えた仮想的なニットガーメントを着装させる装置において、
人体モデルに設けた複数の軸の位置を記憶するための記憶手段と、
前記ニットガーメントの各パーツを前記複数の軸のいずれかに対応させるための対応手段と、
各パーツを、対応する軸を取り巻くように、３Ｄ空間内で仮に配置するための仮配置手段と、
各パーツを対応する軸へ向けて収縮／膨張させるための着装手段とを設けて、
前記軸に対して仮に位置決めしたニットガーメントを、パーツ毎に対応する軸へ向けて収縮／膨張させることにより、人体モデルに着装させるようにしたことを特徴とする、着装シミュレーション装置。
【請求項６】
仮想的なニットガーメントは身頃と両袖とを備え、人体モデルは胴と両腕並びにこれらの軸を備え、
前記着装手段では、両袖の上部が人体モデルの腕の上部に触れ、両袖の下部は人体モデルの腕の下部に対して隙間があるように、仮想的なガーメントの両袖を収縮／膨張させることを特徴とする、請求項５の着装シミュレーション装置。
【請求項７】
仮想的なニットガーメントを人体モデルに着装させた後に、
仮想的なニットガーメントのコース方向とウェール方向とに沿って、ステッチを再配置することにより、対応する軸が異なるパーツ間での仮想的なニットガーメントの歪みを除くための補正手段を設けたことを特徴とする、請求項６の着装シミュレーション装置。
【請求項８】
前記ニットガーメントを人体モデルに着装させた後に、前記ニットガーメントの各ステッチをその周囲のステッチの平均位置に近づくように移動させることにより、ニットガーメントのステッチ位置を平滑化するための平滑化手段と、
前記平滑化手段にステッチ位置の平滑化を繰り返して行わせるための繰り返し手段を設けたことを特徴とする、請求項５〜７のいずれかの着装シミュレーション装置。
【請求項９】
複数のポリゴンからなる３次元の人体モデルに対して、複数のパーツを有する仮想的なニットガーメントを着装させるプログラムにおいて、
人体モデルに設けた複数の軸の位置を記憶するための記憶命令と、
前記ニットガーメントの各パーツを、前記複数の軸のいずれかに対応させるための対応命令と、
各パーツを、対応する軸を取り巻くように、３Ｄ空間内で仮に配置するための仮配置命令と、
各パーツを対応する軸へ向けて収縮／膨張させるための着装命令とを設けて、
前記軸に対して仮に位置決めしたニットガーメントを、パーツ毎に対応する軸へ向けて収縮／膨張させることにより、人体モデルに着装させるようにしたことを特徴とする、着装プログラム。
【請求項１０】
仮想的なニットガーメントは身頃と両袖とを備え、人体モデルは胴と両腕及びこれらの軸を備え、
前記着装命令では、両袖の上部が人体モデルの腕の上部に触れ、両袖の下部は人体モデルの腕の下部に対して隙間があるように、仮想的なガーメントの両袖を収縮させることを特徴とする、請求項９の着装シミュレーションプログラム。
【請求項１１】
仮想的なニットガーメントを人体モデルに着装させた後に、
仮想的なニットガーメントのコース方向とウェール方向とに沿って、ステッチを再配置することにより、対応する軸が異なるパーツ間での仮想的なニットガーメントの歪みを除くための補正命令を設けたことを特徴とする、請求項１０の着装シミュレーションプログラム。  
【請求項１２】
前記ニットガーメントを人体モデルに着装させた後に、前記ニットガーメントの各ステッチをその周囲のステッチの平均位置に近づくように移動させることにより、ニットガーメントのステッチ位置を平滑化する平滑化命令と、
該平滑化命令を繰り返し実行させるための繰り返し命令とを設けたことを特徴とする、請求項９〜１１のいずれかの着装プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無縫製の筒状ニットガーメントなどのニットガーメントを、人体モデルに仮想的に着装させることに関する。
【背景技術】
【０００２】
非特許文献１は、ニットガーメントの形状を３次元的にシミュレーションする方法を開示している。ニットガーメントの各ステッチを質点と見なし、各ステッチがバネで接続されているものとして、ステッチの運動方程式を解き、ガーメントの姿を３次元的にシミュレーションする。しかしながら人体モデルにニットガーメントをどのように着装させるかは開示されていない。
特許文献１は、水着などの伸縮性のある衣類のシミュレーションについて、人体にフィットするように衣類を膨張させて着せ付けることを提案している。
特許文献２は、衣類を複数の布に分割し、各布を人体に衝突させるようにして、衣類の着装状態をシミュレーションすることを提案している。
【０００３】
発明者は、比較的簡単なモデルを用いて、仮想的なニットガーメントを人体モデルに着装させると、ニットガーメントのステッチ配置が乱れることを見出した。非特許文献１のように各ステッチを仮想的なバネで接続して、ステッチの安定位置を求めると、着装過程でのステッチ位置の乱れは少ないと考えられる。しかし非特許文献１では、３次元的な人体モデルにニットガーメントをどのように着装させるかは開示されていない。３次元の人体モデルの表面に沿って、バネで接続された多数のステッチを移動させながら、各ステッチの安定位置を求めるのは、モデルとして複雑であり、かなりの計算量を要するものと考えられる。また特許文献２は布帛に関するもので、着装に伴うステッチ配置の乱れは考慮する必要がない。
【０００４】
特許文献１の水着は胴の筒状パーツに肩紐を付けたものであり、一般のガーメントのように身頃と袖などのパーツを備えていない。そして身頃と袖とを有するニットガーメントや、パンツやスラックスなどのニットガーメントでは、胴からなる１つの筒に着せ付けるのではなく、胴と腕、あるいは胴と両脚などの複雑な人体モデルにニットガーメントを着せ付ける。このためニットガーメントの着せ付け方も複雑で、ステッチの配置が不自然になりやすい。
【非特許文献１】The Art of Knitted Fabrics, Realistic & Physically BasedModelling of Knitted Patterns, EUROGRAPHICS'98, Vol.17,(1998),Number3
【特許文献１】特開平９−２７３０１７
【特許文献２】特開平８−４４７８５
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明の基本的課題は、比較的少ない計算量で、多数のステッチからなる仮想的なニットガーメントを、複数の軸を有する人体モデルに、信頼性のあるモデルで着装させることにある（請求項１〜１２）。
請求項２，６，１０の発明での追加の課題は、腕に対する袖の着用状態を、簡単かつリアルにシミュレーションできるようにすることにある。
請求項３，７，１１の発明での追加の課題は、仮想的なニットガーメントの着装時の移動方向が、人体モデルの軸によって異なることにより生じるギャップを除くことにある。
請求項４，８，１２の発明での追加の課題は、着装後のステッチの配置を自然な配置に再配列することにある。
【課題を解決するための手段】
【０００６】
この発明の人体モデルへのニットガーメントの着装シミュレーション方法では、
人体モデルに複数の軸を設け、
仮想的なニットガーメントの各パーツを前記複数の軸のいずれかに対応させ、
前記仮想的なニットガーメントを、人体モデルに対して仮に位置決めし、
仮に位置決めした仮想的なニットガーメントを、パーツ毎に対応する軸へ向けて収縮／膨張させることにより、仮想的なニットガーメントを人体モデルに着装させる。
【０００７】
この発明の着装シミュレーション装置では、
人体モデルの複数の軸と、人体モデル表面の複数のポリゴンの位置と向きとを、３Ｄ的に記憶するための記憶手段と、
複数のパーツからなり、各パーツを前記複数の軸のいずれかに対応させた仮想的なニットガーメントを、前記パーツが対応する軸を取り巻くように、３Ｄ空間内で仮配置するための配置手段と、
前記パーツを対応する軸へ向けて収縮／膨張させて、該収縮／膨張方向と交差するポリゴンにパーツの各ポイントを対応させて、仮想的なニットガーメントを前記人体モデルに着装させるための着装手段とを設ける。
【０００８】
この発明の着装シミュレーションプログラムでは、
人体モデルの複数の軸と、人体モデル表面の複数のポリゴンの位置と向きとを、３Ｄ的に記憶するための記憶命令と、
複数のパーツからなり、各パーツを前記複数の軸のいずれかに対応させた仮想的なニットガーメントを、前記パーツが対応する軸を取り巻くように、３Ｄ空間内で仮配置するための配置命令と、
前記パーツを対応する軸へ向けて収縮／膨張させて、該収縮／膨張方向と交差するポリゴンにパーツの各ポイントを対応させて、仮想的なニットガーメントを前記人体モデルに着装させるための着装命令とを設ける。
【０００９】
好ましくはこの発明の着装シミュレーション方法や着装シミュレーション装置、着装プログラムでは、前記人体モデルは少なくとも胴と両腕を備えると共に、胴の軸と右腕の軸並びに左腕の軸を備え、
前記仮想的なニットガーメントは少なくとも身頃と両袖からなる複数のパーツを備え、かつ各パーツを人体モデルのいずれかの軸に対応させると共に、前記仮の位置決めでは各パーツの内部を対応する軸が通るようにし、                  
さらに両袖の上部が人体モデルの腕の上部に触れ、両袖の下部は人体モデルの腕の下部に対して隙間があるように、仮想的なガーメントの両袖を収縮／膨張させる。
【００１０】
また好ましくはこの発明の着装シミュレーション方法や着装シミュレーション装置、着装プログラムでは、前記仮想的なニットガーメントを人体モデルに着装させた後に、そのコース方向とウェール方向とに沿って、仮想的なニットガーメントの各ステッチを再配置することにより、対応する軸が異なるパーツ間での仮想的なニットガーメントの歪みを除く。この処理を粗補正ということがある。
【００１１】
また好ましくはこの発明の着装シミュレーション方法や着装シミュレーション装置、着装プログラムでは、前記ニットガーメントの着装後に、前記ニットガーメントの各ステッチをその周囲のステッチの平均位置に近づくように移動させることによりニットガーメントのステッチ位置を平滑化し、かつこの平滑化を繰り返す。
【００１２】
この明細書ではニットガーメントのみを対象とするので、ニットを省略して単にガーメントと呼ぶことがあり、また仮想的なガーメントのみを対象とするので、仮想的を省略して単に、ガーメントを着装させる、ガーメントを膨張させるなどと呼ぶことがある。
【００１３】
実施例ではニットガーメントの仮の位置決め前に、ニットガーメントを膨張させ、膨張したニットガーメントを人体モデルへ収縮させる例を示す。これはガーメントを拡げながら人が着るのを模したモデルである。しかしこの逆に、ニットガーメントを人体モデルに着装させた後に、ガーメントが人体モデルの外側に移動させ、この移動に周長が所定の条件を満たすまでなどの拘束を課すようにしても良い。
【発明の効果】
【００１４】
この発明では、ニットガーメントの各パーツが、腕や胴などの人体にフィットしようとすることを、パーツを人体モデルの軸へ向けて収縮／膨張させることでシミュレーションする。このため比較的少ない計算量で、しかも具体的なモデルに基づいたシミュレーションができる。
【００１５】
袖はその上部が腕の上部で支えられ、下部は腕から隙間があるのが普通である。袖の垂れ下がり具合を、袖に働く重力から求めるのは大変である。そこで袖の収縮／膨張の過程で、例えば袖が収縮／膨張することにより、袖の上部が人体モデルの腕の上部に触れ、両袖の下部は人体モデルの腕の下部に対して隙間があるようにする。このようにすると重力による袖の変形を計算せずに、袖をリアルにシミュレーションできる。
【００１６】
ニットガーメントを複数のパーツに分割し、これらを複数の軸に向けて収縮／膨張させる。近接したステッチでも、収縮／膨張での軸が異なると移動方向が異なり、ステッチ間に大きな隙間が生じることがある。そこで仮想的なニットガーメントを人体モデルに着装させた後に、そのコース方向とウェール方向とに沿って、仮想的なニットガーメントの各ステッチを再配置（粗補正）する。すると対応する軸が異なるパーツ間での、仮想的なニットガーメントの歪みを除くことができる。
【００１７】
この処理では、例えばコース方向やウェール方向の隣接したステッチ間の平均位置へ向けて、隣接したステッチの間のステッチ（粗補正対象のステッチ）を移動させる。この場合に、粗補正対象のステッチを文字通りに隣接ステッチ間の平均位置に移動させる必要はなく、平均位置へ近接させればよい。またコース方向やウェール方向の粗補正では、処理対象のコース上やウェール上のステッチの集団、例えばコース上の全ステッチやウェール上の全ステッチを、ステッチ間の間隔が一定に近づくように移動させても良い。例えば１コース分や１ウェール分の全ステッチを、コースの両端間やウェールの両端間に均等に配置されるように移動させても良い。
【００１８】
粗補正は例えば１回〜１０回程度行い、１回の粗補正でステッチが大きく移動するように、同じコース内のステッチ間や同じウェール内のステッチ間のみで補正し、上下のコースのステッチ位置や左右のウェールでのステッチ位置は考慮しないことが好ましい。また身頃と袖との接続部の歪みを除くために、コース方向の粗補正では、直線ないしは曲線のコースの形状自体は補正せずに、コース上のステッチの位置のみを補正することが好ましい。一方ウェール方向の粗補正では、例えば袖に引かれて直線から大きく外れたウェールの形状自体も補正することが好ましい。この補正は、ウェールの曲線形状を平滑化し直線に近づける、ウェールの長手方向に直角な向きでのステッチの位置を、前後のステッチの中間に近づけるなどにより行うことができる。
【００１９】
また着装では、人体モデルの凹凸によって、ステッチが伸ばされあるいは圧縮して詰め込まれることになる。そこでステッチ位置を周囲のステッチを基準に平滑化することにより、ステッチ配置は自然な配置に近づく。ここで平滑化を繰り返して、ステッチの配置を安定値に近づけると、ステッチ配置は充分に平滑化され、かつシミュレーション方法の影響を受けない自然な配置になるものと考えられる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明を実施するための最良の形態を示す。
【実施例】
【００２１】
図１〜図１９に、実施例を示す。図１は実施例の着装シミュレーション装置２を示し、ニットデザイン装置や３Ｄ画像処理装置などにおいて標準的に装備されているものは省略する。４はガーメントデザイン部で、手入力部６やＬＡＮインターフェース１６，ディスクドライブ１８などからの入力により、ニットガーメントをデザインする。デザイン対象のニットガーメントは、例えば無縫製の筒状ガーメントとするが、縫製のあるガーメントでも良く、その場合、ガーメントデザイン部４で各パーツをどのように縫製するかの情報を含めてデザインする。表示部８は、種々の画像を表示すると共に、グラフィックユーザインターフェースとなり、ガーメントデザイン部４でのデザイン過程の画像や、人体モデルに着装後の画像を表示する。カラープリンタ１０はこれらの画像をプリントする。
【００２２】
３Ｄ画像記憶部１２には人体モデルの画像と、デザインしたニットガーメントの３Ｄ画像とを記憶する。人体モデルには例えばマネキンや、実際の人体をモデル化したものなどを用い、数万個程度のポリゴンの集合体として構成され、胴と両腕に対する少なくとも３つの軸を備えている。またポリゴンは１０〜２０程度のグループに分類することが好ましい。データ変換部１４は、ガーメントデザイン部４で作成したガーメントのデザインデータを編成データに変換し、着装シミュレーションの対象データは、データ変換後の編成データでも、その前のデザインデータでも良い。ＬＡＮインターフェース１６は、着装シミュレーション装置２をＬＡＮに接続し、ディスクドライブ１８は適宜のディスクをドライブし、汎用メモリ２０は種々のデータを記憶する。
【００２３】
事前変形部２２では、デザインしたガーメントのデータを、自然な状態へと変形させる。ここで自然な状態とは例えばガーメントを平面上に静かに置いた状態や、肩の線でガーメントの重力を支えながら鉛直面内に静かに置いたような状態である。
【００２４】
なおこの明細書において取り扱うのは、現実のガーメントではなくそのデザインデータである。そこでデザインデータを表す画像や、これからシミュレーションした仮想的なガーメントなどを、単にガーメントという。
【００２５】
さらにこの明細書では、シミュレーション装置とシミュレーション方法並びにシミュレーションプログラムが一体になっている。そこでシミュレーション装置２に関する記載はシミュレーション方法やシミュレーションプログラムにも当てはまり、また逆にシミュレーション方法やシミュレーションプログラムに関する記載は、シミュレーション装置２にも当てはまる。
【００２６】
例えば事前変形部２２ではガーメントの襟の変形を行い、これについて図３の着装プログラム４０や図４の事前変形で説明する。そしてこれらの説明は図１の事前変形部２２にも当てはまり、図３や図４などに必要な機能が図１の事前変形部２２にも備わっているものとする。この点は、着装シミュレーション装置２の他の部分についても同様である。
【００２７】
立体変形部２４は、例えば身頃と両袖の３つの筒から成るガーメントを、各々楕円柱状に膨らませる。これ以外に重力によるガーメントの上下方向の延びを考慮する場合、これに応じてガーメントを上下に引き延ばす。着装部２６は、ガーメントを人体モデルに対して仮に位置決めし、胴及び両腕の例えば３つの軸に対して、ガーメントの身頃及び両袖の３つなどのパーツを、軸方向に例えば収縮／膨張させて、人体モデルにガーメントを仮に着装させる。
【００２８】
着装によりガーメントには歪みが生じる。例えば袖と身頃の接続部で、身頃は胴の軸に向けて移動し、袖は腕の軸に向けて移動するので、近接したステッチ（編目）の間に大きな距離が生じる。そこで粗補正部２８では、横方向（コース方向）並びに縦方向（ウェール方向）の２つの方向について、ステッチの配置を粗く補正する。例えば横方向の補正では、ステッチがコース方向に均等に配置されるように補正し、あるいは各ステッチがコース方向の両側のステッチの中点に配置されるように補正する。人体表面の凹凸や身頃と袖との接続などにより、ウェールの方向はもはや直線状ではないので、縦方向の粗補正では、鉛直からのウェール方向のずれについても補正を加える。例えば、各ステッチの位置を同じウェール上での前後のウェールの平均位置とする。縦横の粗補正では、ステッチがポリゴンに衝突しないように、移動範囲に拘束を加える。
【００２９】
平滑化部３０では粗補正後のガーメントについて、ステッチの配置を平滑化し、例えば各ステッチに対してその上下左右の４方の隣接するステッチを考慮し、周囲の例えば４ステッチの平均位置などに各ステッチを移動させる。上下左右に隣接するステッチの数は通常４であるが、下の２ステッチを重ねた重ね目上のステッチでは上下左右に５ステッチが隣接し、また編地の端のステッチでは上下左、上下右などの３ステッチが隣接することもある。平滑化は好ましくは繰り返して行い、ステッチの配置が安定して変化しなくなるまで繰り返す。ガーメントが人体モデルに密着するか、あるいはガーメントが人体モデルに対してゆとりのある大きな形をしているかなどを表現するため、例えば平滑化と同時に、ガーメントのサイズを補正する。レンダリング部３２では平滑化後のガーメントに対して、各ステッチに対して糸のモデルを割り当て、また表目や裏目などのステッチの種類などに応じて、ポリゴンに垂直な方向にステッチを僅かにスライドさせ、シミュレーション画像の精度を増す。
【００３０】
図２に着装シミュレーション方法の概要を示すと、ガーメントデザイン部４で無縫製ガーメントなどをデザインし、事前変形部でガーメントを変形させて、平面的で自然なガーメントの画像を得る。立体変形では、立体変形部２４によりガーメントの各パーツを楕円柱状へ膨張させる。この時ガーメントは、その周方向（コース方向）に沿っての長さ（周長）が増すように膨張する。楕円の形などは人体モデルにフィットしやすいように適宜に定め、極端な場合、真円状でも良い。またガーメントのパーツは少なくとも身頃と両袖の３つであるが、これらの各パーツをさらに分割し、例えば裾のリブや襟，肩，ポケット，前立てなどを加えて、より多数のパーツとしても良い。
【００３１】
着装処理では、立体変形により楕円柱状に膨らませたガーメントを人体モデルに仮に着装し、粗補正により着装時に生じたステッチ配置の歪みを除去し、平滑化処理によりさらにステッチ配置を平滑化する。その後レンダリングにより、画像に視覚的美しさを与えて、表示部８やプリンタ１０に出力するのに適した画像とする。なお平滑化とレンダリングとは同時に行っても良い。
【００３２】
図３に着装プログラム４０の概要を示し、ガーメントデザインに必要なプログラムや通常の３Ｄ画像処理に必要なプログラムは省略して示す。４２は事前変形部で、境界検出部４３を用いて、ガーメントの各部の境界を検出し、これによってガーメントは、身頃，右袖，左袖，後襟，前襟，裾ゴムなどの各パーツに分割され、ガーメントの各ステッチにはその部位（パーツ名）が属性として部位属性付与部４４により付与される。この結果、各ステッチと部位（パーツ）とが対応付けられる。
【００３３】
平滑化部４５では、ガーメントのデザインデータを自然な形へと平滑化する。これによって各ステッチには自然なサイズが与えられ、また身頃に対して両袖を傾けるなどにより、各パーツの形を自然な形にする。襟変形部４６では、前襟を倒し（寝かし）、これに伴って後襟が前襟側へ回り込むように襟を変形させる。襟変形の内容は図５，図６により説明する。
【００３４】
立体変形部５０では、ガーメントを楕円柱状に仮想的に膨張させる。着装部５２では、軸記憶部５３に人体モデルの各軸の位置を記憶させる。またポリゴンリスト５４には、人体モデルの表面のポリゴンのリストを記憶させる。ポリゴンの数は例えば数万程度で、各ポリゴンは例えば三角形や四角形で、ポリゴンのデータはポリゴン番号並びに各頂点の３Ｄ座標、及び法線ベクトルなどである。ポリゴンは胴，右腕，左腕，ネックなどのように、人体モデルの各パーツに分類し、例えばセーターなどのシミュレーションでは、ポリゴンを１０〜２０種類程度にグループ化しておくことが好ましい。さらにポリゴン間の隣接関係を明確に把握したい場合、頂点リスト５５を設けて、ポリゴンの頂点に対して、この頂点を共有するポリゴン番号のリストなどを記憶しても良い。
【００３５】
仮位置決め部５６では、ガーメントを人体モデルに着装させる前に、ガーメント各部を人体モデルに対して仮に位置決めする。この時、ガーメントは立体変形部５０で膨張させたままの姿である。衝突ポリゴン判定部５７では、各ステッチに対してポリゴンを対応させる。ステッチが人体モデルの外側にある場合、各ステッチからそのステッチが属するパーツに対する軸に対して垂線の足を下ろし、この垂線が衝突するポリゴンを判定する。またステッチが人体モデルの内側にある場合、ステッチから軸に下ろした垂線を逆に延長し、衝突するポリゴンを判定する。ステッチの数はセーターなどでも１０万以上の場合が多いので、ポリゴンをグループ化することにより、衝突し得るポリゴンの数を１／１０〜１／２０程度に絞り、かつどのポリゴンに衝突するかの判定になるべく総当たりを用いないようにして、衝突ポリゴンの判定を効率化する。
【００３６】
ステッチ移動部５８では、各ステッチを衝突ポリゴン判定部５７で求めたポリゴンへ向けて移動させ、各ステッチがポリゴンに衝突して元の方向などに僅かにリバウンドした位置や、ポリゴンの外側などにあって人体モデルに仮想的にガーメントを着せ付けた状態が得られるようにする。ガーメントにはコース当たりの目数や各ステッチのサイズなどから定まる自然な大きさが有り、周長を引き伸ばして膨張させたガーメントは、周長が自然なサイズになるまで収縮するはずである。そこで長さ当たりの目数などを監視しながらステッチを移動させ、ステッチがポリゴンに衝突すると収縮を停止し、ポリゴンに衝突しない場合でも、コース方向の長さ当たりなどの目数が所定の値に達すると、収縮を停止する。      
【００３７】
着装までの処理は、事前変形でガーメントを比較的自然な形状とし、立体変形でガーメントを膨らませて、着装により自然なサイズへと向けて収縮させて人体モデルに着せ付けるものである。これはニットガーメントを人が着る場合に、胴と腕などを通し、この間にニットガーメントがやや膨らんだ状態から、人体にフィットした状態へと収縮する過程をモデル化したものである。
【００３８】
これらの処理によりステッチデータがどのように扱われるかを、ステッチデータ記憶部６０により説明する。ステッチには例えばステッチ番号と該当するパーツ名などの属性が付与され、親や子並びに両隣などの近傍のステッチの番号がステッチデータに記憶されている。なお親は例えば自分のシンカーループを保持しているステッチ（１コース次のステッチ）で、子は例えば１コース下のステッチである。
【００３９】
また各ステッチに対して表目／裏目、ラッキングの有無などのステッチの種類を記憶する。ステッチはポリゴンの表面付近まで移動することにより、３次元の座標（３Ｄ位置）が付与され、ステッチのループを含む面はポリゴンの表面に平行で、ステッチに直角な方向はポリゴンの法線ベクトルで与えられる。またステッチはポリゴンと対応付けられているので、各ステッチが属するポリゴン番号を記憶し、例えば１つのポリゴンに対して平均で１〜１０個程度のステッチが対応する。各ステッチ毎に、あるいはステッチの集団毎に、素材となる糸のデータを記憶し、糸データの詳細は糸モデルにより与えられる。
【００４０】
粗補正部７０には横補正部７１と縦補正部７２があり、横方向と縦方向に対してそれぞれ１回〜数回程度の粗補正を行う。平滑化部８０には例えば４近傍補正部８１を設けて、各ステッチに対し、その親子（上下）並びに左右の４つの近傍のステッチを用い、その位置を平滑化する。ステッチを軸に向けて移動させる際に、ガーメントの各コースの周長が自然な周長よりも長いままで移動を終了させ、その後にガーメントをさらに収縮させても良い。このような場合、収縮膨張部８２を設けて、粗補正後に各ステッチのサイズが現実的なサイズとなるようにガーメントを収縮もしくは膨張させる。
【００４１】
レンダリング部９０では、平滑化を行った後のガーメントに対して、あるいは平滑化と同時にレンダリングを施す。まずポリゴン法線方向補正部９１で、各ステッチの表目や裏目などのステッチの種類（目の種類）に応じて、ポリゴンの法線方向への位置を補正する。ポリゴンの法線方向の位置は、ポリゴン表面を０とし、人体モデルの外側を＋に定める。例えばリブ編地などの場合、表目は裏目に比べてポリゴンから高い位置にある。このようにしてガーメントの３Ｄ形状を編組織に応じて補正する。また糸モデル処理部９２により、各ステッチに対して糸のモデルを付与し、例えば各糸が芯と毛羽の２つの部分から成るものとすると、各ステッチの３Ｄ画像が芯と毛羽とから構成され、かつ具体的な色調や太さを持つようにする。この後、適宜のシェーディングを施すと、立体感と陰影のあるガーメントのシミュレーションが行える。
【００４２】
図４に事前変形のアルゴリズムを示すと、ガーメントの袖や身頃などの各パーツ間の境界を検出し、この検出結果に応じて袖を身頃に対して曲げるなどの自然な変形を施す。またパーツの境界を検出したので、各ステッチに対して部位を属性として付与できる。さらに図５，図６のようにして襟を変形する。図５の９４は前襟、９６は後襟で、前襟９４の両端の点Ｂ，Ｃを前襟の襟下がりラインに垂直な方向へ向けて、襟の基点から回転させる。このようにして点Ｂ，Ｃを点Ｂ'，Ｃ'へと移動させる。また前襟９４を倒すと、これに伴って後襟９６も変形する。
【００４３】
襟の変形アルゴリズムは、前襟９４を最初に倒した後に、倒し過ぎの場合には起こして自然な襟の形にするというものである。Ｂ点をＢ'点に、Ｃ点をＣ'点に移動させた後、前襟９４の下側から上側への各コースについて、図５のように倒した状態でのコース長αと、各コースの目数並びに糸径から予想されるコース長βとを比較する。コース長αがコース長β未満である場合、襟は倒れすぎており、例えば前のコースと鉛直方向に重なるように次のコースを起こして襟を立てる。コース長αがコース長β以上の場合、襟は図５のように倒れているのが自然であるとして、そのコースについては補正を加えない。この処理を襟の全コースについて行うと、図５のように前襟９４を倒し、それに伴って後襟９６を回し込むことができる。この後、例えば上下左右の隣接するステッチの平均位置に、それらの中間のステッチが来るように、ステッチの配置を平滑化する。
【００４４】
図７〜図１２により、人体モデルでガーメントを仮に着装する過程を説明する。図８のように人体モデルには、胴ｂ，右腕ｒａ，左腕ｌａなどの少なくとも３つの軸があり、軸は直線であるが曲線でも良い。また３つの軸の交差部がネック１００に相当し、その下部の部分が肩１０２に相当する。図９の１０４は平面視での胴表面を表し、実際は多数のポリゴンで表面が構成されている。立体変形により膨張した身頃１０６は楕円柱状で、胴表面１０４を包み込むように配置され、仮位置決め部５６により、身頃１０６は胴に対してほぼ妥当な位置に仮に配置されている。身頃１０６の各ステッチは、胴の軸ｂへと向け収縮し、ポリゴンに衝突するか、長さ当たりの目数が所定値に達すると収縮を停止する。胴表面の凹凸のために仮に身頃のステッチの一部がポリゴンの内側にある場合、軸から遠ざかる方向に移動してポリゴンの外側へと出て、長さ当たりの目数が所定値に達すると膨張を停止する。
【００４５】
図１０の１１０は腕表面で、１１２は袖で、袖の中心軸１１４は右腕の軸ｒａなどの腕の軸よりも例えばやや下側にあり、ここから図１０の矢印のように袖１１２を収縮させると、収縮後の袖１１６では袖の上部が腕の上部にほぼフィットし、袖の下部と腕との間に隙間が残る形となる。袖の中心軸１１４を腕の軸よりもやや下側に配置して収縮させることにより、袖の上部が腕に接触し、袖の下部が垂れた自然な形となる。これ以外に、袖の上下で鉛直方向での収縮速度を変え、袖の下側から上向きの収縮速度を小さくしても良い。この場合は、軸１１４を軸ｒａなどと同じ位置に配置すれば良い。図１１の１２０はネック表面で、その例えば中心を胴の軸ｂが貫通し、身頃の場合と同様に、襟１２２を図１１の矢印方向に収縮させる。
【００４６】
仮に着装したガーメントを図１２に示すと、１３０は膨張した未着装の筒状ガーメントである。ここから図７〜図１１のように着装させると、着装後の身頃１３２と着装後の袖１３４，１３５が得られる。分裂線１３６，１３７の部分では、着装前の身頃のステッチと袖のステッチが隣接している。しかしながら身頃のステッチは図１２の横方向に収縮し、袖のステッチは図１２の斜め上方向に収縮するので、分裂線１３６，１３７の部分で、隣接したステッチ間に大きな隙間が生じる。このように、ガーメントの各パーツをそれぞれの軸へ向けて収縮／膨張させるので、パーツ間の境界部などで歪みが生じる。
【００４７】
図１３に移り、各ステッチについて衝突するポリゴンの判定を示す。１４０はパーツに対応する軸とし、１４１〜１４４はポリゴンで、ポリゴン間の境界のエッジを黒丸で示す。移動前のステッチ１４６は、軸１４０に下ろした垂線の方向に沿って移動し、この垂線が通過するポリゴン１４２が衝突するポリゴンである。ステッチ１４６の移動には、コースの自然な周長よりも小さくは収縮しないとの制限があり、この制限内でポリゴン１４２に衝突した場合、例えば移動前のステッチの方向などへ向けて僅かにリバウンドし、ポリゴンに衝突したステッチ１４７の位置に移動する。数万個のポリゴンを１０〜２０程度のグループに分割しても、１パーツ当たりのポリゴンの数は１０００個以上のオーダーであり、総当たりでどのポリゴンに衝突するかを検出するのは不効率である。そこで図７のアルゴリズムでは、各パーツの最初のポリゴンについて、例えば総当たりにより、あるいは適宜の探索ルールにより、衝突するポリゴンを判定する。以降のステッチについては、直前のステッチあるいは１コース下または１コース上のステッチが衝突したポリゴンを、衝突するポリゴンの候補として最初に検討する。そしてこれらの候補に衝突しない場合、他のポリゴンにも探索範囲を広げる。このようにして衝突ポリゴンの判定を効率化する。
【００４８】
図１４にポリゴン判定の例を示すと、１５８ａ〜ｄはポリゴンで、編成のコース方向は図の右から左で、周回の筒状編成なのでコース方向は一定である。黒丸のステッチはどのポリゴンに衝突するか判定済みで、白丸のステッチは未判定で、今回はステッチ１５９と衝突するポリゴンを探索するものとする。最初に同じコースの直前のステッチ１６０ａと衝突するポリゴンを候補とし、このポリゴンと衝突するかを判定する。衝突しない場合、１つ前のコースで同じウェールのステッチ１６０ｂが衝突するポリゴンを候補として、同様にこのポリゴンと衝突するかを判定する。ステッチ１６０ａ，１６０ｂが衝突するポリゴンとは別のポリゴンと衝突する場合、例えば残るポリゴンを適宜の順番で総当たり的に検討しても良く、あるいは１つ前のコースで、次のウェールのステッチ１６０ｃや２つ次のウェールのステッチ１６０ｄと衝突するポリゴンなどを候補として探索を続けても良い。衝突するポリゴンの判定では、近傍のステッチが衝突するポリゴンから候補とするものとする。  
【００４９】
図１５では、１５２は横方向に粗補正後の身頃で、１５４，１５５は横方向に補正後の袖である。横方向の粗補正では、袖や身頃の各コース方向に沿ってステッチを再配置し、例えば各コースでステッチを等間隔に配置する、あるいは各ステッチを左右両隣のステッチとの間隔が等しくなるように再配置する、などのルールに従い、コース方向に移動させる。この結果、図１２の分裂線１３６，１３７の部分を例えば身頃のステッチが埋めるように、ステッチがコース方向に移動し、袖と身頃との間に生じた隙間が埋められる。
【００５０】
図１５の袖と身頃との境界のウェールの配置はなお不自然である。またこれ以外に人体モデルには様々な凹凸があるので、ウェール方向（縦方向）に沿って粗補正を行う。図１６の１６２は縦方向に粗補正後の身頃で、１６４，１６５は縦方向に粗補正後の袖である。各パーツの各ウェールについて、鉛直方向並びにこれに直角な水平面内の方向に付いて、上下の２つのステッチの中間にステッチが近寄ろうとするなどのモデルを用い、縦方向に粗補正を加える。この時、補正の過程でステッチがポリゴンに衝突すると、ステッチと衝突しない位置に移動先を変更する、もしくはステッチは移動できない、などのルールを加える。このルールは横方向の粗補正でも同様である。図１６の１６８は、１ウェール分の縦方向の粗補正を示し、これは袖との接続部付近の身頃の１ウェールを示している。このようにして縦方向にも粗補正を加える。横方向と縦方向の粗補正は実施例では各１回とするが、必要に応じて複数回繰り返し、着装により生じた歪みを除くようにする。
【００５１】
図１７に粗補正後のステッチの平滑化を示す。１７０は自分の目（ステッチ）で、１７１は親の目（同じウェールで１コース次（上）の目）、１７２は子の目（同じウェールで１コース下の目）、１７３は右隣の目、１７４は左隣の目である。各目の位置は例えばニードルループの位置で表し、シンカーループの位置は例えば親の目の位置で定まり、同じコース内の左右の目との間の渡り糸の配置は、自分の目の位置と左右の目の位置が分かれば判明する。
【００５２】
自分の目１７０を周囲の４近傍の目１７１〜１７４の平均位置へと移動させ、１７６は上下左右の４近傍に対する平滑化後の位置である。平滑化は、例えばガーメントの各コースの一端から他端への順に、また例えばガーメントの上側のコースから下側のコースへの順に行う。さらに最下端のコースや最上端のコースなどのように４近傍が存在しないコースでは、平滑化を行わない、あるいは左右両側の目の平均位置に移動させるようにする。ここでは上下左右の４近傍の平滑化とするが斜め方向に上下左右の他の４目を加味して、周囲の８近傍の目を用いて平滑化しても良い。平滑化は例えば１００〜１００００回程度繰り返し、この間にステッチ位置の収束判定を行うかどうかは任意である。仮想的なガーメントを例えば袖と身頃とで別々の軸に向けて移動させたことや、この際の歪みを除くための粗補正を行ったこと、人体モデルに凹凸があることなどにより、目（ステッチ）の配置には不自然な点が生じている。目の位置を上下左右の４近傍に対する平滑化を繰り返して平滑化する。
【００５３】
編目（ステッチ）の横方向のサイズ（コース方向のサイズ）は、身頃や袖などを膨張させたことにより拡がり、ガーメントを人体モデルに仮想的に着装させて、周長を糸径などと目数から予想される長さへ向けて収縮させたことで、横方向のサイズはほぼ自然なサイズになっている。このサイズは、例えばガーメントが人体モデルに衝突して充分収縮できなかった場合は、糸の太さ４本分などの糸径から予測されるサイズより大きく、そうで無い場合は糸の太さ４本分などの糸径などから予測されるサイズである。そして平滑化と同時に、目の横方向サイズが糸径などから予測される自然なサイズに近づくようにしても良い。各目の縦方向のサイズは、事前変形でほぼ自然なサイズにされ、胴や腕などの軸へ向けての移動や粗補正で各目の縦方向のサイズは僅かに変化している。粗補正では、袖口や身頃の裾などの位置（腕や胴などの軸に沿った位置）を固定しても、固定しなくても良い。そして例えば袖口や裾の位置などを固定しない場合、平滑化と同時に目の縦方向サイズを糸径や編成条件などから定まる自然なサイズに近づけても良い。
【００５４】
次に平滑化の終了後に、あるいは平滑化と同時に、各目のポリゴンに対する高さを修正する。ポリゴンに対する目の高さは、ポリゴン表面を基準とする、ポリゴンの法線方向の位置で表す。親の目と子の目とで表が続く場合や裏が続く場合、即ち、ウェール方向に沿って表／表の場合や裏／裏の場合、自分の目のポリゴン法線方向位置を親の目のポリゴン法線方向位置に近づける。親が表、自分が裏の場合、自分のポリゴン法線方向位置が親よりも糸の太さ分高くなるようにする。逆に親が裏、自分が表の場合、自分のポリゴン法線方向位置が親よりも糸の太さ分低くなるようにする。このようにして、人体モデルの表面に対して各目が自然な高さになるようにし、表目／裏目の種類による高さの変化を表現する。
【００５５】
目の配置を平滑化すると、例えば糸本体と毛羽とからなる糸モデルを用いて各目を表す。糸本体と毛羽は例えば半透明とし、太さ、色彩、反射率、テクスチャーなどは糸モデルで定まり、平滑化により定まった各目のニードルループやシンカーループ、左右の隣接ループの位置に沿って、糸本体と毛羽とを配置する。
【００５６】
図１８，図１９に平滑化後のニットガーメントのシミュレーション画像を示す。実施例では、重力計算や、糸に働く応力によるステッチの移動などの計算を行っていない。また用いたモデルは、ガーメントを自然な状態に変形させ、膨張させ、人体モデルの軸へ向けて収縮させて着装させる、簡単なものである。以降の処理は、粗補正でステッチ位置を粗く補正し、平滑化でステッチ間の間隔が均等になるように再配置することである。これらの処理には人為的な仮定はなく、ガーメントを着装するとどうなるのかを、単純なモデルで人為的な仮定無しでシミュレーションできる。
【００５７】
実施例では以下の効果が得られる。
(1)  比較的単純な計算手順と簡単なモデルに従い、ガーメントを人体モデルに着装させることができる。
(2)  各ステッチ（目）にパーツ名（部位）を属性として付与することにより、どの軸に向けて収縮するかを処理できる。
(3)  パーツ間の境界情報を用いて、袖を身頃に対して自然に曲げることができる。
(4)  ステッチをポリゴンに対応付ける作業を、総当たりでなく効率的に行える。
(5)  ガーメントを膨張させた状態から収縮させることにより、人体モデルに自然なサイズで着装させることができる。
(6)  比較的単純な手順により、上下不均等に腕で支持された袖を表現できる。
(7)  胴，両腕の３つの軸などへ向けてのステッチの移動により生じた歪みを、横方向や縦方向の粗補正により除くことができる。
(8)  目の配置の平滑化を繰り返すことにより、目を自然な安定位置に再配置できる。
(9)  表／裏の目の種類に応じて、ポリゴンの法線方向に目を移動させ、糸モデルを用いて各ステッチを詳細に表現することにより、シミュレーション画像の質を向上できる。
【００５８】
実施例ではセーターの着装を例としたが、パンツやスラックス、あるいはワンピースなどでも良い。例えばパンツやスラックスの場合、胴の軸と両足の３つの軸を用いればよい。またタートルネックなどのように折り返しのあるパーツは、例えば事前変形の段階で折り返しておくと良い。
【図面の簡単な説明】
【００５９】
【図１】実施例の着装シミュレーション装置のブロック図
【図２】実施例の着装シミュレーション方法の概要を示すフローチャート
【図３】実施例の着装シミュレーションプログラムのブロック図
【図４】実施例での事前変形アルゴリズムを示すフローチャート
【図５】実施例での襟の変形を模式的に示す図
【図６】実施例での襟の変形アルゴリズムを示すフローチャート
【図７】実施例での着装アルゴリズムを示すフローチャート
【図８】実施例で用いた人体モデルの、胴と両腕の軸を模式的に示す図
【図９】実施例での胴への身頃の周方向収縮による着装を平面視で模式的に示す図
【図１０】実施例での腕への袖の周方向収縮による着装を鉛直視で模式的に示す図
【図１１】実施例でのネックへの襟の周方向収縮による着装を平面視で模式的に示す図
【図１２】実施例での着装後のニットガーメントを鉛直視で模式的に示す図
【図１３】実施例でのポリゴンへ向けてのステッチの移動を模式的に示す図
【図１４】実施例での衝突するポリゴンの判定を模式的に示す図
【図１５】実施例での横方向粗補正後のガーメントを模式的に示す図
【図１６】実施例での縦方向粗補正後のガーメントを模式的に示す図
【図１７】実施例での平滑化を模式的に示す図
【図１８】実施例での平滑化後のガーメントを正面視で示す図
【図１９】実施例での平滑化後のガーメントを側面視で示す図
【符号の説明】
【００６０】
２              着装シミュレーション装置
４              ガーメントデザイン部
６              手入力部
８              表示部
１０            カラープリンタ
１２            ３Ｄ画像記憶部
１４            データ変換部
１６            ＬＡＮインターフェース
１８            ディスクドライブ
２０            汎用メモリ
２２            事前変形部
２４            立体変形部
２６            着装部
２８            粗補正部
３０            平滑化部
３２            レンダリング部
４０            着装プログラム
４２            事前変形部
４３            境界検出部
４４            部位属性付与部
４５            平滑化部
４６            襟変形部
５０            立体変形部
５２            着装部
５３            軸記憶部
５４            ポリゴンリスト
５５            頂点リスト
５６            仮位置決め部
５７            衝突ポリゴン判定部
５８            ステッチ移動部
６０            ステッチデータ記憶部
６２            ステッチデータ
７０            粗補正部
７１            横補正部
７２            縦補正部
８０            平滑化部
８１            ４近傍補正部
８２            収縮膨張部
９０            レンダリング部
９１            ポリゴン法線方向補正部
９２            糸モデル処理部
１００          ネック
１０２          肩
１０４          胴表面
１０６          身頃
１１０          腕表面
１１２          袖
１１４          袖の中心軸
１１６          収縮後の袖
１２０          ネックの表面
１２２          襟
１３０          膨張した筒状ガーメント
１３２          着装後の身頃
１３４，１３５  着装後の袖
１３６，１３７  分裂線
１４０          軸
１４１〜１４４  ポリゴン
１４６          移動前のステッチ
１４７          ポリゴンに衝突したステッチ
１５２          横方向に粗補正後の身頃
１５４，１５５  横方向に粗補正後の袖
１５６          線
１５８ａ〜ｃ    ポリゴン
１５９          判定対象のステッチ
１６０ａ        同じコースでの直前のステッチ
１６０ｂ        １コース前の同じウェールのステッチ
１６０ｃ        １コース前の次のウェールのステッチ
１６０ｄ        １コース前の２つ次のウェールのステッチ
１６１          未判定のステッチ
１６２          縦方向に粗補正後の身頃
１６４，１６５  縦方向に粗補正後の袖
１６８          １ウェール分の縦方向の粗補正
１７０          自分の目
１７１          親の目
１７２          子の目
１７３          右隣の目
１７４          左隣の目
１７６          ４近傍平滑化後の位置
Ｂ，Ｃ，Ｄ      襟上の位置
Ｂ'，Ｃ'        移動後の位置
ｂ              胴の軸
ｒａ            右腕の軸
ｌａ            左腕の軸  
【図１】
2005240213.tif 000003
【図２】
2005240213.tif 000004
【図３】
2005240213.tif 000005
【図４】
2005240213.tif 000006
【図５】
2005240213.tif 000007
【図６】
2005240213.tif 000008
【図７】
2005240213.tif 000009
【図８】
2005240213.tif 000010
【図９】
2005240213.tif 000011
【図１０】
2005240213.tif 000012
【図１１】
2005240213.tif 000013
【図１２】
2005240213.tif 000014
【図１３】
2005240213.tif 000015
【図１４】
2005240213.tif 000016
【図１５】
2005240213.tif 000017
【図１６】
2005240213.tif 000018
【図１７】
2005240213.tif 000019
【図１８】
2005240213.tif 000020
【図１９】
2005240213.tif 000021