以下、本発明に係る縫製データ作成装置1の一実施の形態について、図面を参照して説明する。本実施の形態の縫製データ作成装置1は、縫製領域と指定された領域内に刺繍ミシン3でスティップリングステッチを施すための縫製データを作成するものである。まず、刺繍ミシン3について説明する。図1は、刺繍ミシン3の外観図である。
図1に示すように、刺繍ミシン3は、縫い針34を装着する針棒35を上下駆動する針棒機構(図示外)、天秤機構(図示外)及び釜機構(図示外)を備えている。また、ミシンベッド30上に配置され、縫製する加工布(図示外)を保持する刺繍枠31を、キャリッジカバー32内に収容され刺繍ミシン3の前後方向(紙面の前後方向)に移送するY方向駆動機構(図示外)と、本体ケース33内に収容されY方向駆動機構を刺繍ミシン3の左右方向(紙面の左右方向)に移送するX方向駆動機構(図示外)とを備えている。このY方向駆動機構とX方向駆動機構とによって刺繍枠31を移動させながら、針棒機構、天秤機構及び釜機構の協働による縫製動作を行うことにより、その加工布に所定の図柄のステッチを施すようになっている。前記針棒機構、天秤機構、及び釜機構を駆動するミシンモータ(図示外)と、前記Y方向駆動機構及びX方向駆動機構を駆動する夫々のモータ(図示外)は、刺繍ミシン3に内蔵されたマイクロコンピュータ等から構成される制御装置により駆動が制御される。また、刺繍ミシン3の脚柱部36の側面にはメモリカードスロット37が搭載されており、縫製データが記憶されたメモリカード115をメモリカードスロット37に装着することにより、縫製データ作成装置1で作成された縫製データが供給される。また、この刺繍ミシン3と縫製データ作成装置1とをケーブルで接続可能に構成し、メモリカード等の記憶媒体を介さずに、直接縫製データが供給されるようにしてもよい。
次に、図2乃至図4を参照して縫製データ作成装置1について説明する。図2は、縫製データ作成装置1の物理的構成を示す全体構成図であり、図3は、縫製データ作成装置1の電気的構成を示すブロック図であり、図4は、RAM12の構成を示す模式図である。
図2に示すように、この縫製データ作成装置1は、所謂パーソナルコンピュータである装置本体10と、この装置本体10に接続されるマウス21、キーボード22、メモリカードコネクタ23、ディスプレイ24及びイメージスキャナ装置25から構成されている。なお、装置本体10、マウス21、キーボード22、メモリカードコネクタ23、ディスプレイ24、イメージスキャナ装置25の形状は図2に示すものに限らない。例えば、装置本体10はタワー型のものに限らず、横置きのものであってもよく、装置本体10とディスプレイ24とキーボード22とが一体化したノート型であってもよい。また、装置本体10は所謂パーソナルコンピュータでなく、専用機であってもよいことはいうまでもない。また、イメージスキャナ装置25を使用しない場合には、イメージスキャナ装置25を縫製データ作成装置1に接続していなくともよい。
次に、図3のブロック図を参照して、縫製データ作成装置1の電気的構成について説明する。図3に示すように、縫製データ作成装置1には、縫製データ作成装置1の制御を司るコントローラとしてのCPU11が設けられ、CPU11には、各種のデータを一時的に記憶するRAM12と、BIOS等を記憶したROM13と、データの受け渡しの仲介を行うI/Oインタフェイス14とが接続されている。I/Oインタフェイス14には、ハードディスク装置120が接続され、当該ハードディスク装置120には、縫製データ記憶エリア121と、プログラム記憶エリア122と、その他の情報記憶エリア123とが少なくとも設けられている。
そして、縫製データ記憶エリア121には、縫製データ作成プログラムにより作成され、刺繍ミシン3に読み込まれる縫製データが記憶される。そして、プログラム記憶エリア122にはCPU11で実行される縫製データ作成プログラムが記憶されている。その他の情報記憶エリア123には、縫製データ作成装置1で使用されるその他の情報が記憶されている。なお、縫製データ作成装置1がハードディスク装置120を備えていない専用機の場合は、ROMにプログラムが記憶される。
また、I/Oインタフェイス14には、マウス21と、ビデオコントローラ16と、キーコントローラ17と、CD−ROMドライブ18と、メモリカードコネクタ23と、イメージスキャナ装置25とが接続されている。ビデオコントローラ16にはディスプレイ24が接続され、キーコントローラ17にはキーボード22が接続されている。なお、CD−ROMドライブ18に挿入されるCD−ROM114には、縫製データ作成装置1の制御プログラムである縫製データ作成プログラムが記憶されており、導入時には、制御プログラムは、CD−ROM114から、ハードディスク装置120にセットアップされてプログラム記憶エリア122に記憶される。また、メモリカードコネクタ23では、メモリカード115の読み取りや書き込みが可能となっている。
次に、図4を参照して、RAM12に設けられている本発明に関連する記憶エリアについて説明する。図4に示すように、RAM12には、基準距離記憶エリア1201,ピッチ記憶エリア1202,縫製領域記憶エリア1203,輪郭線網記憶エリア1204,開始点記憶エリア1205,終了点記憶エリア1206,縫目経路記憶エリア1207,曲線記憶エリア1208,ステッチ情報記憶エリア1209,適用カウンタ記憶エリア1210,モード記憶エリア1211,注目点記憶エリア1212等が設けられている。なお、RAM12には、これらの他にも種々の記憶エリアが設けられている。
基準距離記憶エリア1201には、単位領域のサイズ(図9参照)を決定する等に使用される基準距離が記憶される。ピッチ記憶エリア1202には、縫製を行う際の縫い目の長さ(ピッチ)が記憶される。輪郭線網記憶エリア1204には、縫製領域に単位領域を配置して、その輪郭線を繋げた輪郭線網(図9参照)を示す点の座標情報や点と点との接続情報が記憶される。そして、開始点記憶エリア1205及び終了点記憶エリア1206には、縫製領域に対してユーザが指定した縫製の開始点及び終了点を示す座標がそれぞれ記憶される。縫目経路記憶エリア1207には、輪郭線網上に設定される縫目経路を示す情報として、縫目経路上の分岐点の座標が始点から終点まで順に記憶される。曲線記憶エリア1208には、縫目経路を曲線化した曲線を示す情報として、曲線を形成する複数の点の座標が記憶される。ステッチ情報記憶エリア1209には、縫目経路から曲線化された経路曲線上に配置されるステッチ(縫目)を示す情報として、ステッチの針落ち点の座標が記憶される。そして、適用カウンタ記憶エリア1210には、縫目経路を作成する際に使用される適用カウンタの値が記憶され、モード記憶エリア1211には、縫目経路を作成する際に使用されるモードを示す値が記憶される。注目点記憶エリア1212には、縫目経路を移動させる際に注目する分岐点を示す値が記憶される。
次に、図5乃至図14を参照して、縫製領域内に縫目経路410を配置し、縫目経路から実施にステッチを配置する経路曲線610を作成するまでの縫製データ作成装置1の動作について説明する。図5は、縫製データ作成装置のメイン処理の動作を示すフローチャートであり、図6は、メイン処理の中で実施される移動処理のフローチャートである。そして、図7は、縫製領域110を示す模式図100であり、図8は、縫製領域110に開始点SP及び終了点EPを示した模式図101であり、図9は、縫製領域110に輪郭線網を配置する過程を示す模式図109であり、図10は、縫製領域110作成された輪郭線網210、縫目経路始点P1及び縫目経路終点P99を示した模式図200であり、図11は、輪郭線網210上に作成された初期縫目経路310を示した模式図300であり、図12は、輪郭線網210上に作成された初期縫目経路310を移動させて作成された縫目経路410を示した模式図400であり、図13は、縫目経路410を変形させた変形縫目経路510を示した模式図500であり、図14は、変形縫目経路510をベジェ曲線化した経路曲線610を示した模式図600である。
ここでは、図7に示すような、ハート型の内側が円形に刳り抜かれた形状をした縫製領域110を例に説明する。図5に示すように、まず、開始点及び終了点の指定が行われる(S1)。これは、ディスプレイ24に縫製領域を示す画面が表示され、開始点の入力を促すメッセージが表示され、そのメッセージに従い、縫製領域の輪郭線上の任意の点をユーザがマウスクリックすることにより、開始点が指定され、そして、マウスクリックされた位置を示す座標情報が開始点記憶エリア1205に記憶される。終了点についても同様に、終了点の入力を促すメッセージに従い、縫製領域の輪郭線上の任意の点をユーザがマウスクリックすることにより、終了点が指定される。そして、マウスクリックされた位置を示す座標情報が終了点記憶エリア1206に記憶される。ここでは、図8に示す位置に開始点SP及び終了点EPが指定されたものとする。なお、本実施の形態では、図7乃至図22、図23乃至図37における横方向をX軸、縦方向をY軸として、座標系が与えられているものとする。
次いで、基準距離及びピッチの入力が受け付けられる(S2)。ここでは、基準距離及びピッチの入力画面が表示され、ユーザにより入力欄へ入力された値が受け付けられ、基準距離が基準距離記憶エリア1201に記憶され、ピッチがピッチ記憶エリア1202に記憶される。
次いで、輪郭線網210が作成される(S3)。ここでは、まず、基準距離記憶エリア1201に記憶されている基準距離に基づいて単位領域のサイズが決定される。本実施の形態では、「基準距離/1.5」の長さを単位領域のサイズとする。また、本実施の形態では、単位領域を正六角形としており、正六角形の一辺のサイズを「基準距離/1.5」とする。そして、図9に示すように、縫製領域110を示している座標系119に、決定されたサイズの単位領域が配置される。
本実施の形態では、図9における横方向にX座標が与えられ、座標軸の右へ進むほど値が大きくなり、縦方向にY座標が与えられ、座標軸の下へ進むほど値が大きくなる。具体的には、座標系の所定の座標、例えば原点(0,0)に1つ目の単位領域の所定の点が配置される。図9に示す例では、原点(0,0)に正六角形の1つの頂点が配置される。そして、本実施の形態では、配置された正六角形に連続させ、正六角形を隙間なく配置する。なお、隣り合った単位領域(正六角形)において、接している辺を示す輪郭線は1本の輪郭線として扱われる。そして、縫製領域110内に存在する輪郭線のみが切り出され、図10に示すような輪郭線網210とされる。なお、単位領域である正六角形の輪郭線の一辺を辺線分と呼ぶこととする。そして、正六角形の頂点であり、3つの正六角形の頂点が重なり、3本の辺線分の端点が重なる点を分岐点と呼ぶこととする。そして、分岐点において端点の重なっている3本の辺線分を、この分岐点の「周囲の辺線分」と呼び、分岐点を頂点とする3つの正六角形を、この分岐点の「周囲の正六角形」と呼び、3本の周囲の辺線分のこの分岐点でない側の端点3つを「周囲の分岐点」と呼ぶこととする。この輪郭線網210の情報は、すべての分岐点の座標がRAM12の輪郭線網記憶エリア1204に記憶される。この輪郭線網210の情報は、縫製領域110内に配置された正六角形を識別する情報、及び各正六角形の各頂点の座標が記憶されている。
また、この輪郭線網210の作成において、作成された輪郭線網210に正六角形が1つもない場合には、縫目経路を作成することができない。そこで、基準距離記憶エリア1201に記憶されている値が所定数(例えば0.5mm)減算され、改めて輪郭線網210が作成される。この処理を行うCPU11が「第一基準距離調整手段」に相当する。なお、基準距離記憶エリア1201に記憶されている値が所定の閾値(例えば、2mm)より小さくなった場合には、バランスのよい縫目経路を生成したとしても、刺繍ミシン3で実際に縫製することが困難となるので、この縫製領域にスティップリングステッチを施すことはできないとして、エラーメッセージを表示して、処理を終了させる。
そして、輪郭線網210上に縫目経路始点P1及び縫目経路終点P99が決定される(S4)。具体的には、開始点記憶エリア1205に記憶されている、ユーザが指定した開始点に最も近い分岐点が縫目経路始点とされ、縫目経路記憶エリア1207に記憶される。同様に、終了点記憶エリア1206に記憶されている、ユーザが指定した終了点に最も近い分岐点が縫目経路終点とされ、縫目経路記憶エリア1207において縫目経路始点の次の点として記憶される。
次いで、輪郭線網210上に初期縫目経路310が作成される(S5)。縫目経路始点P1を始点として、第一の所定方向(本実施の形態では縫製領域の外周を時計回りに回る方向)の辺線分が初期縫目経路310とされる。そして、作成中の初期縫目経路の最後の分岐点に注目して、その分岐点から第二の所定方向(本実施の形態では、作成中の初期縫目経路の最後の分岐点の属する正六角形の輪郭線を時計回りに回る方向)に辺線分を辿りながら、初期縫目経路上の分岐点が決定され、初期縫目経路上の分岐点を順につないだ辺線分が初期縫目経路310とされる。そして、初期縫目経路の最後の分岐点が縫目経路終点P99となった時点で、初期縫目経路310の作成は終了する(この処理を行うCPU11が「終了手段」に相当する)。したがって、初期縫目経路310は縫製領域110の外周を時計回りに、縫製領域110の外周により近い辺線分を辿ることとなる。
そして、図10に示す縫製領域110に配置された輪郭線網210、縫目経路始点P1、縫目経路終点P99では、図11に示すような初期縫目経路310が作成される。具体的な初期縫目経路310の作成については、図15乃至図24を参照して後に詳述する。なお、初期縫目経路310を表す情報は縫目経路記憶エリア1207に記憶されている。具体的には、縫目経路始点P1から縫目経路終点P99までに辿られている分岐点の座標が順に記憶されている。
なお、この初期縫目経路310上の点とされている分岐点の数が6個(六角形の頂点の数)より少ない場合には、バランスのよい縫目経路を作成することができない。そこで、基準距離記憶エリア1201に記憶されている値が所定数(例えば、0.5mm)小さくされ、改めに輪郭線網210の作成(S3)、縫目経路始点及び縫目経路終点が決定(S4)、初期縫目経路310の作成(S5)が行われる。この処理を行うCPU11が「第二基準距離調整手段」に相当する。なお、基準距離記憶エリア1201に記憶されている値が所定の閾値(例えば、2mm)より小さくなった場合には、バランスのよい縫目経路を生成したとしても、刺繍ミシン3で実際に縫製することが困難となるので、この縫製領域にスティップリングステッチを施すことはできないとして、エラーメッセージを表示して、処理を終了させる。
そして、初期縫目経路310が作成されると(S5)、移動処理が行われる(S6、図7参照)。この移動処理では、縫製領域110内に満遍なく縫目経路が配置されるように、初期縫目経路310を輪郭線網210上を移動させる。この移動処理の詳細については、図7、図25乃至図31を参照して後に詳述する。図11に示した初期縫目経路310に移動処理を施し、縫製領域110に満遍なく配置された縫目経路が、図12に示す縫目経路410である。
縫目経路410が縫製領域110に満遍なく配置されたら(S6)、特殊処理が行われる(S7)。これは、縫製領域110において尖った部分があったり、先端が細くなっていたりするような部分がある場合に、縫目経路を移動させる特殊な処理である。これについては、図32乃至図34を参照して、後に詳述する。
特殊処理が行われたら、縫目経路410が変形される変形処理が行われる(S8)。この変形処理では、図13に示すように、縫目経路410を形成する分岐点の座標が移動されることにより、変形縫目経路510が作成される。この変形処理により、分岐点を移動させることにより、縫目経路を曲線化した際の膨らみ具合が均一でなくなるため、画一的な経路とならず、見た目のバランスがよくなる。図13に示す点線の経路が変形縫目経路510である。この分岐点の座標の移動方法については、図35乃至図37を参照して、後に詳述する。
次いで、変形縫目経路510がベジェ曲線化され、図14に示す経路曲線610が作成され、曲線記憶エリア1208に記憶される(S9)。この経路曲線610は、図38に示すように、曲線上に密に配置された多数の点で示されており、曲線記憶エリア1208にはこの点の座標が縫目経路始点P1から順に縫目経路終点P99まで記憶されている。そして、ステッチ生成処理が行われる(S10)。このステッチ生成処理では、経路曲線610上にピッチ記憶エリア1202に記憶されているピッチ長で、針落ち点が生成され、ステッチ情報記憶エリア1209に記憶される。なお、本発明の縫製データ作成装置では、ステッチの間隔、即ち針落ち点と針落ち点との距離が均一となるように、針落ち点の座標が決定される。この針落ち点の座標の決定については、図38及び図39を参照して、後に詳述する。そして、ステッチ情報記憶エリア1209に記憶されている針落ち点の情報に基づいて、刺繍ミシン3で使用可能なデータである縫製データが作成され(S11)、本処理は終了する。
このようにして、縫製領域110に配置された輪郭線網210上に、初期縫目経路310が作成され(S5)、縫目経路が縫製領域110内に満遍なく配置されるように、初期縫目経路310が移動されて、縫目経路410が作成され(S6)、さらに縫目経路410が変形されて変形縫目経路510が作成され(S8)、変形縫目経路510がベジェ曲線化されて経路曲線610が作成されて(S9)、スティップリングステッチの経路が決定される。このように作成されたスティップリングステッチの縫製データに基づいて、刺繍ミシン3が駆動され、刺繍枠31に保持された加工布にスティップリングステッチが縫製される。
次に、図15乃至図20を参照して、初期縫目経路310の生成について、詳述する。図15は、縫目経路始点P1に続く分岐点を決定する際の説明図301であり、図16は、縫目経路始点P1に続く分岐点が決定され1つの辺線分が縫目経路に決定された状態を示す説明図302であり、図17は、説明図302の状態から、次に続く分岐点を決定する際の説明図303であり、図18は、説明図302の状態から、次に続く分岐点が決定された状態を示す説明図304であり、図19は、説明図304の状態から、次に継ぐ分岐点を決定する際の説明図305であり、図20は、説明図304の状態から、次に続く分岐点が決定された状態を示す説明図306である。そして、図21は、次に続く分岐点の最初の候補となる点を選択する際の場合分けを示す説明図800である。
図15に示すように、縫目経路始点P1において、この分岐点P1を端点とする、分岐点P1の周囲の辺線分である辺線分seg1,seg2,seg3が初期縫目経路310となる候補とされる。辺線分seg1,seg2,seg3は、図15では点線で示されている。辺線分seg1の分岐点P1でない側の端点は分岐点P2、辺線分seg2の分岐点P1でない側の端点は分岐点P3,辺線分seg3の分岐点P1でない側の端点は分岐点P4である。これらの分岐点P2,P3,P4は分岐点P1の周囲の分岐点である。
本実施の形態では、初期縫目経路310は、縫目経路始点P1を始点として、縫製領域110の外周により近い辺線分を左の方向に縫目経路終点P99まで辿る。つまり、時計回りに、縫製領域110の外周により近い辺線分を辿る。そこで、縫目経路始点P1の周囲の分岐点のうち、時計回りの方向に位置する分岐点が選択される。具体的には、縫目経路始点P1の周囲の辺線分seg1,seg2,seg3のうち、縫製領域110の輪郭線111で切断されている線分が探索される。図15に示す例では、辺線分seg1である。そして、辺線分seg1と辺線分seg2、辺線分seg1と辺線分seg3との角度が算出される。この角度は辺線分seg1からみて時計回りの方向の角度が算出される。そして、この角度の小さい方の辺線分が「時計回りの方向に位置する」と判断され、この辺線分の縫目経路始点P1でない側の分岐点が「時計回りの方向に位置する分岐点」とされる。図15に示す例では、辺線分seg3が時計回りの方向に位置すると判断され、分岐点P4が時計回りの方向に位置する辺線分として選択される。よって、分岐点P4の座標が縫目経路記憶エリア1207の縫目経路始点P1と縫目経路終点P2との間に挿入されて、記憶されることとなる。これにより、初期縫目経路310は、分岐点P1から分岐点P3まで伸びる。図16の説明図302において、太線で示した辺線分seg3がこの段階での初期縫目経路310である。この処理を行うCPU11が「開始手段」に相当する。
次に、図17を参照して、分岐点P4において、どの方向に初期縫目経路を延ばしていくかについて説明する。分岐点P4の周囲の点は分岐点P1,P5,P6である。この3点のうち、分岐点P1は分岐点P4を初期縫目経路上の点とする際の起点となった分岐点であるので、新たな初期縫目経路上の点とする候補からは外される。そして、この分岐点P1から分岐点P4を見た際に左にある分岐点が、まず新たな初期縫目経路上の点とされる候補とされる。つまり、分岐点P1から分岐点P4を見た際に左に分岐している辺線分seg4が縫目経路の候補とされる。なお、この処理を行うCPU11が「分岐手段」に相当する。分岐点P1から分岐点P4を見た際に左方向にある分岐点の選択は、分岐点P1と分岐点P4との座標を比較することにより判断することができる。
図21は、左方向にある分岐点を決定する際の場合訳を示した説明図800である。図21に示す、模式図欄の太線矢印はすでに初期縫目経路とされている辺線分であり、点線矢印が新たに初期縫目経路とされる辺線分である。なお、模式図は、図21における右方向にx軸、下方向にy軸がとられているものとする。例えば、説明図800の左上の模式図の場合、既に初期縫目経路とされている辺線分seg801は、初期縫目経路の始点から終点へ向かう方向において、x座標が大きくなり、y座標が小さくなっている。このような場合には、x座標は注目されている分岐点のx座標と同じ座標であり、y座標は注目されている分岐点P801のy座標より小さい座標である分岐点P802が新たな初期縫目経路上の点の候補とされる。
そこで、図17に示す例では、図21に示す説明図800の右下の模式図が該当し、分岐点P4の左方向の分岐点はP5と判断される。そして、分岐点P5の座標が算出され、その座標が縫目経路記憶エリア1207に記憶されているか否かの判断が行われる。つまり、分岐点P4とP5を結ぶ線分seg4がすでに縫目経路とされているか否かの判断が行われる。しかし、分岐点P5の座標は縫目経路記憶エリア1207に記憶されていない。そこで、次に、その座標が輪郭線網記憶エリア1204に記憶されているか否かが判断される。しかし、図17に示すように、分岐点P5は縫製領域110の外部に位置している。そこで、分岐点P5は初期縫目経路上の点となる候補から外される。なお、この処理を行うCPU11が「行き止まり手段」に相当する。
次いで、右側の分岐点P6の座標がされ、その座標が縫目経路記憶エリア1207に記憶されているか否かの判断が行われる。分岐点P6の座標は縫目経路記憶エリア1207に記憶されていないので、その座標が輪郭線網記憶エリア1204に記憶されているか否かが判断される。分岐点P5の座標は輪郭線網記憶エリア1204に記憶されているので、この分岐点P6と分岐点P4を結ぶ辺線分seg5が初期縫目経路上の点に決定され、座標が縫目経路記憶エリア1207の分岐点P4と縫目経路終点P99との間に挿入されて、記憶されることとなる。つまり、図18に示すように、初期縫目経路は、分岐点P1−P4−P6と辿られることとなる。
次には、図19に示すように、分岐点P6に注目し、分岐点P6の周囲の3点、分岐点P7,P8,P4から次の初期縫目経路上の点とされる分岐点が決定される。分岐点P7,P8,P4のうち、分岐点P4は起点となった点であるので候補から除外される。そして、辺線分seg5は右上がりであり、分岐点P4と分岐点P6とを比較すると、x座標が増えており、y座標は減っている。よって、図21の説明図800を参照すると、選択される辺線分はx座標もy座標も減っているものである。よって、分岐点P7が分岐点P4から分岐点P6を見た際に、左側にある分岐点であるとされ、初期縫目経路上の点が最初の候補となり、次の初期縫目経路上の点としてよいかが判断される。そして、分岐点P7は、すでに初期縫目経路上の点にされてはいないので、縫目経路記憶エリア1207には記憶されておらず、縫製領域110内の点であり輪郭線網記憶エリア1204には記憶されている。よって、この分岐点P7が初期縫目経路上の点に決定され、分岐点P7と分岐点P6を結ぶ辺線分seg5が初期縫目経路とされる。そこで、分岐点P7の座標が縫目経路記憶エリア1207の分岐点P6と縫目経路終点P99との間に挿入されて、記憶されることとなる。つまり、図20に示すように、初期縫目経路は、分岐点P1−P4−P6−P7と辿られることとなる。
このようにして、新たに初期縫目経路とされた分岐点から次に続く分岐点を順に決定してゆき、図11に示す説明図300の初期縫目経路310が作成される。
ここで、図22乃至図24を参照して、初期縫目経路310を生成する際における特殊処理について説明する。この特殊処理は、図22に示すような部分的に細いくびれのある輪郭線711内の領域である縫製領域710における初期縫目経路の生成での処理である。なお、このくびれとは、向かい合った輪郭線と輪郭線との間が単位領域の幅よりも狭く、向かい合った輪郭線と輪郭線との間に輪郭線網の辺線分が1本以下しか存在しないような部分を言う。
図22は、くびれの手前まで初期縫目経路720が生成された状態を示す説明図701であり、図23は、くびれ部分に初期縫目経路720を生成した後の状態を示す説明図702であり、図24は、縫製領域710に初期縫目経路720の全てが生成された状態を示す模式図703である。
図22に示すように、縫目経路始点P201から分岐点P211まで初期縫目経路720が時計回りに縫製領域710の外周に沿って生成されている。ここで、分岐点P211の次に初期縫目経路720とされる分岐点を決定する際に問題が生じる。分岐点P211の周囲の分岐点は、分岐点P212,P210分岐点P213である。ここでは、分岐点P210はP211を初期縫目経路上の点とした起点となっている分岐点であるので、除外され、最初に分岐点P213が初期縫目経路上の点とされる候補とされる。しかし、分岐点P213は縫製領域710の外部に存在しており、輪郭線網記憶エリア1204には記憶されていない。さらに、分岐点P212は、すでに初期縫目経路720上の点となっており、縫目経路記憶エリア1207に記憶されている。すなわち、分岐点P211の周囲の3点は全て新たな初期縫目経路720上の点とする条件を満たさない点である。
そこで、分岐点P211を端点とする辺線分seg201,seg202,seg203のうち、すでに初期縫目経路720とされている辺線分を除いた2本の辺線分の成す正六角形に注目する。すなわち、辺線分seg201を除いた辺線分seg202,seg203の成す正六角形hex1に注目する。正六角形hex1の6つの頂点は、分岐点P211から時計回りにP213,P215,P214,P214,P212である。そして、図23に示すように、分岐点P211に向かい合う頂点であるP215と、分岐点P211とを繋いだ辺線分S204が生成される。そして、辺線分seg204と縫製領域710の輪郭線711とが交わるか否かの判断が行われる。図23に示すように、辺線分seg204と輪郭線711とが交わらなければ、分岐点P215が初期縫目経路上の点に決定される。そこで、分岐点P215の座標が縫目経路記憶エリア1207の分岐点P211と縫目経路終点P209との間に挿入されて、記憶されることとなる。その後は、通常の処理で、図24に示すような経路で、縫目経路終点P209まで初期縫目経路720が生成される。
なお、辺線分seg204と輪郭線711とが交わった場合には、分岐点P215と分岐点P211とを繋いだ辺線分S204は縫製領域710の外を通ってしまうこととなるので、分岐点P215と分岐点P211とを繋いではならない。よって、これ以上初期縫目経路720を延ばすことはできず、縫目経路終点P209まで到達することができない。このように、周囲の3点とも新たな初期縫目経路720上の点とする条件を満たさない分岐点であり、さらに、この分岐点の周囲の3本の辺線分のうちすでに初期縫目経路720となっていない2本の辺線分のなす正六角形における、向かい合った頂点と結んだ辺線分が縫製領域の輪郭線と交わるような場合には、ユーザに縫目経路を生成できない旨のメッセージを表示して、処理が終了される。そこで、ユーザは、くびれの右側の領域と左側の領域とに縫製領域を分割するなど、縫製領域を変更して、再度メイン処理を実施すればよい。
次に、図6のフローチャート、図25乃至図28を参照して、初期縫目経路310を移動させて、縫製領域110内に満遍なく配置された縫目経路410を作成する動作について詳述する。図5に示すメイン処理のS6に示す移動処理では、注目する正六角形において、縫目経路とされている辺線分の本数が縫目経路とされていない辺線分の本数よりも少ない場合に、縫目経路とされている辺線分を縫目経路から解除し、縫目経路とされていない辺線分を縫目経路としている。つまり、注目する正六角形における縫目経路の始点と終点とは変更せず、より距離の長い方の輪郭線上に縫目経路を移動させている。
具体的には、初期縫目経路310を初期状態として、縫目経路を形成する各分岐点を縫目経路始点P1から順に縫目経路終点P99まで辿ってゆき、縫目経路を移動させるパターン(移動パターン)に該当するか否かの判断が行われる。そして、縫目経路を移動させるパターンに該当する場合には縫目経路が移動される。なお、本実施の形態では、縫目経路始点P1から縫目経路終点P99までの分岐点の走査において、モード分けをし、モードに応じて移動パターンに該当した分岐点に対して実際に縫目経路を移動させる確率を定めている。これにより、ランダムに縫目経路の移動が行われることとなり、バランスよく縫製領域110に配置される縫目経路が作成されることとなる。
ここで、まず、図25乃至図28を参照して移動パターンについて説明し、次にモードについて説明する。本実施の形態では移動パターンAと移動パターンBの2つの移動パターンが設けられている。移動パターンAは、注目する正六角形において、縫目経路とされている辺線分が2本、縫目経路とされていない辺線分が4本であるパターンである。移動パターンBは、注目する正六角形において、縫目経路とされている辺線分が1本、縫目経路とされていない辺線分が5本であるパターンである。図25は、移動パターンAに該当する分岐点を示した説明図307であり、完成した初期縫目経路310を示した説明図300(図11参照)を拡大したものである。図26は、説明図307の状態の初期縫目経路310の一部を移動させた縫目経路311を示す説明図308である。そして、図27は、移動パターンBに該当する分岐点を示した説明図309であり、図28は、説明図308の状態の縫目経路312の一部を移動させた縫目経路313を示した説明図310である。
まず、移動パターンAについて説明する。ここでは、1つの分岐点に注目し、その分岐点を含む正六角形の頂点となっている分岐点を反時計回りに辿る。そして、これらの分岐点について、縫目経路記憶エリア1207に座標が記憶されており、すでに縫目経路上の点となっているか否かの判断が行われ、1,2,3番目の頂点が縫目経路上の点とされておらず、4番目の頂点が縫目経路上の点となっている場合に移動パターンAに該当するとされる。つまり、注目した正六角形において、注目点と5番目の頂点,5番目の頂点と4番目の頂点を結んだ2本の辺線分がすでに縫目経路とされている状態である。
この移動パターンAに該当した場合には、注目点と5番目の頂点とを結んだ辺線分、5番目の頂点と4番目の頂点とを結んだ辺線分の2本の辺線分が縫目経路とされている。正六角形は6本の辺線分により形成されるので、残りの4本の辺線分は縫目経路とされていない。そこで、2本の辺線分より4本の辺線分の方が距離が長いので、縫目経路を4本の辺線分に移動させる。つまり、注目点と1番目の頂点とを結んだ辺線分、1番目の頂点と2番目の頂点とを結んだ辺線分、2番目の頂点と3番目の頂点とを結んだ辺線分、3番目の頂点と4番目の頂点とを結んだ辺線分に変更する。
図25に示す例では、縫目経路始点P1が注目点とされており、分岐点P3,P10,P11,P6,P4を頂点とする正六角形hex2に注目し、正六角形hex2において、分岐点P3−P10−P11−P6−P4の順に辿ることとなる。正六角形hex2では、頂点P1と頂点P4とを結んだ辺線分seg3,頂点P4と頂点P6とを結んだ辺線分seg9の2本の辺線分が初期縫目経路310とされている。具体的に、縫目経路記憶エリア1207では、縫目経路上の点として分岐点P1,P4,P6,P7,・・・の順で情報が記憶されている。よって、1,2,3番目の頂点(P3,P10,P11)が縫目経路上の点とされておらず、4番目の頂点(P6)が初期縫目経路310上の点となっているので、移動パターンAに該当するとされる。
そこで、縫目経路記憶エリア1207では、分岐点P4(注目点から反時計回りに5番目)の情報が削除され、その位置に分岐点P3(注目点から反時計回りに1番目),P10(注目点から反時計回りに2番目),P11(注目点から反時計回りに3番目)の情報が記憶され、分岐点P1,P3,P10,P11,P6,P7,・・・の順で情報が記憶されることとなる。
そして、図26に示すように、注目点P1と1番目の頂点P3とを結んだ辺線分seg2、1番目の頂点P3と2番目の頂点P10とを結んだ辺線分seg6、2番目の頂点P10と3番目の頂点P11とを結んだ辺線分seg7、3番目の頂点P11と4番目の頂点P6とを結んだ辺線分seg8が移動後の縫目経路311となる。なお、4番目の頂点P6が次の注目点とされる。
次に、移動パターンBについて説明する。ここでも、1つの分岐点に注目し、その分岐点を含む正六角形の頂点となっている分岐点を反時計回りに辿る。そして、これらの分岐点について、縫目経路記憶エリア1207に座標が記憶されており、すでに縫目経路上の点となっているか否かの判断が行われ、1,2,3,4番目の頂点が縫目経路上の点とされておらず、5番目の頂点が縫目経路上の点となっている場合に移動パターンBに該当するとされる。つまり、注目した正六角形において、注目点と5番目を結んだ辺線分の1本のみがすでに縫目経路とされている状態である。
この移動パターンBに該当した場合には、注目点と5番目の頂点とを結んだ辺線分のみの1本の辺線分が縫目経路とされている。正六角形は6本の辺線分により形成されるので、残りの5本の辺線分は縫目経路とされていないということとなる。1本の辺線分より5本の辺線分の方が距離が長いので、縫目経路を5本の辺線分に移動させる。つまり、注目点と1番目の頂点とを結んだ辺線分、1番目の頂点と2番目の頂点とを結んだ辺線分、2番目の頂点と3番目の頂点とを結んだ辺線分、3番目の頂点と4番目の頂点とを結んだ辺線分、4番目の頂点と5番目の頂点とを結んだ辺線分に変更する。
図27に示す例では、分岐点P31が注目点とされており、分岐点P31,P32,P33,P34,P35,P36を頂点とする正六角形hex3に注目し、正六角形hex3において、分岐点P32−P33−34−P35−P36の順に辿ることとなる。正六角形hex3では、頂点P31とP36とを繋いだ辺線分seg36のみが縫目経路312とされている。具体的に、縫目経路記憶エリア1207では、縫目経路上の点として分岐点P30,P31,P36,P37,・・・の順で情報が記憶されている。よって、1,2,3,4番目の頂点(P32,P33,P34,P35)が縫目経路上の点とされておらず、5番目の頂点(P36)が縫目経路312上の点となっているので、移動パターンBに該当するとされる。
そこで、縫目経路記憶エリア1207では、分岐点P31(注目点)とP36(注目点から反時計回りに5番目)との間に分岐点P32,P33,P34,P35の情報が記憶され、分岐点P30,P31,P36,P37,・・・の順で情報が記憶されることとなる。
そして、図28に示すように、注目点P31と1番目の頂点P32とを結んだ辺線分seg31、1番目の頂点P32と2番目の頂点P33とを結んだ辺線分seg32、2番目の頂点P33と3番目の頂点P34とを結んだ辺線分seg33、3番目の頂点P34と4番目の頂点P35とを結んだ辺線分seg34、4番目の頂点P35と5番目の頂点P36とを結んだ辺線分seg35が移動後の縫目経路313となる。なお、5番目の頂点P36が次の頂点とされる。
ここで、注目点に対して周囲の3つの正六角形のうち、どの正六角形を注目する正六角形とするかの判断について説明する。注目点が縫目経路始点P1である場合には、周囲の3つの辺線分に対して、縫製領域110の輪郭線111に切断されているか否かの判断が行われる。開始点SPは縫製領域110の輪郭線111上に設定され、その開始点SPに最も近い分岐点が縫目経路始点P1とされるので1本の辺線分は必ず輪郭線111に切断されている。そこで、1本しか切断されていない場合には、残りの切断されていない2本を輪郭線とする正六角形が注目する正六角形とされる。2本の辺線分が切断されている場合には、注目する正六角形は存在しないので移動パターンA、移動パターンBに該当するか否かの判断は行われない。そして、縫目経路始点P1の次に縫目経路上の点とされている分岐点が注目点とされる。
また、縫目経路始点P1以外の縫目経路上の点である場合には、すでに移動の判断が終了した側の縫目経路である辺線分を除く2つの辺線分に注目し、この2つの辺線分を輪郭線とする正六角形が注目する正六角形とされる。図27に示す例では、すでに移動の判断が終了した側の縫目経路である辺線分が辺線分seg30であり、辺線分seg30を除く2つの辺線分は辺線分seg31、seg36である。
次に、図29乃至図31を参照して、移動パターンA又はBに該当した場合に実際に縫目経路を移動させる確率を定めたモードについて説明する。図29は、移動パターンBが該当する際の第一の場合分けに該当する状態を示す説明図491であり、図30は、モード1において移動パターンBが該当する際の第二の場合分けにおけるさらなる場合分けを説明するための説明図492であり、図31は、モード1において移動パターンBが該当する際の第二の場合分けにおけるさらなる場合分けを説明するための説明図493である。
本実施の形態では「モード1」,「モード2」,「モード3」の3つのモードを設け、「モード1」,「モード2」,「モード3」の順で実施される。「モード1」では、移動パターンAに該当する場合には、注目点が初期縫目経路310上の点であるか否かにより2つの場合分けが行われる。注目点が初期縫目経路310上の点である場合の実際に縫目経路を移動させる確率は「1/4」である。また、注目点が初期縫目経路310上の点でない場合、すなわち縫目経路の移動により縫目経路上の点とされた点である場合に実際に縫目経路を移動させる確率は「1/12」である。
また、移動パターンBに該当する場合には、注目点がどのような点であるかにより2つの場合に分けられる。第一には、注目点の時計回りで左隣となる分岐点が、移動パターンBに該当して変形された際に縫目経路上の点とされた点であり、かつ、現在の注目点が、縫目経路を移動させた際の注目点に対して正六角形の対向した頂点である場合である。図29に示す説明図491において、注目点を分岐点B1とする。この分岐点B1は、分岐点b1が注目点であった際に、正六角形hexbにおいて縫目経路が分岐点b1−b6−b5と辿る経路から、分岐点b1−b2−b3−b4−b5と辿る経路に移動された際に縫目経路上の点とされたものとする。この場合、正六角形hexBにおいて注目点B1の時計回りで左隣となる点は分岐点B6である。この分岐点B6は、分岐点b1が注目点である場合に、正六角形hexbにおいて注目点b1に対向する位置にある分岐点である。このような場合が、移動パターンBに該当する場合の第一の場合分けに該当する。この第一の場合分けに該当する場合の、実際に縫目経路を移動させる確率は「0」である。
この第一の場合分けに該当する場合に縫目経路を移動させることを考える。図29に示す例では、分岐点B1と分岐点B6とを結んだ辺線分が縫目経路となっているものが、分岐点B1,B2,B3,B4,B5,B6を結んだ5本の辺線分が縫目経路とされる。この状態で、分岐点B3が注目点となり縫目経路を移動させると判断されると、図30における右上の方向に縫目経路が伸びてゆく形状となり、美しい形状ではなくなってしまう可能性が高くなる。そこで、モード1の段階では、このような場合には縫目経路を移動させないようにするために確率を「0」としている。
また、注目点が、図29に示したような第一の場合分けに該当しない場合を第二の場合分けとする。この第二の場合分けにおいては、縫目経路が移動された後に縫目経路がどのような形状となるかにより、さらに3つの場合に分けられる。図30の説明図492に示すように、注目点B1を考える。このように、分岐点B1と分岐点B6とを結んだ辺線分のみが縫目経路418とされている場合に、この縫目経路418が移動されると、図31に示すように、分岐点B1,B2,B3,B4,B5,B6を結んだ5本の辺線分が縫目経路419とされる。この移動後の縫目経路419において、分岐点B2と分岐点B3とを結んだ辺線分segB2が移動パターンBに該当するか否か、及び分岐点B4と分岐点B5とを結んだ辺線分segB4が移動パターンBに該当するか否かにより場合分けが行われる。
辺線分segB2,辺線分segB4共に移動パターンBが適用可能な場合には、実際に縫目経路を移動させる確率は「1/3」である。また、辺線分segB2,辺線分segB4のいずれか一方のみに移動パターンBが適用可能な場合には、実際に縫目経路を移動させる確率は「1/15」とされる。さらに、辺線分segB2,辺線分segB4共に移動パターンBが適用できない場合には、実際に縫目経路を移動させる確率は「0」とされる。辺線分segB2及び辺線分segB4に移動パターンBが適用可能でないということは、移動後さらに縫目経路を移動させて複雑な形状に発展する可能性がないということである。そして、辺線分segB2と辺線分segB4とのいずれか移動パターンBが適用可能であるということは、移動後さらに縫目経路を移動させて複雑な形状にできる可能性があるということであり、辺線分segB2と辺線分segB4との両方に移動パターンBが適用可能であるということは、移動後さらに縫目経路を移動させて複雑な形状にできる可能性がよりあるということである。そこで、移動後にさらに縫目経路を移動させて複雑な形状にできる可能性の高い場合に、より高い確率を与えている。
次に、「モード2」について説明する。このモード2では、移動パターンAに該当した場合には、実際に縫目経路を移動させる確率を「1/4」とする。そして、移動パターンBに該当する場合には、モード1の場合と同様に注目点がどのような点であるかにより2つの場合に分けられる。第一の場合分けに該当する場合、つまり、注目点の時計回りで左隣となる分岐点が、移動パターンBに該当して変形された際に縫目経路上の点とされた点であり、かつ、現在の注目点が、縫目経路を移動させた際の注目点に対して正六角形の対向した頂点である場合には、実際に縫目経路を移動させる確率を「0」とし、それ以外の場合には「1」とする。
次に、「モード3」について説明する。このモード3では、移動パターンAに該当する場合も、移動パターンBに該当する場合も、実際に縫目経路を移動させる確率を「1」とする。つまり、移動パターンに該当すれば、すべて縫目経路を移動させる。
このように、モード1,2,3の順に実際に縫目経路を移動させる確率は上昇し、モード3では、移動パターンに該当すれば、すべて縫目経路を移動させるので、モード3で繰り返し縫目経路上の分岐点に対する処理を行えば、移動パターンA,Bに該当する分岐点はなくなる。
ここで、図6のフローチャートを参照して、移動処理について詳述する。まず、モード記憶エリア1211に「モード1」を示す値(例えば、「1」)が記憶される(S20)。そして、実際に縫目経路の移動された回数をカウントするための移動カウンタに初期値の「0」が記憶される(S21)。そして、縫目経路始点P1を示す値が注目点として、注目点記憶エリア1212に記憶される(S22)。縫目経路記憶エリア1207には、縫目経路を形成する順に分岐点の座標が記憶されているので、縫目経路記憶エリア1207に縫目経路始点P1が記憶されている順序、つまり「1」が注目点記憶エリア1212に記憶される。
そして、すべての分岐点について処理が行われたか否かの判断が行われる(S23)。具体的には、注目点が縫目経路終点P99とされているか否かにより判断される。注目点記憶エリア1212に記憶されている値が、縫目経路記憶エリア1207に記憶されている分岐点の座標の個数に等しければ注目点が縫目経路終点P99とされていると判断される。
すべての分岐点について処理が終了しないうちは(S23:NO)、まず、移動パターンAに該当するか否かの判断が行われる(S24)。この判断は、上述した移動パターンAに該当するか否か、つまり、反時計回りに注目点の属する正六角形の頂点を辿り、1,2,3番目の頂点が縫目経路上の点とされておらず、4番目の頂点が縫目経路上の点となっているか否かの判断が行われる。
ここで、移動パターンAに該当すると判断された場合には(S24:YES)、実際に縫目経路を移動させるか否かの判断が定められている確率に基づいて判断される(S26)。具体的には、モードに合わせて定められている確率が用いられる。現在は「モード1」であるので、注目点が縫目経路上の点である場合の実際に縫目経路を移動させる確率は「1/4」である。また、注目点が縫目経路上の点でない場合、すなわち縫目経路の移動により縫目経路上の点とされた点である場合に実際に縫目経路を移動させる確率は「1/12」である。
この確率に基づく判断には乱数が用いられる。乱数の取得には周知の乱数発生プログラムが用いられる。乱数発生プログラムは、所定の値を引数として乱数発生プログラムに与えると、所定の数字が乱数として引き渡される。本実施の形態では、注目点の縫目経路上における順番を引数として乱数発生プログラムに与えて、乱数を得る。そして、実際に縫目経路を移動させるか否かの判断には、定められている確率に基づいて「移動させる」と判断する値が定められており、この定められた値であるか否かにより移動させるか否かの判断が行われる。乱数発生プログラムにより生成される乱数の個数は、乱数発生プログラムにより定められており、例えば、確率が「1/4」である場合には乱数発生プログラムにより生成される乱数の個数のうちの1/4の個数の値が「移動させる」と判断される値とされている。これらの値は、ハードディスク装置120のその他の情報記憶エリア123に記憶されている。
なお、同一の縫製領域110において、開始点SP及び終了点EPが同一の点であれば、初期縫目経路310は同一の経路となる。よって、移動処理を行う際に注目点とされる分岐点も同一の点となり、乱数発生プログラムに与えられる引数も同一の値となる。よって、同一の縫製領域110に対して、開始点SP及び終了点EPを同一の点とすれば、何度、本処理を行っても同一の注目点で縫目経路が移動され、結果として得られる縫目経路410も同一のものとなる。なお、開始点SP及び終了点EPは同一の点でなくとも、開始点SPに基づいて決定される縫目経路始点P1及び終了点EPに基づいて決定される縫目経路終点P99が同一の分岐点とされれば、同一の縫目経路が作成される。
そして、「移動させる」と判断されると(S26:YES)、図25及び図26を参照して上述したように移動パターンAで縫目経路が移動される(S27)。そして、移動カウンタに「1」が加算される(S28)。そして、現在の注目点から反時計回りに4番目の頂点が次の注目点が決定されて、注目点記憶エリア1212に記憶される(S29)。図26に示す例では、縫目経路の4番目の分岐点である分岐点P6が次の注目点とされる。そして、S23へ戻る。
また、「移動させる」と判断されなかった場合には(S26:NO)、縫目経路において、現在注目点とされている分岐点の次の順番の分岐点が次の注目点とされ(S30)、S23へ戻る。具体的には、注目点記憶エリア1212に「1」が加算される。
一方、移動パターンAに該当しなかった場合には(S24:NO)、移動パターンBに該当するか否かの判断が行われる(S25)。この判断は、上述した移動パターンBに該当するか否か、つまり、反時計回りに注目点の属する正六角形の頂点を辿り、1,2,3,4番目の頂点が縫目経路上の点とされておらず、5番目の頂点が縫目経路上の点となっているか否かの判断が行われる。
ここで、移動パターンBに該当すると判断された場合には(S25:YES)、実際に縫目経路を移動させるか否かの判断が定められている確率に基づいて判断される(S31)。具体的には、モードに合わせて定められている確率が用いられる。現在は「モード1」であるので、上述した第一の場合、つまり、注目点の時計回りで左隣となる分岐点が、移動パターンBに該当して変形された際に縫目経路上の点とされた点であり、かつ、現在の注目点が、縫目経路を移動させた際の注目点に対して正六角形の対向した頂点である場合には、実際に縫目経路を移動させる確率は「0」である。よって、この第一の場合に該当する場合には、移動させると判断されない(S31:NO)。
また、第一の場合に該当せず第二の場合に該当する場合には、図30及び図31を参照して上述したように、縫目経路が移動された後に縫目経路がどのような形状となるかにより確率が決定される。図31に示すように、移動後の縫目経路において辺線分segB2,辺線分segB4共に移動パターンBが適用可能な場合には、実際に縫目経路を移動させる確率は「1/3」である。また、辺線分segB2,辺線分segB4のいずれか一方のみに移動パターンBが適用可能な場合には、実際に縫目経路を移動させる確率は「1/15」とされる。さらに、辺線分segB2,辺線分segB4共に移動パターンBが適用できない場合には、実際に縫目経路を移動させる確率は「0」とされる。
この確率に基づく判断にも、移動パターンAの場合と同様に乱数発生プログラムにより生成された乱数が用いられる。
そして、「移動させる」と判断されると(S231:YES)、図27及び図28を参照して上述したように移動パターンBで縫目経路が移動される(S32)。そして、移動カウンタに「1」が加算される(S33)。そして、現在の注目点から反時計回りに5番目の頂点が次の注目点が決定されて、注目点記憶エリア1212に記憶される(S34)。図28に示す例では、縫目経路の4番目の分岐点である分岐点P36が次の注目点とされる。そして、S23へ戻る。
また、「移動させる」と判断されなかった場合には(S31:NO)、縫目経路において、現在注目点とされている分岐点の次の順番の分岐点が次の注目点とされ(S35)、S23へ戻る。具体的には、注目点記憶エリア1212に「1」が加算される。
さらに、移動パターンBにも該当しなかった場合には(S25:NO)、縫目経路において、現在注目点とされている分岐点の次の順番の分岐点が次の注目点とされ(S36)、S23へ戻る。具体的には、注目点記憶エリア1212に「1」が加算される。
そして、S23〜S36の処理が繰り返し実施され、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
S41では、縫目経路が移動されたか否かの判断が行われる(S41)。この判断は移動カウンタの値が「1」以上であるか否かにより行われる。縫目経路が移動された場合には(S41:YES)、まだ「モード1」にて縫目経路を移動できる可能性があるので、S21へ戻り、移動カウンタが「0」に初期化され(S21)、縫目経路始点P1が注目点とされる(S22)。そして、S23〜S36の処理が繰り返し実施され、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
そして、S21〜S41の処理が繰り返し実施され、「モード1」においては縫目経路が移動されなくなったら(S41:NO)、「モード3」であるか否かの判断が行われる(S2S)。「モード1」であり「モード3」でないので(S42:NO)、モード記憶エリア1211に「1」が加算されて、「モード2」とされる(S43)。そして、S21へ戻る。
そして、「モード2」でS21〜S36の処理が行われる。ここでは、S26及びS31で行われる、実際に縫目経路を移動させるか否かの判断に用いられる確率が「モード2」の確率が用いられることとなる。具体的には、移動パターンAに該当した場合には(S24:YES)、「1/4」の確率で実際に縫目経路を移動させると判断される。また、移動パターンBに該当した場合には(S25:NO)、第一の場合分けに該当する場合は、実際に縫目経路を移動させる確率は「0」であり、必ず移動させると判断されない(S31:NO)。そして、第一の場合分けに該当しない場合の確率は「1」であり、必ず移動させると判断される(S31:YES)。
そして、「モード2」でS21〜S36の処理が繰り返し行われ、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
S41では、縫目経路が移動されたか否かの判断が行われる(S41)。この判断は移動カウンタの値が「1」以上であるか否かにより行われる。縫目経路が移動された場合には(S41:YES)、まだ「モード2」にて縫目経路を移動できる可能性があるので、S21へ戻り、移動カウンタが「0」に初期化され(S21)、縫目経路始点P1が注目点とされる(S22)。そして、S23〜S36の処理が繰り返し実施され、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
そして、S21〜S41の処理が繰り返し実施され、「モード2」においては縫目経路が移動されなくなったら(S41:NO)、「モード3」であるか否かの判断が行われ(S2S)、「モード2」であり「モード3」でないので(S42:NO)、モード記憶エリア1211に「1」が加算されて、「モード3」とされる(S43)。そして、S21へ戻る。
そして、「モード3」でS21〜S36の処理が行われる。ここでは、S26及びS31で行われる、実際に縫目経路を移動させるか否かの判断に用いられる確率が「モード3」の確率が用いられることとなる。具体的には、移動パターンA,Bのいずれの場合であっても確率は「1」であり、移動パターンAに該当した場合(S24:YES)、移動パターンBに該当した場合(S25:NO)、共に実際に縫目経路を移動させると判断される(S26:YES、S31:YES)。
そして、「モード3」でS21〜S36の処理が繰り返し行われ、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
S41では、縫目経路が移動されたか否かの判断が行われる(S41)。この判断は移動カウンタの値が「1」以上であるか否かにより行われる。縫目経路が移動された場合には(S41:YES)、まだ「モード3」にて縫目経路を移動できる可能性があるので、S21へ戻り、移動カウンタが「0」に初期化され(S21)、縫目経路始点P1が注目点とされる(S22)。そして、S23〜S36の処理が繰り返し実施され、移動パターンA,Bに該当し、実際に縫目経路を移動させると判断された場合に、縫目経路が移動されるという処理が行われる。そして、注目点が縫目経路終点P99となり、すべての分岐点についての処理が終了したら、S41へ進む。
そして、S21〜S41の処理が繰り返し実施され、「モード3」においては縫目経路が移動されなくなったら(S41:NO)、「モード3」であるか否かの判断が行われ(S2S)、「モード3」であるので(S42:YES)、本移動処理は終了し、メイン処理へ戻る。
このようにして、移動処理が実施されることにより初期縫目経路310(図11参照)の縫目経路が移動され縫目経路410が作成される(図12参照)。注目する正六角形において、縫目経路とされている辺線分の本数が縫目経路とされていない辺線分の本数よりも少ない場合に、縫目経路を移動させている。しかしながら、移動パターンA又は移動パターンBに該当する場合に必ず縫目経路を移動させていると、縫目経路始点P1に近い側の分岐点における縫目経路の移動が先行して行われ、縫目経路始点P1に近い側の縫目経路が縫目経路終点P99に近い側の縫目経路よりもより広がる(移動する)こととなり、バランスの悪い見苦しい形状の模様のステッチを形成する縫製データとなってしまう恐れがある。そこで、必ずしも縫目経路を移動させるのではなく、モードごとに定められた確率に基づいて縫目経路を移動させるか否かの判断が行われ、縫目経路を移動させたり、させなかったりしているので、縫目経路始点P1に近い縫目経路がより広がってゆくことがないので、バランスのよい美しい形状の模様のステッチを形成する縫製データを得ることができる。
次に、図32乃至図34を参照して、縫目経路410の作成後に行われる特殊処理について説明する。図32は、縫目経路410の作成後に行われる特殊処理の対象となる縫目経路860を示す説明図851であり、図33は、特殊処理の対象となる縫目経路860について説明するための説明図852であり、図34は、縫目経路860に対して特殊処理を行った後の縫目経路861を示す説明図853である。
図32に示す分岐点P100及び分岐点P101に注目する。前述した移動処理(図5,S6、図6参照)において、この分岐点P100を注目点とした場合、注目する正六角形hex100における反時計回りに2つ目の頂点P110は縫製領域870の外部に存在している。したがって、移動パターンA,Bに該当することはなく、縫目経路860である分岐点P100とP101とを結ぶ辺線分seg100は移動されない。同様に、分岐点P102に注目した場合も、注目する正六角形hex101における反時計回りに3つ目の頂点P111は縫製領域870の外部に存在し、縫目経路である分岐点P101と分岐点P102とを結ぶ辺線分seg101は移動されない。
しかしながら、図33に示す、分岐点P101において、周囲の3本の辺線分のうち、縫目経路860とされていない辺線分seg105に注目する。この辺線分seg105は、縫製領域870の輪郭線871で切断されてはいない。さらに、辺線分seg105の分岐点P101でない側の端点である分岐点P105において分岐する先の辺線分seg106,107も輪郭線871で切断されていない。つまり、正六角形としてはこれ以上広がりがないが、辺線分のみではさらに広がる余裕がある。
そこで、図34に示すように、分岐点P101を端点とする辺線分seg100における分岐点P101でない側の端点である分岐点P100と、辺線分seg100を輪郭線とする正六角形hex100において分岐点P100に対向する頂点である分岐点P106とを結び、新たな辺線分seg112を作成する。そして、分岐点P101を端点とする辺線分seg101における分岐点P101でない側の端点である分岐点P102と、辺線分seg102を輪郭線とする正六角形hex101において分岐点P102に対向する頂点である分岐点P107とを結び、新たな辺線分seg113を作成する。そして、分岐点P106と分岐点P107とを結び、新たな辺線分seg111を作成する。そして、縫目経路とされていた辺線分seg100、seg101を縫目経路から解除し、新たに作成された辺線分seg112,seg111,seg113を縫目経路とする。このようにして、新しい縫目経路861が作成される。
具体的には、縫目経路記憶エリア1207において、分岐点P100,P101,P102の順で情報が記憶されているものを、分岐点P101の情報が削除され、分岐点P106,P107の情報が追加されて、分岐点P100,P106,p107,p102という順で情報が記憶される。
次に、図35乃至図37を参照して、縫製領域110に満遍なく配置された縫目経路410の分岐点を移動させることにより変形させて、変形縫目経路510を作成する動作について詳述する。図35は、縫目経路410の部分拡大図であり、縫目経路410上の分岐点P52を一段階目に移動させる先の点P61を示した説明図501であり、図36は、分岐点P52を二段階目に移動させる先の点P62を示した説明図502であり、図37は、分岐点P52の座標を点P62の座標に移動させた後の縫目経路を示す説明図503である。
本実施の形態では、縫目経路410上の点とされるすべての分岐点について、第一の移動及び第二の移動を行う。まず、図35に示す分岐点P52を例に第一の移動を説明する。分岐点P52の周囲の3本の辺線分において、縫目経路とされていない辺線分seg60に注目する。この辺線分seg60をt:1−tの比に内分する点P61(分岐点P60と分岐点P61を結ぶ線分:分岐点P61と分岐点P52とを結ぶ線分=t:1−t)が、分岐点P52の第一の移動による移動先の点である。tの値は周知の乱数発生プログラムにより生成され、乱数発生プログラムには引数として、分岐点P52の縫目経路における順序を示す数値が与えられる。なお、この乱数発生プログラムは、移動処理で使用される乱数発生プログラムと同じものであっても別のものであってもよい。ここで、縫目経路記憶エリア1207における分岐点P52の座標が点P61の座標に変更される。
次いで、第二の移動が行われる。図36に示すように第二の移動では、第一の移動により移動されたP51から、点P61を中心とし、半径をrとした円C1の内部の任意の点にP62に移動される。この半径rは、基準距離記憶エリア1201に記憶されている基準距離に基づいた値とされる。本実施の形態では、「半径r=基準距離/5.0」とする。なお、円C1内の任意の点P62は次の方法で決定される。まず、乱数発生プログラムにより2つの値、数値A,Bが生成される。なお、それぞれの値の取る範囲は、「0≦数値A≦円C1の半径r」、「0≦数値B≦360」である。そして、任意の点P62のx座標は「中心点P61のx座標+数値A×cos数値B」、y座標は「中心点P61のx座標+数値A×sin数値B」とされる。そして、縫目経路記憶エリア1207における分岐点P52の座標はP62の座標に変更される。
このようにして、第一の移動及び第二の移動が行われ、分岐点P52の座標がP62の座標となることにより、分岐点P51と分岐点P52とを結んだ辺線分seg51は、図37に示す辺線分seg61となり、分岐点P52と分岐点P53とを結んだ辺線分seg52は、図37に示す辺線分seg62となり、正六角形hex50は正六角形でなく、辺線分seg51,seg52の成す角が120度よりも小さい角度である六角形となる。
移動処理(S6)及び特殊処理(S7)により、縫製領域110に満遍なく配置された縫目経路410上の点とされるすべての分岐点について、上述したような第一の移動及び第二の移動が行われ、変形縫目経路510が作成される。
次に、図38及び図39を参照して、ステッチ生成処理で行われる経路曲線610からの針落ち点の座標の決定について説明する。図38は、経路曲線650を示す説明図800であり、図39は、図38に示した経路曲線650から生成された針落ち点を示す説明図801である。変形処理(S8)の第一の移動及び第二の移動により作成された変形縫目経路は、ベジェ曲線化処理(S9)により、ベジェ曲線化され、経路曲線が作成される。ここでは、簡単のために、図38に示す縫目経路始点P601、縫目経路終点P602の経路曲線650を例に説明する。図38に示すように、経路曲線650は、曲線上に密に配置された多数の点として示されている。曲線記憶エリア1208にはこの点の座標が縫目経路始点P601から順に縫目経路終点P602まで記憶されている。
まず、経路曲線650を形成する点を縫目経路始点P601の次の点から順に、その点を頂点としてなす角が120度未満であるか否かの判断が行われる。n番目の点であれば、n−1番目の点とn番目の点とを結ぶ線分と、n番目の点とn+1番目の点とを結ぶ線分とで成す角の角度が120度と比較される。そして、120度未満であった点は特徴点とされる。図38に示す例では、点P600が特徴点とされる。そして、経路曲線650が特徴点で分割される。図38に示す例では、縫目経路始点P601から特徴点P600までである分割曲線651と、特徴点P600から縫目経路終点P602までである分割曲線652の2つの曲線に分割される。なお、特徴点がm個あれば、m+1個の曲線に分割され、特徴点がなければ、経路曲線は分割されずに、1本の曲線として以下の処理が行われる。
まず、各分割曲線上に配置される針落ち点の個数が算出される。そのために、分割曲線の長さが算出される。これは、それぞれの分割曲線をなす点において隣り合った点同士の距離を算出して合計すればよい。そして、分割曲線の長さをピッチ記憶エリア1202に記憶されているピッチの長さで割られ、商が求められる。そして、この商の小数点以下の値が四捨五入され、「1」が加算された値が、分割線分上に配置する針落ち点の個数とされる。
次いで、この分割曲線における針落ち点間の距離が算出される。具体的には、「針落ち点間の距離=分割曲線の長さ/針落ち点の個数+1」とされる。そして、図39に示すように、その分割曲線の一端に針落ち点が配置され、そこから針落ち点間の距離だけ分割曲線上を進んだ点が次の針落ち点とされ、さらにそこから針落ち点間の距離だけ分割曲線上を進んだ点が次の針落ち点とされ、分割曲線の他端が針落ち点とされる。ここで、針落ち点とされた点の座標がステッチ情報記憶エリア1209に記憶される。
図39に示す例では、分割曲線651は、縫目経路始点P601に針落ち点P701が配置され、特徴点P600に針落ち点P700が配置され、針落ち点P701と針落ち点P700との間に6個の針落ち点が等間隔に配置されている。そして、縫目経路終点P602に針落ち点P702が配置され、針落ち点P700から針落ち点P702の間に等間隔に6個の針落ち点が配置されている。
このようにして、経路曲線を特徴点で分割し、分割曲線においてピッチ記憶エリア1202に記憶されている値に基づいて、針落ち点の間隔を算出することにより、特徴点と特徴点との間、特徴点と縫目経路始点又は終点との間では、針落ち点間隔が均一になるので、美しい形状の模様のステッチを形成する縫製データを得ることができる。
なお、上記実施の形態において、図5に示すメイン処理のS3で輪郭線網を作成する処理を行うCPU11が「輪郭線網作成手段」に相当し、S4で縫目経路始点及び縫目経路終点を決定する処理を行うCPU11が「縫目経路始点終点決定手段」に相当し、S5で初期縫目経路を作成する処理を行うCPU11が「縫目経路作成手段」に相当する。そして、図6の移動処理のS24で移動パターンAに該当するか否かの判断処理を行うCPU11、S25で移動パターンBに該当するか否かの判断処理を行うCPU11が「移動判断手段」に相当し、図6の移動処理のS27で縫目経路を移動させる処理を行うCPU11、S32で縫目経路を移動させる処理を行うCPU11が「縫目経路移動処理」に相当する。そして、図6に示す移動処理を行うCPU11が「縫目経路調整手段」に相当し、図5に示すメイン処理のS11で縫製データを作成する処理を行うCPU11が「縫製データ作成手段」に相当する。
そして、図5に示すメイン処理のS8で変形縫目経路を作成する処理を行うCPU11が「縫目経路変形手段」に相当し、S9で縫目経路を曲線化する処理を行うCPU11が「曲線化手段」に相当する。そして、S2の処理で基準距離の入力を受け付ける処理を行うCPU11が「基準距離指定手段」に相当する。
なお、本発明の縫製データ作成装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。上記実施の形態では正六角形を単位領域としているが、正六角形に限らず、線対称な六角形であってもよい。六角形では角度が180度を超える頂点のない六角形が望ましい。正三角形、長方形、ひし形、平行四辺形、五角形等の多角形であってもよい。これらの多角形においても、また、配置する際の単位領域の向きは一定の方向である必要はない。また、上記実施の形態では、縫製領域に隙間なく正六角形を配置しているが、単位領域同士が接していれば、隙間があってもよい。
また、上記実施の形態では、縫製領域110内に満遍なく配置された縫目経路410を変形処理(S8)により変形させ、ベジェ曲線化処理(S9)により曲線化した後に、曲線上に針落ち点を配置してステッチ情報を作成した。しかしながら、S6の移動処理が終了した後の縫目経路上に針落ち点を配置してステッチ情報を作成したり、S7の特殊処理が終了した後の縫目経路上に針落ち点を配置してステッチ情報を作成したり、S8の変形処理が終了した後の変形縫目経路上に針落ち点を配置してステッチ情報を作成したりしてもよい。
また、上記実施の形態では、基準距離を1つ設定し、単位領域のサイズと、分岐点を移動させて変形縫目経路を作成する際の円の半径とに利用している。しかし、単位領域のサイズ用の基準距離と、円の半径用の基準距離との2つの基準距離を別々に入力させるようにしてもよい。また、基準距離をユーザにより入力させるのではなく、予め定められた値を用いるようにしてもよい。また、縫製領域の面積やサイズに基づいて決定するようにしてもよい。
また、上記実施の形態では、また、縫目経路始点を開始点に最も近い分岐点としているが、分岐点でなく、開始点に最も近い辺線分上の点であってもよい。縫目経路終点でも同様である。また、開始点及び終了点を縫製領域110の輪郭線111上の点としているが、縫製領域110内の点としてもよい。また、開始点及び終了点をユーザが指定するのではなく、任意の点をプログラムで設定してもよい。
また、上記実施の形態では、初期縫目経路310を作成する際に、縫製領域110の輪郭線近くを時計回りに辿るようにしたが、反時計回りに辿るようにしてもよいことはいうまでもない。
また、移動処理において、乱数発生プログラムを用いる際に、再現性を得るために、分岐点の縫目経路における順番を引数としたが、それ以外の値、例えば分岐点の座標を用いてもよい。また、引数に与える値を配列として記憶し、配列の1番目の値から順に用いるようにしてもよい。また、必ずしも再現性を得る必要はなく、引数をその都度異なる値としてもよい。例えば、時刻を引数に用いればよい。乱数発生プログラムを用いるのではなく、確率判断に用いる値を記憶した配列を記憶しておき、その配列から順に値を読み出して用いるようにしてもよい。また、移動経路を実際に移動させるか否かの判断を確率により行うのではなく、移動パターンに該当した場合に、所定回数おきに実際に移動させるようにしてもよい。また、縫目経路を実際に移動させるか否かの判断を行わずに、移動パターンに該当した場合にはすべて縫目経路を移動させるようにしてもよい。
また、上記実施の形態では1つの単位領域(正六角形)上の頂点(輪郭線上の分岐点)を走査して、縫目経路を移動させることができるか否かの判断を行ったが、1つの単位領域の輪郭線上の分岐点を走査するのではなく、複数の単位領域の外周上の分岐点を走査して、縫目経路を移動させることができるか否かの判断を行ってもよい。
また、上記実施の形態では、縫目経路410上のすべての分岐点を移動させて、変形縫目経路510を作成したが、すべての分岐点を移動させるのではなく、一部の分岐点のみを移動させてもよい。例えば、偶数番目の分岐点のみ移動させたり、3の倍数の順序の分岐点のみ移動させたり、分岐点ごとに乱数により所定の確率で移動させるか否かの判断を行ってもよい。また、第一の移動のみ行ってもよく、第二の移動のみ行ってもよい。また、ある点では第一の移動のみ、別の点では第二の移動のみ、また別の点では第一の移動及び第二の移動を行うようにしてもよい。
また、上記実施の形態では、移動処理(図5,S10、図6)において、移動パターンA又は移動パターンBに該当した場合に縫目経路を移動させるか否かの判断を行っており、「移動させる」と判断される確率を「モード1」,「モード2」,「モード3」で異なるものとしている。そして、「モード1」,「モード2」,「モード3」の順でモードは適用され、「モード1」,「モード2」,「モード3」の順で「移動させる」と判断される確率は高くなるように設定されている。つまり、移動パターンA又は移動パターンBに該当した場合には、「縫目経路を移動させるか否かの判断」を設定された確率に基づいて行っており、さらに、段階的に確率が高くなるようなモード設定が行われている。これにより、よりバランスのよい形状の模様のステッチを形成する縫製データを作成可能としている。この各モードの確率設定において、各モードで用いられる確率は上記実施の形態に示した確率に限らないことはいうまでもない。また、さらに多くの段階のモードが設けられていたり、より少ない段階のモードが設けられていたりしてもよい。この場合においても、後に適用されるモードの方が確率が高くなるように設定されている方が、移動可能な縫目経路がなくなるまでの処理時間が短くなるので、望ましい。また、段階的なモードを設けなくともよい。
さらに、「モード1」においては、移動パターンAに該当する場合に、注目点が初期縫目経路310上の点であるか否かにより2つの場合に分けられており、移動パターンBに該当する場合には、注目点の時計回りで左隣となる分岐点が、移動パターンBに該当して変形された際に縫目経路上の点とされた点であり、かつ、現在の注目点が、縫目経路を移動させた際の注目点に対して正六角形の対向した頂点であるかにより2つの場合に分けられており、それぞれの場合に異なる確率が用いられている。しかしながら、注目点がどのような点に該当するか否かの場合分けの条件は上記に示すものに限らないことはいうまでもなく、より多くの場合分けが行われていてもよい。
また、移動パターンA又は移動パターンBに該当した場合に縫目経路を移動させるか否かの判断を行わずに、移動パターンA又は移動パターンBに該当した場合には必ず縫目経路を移動させるようにしてもよい。
また、上記実施の形態では、モード3における確率を移動パターンA,Bともに「1」としているので、移動パターンA又は移動パターンBに該当する縫目経路(移動可能な縫目経路)がなくなるまで、縫目経路を移動させる処理が繰り返して実施されている。しかしながら、移動可能な縫目経路がなくなるまで処理を繰り返さずに、移動可能な縫目経路が残っている状態で移動処理を終了させてもよい。
また、本発明は、以上説明したように、刺繍ミシン3を用いて、刺繍枠31に保持された加工布にスティップリングステッチを縫製するという実施の形態に限定されるものではなく、スティップリングステッチの縫製データに基づいて、針棒35を左右方向に針振りさせる針振り機構(図示外)と、送り歯(図示外)を前後方向又は前後左右方向に駆動する送り機構(図示外)とを夫々駆動制御する、又は針振り機構は駆動せずに送り機構だけを駆動制御することによって、加工布を移動させてスティップリングステッチを縫製するようにしてもよい。