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