(57)【要約】  デザインデータに従って編成したニットファブリックを、個々の糸を３次元的に表示するようにシミュレーションする。ファブリックのループでの糸の位置を表す節点を、１ループ当たり複数個求め、求めた節点に対して糸の断面を配置し、配置した断面と断面とを、断面間で対応する部分を互いに接続する。対応する部分間の捻れを検出し、捻れを検出した際に、断面間で対応しない部分を互いに接続し、断面間の接続を変更する。シミュレーションでの糸の不自然な捻れを解消できる。
2009084427.tif 000002
【特許請求の範囲】
【請求項１】
デザインデータに従って編成したニットファブリックを、該ファブリックの個々の糸を３次元的に表示するようにシミュレーションする装置において、
前記ファブリックのループでの糸の位置を表す節点を、１ループ当たり複数個求めるための手段と、
各節点に対して糸の断面を配置するための断面配置手段と、
配置した断面と断面とを、断面間で対応する部分を互いに接続するための接続手段と、
前記対応する部分間の捻れを検出するための検出手段と、
捻れを検出した際に、断面間で対応しない部分を互いに接続、もしくは一方の断面を回転させて対応する部分を互いに接続するための捻れ解消手段、
とを設けたことを特徴とする、ニットシミュレーション装置。
【請求項２】
前記断面は多角形で、前記接続手段は多角形の同じ頂点を互いに接続し、前記捻れ解消手段は多角形の異なる頂点を互いに接続することを特徴とする、請求項１のニットシミュレーション装置。  
【請求項３】
ループ内での糸の向きに従って、前記多角形を回転させるための回転手段をさらに設けると共に、
前記検出手段は、前記多角形の向きが所定条件以上急変していることから、捻れを検出することを特徴とする、請求項２のニットシミュレーション装置。
【請求項４】
前記ファブリックは筒状のファブリックで、前記多角形の基準となる基本多角形の向きをループの法線方向に従って変更するための手段をさらに設け、前記回転手段でループ内での糸の向きに従い、基本多角形を回転させて、前記断面での多角形とすることを特徴とする、請求項３のニットシミュレーション装置。
【請求項５】
デザインデータに従って編成したニットファブリックを、該ファブリックの個々の糸を３次元的に表示するようにシミュレーションする方法において、
前記ファブリックのループでの糸の位置を表す節点を、１ループ当たり複数個求め、
求めた節点に対して糸の断面を配置し、
配置した断面と断面とを、断面間で対応する部分を互いに接続し、
前記対応する部分間の捻れを検出し、
捻れを検出した際に、断面間で対応しない部分を互いに接続、もしくは一方の断面を回転させて対応する部分を互いに接続する、
ことを特徴とする、ニットシミュレーションでの糸の捻れ修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ニットのシミュレーションに関し、特にループを構成する糸の捻れの修正に関する。
【背景技術】
【０００２】
出願人はニットファブリックのシミュレーション装置を開発している（特許文献１：JP2005-240213A）。ニットファブリックのシミュレーション装置では、ファブリックのデザインデータに従って出来上がりのファブリックをシミュレーションし、ファブリックを人体が着装した状態などを３次元的に表示する。特許文献２：USP6880367Bはシミュレーションに用いるループのモデルを示しており、ループは複数の節点からなり、節点と節点とを糸で接続してループとする。特許文献３：JP3887404Bはプレーティング編成に付いて記載している。プレーティングは、ニットのシミュレーションとは直接は関係がなく、編成方法の１つで、複数の糸を引き揃えて編成する。プレーティングでは、引き揃えた複数の糸の何れがファブリックの表側に現れ、何れが裏側に隠れるかを制御できるので、ファブリックの色を制御できる。プレーティングをシミュレーションすると、糸の表と裏は色が異なるので、糸の表裏を考慮する必要がある。  【０００３】
これらの従来技術とは別に、発明者はニットのシミュレーションで糸が不自然に捻れることがあることを見出した。図１２(A)や図１３(A)に糸の捻れの例を示し、捻れは糸が上下方向に折り返す箇所で生じている。実際のファブリックでは、糸の捻れの箇所で糸の断面の向きは徐々に回転し、１箇所で急激に糸の断面の向きが変化することはないので、糸の捻れは生じない。糸の捻れはシミュレーションでの現象で、実際に生じる現象ではない。糸の流れを丁寧にチェックするような場合、図１３(A)などの糸の捻れは、奇異な印象を与える。そこで不自然な糸の捻れを修正する必要がある。なお糸の捻れとは別の概念として、糸の撚りがある。高速でニットのシミュレーションを行う場合、糸を簡単な多面体で表現する必要があり、一般に糸の撚りは表現しない。
【特許文献１】JP2005-240213A
【特許文献２】USP6880367B
【特許文献３】JP3887404B
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、ニットファブリックのシミュレーションでの糸の捻れを修正することにある。
【課題を解決するための手段】
【０００５】
この発明は、デザインデータに従って編成したニットファブリックを、該ファブリックの個々の糸を３次元的に表示するようにシミュレーションする装置において、
前記ファブリックのループでの糸の位置を表す節点を、１ループ当たり複数個求めるための手段と、
各節点に対して糸の断面を配置するための断面配置手段と、
配置した断面と断面とを、断面間で対応する部分を互いに接続するための接続手段と、
前記対応する部分間の捻れを検出するための検出手段と、
捻れを検出した際に、断面間で対応しない部分を互いに接続、もしくは一方の断面を回転させて対応する部分を互いに接続するための捻れ解消手段、
とを設けたことを特徴とする。【０００６】
またこの発明は、デザインデータに従って編成したニットファブリックを、該ファブリックの個々の糸を３次元的に表示するようにシミュレーションする方法において、
前記ファブリックのループでの糸の位置を表す節点を、１ループ当たり複数個求め、
求めた節点に対して糸の断面を配置し、
配置した断面と断面とを、断面間で対応する部分を互いに接続し、
前記対応する部分間の捻れを検出し、
捻れを検出した際に、断面間で対応しない部分を互いに接続、もしくは一方の断面を回転させて対応する部分を互いに接続する、
ことを特徴とする。【０００７】
好ましくは、前記断面は多角形で、前記接続手段は多角形の同じ頂点を互いに接続し、前記捻れ解消手段は多角形の異なる頂点を互いに接続する。
より好ましくは、ループ内での糸の向きに従って、前記多角形を回転させるための回転手段をさらに設けると共に、
前記検出手段は、前記多角形の向きが所定条件以上急変していることから、捻れを検出する。【０００８】
特に好ましくは、前記ファブリックは筒状のファブリックで、前記多角形の基準となる基本多角形の向きをループの法線方向に従って変更するための手段をさらに設け、前記回転手段でループ内での糸の向きに従い、基本多角形を回転させて、前記断面での多角形とする。【０００９】
この明細書において、シミュレーション装置に関する記載は、シミュレーションでの糸の捻れ検出方法などにもそのまま当てはまり、シミュレーション方法に関する記載はシミュレーション装置にも当てはまる。
【発明の効果】
【００１０】
この発明では、ニットシミュレーションで糸の捻れを検出して修正するので、糸の流れを糸毎にチェックするような場合にも用いることができ、正確なシミュレーションができる。【００１１】
糸の断面を多角形とすると、糸をポリゴンで表現するのが容易となり、糸が捻れる際に多角形の異なる頂点を互いに接続すると、簡易的にプレーティングをシミュレーションする場合にも、糸の表裏の反転が生じない。また糸の捻れは多角形の向きが断面間で急変することから、検出できる。
断面での多角形の基準となる基本多角形の向きを、ループの法線方向に従って変化させると、筒状ファブリックの例えば正面と側面とで断面の多角形の向きが変化する。するとシェーディングを施した際に、糸の見え方がよりリアルになる。
【図面の簡単な説明】
【００１２】
【図１】実施例のニットシミュレーション装置のブロック図
【図２】実施例でのニットシミュレーションのアルゴリズムを示すフローチャート
【図３】実施例でのループでのポリゴン頂点位置の決定アルゴリズムを示すフローチャート
【図４】図３に続くフローチャート
【図５】実施例でのポリゴン柱の生成アルゴリズムを示すフローチャート
【図６】実施例での、ループのモデルを示す図
【図７】実施例での、法線n、接線t、従法線bn，第４ベクトルfの４つのベクトルの関係を示す図
【図８】実施例での、ループの節点P1〜P11の位置による、頂点v1〜v6を備えた基本多角形の回転を示す図
【図９】実施例での、ループの法線ベクトルと、基本多角形の回転及び平行移動を示す図
【図１０】実施例での基本多角形のアフィン変換を示す図
【図１１】シミュレーションでの糸の捻れの機構を示す図
【図１２】実施例での糸の捻れ修正を示す図で、(A)は糸が捻れる例を、(B)は断面多角形の同じ頂点同士が接続されるように、断面多角形を１８０°回転して接続する例を、(C)は２つの断面多角形の間で、反対側の頂点同士を接続する例を示す
【図１３】ニットのシミュレーション結果を示し、(A)は糸の捻れを修正しない従来例を、(B)は糸の捻れを修正した実施例を示す
【図１４】実施例でのガーメントの各部での、基本多角形の向きを示す図
【図１５】基本多角形の向きをループの向きに応じて修正した際の、ニットシミュレーション結果を示す図
【図１６】基本多角形の向きをループの向きと無関係に処理した際の、ニットシミュレーション結果を示す図
【図１７】メッシュ柄に対するシミュレーションでの、糸の捻れを示す図
【符号の説明】
【００１３】
２  ニットシミュレーション装置    ４，６  バス    ８  カラーモニタ
９  マニュアル入力    １０  ディスクドライブ    １１  ディスク
１２  ネットワークインターフェース    １４  カラープリンタ
１６  ニットデザイン部    １８  データ変換部
２０  フロントエンドプロセッサ    ２２  汎用メモリ    ２４  プログラムメモリ
２６  メモリ    ２８  シミュレーション部    ３０  ポリゴン頂点割付部
３１  法線生成部    ３２  接線生成部    ３３  従法線生成部
３４  回転処理部    ３５  捻れ検出部    ３６  ポリゴン生成部
４０  レンダリング部    ６０  節点モデル    ６１  ワイヤフレームモデル
６２  レンダリングモデル    １１１，１１２  ループ    １４１  筒状ガーメント
１４２  円周    １４３，１４４  ループ
A  アフィン変換行列    t  接線ベクトル    n  法線ベクトル
bn  従法線ベクトル    f  第４ベクトル    ⊥  直角記号    ×  ベクトル積
p  節点    a  ループ基点    v  断面多角形の頂点
【発明を実施するための最良の形態】
【００１４】
以下に本発明を実施するための最適実施例を示す。
【実施例】
【００１５】
図１〜図１６に実施例を示す。図１にニットシミュレーション装置２の構造を示し、４，６はバスで、４は入出力データやコマンド、一般的なデータなどを扱うバスで、６は画像データのためのバスである。８はカラーモニタで、シミュレーションにより得られたニットファブリックの画像を表示し、９はマニュアル入力で、キーボードやスタイラス、マウス、ジョイスティック、トラックボールなどである。１０はディスクドライブで、ＣＤ−ＲＯＭなどのディスク１１との間でデータを入出力し、ニットシミュレーション装置２に必要なシミュレーションプログラムは例えばディスク１１から供給して、プログラムメモリ２４に記憶させる。ネットワークインターフェース１２は、ＬＡＮやインターネットなどとの間で、プログラムやシミュレーション結果などのデータを交換し、カラープリンタ１４はシミュレーションにより得られた画像をプリントする。【００１６】
ニットデザイン部１６は、シミュレーションの対象となるニットファブリックをデザインし、データ変換部１８でニットファブリックのデザインデータを横編機で編成できる編成データに変換する。フロントエンドプロセッサ２０は、入出力の管理や、シミュレーション部２８などへのコマンドの発行などを行い、汎用メモリ２２は種々のデータを記憶する。プログラムメモリ２４はシミュレーションプログラムなどを記憶し、メモリ２６は主として画像データを記憶する。【００１７】
シミュレーション部２８は、データ変換部１８で得られた編成データ、もしくはニットデザイン部１６で得られたデザインデータを基に、ニットファブリック、特に衣類のニットガーメントの出来上がりの状態をシミュレーションする。シミュレーションは例えば３次元スペースで行い、人体モデルがニットガーメントを着用した状態をシミュレーションし、あるいは人体モデルなしで平らな台の上にニットガーメントを配置した状態、もしくはハンガーなどで吊した状態などをシミュレーションする。【００１８】
シミュレーション部２８は、３次元スペースでニットファブリックの各編目、即ち各ループがどのように配置されるかまでを、シミュレーションする。シミュレーションの手法自体は任意で、例えば各ループを質点とするモデルによりニットファブリックの安定状態をシミュレーションしてもよい。あるいはより簡易的に、ニットファブリックの各パーツと同等の剛性や人体モデルとの摩擦係数、質量を有する仮想的なシートを縫合した仮想的なガーメントに対し、安定状態をシミュレーションしてもよい。そしてシートに対するループの位置が既知なので、シートの安定状態が分かれば各ループの位置が判明する。ループの位置は、ループの基点と先端とを含んでいる。なお位置は３次元スペースで考える。【００１９】
ポリゴン頂点割付部３０はニットファブリックの各ループ、言い換えると各編目に対し、ポリゴンの頂点を複数割り付ける。そして割り付けられたポリゴンの頂点を結ぶように、ポリゴン生成部３６でポリゴンを生成する。この結果、ニットのループを複数のポリゴンで表現できる。ループの基点と先端の位置、及び左右のループとの接続関係などから、ループの各節点の位置を求め、１ループに対し節点は複数ある。そして節点が判明すると、ループが存在する面が判明する。法線生成部３１はループに垂直な法線ベクトルnを生成する。【００２０】
各節点でのループの接線として、問題の節点の前後の節点を結ぶ線を考え、これを接線ベクトルtとし、接線ベクトルを接線生成部３２で生成する。法線ベクトルnと接線ベクトルtとを生成すると、これのベクトル積から従法線生成部３３で従法線ベクトルbnを生成する。また従法線生成部３３はこれ以外に、接線ベクトルtと従法線ベクトルbnとに垂直な第４のベクトルfを生成する。なお法線ベクトルnや接線ベクトルt、従法線ベクトルbnや第４のベクトルfは、いずれも大きさが１の単位ベクトルである。【００２１】
回転処理部３４は、接線ベクトルt、従法線ベクトルbn、第４ベクトルfにより回転行列Aを生成し、これにループの基点の位置座標を加味してアフィン変換行列を生成する。ループの断面は基本多角形と呼ばれる多角形で表現され、その形状はメモリ２２などに記憶しておく。回転処理部３４で求めたアフィン変換行列は、基本多角形を回転させると共に、多角形の中心がループの節点に存在するように平行移動する。これによって節点の部分で、糸の断面が表現できる。個々の節点での糸の断面を表す多角形を断面多角形といい、断面多角形を生成する元となった多角形を基本多角形という。【００２２】
各節点間で断面多角形を接続することにより、節点間でポリゴンを生成する。この接続では、断面多角形の同じ頂点を互いに接続する。捻れ検出部３５は隣接した節点の間で従法線ベクトルbnの向きが例えば９０°以上異なっていることを検出し、糸の捻れを検出する。ポリゴン生成部３６は捻れがない場合、断面多角形の同じ頂点同士を隣接する節点間で接続する。捻れを検出すると、一方の節点での断面多角形の頂点を、他方の節点での断面多角形の反対側の頂点と接続する。これによって捻れが解消する。以上の処理により、各ループは複数個のポリゴンで表現される。【００２３】
レンダリング部４０は、生成したポリゴンに対してレンダリングを施す。レンダリングでは、糸の風合いや太さ、毛羽、色彩などをテクスチャーマッピングにより表現しても良く、その場合、糸のテクスチャーデータはメモリ２２などに記憶しておく。またシェーディングにより光源からの光の反射などを表現し、影を付け、視点から見えないポリゴンを消去し、カラーの表示画像を生成する。この明細書で用いる主な記号の意味を、符号の説明の欄に示す。【００２４】
図２〜図５に、実施例でのシミュレーションアルゴリズムを示す。これらの説明では図１のハードウェア構成や、図６〜図１６での具体的な例の説明を参照する。ニットデザイン部１６やデータ変換部１８により、ガーメントなどのニットファブリックの編成データを作成する。またこれとは別に、ディスクドライブ１０やネットワークインターフェース１２などから、糸のモデルを入力する。糸のモデルは太さやテクスチャー、色彩、毛羽などを含んでいる。糸のモデルと基本多角形とは別のもので、例えば基本多角形のサイズが糸モデルでの糸の太さによって変化するようにしてもよい。次にシミュレーションの条件を決定し、例えばニットガーメントを平置きしているのか、ハンガーなどに吊しているのか、人体モデルが着用しているのかなどを決定する。そしてシミュレーション部２８によりガーメントの状態をシミュレーションする。これによってループの基点と先端位置とが決定される。【００２５】
ループを表現するためのポリゴンの頂点位置を決定する。頂点位置に基づいてポリゴンを生成し、表面がポリゴンで覆われている柱状の部材、即ちポリゴン柱を節点で互いに接続したものにより、ループを表現する。さらに視点を決定し、レンダリングを行って表示画像を生成し、カラーモニタ８やカラープリンタ１４から出力する。【００２６】
図３，図４にポリゴン頂点位置の決定を示す。ガーメントの状態をシミュレーションした時点で、各ループの基点と先端位置とが決定されている。そして基点から先端へ向けたベクトルや周囲の編目を含む面などに応じて、メモリ２２などに記憶しているループのモデルを呼び出す。このモデルには基点と先端とに対する節点の位置が記載され、これをループを含む面に配置する。以上のようにしてループの節点を発生させる。また糸の断面は基本多角形で表現され、糸がガーメント全体に対して共通の場合、全ループに共通の基本多角形を発生させればよい。またループ毎に基本多角形を発生させても良いが、実用的には用いる糸毎に基本多角形を発生させる。【００２７】
基本多角形の発生はポリゴン頂点割付部３０で行う。また法線生成部３１でループの法線ベクトルnを生成する。その大きさは１で、法線ベクトルnは例えば各ループ毎に存在する。しかしながらより近似的に、筒状ガーメントの円周上のどの位置のループかにより法線ベクトルnの向きを決定しても良い。この場合、上下に連なるループは例えば共通の法線ベクトルnを持つ。【００２８】
ループの節点毎の接線ベクトルtを決定する。次に法線ベクトルnと接線ベクトルtとを用い、ベクトル積t×nまたはn×tにより、節点毎の従法線ベクトルbnを生成する。従法線ベクトルbnは接線ベクトルtと法線ベクトルnとに対し直角であるが、接線ベクトルtと法線ベクトルnは必ずしも直角ではない。そこで従法線ベクトルbnと接線ベクトルtのいずれにも直角な第４ベクトルfを生成する。第４ベクトルfは例えばベクトル積t×bn、あるいはbn×tで生成する。【００２９】
接線ベクトルtの各成分を第１列の成分、従法線ベクトルbnの成分を第２列の成分、第４ベクトルfの成分を第３列の成分とする回転行列Aを生成する。これを基本多角形の各頂点に作用させることにより、基本多角形が回転し、断面多角形が得られる。得られた断面多角形の中心を節点へ平行移動させる。節点により糸の太さが変化する場合、断面多角形のサイズを節点毎に変更する。各ループ毎に基本多角形を考え、基本多角形の中心に対する頂点の位置を位置ベクトルvi0で表現し、iは頂点番号を、０は基本多角形であることを表す。位置ベクトルvi0に回転行列Aを乗算し、j番目の節点の位置ベクトルを加算することにより、j番目の節点でのi番目の頂点の位置ベクトルが決定できる。これによってポリゴンの各頂点の位置ベクトルが求まる。【００３０】
図５にポリゴン柱の生成アルゴリズムを示す。隣接する節点の間で断面多角形をポリゴンで接続し、断面多角形の向きの差を評価する。向きの差の評価には、各断面多角形での従法線ベクトルの内積を用い、その値を、正または０と、負とに区分けする。内積の値が負とは、従法線ベクトルの向きが９０°超ずれていることを意味する。この際に、著しい捻れが生じる。【００３１】
断面多角形の向きは、従法線ベクトル以外に接線ベクトルでも表現でき、これらを基にして向きの差を評価しても良い。また従法線ベクトルの向きの差が例えば９０°超、あるいは９０°以上などで、節点間で１８０°反対側の頂点を互いに接続する。例えば図５の右側に断面多角形の向きが１８０°ずれている例を示す。ここで同じ頂点を互いに接続してポリゴンを生成すると捻れが生じる。これに代えて１８０°反対側の頂点を互いに接続すると、図５の右下のように捻れは生じない。なおここでは基本多角形は六角形としているが、四角形、五角形、あるいは八角形などでもよい。【００３２】
図６にループの３種類のモデルを示す。左側の節点モデル６０ではループは複数の節点で表現され、これらの節点をループの糸が通る。ワイヤフレームモデル６１では、各節点に断面多角形が割り当てられ、断面多角形の頂点と頂点とを結ぶようにポリゴンを生成する。図６では四角形のポリゴンを示しているが、データ処理上は三角形のポリゴンの方が有利である。図６では断面多角形のサイズが場所によって変化しているが、これはシミュレーションでループが上下につながっている状況を考慮し、ループが接触する部分で糸を他の部分よりも細く表示しているためである。右側のレンダリングモデル６２では、ポリゴンに対してテクスチャーマッピングを施し、シェーディングや影付けを行い、隠面を消去済みである。【００３３】
図７に実施例で用いた４つのベクトルの関係を示す。これらのベクトルのサイズはいずれも１で、法線ベクトルnはループの向きを表し、接線ベクトルtは各節点での糸の向きを表し、従法線ベクトルbnは断面多角形の向きを表す。法線ベクトルnは必ずしも接線ベクトルtと直角ではないので、第４のベクトルfを生成する。【００３４】
図８に示すように、各ループは例えば１０程度の複数個の節点P1〜P11から成り、ループの基点aからループ先端へのベクトルが定まると、各節点の位置が定まる。そして各節点に対し断面多角形を配置する。基本多角形は例えば頂点v1がループの内側を向き、辺v5−v6が法線ベクトルnと直交する。そしてこの基本多角形を、ループ内での糸の方向に従って回転行列Aにより回転させる。いくつかの頂点での、接線ベクトルtや従法線ベクトルbnを示す。【００３５】
図９に図８と同様の概念を繰り返して示す。基本多角形がアフィン変換により各節点へ移動して断面多角形となり、断面多角形の中心はループの節点にある。また各節点での接線ベクトルtを、前後の節点間を結ぶベクトルに平行に定める。法線ベクトルnと接線ベクトルtが定まれば、ベクトル積により従法線ベクトルbnが定まる。【００３６】
図１０に回転行列Aの例を示し、これに各節点の位置ベクトルを加えたものがアフィン変換行列である。そして各ループ毎に法線ベクトルnの向きが定まると、これに応じて基本多角形の向きが定まる。そして基本多角形を回転行列Aで回転させ、節点の位置ベクトルPjで平行移動させることにより、j番目の節点のi番目のポリゴンの頂点の位置が定まる。【００３７】
図１１に、糸の捻れが生成する例を示す。通常のループでは糸は左右のループとつながっている。これに対して糸が上下のループとつながっている場所で捻れが生じやすい。図１１のループ１１１，１１２は上下につながっており、これらのループの境界の渡り糸の部分で糸の捻れが生じている。このことは、従法線ベクトルの向きが隣接する節点間で逆になっていることから検出できる。なおループ１１１，１１２で法線ベクトルnの向きがほぼ等しいと仮定できると、従法線ベクトルの向きが互いに逆向きであれば、接線ベクトルの向きもほぼ逆向きになっている。【００３８】
図１２に糸の捻れとそれに対する処理とを示す。ループの配置は図１１と同様で、従法線ベクトルbnの向きを無視して、断面多角形の同じ頂点を互いに接続すると、捻れが生じる。この状況を(A)に示す。(B)のように次のループ１１２での断面多角形を全て１８０°回転させて、ループ１１１の最後の節点と接続すると、捻れを解消できる。糸のテクスチャーに方向性が無い場合これでよい。しかしながらプレーティングなどで複数の糸を引き揃え１本の糸として編成することをシミュレーションする場合、糸のテクスチャーには方向性があり、糸の表裏で色が異ならせる必要がある。図１２では糸の表側と裏側とで表現を変え、(B)ではループ１１１とループ１１２とで表裏が反転していることが分かる。そこでプレーティングの場合、次の節点の断面多角形を１８０°回転させるだけでは問題は解決しない。【００３９】
(C)では捻れを検出すると、節点間で、反対側の頂点との間で接続を行う。この結果、捻れを解消でき、かつ糸の表裏の関係も異常にならない。なお実際のファブリックでは、シミュレーション上で捻れが生じる場合、糸の向きが徐々に回転しているものと考えられる。実施例では１段階で捻れを解消したが、例えば捻れを検出すると、節点間で断面多角形の６０°ずつずれた頂点を互いに接続し、３回の接続で１８０°分捻れを解消しても良い。【００４０】
実施例では従法線ベクトルあるいは接線ベクトルの向きが９０°超ずれているものを捻れとしたが、例えば６０°程度ずれているもの、１２０°程度ずれているもの、１８０°程度ずれているものをいずれも捻れとし、６０°程度ずれている場合、６０°ずれた頂点との間で接続し、１２０°程度ずれている場合、１２０°ずれた頂点との間で接続すればよい。１８０°程度ずれている場合、反対側の頂点と接続すればよい。この場合、どちら側にずれているかの検出が必要で、そのため元の節点での従法線ベクトルに対し、次の節点での従法線ベクトルがどちら側に回転しているかを、ベクトル積などから求めると良い。【００４１】
図１３の(A)は、捻れを修正しないシミュレーション結果を、(B)は実施例に従い捻れを修正したシミュレーション結果を示す。(A)に円形にマーキングした箇所が捻れ部分で、糸の流れをループ毎にチェックすれば人の目で認識できる。そして(B)ではこのような不自然な捻れを解消している。このため糸の流れを詳細に検討する場合の、正確なシミュレーションができる。【００４２】
図１４は基本多角形の向きを示す。例えば六角形の基本多角形に対し、頂点v1がループの内側を向くように向きを定める。この結果、基本多角形の１辺がループの表面に平行になる。例えば筒状のガーメント１４１の円周１４２を取り出すと、正面部と側面部とでループ１４３，１４４の法線ベクトルの向きは直角である。そしてこれに応じて基本多角形の向きを定める。基本多角形の向きの差はシェーディングを行った際に現れる。例えば図１４の鎖線のように光源からの光が当たると、光の反射方向がループ１４３，１４４で異なる。このため正面のループ１４３と側面のループ１４４は異なって見える。これによってループの向きを、シェーディング済みの画像によりリアルに表現できる。【００４３】
図１５は基本多角形の向きをループの法線ベクトルに応じて変更した例を、図１６は基本多角形の向きをガーメント全体に対し共通とした例を示す。いずれもシェーディング済みの画像で、図１５では側面のループをリアルに表現できているのに対し、図１６では側面のループの質感が変化し精細さを欠いている。【００４４】
実施例では、糸の捻れをループが上下につながっている場合（図１２，図１３）を例に説明したが、糸の捻れはこれ以外の場合にも生じる。図１７に、メッシュ柄のシミュレーションで発生した糸の捻れを示す。メッシュ柄ではループの目移しが多用される。図１７に示したように、左右のループでニードルループが前後に重なっていると、ループの基部で捻れが生じやすい。またループの基部が左右に開いている場合も捻れが生じやすい。これらの捻れはシミュレーション上の捻れであって、実際の編地で生じる捻れではない。実施例では、このような場合も糸の捻れを検出し、捻れのないシミュレーション結果を表示できる。【００４５】
実施例では以下の効果が得られる。
1)  糸の捻れを修正するので、糸筋を１目ずつチェックする場合も実用的な、シミュレーションができる。
2)  断面多角形の異なる頂点同士を接続して捻れを解消すると、プレーティングのシミュレーションなどのように、糸が断面方向に沿って変化する場合にも、正確なシミュレーションができる。
3)  基本多角形の向きをループの向きに合わせて変化させることにより、筒状ファブリックの側面のループをリアルに表現できる。
【図１】
2009084427.tif 000003
【図２】
2009084427.tif 000004
【図３】
2009084427.tif 000005
【図４】
2009084427.tif 000006
【図５】
2009084427.tif 000007
【図７】
2009084427.tif 000008
【図８】
2009084427.tif 000009
【図１０】
2009084427.tif 000010
【図１１】
2009084427.tif 000011
【図１２】
2009084427.tif 000012
【図１４】
2009084427.tif 000013
【図６】
2009084427.tif 000014
【図９】
2009084427.tif 000015
【図１３】
2009084427.tif 000016
【図１５】
2009084427.tif 000017
【図１６】
2009084427.tif 000018
【図１７】
2009084427.tif 000019
【国際調査報告】
2009084427.tif 000020
2009084427.tif 000021