(57)【要約】【課題】  表面に縫い目を有する物体の高品質な三次元形状データを効率的に作成する。【解決手段】  縫い目の情報を含まない物体の三次元形状データＤｂをコンピュータに入力し、縫い目の物体表面上での方向を示す基準線Ｌ１２を定義する。１ピッチ分の縫い目の区間について、物体表面に対する浮き沈み量を示す関数ｈ（ｓ）を定義する。基準線Ｌ１２に沿って起点Ｐ０から距離ｓの位置にある標本点Ｐの位置に法線ｎを立て、法線ｎ上で標本点Ｐから距離ｈ（ｓ）だけ隔たった点Ｑを求め、点Ｑの集合により縫い目の経路を定義し、縫い目を含んだ合成形状データを作成する。法線ｎとして、物体表面についての本来の法線を用いずに、基準線Ｌ１２上の標本点Ｐの両脇に一対の参照点をとり、標本点Ｐから各参照点へ向かう一対のベクトルを定義し、その和ベクトルに基づいて求めた疑似的な法線を用いることにより演算負担の軽減を図る。【選択図】  図１７
2008102821.tif 000002
【特許請求の範囲】
【請求項１】
表面に縫い目を有する物体について、縫い目を含めた三次元形状データを作成する装置であって、
縫い目の情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、縫い目の物体表面上での方向を示す第１の基準線を定義する第１の基準線定義手段と、
オペレータの指示に基づいて、縫い目を構成する糸の断面形状と、そのサイズと、を示す糸断面パラメータを定義する糸断面パラメータ定義手段と、
オペレータの指示に基づいて、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示す縫製処理パラメータを定義する縫製処理パラメータ定義手段と、
前記第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における前記第１の基準線の疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから前記周期関数によって定まる所定距離だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成する第２の基準線作成手段と、
前記第２の基準線と前記糸断面パラメータとに基づいて、縫い目を構成する糸の三次元形状データを作成する糸形状データ作成手段と、
前記基本形状データに前記糸の三次元形状データを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を備えることを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項２】
請求項１に記載の作成装置において、
第２の基準線作成手段が、
疑似法線ｎ＊を求める対象となる標本点Ｐを決定する標本点決定部と、
第１の基準線に沿って前記標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、第１の基準線に沿って前記標本点Ｐから前記第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定める参照点決定部と、
前記標本点Ｐから前記第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と前記標本点Ｐから前記第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求めるベクトル決定部と、
前記第１のベクトルＶ＋と前記第２のベクトルＶ−との和ベクトルＶsumを求める和ベクトル決定部と、
この和ベクトルＶsumとは逆の方向を疑似法線ｎ＊の方向と決定する法線決定部と、
前記標本点Ｐに基づいて代表点Ｑを求める代表点決定部と、
を有することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項３】
請求項２に記載の作成装置において、
第１の基準線定義手段が、離散的に位置する複数の標本点Ｐの順列によって第１の基準線の定義を行い、
参照点決定部が、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）を第１の参照点Ｐ＋とし、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）を第２の参照点Ｐ−とし、
ベクトル決定部が、予め所定の単位長を定めておき、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ＋ａ）に向かう方向を向き前記単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ−ｂ）に向かう方向を向き前記単位長をもった単位ベクトルを第２のベクトルＶ−と定めることを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項４】
請求項１〜３のいずれかに記載の作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、前記参照線を前記投影方向ベクトルの示す投影方向に投影したときに、前記基本形状データで示される物体の表面上に形成される投影像を第１の基準線として定義することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項５】
請求項１〜４のいずれかに記載の作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、周期λをもった周期関数ｈ（ｓ）と、を用いて縫製処理パラメータを定義する機能を有し、
第２の基準線作成手段が、第１の基準線上にあり、前記第１の基準線上に定義された所定の始点Ｐ０からの前記第１の基準線に沿った距離がｓの位置にある標本点Ｐに関して、当該標本点Ｐの位置における疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから距離ｈ（ｓ）だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって第２の基準線を作成する機能を有することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項６】
請求項５に記載の作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、ｈ（ｓ）＝Ａsinγ（２πｓ／λ）なる式（但し、Ａ，γは所定の定数）で示される周期関数ｈ（ｓ）と、を用いて縫製処理パラメータを定義することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項７】
請求項１〜４のいずれかに記載の作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、０〜λの範囲内の複数の離散値ｓおよび個々の離散値に対応する所定値ｈ（ｓ）の組み合わせを示す起伏テーブルと、を用いて縫製処理パラメータを定義し、
第２の基準線作成手段が、第１の基準線上にあり、前記第１の基準線上に定義された所定の始点Ｐ０からの前記第１の基準線に沿った距離が（ｋλ＋ｓ）の位置（但し、ｋ＝０，１，２，…）にある標本点Ｐに関してそれぞれ疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから距離ｈ（ｓ）だけ離れた位置にある代表点Ｑを求め、代表点Ｑの集合によって第２の基準線を作成することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項８】
請求項７に記載の作成装置において、
第２の基準線作成手段が、起伏テーブルに基づく離散的情報に対して補間処理を行い、補間処理後の情報を用いて第２の基準線を作成することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項９】
請求項１〜８のいずれかに記載の作成装置において、
糸形状データ作成手段が、第２の基準線上に所定間隔で配置代表点を定義し、各配置代表点位置に、糸断面パラメータで示される糸の二次元断面図形を、当該配置代表点における前記第２の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、糸の三次元形状データを作成することを特徴とする表面に縫い目を有する物体の三次元形状データの作成装置。
【請求項１０】
請求項１〜９のいずれかに記載の作成装置としてコンピュータを機能させるためのプログラム。
【請求項１１】
表面に縫い目を有する物体について、縫い目を含めた三次元形状データを作成する方法であって、
縫い目の情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
コンピュータが、オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、縫い目の物体表面上での方向を示す第１の基準線を定義し、これを記憶手段に格納する第１の基準線定義段階と、
コンピュータが、オペレータの指示に基づいて、縫い目を構成する糸の断面形状と、そのサイズと、を示す糸断面パラメータを定義し、これを記憶手段に格納する糸断面パラメータ定義段階と、
コンピュータが、オペレータの指示に基づいて、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示す縫製処理パラメータを定義し、これを記憶手段に格納する縫製処理パラメータ定義段階と、
コンピュータが、前記第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における前記第１の基準線の疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから前記周期関数によって定まる所定距離だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成し、これを記憶手段に格納する第２の基準線作成段階と、
コンピュータが、前記第２の基準線と前記糸断面パラメータとに基づいて、縫い目を構成する糸の三次元形状データを作成し、これを記憶手段に格納する糸形状データ作成段階と、
コンピュータが、前記基本形状データに前記糸の三次元形状データを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
を有することを特徴とする表面に縫い目を有する物体の三次元形状データの作成方法。
【請求項１２】
請求項１１に記載の作成方法において、
第２の基準線作成段階で標本点Ｐについての疑似法線ｎ＊を求める処理が、
第１の基準線に沿って前記標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、第１の基準線に沿って前記標本点Ｐから前記第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定めるステップと、
前記標本点Ｐから前記第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と前記標本点Ｐから前記第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求めるステップと、
前記第１のベクトルＶ＋と前記第２のベクトルＶ−との和ベクトルＶsumを求めるステップと、
この和ベクトルＶsumとは逆の方向を向いた疑似法線ｎ＊を求めるステップと、
を有することを特徴とする表面に縫い目を有する物体の三次元形状データの作成方法。
【請求項１３】
請求項１２に記載の作成方法において、
第１の基準線定義段階で、離散的に位置する複数の標本点Ｐの順列を定め、これら複数の標本点Ｐを順に連結することによって第１の基準線の定義を行い、
第２の基準線作成手段で、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）を第１の参照点Ｐ＋とし、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）を第２の参照点Ｐ−とし、予め所定の単位長を定めておき、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ＋ａ）に向かう方向を向き前記単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ−ｂ）に向かう方向を向き前記単位長をもった単位ベクトルを第２のベクトルＶ−と定めることを特徴とする表面に縫い目を有する物体の三次元形状データの作成方法。
【請求項１４】
物体の三次元形状データに基づいて、当該物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求める方法であって、
物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される段階と、
コンピュータが、対象となる標本点Ｐの位置を定義する段階と、
コンピュータが、前記標本点Ｐを通る基準線を前記物体の表面上に定義する段階と、
コンピュータが、前記基準線に沿って前記標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、前記基準線に沿って前記標本点Ｐから前記第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定める段階と、
コンピュータが、前記標本点Ｐから前記第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と前記標本点Ｐから前記第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを定める段階と、
コンピュータが、前記第１のベクトルＶ＋と前記第２のベクトルＶ−との和ベクトルＶsumを求める段階と、
コンピュータが、前記和ベクトルＶsumとは逆の方向を向いたベクトルを、前記標本点Ｐの位置における前記物体表面についての疑似的な法線ｎ＊と決定する段階と、
を有することを特徴とする三次元物体表面における法線決定方法。
【請求項１５】
物体の三次元形状データに基づいて、当該物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求める方法であって、
物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される段階と、
コンピュータが、前記物体の表面上に離散的に位置する複数の標本点の順列を定義する段階と、
コンピュータが、前記複数の標本点のうちの第ｉ番目の標本点Ｐ（ｉ）を、法線を求める対象となる標本点と定める段階と、
コンピュータが、前記順列に基づいて、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）と、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）とを認識する段階と、
コンピュータが、予め所定の単位長を定めておき、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ＋ａ）に向かう方向を向き前記単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、前記標本点Ｐ（ｉ）から前記標本点Ｐ（ｉ−ｂ）に向かう方向を向き前記単位長をもった単位ベクトルを第２のベクトルＶ−と定める段階と、
コンピュータが、前記第１のベクトルＶ＋と前記第２のベクトルＶ−との和ベクトルＶsumを求める段階と、
コンピュータが、前記和ベクトルＶsumとは逆の方向を向いたベクトルを、前記標本点Ｐ（ｉ）の位置における前記物体表面についての疑似的な法線ｎ（ｉ）＊と決定する段階と、
を有することを特徴とする三次元物体表面における法線決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表面に縫い目を有する物体の三次元形状データを作成する技術に関し、特に、表面に縫い目を有する商品の見本画像を、ＣＧ（コンピュータグラフィックス）の技術を利用して作成する手法に関する。また、本発明は、三次元形状データで表現される物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求める方法に関する。
【背景技術】
【０００２】
コンピュータの性能向上により、産業界の様々な分野でＣＧ画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのＣＧ画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なＣＧ画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、ＣＧ画像が利用される例も少なくない。一般に、ＣＡＤを用いた設計段階を経て製品化された商品の場合、設計に用いたＣＡＤデータを流用してＣＧ画像を作成することができるため、商品カタログに掲載するＣＧ画像も、比較的容易に用意することが可能になる。
【０００３】
ソファなどの家具、自動車の内装、衣服、バッグ、靴、鞄など、表面に布地や革地による加飾を施した物品の場合、その性質上、表面に縫い目が現れることになる。したがって、これらの物品をＣＧ画像で表現する場合、縫い目を含めた物品の画像を作成するのが好ましい。特に、縫い目が、物品の意匠を構成する重要な要素となっている場合には、縫い目を含んだＣＧ画像による表現が欠かせない。たとえば、下記の特許文献１には、服飾品のできあがり状態をＣＧ画像で確認することができるように、縫製ラインやステッチなどの立体感を、光学的に特別な陰影処理を施すことにより表現する技術が開示されている。
【特許文献１】特開２０００−２３５５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
家具や自動車の内装などのインテリア製品や、衣服、バッグ、靴、鞄などのアパレル製品では、縫い目は機能的な産物としての意味だけではなく、デザイン上の重要な構成要素としての意味をもち、消費者から見た場合に、商品価値を左右する重大な要因になる。このため、商品のカタログやプレゼンテーションに用いるＣＧ画像では、縫い目の形状をできるだけ正確に表現することが要求される。
【０００５】
しかしながら、従来、このような縫い目を含めた物体の高品質な三次元形状データを効率的に作成する手法は提案されていないため、高品質なＣＧ画像を作成しようとすると、制作者に多大な負担を課する結果となっていた。
【０００６】
たとえば、前掲の特許文献１には、物体表面の法線方向を修正することにより、縫い目の部分に擬似的に陰影を付加する手法（いわゆるバンプマッピングの手法）が開示されている。この手法によれば、比較的簡便な処理によって縫い目を表現することができるが、あくまでも縫い目を擬似的に表現する手法であるため、物体の高品質な三次元形状データを作成することはできない。具体的には、物品のクローズアップ表現には不適切であり、テクスチャを貼り込んだ場合に、テクスチャの歪みを表現することができず、また、単純な凹状もしくは凸状のライン表現にとどまり、実際の縫い目に特有の複雑な形状表現を行うことができないという問題がある。
【０００７】
一方、建築物や自動車の内装、家具などの場合、設計段階で利用したＣＡＤデータを流用することにより、ＣＧ画像を効率的に作成することが可能である。しかしながら、通常、設計段階で利用したＣＡＤデータには、物品の基本形状を示す情報しか含まれておらず、縫い目の情報は含まれていない。たとえば、自動車の座席シートは、ＣＡＤを利用した設計が行われるため、ＣＡＤデータを流用したＣＧ画像を作成することが可能である。しかしながら、設計段階で作成される座席シートのＣＡＤデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、最終的に、このウレタン構造体を包み込む布製もしくは革製の表皮の情報を含むものではない。したがって、縫い目を含むＣＧ画像を作成するには、ＣＡＤデータをそのまま流用することはできない。
【０００８】
そこで本発明は、縫い目を含めた物体の高品質な三次元形状データを効率的に作成することを可能にする手法を提供することを目的とする。また、本発明は、特願２００５−１２４５３５に開示された先願発明を更に改良した発明に対応するものである。この先願発明に対する改良点は、物体表面に立てる法線の定義方法にあり、この点における本発明の目的は、三次元形状データで表現される物体の表面に定義された所定の標本点の位置における当該物体表面についての疑似的な法線を容易に求める方法を提供することにある。
【課題を解決するための手段】
【０００９】
(1)   本発明の第１の態様は、表面に縫い目を有する物体について、縫い目を含めた三次元形状データを作成する、表面に縫い目を有する物体の三次元形状データの作成装置において、
縫い目の情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、基本形状データで示される物体の表面上に、縫い目の物体表面上での方向を示す第１の基準線を定義する第１の基準線定義手段と、
オペレータの指示に基づいて、縫い目を構成する糸の断面形状と、そのサイズと、を示す糸断面パラメータを定義する糸断面パラメータ定義手段と、
オペレータの指示に基づいて、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示す縫製処理パラメータを定義する縫製処理パラメータ定義手段と、
第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における第１の基準線の疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから上記周期関数によって定まる所定距離だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成する第２の基準線作成手段と、
第２の基準線と糸断面パラメータとに基づいて、縫い目を構成する糸の三次元形状データを作成する糸形状データ作成手段と、
基本形状データに糸の三次元形状データを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を設けるようにしたものである。
【００１０】
(2)   本発明の第２の態様は、上述した第１の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
第２の基準線作成手段に、
疑似法線ｎ＊を求める対象となる標本点Ｐを決定する標本点決定部と、
第１の基準線に沿って標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、第１の基準線に沿って標本点Ｐから第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定める参照点決定部と、
標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求めるベクトル決定部と、
第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求める和ベクトル決定部と、
この和ベクトルＶsumとは逆の方向を疑似法線ｎ＊の方向と決定する法線決定部と、
標本点Ｐに基づいて代表点Ｑを求める代表点決定部と、
を設けるようにしたものである。
【００１１】
(3)   本発明の第３の態様は、上述した第２の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
第１の基準線定義手段が、離散的に位置する複数の標本点Ｐの順列によって第１の基準線の定義を行い、
参照点決定部が、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）を第１の参照点Ｐ＋とし、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）を第２の参照点Ｐ−とし、
ベクトル決定部が、予め所定の単位長を定めておき、標本点Ｐ（ｉ）から標本点Ｐ（ｉ＋ａ）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、標本点Ｐ（ｉ）から標本点Ｐ（ｉ−ｂ）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ−と定めるようにしたものである。
【００１２】
(4)   本発明の第４の態様は、上述した第１〜第３の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、参照線を投影方向ベクトルの示す投影方向に投影したときに、基本形状データで示される物体の表面上に形成される投影像を第１の基準線として定義するようにしたものである。
【００１３】
(5)   本発明の第５の態様は、上述した第１〜第４の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、周期λをもった周期関数ｈ（ｓ）と、を用いて縫製処理パラメータを定義する機能を有し、
第２の基準線作成手段が、第１の基準線上にあり、第１の基準線上に定義された所定の始点Ｐ０からの第１の基準線に沿った距離がｓの位置にある標本点Ｐに関して、当該標本点Ｐの位置における疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから距離ｈ（ｓ）だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって第２の基準線を作成する機能を有するようにしたものである。
【００１４】
(6)   本発明の第６の態様は、上述した第５の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、ｈ（ｓ）＝Ａsinγ（２πｓ／λ）なる式（但し、Ａ，γは所定の定数）で示される周期関数ｈ（ｓ）と、を用いて縫製処理パラメータを定義するようにしたものである。
【００１５】
(7)   本発明の第７の態様は、上述した第１〜第４の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
縫製処理パラメータ定義手段が、縫い目の１ピッチ分の長さλと、０〜λの範囲内の複数の離散値ｓおよび個々の離散値に対応する所定値ｈ（ｓ）の組み合わせを示す起伏テーブルと、を用いて縫製処理パラメータを定義し、
第２の基準線作成手段が、第１の基準線上にあり、第１の基準線上に定義された所定の始点Ｐ０からの第１の基準線に沿った距離が（ｋλ＋ｓ）の位置（但し、ｋ＝０，１，２，…）にある標本点Ｐに関してそれぞれ疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから距離ｈ（ｓ）だけ離れた位置にある代表点Ｑを求め、代表点Ｑの集合によって第２の基準線を作成するようにしたものである。
【００１６】
(8)   本発明の第８の態様は、上述した第７の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
第２の基準線作成手段が、起伏テーブルに基づく離散的情報に対して補間処理を行い、補間処理後の情報を用いて第２の基準線を作成するようにしたものである。
【００１７】
(9)   本発明の第９の態様は、上述した第１〜第８の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置において、
糸形状データ作成手段が、第２の基準線上に所定間隔で配置代表点を定義し、各配置代表点位置に、糸断面パラメータで示される糸の二次元断面図形を、当該配置代表点における第２の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、糸の三次元形状データを作成するようにしたものである。
【００１８】
(10)  本発明の第１０の態様は、上述した第１〜第９の態様に係る表面に縫い目を有する物体の三次元形状データの作成装置を、コンピュータに当該機能を実現するためのプログラムを組み込むことにより構成したものである。
【００１９】
(11)  本発明の第１１の態様は、表面に縫い目を有する物体について、縫い目を含めた三次元形状データを作成する、表面に縫い目を有する物体の三次元形状データの作成方法において、
縫い目の情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
コンピュータが、オペレータの指示に基づいて、基本形状データで示される物体の表面上に、縫い目の物体表面上での方向を示す第１の基準線を定義し、これを記憶手段に格納する第１の基準線定義段階と、
コンピュータが、オペレータの指示に基づいて、縫い目を構成する糸の断面形状と、そのサイズと、を示す糸断面パラメータを定義し、これを記憶手段に格納する糸断面パラメータ定義段階と、
コンピュータが、オペレータの指示に基づいて、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示す縫製処理パラメータを定義し、これを記憶手段に格納する縫製処理パラメータ定義段階と、
コンピュータが、第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における第１の基準線の疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから周期関数によって定まる所定距離だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成し、これを記憶手段に格納する第２の基準線作成段階と、
コンピュータが、第２の基準線と糸断面パラメータとに基づいて、縫い目を構成する糸の三次元形状データを作成し、これを記憶手段に格納する糸形状データ作成段階と、
コンピュータが、基本形状データに糸の三次元形状データを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
を行うようにしたものである。
【００２０】
(12)  本発明の第１２の態様は、上述した第１１の態様に係る表面に縫い目を有する物体の三次元形状データの作成方法において、
第２の基準線作成段階で標本点Ｐについての疑似法線ｎ＊を求める処理を、
第１の基準線に沿って標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、第１の基準線に沿って標本点Ｐから第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定めるステップと、
標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求めるステップと、
第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求めるステップと、
この和ベクトルＶsumとは逆の方向を向いた疑似法線ｎ＊を求めるステップと、
によって行うようにしたものである。
【００２１】
(13)  本発明の第１３の態様は、上述した第１２の態様に係る表面に縫い目を有する物体の三次元形状データの作成方法において、
第１の基準線定義段階で、離散的に位置する複数の標本点Ｐの順列を定め、これら複数の標本点Ｐを順に連結することによって第１の基準線の定義を行い、
第２の基準線作成手段で、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）を第１の参照点Ｐ＋とし、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）を第２の参照点Ｐ−とし、予め所定の単位長を定めておき、標本点Ｐ（ｉ）から標本点Ｐ（ｉ＋ａ）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、標本点Ｐ（ｉ）から標本点Ｐ（ｉ−ｂ）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ−と定めるようにしたものである。
【００２２】
(14)  本発明の第１４の態様は、物体の三次元形状データに基づいて、当該物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求める三次元物体表面における法線決定方法において、
物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される段階と、
コンピュータが、対象となる標本点Ｐの位置を定義する段階と、
コンピュータが、標本点Ｐを通る基準線を物体の表面上に定義する段階と、
コンピュータが、基準線に沿って標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、基準線に沿って標本点Ｐから第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とを定める段階と、
コンピュータが、標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを定める段階と、
コンピュータが、第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求める段階と、
コンピュータが、和ベクトルＶsumとは逆の方向を向いたベクトルを、標本点Ｐの位置における物体表面についての疑似的な法線ｎ＊と決定する段階と、
を行うようにしたものである。
【００２３】
(15)  本発明の第１５の態様は、物体の三次元形状データに基づいて、当該物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求める三次元物体表面における法線決定方法において、
物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される段階と、
コンピュータが、物体の表面上に離散的に位置する複数の標本点の順列を定義する段階と、
コンピュータが、複数の標本点のうちの第ｉ番目の標本点Ｐ（ｉ）を、法線を求める対象となる標本点と定める段階と、
コンピュータが、順列に基づいて、第（ｉ＋ａ）番目の標本点Ｐ（ｉ＋ａ）と、第（ｉ−ｂ）番目の標本点Ｐ（ｉ−ｂ）とを認識する段階と、
コンピュータが、予め所定の単位長を定めておき、標本点Ｐ（ｉ）から標本点Ｐ（ｉ＋ａ）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、標本点Ｐ（ｉ）から標本点Ｐ（ｉ−ｂ）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ−と定める段階と、
コンピュータが、第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求める段階と、
コンピュータが、和ベクトルＶsumとは逆の方向を向いたベクトルを、標本点Ｐ（ｉ）の位置における物体表面についての疑似的な法線ｎ（ｉ）＊と決定する段階と、
を行うようにしたものである。
【発明の効果】
【００２４】
本発明では、縫い目の情報を含まない物体表面上に第１の基準線を定義し、縫製処理パラメータを用いて、この第１の基準線を、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線に変換し、この第２の基準線に沿って、糸の断面形状図形を配置し、糸の三次元形状データを作成するようにしたため、縫い目を含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。また、本発明では、面上の標本点についての法線を定義する代わりに、線上の標本点についての疑似法線を定義するようにしたため、物体表面についての疑似的な法線を容易に求めることが可能になる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を図示する実施形態に基づいて説明する。既に述べたとおり、本願発明は、特願２００５−１２４５３５に開示された先願発明の改良発明というべきものである。したがって、以下に述べる§１〜§７の内容は、当該先願発明とほぼ共通した内容となっている。当該先願発明に対する改良部分は、§８，§９で詳述する。
【００２６】
＜＜＜  §１．基本手順  ＞＞＞
本発明では、表面に縫い目を有する物体について、縫い目を含めた三次元形状データの作成が行われる。この§１では、この本発明の基本手順を、簡単なモデルを用いて説明する。
【００２７】
図１は、本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。本発明は、基本的にコンピュータを利用することを前提とした発明であり、図１の流れ図の各ステップに示された段階は、いずれもコンピュータが、そのハードウエア資源を用いて、専用に開発されたソフトウエアプログラムに基づいて実行する処理を示すものである。
【００２８】
図示のとおり、この基本手順は、大まかに分類して、入力プロセス（ステップＳ１）、定義プロセス（ステップＳ２〜Ｓ４）、作成プロセス（ステップＳ５〜Ｓ７）の３つのプロセスによって構成される。入力プロセスは、この基本手順の処理対象となる物体の三次元形状データを入力するためのプロセスであり、定義プロセスは、縫い目の三次元情報を作成するために必要なパラメータ等を定義するためのプロセスであり、作成プロセスは、入力プロセスで入力した三次元形状データで示される物体の表面に、定義プロセスで定義したパラメータ等を用いて、縫い目の三次元情報を作成するためのプロセスである。以下、各プロセスを構成する個々のステップについて、順に説明を行う。
【００２９】
まず、ステップＳ１に示す基本形状データ入力段階は、コンピュータ内の記憶手段に、基本形状データを入力する処理を行う段階である。ここで、基本形状データとは、縫い目の情報を含まない物体の三次元形状データのことであり、この図１の流れ図に示す基本手順は、この基本形状データに、縫い目の情報を付加する処理ということができる。ここでは、説明の便宜上、図２に示すような単純な直方体形状をもった物体についての三次元形状データが、基本形状データＤｂとして入力された場合について、以下の説明を行うことにする。図２に示す基本形状データＤｂは、単なる直方体を表現するデータであり、縫い目の情報は全く含まれていない。
【００３０】
なお、本願では、説明の便宜上、三次元形状データと当該データで表現される三次元図形とを同じ符号で示すことにする。たとえば、図２に示す符号「Ｄｂ」は、物体の三次元形態そのものを示すと同時に、当該物体を表現するための基本形状データも示している。
【００３１】
ステップＳ２に示す第１の基準線定義段階は、オペレータの指示に基づいて、ステップＳ１で入力した基本形状データＤｂで示される物体Ｄｂの表面上に、縫い目の物体表面上での方向を示す第１の基準線を定義し、これを記憶手段に格納する処理を行う段階である。いわば、縫い目の軌跡を物体表面上に投影した投影線を、第１の基準線として定義する処理が行われることになる。図３は、物体Ｄｂの上面の中心位置に、第１の基準線Ｌ１（破線で示す）を定義した例を示す斜視図である。ここでは、説明の便宜上、物体の上面に第１の基準線Ｌ１を１本だけ定義した単純な例を示すが、もちろん、第１の基準線Ｌ１は、複数の面に跨って定義することも可能であり、また、複数本を定義することも可能である。
【００３２】
ステップＳ３に示す糸断面パラメータ定義段階は、オペレータの指示に基づいて、糸断面パラメータＰｃを定義し、これを記憶手段に格納する処理を行う段階である。ここで、糸断面パラメータＰｃとは、縫い目を構成する糸の断面形状と、そのサイズと、を示すパラメータである。図４は、この糸断面パラメータＰｃによって定義された糸の断面形状の一例を示す平面図である。図示の例では、円形の二次元断面図形Ｃが定義されている。このような代表的な幾何学図形からなる断面は、その形状を方程式によって定義することが可能であり、図示の円の場合、ｘｙ二次元座標系を用いて、ｘ２＋ｙ２＝ｒ２なる方程式で定義することができる。ここで、ｒは円の半径であるから、この方程式によって、糸の断面形状と、そのサイズと、の双方が定義されたことになる。
【００３３】
ステップＳ４に示す縫製処理パラメータ定義段階は、オペレータの指示に基づいて、縫製処理パラメータＰｓを定義し、これを記憶手段に格納する処理を行う段階である。ここで、縫製処理パラメータＰｓとは、縫い目の１ピッチ分の長さと、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状と、を示すパラメータである。そもそも縫い目は、布や革のシートの表面から裏面および裏面から表面へと、糸を交互に繰り返し通してゆくことによって形成される物理的構造体であり、物品の表面に現れる縫い目は、物体表面に対して糸を所定周期で浮き沈みさせることにより構成される。
【００３４】
縫製処理パラメータＰｓは、この浮き沈みの周期と形状とを定義するパラメータである。図５は、この縫製処理パラメータＰｓの一定義形態を示す平面図である。この例では、縫製処理パラメータＰｓは、矩形波状の浮き沈み形状（一点鎖線で示す）を示すグラフと、１ピッチ分の長さλ（グラフの１周期）を示す情報と、によって構成されている。すなわち、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示す縫製処理パラメータＰｓを定義することができる。ここで、グラフの基準線Ｓは、物体の表面位置を示しており、基準線Ｓより上方に示された一点鎖線は、物体の表面に露出する縫い目部分（可視部）に対応し、基準線Ｓより下方に示された一点鎖線は、物体の内部に隠れる縫い目部分（不可視部）に対応する。
【００３５】
以上で、定義プロセスは完了である。続いて、作成プロセスが実行される。まず、ステップＳ５に示す第２の基準線作成段階は、ステップＳ２で定義した第１の基準線Ｌ１とステップＳ４で定義した縫製処理パラメータＰｓとに基づいて、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線Ｌ２を作成し、これを記憶手段に格納する処理を行う段階である。
【００３６】
図６は、このステップＳ５の段階で作成された第２の基準線Ｌ２の一例を示す斜視図である。図６に示す第２の基準線Ｌ２は、図３に示す第１の基準線Ｌ１と、図５に示す縫製処理パラメータＰｓとに基づいて作成されたものであり、図５に示すグラフの基準線Ｓを、図３に示す第１の基準線Ｌ１に重ねたときの、一点鎖線で示すグラフの三次元空間上での位置を示すものである。要するに、図５に示すグラフを、その基準線Ｓを基準として、第１の基準線Ｌ１上にマッピングする処理が行われたことになる。
【００３７】
前述したように、図５に示すグラフのうち、基準線Ｓより下方に示された一点鎖線の部分は不可視部となる。この不可視部は、図６において、物体Ｄｂの内部に埋め込まれた状態になっている。第１の基準線Ｌ１が、あくまでも物体表面に定義された二次元的な線であるのに対して、第２の基準線Ｌ２は、物体表面に対して浮き沈みを生じる三次元的な線ということになる。
【００３８】
なお、図６には、図示の便宜上、第２の基準線Ｌ２が、２周期分（２ピッチ分）の縫い目から構成されている例が示されているが、実際には、縫い目の１ピッチ分の長さλは、物体の寸法に対して十分小さく設定されるのが一般的であり、第２の基準線Ｌ２には、通常、より多数の周期が含まれることになる。また、図示の例では、物体の上面のみに第１の基準線Ｌ１が定義されているため、第２の基準線Ｌ２も、この物体の上面のみに作成されることになるが、第１の基準線Ｌ１が物体の前面などにも連続して定義されている場合には、第２の基準線Ｌ２も物体の前面にまで連続して作成される。
【００３９】
ステップＳ６の糸形状データ作成段階は、ステップＳ５で作成した第２の基準線Ｌ２とステップＳ３で定義した糸断面パラメータＰｃとに基づいて、縫い目を構成する糸の三次元形状データを作成し、これを記憶手段に格納する処理を行う段階である。図７は、このステップＳ６の段階で作成された糸の三次元形状データＤｓによって示される糸の三次元形態の一例を示す斜視図である。ここでは、便宜上、この形状データＤｓによって示される糸の三次元形態についても、同じ符号Ｄｓを用いて示すことにする。図６に示す第２の基準線Ｌ２に沿って、図４に示す糸の二次元断面図形を連続的に配置することにより、図７に示すような糸の三次元形態Ｄｓを作成することができる。
【００４０】
具体的には、第２の基準線Ｌ２上に所定間隔で配置代表点を定義し、個々の配置代表点に糸の二次元断面図形を配置してゆく処理を行い、こうして配置された多数の二次元断面図形の輪郭線を滑らかに結ぶ面として、糸の三次元形状データＤｓを作成すればよい。たとえば、図４に示すように、糸断面パラメータＰｃにより、円からなる二次元断面図形Ｃが定義されている場合、第２の基準線Ｌ２上に定義された各配置代表点位置に中心がくるように、それぞれ円形の二次元断面図形Ｃを配置すればよい。このとき、各二次元断面図形Ｃは、各配置代表点における第２の基準線Ｌ２の接線に直交する向きに配置するとよい。こうして、第２の基準線Ｌ２に沿って配置された多数の円（二次元断面図形Ｃ）の円周を滑らかに結んで得られる三次元構造体が、図７に示す糸の三次元形態Ｄｓということになる。この糸の三次元形態Ｄｓは、いわば第２の基準線Ｌ２を中心軸として配置された半径ｒの円柱状パイプに相当し、その一部（不可視部）は、物体Ｄｂの内部に埋め込まれた状態となっている。
【００４１】
ステップＳ７の合成形状データ作成段階は、ステップＳ１で入力した基本形状データＤｂに、ステップＳ６で作成した糸の三次元形状データＤｓを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データＤｂｓを作成し、これを記憶手段に格納する処理を行う段階である。基本形状データＤｂと糸の三次元形状データＤｓとが、同一の三次元座標系上で定義されたデータになっていれば、単に、これらのデータを合わせることにより、合成形状データＤｂｓを得ることができる。
【００４２】
なお、糸の三次元形状データＤｓは、物体Ｄｂの上面に露出した可視部と、物体Ｄｂの内部に埋め込まれた不可視部との双方を含んだデータとなっているので、必要に応じて、このステップＳ７において、糸の三次元形状データＤｓのうちの不可視部のデータを削除して合成するようにしてもよい。もっとも、実用上は、合成形状データＤｂｓに、糸の三次元形状データＤｓの不可視部のデータが含まれていたとしても、図７に示されているような三次元構造体を、所定の視点から観察した状態を示す二次元投影像を得る段階で、糸の三次元形態Ｄｓの不可視部については、隠面処理によって物体Ｄｂの上面によって隠されてしまうので、問題は生じない。
【００４３】
以上のとおり、本発明に係る表面に縫い目を有する物体の三次元形状データの作成方法によれば、まず、縫い目の情報を含まない物体の三次元形状データを基本形状データＤｂとして入力し、第１の基準線Ｌ１、糸断面パラメータＰｃ、縫製処理パラメータＰｓを定義し、これらの情報に基づいて、縫い目の三次元空間上での方向を示す第２の基準線Ｌ２を作成し、この第２の基準線Ｌ２に沿って、糸の断面形状図形を配置することにより、糸の三次元形状データＤｓを作成することができる。したがって、縫い目を含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。
【００４４】
＜＜＜  §２．装置の基本構成  ＞＞＞
続いて、本発明に係る表面に縫い目を有する物体の三次元形状データの作成装置の基本構成を、図８のブロック図を参照しながら説明する。前述したとおり、本発明は、基本的にコンピュータを利用することを前提とした発明であり、この図８に示す装置は、コンピュータに専用のプログラムを組み込むことによって実現される装置である。したがって、個々のブロックとして示されている構成要素の機能は、実際には、いずれもコンピュータに組み込まれたプログラムによって実現される機能ということになる。
【００４５】
図８に示す装置は、表面に縫い目を有する物体について、縫い目を含めた三次元形状データを作成する機能を有し、合計７つのブロックで示される構成要素から構成されている。これら個々のブロックは、図１に示す流れ図の各ステップＳ１〜Ｓ７に対応しており、それぞれ対応するステップに示された処理を実行する機能を有する。
【００４６】
すなわち、基本形状データ入力手段１０は、ステップＳ１に示されている基本形状データ入力段階を実行する機能を有し、第１の基準線定義手段２０は、ステップＳ２に示されている第１の基準線定義段階を実行する機能を有し、糸断面パラメータ定義手段３０は、ステップＳ３に示されている糸断面パラメータ定義段階を実行する機能を有し、縫製処理パラメータ定義手段４０は、ステップＳ４に示されている縫製処理パラメータ定義段階を実行する機能を有し、第２の基準線作成手段５０は、ステップＳ５に示されている第２の基準線作成段階を実行する機能を有し、糸形状データ作成手段６０は、ステップＳ６に示されている糸形状データ作成段階を実行する機能を有し、合成形状データ作成手段７０は、ステップＳ７に示されている合成形状データ作成段階を実行する機能を有する。以下、これらの各手段１０〜７０により実行される処理を、図２〜図７に示す具体例を参照して順に説明する。
【００４７】
まず、基本形状データ入力手段１０は、縫い目の情報を含まない物体の三次元形状データを、基本形状データとして入力する機能をもった構成要素であり、たとえば、図２に示すような物体の三次元形状データを、基本形状データＤｂとして入力する処理を行う。要するに、この基本形状データ入力手段１０は、外部から与えられたデジタルデータを、コンピュータ内部に取り込む機能をもった一般的な入力装置である。
【００４８】
物体を三次元表現する方法としては、ポリゴンを用いた表現と、パラメトリック曲面を用いた表現とが一般的に知られている。前者は、物体表面を多数のポリゴン（多角形）の集合体として表現する手法であり、通常、個々のポリゴンを構成する頂点の位置座標と、各頂点の位置関係（どの頂点とどの頂点を結ぶことにより、多角形が形成されるかを示す情報）と、によって、物体の三次元形状が定義される。一方、後者は、物体の表面を、ベジェ曲面、スプライン曲面、ＮＵＲＢＳ曲面に代表されるようなパラメトリック曲面によって表現する手法であり、パラメトリック曲面を定義するための種々のパラメータの集合によって、物体の三次元形状が定義される。
【００４９】
基本形状データ入力手段１０が入力する基本形状データは、前者の形態のデータ（多数のポリゴンによって物体表面を表現した三次元形状データ）であってもよいし、後者の形態のデータ（パラメトリック曲面によって物体表面を表現した三次元形状データ）であってもかまわない。
【００５０】
既に述べたとおり、建築物や自動車の内装、家具などの場合、ＣＡＤを利用した設計が行われるのが一般的であり、この設計段階で作成されるＣＡＤデータには、通常、基本形状データＤｂが含まれている。たとえば、自動車の座席シートのＣＡＤデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、縫い目の情報を含まないシートの三次元形状データに相当する。実際のシートは、このウレタン構造体の表面に、縫い目をもった布製もしくは革製の表皮を被せたものになる。このようなＣＡＤデータが用意されている物体については、このＣＡＤデータをそのまま、もしくは、必要な修正を施して、基本形状データ入力手段に与えるようにすればよい。たとえば、衣服の場合であれば、設計時に用いた型紙のＣＡＤデータに対して、人体表面との接触によって生じる皺などを表現するための修正を加えたデータを、当該衣服の基本形状データＤｂとして、基本形状データ入力手段１０に与えるようにすればよい。
【００５１】
もちろん、設計段階で用いたＣＡＤデータを流用することができない場合や、そもそもＣＡＤデータが存在しない物体の場合には、当該物体の三次元形状データ（縫い目の情報を含まないデータ）を作成し、基本形状データ入力手段１０に与える必要がある。このように、縫い目の情報を含まない物体の三次元形状データを作成する装置は、既に種々のものが実用化されているので、ここでは詳しい説明は省略する。
【００５２】
第１の基準線定義手段２０、糸断面パラメータ定義手段３０、縫製処理パラメータ定義手段４０は、いずれもオペレータの指示入力に基づいて、所定のデータを設定する機能を有する構成要素である。オペレータからの指示を入力するためには、ディスプレイ上に所定の入力画面を提示し、この入力画面を見たオペレータに、キーボードやマウスなどのコンピュータ用入力機器を操作させ、この操作結果を指示入力として取り込むプログラムを用意しておけばよい。
【００５３】
まず、第１の基準線定義手段２０は、オペレータの指示に基づいて、基本形状データ入力手段１０が入力した基本形状データＤｂで示される物体の表面上に、縫い目の物体表面上での方向を示す第１の基準線Ｌ１を定義する機能をもった構成要素である。たとえば、図２に示すような物体の基本形状データＤｂが入力されている場合、この物体の表面上に、図３に破線で示すような第１の基準線Ｌ１の定義が行われる。第１の基準線Ｌ１の具体的な定義方法については、§３で詳述する。
【００５４】
一方、糸断面パラメータ定義手段３０は、オペレータの指示に基づいて、縫い目を構成する糸の断面形状と、そのサイズと、を示す糸断面パラメータＰｓを定義する構成要素であり、たとえば、図４に示すように、ｘｙ二次元座標系における円の方程式ｘ２＋ｙ２＝ｒ２により、糸の二次元断面図形Ｃの形状とサイズとを定義することができる。オペレータに、このような特定の方程式を直接入力させて、糸断面パラメータＰｓを設定することも可能であるが、実用上は、方程式に含まれる種々の定数値をパラメータとして指定もしくは選択させることにより、所望の断面形状およびサイズを設定させるようにしておくのが好ましい。具体的な糸断面パラメータの設定方法については、§４で詳述する。
【００５５】
縫製処理パラメータ定義手段４０は、オペレータの指示に基づいて、縫い目の１ピッチ分の長さと、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状と、を示す縫製処理パラメータＰｓを定義する機能をもった構成要素である。たとえば、図５に示す例では、縫い目の１ピッチ分の長さλと、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を示すグラフ（一点鎖線で示す）によって、縫製処理パラメータＰｓの定義が行われており、縫い目の１ピッチ分の長さに対応する周期λをもった周期関数を用いて縫製処理パラメータＰｓが定義されている。長さλの定義を行うためには、たとえば、所定の単位（たとえば、ｍｍ）で、オペレータに所望の数値入力を行わせる機能をもたせておけばよい。また、浮き沈みの形状の定義を行うためには、たとえば、予め複数通りのグラフを用意しておき、その中から、オペレータに所望のグラフを選択させる機能をもたせておけばよい。具体的な縫製処理パラメータの設定方法については、§５で詳述する。
【００５６】
第２の基準線作成手段５０は、第１の基準線定義手段２０によって定義された第１の基準線Ｌ１と、縫製処理パラメータ定義手段４０によって定義された縫製処理パラメータＰｓと、に基づいて、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線Ｌ２を作成する機能をもった構成要素である。§１で述べたとおり、たとえば、図３に示すような第１の基準線Ｌ１と、図５に示すようなグラフで示される縫製処理パラメータＰｓとを用いることにより、図６に示すような第２の基準線Ｌ２が作成されることになる。この第２の基準線Ｌ２を作成する処理の具体的なアルゴリズムについては、§６で詳述する。
【００５７】
糸形状データ作成手段６０は、第２の基準線作成手段５０によって作成された第２の基準線Ｌ２と、糸断面パラメータ定義手段３０によって定義された糸断面パラメータＰｃと、に基づいて、縫い目を構成する糸の三次元形状データＤｓを作成する機能をもった構成要素である。§１で述べたとおり、たとえば、図６に示すような第２の基準線Ｌ２と、図４に示すような糸断面パラメータＰｃで示される糸の二次元断面図形Ｃ（この例の場合は円）とを用いることにより、図７に示すような糸の三次元形状データＤｓが作成されることになる。この糸の三次元形状データＤｓを作成する処理の具体的なアルゴリズムについては、§７で詳述する。
【００５８】
合成形状データ作成手段７０は、基本形状データ入力手段１０が入力した基本形状データＤｂに、糸形状データ作成手段６０が作成した糸の三次元形状データＤｓを合成することにより、縫い目の情報を含んだ物体の三次元形状データである合成形状データＤｂｓを作成する処理を行う構成要素である。前述したとおり、基本形状データＤｂと糸の三次元形状データＤｓとを、同一の三次元座標系を用いたデータにしておけば、合成形状データ作成手段７０は、単に、２つのデータＤｂ，Ｄｓを合わせることにより、合成形状データＤｂｓを作成することができる。
【００５９】
こうして作成された合成形状データＤｂｓは、合成形状データ作成手段７０から外部装置へと出力され、種々の用途に利用される。たとえば、三次元ＣＧを取り扱うことができる一般的な装置に合成形状データＤｂｓを取り込めば、所定の視点から、図７に示すような縫い目の情報を含んだ物体を観察したときの二次元ＣＧ画像を作成することができる。このとき、糸の三次元形態Ｄｓの不可視部は、隠面処理により非表示とすることができることは、既に述べたとおりである。
【００６０】
＜＜＜  §３．第１の基準線の定義  ＞＞＞
続いて、図１のステップＳ２もしくは図８の第１の基準線定義手段２０において行われる第１の基準線Ｌ１の具体的な定義方法の一例を述べる。第１の基準線Ｌ１は、たとえば、図３に示すように、縫い目の物体表面上での方向を示す線であり、物体の表面上に定義された線であれば、直線であろうが、曲線であろうがかまわない。
【００６１】
これまで述べてきた§１，§２では、説明の便宜上、図２に示すような直方体からなる物体の三次元形状データを基本形状データＤｂとして入力した例について説明を行ったが、ここでは、図９に示すような曲面を含む物体の三次元形状データが、基本形状データＤｂとして入力された場合を考えてみる。
【００６２】
図１０は、図９に示す物体の表面に、第１の基準線Ｌ１１，Ｌ１２（破線で示す）を定義した状態を示す斜視図である。これらの基準線Ｌ１１，Ｌ１２は、物体Ｄｂの左右両端付近の曲面上に定義されている。オペレータの操作入力に基づいて第１の基準線を定義するには、たとえば、三次元物体の表面に対して描画を行う機能を提供するプログラムを用意しておき、この描画機能を利用して、物体の表面上に第１の基準線を直接描かせるような方法をとることも可能である。ただ、実用上は、以下に述べるような投影処理を利用して、第１の基準線を定義するのが好ましい。
【００６３】
図１１は、この投影処理を利用した第１の基準線の定義方法の原理を示す斜視図である。いま、図示のように、物体Ｄｂから離れた位置に、２本の参照線Ｋ１１，Ｋ１２を定義するとともに、所定の投影方向を示す投影方向ベクトルＶを定義する。そして、参照線Ｋ１１，Ｋ１２を、投影ベクトルＶの示す投影方向に投影し、物体Ｄｂの表面上に投影像を形成させ、この投影像を第１の基準線として定義するのである。図示の例では、参照線Ｋ１１の物体表面上の投影像が第１の基準線Ｌ１１となり、参照線Ｋ１２の物体表面上の投影像が第１の基準線Ｌ１２となっている。
【００６４】
参照線Ｋ１１，Ｋ１２を直線で構成すれば、これら参照線の三次元座標系上での位置は、非常に簡単な方程式で表現することができ、この方程式のパラメータを変化させることにより、参照線Ｋ１１，Ｋ１２を所望の方向へ移動させることができる。方程式は若干複雑になるが、曲線からなる参照線を定義することも可能である。一方、物体の三次元形状は、基本形状データＤｂとして与えられているので、物体表面への参照線Ｋ１１，Ｋ１２の投影像は、三次元座標系上で幾何学演算を行うことにより求めることができる。オペレータに、参照線の形状や位置および投影方向ベクトルの向きを指定するパラメータを入力させ、指定されたパラメータに基づいて得られる投影像を、ディスプレイ画面上にリアルタイムで表示させるようにすれば、オペレータがパラメータの値を変化させる操作入力を行うたびに、ディスプレイ画面上に表示される投影像の位置がリアルタイムで変化することになる。したがって、オペレータは、ディスプレイ画面を見ながら、所望の位置に第１の基準線を定義することができる。
【００６５】
結局、オペレータの指示に基づいて、基本形状データＤｂで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線Ｋ１１，Ｋ１２と、所定の投影方向を示す投影方向ベクトルＶと、を定義する機能と、参照線Ｋ１１，Ｋ１２を投影方向ベクトルＶの示す投影方向に投影したときに、基本形状データＤｂで示される物体の表面上に形成される投影像Ｌ１１，Ｌ１２を第１の基準線として定義する機能とを、図８に示す第１の基準線定義手段２０にもたせておくようにすればよい。
【００６６】
前述したとおり、基本形状データＤｂは、多数のポリゴンによって物体表面を表現した三次元形状データであってもよいし、ベジェ曲面、スプライン曲面、ＮＵＲＢＳ曲面に代表されるようなパラメトリック曲面によって物体表面を表現した三次元形状データであってもかまわない。参照線Ｋ１１，Ｋ１２の投影像Ｌ１１，Ｌ１２（すなわち、第１の基準線）は、前者の場合、通常は、特定のポリゴン上に描かれた直線もしくは曲線として表現され、後者の場合、通常は、ベジェ曲線、スプライン曲線、ＮＵＲＢＳ曲線などのパラメトリック曲線で表現されることになる。
【００６７】
なお、第１の基準線は、必ずしも幾何学的な線として定義する必要はなく、離散的に位置する複数の点の順列によって定義を行うことも可能である。たとえば、物体Ｄｂの表面に、離散的に位置する点Ｐ１，Ｐ２，Ｐ３，…をこの順序で定義すれば、これら複数の点Ｐ１，Ｐ２，Ｐ３，…を物体Ｄｂの表面上で順に連結する線（たとえば、表面上の最短距離で連結する線）として、第１の基準線の定義を行うことが可能である。
【００６８】
＜＜＜  §４．糸断面パラメータの定義  ＞＞＞
次に、図１のステップＳ３もしくは図８の糸断面パラメータ定義手段３０において行われる糸断面パラメータＰｃの具体的な定義方法の一例を述べる。糸断面パラメータＰｃは、縫い目を構成する糸の断面形状とそのサイズとを示すパラメータであるので、糸の二次元断面図形とその大きさを定めることができれば、どのような形態のパラメータであってもかまわない。
【００６９】
図１２は、ｘｙ二次元直交座標系において、（ｘ／ａ）２／ε＋（ｙ／ｂ）２／ε＝１（但し、εは所定の定数）なる式によって示される超二次曲線を用いて糸の二次元断面図形の定義を行った例を示す図である。この式は、超二次関数を示す式であり、媒介変数θを用いた表現に書き直すと、ｘ＝ａcosεθ、ｙ＝ｂsinεθという三角関数を用いた形になる。
【００７０】
図１３は、定数εの値を変えた場合に、上式によって、ｘｙ二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。図１３(a) は、ε＝０．１に設定した場合の形状であり、いわゆる角丸矩形に近い図形となる。図１３(b) は、ε＝０．７に設定した場合の形状であり、角の丸みが強くなってくる。図１３(c) は、ε＝１．０に設定した場合の形状であり、得られる図形は、（ｘ／ａ）２＋（ｙ／ｂ）２＝１なる式で示される幾何学図形、すなわち、楕円になる。図４に示す円は、ａ＝ｂ＝ｒに設定した場合に対応する。図１３(d) ，(e) ，(f) は、それぞれε＝１．５，２．０，３．０に設定した場合の形状である。
【００７１】
結局、上式において、定数ａ，ｂは、断面のサイズを規定するパラメータとなり、定数εは、断面形状を規定するパラメータとなる。したがって、この図１２に示す超二次関数を用いて糸断面を定義することにすれば、ａ，ｂ，εなる定数を糸断面パラメータとして定めることにより、超楕円から構成される糸断面の形状およびサイズを決定することができる。オペレータは、３つのパラメータａ，ｂ，εの値を設定する指示入力を行うだけで済むので、非常に軽い作業負担で、糸断面の定義が可能になる。
【００７２】
一般的な縫製処理に用いられる糸の断面形状は、ほぼ円や楕円を基準にした形状になるため、図１２に示す式において、εを所望の値に設定することにより定義することができる。ただ、特殊な縫製加工などでは、図１２に示す式では表現できない断面形状をもった糸が用いられることもある。そのような場合は、図１４に示すように、ｒθ極座標系において、角度θ（０≦θ＜２π）と、この角度θに対応する距離ｒ（θ）と、の関係を糸断面パラメータとして定義すればよい。
【００７３】
実際には、角度θの値は、所定間隔ごとの離散値として定義せざるを得ないので、この離散値として与えられた有限個のθの値と、これに対応するｒ（θ）の値との組み合わせを示す断面形状テーブルを用意し、この断面形状テーブルにより糸断面パラメータを定義すればよい。たとえば、θを１０°おきの離散値として設定すれば、合計３６組の「θとｒ（θ）」の組み合わせを示す断面形状テーブルによって糸断面パラメータを定義することができ、任意形状の断面をもった糸に対応することができる。
【００７４】
なお、角度θの値として離散値を用いた場合、糸断面の輪郭線は、連続した線ではなく、有限個の点の集合として定義されることになる。たとえば、図１４に示されている例の場合、特定のθとｒ（θ）との組み合わせにより、１つの輪郭点Ｋが定義されることになるので、糸断面の輪郭線は、有限個の輪郭点Ｋの集合として表現されることになる。したがって、隣接する輪郭点Ｋ間の輪郭線の情報が必要な場合には、線形補間やスプライン補間などの補間処理を行うようにすればよい。
【００７５】
＜＜＜  §５．縫製処理パラメータの定義  ＞＞＞
続いて、図１のステップＳ４もしくは図８の縫製処理パラメータ定義手段４０において行われる縫製処理パラメータＰｓの具体的な定義方法の一例を述べる。縫製処理パラメータＰｓは、縫い目の１ピッチ分の長さと、この１ピッチ分の縫い目の物体表面に対する浮き沈みの形状と、を示すパラメータである。ここで、縫い目の１ピッチ分の長さλは、所定の単位（たとえば、ｍｍ）を指定して、オペレータに数値を指定させることにより容易に定義することが可能である。
【００７６】
一方、物体表面に対する浮き沈みの形状は、周期λをもった周期関数ｈ（ｓ）を用いて定義すると便利である。ここで、ｓは、第１の基準線Ｌ１上に定義された所定の始点位置から、第１の基準線Ｌ１に沿った距離を示すパラメータであり、関数値ｈ（ｓ）は、距離ｓだけ離れた位置における浮き沈み量を示すパラメータである。たとえば、物体表面上の位置を基準値０とし、物体表面から外部に浮いた位置を正の浮き沈み量で示し、物体表面から内部に沈んだ位置を負の浮き沈み量で示せばよい。
【００７７】
図１５は、代表的な周期関数ｈ（ｓ）として、ｈ（ｓ）＝Ａsinγ（２πｓ／λ）なる式（但し、Ａ，γは所定の定数）で示される関数を示すグラフである。ここで、γ＝１に設定した場合、周期関数ｈ（ｓ）は、図示のような正弦関数になり、γの値を種々変化させることにより、グラフの形状を調整することができる。たとえば、図５に一点鎖線で示されているグラフのように、矩形波に近い周期関数を定義することも可能である。なお、Ａは振幅であり、λと同様に、所定の単位（たとえば、ｍｍ）をもった量として、オペレータに数値指定させることができる。
【００７８】
一般的な縫い目の場合、可視部（物体表面より上に位置する部分）と不可視部（物体表面より下に位置する部分）とが交互に繰り返されるので、周期関数ｈ（ｓ）も、正の値と負の値とを交互にとる関数にするのが好ましい。上述の式において、γを偶数に設定すると、関数ｈ（ｓ）は常に正の値をとることになるので、どうしてもγを偶数に設定した形状が必要な場合には、半周期ごとに関数値の符号を反転させるような処理を行うようにするとよい。もちろん、縫い方によっては、可視部のみからなり、不可視部を有さない縫い目が形成される場合もあるので、そのような場合には、γを偶数に設定した関数をそのまま用いてかまわない。
【００７９】
また、可視部と不可視部とをそれぞれ別個の関数で定義することも可能である。可視部の長さと不可視部の長さとの比は、必ずしも１：１である必要はなく、また、可視部の形状と不可視部の形状とは、必ずしも同一である必要はないので、縫い目によっては、可視部の形状を規定する関数と、不可視部の形状を規定する関数とを、別個に定義した方がよいケースもある。要するに、１ピッチ分の縫い目の物体表面に対する浮き沈みの形状を定義できる関数であれば、どのような関数を用いてもかまわない。なお、関数ｈ（ｓ）は周期関数なので、０≦ｓ＜λの範囲内について、関数値ｈ（ｓ）の値が定義されていればよい。
【００８０】
もちろん、１ピッチ分の縫い目の形状は、必ずしも関数で定義する必要はなく、離散的に配置された輪郭点の集合によって定義することも可能である。図１６は、多数の輪郭点Ｋｉの集合により、縫い目の形状を定義した例を示す平面図である。ここで、第ｉ番目の輪郭点Ｋｉは、０〜λの範囲内の第ｉ番目の離散値として与えられる距離ｓｉと、これに対応する所定値ｈ（ｓｉ）との組み合わせによって定義される点ということになる。したがって、縫い目の１ピッチ分の長さλと、０〜λの範囲内の複数の離散値ｓおよび個々の離散値に対応する所定値ｈ（ｓ）の組み合わせを示す起伏テーブルを作成すれば、この起伏テーブルを用いて縫製処理パラメータを定義することが可能になる。
【００８１】
もっとも、この起伏テーブルで定義される１ピッチ分の縫い目の形状は、連続的な線ではなく、有限個の点の集合になるので、必要があれば、この起伏テーブル上の離散的情報に対する補間処理を行うのが好ましい。
【００８２】
＜＜＜  §６．第２の基準線の作成  ＞＞＞
次に、図１のステップＳ５もしくは図８の第２の基準線作成手段５０において行われる第２の基準線の具体的な作成方法の一例を述べる。図６に示されているように、第２の基準線Ｌ２は、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す線であり、第１の基準線Ｌ１と縫製処理パラメータＰｓとに基づいて作成されることになる。ここでは、図１０に示すような物体Ｄｂ上に定義された第１の基準線Ｌ１１，Ｌ１２と、図１５に示すような所定周期λをもった周期関数ｈ（ｓ）として定義された縫製処理パラメータＰｓとに基づいて、第２の基準線を作成する具体的な方法を述べる。
【００８３】
まず、図１７の斜視図に示されている第１の基準線Ｌ１２に基づいて、第２の基準線を作成する方法を考える。ここで作成する第２の基準線は、図１５に示す周期関数ｈ（ｓ）のグラフを、第１の基準線Ｌ１２に沿ってマッピングした線というべきものである。この場合、まず、第１の基準線Ｌ１２上の任意の位置に、始点Ｐ０を設定する。この始点Ｐ０は、周期関数ｈ（ｓ）をマッピングする上での位相を定める基準になる。縫い目の位相までも正確に定める必要がある場合には、オペレータに、始点Ｐ０の位置を正確に指定させる必要があるが、縫い目の位相までも考慮する必要のない一般的な用途の場合であれば、第２の基準線作成手段５０に、第１の基準線Ｌ１２上の任意の点（たとえば、第１の基準線Ｌ１２の端点）を始点Ｐ０とする自動設定機能をもたせておけばよい。
【００８４】
こうして、始点Ｐ０が定まったら、図１７に示すように、第１の基準線Ｌ１２上にあり、始点Ｐ０からこの第１の基準線Ｌ１２に沿った距離がｓの位置にある点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈ（ｓ）だけ隔たった位置にある点Ｑを求め、このような点Ｑの集合によって第２の基準線を作成する処理を行えばよい。関数ｈ（ｓ）は周期関数なので、０≦ｓ＜λの範囲内について、関数値ｈ（ｓ）の値が定義されていれば、任意のｓの値について、関数値ｈ（ｓ）を求めることができ、第１の基準線がどのような長さをもっていても、これに対応する第２の基準線を作成することが可能である。
【００８５】
第２の基準線を構成する点Ｑは、点Ｐに対して、当該点Ｐの位置に立てた法線ｎの方向に沿って、関数値ｈ（ｓ）だけ離れた位置に定義されるので、作成される第２の基準線は、常に物体表面に対して浮き沈みを生じる線になる。もちろん、関数値ｈ（ｓ）は正負両方の値をとることができ、関数値ｈ（ｓ）が正の値をとる場合には、点Ｑは点Ｐに対して物体の外側方向に隔たった点として定義され、関数値ｈ（ｓ）が負の値をとる場合には、点Ｑは点Ｐに対して物体の内側方向に隔たった点として定義される。
【００８６】
縫製処理パラメータＰｓが式によって定義されており、第１の基準線が比較的単純な式によって表されている場合、点Ｑの集合からなる第２の基準線も式によって表現することが可能である。たとえば、第１の基準線が直線であった場合、第２の基準線は、縫製処理パラメータＰｓとして与えられた式、たとえば、ｈ（ｓ）＝Ａsinγ（２πｓ／λ）のような式で表される周期的曲線を、三次元空間上にそのまま配置したものになる。したがって、二次元平面上の周期的曲線を定義する上記式を、三次元空間上の式に変換することにより、第２の基準線を式として求めることができる。
【００８７】
なお、図１６に示す例のように、縫製処理パラメータＰｓが、縫い目の１ピッチ分の長さλと、０〜λの範囲内の複数の離散値ｓおよび個々の離散値に対応する所定値ｈ（ｓ）の組み合わせを示す起伏テーブルによって定義されている場合は、０≦ｓ＜λの範囲内の有限個の変数ｓについてのみ、値ｈ（ｓ）の定義がなされている。したがって、λ以上の変数ｓについては、値ｈ（ｓ）の定義がなされていないことになるが、起伏テーブルの情報を周期λで繰り返し適用すれば問題はない。すなわち、第１の基準線Ｌ１２上にあり、始点Ｐ０からの第１の基準線Ｌ１２に沿った距離が（ｋλ＋ｓ）の位置（但し、ｋ＝０，１，２，…）にある点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈ（ｓ）だけ離れた位置にある点Ｑを求め、点Ｑの集合によって第２の基準線を作成すればよい。ここで、ｋは、ｋ＝０，１，２，…のような整数であり、繰り返しの回数を示すパラメータである。
【００８８】
このように、起伏テーブルを用いて定義された点Ｑは、離散的な点になるので、第２の基準線を連続的な線として求めたい場合には、起伏テーブルに基づく離散的情報に対して補間処理を行い、補間処理後の情報を用いて第２の基準線を作成すればよい。たとえば、起伏テーブルに基づいて、複数の離散的な点Ｑを求め、隣接する点Ｑの間の部分については、線形補間やスプライン補間などの補間処理を行うようにすればよい。
【００８９】
一方、縫製処理パラメータＰｓが、起伏テーブルではなく、周期関数ｈ（ｓ）によって定義されていた場合は、任意のｓに対して関数値ｈ（ｓ）を求めることができるので、第１の基準線上の任意の点Ｐについて、対応する点Ｑを求めることができる。したがって、原理的には、無限個の点Ｑから構成される連続的な線として、第２の基準線を作成することができる。しかしながら、実用上は、無限個の点Ｑの位置を求める演算を行うことはできないので、第１の基準線上に所定間隔で有限個の標本点Ｐ（ｉ）を定義し、縫製処理パラメータに基づいて各標本点Ｐ（ｉ）を浮き沈みさせることにより、有限個の代表点Ｑ（ｉ）を求めるようにし、この有限個の代表点Ｑ（ｉ）の集合として、第２の基準線を構成すればよい。具体的には、第１の基準線上の第ｉ番目の標本点Ｐ（ｉ）の位置に立てた物体表面についての法線ｎ（ｉ）を求め、この法線ｎ（ｉ）上にあり、標本点Ｐ（ｉ）から縫製処理パラメータに基づいて定まる所定距離だけ離れた位置にある点を、第ｉ番目の代表点Ｑ（ｉ）とする処理を、ｉ＝１，２，３，…と必要な回数だけ繰り返し実行すればよい。
【００９０】
図１８は、第１の基準線Ｌ１（破線で示されている）上に定義された有限個の標本点Ｐ０，Ｐ１，Ｐ２，…に基づいて、第２の基準線Ｌ２を作成する方法を示す正断面図であり、物体の三次元形態を、第１の基準線Ｌ１に沿って切断した断面を示している。標本点Ｐ０，Ｐ１，Ｐ２，…は、たとえば、始点Ｐ０から第１の基準線Ｌ１に沿って等間隔に並ぶような点として定義すればよい（もちろん、必ずしも等間隔に設定する必要はない）。図に破線で示す直線ｎ０，ｎ１，ｎ２，…は、それぞれ標本点Ｐ０，Ｐ１，Ｐ２，…の位置において、物体表面に立てた法線を示している。標本点Ｐ０は、始点Ｐ０と同一の点であり、始点からの距離ｓ＝０となる点である。
【００９１】
図示の例は、周期関数ｈ（ｓ）のｓ＝０における値が、ｈ（０）＝０となっている例であり、始点位置における標本点Ｐ０とこれに対応する代表点Ｑ０とは同一の点になる。一方、始点Ｐ０から第１の基準線Ｌ１に沿って距離ｓ１だけ離れた位置に定義された標本点Ｐ１については、法線ｎ１上にあり、標本点Ｐ１から距離ｈ（ｓ１）だけ離れた位置にある点Ｑ１が、対応する代表点として求められる。同様に、始点Ｐ０から第１の基準線Ｌ１に沿って距離ｓ２だけ離れた位置に定義された標本点Ｐ２については、法線ｎ２上にあり、標本点Ｐ２から距離ｈ（ｓ２）だけ離れた位置にある点Ｑ２が、対応する代表点として求められる。以下、同様にして、各標本点Ｐ３〜Ｐ８に対応する代表点Ｑ３〜Ｑ８が、図示のように求められる。
【００９２】
こうして複数の離散的な点として求められた代表点Ｑ０〜Ｑ８の集合により、第２の基準線Ｌ２が構成されることになる。隣接する代表点Ｑの間の部分については、必要に応じて、線形補間やスプライン補間などの補間処理を行うようにすればよい。
【００９３】
なお、物体表面が、複数の面によって構成されており、この複数の面の交差部分に標本点を設定する場合には、当該標本点位置には、複数の法線（個々の面についての法線）が定義されることになる。たとえば、図３に示す例では、第１の基準線Ｌ１が、物体Ｄｂの上面にのみ定義されているが、もし、第１の基準線Ｌ１が物体Ｄｂの上面から前面へと連続した線となっており、この上面と前面との交差位置（直角に折り曲がる位置）に標本点Ｐが定義されることになったとすると、当該標本点Ｐに関しては、物体上面についての法線と、物体前面についての法線とが定義可能である。このような場合、いずれか一方の法線のみを採用し、採用した法線上に代表点Ｑを定義してもよいし、両法線の中間に位置する中間法線を定め、この中間法線上に代表点Ｑを定義してもよい。
【００９４】
＜＜＜  §７．糸の三次元形状データの作成  ＞＞＞
続いて、図１のステップＳ６もしくは図８の糸形状データ作成手段６０において行われる糸の三次元形状データの具体的な作成方法の一例を述べる。図６に示す第２の基準線Ｌ２が、太さをもたない幾何学的な線であるのに対して、図７に示す糸の三次元形状データＤｓは、円柱状のパイプのような三次元形態を示すデータになる。このような三次元形状データＤｓを作成するには、第２の基準線Ｌ２上に所定間隔で配置代表点Ｑを定義し、各配置代表点の位置に、糸断面パラメータＰｃで示される糸の二次元断面図形を、当該配置代表点Ｑにおける第２の基準線Ｌ２の接線ベクトルＴに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、糸の三次元形状データＤｓを作成すればよい。なお、この§７で説明する「配置代表点Ｑ」は、§６で述べた個々の標本点に対応する「代表点Ｑ」と同一でもよいし、別個のものでもかまわない。ただ、実用上は、§６で述べた「代表点Ｑ」を、この§７においてもそのまま「配置代表点Ｑ」として用いるのが好ましく、以下の説明は、そのような場合を例にとったものである。
【００９５】
たとえば、図１９に示すように、第１の基準線Ｌ１上に、第ｉ番目の標本点Ｐ（ｉ）、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）、第（ｉ＋２）番目の標本点Ｐ（ｉ＋２）が定義され、これら各標本点位置に、それぞれ物体表面に対する法線ｎ（ｉ），ｎ（ｉ＋１），ｎ（ｉ＋２）が定義され、各法線上に、それぞれ代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）が求められている場合を考える。この場合、第２の基準線Ｌ２は、各代表点を滑らかに結ぶ線として定義される。なお、図１９において、ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）は、それぞれ代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）における第２の基準線Ｌ２の接線の向きを示す接線ベクトルである。
【００９６】
一方、糸の二次元断面図形Ｃとしては、図４に示すような糸断面パラメータＰｃによって、半径ｒの円が定義されていたものとする。この場合、糸の三次元形状データを作成するには、まず、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、糸の二次元断面図形Ｃ、すなわち、半径ｒの円を配置する処理を行えばよい。具体的には、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に中心がくるように、半径ｒの円をそれぞれ配置すればよい。このとき、各円を、各代表点における第２の基準線Ｌ２の接線ベクトルに対して直交する向きに配置する。
【００９７】
図２０は、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、それぞれ半径ｒの円からなる糸の二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）を配置した状態を示す概念図である。各円Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）は、それぞれ各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）が中心となるように配置されており、かつ、各接線ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）に対して直交する向きに配置されている。
【００９８】
なお、配置対象となる断面図形Ｃが円の場合には、配置の際の回転方向（円周方向）に関する位置は考慮する必要がないが、それ以外の図形の場合には、回転方向に関する位置も考慮する必要が生じる。たとえば、糸の二次元断面図形Ｃが楕円の場合、長軸をどの方向に向けて配置するかを考慮する必要がある。このような回転方向に関する位置基準は、個々の代表点についての接線ベクトルと法線とを利用して定めるようにするとよい。
【００９９】
たとえば、図２１に示す例の場合、標本点Ｐ（ｉ）についての法線ｎ（ｉ）上に代表点Ｑ（ｉ）が定義され、この代表点Ｑ（ｉ）の位置において接線ベクトルＴ（ｉ）が定義されている。この場合、代表点Ｑ（ｉ）の位置に糸の二次元断面図形Ｃ（ｉ）を配置する際には、代表点Ｑ（ｉ）を含み、接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）を法線ｎ（ｉ）の方向へ投影することによってこの投影面上に得られる投影ベクトルＴＴ（ｉ）の位置を基準として、糸の二次元断面図形Ｃ（ｉ）を配置するようにすればよい。別言すれば、代表点Ｑ（ｉ）を通り接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）、法線ｎ（ｉ）、投影ベクトルＴＴ（ｉ）の三者が同一平面上に含まれることになるように、当該投影面上に投影ベクトルＴＴ（ｉ）を定義するのである。そして、この投影ベクトルＴＴ（ｉ）の向きを、糸の二次元断面図形Ｃを配置する上での回転方向に関する位置基準（たとえば、楕円を配置する場合には、長軸の向きを定める基準）として用いるようにすればよい。
【０１００】
以上述べたとおり、代表点Ｑ（ｉ）の位置に、糸の二次元断面図形Ｃ（ｉ）を配置する処理を行う際には、代表点Ｑ（ｉ）の位置における接線ベクトルＴ（ｉ）を求める必要がある。ここでは、この接線ベクトルＴ（ｉ）を求めるための具体的な手法を３通り示しておく。
【０１０１】
まず、第２の基準線作成手段５０によって、方程式により表現可能な第２の基準線Ｌ２が作成された場合は、この方程式の代表点Ｑ（ｉ）における微分値を利用して、接線ベクトルＴ（ｉ）を求めることができる。直線もしくは曲線グラフを示す方程式における特定の座標位置における微分値は、当該座標位置におけるグラフの傾きを示すものになり、当該座標位置における接線ベクトルの方向を示すものになる。よって、第２の基準線Ｌ２が式によって表現されている場合には、微分演算を行うことにより、任意の代表点Ｑ（ｉ）における接線ベクトルＴ（ｉ）を求めることができる。
【０１０２】
一方、第２の基準線Ｌ２が、離散的に定義された代表点Ｑの集合によって表現されている場合、第２の基準線Ｌ２を表現する直接的な情報は、個々の代表点Ｑの三次元空間上での位置座標のみである。たとえば、図１９では、説明の便宜上、第２の基準線Ｌ２を実線で描いてあるが、実際には、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置座標のみが与えられており、第２の基準線Ｌ２は、これら代表点を滑らかに結ぶ曲線として概念的に定義されている線に過ぎない（もちろん、線形補間やスプライン補間などの補間処理を行えば、各代表点を結ぶ線として、第２の基準線Ｌ２を実体化させることは可能である）。
【０１０３】
このように、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置座標のみが与えられている場合には、隣接する代表点へ向かう方向を、接線ベクトルの方向として取り扱うことにより、各代表点に接線ベクトルを定義することができる。すなわち、第ｉ番目の代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）は、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）を利用して、点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとして定義すればよい。
【０１０４】
図２２は、このような手法により、各代表点Ｑ（ｉ），Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ），Ｔ（ｉ＋１）を定義した例を示す概念図である。代表点Ｑ（ｉ）についての接線ベクトルＴ（ｉ）は、代表点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ＋１）は、代表点Ｑ（ｉ＋１）とＱ（ｉ＋２）とを結ぶ線分に沿ったベクトルとなっている。このような手法で定義された接線ベクトルは、各代表点における接線の正確な向きを示すものにはならないが、隣接する代表点間の間隔がある程度小さければ、実用上、十分な精度をもった接線ベクトルを定義することができる。
【０１０５】
より精度の高い接線ベクトルを定義するには、次のような手法が有効である。すなわち、個々の代表点Ｑ（ｉ）について、第２の基準線Ｌ２上の点であって、隣接する代表点よりも近くに存在する近接点ＱＱ（ｉ）を定義し、各代表点Ｑ（ｉ）における接線ベクトルＴ（ｉ）を、当該代表点Ｑ（ｉ）と当該代表点について定義された近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとして求めるのである。
【０１０６】
図２３は、このような手法により、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）についての接線ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）を定義した例を示す概念図である。代表点Ｑ（ｉ）についての接線ベクトルＴ（ｉ）は、代表点Ｑ（ｉ）と近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ＋１）は、代表点Ｑ（ｉ＋１）と近接点ＱＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋２）についての接線ベクトルＴ（ｉ＋２）は、代表点Ｑ（ｉ＋２）と近接点ＱＱ（ｉ＋２）とを結ぶ線分に沿ったベクトルとなっている。図では、図示の便宜上、各代表点とその近接点との距離を比較的大きくとっているが、実際には、この距離を非常に小さくとるのが好ましい。
【０１０７】
なお、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）の位置は、結局は、第１の基準線Ｌ１上の近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）に基づいて決定されることになるので、実務上は、次のような手順により、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）の位置を決定するようにすればよい。
【０１０８】
まず、図２３に示すように、第２の基準線Ｌ２を作成する段階において、第１の基準線Ｌ１上に所定間隔で、多数の標本点Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）を設定したら、第１の基準線Ｌ１上で各標本点から所定距離δだけ離れた位置に、近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）を併せて設定する。そして、各標本点Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）について、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）を求めるのと全く同様の手法により、各近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）について、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）を求めるようにする。すなわち、近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）の各位置において、物体表面に立てた法線を、それぞれｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）とすれば、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）は、それぞれ各法線ｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）上の点であって、各近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）から、縫製処理パラメータＰｓに基づいて定まる所定の距離だけ離れた点として求まる。
【０１０９】
さて、図２０に示すように、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、それぞれ糸の二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）を配置したら、これら各断面図形の輪郭を滑らかに結ぶことにより得られる三次元構造体を示すデータが、糸の三次元形状データＤｓということになる。ここでは、この糸の三次元形状データＤｓを、ポリゴンデータとして得るための具体的な方法を説明する。
【０１１０】
まず、図２４の平面図に示されているとおり、糸の二次元断面図形Ｃ（図示の例は円）の輪郭線上に複数の制御点を定義する。図示の例では、１２個の制御点Ｇ０〜Ｇ１１が、円周上に等間隔で定義されている。このような制御点が定義された断面図形を、各代表点位置に配置したら、同一断面図形上の隣接する制御点同士、もしくは、互いに隣接配置された断面図形上の制御点同士を相互に接続し、これら制御点を頂点とするポリゴンを形成し、このポリゴンの集合によって、糸の三次元形状データＤｓを構成すればよい。
【０１１１】
図２５は、このようなポリゴンの形成方法を示す斜視図であり、第ｉ番目の代表点Ｑ（ｉ）に配置された断面図形Ｃ（ｉ）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）に配置された断面図形Ｃ（ｉ＋１）とが示されている。この例では、２つの断面図形Ｃ（ｉ），Ｃ（ｉ＋１）は、いずれも円であり、前述したとおり、投影ベクトルＴＴ（ｉ），ＴＴ（ｉ＋１）を回転方向に関する位置基準とする配置が行われている。したがって、断面図形Ｃ（ｉ）上の第０番目の制御点Ｇ０（ｉ）は、投影ベクトルＴＴ（ｉ）の示す方向に定義され、断面図形Ｃ（ｉ＋１）上の第０番目の制御点Ｇ０（ｉ＋１）は、投影ベクトルＴＴ（ｉ＋１）の示す方向に定義されている。なお、この図２５では、図が繁雑になるのを避けるため、断面図形Ｃ（ｉ）上には、この他に第ｊ番目の制御点Ｇ（ｉ，ｊ）と第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）のみを示し、断面図形Ｃ（ｉ＋１）上には、この他に第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）と第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）のみを示してある。
【０１１２】
ここで、図のように、４つの制御点Ｇ（ｉ，ｊ），Ｇ（ｉ，ｊ＋１），Ｇ（ｉ＋１，j＋１），Ｇ（ｉ＋１，ｊ）を結べば、これら４つの制御点を頂点とする四角形が形成できる。このように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）と、の合計４点を頂点とする四角形を定義すれば、これらの四角形の集合によって、糸の三次元形状データＤｓを構成することができる（第０番目の制御点Ｇ０を、第１２番目の制御点Ｇ１２としても取り扱うようにすれば、断面図形の全周囲に四角形を定義することができる）。
【０１１３】
なお、複数の制御点を頂点として形成するポリゴンは、必ずしも四角形にする必要はない。たとえば、図２５に示す例において、制御点Ｇ（ｉ，ｊ）と制御点Ｇ（ｉ＋１，ｊ＋１）とを結ぶようにすれば、四角形の代わりに２組の三角形が形成されることになる。結局、一般論として拡張すれば、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された１つもしくは複数の制御点と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された１つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、糸の三次元形状データＤｓを作成することができることになる。
【０１１４】
以上、糸の三次元形状データＤｓをポリゴンの集合体として構成する例を述べたが、もちろん、糸の三次元形状データＤｓをＮＵＲＢＳなどのパラメトリック曲面の集合体として構成することも可能である。この場合は、各制御点を通るようなＮＵＲＢＳ曲面を定義する処理を行えばよい。このような処理を行うための技術は、既に種々の手法が知られている公知技術であるため、ここでは詳しい説明は省略する。
【０１１５】
＜＜＜  §８．疑似法線を用いる手法の基本原理  ＞＞＞
これまで述べてきた§１〜§７は、特願２００５−１２４５３５に開示された先願発明とほぼ共通した内容となっている。本願発明の特徴は、この先願発明における法線の決定方法に関する改良である。
【０１１６】
§６で述べたとおり、本発明において、第２の基準線を作成する際には、第１の基準線上の標本点Ｐの位置において、物体表面に対する法線ｎを決定する必要がある。たとえば、図１７には、第１の基準線Ｌ１２上の標本点Ｐ（始点Ｐ０から第１の基準線Ｌ１２に沿った距離がｓの位置にある点）の位置に、物体表面についての法線ｎを立てた例が示されている。前述したとおり、この例の場合、第２の基準線を構成する代表点Ｑは、標本点Ｐに対して、法線ｎの方向に沿って関数値ｈ（ｓ）だけ離れた位置に定義されることになる。ここで、法線ｎは、方向の情報をもっており、図１７の例の場合、矢印で示す方向が法線ｎの方向になる。関数値ｈ（ｓ）は正負両方の値をとることができ、関数値ｈ（ｓ）が正の値をとる場合には、代表点Ｑは法線ｎの方向に隔たった点として定義され、関数値ｈ（ｓ）が負の値をとる場合には、代表点Ｑは法線ｎの方向とは逆の方向に隔たった点として定義される。
【０１１７】
ところで、本発明において標本点Ｐに定義される法線とは、あくまでも三次元物体の表面（標本点Ｐの近傍領域）についての法線であり、これを求めるには、標本点Ｐの近傍に位置する面の情報が必要になる。物体を表現する三次元形状データに基づいて、当該物体表面の任意の標本点Ｐについての法線を演算によって求める手法は、既に種々の方法が公知であるため、ここでは具体的な説明は省略する。しかしながら、いずれの手法も、比較的複雑な演算が必要になり、本発明のように多数の法線を求める必要がある手順を実行した場合、その演算負担は無視できなくなる。
【０１１８】
本発明において、法線を求める必要があるのは、第１の基準線上の標本点Ｐを所定方向に所定距離だけ移動することにより、第２の基準線上の代表点Ｑを決定するためである。ここで、標本点Ｐについて定義された法線ｎは、標本点Ｐの移動方向を示すために利用される。たとえば、図１８に示す例の場合、標本点Ｐ１を法線ｎ１の方向に距離ｈ（ｓ１）だけ移動することにより、代表点Ｑ１が決定されている。このように、代表点Ｑを決定するための標本点Ｐの移動方向を法線方向としたのは、通常、縫い目は物体表面に対して垂直方向に浮き沈みするであろうと考えられるからである。しかしながら、実際には、糸はある程度の弾力性をもった素材であり、§６で述べた方法によって決定された第２の基準線は、必ずしも実在の糸の縫製経路を正確に示しているわけではない。実用上は、本発明による方法で作成された「表面に縫い目を有する物体」の三次元形状データにおいて、縫い目の部分が本物らしく見えれば十分である。
【０１１９】
このような点を考慮すると、本発明において、代表点Ｑの決定に用いられる法線は、必ずしも正確な法線である必要はない。そこで本願発明者は、§６で述べた手法により第２の基準線を作成する上で必要な法線として、本来の法線の代わりに、疑似法線を利用することにより、演算負担の軽減を図る着想を得た。ここで、疑似法線とは、幾何学的な本来の法線ではないが、本発明を実施する上では、本来の法線に代用可能な程度に近似している疑似的な法線というべきものである。
【０１２０】
本発明における疑似法線の特徴は、「線」上の１点について定義することが可能な線であることである。上述したとおり、三次元物体の表面についての本来の法線は、「面」上の１点について定義されるべきものであり、そもそも「線」上の１点については、本来の法線を定義することができない。本発明では、敢えて「線」上の１点について、疑似法線なるものを定義し、この疑似法線を本来の法線に代用することになる。以下、この疑似法線の定義の仕方を説明する。
【０１２１】
いま、図２６に示すような曲線からなる第１の基準線Ｌ１が存在する場合に、この線上の任意の標本点Ｐの位置における疑似法線ｎ＊を定義してみよう。なお、図では、便宜上、第１の基準線Ｌ１が紙面（平面）上の曲線として描かれているが、第１の基準線Ｌ１は必ずしも平面上の曲線である必要はない。
【０１２２】
まず、この第１の基準線Ｌ１に沿って標本点Ｐから第１の方向（図の右方向）に所定距離だけ隔たった位置にある第１の参照点Ｐ＋と、この第１の基準線Ｌ１に沿って標本点Ｐから第１の方向とは逆の第２の方向（図の左方向）に所定距離だけ隔たった位置にある第２の参照点Ｐ−とを定める。参照点Ｐ＋，Ｐ−の標本点Ｐからの隔たりは、予め所定の範囲内（実用上は、物体の寸法に比べて十分に小さい微小距離内とするのが好ましい）となるように設定しておくようにする。たとえば、標本点Ｐを中心に、予め定められた所定半径（微小半径）ａをもった円を描き、当該円と第１の基準線Ｌ１との交点位置に参照点Ｐ＋，Ｐ−を定義することが可能である。
【０１２３】
次に、標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と、標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求める。そして、第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求め、この和ベクトルＶsumとは逆の方向を向いた疑似法線ｎ＊を求めるのである。疑似法線ｎ＊は、ベクトルとして与えられ、図に矢印をつけた方向が疑似法線ｎ＊の方向ということになる。なお、疑似法線ｎ＊に相当するベクトルの大きさには特別な意味はないが、必要なら単位長をもった単位ベクトルとして取り扱うようにすればよい。
【０１２４】
また、図２６に示す例では、第１のベクトルＶ＋の大きさは、標本点Ｐと第１の参照点Ｐ＋との距離に等しく設定され、第２のベクトルＶ−の大きさは、標本点Ｐと第２の参照点Ｐ−との距離に等しく設定されているが、第１のベクトルＶ＋と第２のベクトルＶ−の大きさも、任意に設定してかまわない。要するに、第１のベクトルＶ＋は、標本点Ｐから第１の参照点Ｐ＋に向かう方向を向き、所定の大きさ（所定の長さ）をもったベクトルとして定義されればよく、第２のベクトルＶ−は、標本点Ｐから第２の参照点Ｐ−に向かう方向を向き、所定の大きさ（所定の長さ）をもったベクトルとして定義されればよい。
【０１２５】
もっとも、本願発明者がいろいろと試行した結果、実用上は、第１のベクトルＶ＋の大きさと第２のベクトルＶ−の大きさを等しくなるように設定した方が、より本来の法線に近い疑似法線ｎ＊を定義することができることが確認できた。両ベクトルＶ＋，Ｖ−の大きさが等しければ、図２６に示す角度θ＋と角度θ−は等しくなり、和ベクトルＶsumは、両ベクトルＶ＋，Ｖ−の挟む角を二等分する方向を向くことになる。実用上は、このように両ベクトルＶ＋，Ｖ−の挟む角の二等分線に沿って疑似法線ｎ＊を定義するのが好ましい。
【０１２６】
図２７は、別な形状をもった第１の基準線Ｌ１上の標本点Ｐについて、疑似法線ｎ＊を定義した例である。やはり、第１の基準線Ｌ１に沿って標本点Ｐから第１の方向（図の右方向）に所定距離だけ隔たった位置にある第１の参照点Ｐ＋と、第１の基準線Ｌ１に沿って標本点Ｐから第１の方向とは逆の第２の方向（図の左方向）に所定距離だけ隔たった位置にある第２の参照点Ｐ−とが定められているが、標本点Ｐと第１の参照点Ｐ＋との距離は、標本点Ｐと第２の参照点Ｐ−との距離に比べてかなり大きく設定されている。このような場合、第１のベクトルＶ＋の大きさを点Ｐ・Ｐ＋間の距離に設定し、第２のベクトルＶ−の大きさを点Ｐ・Ｐ−間の距離に設定してしまうと、ベクトルＶ−に比べてベクトルＶ＋がかなり長くなり、得られる疑似法線ｎ＊は図示の例よりもかなり左側に傾斜したものとなってしまう。そこで、図示の例の場合、予め所定の単位長を定めておき、標本点Ｐから第１の参照点Ｐ＋に向かう方向を向き、所定の単位長を有する単位ベクトルとして第１のベクトルＶ＋を定義し、標本点Ｐから第２の参照点Ｐ−に向かう方向を向き、所定の単位長を有する単位ベクトルとして第２のベクトルＶ−を定義している。その結果、両ベクトルＶ＋，Ｖ−の大きさは等しくなり、和ベクトルＶsumは、両ベクトルＶ＋，Ｖ−の挟む角を二等分する方向を向くことになる（角度θ＋と角度θ−は等しくなる）。
【０１２７】
図２６に示す疑似法線ｎ＊も、図２７に示す疑似法線ｎ＊も、基準線Ｌ１上の標本点Ｐについて定義された疑似法線であるが、三次元物体上の標本点Ｐに関する本来の法線ではない。すなわち、いずれの疑似法線ｎ＊も基準線Ｌ１の情報のみに基づいて定義されたものであり、標本点Ｐの近傍領域の面に関する情報を考慮していないのである。別言すれば、疑似法線ｎ＊は、図２６，図２７の紙面に対して垂直な方向に関する物体表面の情報を全く考慮せずに得られたものということになる。
【０１２８】
図２８は、本来の法線と本発明で用いる疑似法線との相違を示す斜視図であり、球状物体１００を切断面２００（平面）で切断したときの切り口の輪郭部分に現れる交線１１０上の所定点上に、本来の法線ｎ（実線で示す）と疑似法線ｎ＊（一点鎖線で示す）とを描いたものである。この球状物体１００を地球と考えれば、実線で示す法線ｎは、各地点における鉛直上方へ向かうベクトルになる。一方、一点鎖線で示す疑似法線ｎ＊は、いずれも切断面２００に含まれるベクトルになる。これは、本来の法線ｎは、球状物体１００の表面の情報を考慮して定義されたものであるのに対し、疑似法線ｎ＊は、切断面２００上に描かれた円（交線１１０）に関する情報のみを考慮して定義されたものとなっているためである。このように、本発明で用いる疑似法線ｎ＊は、物体の面に関する情報を考慮して定義したものではないので、本来の法線とは必ずしも一致しない。
【０１２９】
しかしながら、本発明では、物体表面の縫い目の経路（第２の基準線）を決めるために標本点Ｐの位置に立てた法線ｎが必要になるので、このような疑似法線ｎ＊を代用しても、実用上は全く問題がない。これは、第１の基準線Ｌ１が縫い目の物体表面上での方向を示す線であるため、この第１の基準線Ｌ１の情報が盛り込まれている疑似法線ｎ＊であれば、縫い目の経路を決めるための法線の代役としての機能を十分に果たすことができるためと考えられる。
【０１３０】
結局、本発明では、図１７に示すモデルにおいて、標本点Ｐに立てる法線ｎ（物体Ｄｂの表面についての本来の法線）の代わりに、第１の基準線Ｌ１２の情報のみから決定される疑似法線ｎ＊を用いるようにすればよい。疑似法線ｎ＊は、上述したとおり、基準線Ｌ１２上の標本点Ｐの両脇に一対の参照点Ｐ＋，Ｐ−をとり、標本点Ｐから各参照点Ｐ＋，Ｐ−へ向かう方向を向いた所定長のベクトルＶ＋，Ｖ−を定義し、その和ベクトルＶsumを求め、和ベクトルＶsumとは逆の方向を向いたベクトルとして定義することができる。このような方法で定義した疑似法線ｎ＊を求める演算は、本来の法線ｎを求める演算に比べて単純になるので、本発明において第２の基準線を求める演算負担を大幅に軽減することができる。
【０１３１】
なお、上述した方法で疑似法線の定義を行うと、参照点Ｐ＋，Ｐ−の間の区間における
基準線が直線である場合には、疑似法線を定義することができなくなる。すなわち、参照点Ｐ＋，標本点Ｐ，参照点Ｐ−が一直線上に並んでしまった場合、ベクトルＶ＋，Ｖ−は一直線上に配置されることになるため、和ベクトルＶsumを定義することができない。このように、上述した方法では疑似法線の定義を行うことができない場合もあり得るが、ある特定の標本点Ｐについて、疑似法線ｎ＊を求めることできない場合には、当該標本点Ｐについては、通常の方法により本来の法線ｎを求めるようにすれば足りるので、何ら支障は生じない。
【０１３２】
＜＜＜  §９．疑似法線を用いる具体的な手法  ＞＞＞
さて、§６で述べた第２の基準線作成プロセスにおける法線ｎの代わりに、§８で述べた疑似法線ｎ＊を用いる場合は、図８に示す第２の基準線作成手段５０が、第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における第１の基準線の疑似法線ｎ＊（第１の基準線の情報のみを考慮して決定できる疑似的な法線）を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから「縫製処理パラメータＰｓとして定義された周期関数によって定まる所定距離」だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成する処理を実行すればよい。
【０１３３】
図２９は、そのような処理機能を有する第２の基準線作成手段５０のより詳細な構成を示すブロック図である。図示のとおり、この第２の基準線作成手段５０は、標本点決定部５１，参照点決定部５２，ベクトル決定部５３，和ベクトル決定部５４，法線決定部５５，代表点決定部５６を有している。
【０１３４】
ここで、標本点決定部５１は、疑似法線ｎ＊を求める対象となる標本点Ｐを決定する構成要素であり、第１の基準線上の所定点を、対象となる標本点Ｐ（以下、着目標本点と呼ぶ）として順番に抽出する機能を有する。たとえば、第１の基準線上に所定間隔で配列されるような多数の標本点が定義されている場合、これらの標本点を順番に１つずつ着目標本点として抽出してゆけばよい。
【０１３５】
一方、参照点決定部５２は、第１の基準線に沿って着目標本点Ｐから第１の方向に所定距離だけ隔たった位置にある第１の参照点Ｐ＋と、第１の基準線に沿って着目標本点Ｐから第１の方向とは逆の第２の方向に所定距離だけ隔たった位置にある第２の参照点Ｐ−とを定める機能を有する。前述したとおり、参照点Ｐ＋，Ｐ−の着目標本点Ｐからの隔たりを、予め所定値ａに設定しておくようにすれば、標本点Ｐを中心に半径ａをもった円を描き、当該円と第１の基準線Ｌ１との交点位置として、参照点Ｐ＋，Ｐ−を定義することができる。
【０１３６】
もっとも、実用上は、参照点Ｐ＋，Ｐ−を、着目標本点Ｐから所定距離に位置する点として定義するのではなく、着目標本点Ｐに隣接する別な標本点として定義するのが好ましい。たとえば、図１８に示す例の場合、第１の基準線Ｌ１上に、多数の標本点Ｐ０，Ｐ１，Ｐ２，Ｐ３，…が定義されている。この場合、たとえば、標本点Ｐ１の位置における疑似法線を求めるのであれば、標本点Ｐ１が着目標本点Ｐということになるので、この着目標本点Ｐの右側に隣接する標本点Ｐ２を第１の参照点Ｐ＋とし、左側に隣接する標本点Ｐ０を第２の参照点Ｐ−とする定義を行えばよい。多数の標本点Ｐ０，Ｐ１，Ｐ２，Ｐ３，…が定義されている場合、個々の標本点の座標値は既に求められているので、これら既存の標本点をそのまま参照点として利用するようにすれば、参照点の座標値を求める演算は不要になり、演算負担が軽減する。
【０１３７】
結局、図８に示す第１の基準線定義手段２０に、離散的に位置する複数の標本点Ｐの順列によって第１の基準線Ｌ１の定義を行う機能をもたせておき、多数の標本点Ｐ０，Ｐ１，Ｐ２，Ｐ３，…，Ｐ（ｉ−１），Ｐ（ｉ），Ｐ（ｉ＋１），…の順列によって第１の基準線Ｌ１を定義させるようにしておけば、参照点決定部５２は、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に（すなわち、標本点Ｐ（ｉ）が着目標本点となった際に）、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋とし、第（ｉ−１）番目の標本点Ｐ（ｉ−１）を第２の参照点Ｐ−とする決定を行うことができる。
【０１３８】
また、図２９に示すベクトル決定部５３は、着目標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と、着目標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とを求める機能を有する。各ベクトルの所定長として、予め共通の単位長を定めておくようにすれば、各ベクトルＶ＋，Ｖ−は常に単位ベクトルになる。
【０１３９】
上述したように、既存の標本点をそのまま参照点として利用し、着目標本点Ｐ（ｉ）に対して、一方に隣接する標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋とし、他方に隣接する標本点Ｐ（ｉ−１）を第２の参照点Ｐ−とする場合であれば、ベクトル決定部５３は、予め所定の単位長を定めておき、着目標本点Ｐ（ｉ）から隣接標本点Ｐ（ｉ＋１）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、着目標本点Ｐ（ｉ）から隣接標本点Ｐ（ｉ−１）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ＋と定めることができる。
【０１４０】
和ベクトル決定部５４は、こうして定義された第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumを求める演算を行う機能を有する。このようなベクトルの和を求める演算は、単純な幾何学演算によって実行可能である。法線決定部５５は、こうして求められた和ベクトルＶsumとは逆の方向を疑似法線ｎ＊の方向と決定し、着目標本点Ｐにおける法線ｎ＊を決定する。
【０１４１】
また、代表点決定部５６は、こうして決定された法線ｎ＊を利用して、着目標本点Ｐに対応する代表点Ｑを求める処理を行う。代表点Ｑを求める具体的な方法は、既に§６で説明したとおりである。かくして、図８に示す第２の基準線作成手段５０を、図２９のブロック図に示す構成にしておけば、本来の法線ｎの代わりに疑似法線ｎ＊を利用した演算処理が可能になる。
【０１４２】
なお、疑似法線を用いる具体的な手法を図１の流れ図に示す手順で説明すれば、ステップＳ５の第２の基準線作成段階を行う際に、次のような処理を行えばよい。すなわち、第１の基準線上にある複数の標本点Ｐについて、それぞれ当該標本点Ｐの位置における第１の基準線の疑似法線ｎ＊を求め、この疑似法線ｎ＊上にあり、当該標本点Ｐから所定の周期関数（ステップＳ４において、縫製処理パラメータとして定義された関数）によって定まる所定距離だけ隔たった位置にある代表点Ｑを求め、代表点Ｑの集合によって、物体表面に対して浮き沈みを生じる縫い目の三次元空間上での方向を示す第２の基準線を作成すればよい。
【０１４３】
また、既存の標本点をそのまま参照点として利用する手法を採るのであれば、ステップＳ２の第１の基準線定義段階で、離散的に位置する複数の標本点Ｐの順列を定め、これら複数の標本点Ｐを順に連結することによって第１の基準線の定義を行うようにし、ステップＳ５の第２の基準線作成手段で、第ｉ番目の標本点Ｐ（ｉ）についての疑似法線ｎ（ｉ）＊を求める際に、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋とし、第（ｉ−１）番目の標本点Ｐ（ｉ−１）を第２の参照点Ｐ−とし、予め所定の単位長を定めておき、標本点Ｐ（ｉ）から標本点Ｐ（ｉ＋１）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、標本点Ｐ（ｉ）から標本点Ｐ（ｉ−１）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ−と定めるようにすればよい。
【０１４４】
＜＜＜  §１０．疑似法線の利用可能性  ＞＞＞
§８，§９では、表面に縫い目を有する物体の三次元形状データの作成プロセスにおいて疑似法線を利用する例を述べた。しかしながら、疑似法線の利用は、このようなプロセスのみに限定されるものではなく、物体の三次元形状データを取り扱う様々な分野においても可能である。たとえば、三次元物体に対するレンダリング処理では、通常、物体表面上の各点についてそれぞれ法線を求め、入射光に対する反射光の演算を行うことになる。このような場合、従来は、微小面の情報に基づいて本来の法線を求める演算を行っていたため、演算負担は極めて大きいものとなっていた。このように、物体表面に立てた法線を用いて何らかの処理を必要とする演算プロセスに、本願で利用した疑似法線の概念を導入し、本来の法線の代用として疑似法線を用いるようにすれば、演算負担を大幅に軽減することが可能である。
【０１４５】
図３０は、本発明に係る三次元物体表面における法線決定方法（実際には、本来の法線ではなく、疑似法線が決定される）の基本手順を示す流れ図であり、この方法を利用すれば、物体の三次元形状データに基づいて、当該物体の表面に定義された所定の標本点の位置における当該物体表面についての法線ｎを疑似的に求めることが可能になる。
【０１４６】
まず、ステップＳ１１では、物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される。以下、ステップＳ１２〜Ｓ１７のプロセスは、いずれも当該コンピュータによって実行されるプロセスである。
【０１４７】
はじめに、ステップＳ１２では、疑似法線を求める対象となる標本点Ｐの位置が定義される。続くステップＳ１３では、この標本点Ｐを通る基準線が当該物体の表面上に定義される。基準線は、標本点Ｐを通る物体表面上の線であれば、どのような線を定義してもかまわない。たとえば、§３で述べた第１の基準線を定義するための具体的な方法を利用することが可能である。
【０１４８】
次のステップＳ１４では、この基準線に沿って標本点Ｐから第１の方向に隔たった位置にある第１の参照点Ｐ＋と、基準線に沿って標本点Ｐから第１の方向とは逆の第２の方向に隔たった位置にある第２の参照点Ｐ−とが定義される。標本点Ｐと、各参照点Ｐ＋，Ｐ−との距離は、所定の範囲内となるように定めておく。たとえば、両点間の距離が所定値ａとなるように定めておいた場合、各参照点Ｐ＋，Ｐ−は、基準線上の点であって、標本点Ｐから距離ａの位置にある点として一義的に定義できる。距離ａを、２点間の最短距離ではなく、基準線に沿った距離として定義してもよい。
【０１４９】
続くステップＳ１５では、標本点Ｐから第１の参照点Ｐ＋に向かう方向を向いた所定長の第１のベクトルＶ＋と標本点Ｐから第２の参照点Ｐ−に向かう方向を向いた所定長の第２のベクトルＶ−とが定められ、ステップＳ１６では、第１のベクトルＶ＋と第２のベクトルＶ−との和ベクトルＶsumが求められる。そして、最後のステップＳ１７では、和ベクトルＶsumとは逆の方向を向いたベクトルを、標本点Ｐの位置における当該物体表面についての疑似的な法線ｎ＊と決定する処理が行われる。
【０１５０】
なお、ステップＳ１２，Ｓ１３の手順の代わりに、物体の表面上に離散的に位置する複数の標本点Ｐ１，Ｐ２，Ｐ３，…，Ｐ（ｉ−１），Ｐ（ｉ），Ｐ（ｉ＋１），…の順列を定義し、これら複数の標本点のうちの第ｉ番目の標本点Ｐ（ｉ）を、法線を求める対象となる標本点と定義するようにしてもかまわない。この場合、基準線は、幾何学的な線としては直接的には定義されていないが、離散的に定義された多数の標本点を順に連結した概念的な線として把握することができる。
【０１５１】
この場合、ステップＳ１４では、上記標本点の順列に基づいて、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋として認識し、第（ｉ−１）番目の標本点Ｐ（ｉ−１）を第２の参照点Ｐ−として認識すればよく、ステップＳ１５では、予め所定の単位長を定めておき、標本点Ｐ（ｉ）から標本点Ｐ（ｉ＋１）に向かう方向を向き単位長をもった単位ベクトルを第１のベクトルＶ＋と定め、標本点Ｐ（ｉ）から標本点Ｐ（ｉ−１）に向かう方向を向き単位長をもった単位ベクトルを第２のベクトルＶ−と定めるようにすればよい。
【０１５２】
最後に、参照点決定方法に関する変形例を述べておく。§９および§１０では、基準線上に離散的に位置する複数の標本点Ｐ１，Ｐ２，Ｐ３，…，Ｐ（ｉ−１），Ｐ（ｉ），Ｐ（ｉ＋１），…の順列が定義されている場合に、これら複数の標本点のうちの第ｉ番目の標本点Ｐ（ｉ）を法線を求める対象となる着目標本点とし、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋として認識し、第（ｉ−１）番目の標本点Ｐ（ｉ−１）を第２の参照点Ｐ−として認識する方法を述べた。しかしながら各参照点Ｐ＋，Ｐ−は、必ずしも着目標本点Ｐ（ｉ）に直接隣接する標本点Ｐ（ｉ＋１），Ｐ（ｉ−１）に設定する必要はなく、たとえば、１つ跳んで隣接した標本点Ｐ（ｉ＋２），Ｐ（ｉ−２）に設定してもよいし、標本点Ｐ（ｉ＋３），Ｐ（ｉ−４）のような形で設定してもかまわない。別言すれば、着目標本点Ｐ（ｉ）に対して、標本点Ｐ（ｉ＋ａ）を第１の参照点Ｐ＋とし、標本点Ｐ（ｉ−ｂ）を第２の参照点Ｐ−とすることが可能である（ａ，ｂは任意の自然数）。ただ、実用上は、ａ＝ｂ＝１に設定し、これまで述べた例のように、標本点Ｐ（ｉ＋１）を第１の参照点Ｐ＋とし、標本点Ｐ（ｉ−１）を第２の参照点Ｐ−とするのが好ましい。
【図面の簡単な説明】
【０１５３】
【図１】本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。
【図２】図１のステップＳ１で入力された基本形状データＤｂによって表現される物体の一例を示す斜視図である。
【図３】図１のステップＳ２において、基本形状データＤｂで示される物体の上面の中心位置に、第１の基準線Ｌ１（破線で示す）を定義した例を示す斜視図である。
【図４】図１のステップＳ３において定義された糸断面パラメータＰｃに対応する糸の断面形状の一例を示す平面図である。
【図５】図１のステップＳ４において定義された縫製処理パラメータＰｓの一定義形態を示す平面図である。
【図６】図１のステップＳ５の段階で作成された第２の基準線Ｌ２の一例を示す斜視図である。
【図７】図１のステップＳ６の段階で作成された糸形状データＤｓによって示される糸の三次元形態を示す斜視図である。
【図８】本発明に係る三次元形状データの作成装置の基本構成を示すブロック図である。
【図９】基本形状データＤｂで示される物体曲面を含む物体の一例を示す斜視図である。
【図１０】図９に示す物体の表面に、第１の基準線Ｌ１１，Ｌ１２（破線で示す）を定義した状態を示す斜視図である。
【図１１】投影処理を利用した第１の基準線Ｌ１１，Ｌ１２の定義方法の原理を示す斜視図である。
【図１２】ｘｙ二次元直交座標系において、超二次関数を用いて糸の二次元断面図形の定義を行った例を示す図である。
【図１３】図１２に示す式における定数εの値を変えた場合に、ｘｙ二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。
【図１４】ｒθ極座標系を用いて糸断面パラメータを定義した例を示す平面図である。
【図１５】代表的な周期関数ｈ（ｓ）を示すグラフである。
【図１６】多数の輪郭点Ｋｉの集合により、縫い目の形状を定義した例を示す平面図である。
【図１７】第２の基準線を作成する具体的な方法を示す斜視図である。
【図１８】第１の基準線Ｌ１上に定義された有限個の標本点に基づいて、第２の基準線Ｌ２を作成する方法を示す正断面図である。
【図１９】第２の基準線Ｌ２に基づいて、糸の三次元形状データＤｓを作成する方法を示す概念図である。
【図２０】第２の基準線Ｌ２に基づいて、糸の三次元形状データＤｓを作成する方法を示す別な概念図である。
【図２１】第２の基準線Ｌ２に基づいて、糸の三次元形状データＤｓを作成する方法を示す更に別な概念図である。
【図２２】各代表点における接線ベクトルを定義する手法の一例を示す概念図である。
【図２３】各代表点における接線ベクトルを定義する別な手法の一例を示す概念図である。
【図２４】糸の二次元断面図形の輪郭線上に複数の制御点Ｇ０〜Ｇ１１を定義した状態を示す平面図である。
【図２５】糸の三次元形状データＤｓを構成するポリゴンの形成方法を示す斜視図である。
【図２６】本発明で用いる疑似法線を定義する基本的な方法を示す図である。
【図２７】本発明で用いる疑似法線を定義する別な方法を示す図である。
【図２８】本来の法線と本発明で用いる疑似法線との相違を示す斜視図である。
【図２９】図８に示す第２の基準線作成手段５０のより詳細な構成を示すブロック図である。
【図３０】本発明に係る三次元物体表面における法線決定方法の基本手順を示す流れ図である。
【符号の説明】
【０１５４】
１０：基本形状データ入力手段
２０：第１の基準線定義手段
３０：糸断面パラメータ定義手段
４０：縫製処理パラメータ定義手段
５０：第２の基準線作成手段
５１：標本点決定部
５２：参照点決定部
５３：ベクトル決定部
５４：和ベクトル決定部
５５：法線決定部
５６：代表点決定部
６０：糸形状データ作成手段
７０：合成形状データ作成手段
１００：球状物体
１１０：交線
２００：切断面
ａ：所定距離，所定半径
Ｃ，Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）：糸の二次元断面図形
Ｄｂ：基本形状データおよび当該データで示される物体の三次元形態
Ｄｓ：糸の三次元形状データおよび当該データで示される糸の三次元形態
Ｄｂｓ：合成形状データ
Ｇ０〜Ｇ１１，Ｇ（ｉ，ｊ），Ｇ（ｉ，ｊ＋１），Ｇ（ｉ＋１，ｊ），Ｇ（ｉ＋１，ｊ＋１）：制御点
ｈ（ｓ）：周期関数およびその値
Ｋ，Ｋｉ：輪郭点
Ｋ１１，Ｋ１２：参照線
Ｌ１，Ｌ１１，Ｌ１２：第１の基準線
Ｌ２：第２の基準線
ｎ，ｎ０〜ｎ８，ｎ（ｉ），ｎ（ｉ＋１），ｎ（ｉ＋２），ｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）：法線
ｎ＊，ｎ（ｉ）＊：疑似法線
Ｐ，Ｐ０〜Ｐ８，Ｐ（ｉ−１），Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）：第１の基準線上の標本点
Ｐ＋，Ｐ−：参照点
ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）：近接点
Ｑ，Ｑ０〜Ｑ８，Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）：第２の基準線を構成する代表点
ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）：近接点
ｒ：円の半径
ｒ（θ）：ｒθ極座標系における角度θに対応する長さ
Ｓ：グラフの基準線（物体の表面位置）
Ｓ１〜Ｓ１７：流れ図の各ステップ
ｓ，ｓ１，ｓｉ：始点Ｐ０からの距離
Ｔ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）：接線ベクトル
ＴＴ（ｉ），ＴＴ（ｉ＋１），ＴＴ（ｉ＋２）：投影ベクトル
Ｖ：投影方向ベクトル
Ｖ＋，Ｖ−：法線決定に用いるベクトル
Ｖsum：ベクトルＶ＋，Ｖ−の和ベクトル
ｘ，ｙ：二次元直交座標系の各座標軸
δ：近接点までの距離
λ：縫い目の１ピッチ分の長さ
θ，θ＋，θ−：角度
【図１】
2008102821.tif 000003
【図２】
2008102821.tif 000004
【図３】
2008102821.tif 000005
【図４】
2008102821.tif 000006
【図５】
2008102821.tif 000007
【図６】
2008102821.tif 000008
【図７】
2008102821.tif 000009
【図８】
2008102821.tif 000010
【図９】
2008102821.tif 000011
【図１０】
2008102821.tif 000012
【図１１】
2008102821.tif 000013
【図１２】
2008102821.tif 000014
【図１３】
2008102821.tif 000015
【図１４】
2008102821.tif 000016
【図１５】
2008102821.tif 000017
【図１６】
2008102821.tif 000018
【図１７】
2008102821.tif 000019
【図１８】
2008102821.tif 000020
【図１９】
2008102821.tif 000021
【図２０】
2008102821.tif 000022
【図２１】
2008102821.tif 000023
【図２２】
2008102821.tif 000024
【図２３】
2008102821.tif 000025
【図２４】
2008102821.tif 000026
【図２５】
2008102821.tif 000027
【図２６】
2008102821.tif 000028
【図２７】
2008102821.tif 000029
【図２８】
2008102821.tif 000030
【図２９】
2008102821.tif 000031
【図３０】
2008102821.tif 000032