編構造モデル生成プログラム、編構造モデル生成装置、及び編構造モデル生成方法
【課題】所定の記号によって表された編構造データから、どのような編物が編成されるかを容易に推定することができる編構造モデルを生成する。
【解決手段】編構造データ取得部11は、タックを示すT、ウエルトを示すW、ニットを示すK記号から構成される編構造データを取得する。ノード配列部12は、XY平面内に編物を構成する糸の連結点を示すノードを格子状に配列する。簡略モデル生成部13は、編構造データに従って、前記XY平面内に配列されたノードを、糸に相当するエッジで接続し、簡略編構造モデルを生成する。表示部40は、簡略編構造モデルを表示する。
【解決手段】編構造データ取得部11は、タックを示すT、ウエルトを示すW、ニットを示すK記号から構成される編構造データを取得する。ノード配列部12は、XY平面内に編物を構成する糸の連結点を示すノードを格子状に配列する。簡略モデル生成部13は、編構造データに従って、前記XY平面内に配列されたノードを、糸に相当するエッジで接続し、簡略編構造モデルを生成する。表示部40は、簡略編構造モデルを表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ上に生成される仮想3次元空間内において編物の編構造モデルを生成する技術に関する。
【背景技術】
【0002】
編物はタック、ニット等の幾つかの編パターンを組み合わせることで構成されているため、各編パターンを表す記号を定め、この記号を配列することで、編物の構造を表すことが従来よりなされている。ここで、基本的な編パターンを表す記号として、例えば日本工業規格(JIS)により規格された編み目記号図が知られている。
【0003】
また、特許文献1では、予めモジュール化された編み目の画像をライブラリから選択して2次元の画像を生成し、この2次元の画像を1つのレイヤーとし、複数のレイヤーを積層させて編物のシミュレーションを行う技術が開示されている。
【特許文献1】WO2003−032204号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、編み目記号からどのような編物が編成されるかを推定することは、かなりの経験と知識が必要であり、編物の熟練者でなければこのような推定を行うことは困難である。また、特許文献1では、予めモジュール化された編み目の画像をライブラリから選択されているにすぎず、糸1本1本にかかる物理的特性を加味したシミュレーションがなされていないため、リアルな編構造モデルを生成することはできない。
【0005】
本発明の目的は、編物を構成する糸の編パターンが、所定の記号によって表された編構造データから、どのような編物が編成されるかを容易に推定することができる編構造モデルを生成する編構造モデル生成プログラム、編構造モデル生成装置、及び編構造モデル生成方法を提供することである。
【課題を解決するための手段】
【0006】
本発明による編構造モデル生成プログラムは、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする。
【0007】
この構成によれば、編パターンを所定の記号により表した編構造データが取得され、この編構造データに従って、仮想3次元空間の所定の平面内に配列されたノードが、糸に相当するエッジにより接続され、簡略編構造モデルが生成される。
【0008】
これにより、エッジとノードとによって、編構造データが表現された簡略編構造モデルが得られるため、この簡略編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【0009】
また、上記構成において、前記編構造データは、前記編パターンに応じた記号がマトリックス状に配列されたデータ構造を有し、前記ノード配列手段は、格子状に隣接する4つノードを各記号に割り当て、各記号に割り当てられた4つのノードは、左上に位置する第1のノードと、右上に位置する第2のノードと、左下に位置する第3のノードと、右下に位置する第4のノードとを含み、前記編構造データを構成する編パターンを示す記号のうち、注目する1の記号である注目記号に割り当てられた前記第3及び第4のノードは、当該注目記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されていることが好ましい。
【0010】
この構成によれば、各記号には、格子状に隣接する左上、右上、左下、及び右下に位置する第1〜第4のノードが割り当てられる。ここで、ある記号に割り当てられた第3及び第4のノードは当該記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されるように、各ノードが配列される。そのため、ノードに例えば2本のエッジが接続されている場合、このノードに対し、2本の糸が連結されていることを表すことができる。
【0011】
また、上記構成において、編構造データは、ニットの編パターンを含み、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を、エッジで接続することで、簡略編構造モデルを生成することが好ましい。
【0012】
この構成によれば、ニットの編パターンを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0013】
また、上記構成において、前記編構造データは、ニットとタックとの編パターンを含み、前記編構造データを構成する編パターンのうち、注目する1のタック記号である注目タック記号の左側にはニットの編パターンを示す左ニット記号が隣接し、前記注目タックの記号の右側にはニットの編パターンを示す右ニット記号が隣接し、前記注目タック記号の下側にはニットの編パターンを示す下ニット記号が存在し、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士をエッジで接続し、前記注目タック記号に割り当てられた第3及び第4のノード及び第3及び第4のノードに接続されているエッジを削除し、前記注目タック記号に割り当てられた第1のノードと第2のノードとを2本のエッジで接続し、前記注目タック記号に割り当てられた第1のノードと、前記下ニットの記号に割り当てられた第3のノードとを前記エッジで接続すると共に、前記注目タックの記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとをエッジで接続し、前記左ニット記号に割り当てられた第4のノードと、前記注目タックに記号に割り当てられた第1のノードとをエッジで接続し、前記右ニット記号に割り当てられた第3のノードと、前記注目タック記号に割り当てられた第2のノードとをエッジで接続し、各タックの記号を注目タック記号として上記処理を実行することが好ましい。
【0014】
この構成によれば、タックの編パターンとニットの編パターンとを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0015】
また、上記構成において、前記エッジは、各ノードに作用する第1の応力を示す第1のエッジと、前記第1の応力よりも弱い第2の応力を示す第2のエッジとを含み、前記編構造データは、ニットとウエルトとの編パターンを含み、前記編構造データを構成する記号のうち、注目する1のウエルト記号である注目ウエルト記号の下側にはニットの編パターンを示す下ニット記号が隣接し、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を第1のエッジで接続し、前記注目ウエルト記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除すると共に、前記下ニット記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除し、前記注目ウエルト記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、前記下ニット記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記下ニット記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、前記注目ウエルト記号に割り当てられた第1のノードと、前記下ニット記号に割り当てられた第3のノードとを第1のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとを第1のエッジで接続し、各ウエルト記号を前記注目ウエルト記号として上記処理を実行することが好ましい。
【0016】
この構成によれば、ニットの編みパターンとウエルトの編パターンとを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0017】
また、上記構成において、前記簡略モデル生成手段は、左端に位置するノードの各々を、同一行の右端に位置するノードに接続すると共に、上端に位置するノードの各々を、同一列の下端に位置するノードに接続することで、簡略編構造モデルを生成することが好ましい。
【0018】
この構成よれば、一定の編パターンから構成される編構造が繰り返し結合された編物において、全領域のデータを保持しなくとも、一定の編パターンから構成される編構造モデルに対するデータを保持するだけで、編構造モデルのデータを保持することができる。
【0019】
また、本発明による編構造モデル生成プログラムは、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることを特徴とする。
【0020】
また、上記構成において、前記ノードは編物の質点を示し、前記エッジは、質点に作用する応力を示し、前記簡略モデル生成手段により生成された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることが好ましい。
【0021】
これらの構成によれば、各ノードに対して、接続されるエッジの種類に応じた応力が作用されると共に、所定の外力が与えられ、各ノードを編物の質点としたときの各ノードの運動方程式を解くことにより、編物の立体編構造モデルが生成されるため、編物の力学的特性が加味された立体編構造モデルを得ることができる。ここで、所定の外力は、ノードの配列面と交差するような方向であるため、ノードは配列面と交差する方向に移動されやすくなり、糸の編パターンをより立体的に表すことができる。
【0022】
また、上記構成において、前記編物は、表面及び裏面からなる両面編みの編物であり、前記立体モデル生成手段は、ウエルトの記号に割り当てられた第3及び第4のノードの各々に対し、表面との距離及び裏面との距離に反比例する反発力を、前記外力として作用させることが好ましい。
【0023】
この構成によれば、ウエルトの編パターンにおいて、交差する糸同士の反発力が加味された立体編構造モデルを生成することができる。
【0024】
また、上記構成において、前記立体モデル生成手段は、各ノードに半径の異なる2つの円を同心円状に設定し、ある注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続された他のノードに設定した2つの円とを滑らかに結ぶような2本の線を糸経路として設定することが好ましい。
【0025】
この構成によれば、各ノードに半径の異なる2つの円が同心円状に設定され、注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続されたノードに設定した2つの円とを滑らかに結ぶような線が糸経路として設定されるため、各ノードにおいて糸が滑らかに屈曲するような立体編構造モデルを生成することができる。
【0026】
また、上記構成において、前記立体モデル生成手段は、前記立体モデル生成手段は、前記糸経路を表す原関数に対してフーリエ級数展開を実行したときの1次の項を前記原関数から差し引き、差し引いた関数を所定の低次の項までフーリエ級数展開した後、前記1次の項を加算することで、前記糸経路を平滑化することが好ましい。
【0027】
この構成によれば、1次の項を原関数から差し引き、差し引いた関数に対して低次の項までのフーリエ級数展開がなされた後、1次の項が加算されているため、連続性を維持しつつ、より滑らかな糸を立体編構造モデルに設定することができる。
【0028】
本発明による編構造モデル生成装置は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする。
【0029】
また、本発明による編構造モデル生成方法は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、コンピュータが、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得し、コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列し、コンピュータが、取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、ノード同士の接続関係を表すエッジによって接続し、簡略編構造モデルを生成することを特徴とする。
【0030】
本発明による編構造モデル生成装置は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする。
【0031】
本発明による編構造モデル生成方法は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、コンピュータが、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする。
【発明の効果】
【0032】
本発明によれば、エッジとノードとによって、編構造データが表現された編構造モデルが得られるため、この編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【発明を実施するための最良の形態】
【0033】
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本発明の実施の形態による編構造モデル生成装置のハードウェア構成を示すブロック図である。編構造モデル生成装置は、通常のコンピュータ等から構成され、入力装置1、ROM(リードオンリメモリ)2、CPU(中央演算処理装置)3、RAM(ランダムアクセスメモリ)4、外部記憶装置5、表示装置6、及び記録媒体駆動装置7を備える。各ブロックは内部のバスに接続され、このバスを介して種々のデータ等が入出され、CPU3の制御の下、種々の処理が実行される。
【0034】
入力装置1は、キーボード、マウス等から構成され、ユーザが種々のデータを入力するために使用される。ROM2には、BIOS(Basic Input/Output System)等のシステ
ムプログラムが記憶される。外部記憶装置5は、ハードディスクドライブ等から構成され、所定のOS(Operating System)及び編構造モデル生成プログラム等が記憶される。CPU3は、外部記憶装置5から編構造モデル生成プログラム等を読み出し、各ブロックの動作を制御する。RAM4は、CPU3の作業領域等として用いられる。
【0035】
表示装置6は、液晶表示装置等から構成され、CPU3の制御の下に種々の画像を表示する。記録媒体駆動装置7は、CD−ROMドライブ、フレキシブルディスクドライブ等から構成される。
【0036】
なお、編構造モデル生成プログラムは、CD−ROM等のコンピュータ読み取り可能な記録媒体8に格納されて市場に流通される。ユーザはこの記録媒体8を記録媒体駆動装置7に読み込ませることで、編構造モデル生成プログラムをコンピュータにインストールする。また、編構造モデル生成プログラムをインターネット上のサーバに格納し、このサーバからダウンロードすることで、編構造モデル生成プログラムをコンピュータにインストールしてもよい。
【0037】
図2は、本編構造モデル生成装置の機能ブロック図を示している。編構造モデル生成装置は、制御部10、記憶部20、入力部30、及び表示部40を備えている。制御部10は、CPU3等から構成され、編構造データ取得部11、ノード配列部12、簡略モデル生成部13、立体モデル生成部14、レンダリング部15、及び表示制御部16の機能を備えている。これらの機能は、CPU3が編構造モデル生成プログラムを実行することで実現される。
【0038】
編構造データ取得部11は、ユーザが入力部30を操作することで入力した、編構造データを取得する。ここで、編構造データとは、編物の編構造を構成する編パターンに対して予め定められた記号が、所定行×所定列でマトリックス状に配列されたデータである。本実施の形態では、編物の編構造として、表面及び裏面からなる両面編みにより編成された編物の編構造が採用される。また、編パターンとしては、ニット、ウエルト、及びタックの3つのパターンが採用される。そして、表面に配置されるニット、ウエルト、及びタックの編パターンは、各々、「K」、「W」、及び「T」の記号で表され、裏面に配置されるニット、ウエルト、及びタックの編パターンは、各々、「k」、「w」、及び「t」の記号で表される。
【0039】
ノード配列部12は、編構造データ取得部11により取得された編構造データの行数及び列数に従って、仮想3次元空間内の所定の平面内に格子状にノードを配列する。ここで、ノードは、編パターンを構成する糸の連結点を示す。
【0040】
また、ノード配列部12は、編パターンを表す1つの記号に対して4個のノードが割り当てられるように所定の平面内にノードを配列する。ここで、ある記号に対して割り当てた4個のノードのうち、左上のノードを第1のノード、右上のノードを第2のノード、左下のノードを第3のノード、及び右下のノードを第4のノードと呼ぶことにする。
【0041】
更に、ノード配列部12は、ある記号に対して割り当てた第3及び第4のノードを、それぞれ、当該記号に隣接して下側に位置する記号に対して割り当てた第1及び第2のノードと共有させる。そのため、所定の平面内に配列されるノードの縦方向の個数は、編構造データの行数に一致し、ノードの横方向の個数は、編構造データの列数を2倍した値となる。なお、ノードの縦方向の個数がデータの行数に一致するのは、上端に位置する各ノードは、同一列の下端に位置するノードと共有されるためである。
【0042】
簡略モデル生成部13は、編パターン毎に予め定められたノードの結合規則に従って、ノード配列部12により配列された各ノードを、糸に相当するエッジを用いて接続し、簡略編構造モデルを生成する。なお、生成された簡略編構造モデルは、必要に応じて簡略モデル記憶部21に記憶される。
【0043】
立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルを構成する各ノードを編物の質点とし、各ノードに対して所定の外力を作用させると共に、各ノードの接続関係から各ノードに作用する応力を求め、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する。なお、生成された立体編構造モデルは必要に応じて、立体モデル記憶部22に記憶される。
【0044】
レンダリング部15は、立体モデル生成部14により生成された立体編構造モデル、又は立体モデル記憶部22に記憶された立体編構造モデルをレンダリングする。表示制御部16は、簡略モデル生成部13により生成された簡略編構造モデル又は簡略モデル記憶部21に記憶された簡略編構造モデルを表示部40に表示させる。また、表示制御部16は、レンダリング部15によりレンダリングされた立体編構造モデルを表示部40に表示させる。
【0045】
記憶部20は、図1に示す外部記憶装置5等から構成され、簡略モデル記憶部21及び立体モデル記憶部22を備えている。簡略モデル記憶部21は、簡略モデル生成部13により生成された簡略編構造モデルを記憶する。立体モデル記憶部22は、立体モデル生成部14により生成された立体編構造モデルを記憶する。
【0046】
入力部30は、図1に示す入力装置1から構成され、ユーザが編構造データを入力する際に使用される。表示部40は、図1に示す表示装置6から構成され、表示制御部16の制御の下、簡略編構造モデル及びレンダリングされた立体編構造モデルを表示する。
【0047】
次に、編構造モデル生成装置の動作について説明する。図3は、編構造モデル生成装置のメインルーチンを示すフローチャートである。まず、ステップS1において、入力部30が操作され、ユーザにより編構造データが入力されると(S1でYES)、編構造データ取得部11は、入力部30に入力された編構造データを取得する。一方、入力部30にユーザによる編構造データが入力されない場合(S1でNO)、処理がステップS1に戻される。
【0048】
図4は、編物の編構造を模式的に示した図であり、(a)はニットの編パターンのみから構成される編構造を示し、(b)は中央にウエルトの編パターンが配列された編構造を示し、(c)は中央にタックの編パターンが配列された編構造を示している。なお、(a)〜(c)において、上段の図は編構造の正面視の図を示し、下段の図は上段の2行目の糸の上面視からの図を示している。
【0049】
(a)に示す編構造では、1〜3列目に3個のループが形成された糸が、3行配列され、2行目及び3行目の各ループは、それぞれ、1行目及び2行目の各ループと連結されており、ニットの編パターンが3行×3列で配列されていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(a)の下段に示すように2行目の糸は、2列目のループに対応する領域が表面側に凸になっており、1列目及び3列目のループに対応する領域が裏面側に凸となっていることが分かる。
【0050】
また、(b)に示す編構造では、1〜3列目に3個のループが形成された糸が1行目及び3行目に配列され、1列目及び3列目に2個のループが形成された糸が2行目に配列され、3行2列目のループが、1行2列目のループと連結されており、ウエルトの編パターンが含まれていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(b)の下段に示すように、2行目の糸の1列目及び3列目のループに対応する領域は裏面側が閉じており、2列目のループに対応する領域が裏面に沿って平坦になっていることが分かる。
【0051】
また、(c)に示す編構造では、1〜3列目に3個のループが形成された糸が3行配列され、3行2列目及び2行2列目に形成されループが1行2列目に形成されたループと連結されており、タックの編パターンが含まれていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(c)の下段に示すように、3行目の糸は、1列目及び3列目のループに対応する領域は裏面側に凸となっており、2列目のループに対応する領域は表面側に凸となっていることが分かる。
【0052】
図5(a)〜(c)は、それぞれ、図4(a)〜(c)に対する編構造データを示す図である。図5(a)に示す編構造データは、図4(a)に示すように1列目及び3列目が裏面、2列目が表面を表し、ニットの編パターンが3行×3列で配列されているため、1列目と3列目に小文字の「k」の記号が配列され、2列目に大文字の「K」の記号が配列されている。また、図5(b)に示す編構造データは、図4(b)に示すように、1列目及び3列目が裏面、2列目が表面を表し、2行2列目にウエルトの編パターンが含まれているため、1列目及び3列目の各行に小文字の「k」が配列され、2列目の1〜3行目に「K,W,K」が配列されている。
【0053】
また、図5(c)に示す編構造データは、図4(c)に示すように、1列目及び3列目が裏面、2列目が表面を表しているため、1列目及び3列目の各行に小文字の「k」が配列され、2列目の1〜3行目に「K,T,K」が配列されている。なお、図4(a)〜(c)では、3行×3列の編構造データを示したが、これは一例にすぎず、編構造のサイズに応じて行数及び列数が適宜変更される。
【0054】
図3に示すステップS3において、ノード配列部12は、所定の平面内にノードを配列し、簡略モデル生成部13は、配列されたノードを接続し、後述する簡略編構造モデルの生成処理を実行し、簡略編構造モデルを生成する。
【0055】
ステップS4において、表示制御部16は、簡略モデル生成部13により生成された編構造モデルを表示部40に表示させる。ステップS5において、入力部30に、ユーザによる立体編構造モデルの生成を指示する入力がなされた場合(S5でYES)、立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルから立体編構造モデルを生成する(S6)。一方、ステップS5において、入力部30が、ユーザによる立体編構造モデルの生成の指示を受け付けなかった場合(S5でNO)、処理がステップS5に戻される。
【0056】
ここで、表示制御部16は、簡略モデル生成部13により過去に生成された簡略編構造モデルを指定するユーザからの入力が、入力部30になされた場合、指定された簡略編構造モデルを簡略モデル記憶部21から読み出し、表示部40に表示してもよい。
【0057】
ステップS7において、レンダリング部15は、ステップS6で生成された立体編構造モデルにレンダリングを施し、表示制御部16は、レンダリングされた立体編構造モデルを表示部40に表示させる(S8)。ここで、表示制御部16は、立体モデル生成部14により過去に生成された立体編構造モデルを指定するユーザからの入力が、入力部30になされた場合、指定された立体編構造モデルを立体モデル記憶部22から読み出し、表示部40に表示してもよい。
【0058】
図6は、図3のステップS3に示す簡略編構造モデルの生成処理を示すフローチャートである。まず、ノード配列部12は、編構造データ取得部11により取得された編構造データに従って、仮想3次元空間内のXY平面内にノードを格子状に配列する。図7は、編構造データが3行×3列のである場合において、XY平面内に配列されたノードを示した図である。
【0059】
ノード配列部12は、編パターンを表す一つの記号に対して4個のノードを割り当てる。各記号に割り当てられた4つのノードのうち、左上のノードを第1のノードN1、右上のノードを第2のノードN2、左下のノードを第3のノードN3、右下のノードを第4のノードN4とする。また、ノード配列部12は、ある記号に対して割り当てた第3のノードN3と第4のノードN4とが、それぞれ、その記号の下側に隣接する記号に対して割り当てた第1のノードN1と第2のノードN2と共有されるように、各ノードを配列する。例えば、図7に示すように、1行1列目の記号に対して割り当てられた第3のノードN3及び第4のノードN4は、それぞれ、2行1列目の記号に対して割り当てられた第1のノードN1と第2のノードN2と共有される。従って、ノード配列部12は、編構造データ取得部11に取得された編構造データが、例えば3行×3列の記号から構成される場合、図7に示すように、4つのノードを縦方向に配列し、編構造データの列数である3を2倍した6つのノードを横方向に配列し、合計24個のノードをXY平面内に配列する。なお、図7では、縦方向に4つのノードが配列されているが、上端のノードは下端のノードと共有されているため、実際には、縦方向には3つのノードが配列されている。
【0060】
図6に示すステップS12において、簡略モデル生成部13は、縦方向に隣接するノード同士を第1のエッジを用いて接続すると共に、横方向に隣接するノード同士を第1のエッジを用いて接続する。ここで、第1のエッジは、ノードを編物の質点としたときに、各ノードに作用する応力を算出する際に使用される第1の弾性定数と対応付けられている。また、後述する第2のエッジは、第1の弾性定数よりも小さな第2の弾性定数と対応付けられている。
【0061】
図8は、ノード同士が接続された状態を示す図である。図8に示すように、横方向に隣接するノード同士及び縦方向に隣接するノード同士が、第1のエッジE1により接続されていることが分かる。なお、上端、下端、左端、及び右端に配列されたノードは、2本又は3本の第1のエッジE1が接続されていることが分かる。一方、内部に存在するノードは4本の第1のエッジE1が接続されていることが分かる。
【0062】
図6に示すステップS13において、簡略モデル生成部13は、上端及び下端に位置するノード同士を接続すると共に、左端及び右端に位置するノード同士を接続し、簡略編構造モデルをトーラス状にする。図9〜図11はステップS13の処理を説明する図である。
【0063】
図9に示すように、簡略モデル生成部13は、左端に位置するノードNL1〜NL4を、それぞれ、同じ行に位置する右端のノードNR1〜NR4に第1のエッジE1で接続し、上端に位置するノードNU1〜NU10を、それぞれ、同じ列に位置する下端のノードND1〜ND10に第1のエッジE1で接続する。
【0064】
これにより、例えば、図10に示すような簡略編構造モデルを一つの編構造ユニットとして、この編構造ユニットがマトリックス状に複数配列されたような簡略編構造モデルを生成する場合、この簡略編構造モデルの全領域に亘ってノードを配列しなくとも、編構造ユニットの領域にのみノードを配列するだけで、全領域を表すことが可能となり、簡略編構造モデルのデータ量を大幅に少なくすることができる。これは、図11(a)に示す矩形状の平面の上辺と下辺とを接続すると共に、左辺と右辺とを接続して、この平面を図11(b)に示すトーラス状に変形することに例えることができる。
【0065】
ステップS14において、簡略モデル生成部13は、編構造データ取得部11により取得された編構造データにニットの編パターンのみが含まれ、ウエルト及びタックの編パターンが含まれていない場合は(S14でYES)、当該編構造データに対する簡略編構造モデルが完成しているため、処理を終了する。一方、編構造データにニット以外のウエルト又はタックの編パターンが含まれている場合(S14でNO)、処理をステップS15に進める。
【0066】
ステップS15において、簡略モデル生成部13は、編構造データにタックの編パターンが含まれている場合(S15でYES)、XY平面内に配列されたノードに対して後述するタック処理を実行する(S16)。これによりタックの編パターンを有する簡略編構造モデルが生成される。一方、ステップS15において、タックの編パターンが含まれていない場合(S15でNO)、処理がステップS17に進められる。
【0067】
ステップS17において、簡略モデル生成部13は、編構造データにウエルトの編パターンが含まれている場合(S17でYES)、後述するウエルト処理を実行する(S18)。これにより、ウエルトの編パターンを有する簡略編構造モデルが生成される。一方、ステップS17において、ウエルトの編パターンが含まれていない場合(S17でNO)、ウエルト処理をスルーして処理が終了される。
【0068】
図12は、図6のステップS16に示すタック処理の詳細を示すフローチャートである。ステップS21において、簡略モデル生成部13は、編構造データを構成するタックのうち1のタックを示す注目タックに対して割り当てられた第3のノードN3と第4のノードN4とを削除すると共に、第3のノードN3と第4のノードN4との各々に接続される第1のエッジE1を削除する。
【0069】
図13は、ステップS21の処理を説明する図である。図13に示すように、注目タックTに対して割り当てられた第3のノードN3と第4のノードN4とが削除されると共に、第3のノードN3に接続された4本の第1のエッジE1が削除され、第4のノードN4に接続された4本の第1のエッジE1が削除されていることが分かる。
【0070】
次に、簡略モデル生成部13は、図14に示すように、注目タックTに対して割り当てられた第1のノードN1と、タックTの下側に隣接する下ニットKに対して割り当てられた第3のノードN3とを第1のエッジE1で接続すると共に(S22)、注目タックTに対して割り当てられた第2のノードN2と、下ニットKに対して割り当てられた第4のノードN4とを第1のエッジE1で接続する(S23)。
【0071】
次に、簡略モデル生成部13は、図14に示すように、注目タックTの左側に隣接するに左ニットkの第4のノードN4と、注目タックTの第1のノードN1とを第1のエッジE1で接続すると共に(S24)、注目タックTの右側に隣接する右ニットkの第3のノードN3と、注目タックTの第2のノードN2とを第1のエッジE1で接続する(S25)。これにより、図14に示す注目タックTの編パターンを含む簡略編構造モデルが生成される。なお、簡略モデル生成部13は、編構造データに含まれる各タックの記号を注目タックとして上記処理を繰り返し実行する。
【0072】
図15は、図6のステップS18に示すウエルト処理の詳細を示すフローチャートである。図16〜図18は、ウエルト処理を説明する図である。以下、図16〜図18を参照しつつ、ウエルト処理について説明する。まず、ステップS31において、簡略モデル生成部13は、図16に示すように、編構造データを構成するウエルトのうち、1のウエルトを示す注目ウエルトWに割り当てられた第1のノードN1と第3のノードN3とを接続する第1のエッジE1を削除し(S31)、注目ウエルトWに割り当てられた第2のノードN2と第4のノードN4とを接続する第1のエッジE1を削除する(S32)。次に、簡略モデル生成部13は、注目ウエルトWの下側に隣接する下ニットKに割り当てられた第1のノードN1と第3のノードN3とを接続する第1のエッジE1を削除し(S33)、下ニットKに割り当てられた第2のノードN2と第4のノードN4とを接続する第1のエッジE1を削除する(S34)。
【0073】
次に、簡略モデル生成部13は、図17に示すように、注目ウエルトWに割り当てられた第1のノードN1と、下側に隣接する下ニットKに割り当てられた第3のノードN3とを第1のエッジE1で接続し(S35)、注目ウエルトWに割り当てられた第2のノードN2と、下側に隣接する下ニットKに割り当てられた第4のノードN4とを第1のエッジE1を用いて接続する(S36)。
【0074】
なお、図17及び図18では、視認性を高めるために、注目ウエルトWの第3のノードN3と第4のノードN4との間隔を広く表示しているが、実際には、注目ウエルトWの第3のノードN3と第4のノードN4との間隔は、図16に示す間隔と同じである。
【0075】
次に、簡略モデル生成部13は、図18に示すように、注目ウエルトWに割り当てられた第1のノードN1と第3のノードN3とを第2のエッジE2で接続すると共に、注目ウエルトWに割り当てられた第2のノードN2と第4のノードN4とを第2のエッジE2で接続する(S38)。
【0076】
次に、簡略モデル生成部13は、図18に示すように、下ニットKに割り当てられた第1のノードN1と第3のノードN3とを第2のエッジE2で接続し、下ニットKに割り当てられた第2のノードN2と第4のノードN4とを第2のエッジE2で接続する(S39)。簡略モデル生成部13は、編構造データを構成する各ウエルトを注目ウエルトとして上記処理を実行する。
【0077】
次に、図3のステップS6に示す立体編構造モデルの生成処理について説明する。図19は、立体編構造モデルの生成処理を示すフローチャートである。まず、ステップS41において、立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルをXY平面に配置し、各ノードを所定の初期位置に移動させる。図20は、仮想3次元空間内に配置された3行×3列のニットの編パターンのみからなる簡略編構造モデルを示した図である。図20に示すように、仮想3次元空間には、互いに直交するx、y、z軸が設定され、簡略編構造モデルは、XY平面上に配置される。また、図20において、左から1列目、2列目、5列目、6列目に配置されたノードは、裏面のノードを示し、左から3列目、4列目に配列されたノードは、表面のノードを示している。そして、裏面の各ノードは、−z方向に一定距離スライドされ、表面の各ノードは+z方向に一定距離スライドされることで、所定の初期位置に移動される。ここで、裏面の各ノードのスライド量と表面の各ノードのスライド量とは同一にしてもよいし、異なる値にしてもよい。
【0078】
図21は、ウエルトWのノードに対する初期位置への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。図21(a)、(b)に示すように、ウエルトWの第3のノードN3及び第4のノードN4は、Z方向にスライドされないため、XY平面上に位置していることが分かる。また、ウエルトWの第1のノードN1及びN2は、表面のノードであるため、Z方向に一定距離スライドされている。また、左側に隣接するニットKの第4のノードN4と右側に隣接するニットKの第3のノードN3とは、裏面のノードであるため、−z方向に一定距離スライドされていることが分かる。
【0079】
図22は、タックTのノードに対する初期値への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。図22(a)、(b)に示すように、タックTの第1のノードN1及び第2のノードN2は、表面のノードであり、z方向へ所定距離スライドされ、左側に隣接するニットKの第4のノードN4は裏面のノードであり、−z方向へ所定距離スライドされ、右側に隣接するニットKの第3のノードN3は裏面のノードであり、−z方向に所定距離スライドされていることが分かる。そのため、タックTの断面視からの形状は、ニットKの断面視からの形状と同様に山状になる。
【0080】
図19に示すステップS42において、立体モデル生成部14は、ウエルトWの第3のノードN3及び第4のノードN4に作用する外力を算出する。図23は、ステップS42〜S47の処理がある程度繰り返し実行されたときの、ウエルトWの近傍のノードの斜視図を示している。
【0081】
ここで、立体モデル生成部14は、図23に示すように、ウエルトWの第1のノードN1及び第2のノードN2と、ウエルトWの下側に隣接するニットKの第3のノードN3及び第4のノードN4とによって構成される矩形面と、第3のノードN3との距離を、第3のノードN3と立体編構造モデルの表面との距離として算出する。次に、立体モデル生成部14は、前記矩形面と、第4のノードN4との距離を、第4のノードN4と立体編構造モデルの表面との距離として算出する。
【0082】
次に、立体モデル生成部14は、ウエルトWの左側に隣接するニットKの第2のノードN2及び第4のノードN4と、ウエルトWの右側に隣接するニットKの第1のノードN1及び第3のノードN3とによって構成される矩形面と、第3のノードN3との距離を、第3のノードN3と立体編構造モデルの裏面との距離として算出する。次に、立体モデル生成部14は、第4のノードN4と、前記矩形面との距離を、第4のノードN4と立体編構造モデルの裏面との距離として算出する。
【0083】
ステップS43において、立体モデル生成部14は、ステップS42で算出した距離を用いて、ウエルトWの第3のノードN3及びN4の各々に作用する外力を求める。図24は、ウエルトの第3のノードN3及び第4のノードN4に作用する外力を示すグラフであり、縦軸は外力を示し、横軸は距離を示している。図24に示すように、外力は、距離に反比例する関数によって規定されていることが分かる。すなわち、外力と距離との関係は、F=A/dによって表される。但し、Fは外力を示し、Aは定数を示し、dはウエルトWの第3のノードN3又はN4と、立体編構造モデルの表面又は裏面との距離を示す。
【0084】
ここで、外力を距離に反比例する関数によって規定したのは、ウエルトWの第3のノードN3と第4のノードN4とを接続する第1のエッジE1に相当する糸が、ウエルトWの第1のノードN1とウエルトWの下側のニットKの第3のノードN3とを接続する第1のエッジE1に相当する糸に接触することで生じる反発力を再現するためである。
【0085】
図25は、図24に示す立体編構造モデルの側面図を簡略化して示した図である。図25において、矩形状の枠の上辺は立体編構造モデルの表面を示し、下辺は立体編構造モデルの裏面を表し、枠内の中央に位置する円は、ウエルトWの第3のノードN3及び第4のノードN4を接続する第1のエッジE1を示している。ウエルトWの第3のノードN3及びN4は、F=A/dに示す関数による外力が与えられる結果、表面からf1の外力を受け、裏面からf2の外力を受けていることが分かる。
【0086】
図19に示すステップS44において、立体モデル生成部14は、式(1)〜(4)を用いて、第1のエッジE1又は第2のエッジE2によって接続されたノード間の距離を算出する。
【0087】
【数1】
【0088】
ここで、立体モデル生成部14は、図9に示すノードNi1やノードNi2のように、上端、下端、右端、左端の端部以外の内部に位置するノード同士に対しては、式(1)を用いて距離を算出する。但し、式(1)において、dijは、内部に位置するノードPi及びPj間の距離を示し、xi,yi,ziは、それぞれ、Piのx,y,z成分を示し、xj,yj,zjは、それぞれ、Pjのx,y,z成分を示している。
【0089】
また、立体モデル生成部14は、図9に示すノードNL2及びノードNR2のように左端及び右端のノード間の距離は、式(2)又は(3)を用いて算出する。但し、xi>xjの場合は式(2)を用いて、ノード間の距離を算出し、xi≦xjの場合は式(3)を用いて、ノード間の距離を算出する。ここで、xi>xjの場合とは、図9において、Pjが左端に位置し、Piが右端に位置する場合が該当し、xi≦xjの場合とは、図9において、Pjが右端に位置し、Piが左端に位置する場合が該当する。wは簡略編構造モデルの左端のノードと、当該ノードに対して同じ行に位置する右端のノードと距離の初期値を示す。
【0090】
つまり、式(2)において、右辺の第1項がxi−xj−wとなっているが、これは、xi−(xj+w)と変形すれば分かるように、左端のノードPjのx方向の位置を簡略編構造モデルの横幅の初期値であるwを加算した位置に移動させ、移動後のノードと右端のノードxiとの距離とが、左端のノードと右端のノードとの距離として算出されていることを意味する。これにより、左端から右端へと跨って接続されたノード間の距離が、内部に位置する隣接するノード同士間の距離程度の大きさに修正されるため、より違和感なく立体編構造モデルを生成することができる。
【0091】
また、立体モデル生成部14は、図9に示すノードNU2,ND2のように、上端及び下端のノード間の距離の距離を式(4)又は(5)を用いて算出する。但し、yi>yjの場合は式(4)を用いて、ノード間の距離を算出し、yi≦yjの場合は式(5)を用いて、ノード間の距離を算出する。ここで、yi>yjの場合とは、図9において、Pjが上端に位置し、Piが下端に位置する場合が該当し、yi≦yjの場合とは、図9において、Pjが下端に位置し、Piが上端に位置する場合が該当する。
【0092】
【数2】
【0093】
但し、hは立体編構造モデルの右端のノードと、当該ノードに対して同じ列に位置する下端のノードとの距離の初期値(縦幅の初期値)を示す。
【0094】
つまり、式(4)において、右辺の第2項がyi−yj−hとなっているが、これは、yi−(yj+h)と変形すれば分かるように、上端のノードPjのy方向の位置を簡略編構造モデルの縦幅の初期値であるhを加算した位置に移動させ、移動後のノードと下端のノードPiとの距離とが、上端のノードと下端のノードとの距離として算出されていることを意味する。これにより、上端から下端へと跨って接続されたノード間の距離が内部に位置する隣接するノード同士間の距離程度に修正されるため、より違和感なく立体編構造モデルを生成することができる。
【0095】
更に、立体モデル生成部14は、図26(a)に示すように、右端にタックTの編パターンが存在する場合、同じ行の左端に位置するニットKを、右側に隣接するニットK´と考えて、タックTの第2のノードN2とニットK´の第3のノードN3とを第1のエッジE1´で接続する代わりに、(b)に示すようにタックTの第2のノードN2と左端のニットKの第3のノードN3とをタスキがけとなるように第1のエッジE1で接続する。
【0096】
この場合、立体モデル生成部14は、式(7)又は式(8)を用いて、図26(b)に示す左端に位置するニットKの第3のノードN3と、右端のタックTの第2のノードN2との距離を算出する。
【0097】
【数3】
【0098】
具体的には、左端のニットKの第3のノードN3がノードPjであり、右端のタックTの第2のノードN2がノードPiである場合、式(7)を用いてノードPi及びPj間の距離を算出し、左端のニットKのノードがPiであり、右端のタックTの第2のノードN2がPjである場合、式(8)を用いてノードPi及びPj間の距離を算出する。これにより、ノードPi及びPjが、内部に位置するノード間の距離程度に修正される結果、より違和感なく立体編構造モデルを生成することができる。
【0099】
更に、立体モデル生成部14は、図27(a)に示すように、左端にタックTの編パターンが存在する場合、同じ行の右端に位置するニットKを、同じ行の左側に隣接するニットK´と考えて、タックTの第1のノードN1とニットK´の第4のノードN4とを第1のエッジE1´で接続する代わりに、(b)に示すようにタックTの第1のノードN1とニットKの第4のノードN4とをタスキがけとなるように第1のエッジE1で接続する。
【0100】
この場合、立体モデル生成部14は、式(6)又は式(9)を用いて、図27(b)に示す右端に位置するニットKの第4のノードN4と、右端のタックTの第1のノードN1との距離を算出する。具体的には、左端のタックTの第1のノードN1がノードPjであり、右端のニットKの第4のノードN4がノードPiである場合、式(6)を用いてノードPi及びPj間の距離を算出し、左端のタックTの第1のノードN1がノードPiであり、右端のニットKの第4のノードN4がノードPjであり場合、式(9)を用いてノードPi及びPj間の距離を算出する。これにより、ノードPi及びPjが、内部に位置するノード間の距離程度に修正される結果、より違和感なく立体編構造モデルを生成することができる。
【0101】
図19に示すステップS45において、立体モデル生成部14は、ステップS44で算出した各ノード間の距離を用いて、各ノードに作用する応力を算出する。ここで、立体モデル生成部14は、式(10)の右辺の第2項と第3項とを応力として算出する。具体的には、図28に示すように、ノードPiに対して4つのノードP1〜P4が接続され、Pi及びP1,P2,P3間が第1のエッジE1で接続され、Pi及びP4が第2のエッジE2で接続されていたとすると、式(10)の第3項は、式(11)と表される。
【0102】
【数4】
【0103】
但し、Piは、運動方程式が適用されるノードを示し、PjはPiに接続された他のノードを示し、miは、ノードPiの質量を示し、ciはノードPiの粘性抵抗を示し、kijは粘弾性定数を示し、viはノードPiの速度を示す。また、Pi,Pj,vi,fiはx,y,zの3成分からなるベクトルを示す。
【0104】
【数5】
【0105】
ここで、ノードP1〜P3はノードPiに対して第1のエッジE1で接続されているため、ki1,ki2,ki3は、第1の弾性定数を表し、ノードP4はノードPiに対して第2のエッジE2で接続されているため、ki4は、第1の弾性定数よりも小さな第2の弾性定数によって表される。なお、第1の弾性定数は第1のエッジE1に対応付けられ、第2の弾性定数は第2のエッジE2に対応付けられている。
【0106】
また、立体モデル生成部14は、式(10)の運動方程式を解くことで得られるノードPiの速度viに粘性抵抗ciを乗じることで、式(10)の第4項を算出する。ここで、粘性抵抗ciは、全ノードに対して同じ値を採用しても良いし、ノードに第1のエッジ及び第2のエッジが各々何本接続されているかに応じて変更してもよい。
【0107】
図19に示すステップS46において、立体モデル生成部14は、各ノードPiに対して成立する式(10)に示す運動方程式を解くことで、各ノードPiの位置及び速度を算出する。式(10)の左辺に示すfiは、ステップS43で算出された各ノードPiに作用する外力を示す。miは、編物の質点の質量を示す。なお、miの値は、全ノードに対して同じ値を採用してもよいし、異なる値を採用してもよい。また、miの値は、編物の種類及びその編物をノードで表す際の編物のサイズとノードの個数との関係から予め定められた値が採用される。
【0108】
実際には、立体モデル生成部14は、式(10)に示す運動方程式の差分方程式を表す式(12)を用いて、各ノードの運動方程式を解く。
【0109】
【数6】
【0110】
但し、tは時間を示し、Δtは、時間の刻み幅を示す。
【0111】
ステップS47において、立体モデル生成部14は、式(12)に示す運動方程式の解が所定範囲内に収束したか否かを判定し、収束したと判定した場合(S47でYES)、処理をステップS48に進め、収束していないと判定した場合(S47でNO)、処理がステップS42に戻される。すなわち、式(12)に示す運動方程式の解が収束するまで、当該運動方程式が繰り返し計算されることになる。ここで、運動方程式の解が収束するとは、式(12)に示す各ノードの位置を示すPi又は速度を示すviに関して、最新の解と前回算出した解との差が所定の値よりも小さくなった場合が該当する。また、運動方程式の計算回数が予め定められた回数に到達したとき、解が収束したと判定してもよい。
【0112】
ステップS48において、立体モデル生成部14は、各ノードに接続されたエッジに従って、立体編構造モデルに糸を設定するための円を設定する。具体的には、図29に示すように、ノードPiに接続されたエッジEA,EBに相当する糸を設定する場合は、円周がノードPiを通り、かつ、中心O1がエッジEA及びEB側に位置するように所定半径の円C1を設定する。また、ノードPjに接続されたエッジEA及びECに相当する糸を設定する場合、ノードPjを通り、かつ、中心O2がエッジEA及びEC側に位置するように所定半径の円C2を設定する。ここで、円C1,C2の半径は糸の物性に応じて予め定められた値が採用され、ノード毎に異なる値を採用してもよいし、同じ値を採用してもよい。
【0113】
ステップS49において、立体モデル生成部14は、各ノードに設定した円に対して当該円よりも半径の大きな円を同心円状に設定する。具体的には、図30に示すように、ノードPiに設定された円C1よりも半径が大きな円C3を同心円状に設定すると共に、ノードPjに設定された円C2よりも半径が大きな円C4を同心円状に設定する。
【0114】
図19に示すステップS50において、立体モデル生成部14は、各ノードに設定した2つの円同士を滑らかに繋ぐような2本の線を糸経路として設定する。具体的には、図30に示すように、円C1と円C4とを滑らかに繋ぐような糸経路PL(k)を設定すると共に、円C3と円C2とを滑らかに繋ぐような糸経路PR(k)を設定する。ここで、円C3,C4の半径は、PR(k)とPL(k)との間隔が糸の種類に応じて定められる糸の太さとなるような値が採用される。なお、kは、糸経路を表すための媒介変数であり、−π<k≦πを定義域とする。
【0115】
ステップS51において、立体モデル生成部14は、設定した2本の糸経路を平滑化する処理を行う。ここで、立体モデル生成部14は、設定した糸経路を表す関数(原関数)に対してフーリエ級数展開を施したときの1次の項を算出し、原関数から算出した1次の項を減じた関数を低次(例えば3次の項)の項までフーリエ級数展開することで、原関数を平滑化する。なお、立体モデル生成部14は、原関数をx,y,zの3成分に分け、各成分に対して上記する処理を実行する。
【0116】
原関数のx成分をx(k)として表し、x成分を例に挙げて説明すると、立体モデル生成部14は、x(k)をフーリエ級数展開したときの1次の項であるx1(t)を算出する。但し、x1(k)=((x(π)−x(−π))/2π)・k+x(−π)である。次に、x(k)−x1(k)を低次の項までフーリエ級数展開した後、1次の項を加算する。以上により、x(k)が平滑化される。
【0117】
一般に、連続した3次元の線を関数で表した場合、y,z成分はy(−π)=y(π)、z(−π)=z(π)となり、境界で連続となるが、x成分はx(−π)≠x(π)となり境界で不連続になってしまう。そこで、本編構造モデル生成装置では、x(k)−x1(k)に対してフーリエ級数展開を行った後、1次の項を加算することで、x成分を連続にしている。
【0118】
図19に示すステップS52において、立体モデル生成部14は、平滑化した2本の糸経路の端点同士を繋ぐ直線を直径とする円を糸断面として求める。具体的には、図31に示すように、2本のうちの一方の糸経路上のある点を示すPL(k)と、kを同一とする他方の糸経路状のある点を示すPR(k)とを直径とする円を糸断面として求める。そして、kの値を一定の刻み幅Δkで変化させ、複数の糸断面を算出し、糸断面列を生成する。
【0119】
ここで、糸断面の円周上の1点を示すP(k)は、式(13)によって表される。
【0120】
【数7】
【0121】
但し、第1項の(PL(k)−PR(k))/2は、図31に示すように糸断面の半径を示す基底ベクトルAである。第2項の(PL(k)−PR(k))´/(PL(k)−PR(k))は、直径方向の単位ベクトルのkに関する微分値であり、糸方向を示すベクトルCを示す。第2項のsinθの係数は、ベクトルCと基底ベクトルAとの外積を示し、糸断面上にある基底ベクトルBを示す。θは、糸断面の円周を基底ベクトルA及びBを用いて表すための変数である。第3項の(PL(k)+PR(k))/2は、糸断面の中心Oを示す。
【0122】
図19に示すステップS53において、立体モデル生成部14は、糸断面列の円周間をポリゴンで接続し、糸の周面を立体編構造モデルに設定する。
【0123】
図32は、立体モデル生成部14によって生成された立体編構造モデルのレンダリング結果を示した図である。図32に示すように、無数の糸が編パターンに従って編成されていることが分かる。
【0124】
図33は、図32に示す編構造モデルを縮小表示したときの立体編構造モデルを示した図である。図33に示すように、上述した処理を実行することによってリアルな立体編構造モデルが生成されていることが分かる。また、図34はタックの編パターンを含む立体編構造モデルのレンダリング結果を示した図である。図34に示すようにタックの編パターンでは、第1のノードN1と第2のノードN2とに2本の糸が連結されているため、矢印で示すように第1のノードN1と第2のノードN2との幅が狭まるような力が作用する結果、多くの孔が生じたような立体編構造モデルが生成されていることが分かる。
【0125】
以上説明したように、本編構造モデル生成装置によれば、糸の編構造データが取得され、この編構造データに従って、XY平面内に配列されたノードが、糸に相当するエッジにより接続され、簡略編構造モデルが生成され、表示部40に表示される。
【0126】
これにより、エッジとノードとによって、編構造データが表現された簡略編構造モデルが得られるため、この編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【0127】
また、各ノードに対して、接続されるエッジの種類に応じた応力が作用されると共に、所定の外力が与えられ、各ノードを編物の質点としたときの各ノードの運動方程式を解くことにより、編物の立体編構造モデルが生成されるため、編物の力学的特性が加味された立体編構造モデルを得ることができる。
【0128】
なお、上記実施の形態では、簡略編構造モデルを表示部40に表示させたが、これに限定されず、プリンタ等の出力手段を用いて、記録紙に印刷させてもよい。また、上記実施の形態では、両面編みの編物を採用したが、これに限定されず、片面編みの編み物に本発明を適用してもよい。
【0129】
また、上記実施の形態では、図13等において、下ニットKは注目タックTに隣接するものとして説明したが、隣接していないニットであっても、注目タックTと同一列、かつ下側に位置するニットを下ニットとして採用してもよい。
【図面の簡単な説明】
【0130】
【図1】本発明の実施の形態による編構造モデル生成装置のハードウェア構成を示すブロック図である。
【図2】編構造モデル生成装置の機能ブロック図を示している。
【図3】編構造モデル生成装置のメインルーチンを示すフローチャートである。
【図4】編物の編構造を模式的に示した図であり、(a)はニットの編パターンのみから構成される編構造を示し、(b)は中央にウエルトの編パターンが配列された編構造を示し、(c)は中央にタックの編パターンが配列された編構造を示している。
【図5】(a)〜(c)は、それぞれ、図4(a)〜(c)に対する編構造データを示す図である。
【図6】図3のステップS3に示す簡略編構造モデルの生成処理を示すフローチャートである。
【図7】編構造データが3行×3列である場合において、XY平面内に配列されたノードを示した図である。
【図8】ノード同士が接続された状態を示す図である。
【図9】ステップS13の処理を説明する図である。
【図10】ステップS13の処理を説明する図である。
【図11】ステップS13の処理を説明する図である。
【図12】ステップS16に示すタック処理の詳細を示すフローチャートである。
【図13】ステップS21の処理を説明する図である。
【図14】タック処理を説明する図である。
【図15】タック処理を説明する図である。
【図16】ウエルト処理を説明する図である。
【図17】ウエルト処理を説明する図である。
【図18】ウエルト処理を説明する図である。
【図19】立体編構造モデルの生成処理を示すフローチャートである。
【図20】仮想3次元空間内に配置された3行×3列のニットの編パターンのみからなる簡略編構造モデルを示した図である。
【図21】ウエルトのノードに対する初期位置への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。
【図22】タックのノードに対する初期値への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。
【図23】ステップS42〜S47の処理がある程度繰り返し実行されたときの、ウエルトの近傍のノードの斜視図を示している。
【図24】ウエルトの第3のノード及び第4ノードに作用する外力を示すグラフであり、縦軸は外力を示し、横軸は距離を示している。
【図25】図24に示す立体編構造モデルの側面図を簡略化して示した図である。
【図26】(a)(b)は右端にタックが存在する場合のノードの接続を示す図である。
【図27】(a)(b)は左端にタックが存在する場合のノードの接続を示す図である。
【図28】応力の算出を説明する図である。
【図29】ノードに設定された円を示す図である。
【図30】糸経路の設定を示す図である。
【図31】糸断面列の算出過程を説明する図である。
【図32】立体編構造モデルのレンダリング結果を示した図である。
【図33】図32に示す編構造モデルを縮小表示したときの立体編構造モデルを示した図である。
【図34】タックの編パターンを含む立体編構造モデルのレンダリング結果を示した図である。
【符号の説明】
【0131】
10 制御部
11 編構造データ取得部
12 ノード配列部
13 簡略モデル生成部
14 立体モデル生成部
15 レンダリング部
16 表示制御部
20 記憶部
21 簡略モデル記憶部
22 立体モデル記憶部
30 入力部
40 表示部
A,B 基底ベクトル
C1,C2 円
C3,C4 円
ci 粘性抵抗
E1〜E2 第1〜第2のエッジ
EA,EB エッジ
N1〜N4 第1〜第4のノード
PL 糸経路
PR 糸経路
K ニット
T タック
W ウエルト
【技術分野】
【0001】
本発明は、コンピュータ上に生成される仮想3次元空間内において編物の編構造モデルを生成する技術に関する。
【背景技術】
【0002】
編物はタック、ニット等の幾つかの編パターンを組み合わせることで構成されているため、各編パターンを表す記号を定め、この記号を配列することで、編物の構造を表すことが従来よりなされている。ここで、基本的な編パターンを表す記号として、例えば日本工業規格(JIS)により規格された編み目記号図が知られている。
【0003】
また、特許文献1では、予めモジュール化された編み目の画像をライブラリから選択して2次元の画像を生成し、この2次元の画像を1つのレイヤーとし、複数のレイヤーを積層させて編物のシミュレーションを行う技術が開示されている。
【特許文献1】WO2003−032204号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、編み目記号からどのような編物が編成されるかを推定することは、かなりの経験と知識が必要であり、編物の熟練者でなければこのような推定を行うことは困難である。また、特許文献1では、予めモジュール化された編み目の画像をライブラリから選択されているにすぎず、糸1本1本にかかる物理的特性を加味したシミュレーションがなされていないため、リアルな編構造モデルを生成することはできない。
【0005】
本発明の目的は、編物を構成する糸の編パターンが、所定の記号によって表された編構造データから、どのような編物が編成されるかを容易に推定することができる編構造モデルを生成する編構造モデル生成プログラム、編構造モデル生成装置、及び編構造モデル生成方法を提供することである。
【課題を解決するための手段】
【0006】
本発明による編構造モデル生成プログラムは、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする。
【0007】
この構成によれば、編パターンを所定の記号により表した編構造データが取得され、この編構造データに従って、仮想3次元空間の所定の平面内に配列されたノードが、糸に相当するエッジにより接続され、簡略編構造モデルが生成される。
【0008】
これにより、エッジとノードとによって、編構造データが表現された簡略編構造モデルが得られるため、この簡略編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【0009】
また、上記構成において、前記編構造データは、前記編パターンに応じた記号がマトリックス状に配列されたデータ構造を有し、前記ノード配列手段は、格子状に隣接する4つノードを各記号に割り当て、各記号に割り当てられた4つのノードは、左上に位置する第1のノードと、右上に位置する第2のノードと、左下に位置する第3のノードと、右下に位置する第4のノードとを含み、前記編構造データを構成する編パターンを示す記号のうち、注目する1の記号である注目記号に割り当てられた前記第3及び第4のノードは、当該注目記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されていることが好ましい。
【0010】
この構成によれば、各記号には、格子状に隣接する左上、右上、左下、及び右下に位置する第1〜第4のノードが割り当てられる。ここで、ある記号に割り当てられた第3及び第4のノードは当該記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されるように、各ノードが配列される。そのため、ノードに例えば2本のエッジが接続されている場合、このノードに対し、2本の糸が連結されていることを表すことができる。
【0011】
また、上記構成において、編構造データは、ニットの編パターンを含み、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を、エッジで接続することで、簡略編構造モデルを生成することが好ましい。
【0012】
この構成によれば、ニットの編パターンを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0013】
また、上記構成において、前記編構造データは、ニットとタックとの編パターンを含み、前記編構造データを構成する編パターンのうち、注目する1のタック記号である注目タック記号の左側にはニットの編パターンを示す左ニット記号が隣接し、前記注目タックの記号の右側にはニットの編パターンを示す右ニット記号が隣接し、前記注目タック記号の下側にはニットの編パターンを示す下ニット記号が存在し、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士をエッジで接続し、前記注目タック記号に割り当てられた第3及び第4のノード及び第3及び第4のノードに接続されているエッジを削除し、前記注目タック記号に割り当てられた第1のノードと第2のノードとを2本のエッジで接続し、前記注目タック記号に割り当てられた第1のノードと、前記下ニットの記号に割り当てられた第3のノードとを前記エッジで接続すると共に、前記注目タックの記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとをエッジで接続し、前記左ニット記号に割り当てられた第4のノードと、前記注目タックに記号に割り当てられた第1のノードとをエッジで接続し、前記右ニット記号に割り当てられた第3のノードと、前記注目タック記号に割り当てられた第2のノードとをエッジで接続し、各タックの記号を注目タック記号として上記処理を実行することが好ましい。
【0014】
この構成によれば、タックの編パターンとニットの編パターンとを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0015】
また、上記構成において、前記エッジは、各ノードに作用する第1の応力を示す第1のエッジと、前記第1の応力よりも弱い第2の応力を示す第2のエッジとを含み、前記編構造データは、ニットとウエルトとの編パターンを含み、前記編構造データを構成する記号のうち、注目する1のウエルト記号である注目ウエルト記号の下側にはニットの編パターンを示す下ニット記号が隣接し、前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を第1のエッジで接続し、前記注目ウエルト記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除すると共に、前記下ニット記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除し、前記注目ウエルト記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、前記下ニット記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記下ニット記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、前記注目ウエルト記号に割り当てられた第1のノードと、前記下ニット記号に割り当てられた第3のノードとを第1のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとを第1のエッジで接続し、各ウエルト記号を前記注目ウエルト記号として上記処理を実行することが好ましい。
【0016】
この構成によれば、ニットの編みパターンとウエルトの編パターンとを含む編物の編構造を容易に推定し得る簡略編構造モデルを生成することができる。
【0017】
また、上記構成において、前記簡略モデル生成手段は、左端に位置するノードの各々を、同一行の右端に位置するノードに接続すると共に、上端に位置するノードの各々を、同一列の下端に位置するノードに接続することで、簡略編構造モデルを生成することが好ましい。
【0018】
この構成よれば、一定の編パターンから構成される編構造が繰り返し結合された編物において、全領域のデータを保持しなくとも、一定の編パターンから構成される編構造モデルに対するデータを保持するだけで、編構造モデルのデータを保持することができる。
【0019】
また、本発明による編構造モデル生成プログラムは、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることを特徴とする。
【0020】
また、上記構成において、前記ノードは編物の質点を示し、前記エッジは、質点に作用する応力を示し、前記簡略モデル生成手段により生成された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることが好ましい。
【0021】
これらの構成によれば、各ノードに対して、接続されるエッジの種類に応じた応力が作用されると共に、所定の外力が与えられ、各ノードを編物の質点としたときの各ノードの運動方程式を解くことにより、編物の立体編構造モデルが生成されるため、編物の力学的特性が加味された立体編構造モデルを得ることができる。ここで、所定の外力は、ノードの配列面と交差するような方向であるため、ノードは配列面と交差する方向に移動されやすくなり、糸の編パターンをより立体的に表すことができる。
【0022】
また、上記構成において、前記編物は、表面及び裏面からなる両面編みの編物であり、前記立体モデル生成手段は、ウエルトの記号に割り当てられた第3及び第4のノードの各々に対し、表面との距離及び裏面との距離に反比例する反発力を、前記外力として作用させることが好ましい。
【0023】
この構成によれば、ウエルトの編パターンにおいて、交差する糸同士の反発力が加味された立体編構造モデルを生成することができる。
【0024】
また、上記構成において、前記立体モデル生成手段は、各ノードに半径の異なる2つの円を同心円状に設定し、ある注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続された他のノードに設定した2つの円とを滑らかに結ぶような2本の線を糸経路として設定することが好ましい。
【0025】
この構成によれば、各ノードに半径の異なる2つの円が同心円状に設定され、注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続されたノードに設定した2つの円とを滑らかに結ぶような線が糸経路として設定されるため、各ノードにおいて糸が滑らかに屈曲するような立体編構造モデルを生成することができる。
【0026】
また、上記構成において、前記立体モデル生成手段は、前記立体モデル生成手段は、前記糸経路を表す原関数に対してフーリエ級数展開を実行したときの1次の項を前記原関数から差し引き、差し引いた関数を所定の低次の項までフーリエ級数展開した後、前記1次の項を加算することで、前記糸経路を平滑化することが好ましい。
【0027】
この構成によれば、1次の項を原関数から差し引き、差し引いた関数に対して低次の項までのフーリエ級数展開がなされた後、1次の項が加算されているため、連続性を維持しつつ、より滑らかな糸を立体編構造モデルに設定することができる。
【0028】
本発明による編構造モデル生成装置は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする。
【0029】
また、本発明による編構造モデル生成方法は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、コンピュータが、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得し、コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列し、コンピュータが、取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、ノード同士の接続関係を表すエッジによって接続し、簡略編構造モデルを生成することを特徴とする。
【0030】
本発明による編構造モデル生成装置は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする。
【0031】
本発明による編構造モデル生成方法は、仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、コンピュータが、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする。
【発明の効果】
【0032】
本発明によれば、エッジとノードとによって、編構造データが表現された編構造モデルが得られるため、この編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【発明を実施するための最良の形態】
【0033】
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本発明の実施の形態による編構造モデル生成装置のハードウェア構成を示すブロック図である。編構造モデル生成装置は、通常のコンピュータ等から構成され、入力装置1、ROM(リードオンリメモリ)2、CPU(中央演算処理装置)3、RAM(ランダムアクセスメモリ)4、外部記憶装置5、表示装置6、及び記録媒体駆動装置7を備える。各ブロックは内部のバスに接続され、このバスを介して種々のデータ等が入出され、CPU3の制御の下、種々の処理が実行される。
【0034】
入力装置1は、キーボード、マウス等から構成され、ユーザが種々のデータを入力するために使用される。ROM2には、BIOS(Basic Input/Output System)等のシステ
ムプログラムが記憶される。外部記憶装置5は、ハードディスクドライブ等から構成され、所定のOS(Operating System)及び編構造モデル生成プログラム等が記憶される。CPU3は、外部記憶装置5から編構造モデル生成プログラム等を読み出し、各ブロックの動作を制御する。RAM4は、CPU3の作業領域等として用いられる。
【0035】
表示装置6は、液晶表示装置等から構成され、CPU3の制御の下に種々の画像を表示する。記録媒体駆動装置7は、CD−ROMドライブ、フレキシブルディスクドライブ等から構成される。
【0036】
なお、編構造モデル生成プログラムは、CD−ROM等のコンピュータ読み取り可能な記録媒体8に格納されて市場に流通される。ユーザはこの記録媒体8を記録媒体駆動装置7に読み込ませることで、編構造モデル生成プログラムをコンピュータにインストールする。また、編構造モデル生成プログラムをインターネット上のサーバに格納し、このサーバからダウンロードすることで、編構造モデル生成プログラムをコンピュータにインストールしてもよい。
【0037】
図2は、本編構造モデル生成装置の機能ブロック図を示している。編構造モデル生成装置は、制御部10、記憶部20、入力部30、及び表示部40を備えている。制御部10は、CPU3等から構成され、編構造データ取得部11、ノード配列部12、簡略モデル生成部13、立体モデル生成部14、レンダリング部15、及び表示制御部16の機能を備えている。これらの機能は、CPU3が編構造モデル生成プログラムを実行することで実現される。
【0038】
編構造データ取得部11は、ユーザが入力部30を操作することで入力した、編構造データを取得する。ここで、編構造データとは、編物の編構造を構成する編パターンに対して予め定められた記号が、所定行×所定列でマトリックス状に配列されたデータである。本実施の形態では、編物の編構造として、表面及び裏面からなる両面編みにより編成された編物の編構造が採用される。また、編パターンとしては、ニット、ウエルト、及びタックの3つのパターンが採用される。そして、表面に配置されるニット、ウエルト、及びタックの編パターンは、各々、「K」、「W」、及び「T」の記号で表され、裏面に配置されるニット、ウエルト、及びタックの編パターンは、各々、「k」、「w」、及び「t」の記号で表される。
【0039】
ノード配列部12は、編構造データ取得部11により取得された編構造データの行数及び列数に従って、仮想3次元空間内の所定の平面内に格子状にノードを配列する。ここで、ノードは、編パターンを構成する糸の連結点を示す。
【0040】
また、ノード配列部12は、編パターンを表す1つの記号に対して4個のノードが割り当てられるように所定の平面内にノードを配列する。ここで、ある記号に対して割り当てた4個のノードのうち、左上のノードを第1のノード、右上のノードを第2のノード、左下のノードを第3のノード、及び右下のノードを第4のノードと呼ぶことにする。
【0041】
更に、ノード配列部12は、ある記号に対して割り当てた第3及び第4のノードを、それぞれ、当該記号に隣接して下側に位置する記号に対して割り当てた第1及び第2のノードと共有させる。そのため、所定の平面内に配列されるノードの縦方向の個数は、編構造データの行数に一致し、ノードの横方向の個数は、編構造データの列数を2倍した値となる。なお、ノードの縦方向の個数がデータの行数に一致するのは、上端に位置する各ノードは、同一列の下端に位置するノードと共有されるためである。
【0042】
簡略モデル生成部13は、編パターン毎に予め定められたノードの結合規則に従って、ノード配列部12により配列された各ノードを、糸に相当するエッジを用いて接続し、簡略編構造モデルを生成する。なお、生成された簡略編構造モデルは、必要に応じて簡略モデル記憶部21に記憶される。
【0043】
立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルを構成する各ノードを編物の質点とし、各ノードに対して所定の外力を作用させると共に、各ノードの接続関係から各ノードに作用する応力を求め、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する。なお、生成された立体編構造モデルは必要に応じて、立体モデル記憶部22に記憶される。
【0044】
レンダリング部15は、立体モデル生成部14により生成された立体編構造モデル、又は立体モデル記憶部22に記憶された立体編構造モデルをレンダリングする。表示制御部16は、簡略モデル生成部13により生成された簡略編構造モデル又は簡略モデル記憶部21に記憶された簡略編構造モデルを表示部40に表示させる。また、表示制御部16は、レンダリング部15によりレンダリングされた立体編構造モデルを表示部40に表示させる。
【0045】
記憶部20は、図1に示す外部記憶装置5等から構成され、簡略モデル記憶部21及び立体モデル記憶部22を備えている。簡略モデル記憶部21は、簡略モデル生成部13により生成された簡略編構造モデルを記憶する。立体モデル記憶部22は、立体モデル生成部14により生成された立体編構造モデルを記憶する。
【0046】
入力部30は、図1に示す入力装置1から構成され、ユーザが編構造データを入力する際に使用される。表示部40は、図1に示す表示装置6から構成され、表示制御部16の制御の下、簡略編構造モデル及びレンダリングされた立体編構造モデルを表示する。
【0047】
次に、編構造モデル生成装置の動作について説明する。図3は、編構造モデル生成装置のメインルーチンを示すフローチャートである。まず、ステップS1において、入力部30が操作され、ユーザにより編構造データが入力されると(S1でYES)、編構造データ取得部11は、入力部30に入力された編構造データを取得する。一方、入力部30にユーザによる編構造データが入力されない場合(S1でNO)、処理がステップS1に戻される。
【0048】
図4は、編物の編構造を模式的に示した図であり、(a)はニットの編パターンのみから構成される編構造を示し、(b)は中央にウエルトの編パターンが配列された編構造を示し、(c)は中央にタックの編パターンが配列された編構造を示している。なお、(a)〜(c)において、上段の図は編構造の正面視の図を示し、下段の図は上段の2行目の糸の上面視からの図を示している。
【0049】
(a)に示す編構造では、1〜3列目に3個のループが形成された糸が、3行配列され、2行目及び3行目の各ループは、それぞれ、1行目及び2行目の各ループと連結されており、ニットの編パターンが3行×3列で配列されていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(a)の下段に示すように2行目の糸は、2列目のループに対応する領域が表面側に凸になっており、1列目及び3列目のループに対応する領域が裏面側に凸となっていることが分かる。
【0050】
また、(b)に示す編構造では、1〜3列目に3個のループが形成された糸が1行目及び3行目に配列され、1列目及び3列目に2個のループが形成された糸が2行目に配列され、3行2列目のループが、1行2列目のループと連結されており、ウエルトの編パターンが含まれていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(b)の下段に示すように、2行目の糸の1列目及び3列目のループに対応する領域は裏面側が閉じており、2列目のループに対応する領域が裏面に沿って平坦になっていることが分かる。
【0051】
また、(c)に示す編構造では、1〜3列目に3個のループが形成された糸が3行配列され、3行2列目及び2行2列目に形成されループが1行2列目に形成されたループと連結されており、タックの編パターンが含まれていることが分かる。また、2列目が表面、1列目及び3列目が裏面となっているため、(c)の下段に示すように、3行目の糸は、1列目及び3列目のループに対応する領域は裏面側に凸となっており、2列目のループに対応する領域は表面側に凸となっていることが分かる。
【0052】
図5(a)〜(c)は、それぞれ、図4(a)〜(c)に対する編構造データを示す図である。図5(a)に示す編構造データは、図4(a)に示すように1列目及び3列目が裏面、2列目が表面を表し、ニットの編パターンが3行×3列で配列されているため、1列目と3列目に小文字の「k」の記号が配列され、2列目に大文字の「K」の記号が配列されている。また、図5(b)に示す編構造データは、図4(b)に示すように、1列目及び3列目が裏面、2列目が表面を表し、2行2列目にウエルトの編パターンが含まれているため、1列目及び3列目の各行に小文字の「k」が配列され、2列目の1〜3行目に「K,W,K」が配列されている。
【0053】
また、図5(c)に示す編構造データは、図4(c)に示すように、1列目及び3列目が裏面、2列目が表面を表しているため、1列目及び3列目の各行に小文字の「k」が配列され、2列目の1〜3行目に「K,T,K」が配列されている。なお、図4(a)〜(c)では、3行×3列の編構造データを示したが、これは一例にすぎず、編構造のサイズに応じて行数及び列数が適宜変更される。
【0054】
図3に示すステップS3において、ノード配列部12は、所定の平面内にノードを配列し、簡略モデル生成部13は、配列されたノードを接続し、後述する簡略編構造モデルの生成処理を実行し、簡略編構造モデルを生成する。
【0055】
ステップS4において、表示制御部16は、簡略モデル生成部13により生成された編構造モデルを表示部40に表示させる。ステップS5において、入力部30に、ユーザによる立体編構造モデルの生成を指示する入力がなされた場合(S5でYES)、立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルから立体編構造モデルを生成する(S6)。一方、ステップS5において、入力部30が、ユーザによる立体編構造モデルの生成の指示を受け付けなかった場合(S5でNO)、処理がステップS5に戻される。
【0056】
ここで、表示制御部16は、簡略モデル生成部13により過去に生成された簡略編構造モデルを指定するユーザからの入力が、入力部30になされた場合、指定された簡略編構造モデルを簡略モデル記憶部21から読み出し、表示部40に表示してもよい。
【0057】
ステップS7において、レンダリング部15は、ステップS6で生成された立体編構造モデルにレンダリングを施し、表示制御部16は、レンダリングされた立体編構造モデルを表示部40に表示させる(S8)。ここで、表示制御部16は、立体モデル生成部14により過去に生成された立体編構造モデルを指定するユーザからの入力が、入力部30になされた場合、指定された立体編構造モデルを立体モデル記憶部22から読み出し、表示部40に表示してもよい。
【0058】
図6は、図3のステップS3に示す簡略編構造モデルの生成処理を示すフローチャートである。まず、ノード配列部12は、編構造データ取得部11により取得された編構造データに従って、仮想3次元空間内のXY平面内にノードを格子状に配列する。図7は、編構造データが3行×3列のである場合において、XY平面内に配列されたノードを示した図である。
【0059】
ノード配列部12は、編パターンを表す一つの記号に対して4個のノードを割り当てる。各記号に割り当てられた4つのノードのうち、左上のノードを第1のノードN1、右上のノードを第2のノードN2、左下のノードを第3のノードN3、右下のノードを第4のノードN4とする。また、ノード配列部12は、ある記号に対して割り当てた第3のノードN3と第4のノードN4とが、それぞれ、その記号の下側に隣接する記号に対して割り当てた第1のノードN1と第2のノードN2と共有されるように、各ノードを配列する。例えば、図7に示すように、1行1列目の記号に対して割り当てられた第3のノードN3及び第4のノードN4は、それぞれ、2行1列目の記号に対して割り当てられた第1のノードN1と第2のノードN2と共有される。従って、ノード配列部12は、編構造データ取得部11に取得された編構造データが、例えば3行×3列の記号から構成される場合、図7に示すように、4つのノードを縦方向に配列し、編構造データの列数である3を2倍した6つのノードを横方向に配列し、合計24個のノードをXY平面内に配列する。なお、図7では、縦方向に4つのノードが配列されているが、上端のノードは下端のノードと共有されているため、実際には、縦方向には3つのノードが配列されている。
【0060】
図6に示すステップS12において、簡略モデル生成部13は、縦方向に隣接するノード同士を第1のエッジを用いて接続すると共に、横方向に隣接するノード同士を第1のエッジを用いて接続する。ここで、第1のエッジは、ノードを編物の質点としたときに、各ノードに作用する応力を算出する際に使用される第1の弾性定数と対応付けられている。また、後述する第2のエッジは、第1の弾性定数よりも小さな第2の弾性定数と対応付けられている。
【0061】
図8は、ノード同士が接続された状態を示す図である。図8に示すように、横方向に隣接するノード同士及び縦方向に隣接するノード同士が、第1のエッジE1により接続されていることが分かる。なお、上端、下端、左端、及び右端に配列されたノードは、2本又は3本の第1のエッジE1が接続されていることが分かる。一方、内部に存在するノードは4本の第1のエッジE1が接続されていることが分かる。
【0062】
図6に示すステップS13において、簡略モデル生成部13は、上端及び下端に位置するノード同士を接続すると共に、左端及び右端に位置するノード同士を接続し、簡略編構造モデルをトーラス状にする。図9〜図11はステップS13の処理を説明する図である。
【0063】
図9に示すように、簡略モデル生成部13は、左端に位置するノードNL1〜NL4を、それぞれ、同じ行に位置する右端のノードNR1〜NR4に第1のエッジE1で接続し、上端に位置するノードNU1〜NU10を、それぞれ、同じ列に位置する下端のノードND1〜ND10に第1のエッジE1で接続する。
【0064】
これにより、例えば、図10に示すような簡略編構造モデルを一つの編構造ユニットとして、この編構造ユニットがマトリックス状に複数配列されたような簡略編構造モデルを生成する場合、この簡略編構造モデルの全領域に亘ってノードを配列しなくとも、編構造ユニットの領域にのみノードを配列するだけで、全領域を表すことが可能となり、簡略編構造モデルのデータ量を大幅に少なくすることができる。これは、図11(a)に示す矩形状の平面の上辺と下辺とを接続すると共に、左辺と右辺とを接続して、この平面を図11(b)に示すトーラス状に変形することに例えることができる。
【0065】
ステップS14において、簡略モデル生成部13は、編構造データ取得部11により取得された編構造データにニットの編パターンのみが含まれ、ウエルト及びタックの編パターンが含まれていない場合は(S14でYES)、当該編構造データに対する簡略編構造モデルが完成しているため、処理を終了する。一方、編構造データにニット以外のウエルト又はタックの編パターンが含まれている場合(S14でNO)、処理をステップS15に進める。
【0066】
ステップS15において、簡略モデル生成部13は、編構造データにタックの編パターンが含まれている場合(S15でYES)、XY平面内に配列されたノードに対して後述するタック処理を実行する(S16)。これによりタックの編パターンを有する簡略編構造モデルが生成される。一方、ステップS15において、タックの編パターンが含まれていない場合(S15でNO)、処理がステップS17に進められる。
【0067】
ステップS17において、簡略モデル生成部13は、編構造データにウエルトの編パターンが含まれている場合(S17でYES)、後述するウエルト処理を実行する(S18)。これにより、ウエルトの編パターンを有する簡略編構造モデルが生成される。一方、ステップS17において、ウエルトの編パターンが含まれていない場合(S17でNO)、ウエルト処理をスルーして処理が終了される。
【0068】
図12は、図6のステップS16に示すタック処理の詳細を示すフローチャートである。ステップS21において、簡略モデル生成部13は、編構造データを構成するタックのうち1のタックを示す注目タックに対して割り当てられた第3のノードN3と第4のノードN4とを削除すると共に、第3のノードN3と第4のノードN4との各々に接続される第1のエッジE1を削除する。
【0069】
図13は、ステップS21の処理を説明する図である。図13に示すように、注目タックTに対して割り当てられた第3のノードN3と第4のノードN4とが削除されると共に、第3のノードN3に接続された4本の第1のエッジE1が削除され、第4のノードN4に接続された4本の第1のエッジE1が削除されていることが分かる。
【0070】
次に、簡略モデル生成部13は、図14に示すように、注目タックTに対して割り当てられた第1のノードN1と、タックTの下側に隣接する下ニットKに対して割り当てられた第3のノードN3とを第1のエッジE1で接続すると共に(S22)、注目タックTに対して割り当てられた第2のノードN2と、下ニットKに対して割り当てられた第4のノードN4とを第1のエッジE1で接続する(S23)。
【0071】
次に、簡略モデル生成部13は、図14に示すように、注目タックTの左側に隣接するに左ニットkの第4のノードN4と、注目タックTの第1のノードN1とを第1のエッジE1で接続すると共に(S24)、注目タックTの右側に隣接する右ニットkの第3のノードN3と、注目タックTの第2のノードN2とを第1のエッジE1で接続する(S25)。これにより、図14に示す注目タックTの編パターンを含む簡略編構造モデルが生成される。なお、簡略モデル生成部13は、編構造データに含まれる各タックの記号を注目タックとして上記処理を繰り返し実行する。
【0072】
図15は、図6のステップS18に示すウエルト処理の詳細を示すフローチャートである。図16〜図18は、ウエルト処理を説明する図である。以下、図16〜図18を参照しつつ、ウエルト処理について説明する。まず、ステップS31において、簡略モデル生成部13は、図16に示すように、編構造データを構成するウエルトのうち、1のウエルトを示す注目ウエルトWに割り当てられた第1のノードN1と第3のノードN3とを接続する第1のエッジE1を削除し(S31)、注目ウエルトWに割り当てられた第2のノードN2と第4のノードN4とを接続する第1のエッジE1を削除する(S32)。次に、簡略モデル生成部13は、注目ウエルトWの下側に隣接する下ニットKに割り当てられた第1のノードN1と第3のノードN3とを接続する第1のエッジE1を削除し(S33)、下ニットKに割り当てられた第2のノードN2と第4のノードN4とを接続する第1のエッジE1を削除する(S34)。
【0073】
次に、簡略モデル生成部13は、図17に示すように、注目ウエルトWに割り当てられた第1のノードN1と、下側に隣接する下ニットKに割り当てられた第3のノードN3とを第1のエッジE1で接続し(S35)、注目ウエルトWに割り当てられた第2のノードN2と、下側に隣接する下ニットKに割り当てられた第4のノードN4とを第1のエッジE1を用いて接続する(S36)。
【0074】
なお、図17及び図18では、視認性を高めるために、注目ウエルトWの第3のノードN3と第4のノードN4との間隔を広く表示しているが、実際には、注目ウエルトWの第3のノードN3と第4のノードN4との間隔は、図16に示す間隔と同じである。
【0075】
次に、簡略モデル生成部13は、図18に示すように、注目ウエルトWに割り当てられた第1のノードN1と第3のノードN3とを第2のエッジE2で接続すると共に、注目ウエルトWに割り当てられた第2のノードN2と第4のノードN4とを第2のエッジE2で接続する(S38)。
【0076】
次に、簡略モデル生成部13は、図18に示すように、下ニットKに割り当てられた第1のノードN1と第3のノードN3とを第2のエッジE2で接続し、下ニットKに割り当てられた第2のノードN2と第4のノードN4とを第2のエッジE2で接続する(S39)。簡略モデル生成部13は、編構造データを構成する各ウエルトを注目ウエルトとして上記処理を実行する。
【0077】
次に、図3のステップS6に示す立体編構造モデルの生成処理について説明する。図19は、立体編構造モデルの生成処理を示すフローチャートである。まず、ステップS41において、立体モデル生成部14は、簡略モデル生成部13により生成された簡略編構造モデルをXY平面に配置し、各ノードを所定の初期位置に移動させる。図20は、仮想3次元空間内に配置された3行×3列のニットの編パターンのみからなる簡略編構造モデルを示した図である。図20に示すように、仮想3次元空間には、互いに直交するx、y、z軸が設定され、簡略編構造モデルは、XY平面上に配置される。また、図20において、左から1列目、2列目、5列目、6列目に配置されたノードは、裏面のノードを示し、左から3列目、4列目に配列されたノードは、表面のノードを示している。そして、裏面の各ノードは、−z方向に一定距離スライドされ、表面の各ノードは+z方向に一定距離スライドされることで、所定の初期位置に移動される。ここで、裏面の各ノードのスライド量と表面の各ノードのスライド量とは同一にしてもよいし、異なる値にしてもよい。
【0078】
図21は、ウエルトWのノードに対する初期位置への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。図21(a)、(b)に示すように、ウエルトWの第3のノードN3及び第4のノードN4は、Z方向にスライドされないため、XY平面上に位置していることが分かる。また、ウエルトWの第1のノードN1及びN2は、表面のノードであるため、Z方向に一定距離スライドされている。また、左側に隣接するニットKの第4のノードN4と右側に隣接するニットKの第3のノードN3とは、裏面のノードであるため、−z方向に一定距離スライドされていることが分かる。
【0079】
図22は、タックTのノードに対する初期値への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。図22(a)、(b)に示すように、タックTの第1のノードN1及び第2のノードN2は、表面のノードであり、z方向へ所定距離スライドされ、左側に隣接するニットKの第4のノードN4は裏面のノードであり、−z方向へ所定距離スライドされ、右側に隣接するニットKの第3のノードN3は裏面のノードであり、−z方向に所定距離スライドされていることが分かる。そのため、タックTの断面視からの形状は、ニットKの断面視からの形状と同様に山状になる。
【0080】
図19に示すステップS42において、立体モデル生成部14は、ウエルトWの第3のノードN3及び第4のノードN4に作用する外力を算出する。図23は、ステップS42〜S47の処理がある程度繰り返し実行されたときの、ウエルトWの近傍のノードの斜視図を示している。
【0081】
ここで、立体モデル生成部14は、図23に示すように、ウエルトWの第1のノードN1及び第2のノードN2と、ウエルトWの下側に隣接するニットKの第3のノードN3及び第4のノードN4とによって構成される矩形面と、第3のノードN3との距離を、第3のノードN3と立体編構造モデルの表面との距離として算出する。次に、立体モデル生成部14は、前記矩形面と、第4のノードN4との距離を、第4のノードN4と立体編構造モデルの表面との距離として算出する。
【0082】
次に、立体モデル生成部14は、ウエルトWの左側に隣接するニットKの第2のノードN2及び第4のノードN4と、ウエルトWの右側に隣接するニットKの第1のノードN1及び第3のノードN3とによって構成される矩形面と、第3のノードN3との距離を、第3のノードN3と立体編構造モデルの裏面との距離として算出する。次に、立体モデル生成部14は、第4のノードN4と、前記矩形面との距離を、第4のノードN4と立体編構造モデルの裏面との距離として算出する。
【0083】
ステップS43において、立体モデル生成部14は、ステップS42で算出した距離を用いて、ウエルトWの第3のノードN3及びN4の各々に作用する外力を求める。図24は、ウエルトの第3のノードN3及び第4のノードN4に作用する外力を示すグラフであり、縦軸は外力を示し、横軸は距離を示している。図24に示すように、外力は、距離に反比例する関数によって規定されていることが分かる。すなわち、外力と距離との関係は、F=A/dによって表される。但し、Fは外力を示し、Aは定数を示し、dはウエルトWの第3のノードN3又はN4と、立体編構造モデルの表面又は裏面との距離を示す。
【0084】
ここで、外力を距離に反比例する関数によって規定したのは、ウエルトWの第3のノードN3と第4のノードN4とを接続する第1のエッジE1に相当する糸が、ウエルトWの第1のノードN1とウエルトWの下側のニットKの第3のノードN3とを接続する第1のエッジE1に相当する糸に接触することで生じる反発力を再現するためである。
【0085】
図25は、図24に示す立体編構造モデルの側面図を簡略化して示した図である。図25において、矩形状の枠の上辺は立体編構造モデルの表面を示し、下辺は立体編構造モデルの裏面を表し、枠内の中央に位置する円は、ウエルトWの第3のノードN3及び第4のノードN4を接続する第1のエッジE1を示している。ウエルトWの第3のノードN3及びN4は、F=A/dに示す関数による外力が与えられる結果、表面からf1の外力を受け、裏面からf2の外力を受けていることが分かる。
【0086】
図19に示すステップS44において、立体モデル生成部14は、式(1)〜(4)を用いて、第1のエッジE1又は第2のエッジE2によって接続されたノード間の距離を算出する。
【0087】
【数1】
【0088】
ここで、立体モデル生成部14は、図9に示すノードNi1やノードNi2のように、上端、下端、右端、左端の端部以外の内部に位置するノード同士に対しては、式(1)を用いて距離を算出する。但し、式(1)において、dijは、内部に位置するノードPi及びPj間の距離を示し、xi,yi,ziは、それぞれ、Piのx,y,z成分を示し、xj,yj,zjは、それぞれ、Pjのx,y,z成分を示している。
【0089】
また、立体モデル生成部14は、図9に示すノードNL2及びノードNR2のように左端及び右端のノード間の距離は、式(2)又は(3)を用いて算出する。但し、xi>xjの場合は式(2)を用いて、ノード間の距離を算出し、xi≦xjの場合は式(3)を用いて、ノード間の距離を算出する。ここで、xi>xjの場合とは、図9において、Pjが左端に位置し、Piが右端に位置する場合が該当し、xi≦xjの場合とは、図9において、Pjが右端に位置し、Piが左端に位置する場合が該当する。wは簡略編構造モデルの左端のノードと、当該ノードに対して同じ行に位置する右端のノードと距離の初期値を示す。
【0090】
つまり、式(2)において、右辺の第1項がxi−xj−wとなっているが、これは、xi−(xj+w)と変形すれば分かるように、左端のノードPjのx方向の位置を簡略編構造モデルの横幅の初期値であるwを加算した位置に移動させ、移動後のノードと右端のノードxiとの距離とが、左端のノードと右端のノードとの距離として算出されていることを意味する。これにより、左端から右端へと跨って接続されたノード間の距離が、内部に位置する隣接するノード同士間の距離程度の大きさに修正されるため、より違和感なく立体編構造モデルを生成することができる。
【0091】
また、立体モデル生成部14は、図9に示すノードNU2,ND2のように、上端及び下端のノード間の距離の距離を式(4)又は(5)を用いて算出する。但し、yi>yjの場合は式(4)を用いて、ノード間の距離を算出し、yi≦yjの場合は式(5)を用いて、ノード間の距離を算出する。ここで、yi>yjの場合とは、図9において、Pjが上端に位置し、Piが下端に位置する場合が該当し、yi≦yjの場合とは、図9において、Pjが下端に位置し、Piが上端に位置する場合が該当する。
【0092】
【数2】
【0093】
但し、hは立体編構造モデルの右端のノードと、当該ノードに対して同じ列に位置する下端のノードとの距離の初期値(縦幅の初期値)を示す。
【0094】
つまり、式(4)において、右辺の第2項がyi−yj−hとなっているが、これは、yi−(yj+h)と変形すれば分かるように、上端のノードPjのy方向の位置を簡略編構造モデルの縦幅の初期値であるhを加算した位置に移動させ、移動後のノードと下端のノードPiとの距離とが、上端のノードと下端のノードとの距離として算出されていることを意味する。これにより、上端から下端へと跨って接続されたノード間の距離が内部に位置する隣接するノード同士間の距離程度に修正されるため、より違和感なく立体編構造モデルを生成することができる。
【0095】
更に、立体モデル生成部14は、図26(a)に示すように、右端にタックTの編パターンが存在する場合、同じ行の左端に位置するニットKを、右側に隣接するニットK´と考えて、タックTの第2のノードN2とニットK´の第3のノードN3とを第1のエッジE1´で接続する代わりに、(b)に示すようにタックTの第2のノードN2と左端のニットKの第3のノードN3とをタスキがけとなるように第1のエッジE1で接続する。
【0096】
この場合、立体モデル生成部14は、式(7)又は式(8)を用いて、図26(b)に示す左端に位置するニットKの第3のノードN3と、右端のタックTの第2のノードN2との距離を算出する。
【0097】
【数3】
【0098】
具体的には、左端のニットKの第3のノードN3がノードPjであり、右端のタックTの第2のノードN2がノードPiである場合、式(7)を用いてノードPi及びPj間の距離を算出し、左端のニットKのノードがPiであり、右端のタックTの第2のノードN2がPjである場合、式(8)を用いてノードPi及びPj間の距離を算出する。これにより、ノードPi及びPjが、内部に位置するノード間の距離程度に修正される結果、より違和感なく立体編構造モデルを生成することができる。
【0099】
更に、立体モデル生成部14は、図27(a)に示すように、左端にタックTの編パターンが存在する場合、同じ行の右端に位置するニットKを、同じ行の左側に隣接するニットK´と考えて、タックTの第1のノードN1とニットK´の第4のノードN4とを第1のエッジE1´で接続する代わりに、(b)に示すようにタックTの第1のノードN1とニットKの第4のノードN4とをタスキがけとなるように第1のエッジE1で接続する。
【0100】
この場合、立体モデル生成部14は、式(6)又は式(9)を用いて、図27(b)に示す右端に位置するニットKの第4のノードN4と、右端のタックTの第1のノードN1との距離を算出する。具体的には、左端のタックTの第1のノードN1がノードPjであり、右端のニットKの第4のノードN4がノードPiである場合、式(6)を用いてノードPi及びPj間の距離を算出し、左端のタックTの第1のノードN1がノードPiであり、右端のニットKの第4のノードN4がノードPjであり場合、式(9)を用いてノードPi及びPj間の距離を算出する。これにより、ノードPi及びPjが、内部に位置するノード間の距離程度に修正される結果、より違和感なく立体編構造モデルを生成することができる。
【0101】
図19に示すステップS45において、立体モデル生成部14は、ステップS44で算出した各ノード間の距離を用いて、各ノードに作用する応力を算出する。ここで、立体モデル生成部14は、式(10)の右辺の第2項と第3項とを応力として算出する。具体的には、図28に示すように、ノードPiに対して4つのノードP1〜P4が接続され、Pi及びP1,P2,P3間が第1のエッジE1で接続され、Pi及びP4が第2のエッジE2で接続されていたとすると、式(10)の第3項は、式(11)と表される。
【0102】
【数4】
【0103】
但し、Piは、運動方程式が適用されるノードを示し、PjはPiに接続された他のノードを示し、miは、ノードPiの質量を示し、ciはノードPiの粘性抵抗を示し、kijは粘弾性定数を示し、viはノードPiの速度を示す。また、Pi,Pj,vi,fiはx,y,zの3成分からなるベクトルを示す。
【0104】
【数5】
【0105】
ここで、ノードP1〜P3はノードPiに対して第1のエッジE1で接続されているため、ki1,ki2,ki3は、第1の弾性定数を表し、ノードP4はノードPiに対して第2のエッジE2で接続されているため、ki4は、第1の弾性定数よりも小さな第2の弾性定数によって表される。なお、第1の弾性定数は第1のエッジE1に対応付けられ、第2の弾性定数は第2のエッジE2に対応付けられている。
【0106】
また、立体モデル生成部14は、式(10)の運動方程式を解くことで得られるノードPiの速度viに粘性抵抗ciを乗じることで、式(10)の第4項を算出する。ここで、粘性抵抗ciは、全ノードに対して同じ値を採用しても良いし、ノードに第1のエッジ及び第2のエッジが各々何本接続されているかに応じて変更してもよい。
【0107】
図19に示すステップS46において、立体モデル生成部14は、各ノードPiに対して成立する式(10)に示す運動方程式を解くことで、各ノードPiの位置及び速度を算出する。式(10)の左辺に示すfiは、ステップS43で算出された各ノードPiに作用する外力を示す。miは、編物の質点の質量を示す。なお、miの値は、全ノードに対して同じ値を採用してもよいし、異なる値を採用してもよい。また、miの値は、編物の種類及びその編物をノードで表す際の編物のサイズとノードの個数との関係から予め定められた値が採用される。
【0108】
実際には、立体モデル生成部14は、式(10)に示す運動方程式の差分方程式を表す式(12)を用いて、各ノードの運動方程式を解く。
【0109】
【数6】
【0110】
但し、tは時間を示し、Δtは、時間の刻み幅を示す。
【0111】
ステップS47において、立体モデル生成部14は、式(12)に示す運動方程式の解が所定範囲内に収束したか否かを判定し、収束したと判定した場合(S47でYES)、処理をステップS48に進め、収束していないと判定した場合(S47でNO)、処理がステップS42に戻される。すなわち、式(12)に示す運動方程式の解が収束するまで、当該運動方程式が繰り返し計算されることになる。ここで、運動方程式の解が収束するとは、式(12)に示す各ノードの位置を示すPi又は速度を示すviに関して、最新の解と前回算出した解との差が所定の値よりも小さくなった場合が該当する。また、運動方程式の計算回数が予め定められた回数に到達したとき、解が収束したと判定してもよい。
【0112】
ステップS48において、立体モデル生成部14は、各ノードに接続されたエッジに従って、立体編構造モデルに糸を設定するための円を設定する。具体的には、図29に示すように、ノードPiに接続されたエッジEA,EBに相当する糸を設定する場合は、円周がノードPiを通り、かつ、中心O1がエッジEA及びEB側に位置するように所定半径の円C1を設定する。また、ノードPjに接続されたエッジEA及びECに相当する糸を設定する場合、ノードPjを通り、かつ、中心O2がエッジEA及びEC側に位置するように所定半径の円C2を設定する。ここで、円C1,C2の半径は糸の物性に応じて予め定められた値が採用され、ノード毎に異なる値を採用してもよいし、同じ値を採用してもよい。
【0113】
ステップS49において、立体モデル生成部14は、各ノードに設定した円に対して当該円よりも半径の大きな円を同心円状に設定する。具体的には、図30に示すように、ノードPiに設定された円C1よりも半径が大きな円C3を同心円状に設定すると共に、ノードPjに設定された円C2よりも半径が大きな円C4を同心円状に設定する。
【0114】
図19に示すステップS50において、立体モデル生成部14は、各ノードに設定した2つの円同士を滑らかに繋ぐような2本の線を糸経路として設定する。具体的には、図30に示すように、円C1と円C4とを滑らかに繋ぐような糸経路PL(k)を設定すると共に、円C3と円C2とを滑らかに繋ぐような糸経路PR(k)を設定する。ここで、円C3,C4の半径は、PR(k)とPL(k)との間隔が糸の種類に応じて定められる糸の太さとなるような値が採用される。なお、kは、糸経路を表すための媒介変数であり、−π<k≦πを定義域とする。
【0115】
ステップS51において、立体モデル生成部14は、設定した2本の糸経路を平滑化する処理を行う。ここで、立体モデル生成部14は、設定した糸経路を表す関数(原関数)に対してフーリエ級数展開を施したときの1次の項を算出し、原関数から算出した1次の項を減じた関数を低次(例えば3次の項)の項までフーリエ級数展開することで、原関数を平滑化する。なお、立体モデル生成部14は、原関数をx,y,zの3成分に分け、各成分に対して上記する処理を実行する。
【0116】
原関数のx成分をx(k)として表し、x成分を例に挙げて説明すると、立体モデル生成部14は、x(k)をフーリエ級数展開したときの1次の項であるx1(t)を算出する。但し、x1(k)=((x(π)−x(−π))/2π)・k+x(−π)である。次に、x(k)−x1(k)を低次の項までフーリエ級数展開した後、1次の項を加算する。以上により、x(k)が平滑化される。
【0117】
一般に、連続した3次元の線を関数で表した場合、y,z成分はy(−π)=y(π)、z(−π)=z(π)となり、境界で連続となるが、x成分はx(−π)≠x(π)となり境界で不連続になってしまう。そこで、本編構造モデル生成装置では、x(k)−x1(k)に対してフーリエ級数展開を行った後、1次の項を加算することで、x成分を連続にしている。
【0118】
図19に示すステップS52において、立体モデル生成部14は、平滑化した2本の糸経路の端点同士を繋ぐ直線を直径とする円を糸断面として求める。具体的には、図31に示すように、2本のうちの一方の糸経路上のある点を示すPL(k)と、kを同一とする他方の糸経路状のある点を示すPR(k)とを直径とする円を糸断面として求める。そして、kの値を一定の刻み幅Δkで変化させ、複数の糸断面を算出し、糸断面列を生成する。
【0119】
ここで、糸断面の円周上の1点を示すP(k)は、式(13)によって表される。
【0120】
【数7】
【0121】
但し、第1項の(PL(k)−PR(k))/2は、図31に示すように糸断面の半径を示す基底ベクトルAである。第2項の(PL(k)−PR(k))´/(PL(k)−PR(k))は、直径方向の単位ベクトルのkに関する微分値であり、糸方向を示すベクトルCを示す。第2項のsinθの係数は、ベクトルCと基底ベクトルAとの外積を示し、糸断面上にある基底ベクトルBを示す。θは、糸断面の円周を基底ベクトルA及びBを用いて表すための変数である。第3項の(PL(k)+PR(k))/2は、糸断面の中心Oを示す。
【0122】
図19に示すステップS53において、立体モデル生成部14は、糸断面列の円周間をポリゴンで接続し、糸の周面を立体編構造モデルに設定する。
【0123】
図32は、立体モデル生成部14によって生成された立体編構造モデルのレンダリング結果を示した図である。図32に示すように、無数の糸が編パターンに従って編成されていることが分かる。
【0124】
図33は、図32に示す編構造モデルを縮小表示したときの立体編構造モデルを示した図である。図33に示すように、上述した処理を実行することによってリアルな立体編構造モデルが生成されていることが分かる。また、図34はタックの編パターンを含む立体編構造モデルのレンダリング結果を示した図である。図34に示すようにタックの編パターンでは、第1のノードN1と第2のノードN2とに2本の糸が連結されているため、矢印で示すように第1のノードN1と第2のノードN2との幅が狭まるような力が作用する結果、多くの孔が生じたような立体編構造モデルが生成されていることが分かる。
【0125】
以上説明したように、本編構造モデル生成装置によれば、糸の編構造データが取得され、この編構造データに従って、XY平面内に配列されたノードが、糸に相当するエッジにより接続され、簡略編構造モデルが生成され、表示部40に表示される。
【0126】
これにより、エッジとノードとによって、編構造データが表現された簡略編構造モデルが得られるため、この編構造モデルを見たユーザは、どのような編物が編成されるかを容易に推定することができる。
【0127】
また、各ノードに対して、接続されるエッジの種類に応じた応力が作用されると共に、所定の外力が与えられ、各ノードを編物の質点としたときの各ノードの運動方程式を解くことにより、編物の立体編構造モデルが生成されるため、編物の力学的特性が加味された立体編構造モデルを得ることができる。
【0128】
なお、上記実施の形態では、簡略編構造モデルを表示部40に表示させたが、これに限定されず、プリンタ等の出力手段を用いて、記録紙に印刷させてもよい。また、上記実施の形態では、両面編みの編物を採用したが、これに限定されず、片面編みの編み物に本発明を適用してもよい。
【0129】
また、上記実施の形態では、図13等において、下ニットKは注目タックTに隣接するものとして説明したが、隣接していないニットであっても、注目タックTと同一列、かつ下側に位置するニットを下ニットとして採用してもよい。
【図面の簡単な説明】
【0130】
【図1】本発明の実施の形態による編構造モデル生成装置のハードウェア構成を示すブロック図である。
【図2】編構造モデル生成装置の機能ブロック図を示している。
【図3】編構造モデル生成装置のメインルーチンを示すフローチャートである。
【図4】編物の編構造を模式的に示した図であり、(a)はニットの編パターンのみから構成される編構造を示し、(b)は中央にウエルトの編パターンが配列された編構造を示し、(c)は中央にタックの編パターンが配列された編構造を示している。
【図5】(a)〜(c)は、それぞれ、図4(a)〜(c)に対する編構造データを示す図である。
【図6】図3のステップS3に示す簡略編構造モデルの生成処理を示すフローチャートである。
【図7】編構造データが3行×3列である場合において、XY平面内に配列されたノードを示した図である。
【図8】ノード同士が接続された状態を示す図である。
【図9】ステップS13の処理を説明する図である。
【図10】ステップS13の処理を説明する図である。
【図11】ステップS13の処理を説明する図である。
【図12】ステップS16に示すタック処理の詳細を示すフローチャートである。
【図13】ステップS21の処理を説明する図である。
【図14】タック処理を説明する図である。
【図15】タック処理を説明する図である。
【図16】ウエルト処理を説明する図である。
【図17】ウエルト処理を説明する図である。
【図18】ウエルト処理を説明する図である。
【図19】立体編構造モデルの生成処理を示すフローチャートである。
【図20】仮想3次元空間内に配置された3行×3列のニットの編パターンのみからなる簡略編構造モデルを示した図である。
【図21】ウエルトのノードに対する初期位置への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。
【図22】タックのノードに対する初期値への移動を示す図であり、(a)は正面図を示し、(b)は上面視からの断面図を示している。
【図23】ステップS42〜S47の処理がある程度繰り返し実行されたときの、ウエルトの近傍のノードの斜視図を示している。
【図24】ウエルトの第3のノード及び第4ノードに作用する外力を示すグラフであり、縦軸は外力を示し、横軸は距離を示している。
【図25】図24に示す立体編構造モデルの側面図を簡略化して示した図である。
【図26】(a)(b)は右端にタックが存在する場合のノードの接続を示す図である。
【図27】(a)(b)は左端にタックが存在する場合のノードの接続を示す図である。
【図28】応力の算出を説明する図である。
【図29】ノードに設定された円を示す図である。
【図30】糸経路の設定を示す図である。
【図31】糸断面列の算出過程を説明する図である。
【図32】立体編構造モデルのレンダリング結果を示した図である。
【図33】図32に示す編構造モデルを縮小表示したときの立体編構造モデルを示した図である。
【図34】タックの編パターンを含む立体編構造モデルのレンダリング結果を示した図である。
【符号の説明】
【0131】
10 制御部
11 編構造データ取得部
12 ノード配列部
13 簡略モデル生成部
14 立体モデル生成部
15 レンダリング部
16 表示制御部
20 記憶部
21 簡略モデル記憶部
22 立体モデル記憶部
30 入力部
40 表示部
A,B 基底ベクトル
C1,C2 円
C3,C4 円
ci 粘性抵抗
E1〜E2 第1〜第2のエッジ
EA,EB エッジ
N1〜N4 第1〜第4のノード
PL 糸経路
PR 糸経路
K ニット
T タック
W ウエルト
【特許請求の範囲】
【請求項1】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、
編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、
前記編構造データ取得手段により取得された編構造データに従って、仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、編物を簡略的に表す簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成プログラム。
【請求項2】
前記編構造データは、前記編パターンに応じた記号がマトリックス状に配列されたデータ構造を有し、
前記ノード配列手段は、格子状に隣接する4つノードを各記号に割り当て、
各記号に割り当てられた4つのノードは、左上に位置する第1のノードと、右上に位置する第2のノードと、左下に位置する第3のノードと、右下に位置する第4のノードとを含み、
前記編構造データを構成する編パターンを示す記号のうち、注目する1の記号である注目記号に割り当てられた前記第3及び第4のノードは、当該注目記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されていることを特徴とする請求項1記載の編構造モデル生成プログラム。
【請求項3】
前記編構造データは、ニットの編パターンを含み、
前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を、エッジで接続することで、簡略編構造モデルを生成することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項4】
前記編構造データは、ニットとタックとの編パターンを含み、
前記編構造データを構成する編パターンのうち、注目する1のタック記号である注目タック記号の左側にはニットの編パターンを示す左ニット記号が隣接し、前記注目タックの記号の右側にはニットの編パターンを示す右ニット記号が隣接し、前記注目タック記号の下側にはニットの編パターンを示す下ニット記号が存在し、
前記簡略モデル生成手段は、
縦方向及び横方向に隣接するノード同士をエッジで接続し、
前記注目タック記号に割り当てられた第3及び第4のノード及び第3及び第4のノードに接続されているエッジを削除し、
前記注目タック記号に割り当てられた第1のノードと第2のノードとを2本のエッジで接続し、
前記注目タック記号に割り当てられた第1のノードと、前記下ニットの記号に割り当てられた第3のノードとをエッジで接続すると共に、前記注目タックの記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとをエッジで接続し、
前記左ニット記号に割り当てられた第4のノードと、前記注目タックに記号に割り当てられた第1のノードとをエッジで接続し、前記右ニット記号に割り当てられた第3のノードと、前記注目タック記号に割り当てられた第2のノードとをエッジで接続し、
各タックの記号を注目タック記号として上記処理を実行することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項5】
前記エッジは、各ノードに作用する第1の応力を示す第1のエッジと、前記第1の応力よりも弱い第2の応力を示す第2のエッジとを含み、
前記編構造データは、ニットとウエルトとの編パターンを含み、
前記編構造データを構成する記号のうち、注目する1のウエルト記号である注目ウエルト記号の下側にはニットの編パターンを示す下ニット記号が隣接し、
前記簡略モデル生成手段は、
縦方向及び横方向に隣接するノード同士を第1のエッジで接続し、
前記注目ウエルト記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除すると共に、前記下ニット記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除し、
前記注目ウエルト記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、
前記下ニット記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記下ニット記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、
前記注目ウエルト記号に割り当てられた第1のノードと、前記下ニット記号に割り当てられた第3のノードとを第1のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとを第1のエッジで接続し、
各ウエルト記号を前記注目ウエルト記号として上記処理を実行することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項6】
前記簡略モデル生成手段は、左端に位置するノードの各々を、同一行の右端に位置するノードに接続すると共に、上端に位置するノードの各々を、同一列の下端に位置するノードに接続することで、簡略編構造モデルを生成することを特徴とする請求項1〜5のいずれかに記載の編構造モデル生成プログラム。
【請求項7】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成プログラム。
【請求項8】
前記ノードは編物の質点を示し、
前記エッジは、質点に作用する応力を示し、
前記簡略モデル生成手段により生成された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることを特徴とする請求項1〜6のいずれかに記載の編構造モデル生成プログラム。
【請求項9】
前記編物は、表面及び裏面からなる両面編みの編物であり、
前記立体モデル生成手段は、
ウエルトの記号に割り当てられた第3及び第4のノードの各々に対し、表面との距離及び裏面との距離に反比例する反発力を、前記外力として作用させることを特徴とする請求項7又は8記載の編構造モデル生成プログラム。
【請求項10】
前記立体モデル生成手段は、各ノードに半径の異なる2つの円を同心円状に設定し、ある注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続された他のノードに設定した2つの円とを滑らかに結ぶような2本の線を糸経路として設定することを特徴とする請求項7〜9のいずれかに記載の編構造モデル生成プログラム。
【請求項11】
前記立体モデル生成手段は、前記糸経路を表す原関数に対してフーリエ級数展開を実行したときの1次の項を前記原関数から差し引き、差し引いた関数を所定の低次の項までフーリエ級数展開した後、前記1次の項を加算することで、前記糸経路を平滑化することを特徴とする請求項10記載の編構造モデル生成プログラム。
【請求項12】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、
編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、
前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成装置。
【請求項13】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、
コンピュータが、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得し、
コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列し、
コンピュータが、取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、ノード同士の接続関係を表すエッジによって接続し、簡略編構造モデルを生成することを特徴とする編構造モデル生成方法。
【請求項14】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする編構造モデル生成装置。
【請求項15】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、
コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
コンピュータが、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルの各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードに作用する運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする編構造モデル生成方法。
【請求項1】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、
編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、
前記編構造データ取得手段により取得された編構造データに従って、仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、編物を簡略的に表す簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成プログラム。
【請求項2】
前記編構造データは、前記編パターンに応じた記号がマトリックス状に配列されたデータ構造を有し、
前記ノード配列手段は、格子状に隣接する4つノードを各記号に割り当て、
各記号に割り当てられた4つのノードは、左上に位置する第1のノードと、右上に位置する第2のノードと、左下に位置する第3のノードと、右下に位置する第4のノードとを含み、
前記編構造データを構成する編パターンを示す記号のうち、注目する1の記号である注目記号に割り当てられた前記第3及び第4のノードは、当該注目記号の下側に隣接する記号に割り当てられた第1及び第2のノードと共有されていることを特徴とする請求項1記載の編構造モデル生成プログラム。
【請求項3】
前記編構造データは、ニットの編パターンを含み、
前記簡略モデル生成手段は、縦方向及び横方向に隣接するノード同士を、エッジで接続することで、簡略編構造モデルを生成することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項4】
前記編構造データは、ニットとタックとの編パターンを含み、
前記編構造データを構成する編パターンのうち、注目する1のタック記号である注目タック記号の左側にはニットの編パターンを示す左ニット記号が隣接し、前記注目タックの記号の右側にはニットの編パターンを示す右ニット記号が隣接し、前記注目タック記号の下側にはニットの編パターンを示す下ニット記号が存在し、
前記簡略モデル生成手段は、
縦方向及び横方向に隣接するノード同士をエッジで接続し、
前記注目タック記号に割り当てられた第3及び第4のノード及び第3及び第4のノードに接続されているエッジを削除し、
前記注目タック記号に割り当てられた第1のノードと第2のノードとを2本のエッジで接続し、
前記注目タック記号に割り当てられた第1のノードと、前記下ニットの記号に割り当てられた第3のノードとをエッジで接続すると共に、前記注目タックの記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとをエッジで接続し、
前記左ニット記号に割り当てられた第4のノードと、前記注目タックに記号に割り当てられた第1のノードとをエッジで接続し、前記右ニット記号に割り当てられた第3のノードと、前記注目タック記号に割り当てられた第2のノードとをエッジで接続し、
各タックの記号を注目タック記号として上記処理を実行することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項5】
前記エッジは、各ノードに作用する第1の応力を示す第1のエッジと、前記第1の応力よりも弱い第2の応力を示す第2のエッジとを含み、
前記編構造データは、ニットとウエルトとの編パターンを含み、
前記編構造データを構成する記号のうち、注目する1のウエルト記号である注目ウエルト記号の下側にはニットの編パターンを示す下ニット記号が隣接し、
前記簡略モデル生成手段は、
縦方向及び横方向に隣接するノード同士を第1のエッジで接続し、
前記注目ウエルト記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除すると共に、前記下ニット記号に割り当てられた第1及び第3のノード間、並びに前記第2及び第4のノード間を接続する第1のエッジを削除し、
前記注目ウエルト記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、
前記下ニット記号に割り当てられた第1及び第3のノード間を第2のエッジで接続すると共に、前記下ニット記号に割り当てられた第2及び第4のノード間を第2のエッジで接続し、
前記注目ウエルト記号に割り当てられた第1のノードと、前記下ニット記号に割り当てられた第3のノードとを第1のエッジで接続すると共に、前記注目ウエルト記号に割り当てられた第2のノードと、前記下ニット記号に割り当てられた第4のノードとを第1のエッジで接続し、
各ウエルト記号を前記注目ウエルト記号として上記処理を実行することを特徴とする請求項2記載の編構造モデル生成プログラム。
【請求項6】
前記簡略モデル生成手段は、左端に位置するノードの各々を、同一行の右端に位置するノードに接続すると共に、上端に位置するノードの各々を、同一列の下端に位置するノードに接続することで、簡略編構造モデルを生成することを特徴とする請求項1〜5のいずれかに記載の編構造モデル生成プログラム。
【請求項7】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成プログラムであって、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成プログラム。
【請求項8】
前記ノードは編物の質点を示し、
前記エッジは、質点に作用する応力を示し、
前記簡略モデル生成手段により生成された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルを構成する各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段としてコンピュータを更に機能させることを特徴とする請求項1〜6のいずれかに記載の編構造モデル生成プログラム。
【請求項9】
前記編物は、表面及び裏面からなる両面編みの編物であり、
前記立体モデル生成手段は、
ウエルトの記号に割り当てられた第3及び第4のノードの各々に対し、表面との距離及び裏面との距離に反比例する反発力を、前記外力として作用させることを特徴とする請求項7又は8記載の編構造モデル生成プログラム。
【請求項10】
前記立体モデル生成手段は、各ノードに半径の異なる2つの円を同心円状に設定し、ある注目ノードに設定した2つの円と、前記注目ノードに対してエッジで接続された他のノードに設定した2つの円とを滑らかに結ぶような2本の線を糸経路として設定することを特徴とする請求項7〜9のいずれかに記載の編構造モデル生成プログラム。
【請求項11】
前記立体モデル生成手段は、前記糸経路を表す原関数に対してフーリエ級数展開を実行したときの1次の項を前記原関数から差し引き、差し引いた関数を所定の低次の項までフーリエ級数展開した後、前記1次の項を加算することで、前記糸経路を平滑化することを特徴とする請求項10記載の編構造モデル生成プログラム。
【請求項12】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、
編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得する編構造データ取得手段と、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列するノード配列手段と、
前記編構造データ取得手段により取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、糸に相当するエッジによって接続し、簡略編構造モデルを生成する簡略モデル生成手段としてコンピュータを機能させることを特徴とする編構造モデル生成装置。
【請求項13】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、
コンピュータが、編物の編構造が、編構造を構成する編パターンに応じた記号で表された編構造データを取得し、
コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードを格子状に配列し、
コンピュータが、取得された編構造データに従って、前記仮想3次元空間内に配列されたノードを、ノード同士の接続関係を表すエッジによって接続し、簡略編構造モデルを生成することを特徴とする編構造モデル生成方法。
【請求項14】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成装置であって、
仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードの運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする編構造モデル生成装置。
【請求項15】
仮想3次元空間内に編物の編構造モデルを生成する編構造モデル生成方法であって、
コンピュータが、仮想3次元空間内の所定の平面に前記編物を構成する糸の連結点を示すノードが格子状に配列されると共に、各ノードが糸に相当するエッジによって接続された簡略編構造モデルを取得する簡略モデル取得手段と、
コンピュータが、前記簡略モデル取得手段により取得された簡略編構造モデルを構成するエッジを基に、前記簡略編構造モデルの各ノードに作用する応力を求め、各ノードに対して、各ノードの配列面と交差する方向に所定の外力を与え、各ノードに作用する運動方程式を解くことにより、立体編構造モデルを生成する立体モデル生成手段とを備えることを特徴とする編構造モデル生成方法。
【図1】
【図2】
【図3】
【図6】
【図7】
【図11】
【図12】
【図15】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図4】
【図5】
【図8】
【図9】
【図10】
【図13】
【図14】
【図16】
【図17】
【図18】
【図32】
【図33】
【図34】
【図2】
【図3】
【図6】
【図7】
【図11】
【図12】
【図15】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図4】
【図5】
【図8】
【図9】
【図10】
【図13】
【図14】
【図16】
【図17】
【図18】
【図32】
【図33】
【図34】
【公開番号】特開2007−293636(P2007−293636A)
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2006−121365(P2006−121365)
【出願日】平成18年4月25日(2006.4.25)
【出願人】(501260510)デジタルファッション株式会社 (13)
【出願人】(000241485)豊田通商株式会社 (73)
【Fターム(参考)】
【公開日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願日】平成18年4月25日(2006.4.25)
【出願人】(501260510)デジタルファッション株式会社 (13)
【出願人】(000241485)豊田通商株式会社 (73)
【Fターム(参考)】
[ Back to top ]