(57)【要約】  ニット製品のデザインデータを、ループを糸筋で表現した糸筋データに変換する。ループを多角柱で表現し、多角柱の側面をポリゴンに分割して、ポリゴンの頂点座標をポリゴンメモリに記憶する。シミュレーション画像中でモニタに表示されるループを抽出して、グラフィックＣＰＵで処理し、処理範囲を制限する。また頂点データの一部をグラフィックメモリに記憶させて、ポリゴンメモリからの転送を不要にする。３Ｄシミュレーション画像を高速で処理できる。
2008105529.tif 000002
【特許請求の範囲】
【請求項１】
ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる装置であって、
表示画像を変更する際に、ニット製品のループに対し、変更後の表示画像に含まれるループと含まれないループとを判別するための判別手段を設けて、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする、ニット製品のシミュレーション装置。
【請求項２】
ニット製品のループ位置を表す代表点を記憶するための代表点記憶手段を設けて、前記判別手段では該代表点が変更後の表示画像に含まれるか否かから、変更後の表示画像に含まれるか否かを判別するようにしたことを特徴とする、請求項１のニット製品のシミュレーション装置。  
【請求項３】
ニット製品の各ループを３Ｄ空間内の糸筋で表現した糸筋データを記憶するための糸筋データ記憶手段と、
糸筋データから、各ループ表面を複数に分割したポリゴンの頂点に関する頂点データを発生させる汎用ＣＰＵと、
頂点データの記憶手段と、
頂点データから表示画像を生成するグラフィックＣＰＵと、
グラフィックＣＰＵ用のメモリとを備え、
頂点データの少なくとも一部を前記グラフィックＣＰＵ用のメモリに記憶させて、該メモリからグラフィックＣＰＵへ供給するようにしたことを特徴とする、請求項１のニット製品のシミュレーション装置。
【請求項４】
ニット製品全体の頂点データから、その一部をニット製品全体に対してほぼ均一に抽出すると共に、抽出した頂点データを前記グラフィックＣＰＵ用のメモリに記憶させるようにしたことを特徴とする、請求項３のニット製品のシミュレーション装置。
【請求項５】
表示画像を縮小する際に、前記ポリゴンの頂点の一部を省略して、ポリゴンの数を減少させるための手段を設けたことを特徴とする、請求項３のニット製品のシミュレーション装置。
【請求項６】
ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる方法であって、
表示画像を変更する際に、ニット製品のループに対し、変更後の表示画像に含まれるループと含まれないループとを判別し、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする、ニット製品のシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はニット製品のシミュレーションに関する。
【背景技術】
【０００２】
出願人は、ニット製品のデザインデータを、３Ｄシミュレーション画像に変換する技術を開発した（特許文献１：特開２００５−２４２６１１）。この画像はニット製品の個々のループをリアルに表現するので、３Ｄループシミュレーションと呼ばれる。そしてこの技術によれば、デザインデータから得られる３Ｄシミュレーション画像を、ニット製品の取引に用いることができるバーチャルなサンプルとすることができる。しかしながら高品位のシミュレーション画像を得るには処理時間が必要で、縮小、拡大、視点変換、パニングといった処理でも、ユーザを待たせることがある。
【特許文献１】特開２００５−２４２６１１
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明の課題は、ニット製品のシミュレーションに要する時間を短縮し、ほぼリアルタイムに表示画像の変換を行えるようにすることにある。
【課題を解決するための手段】
【０００４】
この発明のニット製品のシミュレーション装置は、ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる装置であって、
表示画像を変更する際に、ニット製品のループに対し、変更後の表示画像に含まれるループと含まれないループとを判別するための判別手段を設けて、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする。【０００５】
この発明のニット製品のシミュレーション方法は、ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる方法であって、
表示画像を変更する際に、ニット製品のループに対し、変更後の表示画像に含まれるループと含まれないループとを判別し、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする。【０００６】
好ましくは、ニット製品のループ位置を表す代表点を記憶するための代表点記憶手段を設けて、前記判別手段では該代表点が変更後の表示画像に含まれるか否かから、変更後の表示画像に含まれるか否かを判別する。【０００７】
また好ましくは、ニット製品の各ループを３Ｄ空間内の糸筋で表現した糸筋データを記憶するための糸筋データ記憶手段と、
糸筋データから、各ループ表面を複数に分割したポリゴンの頂点に関する頂点データを発生させる汎用ＣＰＵと、
頂点データの記憶手段と、
頂点データから表示画像を生成するグラフィックＣＰＵと、
グラフィックＣＰＵ用のメモリとを備え、
頂点データの少なくとも一部を前記グラフィックＣＰＵ用のメモリに記憶させて、該メモリからグラフィックＣＰＵへ供給する。
好ましくは、ニット製品全体の頂点データから、その一部をニット製品全体に対してほぼ均一に抽出すると共に、抽出した頂点データを前記グラフィックＣＰＵ用のメモリに記憶させる。
好ましくは、表示画像を縮小する際に、前記ポリゴンの頂点の一部を省略して、ポリゴン数を減少させるための手段を設ける。
【発明の効果】
【０００８】
この発明では、表示画像を変更する際に、変更後の表示画像に含まれるループとそうでないループとを判別し、変更後の表示画像に含まれるループのみを処理する。このため、表示画像の縮小、拡大、視点の移動、回転、パニングなどの処理を行う際に、表示画像を高速で発生できる。
ここで、ニット製品のループ位置を表す代表点を記憶すると、代表点が変更後の表示画像に含まれるか否かから、高速で変更後の表示画像に含まれるか否かを判別できる。【０００９】
またグラフィックＣＰＵ用のメモリを設けて、頂点データの少なくとも一部をグラフィックＣＰＵ用のメモリに記憶させ、該メモリからグラフィックＣＰＵへ供給すると、頂点データの記憶手段からグラフィックＣＰＵへの転送データを減らして、さらに高速で表示画像を変更できる。
ここで、ニット製品全体の頂点データから、その一部をニット製品全体に対してほぼ均一に抽出すると共に、抽出した頂点データを前記グラフィックＣＰＵ用のメモリに記憶させると、ニット製品のどの部分を表示する場合でも、平均的に高速に処理できる。ここでほぼ均一に抽出しとは、ニット製品の各部分から頂点データを抽出し、頂点データを抽出しない部分が無いという意味である。衣類では例えば前面側のデザインが背面側のデザインよりも重要な場合が多いので、前面側では頂点データの４０％をグラフィックＣＰＵ用のメモリに記憶させ、背面側では頂点データの２５％をグラフィックＣＰＵ用のメモリに記憶させるようなものの、ほぼ均一に抽出することに含まれる。
さらに、表示画像を縮小する際に、ポリゴンの頂点の一部を省略して、ポリゴン数を減少させると、表示画像をより高速で発生させることができる。即ち、１つのループには複数のポリゴンがあり、ポリゴンには各々の頂点があるので、頂点の数を減らすと、ポリゴンの数が減り、表示画像がより単純になる。この結果、表示画像をより高速で発生させることができる。【００１０】
この発明では、表示画像を変更する際の処理範囲の制限や、頂点データの一部をグラフィックＣＰＵ用のメモリに記憶させることなどにより、各々処理を高速化し、全体としてほぼリアルタイムに表示画像を変更できるようにする。この結果、カラーモニタでの３Ｄループシミュレーション画像によるデザイン作業やデザインの評価を、ユーザが満足できるペースで行うことができる。なおこの明細書において、シミュレーション装置に関する記載は、そのままシミュレーション方法にも当てはまる。
【図面の簡単な説明】
【００１１】
【図１】実施例のシミュレーション装置のブロック図
【図２】実施例でのループを構成するセグメントを示す図で、A)はループの配列を，B)はループを分解したセグメントを示す。
【図３】実施例での、編目に対するデータと、それに対する処理とを示す図
【図４】実施例での、ガーメントの拡大表示に対する、クリッピングを模式的に示す図
【図５】実施例での、ガーメントの縮小時の、セグメントの単純化を示す図
【符号の説明】
【００１２】
２  シミュレーション装置    ４  汎用バス    ６  画像バス
８  ニットデザイン部    １０  データ変換部    １２  糸筋データ発生部
１４  汎用メモリ    １６  ユーザ入力    １８  カラーモニタ
１９  ビデオメモリ    ２０  カラープリンタ    ２２  汎用ＣＰＵ
２４  ポリゴンメモリ    ２６  グラフィックＣＰＵ    
２８  グラフィックメモリ    ３１  中心    ３２〜３５  周囲の編目
３６  編目データ    ３８  頂点データ    ４０  シミュレーション画像
４１  エリア    ４２，４３  セグメント    Ｐ1〜Ｐ12   頂点
【発明を実施するための最良の形態】
【００１３】
以下にこの発明を実施するための最良の形態を示すが、これに限るものではない。
【実施例】
【００１４】
図１〜図５に、実施例のシミュレーション装置とシミュレーション方法とを示す。図において、２はシミュレーション装置で、適宜のコンピュータにより実現され、４は汎用バス、６は画像バスで、画像データの専用バスである。８はニットデザイン部で、ユーザはニットデザイン部８を用いてニット製品のデザインを行い、データ変換部１０は、ニットデザイン部８で得られたデザインデータを、横編機などの編機での編成データに変換する。糸筋データ発生部１２は、編成データを糸筋データに変換する。糸筋データはニット製品のループ形状やループ間の接続関係、並びにループの位置を、３Ｄ空間内の糸筋で表現したものである。１つのニット製品に複数の糸を用いる場合、糸筋データでどの糸がどのループに用いられているかも表現される。そして糸筋データでの糸を、多角柱のセグメントを接続したものに変換することにより、ニット製品のレンダリング前の３Ｄデータが得られる。汎用メモリ１４は、ニットデザイン部８〜糸筋データ発生部１２で発生させたデータを記憶する。【００１５】
１６はユーザ入力で、スタイラスやマウス、トラックボールなどの入力手段であり、１８はカラーモニタで、デザインデータや糸筋データ、並びに３Ｄループシミュレーションデータを表示し、１９はビデオメモリで、カラーモニタ１８に直結している。２０はカラープリンタで、デザインデータや糸筋データ、３Ｄループシミュレーション画像などをカラープリントする。汎用ＣＰＵ２２は糸筋データをポリゴンの頂点データに変換し、また視点変換や縮小、拡大、回転、パニングなどに応じて処理範囲のループを抽出し、他を処理範囲から除外するようにクリッピングする。得られたポリゴンデータはポリゴンメモリ２４に記憶され、ポリゴンデータは、例えばポリゴンの頂点座標（３Ｄ座標）とポリゴン頂点の不透明度、及び頂点のカラー値からなり、以下では頂点データという。【００１６】
図２に、実施例でのループの配列 A)と、ループからセグメントへの分割 B)を示す。糸筋データには、各ループの中心３１の３Ｄ座標が含まれ、また各ループに対して接続関係にある周囲のループの番号が含まれている。なお以下でループと編目は同義語で、中心はループを代表する点であるが、ループの中心以外の点でループを代表させても良い。例えば図２ A)の場合、小さな長方形で囲んだループの周囲には、左右で接続されたループ３２，３３と上下で接続されたループ３４，３５がある。１つのループと他のループとが重なって同じ位置にある場合、これらのループは互いに接続されているものと見なす。また１つのループと重なってミスの糸がある場合、これらも互いに接続されているものと見なす。以上の接続関係により、１つの編目の周囲にある編目を特定できる。【００１７】
図２ B)に示すように、１つのループは実線で区切った複数のセグメントに分割され、破線でマークしたセグメントに対して図２ B)の左右に示すように、セグメントは多角柱の形状をし、ループの断面が多角柱の底面や頂面となる。ループを構成する糸は断面が円形に近いので、セグメントは６角柱あるいは８角柱が好ましく、ここでは処理速度を向上するため６角柱とする。但し画像を縮小し、個々のループの重要性が低下する場合、処理速度を向上させるため、セグメントを４角柱または３角柱に単純化する。セグメントの側面は長方形で、これを２分して２つの三角形とする。セグメントを６角柱とすると、１つのセグメント当たり２×６の１２ポリゴンが生成する。また１ループ当たり１０〜２０程度のセグメントを設ける。従ってループ当たりのポリゴン数は１００程度となる。頂点データの段階では、ポリゴンの各頂点の座標（３Ｄ座標）、各頂点の不透明度、及び各頂点のカラー値が指定されており、このうちカラー値は頂点データとは別に与えてもよい。【００１８】
グラフィックＣＰＵ２６は、ポリゴンの頂点データを補間することにより、ポリゴン上の各位置に対する画像データを発生させ、このデータには３Ｄ座標と不透明度並びにカラー値などが含まれる。グラフィックＣＰＵ２６は、各ポリゴンに対する画像データを発生させると、視点に対する位置に基づいて複数のポリゴンの画像を奥行き方向に重ね合わせ、さらに光源によるシェーディング等を施して、カラーモニタ１８に表示するための３Ｄループシミュレーション画像を発生させる。【００１９】
以上のようにして発生させた３Ｄループシミュレーション画像は、仮想的なニット製品を表している。３Ｄループシミュレーション画像からなる仮想的なニット製品を、人体モデルに着装させ、着装した人体モデルの姿勢を変え、あるいはハンガーに吊し、また平坦に配置して、ニット製品のデザインを評価できるようにする。このようにして得られる仮想的なサンプルをバーチャルサンプルと呼び、カラーモニタで表示あるいはカラープリンタでプリントする。ここで、３Ｄループシミュレーション画像への視点を変更する、表示画像を縮小／拡大する、３Ｄループシミュレーション画像を回転させる、表示画像をパニングする、等のことを行うと、画像を再処理する必要がある。例えば視点変換によって、表示画像を例えば縮小／拡大すると共に、表示エリアを変更すると、カラーモニタ１８に表示される画像が変更される。そして視点変換等に伴う画像の変更を高速で行えないと、ユーザを待たせることになる。なお縮小／拡大／回転は視点変換の一部で、パニングは連続的な視点変換の例である。またポリゴンの頂点データを変化させずに、表示画像を再発生させることは、視点変換に限らず、光源の変更や糸のカラー値の変更等の場合にも必要となる。【００２０】
グラフィックＣＰＵ２６は、３Ｄループシミュレーション画像を発生させるために、ポリゴンの頂点データを必要とする。頂点データは、ポリゴンメモリ２４から画像バス６を介して、グラフィックＣＰＵ２６へ供給される。しかしながらバス６の転送速度には制限があり、グラフィックＣＰＵ２６に直結されたグラフィックメモリ２８から頂点データを供給する方が高速である。そこでグラフィックメモリ２８のディスプレイリストに、頂点データの少なくとも一部を記憶する。ディスプレイリストでの最小記憶単位はループである。なおグラフィックメモリ２８は、ディスプレイリストの他に、カラーモニタ１８等への２Ｄ表示画像等を記憶する。【００２１】
グラフィックメモリ２８には一般に、全ての頂点データを記憶するだけの容量がないので、ニット製品の一部、例えば１／２〜１／４のループについて、頂点データをディスプレイリストに登録する。ここで好ましくは、ディスプレイリストに登録するループをニット製品の全体に分散させる。これによって、ニット製品のどの部分を処理する場合でも、平均的に高速化できる。言い換えると、ニット製品の特定の箇所の頂点データをディスプレイリストに集中的に登録すると、ディスプレイリストに登録されていない部分を表示する際に、処理が極端に低速になる。これに対してディスプレイリストに登録するループをニット製品全体に分散させると、ニット製品のどの部分を処理する場合でも、ほぼ同等の速度が得られる。【００２２】
図３に、糸筋データ中の編目データ３６から、カラーモニタ１８への表示までの過程を示す。編目データ３６では編目毎に編目の種類（表目／裏目，ニット／タック／ミス，振りの有無とそのピッチなど）を記載し、周囲の編目との接続関係を記載する。接続関係は、上下左右などに文字通りに接続されている編目の他に、２重目などで重なった編目や、ミスと通常の編目との重なりをいう。さらにどの糸を用いているのかを糸番号で記載する。なお編目番号は、編目データ３６を記憶するテーブル内のアドレス等で表現される。汎用ＣＰＵ２２は編目データを頂点データに変換し、頂点データには例えばポリゴンの頂点座標と不透明度及びカラー値が含まれる。頂点データはグラフィックＣＰＵ２６へ転送され、汎用ＣＰＵ２２は編目データ３６中のループの中心座標と接続関係とを用いて、カラーモニタ１８の表示範囲に含まれるループかどうかを判断する。例えば回転、縮小／拡大、パニングなどの視点変換が行われると、表示範囲が変化する。【００２３】
新たな視点に対する表示範囲内に中心座標が含まれるループは、表示範囲に含まれる。そして表示範囲内に含まれるループに対して、接続関係にあるループも表示範囲に含まれるものとして、処理対象とする。表示範囲内のループを完全にチェックするには、中心座標が表示範囲内に含まれるループからのチェック範囲を拡げれば良く、例えば上記の接続関係にあるループから、さらに外側に１段階接続関係にあるループまでを処理範囲とすると良い。以上のようにして、処理範囲を制限しながら、新たな表示範囲内にあるループを処理対象から外さないようにする。新たな表示範囲等に応じて処理範囲を制限することを、クリッピングと呼ぶ。ポリゴンメモリ２４からグラフィックＣＰＵ２６への転送範囲は、クリッピングにより制限される。【００２４】
頂点データの少なくとも一部は、グラフィックメモリ２８のディスプレイリストに記憶されている。汎用ＣＰＵ２２は、処理が必要なループの範囲を、グラフィックＣＰＵ２６へ通知し、グラフィックＣＰＵ２６は、この内でディスプレイリストに登録済の頂点データを、グラフィックメモリ２８から読み出す。頂点データを用いて、グラフィックＣＰＵはポリゴンの３Ｄ画像を形成し、視点からの奥行き方向に対するポリゴンの重なりや、シェーディングなどの処理を施し、カラーモニタ１８に表示するための画像を生成する。【００２５】
図４にクリッピングの例を示し、３Ｄループシミュレーション画像４０に対して、例えば表示を拡大し、エリア４１のみが新たな表示範囲に含まれるものとする。この時、汎用ＣＰＵは、この表示範囲内に含まれるループか否かを、ループの中心座標と、表示範囲内に含まれるループと接続関係にあるループかなどから、判別する。この結果、処理対象となるポリゴンの数を全体の例えば数分の１に減少させ、処理を数倍高速にできる。また処理対象に含まれる頂点データの内で、ディスプレイリストに登録済みのものは、ポリゴンメモリからグラフィックＣＰＵへの転送が不要で、処理速度が数倍程度向上する。そこで例えば、新たな表示範囲に含まれるポリゴンが全ポリゴンの数分の１で、処理対象のループの１／２がディスプレイリストに登録されているとすると、処理速度は１０倍程度向上する。なお３Ｄループシミュレーションの着装などのように、３Ｄループシミュレーション画像自体を立体変形させる場合、新たな頂点データは全ポリゴンに付いて求め、カラーモニタへの表示範囲から外れるループに対してはグラフィックＣＰＵでの処理を省略する。【００２６】
図５に、６角柱のセグメント４２を４角柱のセグメント４３に変換し、セグメントを単純化する例を示す。表示を縮小すると、セグメント４３のように、より単純なセグメントを用いても、視覚上の影響は小さくなる。そこで元のセグメント４２での頂点Ｐ1，Ｐ2，Ｐ4，Ｐ5，Ｐ7，Ｐ8等をそのまま新たなセグメント４３の頂点とし、頂点Ｐ3，Ｐ6，Ｐ9，Ｐ12を削除する。セグメント４３ではポリゴン数は８で、ポリゴンの各頂点はセグメント４２で存在していた頂点である。このようにポリゴンのデータを単純化することにより、表示を縮小した際に、ポリゴン数を例えば２／３〜１／２程度にして、処理を約１.５〜２倍程度高速化する。【００２７】
実施例では以下の効果が得られる。
(1)  クリッピングで処理範囲を制限することにより、処理を高速化できる。
(2)  ループの中心座標とループの接続関係とを用いることにより、処理対象となるループと、そうでないループとを容易に判別できる。
(3)  ディスプレイリストに頂点データの一部を登録することにより、処理を数倍程度高速化できる。
(4)  ディスプレイリストに登録するループを、ニット製品全体に渡って分散させることにより、ニット製品のどの部分を処理する場合でも、平均的に高速化できる。
(5)  表示を縮小する際に、セグメントの一部の頂点を削除して残る頂点のみを用い、セグメントを単純化することにより、処理速度を例えば約１.５倍高速化できる。
(6)  以上により、ニット製品に対する回転、視点変換、縮小、拡大、パニングなどの処理を行った際の待ち時間を短縮し、リアルタイムに処理後の３Ｄループシミュレーション画像を表示できる。
【図１】
2008105529.tif 000003
【図３】
2008105529.tif 000004
【図４】
2008105529.tif 000005
【図５】
2008105529.tif 000006
【図２】
2008105529.tif 000007
【手続補正書】
【提出日】平成20年12月24日(2008.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる装置であって、
ニット製品のループ位置を表す代表点を記憶するための代表点記憶手段と、
表示画像を変更する際に、ニット製品のループに対し、代表点が変更後の表示画像での表示範囲に含まれるループと、前記表示範囲に含まれるループと接続関係にあるループとを、変更後の表示画像に含まれるループとして求めるための判別手段を設けて、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする、ニット製品のシミュレーション装置。
【請求項２】
ニット製品の各ループを３Ｄ空間内の糸筋で表現した糸筋データを記憶するための糸筋データ記憶手段と、
糸筋データから、各ループ表面を複数に分割したポリゴンの頂点に関する頂点データを発生させる汎用ＣＰＵと、
頂点データの記憶手段と、
頂点データから表示画像を生成するグラフィックＣＰＵと、
グラフィックＣＰＵ用のメモリとを備え、
頂点データの少なくとも一部を前記グラフィックＣＰＵ用のメモリに記憶させて、該メモリからグラフィックＣＰＵへ供給するようにしたことを特徴とする、請求項１のニット製品のシミュレーション装置。
【請求項３】
ニット製品全体の頂点データから、その一部をニット製品全体に対してほぼ均一に抽出すると共に、抽出した頂点データを前記グラフィックＣＰＵ用のメモリに記憶させるようにしたことを特徴とする、請求項２のニット製品のシミュレーション装置。
【請求項４】
前記ループの断面は多角形で、表示画像を縮小する際に、前記多角形の辺の一部を省略することにより、ポリゴンの数を減少させるための手段を設けたことを特徴とする、請求項２のニット製品のシミュレーション装置。
【請求項５】
ニット製品のデザインデータから得られた３Ｄループシミュレーション画像を処理して、カラーモニタで表示するための表示画像を発生させる方法であって、
ニット製品のループ位置を表す代表点を記憶し、
表示画像を変更する際に、ニット製品のループに対し、代表点が変更後の表示画像での表示範囲に含まれるループと、前記表示範囲に含まれるループと接続関係にあるループとを、変更後の表示画像に含まれるループとして求め、変更後の表示画像に含まれるループのみを処理することにより、表示画像を変更するようにしたことを特徴とする、ニット製品のシミュレーション方法。
【国際調査報告】
2008105529.tif 000008
2008105529.tif 000009
2008105529.tif 000010
2008105529.tif 000011