【手続補正書】
【提出日】平成18年10月12日(2006.10.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めるための装置において、
編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように、編目の移動量を求めるための、移動量算出手段と、
編目の位置が収束するまで、前記移動量算出手段での処理を繰り返すための収束判定手段とを設けて、編目の位置の収束値を編目位置とするようにしたことを特徴とする、ループシミュレーション装置。
【請求項２】
前記移動量算出手段はさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように、前記移動量を定めるようにしたことを特徴とする、請求項１のループシミュレーション装置。
【請求項３】
編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求め、
前記移動量算出手段では、各編目に対して、
左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、
左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に移動させるように、自分の編地に垂直な方向の移動量を定めるようにしたことを特徴とする、請求項１または２のループシミュレーション装置。
【請求項４】
編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めると共に、編目の縦サイズを定め、
前記移動量算出手段では、各編目に対して、
上下の編目と自分の編目とで編目の表裏の種類が変わらない場合、編目の縦サイズが上下の編目間の前記平行面内距離となり、
上下の編目と自分の編目とで編目の表裏の種類が異なる場合、裏目の下に表目が潜り込むように自分の編目を垂直方向に移動させ、かつ該垂直方向の移動量に応じて、上下の編目間の平行面内距離が編目の縦サイズよりも小さくなるように、
自分の編目の前記平行面内での移動量を定めるようにしたことを特徴とする、請求項１〜３のいずれかのループシミュレーション装置。
【請求項５】
編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めると共に、編目の横サイズを定め、
前記移動量算出手段では、各編目に対して、
左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、編目の横サイズが左右の編目間の前記平行面内距離となり、
左右の編目と自分の編目とで編目の表裏の種類が異なる場合、表目の下に裏目が潜り込むように自分の編目を垂直方向に移動させ、かつ該垂直方向の移動量に応じて、左右の編目間の平行面内距離が編目の横サイズよりも小さくなるように、
自分の編目の前記平行面内での移動量を定めるようにしたことを特徴とする、請求項１〜４のいずれかのループシミュレーション装置。
【請求項６】
編目位置の分布が碁盤目状から外れるように編目位置の初期値を求めるための手段を設けて、該初期値から前記移動量算出手段での処理を開始するようにしたことを特徴とする、請求項１のループシミュレーション装置。
【請求項７】
編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めて表示するための方法において、
編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように編目を移動させ、
編目の位置が収束するまで、前記編目の移動を繰り返し、
編目位置の収束値に編目を配置して表示するようにしたことを特徴とする、ループシミュレーション方法。
【請求項８】
前記編目の移動ではさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように編目を移動させることを特徴とする、請求項７のループシミュレーション方法。
【請求項９】
編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めて、
各編目に対して、
左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、
左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に移動させるようにしたことを特徴とする、請求項７のループシミュレーション方法。
【請求項１０】
編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めて表示するためのプログラムにおいて、
編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように編目を移動させるための命令と、
編目の位置が収束するまで、前記編目の移動を反復させるための命令と、
編目位置の収束値に編目を配置して表示するための命令とを備えたことを特徴とする、ループシミュレーションプログラム。
【請求項１１】
前記編目の移動命令ではさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように編目を移動させるようにしたことを特徴とする、請求項１０のループシミュレーションプログラム。
【請求項１２】
編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めるようにして、
前記編目の移動命令では、各編目に対して、
左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、
左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に移動させるようにしたことを特徴とする、請求項１０のループシミュレーションプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】ループシミュレーション装置とその方法並びにそのプログラム
【技術分野】
【０００１】
この発明は、編地をリアルにループシミュレーションする装置と、ループシミュレーション方法、並びにループシミュレーションプログラムに関する。
【背景技術】
【０００２】
特許文献１は、編地の編目を質点に置き換え、各質点がバネで互いに接続されたモデルで編地をモデル化することを提案している。そして各質点がオイラーラグランジェの運動方程式に従って運動するものとし、この微分方程式をルンゲクッタ法により数値的に解いて、各質点の位置の安定値を求める。この手法での計算量を推定すると、１００コース×１００ウェールの編地に対して、質点の数を削減するため２×２の４つの編目を１点で表現すると２５００点となり、２５００質点分の微分方程式を逐次的に解くのは大変である。そして計算量が多いと、シミュレーションのモデルを簡単にして無視する要素を増す必要が生じ、リアルなシミュレーションが難しくなる。
【０００３】
特許文献２は発明者の先願で、ループシミュレーションでの糸の毛羽の表現力を増すための方法や装置を開示している。また１つの編目に複数の制御点を割り当てて、編目の画像を作成することを開示している。
【特許文献１】The Art of Knitted Fabrics, Realistic & Physically BasedModelling of Knitted Patterns, EUROGRAPHICS'98, Vol.17,(1998),Number3
【特許文献２】ＷＯ０３／０３２２０３Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の基本的課題は、微分方程式を解かずにかつリアルに、編地内での各編目の位置をシミュレーションできるようにし、特に左右方向に沿って編目の向きを揃えるようにすることにある。
請求項２，８，１１の発明での追加の課題は、左右の編目と自分の編目とを結ぶ方向と自分の編目の向きとが直角に近づくようにして、より現実の編地に近いシミュレーションができるようにすることにある。
請求項３，９，１２の発明での追加の課題は、糸の上下の重なり具合をリアルに表現できるようにすることにある。  
請求項４，５の発明での追加の課題は、編地に平行な面内での編目の移動量を、リアルに求めることにある。
請求項６の発明での追加の課題は、編目位置を求めるための計算をより簡単にすることにある。
【課題を解決するための手段】
【０００５】
この発明のループシミュレーション装置は、編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めるための装置において、編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように、編目の移動量を求めるための、移動量算出手段と、編目の位置が収束するまで、前記移動量算出手段での処理を繰り返すための収束判定手段とを設けて、編目の位置の収束値を編目位置とするようにしたことを特徴とする。編目の向きは例えば以下のようにして定める。編目の位置を基準位置で表し、編目の基準位置からその上側の編目の基準位置へのベクトルの向きを、編目の向きとする。
【０００６】
以下この明細書において、ループシミュレーション装置に関する記載は、特に断らない限り、ループシミュレーション方法やループシミュレーションプログラムにもそのまま当てはまり、ループシミュレーション方法やループシミュレーションプログラムに関する記載は、ループシミュレーション装置にもそのまま当てはまる。
【０００７】
好ましくは、前記移動量算出手段はさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように、前記移動量を定める。１回の処理で向きを揃え、あるいは前記の方向を直角な方向に近づける割合は適宜に定める。
【０００８】
好ましくは、編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求め、前記移動量算出手段では、各編目に対して、左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に移動させるように、自分の編地に垂直な方向の移動量（例えば糸の太さ程度）を定める。ここでの左右の編目との関係や上下の編目との関係に基づく移動量は、左右方向や上下方向の仮の移動量を意味し、これらを上下左右で統計化したものが上下方向の実際の移動量となる。
【０００９】
好ましくは、編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めると共に、編目の縦サイズを定め、前記移動量算出手段では、各編目に対して、上下の編目と自分の編目とで編目の表裏の種類が変わらない場合、編目の縦サイズが上下の編目間の前記平行面内距離となり、上下の編目と自分の編目とで編目の表裏の種類が異なる場合、裏目の下に表目が潜り込むように自分の編目を垂直方向に例えば糸の太さ程度移動させ、かつ該垂直方向の移動量に応じて、上下の編目間の平行面内距離が編目の縦サイズよりも小さくなるように、例えば３次元空間での編目間の距離がほぼ縦サイズとなるように、自分の編目の前記平行面内での移動量を定めるようにする。
【００１０】
また好ましくは、編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めると共に、編目の横サイズを定め、前記移動量算出手段では、各編目に対して、左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、編目の横サイズが左右の編目間の前記平行面内距離となり、左右の編目と自分の編目とで編目の表裏の種類が異なる場合、表目の下に裏目が潜り込むように自分の編目を垂直方向に例えば糸の太さ程度移動させ、かつ該垂直方向の移動量に応じて、左右の編目間の平行面内距離が編目の横サイズよりも小さくなるように、例えば３次元空間での編目間の距離がほぼ横サイズとなるように、自分の編目の前記平行面内での移動量を定めるようにする。
【００１１】
好ましくは、編目位置の分布が碁盤目状から外れるように編目位置の初期値を求めるための手段を設けて、該初期値から前記移動量算出手段での処理を開始する。
【００１２】
上下左右の編目との関係を基に、編地に平行な面内での移動量や編地に垂直な方向の移動量を定める場合、自分の編目に対する上下の編目の双方を考慮しても、あるいは上側の編目と自分の編目、下側の編目と自分の編目のように、上下いずれかの編目のみを考慮しても良い。また自分の編目に対する左右の編目を同時に考慮しても、あるいは左側の編目と自分の編目、右側の編目と自分の編目のように、左右いずれかの編目を考慮しても良い。編目の縦サイズや横サイズは、例えば３次元空間でのサイズで、編目の種類によらず一定としても良く、あるいは編成条件により変化する変数としても良い。また編地に平行な面を便宜上水平面と呼ぶことがあり、この方向の移動量を水平面内の移動量と呼ぶことがある。上下の編目や左右の編目との関係を基に、編地に平行な面内での移動量や編地に垂直な方向の移動量を定める構成は、ループシミュレーション方法の発明やループシミュレーションプログラムの発明でも同様である。
【００１３】
この発明のループシミュレーション方法は、編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めて表示するための方法において、
編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように編目を移動させ、編目の位置が収束するまで、前記編目の移動を繰り返し、編目位置の収束値に編目を配置して表示するようにしたことを特徴とする。
【００１４】
好ましくは、前記編目の移動ではさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように編目を移動させる。
また好ましくは、編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めて、各編目に対して、左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に例えば糸の太さ程度移動させる。
【００１５】
この発明のループシミュレーションプログラムは、編地のデザインデータに対して、対応する編地画像を、個々の編目のループを表現するように、求めて表示するためのプログラムにおいて、編地の各編目に対して、その上下左右の編目と自分の編目との距離が所定の規則を充たし、かつ左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように編目を移動させるための命令と、編目の位置が収束するまで、前記編目の移動を反復させるための命令と、編目位置の収束値に編目を配置して表示するための命令とを備えたことを特徴とする。
【００１６】
好ましくは、前記編目の移動命令ではさらに、自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように編目を移動させる。
また好ましくは、編目の位置として、編地に平行な面内での位置と、編地に垂直な方向の位置とを求めるようにして、前記編目の移動命令では、各編目に対して、左右の編目と自分の編目とで編目の表裏の種類が変わらない場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が変わらない場合は、編地に垂直な方向に移動させず、左右の編目と自分の編目とで編目の表裏の種類が異なる場合、もしくは上下の編目と自分の編目とで編目の表裏の種類が異なる場合は、編地に垂直な方向に例えば糸の太さ程度移動させる。
【発明の効果】
【００１７】
この発明のループシミュレーション装置や方法、プログラムでは、編目に働く力と編目の運動を表す微分方程式を解かずに、編目の収束位置（安定位置）を求めることができる。１回のステップで編目の位置を求めるのに必要な処理は、上下左右の編目との関係（相対位置や向き）であり、処理が簡単である。そして移動量の算出を繰り返して行うと、編目の収束位置を求めることができる。また図８，図１０に示すように、編地をリアルにシミュレーションできる。さらに左右の編目と自分の編目とで編目の向きが異なる場合、自分の編目と左右の編目とで編目の向きが近づくように、編目を移動させるので、左右方向に沿って編目の向きが揃うようになり、現実の編地に近いシミュレーションができる。
【００１８】
上下左右の編目との関係を、上側の編目との関係に基づく移動量、下側の編目との関係に基づく移動量、右側の編目との関係に基づく移動量、左側の編目との関係に基づく移動量の４つに分解し、これらを個々に求めて例えば相加あるいは相乗などの平均により移動量を求めると、処理をより高速で行える。
【００１９】
この発明では編目の安定位置の算出自体は比較的容易に行えるので、編目を３次元的にモデル化し、上下左右の編目との関係により、編地に垂直な方向の移動量を求めると、編目の陰影や編目同士の重なり具合をリアルに表現できる。
【００２０】
自分の編目の向きと、自分の編目と左右の編目とを結ぶ方向とが直角に近づくように、前記移動量を定めると、自分の編目と左右の編目を結ぶ局所的なコース方向と、編目の向きとが直角に近づき、更に現実の編地に近いシミュレーションができる。
また上下の編目で表裏が異なる場合、裏目の下に表目が潜り込むように編目を垂直移動させ、かつ編地に平行な面内での距離を垂直方向の編目位置の差に応じて編目の縦サイズから減少させると、表目が裏目の下に潜り込み、これに伴って上下の編目間の編地に平行な面内での距離（ウェール方向距離）が縮む状況をリアルにシミュレーションできる。
同様に左右の編目で表裏が異なる場合、表目の下に裏目が潜り込むように編目を垂直移動させ、かつ編地に平行な面内での距離を垂直方向の編目位置の差に応じて編目の横サイズから減少させると、裏目が表目の下に潜り込み、これに伴って左右の編目間の編地に平行な面内での距離（コース方向距離）が縮む状況をリアルにシミュレーションできる。
【００２１】
リブ編地では編幅が天竺の編地より縮むなどの経験則がある。また以前のシミュレーション結果などにより、編地の種類毎に編目の位置がどのようになるか、大まかに予測できる。そこで編目のサイズが編地内で均一でかつ編目が重なり合わないモデル（この場合、編目の分布は碁盤目状）から、編目がある程度移動した状態を予測して、編目位置の初期値とすることができる。この初期値を用いると、編目位置が収束するまでの移動量の算出の繰り返し回数を削減し、ループシミュレーションをより高速で行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明を実施するための最良の形態を示す。
【実施例】
【００２３】
図１〜図８等に実施例を示す。図において、２はループシミュレーション装置で、４はデータやコマンドなどのバスで、６はペイント部で、スタイラスやマウス、トラックボールなどを用いた手入力７から編地のデザインを入力する。８は表示部で、デザインデータや編地のループシミュレーション画像などを表示し、プリンタ１０も同様に編地のデザインデータやループシミュレーション画像などを出力する。なおループシミュレーション画像は、編地のデザインデータに基づく仮想的な編地を、個々のループ（編目）をリアルに表現するようにシミュレーションした画像である。
【００２４】
１２はループシミュレーションプログラム記憶部で、ループシミュレーションに必要なプログラムを記憶し、その詳細は図２に示す。１４はＬＡＮインターフェースで、編地のループシミュレーションプログラムやデザインデータ、編地のデザインデータに基づく編成データ、並びにループシミュレーション画像などを、ＬＡＮに入出力する。ディスクドライブ１５は、ＬＡＮインターフェース１４と同様のデータをディスクを介して入出力する。
【００２５】
２０は画像メモリで、ループシミュレーション画像などの画像を、例えばラスタ形式で記憶する。目の位置記憶部２２は、デザインデータに基づく仮想的な編地での各編目の位置を記憶する。ここでは座標系を例えば次のように定める。編地を水平な台の上に置いたものとし、例えばコース方向をＸ方向，ウェール方向をＹ方向とする。Ｙ方向の上下は、例えば編み始め側を下側、編み終わり側を上側とする。編地に垂直な方向をＺ方向とし、編地の表側へ移動するとＺ座標が増し、裏側へ移動するとＺ座標が減少するようにする。ただし編地を仮想的に置いた台の表面を、例えばＺ座標が０の面とする。
【００２６】
目の位置記憶部２２は、仮想的な編地の各編目毎に、その３次元位置を記憶する。計算を単純化するため、各編目に対して基準位置を設け、その位置は例えば編目の基部とするが、ニードルループの中心部などを基準位置としても良い。そして目の位置記憶部２２では各編目の基準位置のＸＹＺ座標を記憶する。なお個々の編目の画像を作成するまでは、各編目に対して用いる座標は基準位置の座標なので、基準位置を単に位置と呼んだり、編目の基準位置の意味で単に編目と呼んだりすることがある。またループシミュレーションの段階では実際の編地は存在しないので、ここで言う編地はデザインデータから求まる仮想的な編地である。また単に目という場合、編目を表す。編目の位置は後述の移動量の算出により変化するので、現在の目の位置を記憶すると共に、過去の適当な時点での各目の位置を記憶し、移動量の算出を繰り返しても目の位置が移動しなくなったかどうか、即ち目の位置が収束したかどうかを判定できるようにする。
【００２７】
２３は初期値算出処理部で、移動量を算出するための編目位置の初期値を算出する。初期値の算出では、例えばリブ編地のコース方向の幅は、同じ目数の天竺編地のコース方向の幅よりも狭い、ケーブル柄では編地の形が変化する、などの経験的なルールに基づき、各編目が共通のサイズで重なり合わないデザインデータから編地の形状を変化させる。ここでリブ編地の部分と天竺編地の部分の接続部などでは、リブ編地に対して求めた編地幅と、天竺編地に対して求めた編地幅とが滑らかにつながるように、接続部のコース幅などを定める。編地の形状を求めると、これに対して各編目の位置の初期値を求める。位置算出処理部２３で求められた編目の位置の初期値を、目の位置記憶部２２で記憶する。
【００２８】
移動量算出処理部２４は各編目の移動量を算出する。移動量の算出では、自分の目に対して上の目との関係に基づく移動量を求め、同様に下の目との関係に基づく移動量を求める。また自分の目と右側の目との関係に基づく移動量を求め、左側の目との関係に基づく移動量を求める。そしてこれらの移動量を平均し、あるいはこれらの移動量を統計化することにより、移動量を求める。ここでの移動量は、上下左右の編目との相対的な位置関係に基づき、所定の規則（ルール）に従って求まるもので、編目の運動方程式や糸の張力計算などに基づくものではない。１つの編目に対して、その上下左右の編目との位置関係に基づく移動量を求めることは簡単で、これを編地内の所定の位置から、例えば１コースずつ順に処理することも極めて簡単である。そしてこの処理を複数回繰り返して目の位置が収束し、言い換えると移動量の算出を行っても目が移動しなくなった際に、編目の安定位置が得られたものとする。
【００２９】
このようにすると、糸の張力計算などを行って編目の位置を定める必要がない。また編目間に働く力に基づいて、編目の運動を力学的にシミュレーションして編目の位置を求める必要がない。これらのため、ループシミュレーションに必要な計算量は減少し、従ってループシミュレーションに考慮し得る要素を増して、その表現力を高めることができる。例えば１つの編目がＸ，Ｙ，Ｚの３成分から成り、１００コース×１００ウェールの１０，０００目があるとすると、変数の数は合計で３０，０００個である。そして上側の編目との関係に基づく移動量を求める場合、自分の編目の３つの座標と、上側の編目の３つの座標を考えればよいので、合計６つの座標を用いて上側の編目との関係に基づく移動量を求められる。同様にして下側の編目との関係に基づく移動量や、左右それぞれの編目との関係に基づく移動量も求められる。これらのため１つの編目の移動量を求める処理は簡単で、３０，０００変数程度の式でも比較的短時間で処理できる。また例えばウェール方向（Ｙ方向）の下から上へと処理を行う場合、自分の編目の上側の編目は、まだ移動していない編目、言い換えると不適切な位置にある編目である。このような不適切な位置にある編目との関係も考慮するので、１回の処理では、編目の位置は収束しない。このため繰り返しが必要となる。
【００３０】
収束判定部２６は、移動量を算出しても目の位置が移動しなくなったかどうかを判定する。例えば目の位置記憶部２２にある前回の移動量算出での目の位置と、今回の移動量算出で求めた目の位置とを比較し、これらの位置の差の最大や平均が所定の範囲内となると、目の位置が安定したものとする。またこれ以外に、例えば１，０００回以上移動量の算出を繰り返すと、それ以上の移動量の算出を行わず、直前の目の位置、もしくは比較的移動量が小さくなっていた時点での目の位置を、最終的な目の位置とする。
【００３１】
編目画像作成部２８は、ループシミュレーションに用いる編目の画像を作成する。目の位置が求まると、上側の編目との相対位置や左右の編目との相対位置により、編目の縦サイズや横サイズ並びに編目の向きが定まる。そして編目に対して複数の制御点を定めておき、編目の基準位置に対する各制御点の相対位置を、編目の縦サイズや横サイズ並びに向きにより定める。これによって編目形状のアウトラインが定まる。編目形状のアウトラインが定まると、各制御点の間に必要により描画点を補間する。以降の処理は描画となるので、制御点も描画点であるものと見なす。糸は、糸本体とその両側の毛羽とから成るものとし、四角形状の糸本体とその両側の同じく四角形状の毛羽とからなる画像（これらをメッシュと呼ぶ）を作成し、描画点は糸本体のメッシュの両端にあるものとする。糸本体や毛羽は例えば半透明な画像とし、糸本体や毛羽の部分に対してその下側に現れる糸の見え具合を表す値（α値と呼び毛羽の透明度を示す値である）を記憶する。糸本体や毛羽の画像を変形する場合、α値の画像も同様に変形させる。糸本体や毛羽の太さは隣接する糸との間隔に応じてメッシュ毎に圧縮されるものとする。このようにして描画点と描画点との間の糸本体と毛羽の画像を用意する。そして描画点で糸本体と毛羽の画像を接続すると、１つの編目分の編目画像がリアルに作成される。
【００３２】
影付け処理部３０では、描画点毎の明度を求めると共に、毛羽や糸本体のメッシュに対する明度分布（影）を求める。影付け処理部３０は光源の方向を記憶しており、これは手入力などからの入力により変更できる。そして各描画点に対して、光源との間に他の糸本体や毛羽などが存在するかどうかを判断し、この判断は各描画点に対してＸ，Ｙ，Ｚの３つの座標を与えているので、容易に行うことができ、他の糸のメッシュ影になると、その分明度を低下させる。また光源の方向とその描画点での糸の向きなどにより拡散反射光を求めて、メッシュでの明度分布（影）を求める。
【００３３】
上下合成部３２では、複数の編目が上下に重なっている位置に対して、上側の糸のメッシュの下側に、下側の糸のメッシュが表れるように合成する。この処理では、Ｚ値が高い側（編地の表側）のメッシュの画像をそのまま採用し、上側のメッシュ画像のα値で定まる割合により、Ｚ値が低い側のメッシュの画像が見えるものとする。このようにして上下の画像を重ね合わせて合成する。
【００３４】
３４は編成データ変換部で、ペイント部６でデザインした編地のデザインデータを、編機での編成データに変換する。ここでの変換は、個々の編機の機種を考慮したものでも、考慮しないものでも良い。またループシミュレーションの基礎となるデータは、ペイント部６で作成したデザインデータを、自分の編目の種類や上下左右の編目の種類、並びにそれらの接続関係が記述されるように変換したものである。なお編目の種類には表目／裏目などがあり、接続関係には自分のニードルループが係止される編目（親）の数とその位置、並びに自分の編目の基部にニードルループを係止する編目（子の目）の数と位置などがある。これ以外に編成の途中でゲージが変更される場合、各編目のゲージなどもループシミュレーションに用い、ゲージの小さな編目はサイズが大きくなるようにする。
【００３５】
図２に、ループシミュレーションプログラム４０の例を示すと、目の位置記憶命令４１は目の位置記憶部２２での処理に必要な命令を記憶し、移動量算出命令４２は、移動量算出処理部２４で必要な処理を行うための命令を記憶し、収束判定命令４３は収束判定部２６で収束判定を行うのに必要な命令を記憶する。編目画像作成命令４４は、編目画像作成部２８で編目画像を作成するのに必要な命令を記憶し、影付け命令４５は影付け処理部３０で編目画像に影付けを行うのに必要な命令を記憶し、上下合成命令４６は、上下合成部３２で上下の編目画像を合成するのに必要な命令を記憶する。
【００３６】
図３にループシミュレーションアルゴリズムの概要を示す。手入力からペイント部に編地の柄データを入力し、ここではデザイナーの便宜のために表示部に編目のループを表示しながら、柄データを入力できるようにする。柄データがセット（確定）されると、各編目がどのように接続されているかの接続情報を作成し、目の移動処理を行う。目の移動処理が終了すると、各目に対して制御点を作成し、制御点に糸の太さ情報を追加し、言い換えると、隣接する糸との間隔に応じて毛羽や糸本体の太さを圧縮し、制御点と制御点との間を補間するように描画点を作成して、影の情報（明度分布）や糸の位置（描画点の位置）をセットする。そして編地に垂直な方向に重なる描画点を処理するため、例えば上（編地の表側）から下（編地の内部や下側）へと上下の描画点をソートして上下に合成する。また２つの描画点の間を接続するように、糸本体のメッシュとその両側の毛羽のメッシュを作成して、編目画像をメッシュを接続したものとして描画する。このようにして毛羽付きの糸を用いた編目の画像が得られると、これを用いて各編目を表現し、ループシミュレーションを行う。
【００３７】
図４に、目の移動処理を示す。移動量の算出回数を減らすため、編地形状の初期値をセットする。例えば図７に示すように、天竺編地５０とリブ編地５１とからなる編地があったとする。コース方向の目数が同じでも、リブ編地では裏目が表目の下に潜り込もうとする傾向があるので、編み幅が減少する。そこでリブ編地の編み幅の減少を表すように、編地の外形を実線のものから破線のものに変更する。次に編地の外形に従って、各編目の位置の初期値を求める。
【００３８】
目の移動のスタート点を選択し、例えばそのデフォールト値は編地の左下隅の編目である。次に各編目に対して、上下左右の編目との関係に応じて、Ｘ，Ｙ，Ｚ方向の移動量を求める。不合理な移動量が発生することを防止するため、移動量の範囲に制限を設けて、制限を超える移動量を修正する。このようにして例えば１コースずつ下から上へと全コース処理し、全編目に対して移動量を求める毎に収束したかどうかを判定し、収束していれば処理を終了する。
【００３９】
図５に、移動量算出での編目のモデルを示すと、中央の編目Ｂの基端部の点Ｂ0が編目の基準位置となり、その上の目の基端部の点までの距離が編目の縦方向サイズｍyとなり、また図５のように編目の横幅ｍxを定める。図５のように上側の編目や下側の編目を定め、上側の編目を親と呼び、下側の編目を子と呼ぶ。同様に右側の編目や左側の編目を定める。図５の右側に示すように、サイズｍyは３次元空間での距離であり、サイズｍxも同様に３次元空間での距離である。しかしながら処理を簡単化するため、サイズｍy，ｍxをＸＹ平面内の距離としても良い。
【００４０】
目の移動処理を行う際の一般則を、「ルール表一般則」に示す。また目の移動では、無選針の位置（ミス）にも仮想的に目があるものとし、「ルール表  無選針の目」のルールを適用する。表目または裏目に対して、ＸＹ面内の移動量をルール表に従って求める。また表目や裏目のＺ方向の移動量を「ルール表  表目または裏目」に従って求める。さらに「ルール表  移動量の制限」に従って、移動後の自分の目の位置が、周囲の目に対して不自然な位置にあれば、修正する。
【００４１】
ルール表  一般則
定義：  Ｚ方向は編地の表面に垂直な方向で、編地を水平に置いた場合の高さ方向となる
無選針の位置にも仮想的に目があるものとする
親は自分のシンカーループが係止されている目（上の目）
子はその逆の下側の目
距離や位置を表す場合、「目の基準位置」、「目の位置」、「目」は同義語
親／子／左／右の各目に対する移動量を計算し、その平均を移動量として使用
以下簡単のため、親／子／左／右の各目との関係で、自分の目の新たな
座標を求め、この平均を自分の新たな座標とするものとして説明する
目の向き  子の目の位置と親の目の位置とを結ぶ向きを目の向きとし、
原則としてｙ軸からの傾きを用いて表す
編目の縦サイズｍy、横サイズｍxは各々定数で、３次元空間でのサイズである
目の移動処理での糸の太さは設定自在な定数で、
例えば糸本体の直径程度とする
例外：  上下左右いずれかの目が無い編目では、上下左右に存在している編目の影響
のみを考慮する
【００４２】
ルール表  無選針の目 
水平方向：  目の横幅が無くなるように左右動
Ｚ方向  ：  隣も無選針  高さを同じにする
隣が表目    隣の目の基準位置の高さ−所定値
隣が裏目    隣の目の基準位置の高さ＋所定値
【００４３】
ルール表  表目または裏目（ＸＹ面内）
水平方向：              親の目の位置との距離が自分の目の縦サイズｍｙとなり、
親の目                 かつ自分の目の向きが、自分の目の位置と親の目の位置
とを結ぶ線に平行になるようにする  またより上の親の目を
基準にしても良い
親の目が複数ある場合、複数の親の目の位置の中点を、
仮想的な単一の親の目の位置としてもよい
表／裏の変化時は、Ｚ位置に応じて所定距離（糸の太さ程度）                        だけ表目を裏目の下に潜り込ませる
ただし親の目が複数ある場合、各親の目について移動量を
求めるが、最も近い親の目に対してのみ移動量を求めても
良い  
子の目                  子の目の位置との距離が自分の目の縦サイズｍｙとなり、
かつ自分の目の向きが、子の目の位置と親の目の位置
とを結ぶ線に平行になるようにする
子の目が複数ある場合、各子の目について移動量を求める
ただし表／裏の変化時は、Ｚ位置に応じて所定距離
（糸の太さ程度）だけ表目を裏目の下に潜り込ませるように
水平方向の移動量を定める
左右の目                左右の目との間隔を、自分の目の横サイズｍｘにする
ただし表／裏の変化時は、Ｚ位置に応じて所定距離
（糸の太さ程度）だけ裏目を表目の下に潜り込ませる
目の向き                左右の目と目の向きが異なる場合は、向きを揃え、
（Ｙ方向からの傾き）    目が横に並ぶ（左右の目の基準位置を結ぶ方向が目の方向に
直角）側に移動  １回の移動で向きを揃える程度や目を
横並びにする程度は適宜に決定し、例えば処理前に比べ
向きの差や横並びからの目の位置のずれを半減させる
【００４４】
ルール表  表目または裏目（Ｚ方向）
Ｚ方向：  親子（ウェール方向）で表が続く場合や裏が続く場合：
自分の目のＺ座標を親の目のＺ座標に近づける
親と自分で表／裏が異なる場合：
親が裏、自分が表で、自分のＺ座標が親よりも糸の太さ分
小さくなるようにする
親が表、自分が裏で、自分のＺ座標が親よりも糸の太さ分                            大きくなるようにする
左右の目：  隣が同種の目（表／表や裏／裏）の場合、Ｚ座標を揃える
隣が異種（表／裏）の場合、自分が表目であれば糸の太さ分
Ｚ座標を増し、裏目で有れば糸の太さ分Ｚ座標が小さくなる
ようにする
子と自分で表／裏が異なる場合：
子が表、自分が裏で、自分のＺ座標が子よりも糸の太さ分
大きくなるようにする
子が裏、自分が表で、自分のＺ座標が子よりも糸の太さ分
小さくなるようにする
【００４５】
ルール表  移動量の制限 
親の目や子の目に対して、以下の基準に照らして不自然な位置で有れば修正する：
Ｙ座標は親の目のＹ座標を越えず、子の目のＹ座標を下回らない
また自分の目の移動量は親の目の移動量や子の目の移動量の所定倍以内に制限          してもよい
また交差などの場合、上下の目のＺ値に差を付けても良い。
【００４６】
このようにして目の移動処理を終了すると、制御点を算出する。制御点の例を図６に示すと、１つの編目に対して例えばＡ〜Ｉの９つの制御点を定め、必要に応じて各制御点の間を補間したものが描画点となる。また描画上は制御点も描画点であるものと見なす。各編目の位置が求まっているので、各編目の縦サイズ並びに横サイズとその向きを定める。このようにして求めた形状に対して、図６のループ形状をマッピングするようにして、各制御点Ａ〜Ｉの座標を求める。
【００４７】
制御点の算出 
横サイズ：  自己の目の向きとこれに直角な座標系を考慮し、目の向きに直角な座標軸に
沿って隣の目との距離を求め、この距離の左右平均を目の横サイズとする
縦サイズ：  親の目との距離を縦サイズとする
制御点：    縦サイズと横サイズ、上部と下部の目の傾きなどの情報を用いて、
事前に記憶した編目のモデルを変形
ＸＹ座標    編目モデルは子がない場合、下側を幅広にする
Ｚ座標：    親の目の表／裏と、制御点の位置に従い、基準位置のＺ座標を修正
親に複数の子がある場合、自分が上か下かに応じて修正
下に目が無い場合は、下の目のニードルループで持ち上げられ得る部分
を下側に修正
【００４８】
例えば基準点Ｂ0からの相対位置で、縦サイズをｍy、横サイズをｍxとし、制御点ＡのＸ座標は−０.３５ｍx，Ｙ座標は−０.２６ｍyとなり、制御点ＢではＸ座標が−０.１４ｍx，Ｙ座標が０となる。制御点ＣではＸ座標が−０.２５ｍx，Ｙ座標が−０.５５ｍy、制御点ＤではＸ座標が−０.３６ｍx，Ｙ座標が−１.１０ｍyとなる。さらに制御点ＥではＸ座標が０，Ｙ座標が１.４０ｍyとなる。制御点Ｆ〜Ｉの座標は、制御点Ｄ〜Ａの座標を図６の縦方向のベクトルｍyの左右で反転したものとなる。編目の向きが編地の上下方向から異なる場合、制御点Ａ〜Ｉを編目の基準位置を中心に、編目の向きの分回転させる。各制御点Ａ〜Ｉに対して、上側の編目や左右の編目との関係を加味して、基準位置Ｂ0からＺ座標を変化させる。例えば自分が表目で親も表目の場合、制御点Ａ，Ｅ，ＩのＺ座標を減じ、制御点Ｃ，ＧのＺ座標を増す。１つの親の目に複数の編目が係止されている場合、自分と同じ親の目に係止されている他の編目に対して自分が上側か下側かをデザインデータから求めて、これを反映するように、各制御点のＺ座標を変化させる。さらに左右の編目を考慮し、制御点Ａ，ＩのＺ座標が不自然な値とならないように制御する。このようにして制御点Ａ〜Ｉの３次元座標が求まる。
【００４９】
各制御点の３次元座標が求まると、糸の太さを算出する。糸は例えば僅かに圧縮性の糸本体とその周囲の圧縮性の毛羽とからなるものとし、隣の糸との間隔に応じて毛羽と糸本体を圧縮する。次に描画点と光源との間に他の糸があるかどうかなどにより、各描画点の明度をセットし、描画点の付近での糸の傾きなどにより、拡散反射光を計算して、糸本体や毛羽に対する明度の分布を求める。２つの描画点の間に四角形状の糸本体のメッシュがあり、その両側に同じく四角形状の毛羽のメッシュがあるものとして、メッシュを接続して明度をセットする。また糸の上下の重なり具合を加味して、上下の糸の画像を合成し、ループシミュレーションを行う。
【００５０】
編目の画像 
糸のモデル：    糸は糸本体とその上下の毛羽とからなるものとする
各制御点に対し隣接する糸との間隔を求め、これに応じて毛羽と
糸本体を圧縮
上下の糸        毛羽の合間から下側の糸が見えるものとして、上下の糸を表現
の重なり：      
描画点：        制御点と制御点との間に描画点を補間、
描画点毎に４角形の糸本体とその両側の同じく４角形の毛羽とを描画、                描画点毎の描画（メッシュ）を接続
影付け          光源方向を仮定し、糸の断面が円形として、適宜のモデルにより
拡散反射光を考慮して陰影を求める  （メッシュ内の陰影）
また描画点毎に他の制御点（もしくは描画点）の影に入るかを求め、
その描画点の基本明度をセット      （メッシュの明暗）
【００５１】
図８，図９にケーブル柄の編地に対する、従来例（図９、編目の移動無し）と実施例（図８）のループシミュレーション画像を示す。従来例では、例えばケーブルのＸの周囲で編目の幅が不自然に拡がっているが、実施例ではこのようなことはなく、それに伴って周辺の天竺の部分が自然に収縮している。さらにケーブルのＸの周囲の部分で目の向きがケーブルの部分と揃うように変化している。実施例では運動方程式や糸の張力などの力学的計算は行わず、上下左右の編目との関係による経験的ルールによりシミュレーションしたが、シミュレーション結果は極めて自然である。
【００５２】
図１０に実施例での寄せ（内減らし）の部分のループシミュレーション画像を示す。寄せによるウェール方向の変化や減らしを行ったラインが、リアルに表現されている。ここでも編目の向きやウェールの方向が寄せの部分でリアルに変化している。
【図面の簡単な説明】
【００５３】
【図１】実施例のループシミュレーション装置のブロック図で、バスの右側にループシミュレーション関係の処理部を示す。
【図２】実施例のループシミュレーションプログラムの概要を示す図
【図３】実施例のループシミュレーション方法の概要を示すフローチャート
【図４】図３での目の移動処理のアルゴリズムを示すフローチャート
【図５】実施例で用いた編目のモデルを示す図で、左側に上（親）下（子）左右の編目との関係を、右側に編地に垂直な方向（Ｚ方向）での断面を示し、各編目Ｂは（Ｘ，Ｙ，Ｚ）の３次元座標を持ち、ｍｙは編目（目）の縦サイズを、ｍｘは編目の横サイズを示す。
【図６】実施例で用いた編目の制御点を説明する図で、制御点ＢＨの中点が編目の基準点で編目位置を表す。各制御点Ａ〜Ｉの位置は基準点からの変位で表され、編目の縦サイズｍｙ、横サイズｍｘに各制御点の位置を定める定数を乗算して変位を求める。編目の向きがＹ軸から傾いている場合、変位を傾きに応じて回転させる。
【図７】目の移動処理で、リブ編地がコース方向に縮むことを考慮した編目位置の初期値を用いる例を示す図
【図８】実施例でのループシミュレーション画像を示す図
【図９】従来例でのループシミュレーション画像を示す図
【図１０】実施例での寄せ部のループシミュレーション画像を示す図
【符号の説明】
【００５４】
２      ループシミュレーション装置
４      バス
６      ペイント部
７      手入力
８      表示部
１０    プリンタ
１２    ループシミュレーションプログラム記憶部
１４    ＬＡＮインターフェース
１５    ディスクドライブ
２０    画像メモリ
２２    目の位置記憶部
２３    初期値算出処理部
２４    移動量算出処理部
２６    収束判定部
２８    編目画像作成部
３０    影付け処理部
３２    上下合成部
３４    編成データ変換部
４０    ループシミュレーションプログラム
４１    目の位置記憶命令
４２    移動量算出命令
４３    収束判定命令
４４    編目画像作成命令
４５    影付け命令
４６    上下合成命令
５０    天竺編地
５１    リブ編地