(57)【要約】【課題】  三次元のデータをもとに、立体的な表現の刺繍データを作成する刺繍データ作成装置及び刺繍データ作成プログラムを提供する。【解決手段】  サーフェイスモデルで構成された三次元情報を入力し（Ｓ１）、糸密度とピッチの最低値・最高値を設定する（Ｓ２）。入力した三次元情報に縫製属性の値を仮に設定し（Ｓ３）、立体の俯瞰位置を決定する（Ｓ４）。その俯瞰位置から決定される中心点に基づき二次元に投影して、二次元での糸密度とピッチを計算し（Ｓ５）、二次元投影時の縫製状態を生成して表示装置に描画する（Ｓ６）。操作者がその状態で刺繍データを作成すると決定すれば（Ｓ７：ＹＥＳ）、Ｓ２で設定された最高値と最低値の範囲に収まるように糸密度とピッチを補正した上で（Ｓ８）、刺繍データを作成する（Ｓ９）。【選択図】  図３
2006014898.tif 000002
【特許請求の範囲】
【請求項１】
刺繍ミシンにより刺繍を形成するための刺繍データを作成する刺繍データ作成装置において、
サーフェイスモデルからなる三次元情報を入力する三次元情報入力手段と、
当該三次元情報入力手段により入力された三次元情報からなる刺繍対象領域に、針落ち点情報を設定する針落ち点情報設定手段と、
前記針落ち点情報設定手段により設定された針落ち点情報を、二次元に投影した二次元針落ち点情報に変換する針落ち点情報変換手段と、
糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定する限界値設定手段と、
前記針落ち点情報変換手段により変換された二次元針落ち点情報を、当該限界値設定手段により設定された上限値及び下限値に従って補正する補正手段と、
当該補正手段により補正された二次元針落ち点情報に基づき刺繍データを作成する刺繍データ作成手段とを備えたことを特徴とする刺繍データ作成装置。
【請求項２】
前記三次元情報を二次元に投影する際の中心点を決定する中心点決定手段を備え、
前記針落ち点情報変換手段は、
前記針落ち点情報設定手段により設定された針落ち点情報を、当該中心点決定手段により決定された中心点に基づき、二次元に投影した二次元針落ち点情報に変換することを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項３】
前記限界値設定手段として、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を入力する限界値入力手段
を備えたことを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項４】
前記二次元針落ち点情報に基づく縫製状態を表示する表示手段を備えたことを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項５】
前記三次元情報入力手段により入力された三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換する格子情報変換手段と、
前記格子情報変換手段により変換された二次元格子情報を表示する表示手段とを備えたことを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項６】
前記三次元情報からなる刺繍対象領域を複数の領域に区画する領域区画手段を備え、
前記針落ち点情報設定手段は、当該領域区画手段により区画された各区画領域に対して前記針落ち点情報を設定することを特徴とする請求項１乃至５のいずれかに記載の刺繍データ作成装置。
【請求項７】
前記三次元情報入力手段により入力された三次元情報を構成する格子と、該格子で区画されたそれぞれの閉領域について、各閉領域を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、該二次元格子情報から二次元に投影した該閉領域内の中心を計算する閉領域内中心計算手段と、
当該閉領域内中心計算手段により計算された各閉領域の中心における糸密度を、前記補正手段による補正後の二次元針落ち点情報から取得する糸密度取得手段と、
当該糸密度取得手段が取得した各閉領域の糸密度の最高値を求める最高値演算手段と、
前記糸密度取得手段が取得した各閉領域の糸密度の最低値を求める最低値演算手段と、
前記最高値演算手段の求めた最高値及び前記最低値演算手段の求めた最低値に基づき前記補正後の二次元針落ち点情報の糸密度をさらに補正する糸密度再補正手段とを備えたことを特徴とする請求項１乃至６のいずれかに記載の刺繍データ作成装置。
【請求項８】
刺繍ミシンにより刺繍を形成するための刺繍データをコンピュータに作成させる刺繍データ作成プログラムにおいて、
サーフェイスモデルからなる三次元情報を入力する三次元情報入力ステップと、
当該三次元情報入力ステップにより入力された三次元情報からなる刺繍対象領域に、針落ち点情報を設定する針落ち点情報設定ステップと、
前記針落ち点情報設定ステップにより設定された針落ち点情報を、二次元に投影した二次元針落ち点情報に変換する針落ち点情報変換ステップと、
糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定する限界値設定ステップと、
前記針落ち点情報変換ステップにより変換された二次元針落ち点情報を、当該限界値設定ステップにより設定された上限値及び下限値に従って補正する補正ステップと、
当該補正ステップにより補正された二次元針落ち点情報に基づき刺繍データを作成する刺繍データ作成ステップとをコンピュータに実行させる刺繍データ作成プログラム。
【請求項９】
前記三次元情報を二次元に投影する際の中心点を決定する中心点決定ステップをコンピュータにさらに実行させ、
前記針落ち点情報変換ステップでは、
前記針落ち点情報設定手段により設定された針落ち点情報を、当該中心点決定ステップにより決定された中心点に基づき、二次元に投影した二次元針落ち点情報に変換することを特徴とする請求項８に記載の刺繍データ作成プログラム。
【請求項１０】
前記限界値設定ステップとして、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を入力する限界値入力ステップを備えたことを特徴とする請求項８に記載の刺繍データ作成プログラム。
【請求項１１】
前記二次元針落ち点情報に基づく縫製状態を表示する表示ステップをコンピュータにさらに実行させる請求項８に記載の刺繍データ作成プログラム。
【請求項１２】
前記三次元情報入力ステップにより入力された三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換する格子情報変換ステップと、
前記格子情報変換ステップにより変換された二次元格子情報を表示する表示ステップとをコンピュータにさらに実行させる請求項８に記載の刺繍データ作成プログラム。
【請求項１３】
前記三次元情報からなる刺繍対象領域を複数の領域に区画する領域区画ステップをコンピュータにさらに実行させ、
前記針落ち点情報設定ステップは、当該領域区画ステップにより区画された各区画領域に対して前記針落ち点情報を設定することを特徴とする請求項８乃至１２のいずれかに記載の刺繍データ作成プログラム。
【請求項１４】
前記三次元情報入力手段により入力された三次元情報を構成する格子と、該格子で区画されたそれぞれの閉領域について、各閉領域を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、該二次元格子情報から二次元に投影した該閉領域内の中心を計算する閉領域内中心計算ステップと、
当該閉領域内中心計算ステップにより計算された各閉領域の中心における糸密度を、前記補正ステップによる補正後の二次元針落ち点情報から取得する糸密度取得ステップと、
当該糸密度取得ステップが取得した各閉領域の糸密度の最高値を求める最高値演算ステップと、
前記糸密度取得ステップが取得した各閉領域の糸密度の最低値を求める最低値演算ステップと、
前記最高値演算ステップにおいて求めた最高値及び前記最低値演算ステップにおいて求めた最低値に基づき前記補正後の二次元針落ち点情報の糸密度をさらに補正する糸密度再補正ステップとをコンピュータにさらに実行させる請求項８乃至１３のいずれかに記載の刺繍データ作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間の位置情報に基づいた立体を表す三次元情報に基づいて、刺繍ミシンの動作に必要な刺繍データを作成する刺繍データ作成装置、及び、コンピュータにこのような刺繍データの作成を実行させる刺繍データ作成プログラムに関するものである。
【背景技術】
【０００２】
従来、立体的な風合いを持つ刺繍を作成するには、作業者の熟練が必要であり、自動でこれを作成することはできなかった。
【０００３】
例えば画像から自動的に刺繍データを作成する方法はいくつか提案されているが、いずれも平面画像の特徴を抽出し、刺繍データを作成するものであり、立体的な特徴を表現するものではなかった。
【０００４】
これに対して、例えば特許文献１では、あらかじめ用意したメッシュをユーザーが変形する事で、立体の風合いを有する刺繍データを作成することを提案している。
【特許文献１】特開平９−１７６９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながらこの方法ではメッシュを立体風にユーザーが変形する必要があり、複雑な立体を表現するには結局作業者の熟練を必要とする。
【０００６】
一方で、世の中には三次元データを入力するためのＣＡＤのような入力手段が存在する。また、これらで作られた三次元データも多く存在する。このデータは、空間の位置情報の点列と、点列からなる閉領域に対する面情報からなる。ここで、入力された三次元データの位置情報の点列をもとに、図２３に示すような線縫いによる刺繍データを作成することを考えると、三次元情報を二次元に展開し、線分に沿って線縫いの刺繍データを展開する事で容易に実現できる。図２３は、線縫いによる刺繍データの例を示す説明図である。
【０００７】
しかしながらこの方法では、立体的な幾何学模様を刺繍することはできるが、従来平面的な表現であった刺繍デザインを立体的に表現することはできない。
【０００８】
本発明は、上述した問題点を解決するためになされたものであり、三次元のデータをもとに、立体的な表現の刺繍データを作成する刺繍データ作成装置及び刺繍データ作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の請求項１に記載の刺繍データ作成装置は、刺繍ミシンにより刺繍を形成するための刺繍データを作成する刺繍データ作成装置において、サーフェイスモデルからなる三次元情報を入力する三次元情報入力手段と、当該三次元情報入力手段により入力された三次元情報からなる刺繍対象領域に、針落ち点情報を設定する針落ち点情報設定手段と、前記針落ち点情報設定手段により設定された針落ち点情報を、二次元に投影した二次元針落ち点情報に変換する針落ち点情報変換手段と、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定する限界値設定手段と、前記針落ち点情報変換手段により変換された二次元針落ち点情報を、当該限界値設定手段により設定された上限値及び下限値に従って補正する補正手段と、当該補正手段により補正された二次元針落ち点情報に基づき刺繍データを作成する刺繍データ作成手段とを備えたことを特徴とする。
【００１０】
また、本発明の請求項２に記載の刺繍データ作成装置は、請求項１に記載の発明の構成に加え、前記三次元情報を二次元に投影する際の中心点を決定する中心点決定手段を備え、前記針落ち点情報変換手段は、前記針落ち点情報設定手段により設定された針落ち点情報を、当該中心点決定手段により決定された中心点に基づき、二次元に投影した二次元針落ち点情報に変換することを特徴とする。
【００１１】
また、本発明の請求項３に記載の刺繍データ作成装置は、請求項１に記載の発明の構成に加え、前記限界値設定手段として、糸密度又が針落ち点間隔の少なくとも一方の上限値及び下限値を入力する限界値入力手段を備えたことを特徴とする。
【００１２】
また、本発明の請求項４に記載の刺繍データ作成装置は、請求項１に記載の発明の構成に加え、前記二次元針落ち点情報に基づく縫製状態を表示する表示手段を備えたことを特徴とする。
【００１３】
また、本発明の請求項５に記載の刺繍データ作成装置は、請求項１に記載の発明の構成に加え、前記三次元情報入力手段により入力された三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換する格子情報変換手段と、前記格子情報変換手段により変換された二次元格子情報を表示する表示手段とを備えたことを特徴とする。
【００１４】
また、本発明の請求項６に記載の刺繍データ作成装置は、請求項１乃至５のいずれかに記載の発明の構成に加え、前記三次元情報からなる刺繍対象領域を複数の領域に区画する領域区画手段を備え、前記針落ち点情報設定手段は、当該領域区画手段により区画された各区画領域に対して前記針落ち点情報を設定することを特徴とする。
【００１５】
また、本発明の請求項７に記載の刺繍データ作成装置は、請求項１乃至６のいずれかに記載の発明の構成に加え、前記三次元情報入力手段により入力された三次元情報を構成する格子と、該格子で区画されたそれぞれの閉領域について、各閉領域を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、該二次元格子情報から二次元に投影した該閉領域内の中心を計算する閉領域内中心計算手段と、当該閉領域内中心計算手段により計算された各閉領域の中心における糸密度を、前記補正手段による補正後の二次元針落ち点情報から取得する糸密度取得手段と、当該糸密度取得手段が取得した各閉領域の糸密度の最高値を求める最高値演算手段と、前記糸密度取得手段が取得した各閉領域の糸密度の最低値を求める最低値演算手段と、前記最高値演算手段の求めた最高値及び前記最低値演算手段の求めた最低値に基づき前記補正後の二次元針落ち点情報の糸密度をさらに補正する糸密度再補正手段とを備えたことを特徴とする。
【００１６】
また、本発明の請求項８に記載の刺繍データ作成プログラムは、刺繍ミシンにより刺繍を形成するための刺繍データをコンピュータに作成させる刺繍データ作成プログラムにおいて、サーフェイスモデルからなる三次元情報を入力する三次元情報入力ステップと、当該三次元情報入力ステップにより入力された三次元情報からなる刺繍対象領域に、針落ち点情報を設定する針落ち点情報設定ステップと、前記針落ち点情報設定ステップにより設定された針落ち点情報を、二次元に投影した二次元針落ち点情報に変換する針落ち点情報変換ステップと、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定する限界値設定ステップと、前記針落ち点情報変換ステップにより変換された二次元針落ち点情報を、当該限界値設定ステップにより設定された上限値及び下限値に従って補正する補正ステップと、当該補正ステップにより補正された二次元針落ち点情報に基づき刺繍データを作成する刺繍データ作成ステップとをコンピュータに実行させる。
【００１７】
また、本発明の請求項９に記載の刺繍データ作成プログラムは、請求項８に記載の発明の構成に加え、前記三次元情報を二次元に投影する際の中心点を決定する中心点決定ステップをコンピュータにさらに実行させ、前記針落ち点情報変換ステップでは、前記針落ち点情報設定手段により設定された針落ち点情報を、当該中心点決定ステップにより決定された中心点に基づき、二次元に投影した二次元針落ち点情報に変換することを特徴とする。
【００１８】
また、本発明の請求項１０に記載の刺繍データ作成プログラムは、請求項８に記載の発明の構成に加え、前記限界値設定ステップとして、糸密度又が針落ち点間隔の少なくとも一方の上限値及び下限値を入力する限界値入力ステップを備えたことを特徴とする。
【００１９】
また、本発明の請求項１１に記載の刺繍データ作成プログラムは、請求項８に記載の発明の構成に加え、前記二次元針落ち点情報に基づく縫製状態を表示する表示ステップをコンピュータにさらに実行させることを特徴とする。
【００２０】
また、本発明の請求項１２に記載の刺繍データ作成プログラムは、請求項８に記載の発明の構成に加え、前記三次元情報入力ステップにより入力された三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換する格子情報変換ステップと、前記格子情報変換ステップにより変換された二次元格子情報を表示する表示ステップとコンピュータにさらに実行させることを特徴とする。
【００２１】
また、本発明の請求項１３に記載の刺繍データ作成プログラムは、請求項８乃至１２のいずれかに記載の発明の構成に加え、前記三次元情報からなる刺繍対象領域を複数の領域に区画する領域区画ステップをコンピュータにさらに実行させ、前記針落ち点情報設定ステップは、当該領域区画ステップにより区画された各区画領域に対して前記針落ち点情報を設定することを特徴とする。
【００２２】
また、本発明の請求項１４に記載の刺繍データ作成プログラムは、請求項８乃至１３のいずれかに記載の発明の構成に加え、前記三次元情報入力手段により入力された三次元情報を構成する格子と、該格子で区画されたそれぞれの閉領域について、各閉領域を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、該二次元格子情報から二次元に投影した該閉領域内の中心を計算する閉領域内中心計算ステップと、当該閉領域内中心計算ステップにより計算された各閉領域の中心における糸密度を、前記補正ステップによる補正後の二次元針落ち点情報から取得する糸密度取得ステップと、当該糸密度取得ステップが取得した各閉領域の糸密度の最高値を求める最高値演算ステップと、前記糸密度取得ステップが取得した各閉領域の糸密度の最低値を求める最低値演算ステップと、前記最高値演算ステップにおいて求めた最高値及び前記最低値演算ステップにおいて求めた最低値に基づき前記補正後の二次元針落ち点情報の糸密度をさらに補正する糸密度再補正ステップとをコンピュータにさらに実行させることを特徴とする。
【発明の効果】
【００２３】
本発明の請求項１に記載の刺繍データ作成装置によれば、サーフェイスモデルからなる三次元情報を入力し、これに対して針落ち点情報を設定し、さらに二次元に投影して、二次元の針落ち点情報に変換する。そして、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定し、この範囲に収まるように、先に変換された二次元針落ち点情報を補正して、刺繍データを作成するので、三次元の入力情報をもとに、立体的な表現の刺繍データを、縫製可能範囲内で作成できる。
【００２４】
また、本発明の請求項２に記載の刺繍データ作成装置によれば、請求項１に記載の発明の効果に加え、三次元情報を二次元に投影する際には、投影する際の中心点を決定し、投影を行なうので、好ましい立体の見え方を選んで刺繍データを作成することができる。
【００２５】
また、本発明の請求項３に記載の刺繍データ作成装置によれば、請求項１に記載の発明の効果に加え、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を操作者が入力可能としたので、好みの風合いで刺繍データを作成できる。
【００２６】
また、本発明の請求項４に記載の刺繍データ作成装置によれば、請求項１に記載の発明の効果に加え、二次元針落ち点情報に基づく縫製状態を、刺繍データ作成前にあらかじめ表示できるので、刺繍後のイメージを把握してから刺繍データの作成を実行することができる。
【００２７】
また、本発明の請求項５に記載の刺繍データ作成装置によれば、請求項１に記載の発明の効果に加え、三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、この二次元格子情報を表示させるので、演算の負荷を重くすることなく二次元のイメージを把握することができる。
【００２８】
また、本発明の請求項６に記載の刺繍データ作成装置によれば、請求項１乃至５のいずれかに記載の発明の効果に加え、領域に区画された範囲ごとに針落ち点情報を設定するので、所望の刺繍内容に応じて詳細に針落ち点情報を設定することができる。
【００２９】
また、本発明の請求項７に記載の刺繍データ作成装置によれば、請求項１乃至６のいずれかに記載の発明の効果に加え、対象となる立体の位置が俯瞰位置から見て奥のほうにある場合など、糸密度が全体的に濃くなってしまい、手前側と奥側との差異が糸密度によって表現できなくなってしまうような場合にも、各格子で区画された閉領域の位置関係を用いて、糸密度を補正することで、立体的風合いを損なうことなく表現できる。
【００３０】
また、本発明の請求項８に記載の刺繍データ作成プログラムによれば、サーフェイスモデルからなる三次元情報を入力し、これに対して針落ち点情報を設定し、さらに二次元に投影して、二次元の針落ち点情報に変換する。そして、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を設定し、この範囲に収まるように、先に変換された二次元針落ち点情報を補正して、刺繍データを作成するので、三次元の入力情報をもとに、立体的な表現の刺繍データを、縫製可能範囲内で、コンピュータにより作成できる。
【００３１】
また、本発明の請求項９に記載の刺繍データ作成プログラムによれば、請求項８に記載の発明の効果に加え、三次元情報を二次元に投影する際には、投影する際の中心点を決定して行なうので、好ましい立体の見え方を選んで刺繍データをコンピュータにより作成することができる。
【００３２】
また、本発明の請求項１０に記載の刺繍データ作成プログラムによれば、請求項８に記載の発明の効果に加え、糸密度又は針落ち点間隔の少なくとも一方の上限値及び下限値を操作者が入力可能としたので、好みの風合いで刺繍データをコンピュータにより作成できる。
【００３３】
また、本発明の請求項１１に記載の刺繍データ作成プログラムによれば、請求項８に記載の発明の効果に加え、二次元針落ち点情報に基づく縫製状態を、刺繍データ作成前にあらかじめ表示できるので、刺繍後のイメージを把握してからコンピュータにより刺繍データの作成を実行することができる。
【００３４】
また、本発明の請求項１２に記載の刺繍データ作成プログラムによれば、請求項８に記載の発明の効果に加え、三次元情報を構成する格子の位置情報を、二次元に投影した二次元格子情報に変換し、この二次元格子情報を表示させるので、演算の負荷を重くすることなく二次元のイメージをコンピュータにより把握することができる。
【００３５】
また、本発明の請求項１３に記載の刺繍データ作成プログラムによれば、請求項８乃至１２のいずれかに記載の発明の効果に加え、領域に区画された範囲ごとに針落ち点情報を設定するので、所望の刺繍内容に応じて詳細に針落ち点情報をコンピュータにより設定することができる。
【００３６】
また、本発明の請求項１４に記載の刺繍データ作成プログラムによれば、請求項８乃至１３のいずれかに記載の発明の効果に加え、対象となる立体の位置が俯瞰位置から見て奥のほうにある場合など、糸密度が全体的に濃くなってしまい、手前側と奥側との差異が糸密度によって表現できなくなってしまうような場合にも、各格子で区画された閉領域の位置関係を用いて、糸密度を補正することで、立体的風合いを損なうことなく表現できる。
【発明を実施するための最良の形態】
【００３７】
次に本発明を実施するための最良の形態について図面を参照して説明する。本実施の形態は、任意の方法により入力した図柄を刺繍データとして不揮発性のメモリカードに書き込むことによって、刺繍データを刺繍ミシンに供給するための刺繍データ作成装置に対して、本発明を適用したものである。
【００３８】
ここで、本実施の形態に用いられる刺繍ミシンについて以下に簡単に説明する。刺繍ミシンは、ミシンベッド上に配置され刺繍が施される加工布を保持する刺繍枠を、水平移動機構により装置固有のＸ・Ｙ座標系で示される所定位置に移動させつつ、縫い針及び釜機構による縫製動作を行なうことにより、その加工布に所定の図柄の刺繍を施すようになっている。
【００３９】
そして、前記水平移動機構や針棒などは、ミシンに内蔵されたマイクロコンピュータ等から構成される制御装置により制御されるようになっており、従って、一針毎の加工布のＸ・Ｙ方向の移動量、即ち針落ち位置を指示する刺繍データ（ステッチデータ）が与えられることにより、制御装置は刺繍動作を自動的に実行することが可能となる。
【００４０】
また、本実施の形態では、刺繍ミシンにはメモリカード装置が設けられ、書き換え可能なメモリカードを装着することにより、外部から刺繍データが与えられるように構成されている。即ち、本実施の形態の刺繍データ作成装置は、このような刺繍ミシンにおいて刺繍縫製を行うための刺繍データを作成・編集する機能を有するものである。
【００４１】
次に、本実施の形態の刺繍データ作成装置１の全体構成について、図１を参照して説明する。図１は、刺繍データ作成装置１の全体構成を示す外観図である。刺繍データ作成装置１は、基本的には、装置本体と、装置本体に接続されたマウス２、キーボード３、メモリカードコネクタ４、及び表示装置５から構成されている。
【００４２】
次に、刺繍データ作成装置の制御系について、図２を参照して説明する。図２は、刺繍データ作成装置の電気的構成を示すブロック図である。
【００４３】
図２に示すように、刺繍データ作成装置１は、刺繍データ作成装置１を制御するＣＰＵ６、ＣＰＵ６が各種の処理をする際にワークエリアとして使用するＲＡＭ７、各種の初期設定値やＢＩＯＳなどを記憶したＲＯＭ８、及び入出力（Ｉ／Ｏ）インタフェース９と、そのＩ／Ｏインタフェース９に接続されたマウス２、キーボード３、メモリカードコネクタ４、メモリカード１０、ハードディスク等から構成され、各種プログラムや三次元情報を含むデータを記憶した外部記憶装置１１及び表示装置５から構成されている。
【００４４】
次に、以上の構成を有する刺繍データ作成装置１における処理の流れについて、図３〜図６のフローチャート及び図７〜図１６及び図２２の説明図を参照して説明する。以下の処理は、刺繍イメージをその都度表示装置５上に描画する第一の実施形態についてのものである。図３は、刺繍データ作成処理のメインルーチンのフローチャートである。図４は、図３のＳ５で実行する二次元投影情報計算処理の流れを示すサブルーチンのフローチャートである。図５は、図３のＳ８で実行する補正処理のサブルーチンのフローチャートである。図６は、図３のＳ８で実行する補正処理の別の例のサブルーチンのフローチャートである。図７は、サーフェイスモデルの例を示す説明図である。図８は、入力された三次元情報の例を示す説明図である。図９は、三次元情報の俯瞰位置の設定を示す説明図である。図１０は、縫製属性の仮定と二次元への投影を示す説明図である。図１１は、投影における中心点を示す説明図である。図１２は、（ａ）は三次元情報を二次元に投影した縫製データの例を示す説明図であり、（ｂ）は、補正後の縫製データの例を示す説明図である。図１３は、針落ち点間隔の補正処理の例を示す説明図であり、（ａ）は三次元情報を二次元に投影した縫製データの例を示す説明図であり、（ｂ）は、補正後の縫製データの例を示す説明図である。図１４は、糸のＸ座標での配置位置と糸間隔の関係を示すグラフである。図１５は、補正前の糸の配置位置を示す説明図である。図１６は、入力された三次元情報に基づいて作成された刺繍データの例を示す説明図である。図２２は、糸の配置位置と隣り合う糸の間隔のリストを示す説明図である。以下の説明において、処理のステップを「Ｓ」と略記する。
【００４５】
図３に示すように、刺繍データ作成処理が開始されると、まず、三次元の対象の情報を入力する（Ｓ１）。ここで、本発明における三次元情報は、サーフェイスモデルを対象としている。サーフェイスモデルとは、図７に示すように、立体を多角形の平面の集まりとして表現するものであり、立体を構成するポリゴンといわれる多角形を単位として、その頂点の座標点列の集合で表現されるものである。尚、前述した図２２も、サーフェイスモデルの別の例を示している。
【００４６】
また、本実施形態の中では、このような多角形の各辺を格子、その多角形の平面を格子で区画された閉領域と表現している。本実施形態では、別途任意の方法で作成され、外部記憶装置１１やメモリカード１０等に記憶された、既存の三次元情報を入力するものとする。ここでは、説明を簡単にするため、図８に示すような板状の立体を入力したものとする。
【００４７】
次に、糸密度及び針落ち点間隔（ピッチ）の最低値・最高値を設定する（Ｓ２）。すなわち、今作ろうとしている刺繍データ全体の糸密度及び針落ち点間隔（ピッチ）の最低値・最高値を決める。これは、あらかじめ決められた値であっても良いし、操作者がその場でマウス２やキーボード３を用いて入力するようにしても良い。この場合には、マウス２及びキーボード３が本発明の限界値入力手段に相当する。
【００４８】
次に、三次元の対象の表面の点列からなる閉領域に、縫製属性、すなわち針落ち点情報を設定する（Ｓ３）。このとき設定される縫製属性は、三次元の対象の表面に対して縫製すると仮定したものである。ここで縫製属性には、縫製方法、糸色、糸密度、針落ち点間隔（ピッチ）が含まれる。ここで、縫製方法としては閉領域を刺繍縫いする縫い方の種別を意味し、たたみ縫いやサテン縫いなどがあげられる。
【００４９】
次に、三次元の対象の俯瞰位置を決定する（Ｓ４）。換言すると、三次元の対象を移動・回転する。これはつまり、立体をどこから見るかということである。例えば、図７では、（ａ）に示す立体と（ｂ）に示す立体は同じものであるが、俯瞰位置が異なるため、見え方が違っている。また、立体の俯瞰位置を変更する、ということは、立体を移動・回転させる、と言うことと等価である。例えば、図８に示す板状の立体Ｍを回転させると図９に示す（符号Ｍ’として表示）ようになるが、これは、図８について、図９での回転方向と逆方向に俯瞰位置を移動したことと等価である。
【００５０】
次に、俯瞰位置を決定した三次元の対象の表面に仮定された縫製情報について、二次元投影情報を計算する（Ｓ５）。この二次元投影情報計算処理の詳細については、図４を参照して後述する。次に、Ｓ５で計算した二次元投影情報を表示装置５の操作画面に描画する（Ｓ６）。例えば、図１０（ｂ）のように表示される。
【００５１】
次に、Ｓ６で描画された状態で決定とし、刺繍データを作成するか否かを判断する（Ｓ７）。この決定は、操作者からの入力を受け付けることによって判断する。刺繍データをまだ作成しない場合には（Ｓ７：ＮＯ）、Ｓ３に戻って上記のステップを繰り返す。
【００５２】
刺繍データを作成する場合には（Ｓ７：ＹＥＳ）、次に、Ｓ５で計算した糸の配置位置と針落ち点の二次元投影情報について、糸密度（糸配置間隔）、針落ち点間隔を補正する（Ｓ８）。Ｓ５で計算した糸の配置位置と針落ち点の二次元投影情報をそのまま刺繍データに変換すれば、立体的な表現の刺繍データを実現できるが、ここで計算した糸密度および針落ち点間隔（ピッチ）が、現実に縫製可能な値であるとは限らない。例えば計算上１ｍｍあたり１０本という糸密度や０．５ｍｍの針落ち点間隔（ピッチ）が連続するような場合、実際に縫製を行うと縫製品質が著しく悪くなる。また、極端な場合では糸や被縫製物（布）が一箇所に寄り合って、縫製不可能になり、針折れ・糸切れなどを引き起こす。
【００５３】
また逆に、針落ち点間隔（ピッチ）があまり広すぎると、糸が被縫製物から離れたような状態になったり、密度が荒すぎると糸と糸の間隔があいてしまい、本来表現したい刺繍の風合いが損なわれる、という問題が発生する。
【００５４】
そこで、Ｓ２で設定した糸密度及び針落ち点間隔（ピッチ）の最低値・最高値に従って、糸密度及び針落ち点間隔（ピッチ）を補正する。ここで実行する補正処理の詳細は、図５及び図６を参照して後述する。
【００５５】
補正処理が終了したら、補正後の糸密度及び針落ち点間隔に従って、刺繍データを作成し（Ｓ９）、処理を終了する。
【００５６】
次に、図４を参照して、図３のＳ５で実行する二次元投影情報計算処理について説明する。この二次元投影情報計算処理では、三次元の対象の表面に仮定された縫製情報の針落ち点の一つ一つを、二次元に投影する。
【００５７】
まず、投影の中心点（消失点）を設定する（Ｓ５１）。これは、三次元情報の俯瞰位置（図３：Ｓ４で決定）から決まる値である。投影の中心点（消失点）は、立体を表現するとき、ここが無限遠点であることを示す点である。この点を近くに置くと遠近感が強調され、遠くに置くと、遠近感は弱まる。上記、俯瞰位置を決定するとは、どの位置から、どのような遠近感で見るか、を指定するものである。投影における投影の中心点（消失点）を三次元の座標上に表すと、例えば図１１に示すようになる。
【００５８】
次に、三次元上の各点を入力する（Ｓ５２）。三次元の対象の表面に仮定された縫製情報の、糸の配置位置および針落ち点のことである。尚、糸の配置位置とは、三次元の対象の表面のどの位置に糸を配置するかと言う情報である。例えば糸密度が３本／ｍｍであれば、０．３３３３３３ｍｍごとに糸が配置される。ここで配置される糸の両端点には当然針落ち点があり、すなわち、針落ち点の情報は糸の配置位置の情報を含んでいる。しかし今、縫製情報について糸密度と針落ち点間隔の問題を分けて説明しているため、これらを別のものとして示している。
【００５９】
次に、以下の計算式により三次元上の点(X,Y,Z)を二次元上の点(x,y)に投影する（Ｓ５３）。
x=(Xc*Z-X*Zc)/(Z-Zc)
y=(Yc*Z-Y*Zc)/(Z-Zc)
この処理を繰り返すことで各点を計算し、三次元情報を二次元に投影する。そして、図３のメインルーチンに戻る。
【００６０】
次に、図３のＳ８で実行する補正処理について、図５、図１２及び図２２を参照して説明する。
【００６１】
例えば、図４のフローチャートに従って計算した結果、図１２（ａ）のように縫い目が設定された閉領域があるとする。これについて、糸密度を最高値と最低値の間になるように糸密度を変更する。同様に、針落ち点間隔（ピッチ）を調べ、最低値に満たないものは最低値に、最高値を超えるものは最高値になるように補正すると、図１２（ｂ）のようになる。
【００６２】
ここでは、最高密度を５本／ｍｍ、最低密度を２本／ｍｍと設定している（図３：Ｓ２）。これは、言い換えれば、隣り合う糸の間隔が０．２ｍｍよりも小さければ、これを０．２ｍｍにし、０．５ｍｍより大きければ、これを０．５ｍｍとするということである。針落ち点間隔（ピッチ）についても同様で、隣接する針落ち点の距離が、最低値より小さければ最低値にし、最高値より大きければ最高値にする。
【００６３】
図５に示すように、補正処理を開始すると、まず、開始配置位置へ糸を配置する（Ｓ６０１）。この時、ｌＰを今糸を配置した開始配置位置、ｌＣを補正前の糸の配置について、次に糸を配置する配置予定位置とする。
【００６４】
次に、以下の計算式により、直前の配置位置と、次に糸を配置する配置予定位置の距離ｄｌを計算する（Ｓ６０２）。
ｄｌ＝ｌＣ−ｌＰ
図１２に示す例では、ｄｌ＝０．８ｍｍとなる。
【００６５】
次に、ｄｌを糸間隔の最高値ｄＭＡＸと比較する（Ｓ６０３）。ｄＭＡＸは、図３のＳ２で設定した糸密度の最低値の逆数である。いま、糸密度の最低値が２本／ｍｍであった時、
ｄＭＡＸ＝１／２＝０．５ｍｍ
である。
【００６６】
糸間隔が最大値より大きい場合（ｄｌ＞ｄＭＡＸの時）には（Ｓ６０３：ＹＥＳ）、次に、直前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離を糸間隔の最高値ｄＭＡＸと糸間隔の最低値ｄＭＩＮの和と比較する（Ｓ６０４）。
（ｌＬＡＳＴ−ｌＰ）＞（ｄＭＡＸ＋ｄＭＩＮ）
図１２の例では、  ｄｌ＝０．８＞ｄＭＡＸ＝０．５  なので、Ｓ６０３：ＹＥＳとなり、Ｓ６０４に進むこととなる。
【００６７】
直前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離が、最高値ｄＭＡＸと糸間隔の最低値ｄＭＩＮの和よりも大きい場合には（Ｓ６０４：ＹＥＳ）、次の配置位置ｌＣを、ｌＰ＋ｄＭＡＸに変更し（Ｓ６０５）、Ｓ６１１へ移行する。
【００６８】
前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離が最高値ｄＭＡＸと糸間隔の最低値ｄＭＩＮの和以下の場合には（Ｓ６０４：ＮＯ）、次の配置位置ｌＣをｌＬＡＳＴ−ｄＭＩＮに変更し（Ｓ６０６）、Ｓ６１１へ移行する。これは、ｌＣ＝ｌＰ＋ｄＭＡＸとしてしまうと、ｌＣとｌＬＡＳＴの距離がｄＭＩＮより小さくなってしまうためである。
【００６９】
一方、Ｓ６０３において糸間隔が最大値以下の場合（ｄｌ＜＝ｄＭＡＸの時）には（Ｓ６０３：ＮＯ）、ｄｌを糸間隔の最低値ｄＭＩＮと比較する（Ｓ６０７）。ｄＭＩＮは、図３のＳ２で設定した糸密度の最高値の逆数である。いま、糸密度の最高値が５本／ｍｍであった時、ｄＭＩＮ＝１／５＝０．２ｍｍである。
【００７０】
糸間隔が最低値以上の場合（ｄｌ＞＝ｄＭＩＮの時）には（Ｓ６０７：ＮＯ）、そのままＳ６１１へ移行する。糸間隔が最低値より小さい場合（ｄｌ＜ｄＭＩＮの時）には（Ｓ６０７：ＹＥＳ）、直前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離を糸間隔の最低値ｄＭＩＮの二倍と比較する（Ｓ６０８）。
（ｌＬＡＳＴ−ｌＰ）＜（ｄＭＩＮ＋ｄＭＩＮ）
【００７１】
直前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離を糸間隔の最低値ｄＭＩＮの二倍よりも小さい場合には（Ｓ６０８：ＹＥＳ）、次の配置位置ｌＣをｌＬＡＳＴに変更し（Ｓ６０９）、Ｓ６１１へ移行する。これは、ｌＣ＝ｌＰ＋ｄＭＩＮとしてしまうと、ｌＣとｌＬＡＳＴの距離がｄＭＩＮより小さくなってしまうためである。
【００７２】
直前の配置位置ｌＰと最終配置位置ｌＬＡＳＴの距離を糸間隔の最低値ｄＭＩＮの二倍以上の場合には（Ｓ６０８：ＮＯ）、次の配置位置ｌＣをｌＰ＋ｄＭＩＮに変更し（Ｓ６１０）、Ｓ６１１へ移行する。
【００７３】
以上のＳ６０５，Ｓ６０６，Ｓ６０９，Ｓ６１０により次の配置位置が決定されたので、次の配置位置ｌＣに糸を配置する（Ｓ６１１）。そして、次の回の処理のために直前の配置位置ｌＰにｌＣを代入する（Ｓ６１２）。すなわち、ｌＣを補正前の糸の配置について、次に糸を配置する配置予定位置とする。
【００７４】
ここで、次の配置予定位置ｌＣは次のように決められる。
まず、図５のフロチャートで示す補正処理の前に、予め補正前の糸の配置について、図２２に示すような糸の配置位置と隣り合う糸の間隔のリストを作っておく。最初の糸の配置予定位置は、開始配置位置からｄ１（リストの１番目）だけ離れた位置ｌＰ＋ｄ１になる（Ｓ６０１で示したｌＣ）。次に、ステップＳ６１２で補正後の配置位置ｌPが決定されたとき、リストの糸の配置位置とｌPを比較する。ここで、Ｄｍ≦ｌＰ＜Ｄｍ＋１となるDmを探し、そのＤｍに対応したｄｍを決定し、次の配置予定位置ｌＣ＝ｌＰ＋ｄｍとする。
【００７５】
そして、最終位置まで糸を配置したか否かを判断し（Ｓ６１３）、最終位置まで配置した ｌＰ＝ｌＬＡＳＴ場合（Ｓ６１３：ＹＥＳ）、図３に戻る。そうでなければ（Ｓ６１３：ＮＯ）、Ｓ６０２へ戻って次の糸の配置を決定する処理を行う。
【００７６】
以上の処理において、糸の配置間隔を針落ち点間隔、糸の配置位置を針落ち点と置き換えることで、図５のフローチャートはそのまま針落ち点間隔の補正に利用できる。また、針落ち点間隔の補正の様子を図１３に示す。
【００７７】
尚、糸密度に関しては、次のような考え方で補正することもできる。糸密度の別の補正方法について、図６、図１４、図１５を参照して説明する。
【００７８】
まず、現在の三次元情報の格子で区画された閉領域内について、最も奥にある点と最も手前にある点を探す。次に、最も奥にある場合の糸密度が最高になるように、また、最も手前にある場合の糸密度が最低になるように設定する。
【００７９】
そして、図３のＳ２で設定された糸密度の最低値及び最高値から、連立方程式を解いて補正後の糸の配置位置と糸間隔を導く（Ｓ７１）。ここで、連立方程式を解くアルゴリズムとしては、例えば掃き出し法やガウス・ザイデル法、また、行列を用いた解法などが公知である。
【００８０】
例えば、図３のＳ２で設定された糸密度範囲（最低値及び最高値）が２本／ｍｍ〜５本／ｍｍ であり（糸間隔でいうと0.5mm〜0.2mmとなる）、あるデザインの補正前の糸の配置位置が図１５のようになっている。この例では、Ｙ軸に平行に糸が配置され、各糸の配置位置のＸ座標はそれぞれ、5.556, 5.625, 5.714, 5.833, 6, 6.25[mm]  となっている。尚、Ｘ座標の座標値で説明できるよう、簡単のため、図１５のようにＹ軸に平行に糸が配置された例を示しているが、当然、実際の計算ではこのような例に限るものではない。
【００８１】
これに対し、補正前の糸の間隔が奥から 0.069, 0.089, 0.119, 0.167, 0.25[mm]  となる。ここで、糸のＸ座標での配置位置と糸間隔の関係をグラフにすると図１４のグラフａのようになる。このグラフはグラフｂのようにほぼ直線で近似できる。
【００８２】
ここで、現在糸間隔の範囲が0.069mm〜0.25mmとなっているものを、0.2mm〜0.5mmの範囲に補正する必要がある。そこで、グラフｃを作成する。ここで、グラフｂは、糸のＸ座標の位置をXT、補正前の糸間隔をＤとすると、
Ｄ＝0.2869*XT-1.56
で表現できる。すなわち、糸の位置6.25mmに対して糸間隔0.25mm及び糸の位置5.625mmに対して糸間隔0.069mmを解いたものである。
【００８３】
これに対し、補正後の糸の位置6.25mmに対して糸間隔0.5mm及び糸の位置5.625mmに対して糸間隔0.2mmとして解くと、補正後の糸間隔をＤ’、定数a,bとして、
0.5=6.25*a+b
0.2=5.625*a+b
これを解いて、
a=0.48
b=-2.5
なので、
Ｄ’＝0.48*XT-2.5
となり、グラフｃは図１４のようになる。
【００８４】
次に、開始配置位置へ糸を配置する（Ｓ７２）。上記の例の場合、まず、Ｘ座標6.25mmの位置に配置される。次に、上記の連立方程式に現在の糸の配置位置を代入して糸間隔を計算し、次に糸を配置する配置予定位置を計算する（Ｓ７３）。上記の例の場合、補正後の糸の配置は次のようになる。現在の配置位置は、Ｓ７２より、Ｘ座標6.25mmの位置である。この位置での補正後の糸間隔は、上記Ｄ’を導く式により、
0.48*6.25-2.5=0.5
なので、次の糸の配置予定位置は
6.25-0.5=5.75
となる。
【００８５】
次に、配置予定位置と最終配置位置を比較する（Ｓ７４）。配置予定位置が最終配置位置を超えていなければ（Ｓ７４：ＮＯ）、次の糸の配置予定位置へ糸を配置する（Ｓ７５）。上記例では、Ｘ座標5.75mmの位置は、最終予定位置である5.556mmを超えていないので（Ｓ７４：ＮＯ）、Ｘ座標5.75mmの位置に配置する。そして、Ｓ７３に戻り、次の糸の配置位置を計算する。上記例では、Ｘ座標5.75mmでの補正後の糸間隔は、
0.48*5.75-2.5=0.26
なので、次の糸の配置予定位置は
5.75-0.26 = 5.49
となる。
【００８６】
ここで、再び、配置予定位置と最終配置位置を比較する（Ｓ７４）。配置予定位置5.556mmと最終配置位置を比較すると、配置予定位置が最終配置位置を超えてしまっている（この場合は配置予定位置＜最終配置位置）（Ｓ７４：ＹＥＳ）。
【００８７】
そこで、最終配置位置5.556mmに糸を配置し（Ｓ７６）、終了する。尚、ここで直前の配置位置と最終配置位置との距離は、
5.75-5.556=0.194mm
となり、糸間隔の最小値0.2mmより小さくなってしまう。しかし、この場合はこの糸間隔が連続するわけでは無いので、縫製品質には大きな影響を与えない。
【００８８】
尚、以上の説明では、簡単のため、図１４のグラフｂのように全体を直線で近似した式に対し、補正後の糸間隔を求める式（グラフｃ）を作成し計算したが、グラフａを直線で近似することなく、補正後の糸間隔を求める式（グラフ）を作成し計算するようにしても良い。
【００８９】
具体的には、グラフ全体の下限を補正後の糸間隔の最小値に合わせる。今回の場合、0.069，  0.089，  0.119，  0.167，  0.25［ｍｍ］の各点に、補正前の最小値0.069mmと、補正後の最小値0.2mmの差 0.131mm を足して、0.2，  0.22，  0.25，  0.298，  0.381［ｍｍ］となる。
【００９０】
次に、グラフ全体の上限が補正後の糸間隔の最大値に合わせるよう、拡大・縮小する。
補正前の最大値と最小値の差は 0.381-0.2=0.181
補正後の最大値と最小値の差は 0.5-0.2=0.3
なので、
補正前の糸間隔Ｄ
補正後の糸間隔Ｄ’
として
Ｄ’= (Ｄ-0.2) * 0.3/0.181+0.2
となる。これを計算すると、
0.2, 0.233149171, 0.282872928, 0.362430939, 0.5[mm]
となり、図１４のグラフｄのようになる。
【００９１】
このグラフを図６のフローチャートに適用して糸密度の補正を行う。ただしこの場合、デザインの補正前の糸のＸ座標の以下の配置位置、
5.556 - 5.625 - 5.714 - 5.833 - 6 - 6.25
それぞれの区間について、それぞれの計算式を適用する必要がある。この場合、計算時間はかかるが、より正確に補正後の糸間隔を求めることができる。
【００９２】
また、糸の配置間隔を、針落ち点間隔と置き換えることで、図６のフローチャートはそのまま針落ち点間隔の補正に利用できる。
【００９３】
以上の処理を実行することにより、一般的な三次元情報から、刺繍の風合いを生かし、かつ、実際に縫製可能な刺繍データを作成することができる。例えば、発明が解決しようとする課題において説明した図２３のような球体の三次元情報を元に、図１６に示すような縫製データを、上記の方法で作成することができる。
【００９４】
尚、以上の処理において、隠れた（表側から見えない）面の刺繍データは作成しないよう、陰面処理を行う。陰面処理の手段としては、例えばＺバッファ法と呼ばれる手法が公知である。
【００９５】
尚、上記第一実施形態において、図３のＳ２で糸密度及び針落ち点間隔（ピッチ）の最高値・最低値の設定処理を実行するＣＰＵ６が本発明の限界値設定手段として機能する。また、図３のＳ３で縫製情報設定処理を実行するＣＰＵ６が本発明の針落ち点情報設定手段として機能する。また、図３のＳ５及び図４のサブルーチンで二次元投影情報計算処理を実行するＣＰＵ６が本発明の針落ち点情報変換手段として機能する。また、図３のＳ８及び図５、図６のサブルーチンで糸密度とピッチの補正処理を実行するＣＰＵ６が本発明の補正手段として機能する。また、図３のＳ９で刺繍データ作成処理を実行するＣＰＵ６が本発明の刺繍データ作成手段として機能する。また、図４のＳ５１で中心点設定処理を実行するＣＰＵ６が本発明の中心点決定手段として機能する。
【００９６】
ところで、上記第一の実施形態においては、画面上に常に刺繍の状態を表示するように想定していた。この方法では、実際の刺繍の風合いを操作者が理解しやすい、という長所があるが、一方で、すべての糸の情報について、常に計算を行わなければならず、計算上の負荷が大きい。そこで、次に示す第二の実施形態のようにしてもよい。以下、第二の実施形態における処理の流れについて図１７を参照して説明する。図１７は、第二実施形態における刺繍データ作成処理の流れを示すフローチャートである。
【００９７】
図１７に示すように、まず、サーフェイスモデルからなる三次元の対象の情報を入力する（Ｓ２０１）。次に、糸密度及び針落ち点間隔（ピッチ）の最低値・最高値を設定する（Ｓ２０２）。これは、第一の実施形態と同様に、あらかじめ決められた値であっても良いし、操作者がその場でマウス２やキーボード３を用いて入力するようにしても良い。
【００９８】
次に、三次元表面に縫製属性を設定する（Ｓ２０３）。このとき設定される縫製属性は、三次元の表面に対して縫製すると仮定したものである。次いで、三次元の俯瞰位置を決定する（もしくは、三次元の対象を移動・回転する）（Ｓ２０４）。
【００９９】
次に、俯瞰位置を決定した三次元の対象について、格子の情報について二次元投影情報を計算する（Ｓ２０５）。そして、計算の結果得られた格子の二次元投影情報を操作画面に描画する（Ｓ２０６）。
【０１００】
次に、刺繍データを作成するか否かを判断する（Ｓ２０７）。まだ刺繍データを作成しない場合には（Ｓ２０７：ＮＯ）、Ｓ２０３に戻る。刺繍データ作成を選択する場合には（Ｓ２０７：ＹＥＳ）、Ｓ２０３で設定された三次元の表面に対する縫製属性と、Ｓ２０４で決定した三次元の俯瞰位置から、糸と針落ち点の二次元投影情報を計算する（Ｓ２０８）。この計算は、図４のフローチャートで示した方法による。
【０１０１】
次に、Ｓ２０８で計算した糸と針落ち点の二次元投影情報について、糸密度（糸配置間隔）、針落ち点間隔（ピッチ）を補正する（Ｓ２０９）。これは、図５または図６のフローチャートで説明した方法による。最後に、Ｓ２０９で補正した糸密度および針落ち点間隔に従って、刺繍データを作成する（Ｓ２１０）。
【０１０２】
以上説明した第二実施形態によれば、画面上に常に刺繍の状態を表示することなく、立体を示す格子の情報のみを表示するようにしているので、すべての糸の情報について、常に計算を行う必要がなく、計算上の負荷を低減させることができ、コンピュータ上でのスムーズな操作が実現できる。
【０１０３】
尚、上記第二実施形態において、図１７のＳ２０５で格子の情報について二次元投影情報計算処理を実行するＣＰＵ６が本発明の格子情報変換手段として機能する。
【０１０４】
尚、本発明は以上説明した第一及び第二の実施形態に限られるものではなく、種々の変更が可能である。例えば、第一及び第二の実施形態では、各格子で区画された閉領域内をたたみ縫いで縫い埋める例を示した。この場合、刺繍データの補正情報として、糸密度と針落ち点間距離（ピッチ）についての最低値・最高値を指示する必要があった。
【０１０５】
しかし、立体表面に仮定される縫い目は、たたみ縫いで縫い埋めるパターンである必要はなく、線で絵柄を示すような走り縫いである場合も考えられる。このような場合は、刺繍データの補正情報として必要な、針落ち点間距離（ピッチ）についての最低値・最高値だけを指定できるようにすればよい。
【０１０６】
以下、図１８を参照して、簡単に説明する。図１８（ａ）は、板状の立体の表面に図柄を示す走り縫いを施した状態を示す説明図である。また、図１８（ｂ）は、図１８（ａ）に示す板状の立体を回転した状態を示す説明図である。
【０１０７】
この変形例の場合、針落ち点間隔の補正に関しては、前述した方法で（図３：Ｓ８、図５、図１３参照）実現することができる。この場合、いずれかの面を縫い埋める必要はなく、補正情報として必要なのは、針落ち点間距離（ピッチ）についての最低値・最高値である。
【０１０８】
また、第一及び第二の実施形態では、各格子で区画された閉領域内をたたみ縫いで縫い埋める例を示した。この場合、刺繍データの補正情報として、糸密度と針落ち点間距離（ピッチ）についての最低値・最高値を指示する必要があった。しかし、立体表面に仮定される縫い目は、たたみ縫いで縫い埋めるパターンである必要はなく、経路の途中に針落ち点を設けない、サテン縫いである場合も考えられる。このような場合は、刺繍データの補正情報として必要な、糸密度についての最低値・最高値だけを指定できるようにすればよい。
【０１０９】
さらに、第一及び第二の実施形態では、立体を表現する三次元情報に含まれるそれぞれの閉領域に、それぞれ単一の縫製属性を設定するような例を示したが、これに限るものではない。図１９に示すように、通常の刺繍と同様、ひとつの閉領域をさらに区画し、それぞれに対して異なる縫製属性を設定することも可能である。図１９は、ひとつの閉領域に対し、領域を区画し、それぞれに縫製属性を設定することで刺繍で図柄を描き、さらにこれを三次元上で回転した例を示す説明図である。これを二次元に投影した場合の刺繍データの作成も図３、または図１７のフローチャートから導くことができる。
【０１１０】
また、対象となる立体の位置が俯瞰位置から見て奥のほうにある場合など、糸密度が全体的に濃くなってしまい、手前側と奥側との差異が糸密度によって表現できなくなってしまう場合がある。例えば、糸密度の最高値が５本／ｍｍと設定してあり、最も手前にある格子で区画された閉領域内の補正後の糸密度が４本／ｍｍになった場合など、立体を４〜５本／ｍｍと言う狭い範囲で表現しなければならない。このような場合、各格子で区画された閉領域の位置関係を用いて、糸密度を補正することで、立体的風合いを損なうことなく表現できる。このような場合の糸密度の補正について、図２０及び図２１を参照して説明する。図２０は、糸密度の補正処理の変形例のフローチャートである。図２１（ａ）は、補正前の二次元投影情報の計算結果の例を示す説明図である。図２１（ｂ）は、上記第一実施形態で示した補正による補正後の例を示す説明図である。図２１（ｃ）は、図２０の処理により補正した場合の補正後の例を示す説明図である。
【０１１１】
まず、投影した各格子で区画された閉領域内の中心点を求める（Ｓ８０１）。これは、各格子で区画された閉領域を構成する頂点を投影した（x,y）値の平均から求める。すなわち、任意の格子で区画された閉領域を構成する頂点を投影した点を(X1,Y1), (X2,Y2), (X3,Y3), (X4,Y4) として、
X=(X1+X2+X3+X4)/4
Y=(Y1+Y2+Y3+Y4)/4
から計算できる。
【０１１２】
次に、各格子で区画された閉領域の中心点において、最も密度の高いもの、及び、最も密度の低いものを探す（Ｓ８０２）。
【０１１３】
次に、糸密度を補正するための連立方程式を解く（Ｓ８０３）。すなわち、最も密度の低い、格子で区画された閉領域の中心点における補正前の糸密度をＡとし、設定された糸密度の最低値をＢとし、最も密度の高い、格子で区画された閉領域の中心点における補正前の糸密度をＣとし、設定された糸密度の最高値をＤとし、
x:補正前の糸密度
y:補正後の糸密度
a,b:定数
として、y=ax+bに、それぞれの数字を入れ、以下の連立方程式を解いて、a,bの値を導き出す。
B=Aa+b
D=Ca+b
ここで、連立方程式を解くアルゴリズムとしては、例えば掃き出し法やガウス・ザイデル法、行列を用いた解法などが公知である。
【０１１４】
次に、各格子で区画された閉領域の中心点について、Ｓ８０３で解いたy=ax+bの式に補正前の糸密度xを代入し、補正後の糸密度yを求める（Ｓ８０４）。各格子で区画された閉領域内の糸密度をそれぞれ各格子で区画された閉領域の中心点の補正後の糸密度として設定し、刺繍データを作成する（Ｓ８０５）。
【０１１５】
この一連の処理に従えば、各格子で区画された閉領域内の糸密度を、設定された糸密度の範囲内で、手前にあるものほど薄く、奥にあるものほど濃く、また、角度の急なものほど濃く、角度の緩やかなものほど薄く表現できる。
【０１１６】
例えば糸密度の計算の結果、補正前の糸密度が図２１（ａ）に示すようになったとする。これを、図３のフローチャートに従って、糸密度の最高値５本／ｍｍ、糸密度の最低値２本／ｍｍと設定されている場合、補正後の糸密度は図２１（ｂ）に示すようになる。各格子で区画された閉領域の糸密度が、密なほうへ偏っているため、粗密による遠近感が充分表現できない。これを、上述した図２０の方法に従って補正すると、図２１（ｃ）に示すようになる。三次元の対象の奥行きに従って、各格子で区画された閉領域の糸密度の粗密を割り当てているため、遠近感を糸の粗密で表現できる。
【０１１７】
上記の例では、各格子で区画された閉領域の中心点の補正後の糸密度の計算は、以下のようになる。最も密度の低い格子で区画された閉領域の中心点における補正前の糸密度４である。ここで、設定された糸密度の最低値を ２とする。また、最も密度の高い格子で区画された閉領域の中心点における補正前の糸密度が１０である。そして、設定された糸密度の最高値を５とする。
【０１１８】
ここで、前述の式y=ax+b に当てはめると、
2=4a+b
5=10a+b
これを解いて、a=0.5, b=0  となる。
従って、各格子で区画された閉領域の中心点の補正後の糸密度は、図２１（ｃ）のようになる。この例では、補正後の各格子で区画された閉領域内の糸密度を一定として表現しているが、各格子の大きさがそれほど大きくなければ、これで充分近似できる。
【０１１９】
また、さらに次のような方法を用いても良い。図２０のＳ８０５で、各格子で区画された閉領域内を縫い埋める糸密度をそれぞれ一定としていた。その代わりに各格子で区画された閉領域内それぞれに糸密度の最低値および最高値を設定し、図６のフロチャートの方法で各格子で区画された閉領域内を縫い埋めるようにしても良い。
【０１２０】
まず、今注目している格子で区画された閉領域の補正前の糸密度の最高値および最低値を求める。ここで、Ｓ８０３で求めた式を使って、補正前の糸密度の最高値および最低値から、補正後の糸密度の最高値および最低値を求める。次に、補正後の糸密度の逆数から、補正後の糸間隔の最小値および最大値を求める。ここで求めた補正後の糸間隔の最小値および最大値を図６のフローチャートの処理に適応して、今注目している格子で区画された閉領域に糸を配置する。
【０１２１】
これら一連の処理を全ての格子で区画された閉領域に行うことで、各格子で区画された閉領域内を、糸密度一定でなく、それぞれに応じた糸密度の最低値および最高値に従って縫い埋めることができるので、より自然な糸密度の変化を表現できる。
【０１２２】
尚、この変形例において、図２０のＳ８０１で閉領域内の中心点を求める処理を実行するＣＰＵ６が本発明の閉領域内中心点計算手段として機能する。また、図２０のＳ８０２で糸密度の最高値、最低値を探す処理を実行するＣＰＵ６が本発明の糸密度取得手段、最高値演算手段、最低値演算手段として機能する。また、図２０のＳ８０３で糸密度補正計算処理を実行するＣＰＵ６が本発明の糸密度再補正手段として機能する。
【図面の簡単な説明】
【０１２３】
【図１】刺繍データ作成装置の全体構成を示す外観図である。
【図２】刺繍データ作成装置の電気的構成を示すブロック図である。
【図３】刺繍データ作成処理のメインルーチンのフローチャートである。
【図４】図３のＳ５で実行する二次元投影情報計算処理の流れを示すサブルーチンのフローチャートである。
【図５】図３のＳ８で実行する補正処理のサブルーチンのフローチャートである。
【図６】図３のＳ８で実行する補正処理の別の例のサブルーチンのフローチャートである。
【図７】サーフェイスモデルの例を示す説明図である。
【図８】入力された三次元情報の例を示す説明図である。
【図９】三次元情報の俯瞰位置の設定を示す説明図である。
【図１０】縫製属性の仮定と二次元への投影を示す説明図である。
【図１１】投影における中心点を示す説明図である。
【図１２】（ａ）は、三次元情報を二次元に投影した縫製データの例を示す説明図であり、（ｂ）は、補正後の縫製データの例を示す説明図である。
【図１３】針落ち点間隔の補正処理の例を示す説明図である。
【図１４】糸のＸ座標での配置位置と糸間隔の関係を示すグラフである。
【図１５】補正前の糸の配置位置を示す説明図である。
【図１６】入力された三次元情報に基づいて作成された刺繍データの例を示す説明図である。
【図１７】第二実施形態における刺繍データ作成処理の流れを示すフローチャートである。
【図１８】（ａ）は、板状の立体の表面に図柄を示す走り縫いを施した状態を示す説明図である。（ｂ）は、図１８（ａ）に示す板状の立体を回転した状態を示す説明図である。
【図１９】閉領域に対し、領域を区画し、それぞれに縫製属性を設定することで刺繍で図柄を描き、さらにこれを三次元上で回転した例を示す説明図である。
【図２０】糸密度の補正処理の変形例のフローチャートである。
【図２１】（ａ）は、補正前の二次元投影情報の計算結果の例を示す説明図である。（ｂ）は、上記第一実施形態で示した補正による補正後の例を示す説明図である。（ｃ）は、図２０の処理により補正した場合の補正後の例を示す説明図である。
【図２２】糸の配置位置と隣り合う糸の間隔のリストを示す説明図である。
【図２３】線縫いによる刺繍データの例を示す説明図である。
【符号の説明】
【０１２４】
１      刺繍データ作成装置
２      マウス
３      キーボード
５      表示装置
６      ＣＰＵ
７      ＲＡＭ
８      ＲＯＭ
１１      外部記憶装置
【図１】
2006014898.tif 000003
【図２】
2006014898.tif 000004
【図３】
2006014898.tif 000005
【図４】
2006014898.tif 000006
【図５】
2006014898.tif 000007
【図６】
2006014898.tif 000008
【図７】
2006014898.tif 000009
【図８】
2006014898.tif 000010
【図９】
2006014898.tif 000011
【図１０】
2006014898.tif 000012
【図１１】
2006014898.tif 000013
【図１２】
2006014898.tif 000014
【図１３】
2006014898.tif 000015
【図１４】
2006014898.tif 000016
【図１５】
2006014898.tif 000017
【図１６】
2006014898.tif 000018
【図１７】
2006014898.tif 000019
【図１８】
2006014898.tif 000020
【図１９】
2006014898.tif 000021
【図２０】
2006014898.tif 000022
【図２１】
2006014898.tif 000023
【図２２】
2006014898.tif 000024
【図２３】
2006014898.tif 000025