(57)【要約】【課題】  表面にパイプを有する物体の高品質な三次元形状データを効率的に作成する。【解決手段】  パイプの情報を含まない物体の三次元形状データＤｂをコンピュータに入力し、パイプの物体表面上での位置を示す第１の基準線Ｌ１１，Ｌ１２を定義する。物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータｈを定義し、第１の基準線Ｌ１１，Ｌ１２に対して、ｈだけ浮き上がった第２の基準線Ｌ２１，Ｌ２２を求める。パイプの断面図形を定義し、この断面図形を、第２の基準線Ｌ２１，Ｌ２２に沿って配置してゆき、多数の断面図形の輪郭線を滑らかに結ぶ曲面により、パイプの三次元形状データを作成する。作成したパイプの三次元形状データを、もとの物体の三次元形状データＤｂに合成し、パイプを含んだ合成形状データとする。【選択図】  図１５
2006331177.tif 000002
【特許請求の範囲】
【請求項１】
表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する装置であって、
パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第１の基準線を定義する第１の基準線定義手段と、
オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
前記第１の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第２の基準線を作成する第２の基準線作成手段と、
前記第２の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を備えることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２】
請求項１に記載の作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データに含まれる直線もしくは曲線のデータ、または基本形状データに含まれる２つの面のデータを用いて演算された当該２つの面の交線のデータを利用して、第１の基準線を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３】
請求項１に記載の作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、前記参照線を前記投影方向ベクトルの示す投影方向に投影したときに、前記基本形状データで示される物体の表面上に形成される投影像を第１の基準線として定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項４】
請求項１〜３のいずれかに記載の作成装置において、
パイプ断面パラメータ定義手段が、ｘｙ二次元直交座標系において、（ｘ／ａ）２／ε＋（ｙ／ｂ）２／ε＝１（但し、εは所定の定数）なる式によって示される超二次曲線を用いてパイプ断面パラメータを定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項５】
請求項１〜３のいずれかに記載の作成装置において、
パイプ断面パラメータ定義手段が、ｒθ極座標系において、角度θ（０≦θ＜２π）と、この角度θに対応する距離ｒ（θ）と、の組み合わせを示す断面形状テーブルを用いてパイプ断面パラメータを定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項６】
請求項１〜５のいずれかに記載の作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の定数ｈをパイプ配置パラメータとして定義する機能を有し、
第２の基準線作成手段が、第１の基準線上の点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈだけ隔たった位置にある点Ｑを求め、点Ｑの集合によって第２の基準線を作成する機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項７】
請求項１〜５のいずれかに記載の作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の関数ｈ（ｓ）をパイプ配置パラメータとして定義する機能を有し、
第２の基準線作成手段が、第１の基準線上にあり、前記第１の基準線上に定義された所定の始点からの前記第１の基準線に沿った距離がｓの位置にある点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈ（ｓ）だけ隔たった位置にある点Ｑを求め、点Ｑの集合によって第２の基準線を作成する機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項８】
請求項６または７に記載の作成装置において、
点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のうちのいずれか１つの面についての法線を、点Ｐの位置に立てた物体表面についての法線とすることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項９】
請求項６または７に記載の作成装置において、
点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Ｐの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Ｐの位置に立てた物体表面についての法線とすることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１０】
請求項１〜９のいずれかに記載の作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における前記第２の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１１】
請求項１０に記載の作成装置において、
第２の基準線作成手段が、方程式により表現可能な第２の基準線を作成する機能を有し、
パイプ形状データ作成手段が、所定の代表点における第２の基準線の接線ベクトルを、前記方程式の当該代表点における微分値を利用して求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１２】
請求項１０に記載の作成装置において、
第２の基準線作成手段が、第１の基準線上に所定間隔で標本点Ｐ（ｉ）を定義し、パイプ配置パラメータに基づいて各標本点Ｐ（ｉ）を変位させることにより、第２の基準線を構成する代表点Ｑ（ｉ）を求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１３】
請求項１２に記載の作成装置において、
パイプ形状データ作成手段が、第ｉ番目の代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）を、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）を利用して、点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとして求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１４】
請求項１２に記載の作成装置において、
パイプ形状データ作成手段が、個々の代表点Ｑ（ｉ）について、第２の基準線上の点であって、隣接する代表点よりも近くに存在する近接点ＱＱ（ｉ）を定義し、各代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）を、当該代表点Ｑ（ｉ）と当該代表点について定義された近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとして求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１５】
請求項１２〜１４のいずれかに記載の作成装置において、
第２の基準線作成手段が、標本点Ｐ（ｉ）の位置に立てた物体表面についての法線ｎ（ｉ）を求め、この法線ｎ（ｉ）上にあり、標本点Ｐ（ｉ）からパイプ配置パラメータに基づいて定まる所定距離だけ離れた位置にある点を代表点Ｑ（ｉ）とする処理を行い、
パイプ形状データ作成手段が、代表点Ｑ（ｉ）の位置にパイプの二次元断面図形Ｃ（ｉ）を配置する際に、前記代表点Ｑ（ｉ）を含み、前記代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）に直交する投影面を定義し、前記接線ベクトルＴ（ｉ）を前記法線ｎ（ｉ）の方向へ投影することによって前記投影面上に得られる投影ベクトルＴＴ（ｉ）の位置を基準として配置を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１６】
請求項１〜１５のいずれかに記載の作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１７】
請求項１６に記載の作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数Ｊ個の制御点を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）と、の間に接続された仮想ばねＥα（ｉ，ｊ）を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）について定義された第ｊ番目の制御点Ｇ（ｉ−１，ｊ）と、の間に接続された仮想ばねＥβ（ｉ，ｊ）を定義し、
各二次元断面図形が、位置は各代表点に固定されているが、向きに関する自由度を有しており、かつ、各仮想ばねが物理的に同一のばねであると仮定したときに、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートすることにより、各二次元断面図形を配置補正することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１８】
請求項１７に記載の作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、
第ｊ番目の制御点Ｇ（ｉ，ｊ）が、仮想ばねＥα（ｉ，ｊ）から受ける力Ｆα（ｉ，ｊ）と、仮想ばねＥβ（ｉ，ｊ）から受ける力Ｆβ（ｉ，ｊ）と、の差ΔＦ（ｉ，ｊ）を、全Ｊ個の制御点についてそれぞれ求め、
二次元断面図形Ｃ（ｉ）を含む平面上に、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，ｊ）へ向かう方向を向き、大きさがΔＦ（ｉ，ｊ）に相当する変位ベクトルＶ（ｉ，ｊ）を定義し（ΔＦ（ｉ，ｊ）が負の場合には、逆方向を向くベクトルとする）、合計Ｊ個の変位ベクトルの和として総合変位ベクトルΣＶ（ｉ）を求め、
代表点Ｑ（ｉ）を通り、二次元断面図形Ｃ（ｉ）上に含まれ、かつ、総合変位ベクトルΣＶ（ｉ）に直交する直線を回転軸として、二次元断面図形Ｃ（ｉ）を、総合変位ベクトルΣＶ（ｉ）の大きさに応じた変位角ξ（ｉ）だけ回転させることにより、配置補正された二次元断面図形Ｃ（ｉ）′を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項１９】
請求項１８に記載の作成装置において、
個々の二次元断面図形Ｃ（ｉ）について、それぞれ配置補正された二次元断面図形Ｃ（ｉ）′を求める補正処理を行った後、求められた個々の二次元断面図形Ｃ（ｉ）′を新たな二次元断面図形Ｃ（ｉ）として、補正処理を繰り返し実行することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２０】
請求項１〜１９のいずれかに記載の作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第２の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２１】
請求項２０に記載の作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数個の制御点を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、第ｊ番目の制御点Ｇ（ｉ，ｊ）を、前記代表点Ｑ（ｉ）との距離ｒ（ｉ，ｊ）が新たな距離Ｒ（ｉ，ｊ）となるように、前記代表点Ｑ（ｉ）と前記制御点Ｇ（ｉ，ｊ）とを結ぶ直線上で移動させて位置変動を生じさせることにより、サイズの変動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２２】
請求項２１に記載の作成装置において、
個々の制御点について、それぞれ隣接する二次元断面図形の対応する制御点との間の距離を制御点間距離として求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２３】
請求項２２に記載の作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄβ（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄβ（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）が小さい場合ほど、制御点Ｇ（ｉ，ｊ）について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２４】
請求項２３に記載の作成装置において、
ｄαβ（ｉ，ｊ）のとるべき値に関して複数段階の近接度を定義し、個々の段階ごとに、周期的な位置変動の振幅を設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２５】
請求項２４に記載の作成装置において、
最も小さい近接度を示す段階については、周期的な位置変動の振幅を０に設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２６】
請求項２１に記載の作成装置において、
所定の変動関数Ψを定義し、Ｒ（ｉ，ｊ）＝ｒ（ｉ，ｊ）＋（ｒ（ｉ，ｊ）×Ψ）なる演算により、新たな距離Ｒ（ｉ，ｊ）を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２７】
請求項２６に記載の作成装置において、
変動関数Ψとして、変数ｓについての関数Ψ（ｓ）を定義し、
第ｉ番目の代表点Ｑ（ｉ）について、第２の基準線上に定義された所定の始点Ｑｓからの前記第２の基準線に沿った距離ｓを求め、前記関数Ψ（ｓ）を用いて、新たな距離Ｒ（ｉ，ｊ）を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２８】
請求項２７に記載の作成装置において、
所定の振幅定数Ａおよび皺の周期λを用いて、Ψ＝Ａ・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項２９】
請求項２７に記載の作成装置において、
振幅Ａ（ｉ，ｊ）および皺の周期λを用いて、Ψ＝Ａ（ｉ，ｊ）・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）を定義し、制御点Ｇ（ｉ，ｊ）に関する移動量が振幅Ａ（ｉ，ｊ）に応じて定まるようにし、個々の制御点ごとに異なる振幅をもった変動関数が適用されるようにしたことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３０】
請求項２９に記載の作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄβ（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄβ（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）と、所定の比例定数Ｋとを用いて、Ａ（ｉ，ｊ）＝Ｋ／ｄαβ（ｉ，ｊ）なる式によって、制御点Ｇ（ｉ，ｊ）に対して適用されるべき振幅Ａ（ｉ，ｊ）を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３１】
請求項２９に記載の作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄα（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄα（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）を求める制御点間距離演算処理を実行し、
予めｄαβ（ｉ，ｊ）のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点Ｇ（ｉ，ｊ）を移動させる際には、前記制御点間距離演算処理によって求められた値ｄαβ（ｉ，ｊ）に応じた近接度についての振幅を適用して移動量の演算を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３２】
請求項３１に記載の作成装置において、
最も小さい近接度を示す段階については、振幅＝０に設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３３】
請求項１０〜３２のいずれかに記載の作成装置において、
パイプ形状データ作成手段が、パイプの二次元断面図形の輪郭線上に複数の制御点を定義し、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された１つもしくは複数の制御点と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された１つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３４】
請求項３３に記載の作成装置において、
パイプ形状データ作成手段が、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）と、の合計４点を頂点とする四角形の集合によって、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
【請求項３５】
請求項１〜３４のいずれかに記載の作成装置としてコンピュータを機能させるためのプログラム。
【請求項３６】
表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する方法であって、
パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
コンピュータが、オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第１の基準線を定義し、これを記憶手段に格納する第１の基準線定義段階と、
コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
コンピュータが、前記第１の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第２の基準線を作成し、これを記憶手段に格納する第２の基準線作成段階と、
コンピュータが、前記第２の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
コンピュータが、前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
【請求項３７】
請求項３６に記載の作成方法において、
基本形状データ入力段階では、多数のポリゴンによって物体表面を表現した三次元形状データが、基本形状データとして入力されることを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
【請求項３８】
請求項３６に記載の作成方法において、
基本形状データ入力段階では、パラメトリック曲面によって物体表面を表現した三次元形状データが、基本形状データとして入力されることを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表面にパイプを有する物体の三次元形状データを作成する技術に関し、特に、表面にパイプを有する商品の見本画像を、ＣＧ（コンピュータグラフィックス）の技術を利用して作成する手法に関する。
【背景技術】
【０００２】
コンピュータの性能向上により、産業界の様々な分野でＣＧ画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのＣＧ画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なＣＧ画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、ＣＧ画像が利用される例も少なくない。一般に、ＣＡＤを用いた設計段階を経て製品化された商品の場合、設計に用いたＣＡＤデータを流用してＣＧ画像を作成することができるため、商品カタログに掲載するＣＧ画像も、比較的容易に用意することが可能になる。
【０００３】
ソファなどの家具、自動車の内装、衣服、バッグ、靴、鞄などには、物品のデザイン上、いわゆる「パイピング」と呼ばれている装飾が施されることが少なくない。この「パイピング」と呼ばれる装飾は、筒あるいは管状の細長い構造体を物品の表面に付加することにより構成される立体的な装飾であり、特に、物品の縁取りを形成するための装飾として利用されることが多い。本願では、このような物品の表面に付加される筒あるいは管状の細長い構造体を、「パイプ」と呼ぶことにする。
【０００４】
このように、表面にパイプを有する物品をＣＧ画像で表現する場合、パイプを含めた物品の画像を作成するのが好ましい。特に、パイプが、物品の意匠を構成する重要な要素となっている場合には、パイプを含んだＣＧ画像による表現が欠かせない。下記の特許文献１には、服飾品のできあがり状態をＣＧ画像で確認することができるように、縫製ラインやステッチなどの立体感を、光学的に特別な陰影処理を施すことにより表現する技術が開示されているが、パイプを付加した状態の物品の立体感を表現するのに適した先行技術は、本願発明者が知るかぎり、現時点では見あたらない。
【特許文献１】特開２０００−２３５５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
家具や自動車の内装などのインテリア製品や、衣服、バッグ、靴、鞄などのアパレル製品では、物品の表面に付加されたパイプは、デザイン上の重要な構成要素としての意味をもち、消費者から見た場合に、商品価値を左右する重大な要因になる。このため、商品のカタログやプレゼンテーションに用いるＣＧ画像では、パイプの形状をできるだけ正確に表現することが要求される。
【０００６】
しかしながら、従来、このようなパイプを含めた物体の高品質な三次元形状データを効率的に作成する手法は提案されていないため、高品質なＣＧ画像を作成しようとすると、制作者に多大な負担を課する結果となっていた。
【０００７】
たとえば、前掲の特許文献１には、物体表面の法線方向を修正することにより、縫い目の部分に擬似的に陰影を付加する手法（いわゆるバンプマッピングの手法）が開示されている。この手法によれば、比較的簡便な処理によって縫い目を表現することができるが、あくまでも縫い目を擬似的に表現する手法であるため、この手法をパイプの表現に転用したとしても、表面にパイプを有する物体の高品質な三次元形状データを作成することはできない。具体的には、物品のクローズアップ表現には不適切であり、テクスチャを貼り込んだ場合に、テクスチャの歪みを表現することができず、また、単純な凹状もしくは凸状のライン表現にとどまり、実際のパイプに特有の複雑な形状表現を行うことができないという問題がある。
【０００８】
一方、建築物や自動車の内装、家具などの場合、設計段階で利用したＣＡＤデータを流用することにより、ＣＧ画像を効率的に作成することが可能である。しかしながら、通常、設計段階で利用したＣＡＤデータには、物品の基本形状を示す情報しか含まれておらず、パイプの情報は含まれていない。たとえば、自動車の座席シートは、ＣＡＤを利用した設計が行われるため、ＣＡＤデータを流用したＣＧ画像を作成することが可能である。しかしながら、設計段階で作成される座席シートのＣＡＤデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、最終的に、このウレタン構造体を包み込む布製もしくは革製の表皮の情報を含むものではない。したがって、パイプを含むＣＧ画像を作成するには、ＣＡＤデータをそのまま流用することはできない。
【０００９】
そこで本発明は、パイプを含めた物体の高品質な三次元形状データを効率的に作成することを可能にする手法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
(1)  本発明の第１の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成装置において、
パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第１の基準線を定義する第１の基準線定義手段と、
オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
第１の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第２の基準線を作成する第２の基準線作成手段と、
第２の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を設けるようにしたものである。
【００１１】
(2)  本発明の第２の態様は、上述の第１の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データに含まれる直線もしくは曲線のデータ、または基本形状データに含まれる２つの面のデータを用いて演算された当該２つの面の交線のデータを利用して、第１の基準線を定義するようにしたものである。
【００１２】
(3)  本発明の第３の態様は、上述の第１の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第１の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、参照線を投影方向ベクトルの示す投影方向に投影したときに、基本形状データで示される物体の表面上に形成される投影像を第１の基準線として定義するようにしたものである。
【００１３】
(4)  本発明の第４の態様は、上述の第１〜第３の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ断面パラメータ定義手段が、ｘｙ二次元直交座標系において、（ｘ／ａ）２／ε＋（ｙ／ｂ）２／ε＝１（但し、εは所定の定数）なる式によって示される超二次曲線を用いてパイプ断面パラメータを定義するようにしたものである。
【００１４】
(5)  本発明の第５の態様は、上述の第１〜第３の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ断面パラメータ定義手段が、ｒθ極座標系において、角度θ（０≦θ＜２π）と、この角度θに対応する距離ｒ（θ）と、の組み合わせを示す断面形状テーブルを用いてパイプ断面パラメータを定義するようにしたものである。
【００１５】
(6)  本発明の第６の態様は、上述の第１〜第５の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の定数ｈをパイプ配置パラメータとして定義する機能を有し、
第２の基準線作成手段が、第１の基準線上の点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈだけ隔たった位置にある点Ｑを求め、点Ｑの集合によって第２の基準線を作成する機能を有するようにしたものである。
【００１６】
(7)  本発明の第７の態様は、上述の第１〜第５の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の関数ｈ（ｓ）をパイプ配置パラメータとして定義する機能を有し、
第２の基準線作成手段が、第１の基準線上にあり、第１の基準線上に定義された所定の始点からの第１の基準線に沿った距離がｓの位置にある点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈ（ｓ）だけ隔たった位置にある点Ｑを求め、点Ｑの集合によって第２の基準線を作成する機能を有するようにしたものである。
【００１７】
(8)  本発明の第８の態様は、上述の第６または第７の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のうちのいずれか１つの面についての法線を、点Ｐの位置に立てた物体表面についての法線とするようにしたものである。
【００１８】
(9)  本発明の第９の態様は、上述の第６または第７の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Ｐの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Ｐの位置に立てた物体表面についての法線とするようにしたものである。
【００１９】
(10)  本発明の第１０の態様は、上述の第１〜第９の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における第２の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
【００２０】
(11)  本発明の第１１の態様は、上述の第１０の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第２の基準線作成手段が、方程式により表現可能な第２の基準線を作成する機能を有し、
パイプ形状データ作成手段が、所定の代表点における第２の基準線の接線ベクトルを、この方程式の当該代表点における微分値を利用して求める機能を有するようにしたものである。
【００２１】
(12)  本発明の第１２の態様は、上述の第１０の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第２の基準線作成手段が、第１の基準線上に所定間隔で標本点Ｐ（ｉ）を定義し、パイプ配置パラメータに基づいて各標本点Ｐ（ｉ）を変位させることにより、第２の基準線を構成する代表点Ｑ（ｉ）を求めるようにしたものである。
【００２２】
(13)  本発明の第１３の態様は、上述の第１２の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第ｉ番目の代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）を、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）を利用して、点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとして求める機能を有するようにしたものである。
【００２３】
(14)  本発明の第１４の態様は、上述の第１２の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、個々の代表点Ｑ（ｉ）について、第２の基準線上の点であって、隣接する代表点よりも近くに存在する近接点ＱＱ（ｉ）を定義し、各代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）を、当該代表点Ｑ（ｉ）と当該代表点について定義された近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとして求める機能を有するようにしたものである。
【００２４】
(15)  本発明の第１５の態様は、上述の第１２〜第１４の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第２の基準線作成手段が、標本点Ｐ（ｉ）の位置に立てた物体表面についての法線ｎ（ｉ）を求め、この法線ｎ（ｉ）上にあり、標本点Ｐ（ｉ）からパイプ配置パラメータに基づいて定まる所定距離だけ離れた位置にある点を代表点Ｑ（ｉ）とする処理を行い、
パイプ形状データ作成手段が、代表点Ｑ（ｉ）の位置にパイプの二次元断面図形Ｃ（ｉ）を配置する際に、代表点Ｑ（ｉ）を含み、代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）を法線ｎ（ｉ）の方向へ投影することによって投影面上に得られる投影ベクトルＴＴ（ｉ）の位置を基準として配置を行うようにしたものである。
【００２５】
(16)  本発明の第１６の態様は、上述の第１〜第１５の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
【００２６】
(17)  本発明の第１７の態様は、上述の第１６の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数Ｊ個の制御点を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）と、の間に接続された仮想ばねＥα（ｉ，ｊ）を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）について定義された第ｊ番目の制御点Ｇ（ｉ−１，ｊ）と、の間に接続された仮想ばねＥβ（ｉ，ｊ）を定義し、
各二次元断面図形が、位置は各代表点に固定されているが、向きに関する自由度を有しており、かつ、各仮想ばねが物理的に同一のばねであると仮定したときに、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートすることにより、各二次元断面図形を配置補正するようにしたものである。
【００２７】
(18)  本発明の第１８の態様は、上述の第１７の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、
第ｊ番目の制御点Ｇ（ｉ，ｊ）が、仮想ばねＥα（ｉ，ｊ）から受ける力Ｆα（ｉ，ｊ）と、仮想ばねＥβ（ｉ，ｊ）から受ける力Ｆβ（ｉ，ｊ）と、の差ΔＦ（ｉ，ｊ）を、全Ｊ個の制御点についてそれぞれ求め、
二次元断面図形Ｃ（ｉ）を含む平面上に、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，ｊ）へ向かう方向を向き、大きさがΔＦ（ｉ，ｊ）に相当する変位ベクトルＶ（ｉ，ｊ）を定義し（ΔＦ（ｉ，ｊ）が負の場合には、逆方向を向くベクトルとする）、合計Ｊ個の変位ベクトルの和として総合変位ベクトルΣＶ（ｉ）を求め、
代表点Ｑ（ｉ）を通り、二次元断面図形Ｃ（ｉ）上に含まれ、かつ、総合変位ベクトルΣＶ（ｉ）に直交する直線を回転軸として、二次元断面図形Ｃ（ｉ）を、総合変位ベクトルΣＶ（ｉ）の大きさに応じた変位角ξ（ｉ）だけ回転させることにより、配置補正された二次元断面図形Ｃ（ｉ）′を求めるようにしたものである。
【００２８】
(19)  本発明の第１９の態様は、上述の第１８の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
個々の二次元断面図形Ｃ（ｉ）について、それぞれ配置補正された二次元断面図形Ｃ（ｉ）′を求める補正処理を行った後、求められた個々の二次元断面図形Ｃ（ｉ）′を新たな二次元断面図形Ｃ（ｉ）として、補正処理を繰り返し実行するようにしたものである。
【００２９】
(20)  本発明の第２０の態様は、上述の第１〜第１９の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第２の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第２の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成するようにしたものである。
【００３０】
(21)  本発明の第２１の態様は、上述の第２０の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数個の制御点を定義し、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、第ｊ番目の制御点Ｇ（ｉ，ｊ）を、代表点Ｑ（ｉ）との距離ｒ（ｉ，ｊ）が新たな距離Ｒ（ｉ，ｊ）となるように、代表点Ｑ（ｉ）と制御点Ｇ（ｉ，ｊ）とを結ぶ直線上で移動させて位置変動を生じさせることにより、サイズの変動を行うようにしたものである。
【００３１】
(22)  本発明の第２２の態様は、上述の第２１の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
個々の制御点について、それぞれ隣接する二次元断面図形の対応する制御点との間の距離を制御点間距離として求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにしたものである。
【００３２】
(23)  本発明の第２３の態様は、上述の第２２の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄβ（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄβ（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）が小さい場合ほど、制御点Ｇ（ｉ，ｊ）について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにしたものである。
【００３３】
(24)  本発明の第２４の態様は、上述の第２３の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
ｄαβ（ｉ，ｊ）のとるべき値に関して複数段階の近接度を定義し、個々の段階ごとに、周期的な位置変動の振幅を設定するようにしたものである。
【００３４】
(25)  本発明の第２５の態様は、上述の第２４の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
最も小さい近接度を示す段階については、周期的な位置変動の振幅を０に設定するようにしたものである。
【００３５】
(26)  本発明の第２６の態様は、上述の第２１の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
所定の変動関数Ψを定義し、Ｒ（ｉ，ｊ）＝ｒ（ｉ，ｊ）＋（ｒ（ｉ，ｊ）×Ψ）なる演算により、新たな距離Ｒ（ｉ，ｊ）を求めるようにしたものである。
【００３６】
(27)  本発明の第２７の態様は、上述の第２６の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
変動関数Ψとして、変数ｓについての関数Ψ（ｓ）を定義し、
第ｉ番目の代表点Ｑ（ｉ）について、第２の基準線上に定義された所定の始点Ｑｓからの第２の基準線に沿った距離ｓを求め、関数Ψ（ｓ）を用いて、新たな距離Ｒ（ｉ，ｊ）を求めるようにしたものである。
【００３７】
(28)  本発明の第２８の態様は、上述の第２７の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
所定の振幅定数Ａおよび皺の周期λを用いて、Ψ＝Ａ・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）を定義するようにしたものである。
【００３８】
(29)  本発明の第２９の態様は、上述の第２７の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
振幅Ａ（ｉ，ｊ）および皺の周期λを用いて、Ψ＝Ａ（ｉ，ｊ）・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）を定義し、制御点Ｇ（ｉ，ｊ）に関する移動量が振幅Ａ（ｉ，ｊ）に応じて定まるようにし、個々の制御点ごとに異なる振幅をもった変動関数が適用されるようにしたものである。
【００３９】
(30)  本発明の第３０の態様は、上述の第２９の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄβ（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄβ（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）と、所定の比例定数Ｋとを用いて、Ａ（ｉ，ｊ）＝Ｋ／ｄαβ（ｉ，ｊ）なる式によって、制御点Ｇ（ｉ，ｊ）に対して適用されるべき振幅Ａ（ｉ，ｊ）を定義するようにしたものである。
【００４０】
(31)  本発明の第３１の態様は、上述の第２９の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄα（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄα（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）を求める制御点間距離演算処理を実行し、
予めｄαβ（ｉ，ｊ）のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点Ｇ（ｉ，ｊ）を移動させる際には、制御点間距離演算処理によって求められた値ｄαβ（ｉ，ｊ）に応じた近接度についての振幅を適用して移動量の演算を行うようにしたものである。
【００４１】
(32)  本発明の第３２の態様は、上述の第３１の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
最も小さい近接度を示す段階については、振幅＝０に設定するようにしたものである。
【００４２】
(33)  本発明の第３３の態様は、上述の第１０〜第３２の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、パイプの二次元断面図形の輪郭線上に複数の制御点を定義し、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された１つもしくは複数の制御点と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された１つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データを作成するようにしたものである。
【００４３】
(34)  本発明の第３４の態様は、上述の第３３の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）と、の合計４点を頂点とする四角形の集合によって、パイプの三次元形状データを作成するようにしたものである。
【００４４】
(35)  本発明の第３５の態様は、上述の第１〜第３４の態様に係る表面にパイプを有する物体の三次元形状データの作成装置を、コンピュータに専用のプログラムを組み込むことにより構成したものである。
【００４５】
(36)  本発明の第３６の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成方法において、
パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
コンピュータが、オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第１の基準線を定義し、これを記憶手段に格納する第１の基準線定義段階と、
コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
コンピュータが、第１の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第２の基準線を作成し、これを記憶手段に格納する第２の基準線作成段階と、
コンピュータが、第２の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
コンピュータが、基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
を行うようにしたものである。
【００４６】
(37)  本発明の第３７の態様は、上述の第３６の態様に係る表面にパイプを有する物体の三次元形状データの作成方法において、
基本形状データ入力段階では、多数のポリゴンによって物体表面を表現した三次元形状データが、基本形状データとして入力されるようにしたものである。
【００４７】
(38)  本発明の第３８の態様は、上述の第３６の態様に係る表面にパイプを有する物体の三次元形状データの作成方法において、
基本形状データ入力段階では、パラメトリック曲面によって物体表面を表現した三次元形状データが、基本形状データとして入力されるようにしたものである。
【発明の効果】
【００４８】
本発明では、パイプの情報を含まない物体表面上に第１の基準線を定義し、パイプ配置パラメータを用いて、この第１の基準線をパイプの三次元空間上での位置を示す第２の基準線に変換し、この第２の基準線に沿って、パイプの断面形状図形を配置し、パイプの三次元形状データを作成するようにしたため、パイプを含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明を図示する実施形態に基づいて説明する。
【００５０】
＜＜＜  §１．基本手順  ＞＞＞
本発明では、表面にパイプを有する物体について、パイプを含めた三次元形状データの作成が行われる。この§１では、この本発明の基本手順を、簡単なモデルを用いて説明する。
【００５１】
図１は、本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。本発明は、基本的にコンピュータを利用することを前提とした発明であり、図１の流れ図の各ステップに示された段階は、いずれもコンピュータが、そのハードウエア資源を用いて、専用に開発されたソフトウエアプログラムに基づいて実行する処理を示すものである。
【００５２】
図示のとおり、この基本手順は、大まかに分類して、入力プロセス（ステップＳ１）、定義プロセス（ステップＳ２〜Ｓ４）、作成プロセス（ステップＳ５〜Ｓ７）の３つのプロセスによって構成される。入力プロセスは、この基本手順の処理対象となる物体の三次元形状データを入力するためのプロセスであり、定義プロセスは、パイプの三次元情報を作成するために必要なパラメータ等を定義するためのプロセスであり、作成プロセスは、入力プロセスで入力した三次元形状データで示される物体の表面に、定義プロセスで定義したパラメータ等を用いて、パイプの三次元情報を作成するためのプロセスである。以下、各プロセスを構成する個々のステップについて、順に説明を行う。
【００５３】
まず、ステップＳ１に示す基本形状データ入力段階は、コンピュータ内の記憶手段に、基本形状データを入力する処理を行う段階である。ここで、基本形状データとは、パイプの情報を含まない物体の三次元形状データのことであり、この図１の流れ図に示す基本手順は、この基本形状データに、パイプの情報を付加する処理ということができる。ここでは、説明の便宜上、図２に示すような単純な直方体形状をもった物体についての三次元形状データが、基本形状データＤｂとして入力された場合について、以下の説明を行うことにする。図２に示す基本形状データＤｂは、単なる直方体を表現するデータであり、パイプの情報は全く含まれていない。
【００５４】
なお、本願では、説明の便宜上、三次元形状データと当該データで表現される三次元図形とを同じ符号で示すことにする。たとえば、図２に示す符号「Ｄｂ」は、物体の三次元形態そのものを示すと同時に、当該物体を表現するための基本形状データも示している。
【００５５】
ステップＳ２に示す第１の基準線定義段階は、オペレータの指示に基づいて、ステップＳ１で入力した基本形状データＤｂで示される物体Ｄｂの表面上に、パイプの物体表面上での位置を示す第１の基準線を定義し、これを記憶手段に格納する処理を行う段階である。いわば、パイプの中心線を物体表面上に投影した投影線を、第１の基準線として定義する処理が行われることになる。図３は、物体Ｄｂの上面の中心位置に、第１の基準線Ｌ１（破線で示す）を定義した例を示す斜視図である。ここでは、説明の便宜上、物体の上面に第１の基準線Ｌ１を１本だけ定義した単純な例を示すが、もちろん、第１の基準線Ｌ１は、複数の面に跨って定義することも可能であり、また、複数本を定義することも可能である。
【００５６】
ステップＳ３に示すパイプ断面パラメータ定義段階は、オペレータの指示に基づいて、パイプ断面パラメータＰｃを定義し、これを記憶手段に格納する処理を行う段階である。ここで、パイプ断面パラメータＰｃとは、パイプの断面形状と、そのサイズと、を示すパラメータである。図４は、このパイプ断面パラメータＰｃによって定義されたパイプの断面形状の一例を示す平面図である。図示の例では、円形の二次元断面図形Ｃが定義されている。このような代表的な幾何学図形からなる断面は、その形状を方程式によって定義することが可能であり、図示の円の場合、ｘｙ二次元座標系を用いて、ｘ２＋ｙ２＝ｒ２なる方程式で定義することができる。ここで、ｒは円の半径であるから、この方程式によって、パイプの断面形状と、そのサイズと、の双方が定義されたことになる。
【００５７】
ステップＳ４に示すパイプ配置パラメータ定義段階は、オペレータの指示に基づいて、パイプ配置パラメータｈを定義し、これを記憶手段に格納する処理を行う段階である。ここで、パイプ配置パラメータｈとは、物体表面に対するパイプの浮き上がり量を示すパラメータである。図５は、このパイプ配置パラメータｈの一定義形態を示す平面図であり、基準線Ｓは、物体の表面位置を示している。
【００５８】
この図５に示す例は、図４に示すような半径ｒの円からなる二次元断面図形Ｃを示すパイプ断面パラメータＰｃが定義されていた場合のパイプ配置パラメータｈの意義を示している。具体的には、図５(a) は、ｈ＝ｒなる所定の定数ｈをパイプ配置パラメータとして定義した例を示し、図５(b) は、ｈ＝ｒ／２なる所定の定数ｈをパイプ配置パラメータとして定義した例を示している。上述したとおり、パイプ配置パラメータｈは、物体表面に対するパイプの浮き上がり量を示すパラメータであり、図５(a) に示す例の場合、円形の二次元断面図形Ｃの中心点Ｏが、基準線Ｓから距離ｈ（＝ｒ）だけ浮き上がった位置に配置されている。同様に、図５(b) に示す例の場合、円形の二次元断面図形Ｃの中心点Ｏが、基準線Ｓから距離ｈ（＝ｒ／２）だけ浮き上がった位置に配置されている。
【００５９】
基準線Ｓは、物体の表面位置を示しているので、基準線Ｓより上方に示された部分は、物体の表面に露出するパイプ部分（可視部）に対応し、基準線Ｓより下方に示された部分は、物体の内部に隠れるパイプ部分（不可視部）に対応する。
【００６０】
以上で、定義プロセスは完了である。続いて、作成プロセスが実行される。まず、ステップＳ５に示す第２の基準線作成段階は、ステップＳ２で定義した第１の基準線Ｌ１とステップＳ４で定義したパイプ配置パラメータｈとに基づいて、パイプの三次元空間上での位置を示す第２の基準線Ｌ２を作成し、これを記憶手段に格納する処理を行う段階である。
【００６１】
図６は、このステップＳ５の段階で作成された第２の基準線Ｌ２の一例を示す斜視図である。図６に示す第２の基準線Ｌ２は、図３に破線で示す第１の基準線Ｌ１と、図５に示すパイプ配置パラメータｈとに基づいて作成されたものであり、物体表面に定義されている第１の基準線Ｌ１を、物体表面から距離ｈだけ浮き上がらせることによって得られる線ということになる。具体的には、第１の基準線Ｌ１上の任意の点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈだけ隔たった位置にある点Ｑを求めれば、この点Ｑの集合によって第２の基準線Ｌ２を作成することができる。なお、図示の例では、物体の上面のみに第１の基準線Ｌ１が定義されているため、第２の基準線Ｌ２も、この物体の上方のみに作成されることになるが、第１の基準線Ｌ１が物体の前面などにも連続して定義されている場合には、第２の基準線Ｌ２も物体の前面手前側にまで連続して作成される。
【００６２】
ステップＳ６のパイプ形状データ作成段階は、ステップＳ５で作成した第２の基準線Ｌ２とステップＳ３で定義したパイプ断面パラメータＰｃとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納する処理を行う段階である。図７は、このステップＳ６の段階で作成されたパイプの三次元形状データＤｐによって示されるパイプの三次元形態の一例を示す斜視図である。ここでは、便宜上、この形状データＤｐによって示されるパイプの三次元形態についても、同じ符号Ｄｐを用いて示すことにする。図６に示す第２の基準線Ｌ２に沿って、図４に示すパイプの二次元断面図形Ｃを連続的に配置することにより（この例の場合、円Ｃの中心点Ｏを第２の基準線Ｌ２上に配置することにより）、図７に示すようなパイプの三次元形態Ｄｐを作成することができる。
【００６３】
具体的には、第２の基準線Ｌ２上に所定間隔で代表点を定義し、個々の代表点にパイプの二次元断面図形Ｃを配置してゆく処理を行い、こうして配置された多数の二次元断面図形Ｃの輪郭線を滑らかに結ぶ面として、パイプの三次元形状データＤｐを作成すればよい。たとえば、図４に示すように、パイプ断面パラメータＰｃにより、円からなる二次元断面図形Ｃが定義されている場合、第２の基準線Ｌ２上に定義された各代表点位置に中心がくるように、それぞれ円形の二次元断面図形Ｃを配置すればよい。このとき、各二次元断面図形Ｃは、各代表点位置に、第２の基準線Ｌ２に直交する向きに配置するとよい。こうして、第２の基準線Ｌ２に沿って配置された多数の円（二次元断面図形Ｃ）の円周を滑らかに結んで得られる三次元構造体が、図７に示すパイプの三次元形態Ｄｐということになる。このパイプの三次元形態Ｄｐは、いわば第２の基準線Ｌ２を中心軸として配置された半径ｒの円柱状パイプに相当し、ｈ＜ｒなる設定がなされている場合には、その一部（不可視部）は、物体Ｄｂの内部に埋め込まれた状態となっている。
【００６４】
ステップＳ７の合成形状データ作成段階は、ステップＳ１で入力した基本形状データＤｂに、ステップＳ６で作成したパイプの三次元形状データＤｐを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データＤｂｐを作成し、これを記憶手段に格納する処理を行う段階である。基本形状データＤｂとパイプの三次元形状データＤｐとが、同一の三次元座標系上で定義されたデータになっていれば、単に、これらのデータを合わせることにより、合成形状データＤｂｐを得ることができる。
【００６５】
以上のとおり、本発明に係る表面にパイプを有する物体の三次元形状データの作成方法によれば、まず、パイプの情報を含まない物体の三次元形状データを基本形状データＤｂとして入力し、第１の基準線Ｌ１、パイプ断面パラメータＰｃ、パイプ配置パラメータｈを定義し、これらの情報に基づいて、パイプの三次元空間上での位置を示す第２の基準線Ｌ２を作成し、この第２の基準線Ｌ２に沿って、パイプの断面形状図形を配置することにより、パイプの三次元形状データＤｐを作成することができる。したがって、パイプを含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。
【００６６】
＜＜＜  §２．装置の基本構成  ＞＞＞
続いて、本発明に係る表面にパイプを有する物体の三次元形状データの作成装置の基本構成を、図８のブロック図を参照しながら説明する。前述したとおり、本発明は、基本的にコンピュータを利用することを前提とした発明であり、この図８に示す装置は、コンピュータに専用のプログラムを組み込むことによって実現される装置である。したがって、個々のブロックとして示されている構成要素の機能は、実際には、いずれもコンピュータに組み込まれたプログラムによって実現される機能ということになる。
【００６７】
図８に示す装置は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する機能を有し、合計７つのブロックで示される構成要素から構成されている。これら個々のブロックは、図１に示す流れ図の各ステップＳ１〜Ｓ７に対応しており、それぞれ対応するステップに示された処理を実行する機能を有する。
【００６８】
すなわち、基本形状データ入力手段１０は、ステップＳ１に示されている基本形状データ入力段階を実行する機能を有し、第１の基準線定義手段２０は、ステップＳ２に示されている第１の基準線定義段階を実行する機能を有し、パイプ断面パラメータ定義手段３０は、ステップＳ３に示されているパイプ断面パラメータ定義段階を実行する機能を有し、パイプ配置パラメータ定義手段４０は、ステップＳ４に示されているパイプ配置パラメータ定義段階を実行する機能を有し、第２の基準線作成手段５０は、ステップＳ５に示されている第２の基準線作成段階を実行する機能を有し、パイプ形状データ作成手段６０は、ステップＳ６に示されているパイプ形状データ作成段階を実行する機能を有し、合成形状データ作成手段７０は、ステップＳ７に示されている合成形状データ作成段階を実行する機能を有する。以下、これらの各手段１０〜７０により実行される処理を、図２〜図７に示す具体例を参照して順に説明する。
【００６９】
まず、基本形状データ入力手段１０は、パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する機能をもった構成要素であり、たとえば、図２に示すような物体の三次元形状データを、基本形状データＤｂとして入力する処理を行う。要するに、この基本形状データ入力手段１０は、外部から与えられたデジタルデータを、コンピュータ内部に取り込む機能をもった一般的な入力装置である。
【００７０】
物体を三次元表現する方法としては、ポリゴンを用いた表現と、パラメトリック曲面を用いた表現とが一般的に知られている。前者は、物体表面を多数のポリゴン（多角形）の集合体として表現する手法であり、通常、個々のポリゴンを構成する頂点の位置座標と、各頂点の位置関係（どの頂点とどの頂点を結ぶことにより、多角形が形成されるかを示す情報）と、によって、物体の三次元形状が定義される。一方、後者は、物体の表面を、ベジェ曲面、スプライン曲面、ＮＵＲＢＳ曲面に代表されるようなパラメトリック曲面によって表現する手法であり、パラメトリック曲面を定義するための種々のパラメータの集合によって、物体の三次元形状が定義される。
【００７１】
基本形状データ入力手段１０が入力する基本形状データは、前者の形態のデータ（多数のポリゴンによって物体表面を表現した三次元形状データ）であってもよいし、後者の形態のデータ（パラメトリック曲面によって物体表面を表現した三次元形状データ）であってもかまわない。
【００７２】
既に述べたとおり、建築物や自動車の内装、家具などの場合、ＣＡＤを利用した設計が行われるのが一般的であり、この設計段階で作成されるＣＡＤデータには、通常、基本形状データＤｂが含まれている。たとえば、自動車の座席シートのＣＡＤデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、パイプの情報を含まないシートの三次元形状データに相当する。実際のシートは、このウレタン構造体の表面に、布製もしくは革製の表皮を被せたものになり、この表皮の表面にパイプが形成されていることになる。このようなＣＡＤデータが用意されている物体については、このＣＡＤデータをそのまま、もしくは、必要な修正を施して、基本形状データ入力手段に与えるようにすればよい。たとえば、衣服の場合であれば、設計時に用いた型紙のＣＡＤデータに対して、人体表面との接触によって生じる皺などを表現するための修正を加えたデータを、当該衣服の基本形状データＤｂとして、基本形状データ入力手段１０に与えるようにすればよい。
【００７３】
もちろん、設計段階で用いたＣＡＤデータを流用することができない場合や、そもそもＣＡＤデータが存在しない物体の場合には、当該物体の三次元形状データ（パイプの情報を含まないデータ）を作成し、基本形状データ入力手段１０に与える必要がある。このように、パイプの情報を含まない物体の三次元形状データを作成する装置は、既に種々のものが実用化されているので、ここでは詳しい説明は省略する。
【００７４】
第１の基準線定義手段２０、パイプ断面パラメータ定義手段３０、パイプ配置パラメータ定義手段４０は、いずれもオペレータの指示入力に基づいて、所定のデータを設定する機能を有する構成要素である。オペレータからの指示を入力するためには、ディスプレイ上に所定の入力画面を提示し、この入力画面を見たオペレータに、キーボードやマウスなどのコンピュータ用入力機器を操作させ、この操作結果を指示入力として取り込むプログラムを用意しておけばよい。
【００７５】
まず、第１の基準線定義手段２０は、オペレータの指示に基づいて、基本形状データ入力手段１０が入力した基本形状データＤｂで示される物体の表面上に、パイプの物体表面上での位置を示す第１の基準線Ｌ１を定義する機能をもった構成要素である。たとえば、図２に示すような物体の基本形状データＤｂが入力されている場合、この物体の表面上に、図３に破線で示すような第１の基準線Ｌ１の定義が行われる。第１の基準線Ｌ１の具体的な定義方法については、§３で詳述する。
【００７６】
一方、パイプ断面パラメータ定義手段３０は、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータＰｃを定義する構成要素であり、たとえば、図４に示すように、ｘｙ二次元座標系における円の方程式ｘ２＋ｙ２＝ｒ２により、パイプの二次元断面図形Ｃの形状とサイズとを定義することができる。オペレータに、このような特定の方程式を直接入力させて、パイプ断面パラメータＰｃを設定することも可能であるが、実用上は、方程式に含まれる種々の定数値をパラメータとして指定もしくは選択させることにより、所望の断面形状およびサイズを設定させるようにしておくのが好ましい。具体的なパイプ断面パラメータの設定方法については、§４で詳述する。
【００７７】
パイプ配置パラメータ定義手段４０は、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータｈを定義する機能をもった構成要素である。たとえば、図５に示す例では、円からなる二次元断面図形Ｃの中心点Ｏと物体表面（基準線Ｓで示されている）との距離ｈによって、パイプ配置パラメータの定義が行われている。距離ｈの定義を行うためには、たとえば、所定の単位（たとえば、ｍｍ）で、オペレータに所望の数値入力を行わせる機能をもたせておけばよい。具体的なパイプ配置パラメータの設定方法については、§５で詳述する。
【００７８】
第２の基準線作成手段５０は、第１の基準線定義手段２０によって定義された第１の基準線Ｌ１と、パイプ配置パラメータ定義手段４０によって定義されたパイプ配置パラメータｈと、に基づいて、パイプの三次元空間上での位置を示す第２の基準線Ｌ２を作成する機能をもった構成要素である。§１で述べたとおり、たとえば、図３に示すような第１の基準線Ｌ１と、図５に示すような距離ｈとして定義されたパイプ配置パラメータとを用いることにより、図６に示すような第２の基準線Ｌ２が作成されることになる。この第２の基準線Ｌ２を作成する処理の具体的なアルゴリズムについては、§６で詳述する。
【００７９】
パイプ形状データ作成手段６０は、第２の基準線作成手段５０によって作成された第２の基準線Ｌ２と、パイプ断面パラメータ定義手段３０によって定義されたパイプ断面パラメータＰｃと、に基づいて、パイプの三次元形状データＤｐを作成する機能をもった構成要素である。§１で述べたとおり、たとえば、図６に示すような第２の基準線Ｌ２と、図４に示すようなパイプ断面パラメータＰｃで示されるパイプの二次元断面図形Ｃ（この例の場合は円）とを用いることにより、図７に示すようなパイプの三次元形状データＤｐが作成されることになる。このパイプの三次元形状データＤｐを作成する処理の具体的なアルゴリズムについては、§７で詳述する。
【００８０】
合成形状データ作成手段７０は、基本形状データ入力手段１０が入力した基本形状データＤｂに、パイプ形状データ作成手段６０が作成したパイプの三次元形状データＤｐを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データＤｂｐを作成する処理を行う構成要素である。前述したとおり、基本形状データＤｂとパイプの三次元形状データＤｐとを、同一の三次元座標系を用いたデータにしておけば、合成形状データ作成手段７０は、単に、２つのデータＤｂ，Ｄｐを合わせることにより、合成形状データＤｂｐを作成することができる。
【００８１】
こうして作成された合成形状データＤｂｐは、合成形状データ作成手段７０から外部装置へと出力され、種々の用途に利用される。たとえば、三次元ＣＧを取り扱うことができる一般的な装置に合成形状データＤｂｐを取り込めば、所定の視点から、図７に示すようなパイプの情報を含んだ物体を観察したときの二次元ＣＧ画像を作成することができる。
【００８２】
＜＜＜  §３．第１の基準線の定義  ＞＞＞
続いて、図１のステップＳ２もしくは図８の第１の基準線定義手段２０において行われる第１の基準線Ｌ１の具体的な定義方法の一例を述べる。第１の基準線Ｌ１は、たとえば、図３に示すように、パイプの物体表面上での位置を示す線であり、物体の表面上に定義された線であれば、直線であろうが、曲線であろうがかまわない。
【００８３】
これまで述べてきた§１，§２では、説明の便宜上、図２に示すような直方体からなる物体の三次元形状データを基本形状データＤｂとして入力した例について説明を行ったが、ここでは、図９に示すような曲面を含む物体の三次元形状データが、基本形状データＤｂとして入力された場合を考えてみる。この物体Ｄｂは、いわゆる蒲鉾型をしており、上面Ｕ０は曲面を構成し、左側面Ｕ１，右側面Ｕ２，底面Ｕ３はいずれも平面を構成している。
【００８４】
図１０は、図９に示す物体の表面に、第１の基準線Ｌ１１，Ｌ１２を定義した状態を示す斜視図である。基準線Ｌ１１は、図に破線で示すとおり、物体Ｄｂの左側面Ｕ１の近傍の上面Ｕ０上に定義されている。これに対して、基準線Ｌ１２は、物体Ｄｂの三次元構造上の輪郭線（すなわち、右側面Ｕ２の縁部）に一致している。
【００８５】
図示されている基準線Ｌ１２のように、物体Ｄｂの三次元構造上の輪郭線上に第１の基準線を定義する方法は、比較的簡単である。すなわち、オペレータの指示に基づいて、物体の基本形状データＤｂに含まれている直線もしくは曲線のデータ、または基本形状データに含まれている２つの面のデータを用いて演算された当該２つの面の交線のデータを利用すれば、第１の基準線を定義することが可能である。たとえば、図１０に示す例の場合、物体の基本形状データＤｂ内に、右側面Ｕ２の輪郭線を示すデータが直接的に含まれていれば、このデータをそのまま基準線Ｌ１２を示すデータとして利用することができる。このような輪郭線を示すデータが直接的に含まれていない場合でも、上面Ｕ０を示すデータと右側面Ｕ２を示すデータとが含まれていれば、これら２つの面Ｕ０，Ｕ２の交線を演算によって求めることができるので、この交線のデータを基準線Ｌ１２を示すデータとして利用することができる。
【００８６】
一方、図に破線で示す基準線Ｌ１１は、もともとの基本形状データＤｂ内には含まれていない線である。したがって、オペレータの操作入力に基づいて基準線Ｌ１１を定義するには、この基準線Ｌ１１を示すデータを新たに作成する必要がある。そのためには、たとえば、三次元物体の表面に対して描画を行う機能を提供するプログラムを用意しておき、この描画機能を利用して、物体の表面上に基準線Ｌ１１を直接描かせるような方法をとることも可能である。ただ、実用上は、以下に述べるような投影処理を利用して、基準線Ｌ１１を定義するのが好ましい。
【００８７】
図１１は、この投影処理を利用した基準線Ｌ１１の定義方法の原理を示す斜視図である。いま、図示のように、物体Ｄｂから離れた位置に、参照線Ｋ１１を定義するとともに、所定の投影方向を示す投影方向ベクトルＶを定義する。そして、参照線Ｋ１１を、投影ベクトルＶの示す投影方向に投影し、物体Ｄｂの表面上に投影像を形成させ、この投影像を基準線Ｌ１１として定義するのである。
【００８８】
参照線Ｋ１１を直線で構成すれば、その三次元座標系上での位置は、非常に簡単な方程式で表現することができ、この方程式のパラメータを変化させることにより、参照線Ｋ１１を所望の方向へ移動させることができる。方程式は若干複雑になるが、曲線からなる参照線を定義することも可能である。一方、物体の三次元形状は、基本形状データＤｂとして与えられているので、物体表面への参照線Ｋ１１の投影像は、三次元座標系上で幾何学演算を行うことにより求めることができる。オペレータに、参照線の形状や位置および投影方向ベクトルの向きを指定するパラメータを入力させ、指定されたパラメータに基づいて得られる投影像を、ディスプレイ画面上にリアルタイムで表示させるようにすれば、オペレータがパラメータの値を変化させる操作入力を行うたびに、ディスプレイ画面上に表示される投影像の位置がリアルタイムで変化することになる。したがって、オペレータは、ディスプレイ画面を見ながら、所望の位置に基準線を定義することができる。
【００８９】
結局、オペレータの指示に基づいて、基本形状データＤｂで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線Ｋ１１と、所定の投影方向を示す投影方向ベクトルＶと、を定義する機能と、参照線Ｋ１１を投影方向ベクトルＶの示す投影方向に投影したときに、基本形状データＤｂで示される物体の表面上に形成される投影像Ｌ１１を第１の基準線として定義する機能とを、図８に示す第１の基準線定義手段２０にもたせておくようにすればよい。
【００９０】
前述したとおり、基本形状データＤｂは、多数のポリゴンによって物体表面を表現した三次元形状データであってもよいし、ベジェ曲面、スプライン曲面、ＮＵＲＢＳ曲面に代表されるようなパラメトリック曲面によって物体表面を表現した三次元形状データであってもかまわない。参照線Ｋ１１の投影像Ｌ１１（すなわち、第１の基準線）は、前者の場合、通常は、特定のポリゴン上に描かれた直線もしくは曲線として表現され、後者の場合、通常は、ベジェ曲線、スプライン曲線、ＮＵＲＢＳ曲線などのパラメトリック曲線で表現されることになる。
【００９１】
＜＜＜  §４．パイプ断面パラメータの定義  ＞＞＞
次に、図１のステップＳ３もしくは図８のパイプ断面パラメータ定義手段３０において行われるパイプ断面パラメータＰｃの具体的な定義方法の一例を述べる。パイプ断面パラメータＰｃは、パイプの断面形状とそのサイズとを示すパラメータであるので、パイプの二次元断面図形とその大きさを定めることができれば、どのような形態のパラメータであってもかまわない。
【００９２】
図１２は、ｘｙ二次元直交座標系において、（ｘ／ａ）２／ε＋（ｙ／ｂ）２／ε＝１（但し、εは所定の定数）なる式によって示される超二次曲線を用いてパイプの二次元断面図形の定義を行った例を示す図である。この式は、超二次関数を示す式であり、媒介変数θを用いた表現に書き直すと、ｘ＝ａcosεθ、ｙ＝ｂsinεθという三角関数を用いた形になる。
【００９３】
図１３は、定数εの値を変えた場合に、上式によって、ｘｙ二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。図１３(a) は、ε＝０．１に設定した場合の形状であり、いわゆる角丸矩形に近い図形となる。図１３(b) は、ε＝０．７に設定した場合の形状であり、角の丸みが強くなってくる。図１３(c) は、ε＝１．０に設定した場合の形状であり、得られる図形は、（ｘ／ａ）２＋（ｙ／ｂ）２＝１なる式で示される幾何学図形、すなわち、楕円になる。図４に示す円は、ａ＝ｂ＝ｒに設定した場合に対応する。図１３(d) ，(e) ，(f) は、それぞれε＝１．５，２．０，３．０に設定した場合の形状である。
【００９４】
結局、上式において、定数ａ，ｂは、断面のサイズを規定するパラメータとなり、定数εは、断面形状を規定するパラメータとなる。したがって、この図１２に示す超二次関数を用いてパイプ断面を定義することにすれば、ａ，ｂ，εなる定数をパイプ断面パラメータとして定めることにより、超楕円から構成されるパイプ断面の形状およびサイズを決定することができる。オペレータは、３つのパラメータａ，ｂ，εの値を設定する指示入力を行うだけで済むので、非常に軽い作業負担で、パイプ断面の定義が可能になる。
【００９５】
一般的な物品の装飾に用いられるパイプの断面形状は、ほぼ円や楕円を基準にした形状になるため、図１２に示す式において、εを所望の値に設定することにより定義することができる。ただ、特殊な装飾が施された物品では、図１２に示す式では表現できない断面形状をもったパイプが用いられることもある。そのような場合は、図１４に示すように、ｒθ極座標系において、角度θ（０≦θ＜２π）と、この角度θに対応する距離ｒ（θ）と、の関係をパイプ断面パラメータとして定義すればよい。
【００９６】
実際には、角度θの値は、所定間隔ごとの離散値として定義せざるを得ないので、この離散値として与えられた有限個のθの値と、これに対応するｒ（θ）の値との組み合わせを示す断面形状テーブルを用意し、この断面形状テーブルによりパイプ断面パラメータを定義すればよい。たとえば、θを１０°おきの離散値として設定すれば、合計３６組の「θとｒ（θ）」の組み合わせを示す断面形状テーブルによってパイプ断面パラメータを定義することができ、任意形状の断面をもったパイプに対応することができる。
【００９７】
なお、角度θの値として離散値を用いた場合、パイプ断面の輪郭線は、連続した線ではなく、有限個の点の集合として定義されることになる。たとえば、図１４に示されている例の場合、特定のθとｒ（θ）との組み合わせにより、１つの輪郭点Ｋが定義されることになるので、パイプ断面の輪郭線は、有限個の輪郭点Ｋの集合として表現されることになる。したがって、隣接する輪郭点Ｋ間の輪郭線の情報が必要な場合には、線形補間やスプライン補間などの補間処理を行うようにすればよい。
【００９８】
また、本発明で作成するパイプの三次元形態は、必ずしも各部で同一の断面を有している必要はない。たとえば、図７に示されているパイプの三次元形態Ｄｐでは、第２の基準線Ｌ２に対して直交する断面が、いずれも同一の半径をもった円となっている。これは、図４に示すように、ｘ２＋ｙ２＝ｒ２なる方程式によって、半径ｒをもった円Ｃがパイプの共通断面として定義されているためである。ここで、もし、半径ｒを距離ｓの関数ｒ（ｓ）という形で与え、ｘ２＋ｙ２＝ｒ（ｓ）２なる方程式を、パイプ断面パラメータＰｃとして定義したとすると、距離ｓに応じて、断面を形成する円のサイズが異なるようなパイプを定義することができる。
【００９９】
たとえば、図７において、第２の基準線Ｌ２の奥側の端点を始点として、第２の基準線Ｌ２上の各位置について、それぞれ当該始点からの距離をｓと定義してみる。この場合、第２の基準線Ｌ２上の各位置に、ｘ２＋ｙ２＝ｒ（ｓ）２なる方程式で示される円形の二次元断面図形を配置すれば、各位置に配置される円の半径はそれぞれ異なったものになり、各部で太さが異なったパイプが作成されることになる。関数ｒ（ｓ）を、変数ｓに対して線形増加する関数にしておけば、作成されるパイプは、手前側ほど太くなるような円錐状のパイプになる。また、関数ｒ（ｓ）を周期関数にしておけば、周期的に太さが変化するパイプを作成することができる。
【０１００】
このように、本発明におけるパイプ断面パラメータＰｃは、パイプの断面形状と、そのサイズと、を示すパラメータであるが、必ずしも単一の断面形状および単一のサイズを示すパラメータである必要はなく、作成されるパイプの個々の箇所における断面形状およびサイズを定義することができるパラメータであれば、上述の例のように、パイプの各部で断面形状やサイズが異なるようなパラメータであってもかまわない。あるいは、関数ｒ（ｓ）の代わりに、ｓの値とｒの値とを対応させるテーブルによって、パイプ断面パラメータＰｃを定義することも可能である。
【０１０１】
＜＜＜  §５．パイプ配置パラメータの定義  ＞＞＞
続いて、図１のステップＳ４もしくは図８のパイプ配置パラメータ定義手段４０において行われるパイプ配置パラメータｈの具体的な定義方法の一例を述べる。パイプ配置パラメータｈは、物体表面に対するパイプの浮き上がり量を示すパラメータであり、所定の単位（たとえば、ｍｍ）を指定して、オペレータに数値を指定させることにより容易に定義することが可能である。あるいは、予め複数通りのｈの値を用意しておき、その中から、オペレータに所望の値を選択させるようにしてもよい。
【０１０２】
図５(a) に示す例の場合、円形の二次元断面図形Ｃの中心点Ｏが、基準線Ｓから距離ｈ（＝ｒ）だけ浮き上がった位置に配置されており、図５(b) に示す例の場合、円形の二次元断面図形Ｃの中心点Ｏが、基準線Ｓから距離ｈ（＝ｒ／２）だけ浮き上がった位置に配置されている。実は、この中心点Ｏの位置は、第２の基準線の位置を示しており、結局、パイプ配置パラメータｈは、第２の基準線の第１の基準線に対する浮き上がり量を示すパラメータということができる。
【０１０３】
図５における基準線Ｓは、物体の表面位置を示しているので、基準線Ｓより上方に示された部分は、物体の表面に露出するパイプ部分（可視部）に対応し、基準線Ｓより下方に示された部分は、物体の内部に隠れるパイプ部分（不可視部）に対応する。別言すれば、図５(a) のように、ｈ＝ｒに設定した場合、作成されたパイプは底部が物体表面に接した状態となるが、図５(b) のように、ｈ＝ｒ／２に設定した場合、作成されたパイプは一部が物体の内部に埋め込まれた状態となる。
【０１０４】
また、パイプ配置パラメータｈを、ｈ＞ｒとなるように設定すると、パイプが物体表面に対して全く接触せず、物体上空に浮き上がった状態になる。現実的には、そのような物品は希であるが、もちろん、本発明を実施する上では、ｈ＞ｒなる設定を行ってもかまわない。更に、ｈ＜０なる設定を行うことも可能である。この場合、円形の二次元断面図形Ｃの中心点Ｏは、基準線Ｓの下方に位置することになり（第２の基準線が、物体内部に位置することになる）、パイプ配置パラメータｈは、物体表面に対するパイプの負の浮き上がり量を示すパラメータ（別言すれば、沈み込み量を示すパラメータ）ということになる。もっとも、ｈ＜−ｒとなるような設定を行うと、パイプは完全に物体の内部に埋もれた状態となるので、物体表面が透明な場合でなければ、実質的に意味をなさない。
【０１０５】
このように、パイプ配置パラメータｈの設定方法によって、パイプの三次元形状データＤｐは、物体Ｄｂの上面に露出した可視部と、物体Ｄｂの内部に埋め込まれた不可視部との双方を含んだデータとなることがあるが、必要に応じて、図１に示すステップＳ７の段階（合成形状データ作成段階）において、パイプの三次元形状データＤｐのうちの不可視部のデータを削除して合成するようにしてもよい。もっとも、実用上は、合成形状データＤｂｐに、パイプの三次元形状データＤｐの不可視部のデータが含まれていたとしても、図７に示されているような三次元構造体を、所定の視点から観察した状態を示す二次元投影像を得る段階で、パイプの三次元形態Ｄｐの不可視部（物体内部に埋もれた部分）については、隠面処理によって物体Ｄｂの上面によって隠されてしまうので、問題は生じない。
【０１０６】
なお、本発明で定義するパイプ配置パラメータｈは、必ずしも定数として定義する必要はない。たとえば、図７に示されている例は、パイプ配置パラメータを定数ｈとした例であり、第１の基準線Ｌ１と第２の基準線Ｌ２との距離は、いずれの箇所においても一定値ｈとなっている。これに対して、第１の基準線Ｌ１と第２の基準線Ｌ２との距離が、各部で異なるような設定を行うことも可能である。たとえば、パイプ配置パラメータを、関数ｈ（ｓ）という形で定義し、物体表面に対するパイプの浮き上がり量を、位置を示す変数ｓに応じて異ならせることも可能である。
【０１０７】
具体的には、図７において、第１の基準線Ｌ１の奥側の端点を始点として、第１の基準線Ｌ１上の各位置について、それぞれ当該始点からの距離をｓと定義してみる。この場合、パイプ配置パラメータを関数ｈ（ｓ）の形で与えると、第２の基準線Ｌ２の物体表面からの浮き上がり量（第１の基準線Ｌ１に対する距離）が、各部で異なるようになる。たとえば、関数ｈ（ｓ）を、変数ｓに対して線形増加する関数にしておけば、第２の基準線Ｌ２の浮き上がり量は、手前側ほど大きくなる。また、関数ｈ（ｓ）を周期関数にしておけば、周期的に浮き上がり量を変化させることもできる。あるいは、関数ｈ（ｓ）の代わりに、ｈの値とｒの値とを対応させるテーブルによって、パイプ配置パラメータを定義することも可能である。
【０１０８】
＜＜＜  §６．第２の基準線の作成  ＞＞＞
次に、図１のステップＳ５もしくは図８の第２の基準線作成手段５０において行われる第２の基準線の具体的な作成方法の一例を述べる。図７に示されているように、第２の基準線Ｌ２は、パイプの三次元空間上での位置を示す線（パイプ断面が円の場合は、パイプの中心線）であり、第１の基準線Ｌ１をパイプ配置パラメータｈが示す距離だけ、物体表面から浮き上がらせた線ということができる（負の距離だけ浮き上がらせることは、実質的に物体内部に沈み込ませることと同義である）。
【０１０９】
ここでは、図１０に示すような物体Ｄｂ上に定義された第１の基準線Ｌ１１，Ｌ１２を、物体表面から距離ｈだけ浮き上がらせることにより、第２の基準線を作成する具体的な方法を述べる。図１５は、このようにして作成された第２の基準線Ｌ２１，Ｌ２２を示す斜視図である。第２の基準線Ｌ２１は、第１の基準線Ｌ１１を、物体Ｄｂの上面Ｕ０から距離ｈだけ浮き上がらせることにより得られる線であり、第２の基準線Ｌ２２は、第１の基準線Ｌ１２を、物体Ｄｂの上面Ｕ０から距離ｈだけ浮き上がらせることにより得られる線である。
【０１１０】
図１６は、第１の基準線Ｌ１１とパイプ配置パラメータｈに基づいて、第２の基準線Ｌ２１を作成する具体的な方法を示す斜視図である。まず、図示のとおり、第１の基準線Ｌ１１上の任意の点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求める。図示の例では、法線ｎは、点Ｐの位置における上面Ｕ０に対する法線ということになる。続いて、この法線ｎ上にあり、点Ｐから距離ｈだけ隔たった位置にある点Ｑを求める。このような処理を、第１の基準線Ｌ１１上の多数の点について行う。たとえば、点Ｐ′については、図示のような法線ｎ′が求まり、この法線ｎ′に沿って、点Ｐ′から距離ｈだけ隔たった位置にある点として、点Ｑ′が求まる。このようにして多数の点Ｑが求まったら、これら点Ｑの集合によって第２の基準線を作成することができる。図１５に示す第２の基準線Ｌ２１は、このようにして得られた基準線である。同様の手法により、第１の基準線Ｌ１２に対して、第２の基準線Ｌ２２が求まることになる。
【０１１１】
図１７は、こうして求まった第２の基準線Ｌ２１，Ｌ２２に基づいて、パイプの三次元形状データＤｐ１，Ｄｐ２を作成した状態を示す斜視図である。ここでは、パイプの二次元断面図形として、半径ｒ＝ｈとなるような円が定義されていた場合の例が示されている。パイプの三次元形状データＤｐ１，Ｄｐ２は、いずれも半径ｒの円柱を、物体Ｄｂの上面Ｕ０の曲面に沿って曲げた立体形状を有しており、その中心軸は、図１５に示す第２の基準線Ｌ２１，Ｌ２２ということになる。図１７に示す例の場合、最終的に得られる合成形状データＤｂｐは、物体の基本形状データＤｂに、２本のパイプの三次元形状データＤｐ１，Ｄｐ２を合成したものとなる。すなわち、Ｄｂｐ＝Ｄｂ＋Ｄｐ１＋Ｄｐ２である。
【０１１２】
なお、パイプ配置パラメータが、位置を示す変数ｓについての関数ｈ（ｓ）として与えられている場合には、次のような方法で、第２の基準線を作成すればよい。まず、第１の基準線上に所定の始点を定義する。そして、第１の基準線上の任意の点Ｐについて、始点からの第１の基準線に沿った距離ｓを求める。そして、当該点Ｐに関して、当該点Ｐの位置に立てた物体表面についての法線ｎを求め、この法線ｎ上にあり、点Ｐから距離ｈ（ｓ）だけ隔たった位置にある点Ｑを求めればよい。このようにして求めた点Ｑの集合によって第２の基準線を作成すれば、物体表面からの浮き上がり量が関数ｈ（ｓ）で示されるような基準線が得られる。
【０１１３】
ところで、図１６に示す例の場合、第１の基準線Ｌ１１は、物体Ｄｂの上面Ｕ０上の線であるため、この第１の基準線Ｌ１１上の任意の点Ｐにおける法線ｎを一義的に定義できるが、第１の基準線Ｌ１２は、物体Ｄｂの三次元構造上の輪郭線（縁部を示す線）となっているため、この第２の基準線Ｌ１２上の任意の点Ｐにおける法線ｎは、一義的に定義することはできない。これを、図１８の正面図を参照しながら説明しよう。図１８(a) ，(b) ，(c) は、いずれも図１６に示す蒲鉾型の物体Ｄｂの右上部分を拡大して示す正面図である。
【０１１４】
いま、図１８(a) に示すように、この物体Ｄｂの右端最上部に点Ｐをとった場合に、この点Ｐの位置における法線がどのようになるかを考えてみる。点Ｐは、図１６に示す第１の基準線Ｌ１２上の１点である。この場合、点Ｐが、物体Ｄｂの上面Ｕ０上の点であると考えれば、図１８(a) に示すような方向（垂直上方）に法線ｎを定義することができ、この法線ｎに沿って点Ｐから距離ｈだけ離れた位置に点Ｑを定義することができる。しかしながら、点Ｐが、物体Ｄｂの右側面Ｕ２上の点であると考えると、図１８(b) に示すような方向（右水平方向）に法線ｎ＊を定義することができ、この法線ｎ＊に沿って点Ｐから距離ｈだけ離れた位置に点Ｑ＊が定義される。結局、法線の定義の仕方によって、作成される第２の基準線Ｌ２２の位置は変わることになり、最終的に得られるパイプの三次元形状データＤｐ２の位置も変わることになる。
【０１１５】
このように、点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合には、当該複数の面のうちのいずれか１つの面についての法線を、点Ｐの位置に立てた物体表面についての法線として取り扱えば、特に支障は生じない。たとえば、図１８(a) ，(b) に示す例の場合、点Ｐは、２つの面Ｕ０，Ｕ２の交線上の点となっているので、図１８(a) に示すように、上面Ｕ０についての法線ｎを点Ｐの位置に立てた物体表面についての法線として取り扱い、点Ｑの集合として第２の基準線Ｌ２２を作成することもできるし、図１８(b) に示すように、右側面Ｕ２についての法線ｎ＊を点Ｐの位置に立てた物体表面についての法線として取り扱い、点Ｑ＊の集合として第２の基準線Ｌ２２を作成することもできる。
【０１１６】
あるいは、点Ｐが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Ｐの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Ｐの位置に立てた物体表面についての法線とするようにしてもかまわない。図１８(c) は、このようにして法線ｎ＊＊を求め、点Ｑ＊＊を求めた例である。すなわち、各法線をベクトルとして捉えると、法線ベクトルｎは上面Ｕ０についての法線であり、法線ベクトルｎ＊は右側面Ｕ２についての法線であり、法線ベクトルｎ＊＊は、両法線ベクトルｎ，ｎ＊を合成して得られる合成ベクトルになる。したがって、法線ｎ＊＊は、本来の意味における幾何学的な法線ではなく、法線の中間線というべきものであるが、本発明において第２の基準線を作成する処理を実行する上では、点Ｐの位置に立てた物体表面についての法線として取り扱っても問題はない。
【０１１７】
パイプ配置パラメータｈが定数もしくは比較的単純な関数によって定義されており、第１の基準線が比較的単純な式によって表されている場合、点Ｑの集合からなる第２の基準線も式によって表現することが可能である。たとえば、ｈが定数、第１の基準線が直線の場合、第２の基準線は、三次元空間上での直線を示す式によって表される。このような場合、第２の基準線を作成する処理は、第１の基準線を示す方程式を、第２の基準線を示す方程式に変換する変換処理ということになる。
【０１１８】
このように、第２の基準線を式として表現することができない場合には、第１の基準線上に有限個の点Ｐ（ここでは、標本点と呼ぶことにする）を離散的に定義し、各標本点Ｐを法線ｎに沿って所定距離（パイプ配置パラメータｈで定まる距離）だけ変位させることにより、有限個の点Ｑ（ここでは、代表点と呼ぶことにする）を求め、これら代表点Ｑの集合として、第２の基準線を定義すればよい。
【０１１９】
図１９は、第１の基準線Ｌ１（破線で示されている）上に定義された有限個の標本点Ｐ０，Ｐ１，Ｐ２，…に基づいて、第２の基準線Ｌ２を作成する方法を示す正断面図であり、物体の三次元形態を、第１の基準線Ｌ１に沿って切断した断面を示している。標本点Ｐ０，Ｐ１，Ｐ２，…は、たとえば、始点Ｐ０から第１の基準線Ｌ１に沿って等間隔ｄに並ぶような点として定義すればよい（もちろん、必ずしも等間隔に設定する必要はない）。図に破線で示す直線ｎ０，ｎ１，ｎ２，…は、それぞれ標本点Ｐ０，Ｐ１，Ｐ２，…の位置において、物体表面に立てた法線を示している。標本点Ｐ０は、始点Ｐ０と同一の点であり、始点からの距離ｓ＝０となる点である。
【０１２０】
図示の例は、パイプ配置パラメータが定数ｈとして定義されている場合の例であり、代表点Ｑ０，Ｑ１，Ｑ２，…は、それぞれ標本点Ｐ０，Ｐ１，Ｐ２，…から、法線ｎ０，ｎ１，ｎ２，…に沿って、距離ｈだけ離れた位置の点として定義される。こうして複数の離散的な点として求められた代表点Ｑ０〜Ｑ８の集合により、第２の基準線Ｌ２が構成されることになる。隣接する代表点Ｑの間の部分については、必要に応じて、線形補間やスプライン補間などの補間処理を行うようにすればよい。
【０１２１】
＜＜＜  §７．パイプの三次元形状データの作成  ＞＞＞
ここでは、図１のステップＳ６もしくは図８のパイプ形状データ作成手段６０において行われるパイプの三次元形状データの具体的な作成方法の一例を述べる。図６に示す第２の基準線Ｌ２が、太さをもたない幾何学的な線であるのに対して、図７に示すパイプの三次元形状データＤｐは、円柱状の三次元形態を示すデータになる。このような三次元形状データＤｐを作成するには、第２の基準線Ｌ２上に所定間隔で代表点Ｑを定義し、各代表点位置に、パイプ断面パラメータＰｃで示されるパイプの二次元断面図形を、当該代表点Ｑにおける第２の基準線Ｌ２の接線ベクトルＴに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データＤｐを作成すればよい。
【０１２２】
たとえば、図２０に示すように、第１の基準線Ｌ１上に、第ｉ番目の標本点Ｐ（ｉ）、第（ｉ＋１）番目の標本点Ｐ（ｉ＋１）、第（ｉ＋２）番目の標本点Ｐ（ｉ＋２）が定義され、これら各標本点位置に、それぞれ物体表面に対する法線ｎ（ｉ），ｎ（ｉ＋１），ｎ（ｉ＋２）が定義され、各法線上に、それぞれ代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）が求められている場合を考える。この場合、第２の基準線Ｌ２は、各代表点を滑らかに結ぶ線として定義される。なお、図２０において、ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）は、それぞれ代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）における第２の基準線Ｌ２の接線の向きを示す接線ベクトルである。
【０１２３】
一方、パイプの二次元断面図形Ｃとしては、図４に示すようなパイプ断面パラメータＰｃによって、半径ｒの円が定義されていたものとする。この場合、パイプの三次元形状データを作成するには、まず、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、パイプの二次元断面図形Ｃ、すなわち、半径ｒの円を配置する処理を行えばよい。具体的には、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に中心がくるように、半径ｒの円をそれぞれ配置すればよい。このとき、各円を、各代表点における第２の基準線Ｌ２の接線ベクトルに対して直交する向きに配置する。
【０１２４】
図２１は、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、それぞれ半径ｒの円からなるパイプの二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）を配置した状態を示す概念図である。各円Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）は、それぞれ各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）が中心となるように配置されており、かつ、各接線ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）に対して直交する向きに配置されている。
【０１２５】
なお、配置対象となる断面図形Ｃが円の場合には、配置の際の回転方向（円周方向）に関する位置は考慮する必要がないが、それ以外の図形の場合には、回転方向に関する位置も考慮する必要が生じる。たとえば、パイプの二次元断面図形Ｃが楕円の場合、長軸をどの方向に向けて配置するかを考慮する必要がある。このような回転方向に関する位置基準としては、個々の標本点についての法線を利用すればよい。
【０１２６】
たとえば、図２２に示す例の場合、代表点Ｑ（ｉ）の位置にパイプの二次元断面図形Ｃ（ｉ）を配置する際には、標本点Ｐ（ｉ）についての法線ｎ（ｉ）を回転方向に関する位置基準として利用すればよい。但し、代表点Ｑ（ｉ）の定義方法によっては、法線ｎ（ｉ）は必ずしも断面図形Ｃ（ｉ）上に含まれる線にはならない。たとえば、図２２では、標本点Ｐ（ｉ）についての法線ｎ（ｉ）に沿って、標本点Ｐ（ｉ）から所定距離ｈだけ離れた位置に代表点Ｑ（ｉ）が定義され、この代表点Ｑ（ｉ）の位置において接線ベクトルＴ（ｉ）が定義されている。そして、この例では、断面図形Ｃ（ｉ）は接線ベクトルＴ（ｉ）に直交する向きに配置されているので、法線ｎ（ｉ）は断面図形Ｃ（ｉ）上の線となる。しかしながら、パイプ配置パラメータを、位置を示す変数ｓを用いた関数ｈ（ｓ）として与えた場合、法線ｎ（ｉ）と接線Ｔ（ｉ）とは必ずしも直交せず、法線ｎ（ｉ）は断面図形Ｃ（ｉ）上の線ではなくなるので、回転方向に関する位置基準として利用できなくなる。この場合、代表点Ｑ（ｉ）の位置にパイプの二次元断面図形Ｃ（ｉ）を配置する際には、代表点Ｑ（ｉ）を含み、接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）を法線ｎ（ｉ）の方向へ投影することによってこの投影面上に得られる投影ベクトルＴＴ（ｉ）の位置を基準として、パイプの二次元断面図形Ｃ（ｉ）を配置するようにすればよい。別言すれば、代表点Ｑ（ｉ）を通り接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）、法線ｎ（ｉ）、投影ベクトルＴＴ（ｉ）の三者が同一平面上に含まれることになるように、当該投影面上に投影ベクトルＴＴ（ｉ）を定義するのである。そして、この投影ベクトルＴＴ（ｉ）の向きを、パイプの二次元断面図形Ｃ（ｉ）を配置する上での回転方向に関する位置基準（たとえば、楕円を配置する場合には、長軸の向きを定める基準）として用いるようにすればよい。図２２に示す例のように、ｎ（ｉ）がＴ（ｉ）に直交する場合は、ＴＴ（ｉ）＝ｎ（ｉ）ということになる。
【０１２７】
以上述べたとおり、代表点Ｑ（ｉ）の位置に、パイプの二次元断面図形Ｃ（ｉ）を配置する処理を行う際には、代表点Ｑ（ｉ）の位置における接線ベクトルＴ（ｉ）を求める必要がある。ここでは、この接線ベクトルＴ（ｉ）を求めるための具体的な手法を３通り示しておく。
【０１２８】
まず、第２の基準線作成手段５０によって、方程式により表現可能な第２の基準線Ｌ２が作成された場合は、この方程式の代表点Ｑ（ｉ）における微分値を利用して、接線ベクトルＴ（ｉ）を求めることができる。直線もしくは曲線グラフを示す方程式における特定の座標位置における微分値は、当該座標位置におけるグラフの傾きを示すものになり、当該座標位置における接線ベクトルの方向を示すものになる。よって、第２の基準線Ｌ２が式によって表現されている場合には、微分演算を行うことにより、任意の代表点Ｑ（ｉ）における接線ベクトルＴ（ｉ）を求めることができる。
【０１２９】
一方、第２の基準線Ｌ２が、離散的に定義された代表点Ｑの集合によって表現されている場合、第２の基準線Ｌ２を表現する直接的な情報は、個々の代表点Ｑの三次元空間上での位置座標のみである。たとえば、図２０では、説明の便宜上、第２の基準線Ｌ２を実線で描いてあるが、実際には、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置座標のみが与えられており、第２の基準線Ｌ２は、これら代表点を滑らかに結ぶ曲線として概念的に定義されている線に過ぎない（もちろん、線形補間やスプライン補間などの補間処理を行えば、各代表点を結ぶ線として、第２の基準線Ｌ２を実体化させることは可能である）。
【０１３０】
このように、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置座標のみが与えられている場合には、隣接する代表点へ向かう方向を、接線ベクトルの方向として取り扱うことにより、各代表点に接線ベクトルを定義することができる。すなわち、第ｉ番目の代表点Ｑ（ｉ）における第２の基準線の接線ベクトルＴ（ｉ）は、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）を利用して、点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとして定義すればよい。
【０１３１】
図２３は、このような手法により、各代表点Ｑ（ｉ），Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ），Ｔ（ｉ＋１）を定義した例を示す概念図である。代表点Ｑ（ｉ）についての接線ベクトルＴ（ｉ）は、代表点Ｑ（ｉ）とＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ＋１）は、代表点Ｑ（ｉ＋１）とＱ（ｉ＋２）とを結ぶ線分に沿ったベクトルとなっている。このような手法で定義された接線ベクトルは、各代表点における接線の正確な向きを示すものにはならないが、隣接する代表点間の間隔がある程度小さければ、実用上、十分な精度をもった接線ベクトルを定義することができる。
【０１３２】
より精度の高い接線ベクトルを定義するには、次のような手法が有効である。すなわち、個々の代表点Ｑ（ｉ）について、第２の基準線Ｌ２上の点であって、隣接する代表点よりも近くに存在する近接点ＱＱ（ｉ）を定義し、各代表点Ｑ（ｉ）における接線ベクトルＴ（ｉ）を、当該代表点Ｑ（ｉ）と当該代表点について定義された近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとして求めるのである。
【０１３３】
図２４は、このような手法により、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）についての接線ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）を定義した例を示す概念図である。代表点Ｑ（ｉ）についての接線ベクトルＴ（ｉ）は、代表点Ｑ（ｉ）と近接点ＱＱ（ｉ）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋１）についての接線ベクトルＴ（ｉ＋１）は、代表点Ｑ（ｉ＋１）と近接点ＱＱ（ｉ＋１）とを結ぶ線分に沿ったベクトルとなっており、代表点Ｑ（ｉ＋２）についての接線ベクトルＴ（ｉ＋２）は、代表点Ｑ（ｉ＋２）と近接点ＱＱ（ｉ＋２）とを結ぶ線分に沿ったベクトルとなっている。図では、図示の便宜上、各代表点とその近接点との距離を比較的大きくとっているが、実際には、この距離を非常に小さくとるのが好ましい。
【０１３４】
なお、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）の位置は、結局は、第１の基準線Ｌ１上の近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）に基づいて決定されることになるので、実務上は、次のような手順により、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）の位置を決定するようにすればよい。
【０１３５】
まず、図２４に示すように、第２の基準線Ｌ２を作成する段階において、第１の基準線Ｌ１上に所定間隔で、多数の標本点Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）を設定したら、第１の基準線Ｌ１上で各標本点から所定距離δだけ離れた位置に、近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）を併せて設定する。そして、各標本点Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）について、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）を求めるのと全く同様の手法により、各近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）について、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）を求めるようにする。すなわち、近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）の各位置において、物体表面に立てた法線を、それぞれｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）とすれば、各近接点ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）は、それぞれ各法線ｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）上の点であって、各近接点ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）から、パイプ配置パラメータｈに基づいて定まる所定の距離だけ離れた点として求まる。
【０１３６】
さて、図２１に示すように、各代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）の位置に、それぞれパイプの二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２）を配置したら、これら各断面図形の輪郭を滑らかに結ぶことにより得られる三次元構造体を示すデータが、パイプの三次元形状データＤｐということになる。ここでは、このパイプの三次元形状データＤｐを、ポリゴンデータとして得るための具体的な方法を説明する。
【０１３７】
まず、図２５の平面図に示されているとおり、パイプの二次元断面図形Ｃ（図示の例は円）の輪郭線上に複数の制御点を定義する。図示の例では、１２個の制御点Ｇ０〜Ｇ１１が、円周上に等間隔で定義されている。このような制御点が定義された断面図形を、各代表点位置に配置したら、同一断面図形上の隣接する制御点同士、もしくは、互いに隣接配置された断面図形上の制御点同士を相互に接続し、これら制御点を頂点とするポリゴンを形成し、このポリゴンの集合によって、パイプの三次元形状データＤｐを構成すればよい。
【０１３８】
図２６は、このようなポリゴンの形成方法を示す斜視図であり、第ｉ番目の代表点Ｑ（ｉ）に配置された断面図形Ｃ（ｉ）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）に配置された断面図形Ｃ（ｉ＋１）とが示されている。この例では、２つの断面図形Ｃ（ｉ），Ｃ（ｉ＋１）は、いずれも円であり、前述したとおり、投影ベクトルＴＴ（ｉ），ＴＴ（ｉ＋１）を回転方向に関する位置基準とする配置が行われている。したがって、断面図形Ｃ（ｉ）上の第０番目の制御点Ｇ０（ｉ）は、投影ベクトルＴＴ（ｉ）の示す方向に定義され、断面図形Ｃ（ｉ＋１）上の第０番目の制御点Ｇ０（ｉ＋１）は、投影ベクトルＴＴ（ｉ＋１）の示す方向に定義されている。なお、この図２６では、図が繁雑になるのを避けるため、断面図形Ｃ（ｉ）上には、この他に第ｊ番目の制御点Ｇ（ｉ，ｊ）と第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）のみを示し、断面図形Ｃ（ｉ＋１）上には、この他に第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）と第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）のみを示してある。
【０１３９】
ここで、図のように、４つの制御点Ｇ（ｉ，ｊ），Ｇ（ｉ，ｊ＋１），Ｇ（ｉ＋１，j＋１），Ｇ（ｉ＋１，ｊ）を結べば、これら４つの制御点を頂点とする四角形が形成できる。このように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された第ｊ番目の制御点Ｇ（ｉ，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ，ｊ＋１）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）および第（ｊ＋１）番目の制御点Ｇ（ｉ＋１，ｊ＋１）と、の合計４点を頂点とする四角形を定義すれば、これらの四角形の集合によって、パイプの三次元形状データＤｐを構成することができる（第０番目の制御点Ｇ０を、第１２番目の制御点Ｇ１２としても取り扱うようにすれば、断面図形の全周囲に四角形を定義することができる）。
【０１４０】
なお、複数の制御点を頂点として形成するポリゴンは、必ずしも四角形にする必要はない。たとえば、図２６に示す例において、制御点Ｇ（ｉ，ｊ）と制御点Ｇ（ｉ＋１，ｊ＋１）とを結ぶようにすれば、四角形の代わりに２組の三角形が形成されることになる。結局、一般論として拡張すれば、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について定義された１つもしくは複数の制御点と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）について定義された１つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データＤｐを作成することができることになる。
【０１４１】
以上、パイプの三次元形状データＤｐをポリゴンの集合体として構成する例を述べたが、もちろん、パイプの三次元形状データＤｐをＮＵＲＢＳなどのパラメトリック曲面の集合体として構成することも可能である。この場合は、各制御点を通るようなＮＵＲＢＳ曲面を定義する処理を行えばよい。このような処理を行うための技術は、既に種々の手法が知られている公知技術であるため、ここでは詳しい説明は省略する。
【０１４２】
＜＜＜  §８．二次元断面図形の配置補正  ＞＞＞
前掲の§７では、パイプの三次元形状データＤｐを作成する際に、たとえば、図２１に示すように、第２の基準線Ｌ２上に所定間隔で代表点Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２），…を定義し、各代表点位置に、パイプの二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１），Ｃ（ｉ＋２），…を、各代表点における第２の基準線Ｌ２の接線ベクトルＴ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２），…に対して直交する向きに配置する処理を行う例を説明した。このように、各二次元断面図形を、第２の基準線Ｌ２に直交する向きに配置する、という方法は、第２の基準線Ｌ２が直線もしくは直線に近い曲線の場合には、極めて有効な手法である。しかしながら、第２の基準線Ｌ２が、かなり屈曲した曲線であった場合、必ずしも最適な手法にはならない。
【０１４３】
たとえば、図２７は、逆Ｕ字状に屈曲した第２の基準線Ｌ２について、パイプの二次元断面図形Ｃ１〜Ｃ１３を配置した状態を示す側面図である。ここで、各二次元断面図形Ｃ１〜Ｃ１３が、いずれも円であったとすると、個々の円は、第２の基準線Ｌ２上に所定間隔で設定された代表点Ｑ１〜Ｑ１３の位置に、それぞれ中心点がくるように配置されていることになり、その向きは、各代表点位置において、第２の基準線Ｌ２に直交する向きとなっている。パイプの三次元形状データＤｐは、これら各円の円周を滑らかに接続することにより得られる構造体として定義される。具体的には、図２５に示すように、各円の円周上に複数の制御点Ｇ０〜Ｇ１１を定義し、これらの制御点を頂点とするポリゴンの集合や、これらの制御点を通るパラメトリック曲面の集合体として、パイプの三次元形状データＤｐが構成されることになる。
【０１４４】
したがって、より精度の高い三次元形状データＤｐを生成するためには、三次元空間上での制御点密度ができるだけ一様に分布しているようにするのが好ましい。制御点密度の分布にムラが生じてしまうと、密な部分については、精度の高い三次元形状データＤｐが得られる反面、粗な部分については、精度の低い三次元形状データＤｐしか得られなくなる。別言すれば、各代表点Ｑ１〜Ｑ１３の位置に、各円Ｃ１〜Ｃ１３を配置する場合、１つの円の円周上の各部と、隣接する別な円の円周上の各部と、の距離が、できるだけ一様になっていた方が好ましい。ところが、§７で述べた基本的な手法に基づいて各円Ｃ１〜Ｃ１３を配置した場合、各円の向きは、第２の基準線Ｌ２に直交する向きとなるため、第２の基準線Ｌ２が湾曲した部分では、湾曲の内側部分と外側部分とにおいて、制御点密度に差が生じてしまう。
【０１４５】
たとえば、図２７に示す例の場合、第２の基準線Ｌ２の直線部分に配置された円Ｃ１〜Ｃ３や、円Ｃ１１〜Ｃ１３に関しては、それぞれの円周に定義される制御点の密度は一様になる。ところが、第２の基準線Ｌ２の湾曲部分に配置された円Ｃ４〜Ｃ１０に関しては、それぞれの円周に定義される制御点の密度が不均一になる。すなわち、湾曲の内側部分では密、外側部分では粗になる。この現象は、第２の基準線Ｌ２の湾曲度がより高くなると、より顕著になる。たとえば、図２８に示す例の場合、第２の基準線Ｌ２の湾曲部分に配置された円Ｃ３〜Ｃ７に着目すると、湾曲の内側部分では、隣接する円の円周間距離（最近接部の距離）が極めて小さくなり、制御点密度が密になっているのに対して、湾曲の外側部分では、隣接する円の円周間距離（最遠隔部の距離）が大きくなり、制御点密度が粗になっている。
【０１４６】
また、第２の基準線Ｌ２の湾曲度が高い場合、制御点密度の粗密の問題だけでなく、隣接する円の外周部分が空間的に重なり合うという別な問題も生じることになる。たとえば、図２８に示す例において、各円の半径がもう少し大きく設定されていた場合を考えてみよう。この場合、円Ｃ４，Ｃ５，Ｃ６の外周部分は、湾曲の内側部分において重なり合い、相互に干渉してしまうことになる。このような現象が生じると、パイプの三次元形状データＤｐを作成する上で支障が生じることになる。
【０１４７】
このような問題を解決するには、各円の向きに関する配置を補正すればよい。たとえば、図２７に示されている各円Ｃ１〜Ｃ１３の配置を、図２９に示すように補正したり、図２８に示されている各円Ｃ１〜Ｃ９の配置を、図３０に示すように補正したりすれば、上述した問題は、完全には解決しないまでも、かなり緩和される。別言すれば、図２７や図２８に示す配置（各円を第２の基準線Ｌ２に直交させる配置）よりも、図２９や図３０に示す配置の方が、より好ましい配置ということになる。前者の配置と後者の配置を比較すると、各円の配置位置（代表点位置）は同じであるが、配置向き（第２の基準線Ｌ２に対する角度）が変わっていることになる。なお、実際には、第２の基準線Ｌ２の湾曲部分を補正対象区間に設定し、当該区間の両端に位置する円（図２９の円Ｃ１，Ｃ１３や、図３０の円Ｃ１，Ｃ９）については、配置位置も配置向きも補正せずに固定しておくようにすると、第２の基準線Ｌ２の直線部分に配置された円となめらかに接続されるようになるので好ましい。
【０１４８】
結局、図８に示すパイプ形状データ作成手段６０に、第２の基準線Ｌ２上に所定間隔で代表点Ｑ１，Ｑ２，Ｑ３，…を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形Ｃ１，Ｃ２，Ｃ３，…を、それぞれ所定の向き（§７で述べた例の場合は、第２の基準線Ｌ２に直交する向き）に初期配置する処理を行った後、この初期配置された各二次元断面図形Ｃ１，Ｃ２，Ｃ３，…に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成する機能をもたせておけば、上述した問題を十分緩和させることが可能になる。
【０１４９】
もちろん、パイプ形状データ作成手段６０は、コンピュータに専用プログラムを組み込むことによって実現される手段であるから、図２７に示す配置を図２９に示す配置に補正する処理や、図２８に示す配置を図３０に示す配置に補正する処理は、コンピュータによる演算処理として実行されることになる。このような配置補正処理の基本方針は、上述したように、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように配置の向きを補正する、ということになるが、本願発明者は、このような配置補正処理に適した次のようなアルゴリズムを案出した。
【０１５０】
このアルゴリズムは、いわば「仮想ばね」を用いた力学系の物理現象をシミュレートするアルゴリズムということができる。まず、その基本概念を説明する。いま、図３１に示すような力学系を考える。この力学系は、図２７に示す二次元断面図形Ｃ１〜Ｃ１３の配置に対応するものである。ここでは、各二次元断面図形Ｃ１〜Ｃ１３が、それぞれ剛性をもった物理的な円盤から構成されているものとする。また、この補正対象区間の両端の円盤Ｃ１，Ｃ１３は、その中心点の位置が各代表点に固定され、向きも固定されているものとし、中間に配置された各円盤Ｃ２〜Ｃ１２は、その中心点の位置が各代表点に固定されているが、向きに関する自由度を有しているものとする。そして、各円盤Ｃ１〜Ｃ１３の円周部の２カ所の制御点（第２の基準線Ｌ２の湾曲に関する内側部分と外側部分）に、図示のとおり、それぞれ仮想ばねが接続されているものとする。また、すべての仮想ばねは、物理的に同一のばね（ばね定数や長さが同一のばね）であるものとする。
【０１５１】
さて、ここで、各仮想ばねを取り付ける段階では、各円盤Ｃ１〜Ｃ１３を完全に固定しておき（「向きに関する自由度」も制限しておき）、すべての仮想ばねの取り付けが完了した状態で、中間に配置された各円盤Ｃ２〜Ｃ１２に「向きに関する自由度」を与えたとしよう。このとき、「位置に関する自由度」は与えず、各円盤の中心点は、第２の基準線Ｌ２上の各代表点に固定されているものとする。すると、標準よりも大きな距離をもった制御点間に接続された仮想ばねには縮む方向の力が作用し、標準よりも小さな距離をもった制御点間に接続された仮想ばねには広がる方向の力が作用し、これらの力の作用により、各円盤Ｃ２〜Ｃ１２に対して、向きに関する配置補正が行われることが理解できよう。図３２は、このような配置補正後の状態の一例を示す図であり、各円盤Ｃ１〜Ｃ１３の配置は、図２９に示す配置に対応するものとなっている。
【０１５２】
以上が、ここで述べる配置補正アルゴリズムの基本概念であるが、この配置補正の目的は、各二次元断面図形の向きを、より好ましい状態に変更することを目的とするものであるから、必ずしも物理的に正確なシミュレーションを行う必要はない。以下、実用上好ましいと思われる具体的なシミュレーションの手法を説明する。
【０１５３】
まず、仮想ばねの本数であるが、図３１，図３２に示す前掲の例に用いられている仮想ばねの本数では、実用上、不十分である。この前掲の例では、基本概念を説明するため、隣接する二次元断面図形Ｃ間に２本の仮想ばねのみを接続しているが、第２の基準線Ｌ２は、種々の方向に湾曲する可能性があるため、実用上はより多数の仮想ばねを用いるのが好ましい。ここでは、図２５に示すように、円からなる二次元断面図形Ｃの円周上に、１２個の制御点Ｇ０〜Ｇ１１を定義し、隣接する二次元断面図形上の対応する制御点間に、１２本ずつの仮想ばねを接続する例を述べることにする。
【０１５４】
既に§７において述べたように、第２の基準線Ｌ２上の各代表点に配置された二次元断面図形には、回転方向に関する位置基準を定めることができる。すなわち、代表点Ｑ（ｉ）を通り接線ベクトルＴ（ｉ）に直交する投影面を定義し、接線ベクトルＴ（ｉ）、法線ｎ（ｉ）、投影ベクトルＴＴ（ｉ）の三者が同一平面上に含まれることになるように、当該投影面上に投影ベクトルＴＴ（ｉ）を定義し、この投影ベクトルＴＴ（ｉ）の向きを、パイプの二次元断面図形Ｃ（ｉ）を配置する上での回転方向に関する位置基準と定めることができる（図２２に示す例のように、ｎ（ｉ）がＴ（ｉ）に直交する場合は、ＴＴ（ｉ）＝ｎ（ｉ）になる）。
【０１５５】
そこで、図２５に示すように、二次元断面図形Ｃ（ｉ）上に１２個の制御点Ｇ０〜Ｇ１１を定義する際に、投影ベクトルＴＴ（ｉ）の向きに制御点Ｇ０を定義し、以下、時計回りに制御点Ｇ１〜Ｇ１１を定義するようにすれば、隣接する二次元断面図形間で、それぞれ対応する制御点を定義することができる。たとえば、図３３に示すように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）と、の間に接続される仮想ばねを考えてみよう。
【０１５６】
まず、二次元断面図形Ｃ（ｉ）上の制御点Ｇ（ｉ，０）は、その隣にある二次元断面図形Ｃ（ｉ＋１）上の制御点Ｇ（ｉ＋１，０）に対応しているので、両者間には、図示のとおり、１本の仮想ばねＥα（ｉ，０）が接続されることになる。また、二次元断面図形Ｃ（ｉ）上の制御点Ｇ（ｉ，６）は、その隣にある二次元断面図形Ｃ（ｉ＋１）上の制御点Ｇ（ｉ＋１，６）に対応しているので、両者間には、図示のとおり、１本の仮想ばねＥα（ｉ，６）が接続されることになる。図３３では図示を省略してあるが、残りの制御点間にも同様に仮想ばねが接続されることになり、結局、二次元断面図形Ｃ（ｉ）と、その次に隣接する二次元断面図形Ｃ（ｉ＋１）との間には、合計１２本の仮想ばねが接続されることになる。もちろん、二次元断面図形Ｃ（ｉ）と、その１つ手前に隣接する二次元断面図形Ｃ（ｉ−１）との間にも、同様に、合計１２本の仮想ばねが接続される。ここで、すべての仮想ばねは、物理的に同一のばね（ばね定数や長さが同一のばね）である。
【０１５７】
もちろん、各二次元断面図形の輪郭線上に定義する制御点は、必ずしも１２個にする必要はない。一般論として述べれば、図３４に示すように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の輪郭線上に、複数Ｊ個の制御点を定義し、そのうちの第ｊ番目の制御点をＧ（ｉ，ｊ）とすると、この制御点Ｇ（ｉ，ｊ）には、図示のとおり、右方向に仮想ばねＥα（ｉ，ｊ）が接続され、左方向に仮想ばねＥβ（ｉ，ｊ）が接続されることになる。ここで、図示されている二次元断面図形Ｃ（ｉ）の右側に、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）が存在し、そこに二次元断面図形Ｃ（ｉ＋１）が配置されているものとすると（図３４には示されていない）、仮想ばねＥα（ｉ，ｊ）の右端は、この二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）に接続されることになる。同様に、図示されている二次元断面図形Ｃ（ｉ）の左側に、第（ｉ−１）番目の代表点Ｑ（ｉ−１）が存在し、そこに二次元断面図形Ｃ（ｉ−１）が配置されているものとすると（図３４には示されていない）、仮想ばねＥβ（ｉ，ｊ）の左端は、この二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）に接続されることになる。
【０１５８】
結局、二次元断面図形Ｃ（ｉ）の右側には、合計Ｊ個の仮想ばねが接続され、左側にも同じく合計Ｊ個の仮想ばねが接続されることになる。もっとも、図３４に示す第ｊ番目の仮想ばねＥα（ｉ，ｊ），Ｅβ（ｉ，ｊ）は、二次元断面図形Ｃ（ｉ）に着目した呼称であり、仮想ばねＥα（ｉ，ｊ）は、二次元断面図形Ｃ（ｉ＋１）に着目すると、仮想ばねＥβ（ｉ＋１，ｊ）ということになり、仮想ばねＥβ（ｉ，ｊ）は、二次元断面図形Ｃ（ｉ−１）に着目すると、仮想ばねＥα（ｉ−１，ｊ）ということになる。
【０１５９】
さて、このように各仮想ばねを定義したら、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートし、各二次元断面図形に対する配置補正（位置ではなく、向きに関する配置の補正）を行うことになるが、具体的には、たとえば、次のような手順により、配置補正を行えばよい。
【０１６０】
まず、図３４に示すように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、第ｊ番目の制御点Ｇ（ｉ，ｊ）が、仮想ばねＥα（ｉ，ｊ）から受ける力Ｆα（ｉ，ｊ）と、仮想ばねＥβ（ｉ，ｊ）から受ける力Ｆβ（ｉ，ｊ）と、の差ΔＦ（ｉ，ｊ）を求める演算を、全Ｊ個の制御点についてそれぞれ行う。すなわち、ΔＦ（ｉ，ｊ）＝Ｆα（ｉ，ｊ）−Ｆβ（ｉ，ｊ）なる演算が行われることになる。ここで、Ｆα（ｉ，ｊ），Ｆβ（ｉ，ｊ）としては、それぞれ力の大きさを示す絶対値を用いればよい。ΔＦ（ｉ，ｊ）の符号は、Ｆα（ｉ，ｊ）＞Ｆβ（ｉ，ｊ）の場合は正となり、Ｆα（ｉ，ｊ）＜Ｆβ（ｉ，ｊ）の場合は負となる。
【０１６１】
力Ｆα（ｉ，ｊ），Ｆβ（ｉ，ｊ）の値は、仮想ばねＥα（ｉ，ｊ），Ｅβ（ｉ，ｊ）の長さに応じて一義的に決定できる。ここに示す実施形態では、各仮想ばねを、所定のばね定数をもち、何ら力が加えられていない自然の状態において、長さが０になるようなばねとして定義している。もちろん、自然長が０になるようなばねは、現実の世界には存在しないが、ここではそのような仮想ばねを定義することにより、演算の便宜を図っている。したがって、このシミュレーションでは、各仮想ばねには、常に縮もうとする力が加わっており、１本の仮想ばねの両端に接続されている制御点間には、常に引力が作用した状態となっている。当然、２つの制御点間距離が大きいほど、２点間には大きな引力が作用することになり、前述した基本概念に沿った配置補正が行われることになる。
【０１６２】
たとえば、図３４に示す制御点Ｇ（ｉ，ｊ）には、仮想ばねＥα（ｉ，ｊ）によって、右方向への引力Ｆα（ｉ，ｊ）が作用し、同時に、仮想ばねＥβ（ｉ，ｊ）によって、左方向への引力Ｆβ（ｉ，ｊ）が作用する。そして、制御点Ｇ（ｉ，ｊ）に対して、最終的に作用する力は、両者の差ΔＦ（ｉ，ｊ）によって示される。ΔＦ（ｉ，ｊ）が正の場合、制御点Ｇ（ｉ，ｊ）に対しては、右方向への引力が作用し、ΔＦ（ｉ，ｊ）が負の場合、制御点Ｇ（ｉ，ｊ）に対しては、左方向への引力が作用することになる。また、作用する引力の大きさは、ΔＦ（ｉ，ｊ）の絶対値ということになる。
【０１６３】
図３５は、このような仮想ばねモデルの中の第ｉ番目の二次元断面図形Ｃ（ｉ）上の制御点に対して加わる力を示す平面図である。たとえば、第０番目の制御点Ｇ（ｉ，０）に加わる力は、ΔＦ（ｉ，０）であり、第７番目の制御点Ｇ（ｉ，７）に加わる力は、ΔＦ（ｉ，７）である。各力の方向は、その符号によって、紙面垂直上方か、紙面垂直下方か、のいずれかになる。このように、二次元断面図形Ｃ（ｉ）の輪郭線上には、複数Ｊ個の制御点（前掲の例の場合は、Ｊ＝１２）が定義されているため、最終的に、この二次元断面図形Ｃ（ｉ）の向きをどのように補正すべきかは、すべての制御点に加わる力の合力に応じて決定すべき事項ということになる。
【０１６４】
本願発明者は、次のような簡単な方法により、二次元断面図形Ｃ（ｉ）の向きを、合理的に補正することができることに想到した。まず、この二次元断面図形Ｃ（ｉ）を含む平面上に、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，ｊ）へ向かう方向を向き、大きさがΔＦ（ｉ，ｊ）に相当する変位ベクトルＶ（ｉ，ｊ）を定義する。すなわち、ｊ＝０，１，２，…のそれぞれについて、変位ベクトルＶ（ｉ，ｊ）を定義し、合計Ｊ個の変位ベクトルを定義する。このとき、ΔＦ（ｉ，ｊ）が負の場合には、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，ｊ）へ向かう方向ではなく、それと逆方向を向くベクトルとして、変位ベクトルＶ（ｉ，ｊ）を定義することにする。
【０１６５】
たとえば、図３５において、第０番目の制御点Ｇ（ｉ，０）に加わる力ΔＦ（ｉ，０）
が正であったとすると、図３６に示すように、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，０）へ向かう方向を向き、大きさがΔＦ（ｉ，０）に相当する変位ベクトルＶ（ｉ，０）を定義する。同様に、図３５において、第７番目の制御点Ｇ（ｉ，７）に加わる力ΔＦ（ｉ，７）が負であったとすると、図３６に示すように、まず、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，７）へ向かう方向を向き、大きさがΔＦ（ｉ，７）の絶対値に相当する変位ベクトルＶ（ｉ，７）′を定義し（図では、破線で示す）、続いて、これを反転させた変位ベクトルＶ（ｉ，７）を定義する。変位ベクトルＶ（ｉ，７）′とＶ（ｉ，７）とは、大きさが等しく、向きが反対のベクトルである。
【０１６６】
結局、変位ベクトルＶ（ｉ，７）は、第７番目の制御点Ｇ（ｉ，７）に加わる力ΔＦ（ｉ，７）に応じた大きさをもったベクトルであるが、第１番目の制御点Ｇ（ｉ，１）を向いたベクトルとなっている。このように、力ΔＦ（ｉ，ｊ）が負の場合には、代表点Ｑ（ｉ）から制御点Ｇ（ｉ，ｊ）へ向かう方向ではなく、それと逆方向を向くベクトルとして、変位ベクトルＶ（ｉ，ｊ）を定義するのは、二次元断面図形Ｃ（ｉ）について、代表点Ｑ（ｉ）の位置を固定し、向きだけの自由度をもたせた環境下では、制御点Ｇ（ｉ，ｊ）に対して負方向の力を加えることは、それと反対位置にある制御点に対して正方向の力を加えることと等価になるからである。図３６の例の場合、第７番目の制御点Ｇ（ｉ，７）に、たとえば、紙面垂直下方への力を加えることは、第１番目の制御点Ｇ（ｉ，１）に、紙面垂直上方への力を加えることと等価である。
【０１６７】
図３７は、二次元断面図形Ｃ（ｉ）上の１２個の制御点に加わる力を変位ベクトルとして、この断面図形上に表示した状態を示す平面図である。円周上の１２個の点は、個々の制御点を示し、そこに記述された数字は、当該制御点に加えられる力ΔＦ（ｉ，ｊ）の値を符号付きで示したものである。力ΔＦ（ｉ，ｊ）が負の場合には、変位ベクトルを破線で表示してある。すなわち、各変位ベクトルは、その矢印の先に記述されている数字の絶対値に応じた長さを有しており、当該数字が負の場合には、矢印は破線で示されている。実際には、この破線で示された変位ベクトルは、その向きが反転されることになる。
【０１６８】
こうして、合計Ｊ個（図３７の例の場合、Ｊ＝１２）の変位ベクトルが得られたら、これらの変位ベクトルの和として総合変位ベクトルΣＶ（ｉ）を求める。図３７に示す例の場合は、図３８に示すように、第４番目の制御点Ｇ（ｉ，４）と第５番目の制御点Ｇ（ｉ，５）との間に位置する作用点Ｍ（ｉ）を向いた総合変位ベクトルΣＶ（ｉ）が得られる（ベクトルΣＶ（ｉ）の長さは、図示の便宜上、規格化してある）。
【０１６９】
ここで、図３７に示す１２個の制御点に、それぞれ数字で示されている大きさの力を、各数字の符号で決まる方向（紙面垂直上方か下方）に作用させることと、図３８に示す作用点Ｍ（ｉ）に、ベクトルΣＶ（ｉ）の長さに応じた大きさの力を、一定方向（符号の定義の仕方によって決まる紙面垂直上方か下方かのいずれか一方）に作用させることとは、この仮想ばねモデルのシミュレーション上では等価になる。したがって、図３８に示すような結果が得られた場合には、作用点Ｍ（ｉ）を、ベクトルΣＶ（ｉ）の長さに応じた変位量だけ、所定方向に移動させるように、二次元断面図形Ｃ（ｉ）の向きを補正すればよい。
【０１７０】
もっとも、二次元断面図形Ｃ（ｉ）の中心点は、代表点Ｑ（ｉ）の位置に固定されているので、図３８に示す作用点Ｍ（ｉ）を紙面垂直方向に移動させることは、代表点Ｑ（ｉ）を通り、二次元断面図形Ｃ（ｉ）上に含まれ、かつ、総合変位ベクトルΣＶ（ｉ）に直交する直線を回転軸Ωとして、二次元断面図形Ｃ（ｉ）を、総合変位ベクトルΣＶ（ｉ）の大きさに応じた変位角ξ（ｉ）だけ回転させることと等価になる。
【０１７１】
図３９は、このようにして、二次元断面図形Ｃ（ｉ）を回転軸Ωまわりに、変位角ξ（ｉ）だけ回転させることにより、配置補正された二次元断面図形Ｃ（ｉ）′を得る概念を示す斜視図であり、回転後の位置が破線で示されている。この回転により、作用点Ｍ（ｉ）は、Ｍ（ｉ）′の位置まで移動し、総合変位ベクトルΣＶ（ｉ）は、ΣＶ（ｉ）′の位置まで移動する。
【０１７２】
図４０は、隣接する第ｉ番目の二次元断面図形Ｃ（ｉ）と、第（ｉ＋１）番目の二次元断面図形Ｃ（ｉ＋１）とについて実行された配置補正の一例を示す斜視図である。いずれも実線は配置補正前の位置、破線は配置補正後の位置を示している。二次元断面図形Ｃ（ｉ）については、作用点Ｍ（ｉ）がＭ（ｉ）′の位置に、総合変位ベクトルΣＶ（ｉ）がΣＶ（ｉ）′の位置に、それぞれ移動し、紙面上で時計まわりの回転補正が行われ、補正後の位置Ｃ（ｉ）′が得られている。一方、二次元断面図形Ｃ（ｉ＋１）については、作用点Ｍ（ｉ＋１）がＭ（ｉ＋１）′の位置に、総合変位ベクトルΣＶ（ｉ＋１）がΣＶ（ｉ＋１）′の位置に、それぞれ移動し、紙面上で反時計まわりの回転補正が行われ、補正後の位置Ｃ（ｉ＋１）′が得られている。ここで、作用点Ｍ（ｉ＋１）の反対位置に、図示のような作用点μ（ｉ＋１）を定義すると、この作用点μ（ｉ＋１）は、μ（ｉ＋１）′の位置まで移動している。結局、作用点Ｍ（ｉ）と作用点μ（ｉ＋１）との間の距離は、補正によって接近したことになる。
【０１７３】
以上、具体的な配置補正のアルゴリズムを説明したが、実用上は、変位角ξ（ｉ）を総合変位ベクトルΣＶ（ｉ）の大きさに応じて、適当な大きさに設定するように調整しないと、効果的な配置補正を行うことはできない。最も単純な設定は、変位角ξ（ｉ）を総合変位ベクトルΣＶ（ｉ）の大きさに対して比例する量とする設定であるが、この場合でも、比例定数を適当な値に定めてやる必要がある。具体的には、変位角ξ（ｉ）の最大値が９０°を超えないような設定を行えばよい。
【０１７４】
また、実際には、上述した補正処理を１回行うだけで、理想的な配置補正が行われることは期待できないので、個々の二次元断面図形Ｃ（ｉ）について、それぞれ配置補正された二次元断面図形Ｃ（ｉ）′を求める補正処理を行ったら、求められた個々の二次元断面図形Ｃ（ｉ）′を新たな二次元断面図形Ｃ（ｉ）として、補正処理を繰り返し実行するようにするのが好ましい。たとえば、図４０に示す例の場合、図に実線で示されている各二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１）に対して、上述の仮想ばねモデルによる補正処理を行うことにより、図に破線で示されている二次元断面図形Ｃ（ｉ）′，Ｃ（ｉ＋１）′が得られることになるので、今度は、この二次元断面図形Ｃ（ｉ）′，Ｃ（ｉ＋１）′を、新たな二次元断面図形Ｃ（ｉ），Ｃ（ｉ＋１）として、上述の仮想ばねモデルによる補正処理を再度実行する、という手順を繰り返してゆけばよい。変位角ξ（ｉ）の値の設定がうまく行われていれば、この仮想ばねモデルによる力学系は徐々に収束してゆくことになる。もちろん、この補正処理は、系が完全に収束するまで実行する必要はなく、たとえば、予め定めておいた所定の繰り返し回数だけ実行した段階で終了してかまわない。
【０１７５】
＜＜＜  §９．パイプ表面への皺の形成  ＞＞＞
表面にパイプを有する物品は、ソファなどの家具、自動車の内装、衣服、バッグ、靴、鞄など、多岐にわたるが、パイプ部分の材質としては、布、皮、合成皮革など、柔軟な素材が用いられることが多い。このような柔軟な素材からなるパイプは、自由に湾曲することができ、物品の表面における取り回しが容易であり、その特性上、表面に皺が形成されることも少なくない。ここでは、パイプの三次元形状データＤｐを作成する際に、表面に皺を形成する手法を述べることにする。
【０１７６】
図４１は、円筒状のパイプの三次元形態Ｄｐの一部分に皺発生区間Ｗｒを設定し、この皺発生区間Ｗｒにおいて、表面に皺を形成した一例を示す斜視図である。このような皺は、二次元断面図形に対して、周期的なサイズの変動を加えることにより形成することができる。図４２は、皺発生区間Ｗｒを作成する基本原理を示す平面図である。この図４２に示されているパイプの三次元形態Ｄｐの両端部分は、断面（紙面に垂直な面）が半径ｒ０の円から構成されているが、パイプの中央に設けられた皺発生区間Ｗｒの断面は、いずれも円ではあるものの、半径は周期的に変動している。すなわち、皺発生区間Ｗｒの断面の半径は、最大値ｒmax〜最小値ｒminの間の値となっている。この例の場合、ｒmax＞ｒ０＞ｒminである。
【０１７７】
既に述べたとおり、図８に示すパイプ形状データ作成手段６０は、第２の基準線Ｌ２上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形（たとえば、半径ｒ０の円）を、それぞれ所定の向きに配置する処理を行うことにより、パイプの三次元形状データＤｐを作成することができる。こうして作成されたパイプ表面に皺を形成するには、図４２に示す例のように、第２の基準線Ｌ２に沿った一部の領域（もしくは、全領域でもかまわない）に、皺発生区間Ｗｒを設定し、この皺発生区間内に配置されていた各二次元断面図形（たとえば、半径ｒ０の円）に対して、第２の基準線に沿った方向（図の場合は横方向）に関して周期的なサイズの変動を加えればよい。
【０１７８】
サイズ変動を加える具体的な方法としては、たとえば、皺発生区間Ｗｒに所属する第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）について、図２６に示すように、その輪郭線上に複数個の制御点を定義し、各制御点を移動させる処理を行えばよい。このとき、たとえば、第ｊ番目の制御点Ｇ（ｉ，ｊ）の移動方向は、代表点Ｑ（ｉ）と制御点Ｇ（ｉ，ｊ）とを結ぶ直線に沿った方向（断面図形Ｃ（ｉ）が、円の場合は半径方向）となるようにし、移動前の代表点Ｑ（ｉ）と制御点Ｇ（ｉ，ｊ）との距離がｒ（ｉ，ｊ）であったとすると、この距離が新たな距離Ｒ（ｉ，ｊ）となるように移動させればよい。
【０１７９】
たとえば、図２５に示す例のように、二次元断面図形Ｃが半径ｒの円からなり、その輪郭線上に１２個の制御点Ｇ０〜Ｇ１１が定義されている場合、各制御点Ｇ０〜Ｇ１１を、それぞれ半径方向に移動させればよい。実際には、所定の変動関数Ψを定義し、Ｒ（ｉ，ｊ）＝ｒ（ｉ，ｊ）＋（ｒ（ｉ，ｊ）×Ψ）なる演算により、新たな距離Ｒ（ｉ，ｊ）を求めるとよい。変動関数Ψは、変動量（制御点の移動距離）を決定するためのパラメータとなり、正および負の値をとることができる。上記式における右辺の（ｒ（ｉ，ｊ）×Ψ）なる項は、具体的な変動量を示しており、元の距離ｒ（ｉ，ｊ）に対して、この変動量（ｒ（ｉ，ｊ）×Ψ）を加算することにより、新たな距離Ｒ（ｉ，ｊ）が求まることになる。
【０１８０】
実際には、変動関数Ψとして、変数ｓについての周期関数Ψ（ｓ）を定義すればよい。ここで、変数ｓは、第２の基準線Ｌ２上に定義された所定の始点Ｑｓからの第２の基準線Ｌ２に沿った距離を示しており、たとえば、図４２に示す例の場合、変数ｓは、始点Ｑｓからの右方向への隔たりを示す値になる。変動関数Ψを、変数ｓについての周期関数Ψ（ｓ）としておけば、図４２に示す第２の基準線Ｌ２に沿って、点を横方向に移動させてゆくと、変動関数Ψ（ｓ）の値は周期的に増減することになる。第２の基準線Ｌ２上には、離散的に多数の代表点Ｑが定義されているが、第ｉ番目の代表点Ｑ（ｉ）について、始点Ｑｓからの距離ｓを求めれば、変動関数Ψ（ｓ）の値が定まるので、この第ｉ番目の代表点Ｑ（ｉ）位置に配置されている二次元断面図形Ｃ（ｉ）についての第ｊ番目の制御点Ｇ（ｉ，ｊ）の移動量が（ｒ（ｉ，ｊ）×Ψ（ｓ））として求まり、移動後の制御点Ｇ（ｉ，ｊ）と代表点Ｑ（ｉ）との新たな距離Ｒ（ｉ，ｊ）は、上述したように、Ｒ（ｉ，ｊ）＝ｒ（ｉ，ｊ）＋（ｒ（ｉ，ｊ）×Ψ（ｓ））となる。
【０１８１】
変動関数Ψは、変数ｓについての周期関数であれば、どのような関数を定義してもかまわないが、実用上は、たとえば、図４３に示すような三角関数を含む周期関数として定義するのが好ましい。図４３(1) は、所定の定数Ａおよび周期λを用いて、Ψ＝Ａ・ｓｉｎ（２πｓ／λ）なる変動関数を定義した例を示している。図４２に示されている皺発生区間Ｗｒは、この図４３(1) に示す周期関数Ψを用いて作成したものであり、形成される皺の形状は正弦波となっている。ここで、λは、皺の周期（第２の基準線Ｌ２に沿った方向に関する周期）を規定するパラメータとなり、定数Ａは、変動の振幅を示すパラメータであり、皺の彫りの深さ（半径の最大値ｒmaxと最小値ｒminとの差）を規定する値となる。図４３(2) に示すΨ＝Ａ・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）を用いた場合も、ほぼ同じような形状の皺を発生させることができる。図４３(1) の式は、図４３(2) の式における定数γ＝１に設定したものに相当する。γの値を変えると、形成される皺の形状が正弦波形状から変化することになる。
【０１８２】
これに対して、図４３(3) および(4) に示す周期関数は、それぞれ図４３(1) および(2) に示す周期関数における振幅を、定数Ａではなく、変数Ａ（ｉ，ｊ）に置き換えたものである。すなわち、図４３(4) には、振幅Ａ（ｉ，ｊ）および皺の周期λを用いて、Ψ＝Ａ（ｉ，ｊ）・（ｓｉｎ（２πｓ／λ））γなる変動関数（但し、γは所定の定数）が定義されており、このような変動関数を用いると、制御点Ｇ（ｉ，ｊ）に関する移動量が変数（ｉ，ｊの関数）で示される振幅Ａ（ｉ，ｊ）に応じて定まることになる。一方、図４３(3) に示されている変動関数は、図４３(4) の式における定数γ＝１に設定したものに相当する。
【０１８３】
変動関数Ψの振幅を定数Ａに設定すると、皺発生区間Ｗｒの全域にわたって、同じ変動振幅が適用されることになり、皺の彫りの深さは、皺発生区間Ｗｒの全域にわたって一定となる。たとえば、図４２に示す例は、図４３(1) に示す周期関数Ψを用いて作成したものであり、変動関数Ψの振幅は定数Ａに設定されている。したがって、皺発生区間Ｗｒの全域にわたって、皺の彫りの深さは一定となっている。具体的には、図４２に示す皺発生区間Ｗｒ内には、山の箇所（半径が膨らんだ箇所）が５カ所存在するが、いずれの山も、半径が最大値ｒmaxと同一となっている。また、谷の箇所（半径が窪んだ箇所）が５カ所存在するが、いずれの谷も、半径が最小値ｒminと同一となっている。
【０１８４】
これに対して、振幅を変数Ａ（ｉ，ｊ）に置き換えた図４３(3) および(4) に示す変動関数Ψを用いると、図４２に示す皺発生区間Ｗｒ内の５カ所の山の高さや、５カ所の谷の深さを、互いに変えることが可能になる。これは変数Ａ（ｉ，ｊ）の値が、二次元断面図形の番号を示すパラメータｉに依存して変化するためである。たとえば、図４２に示す皺発生区間Ｗｒ内に、第１０１番目〜第２００番目までの二次元断面図形Ｃ（１０１）〜Ｃ（２００）が、図の左から右に向かって配置されていたものとしよう。そして、変数Ａ（ｉ，ｊ）として、パラメータｉの値が１０１〜２００に増加するにしたがって、その値が増加するような関数を定義しておいたとしよう。この場合、図４２に示す皺発生区間Ｗｒ内の５カ所の山は、左から右へゆくにしたがって徐々に高くなってゆき、５カ所の谷は、左から右へゆくにしたがって徐々に深くなってゆくことになる。このように、変動関数Ψの振幅として、二次元断面図形の番号を示すパラメータｉに依存した変数Ａ（ｉ，ｊ）を用いるようにすると、皺発生区間Ｗｒ内の各部で、皺の彫りの深さを変えることができるようになる。
【０１８５】
一方、変数Ａ（ｉ，ｊ）には、制御点の番号を示すパラメータｊが含まれているので、このパラメータｊを利用すると、同一の二次元断面図形上の各部分ごとに、変動量を変えることが可能になる。たとえば、図２５に示す例のように、円形の二次元断面図形Ｃ上に、第０番目の制御点Ｇ０〜第１１番目の制御点Ｇ１１に至るまで、合計１２個の制御点を定義した場合を考える。ここで、パラメータｊは、この制御点の番号を示しており、第ｊ番目の制御点が、制御点Ｇｊであるものとする。ここで、たとえば、ｊ＝０〜３については、変数Ａ（ｉ，ｊ）の値を１に設定し、ｊ＝４〜８については、変数Ａ（ｉ，ｊ）の値を０に設定し、ｊ＝９〜１１については、変数Ａ（ｉ，ｊ）の値を１に設定したものとしよう。別言すれば、図２５に示す１２個の制御点のうち、ほぼ上半分に所属する制御点に関しては変数Ａ（ｉ，ｊ）の値が１に設定され、ほぼ下半分に所属する制御点に関しては変数Ａ（ｉ，ｊ）の値が０に設定されたことになり、上半分の制御点は周期的変動を生じるが、下半分の制御点は周期的変動を全く生じないことになる。
【０１８６】
このような設定を行うと、結局、皺発生区間Ｗｒにおいて、パイプの上面には皺が形成されるが、下面には皺が全く形成されないことになる。たとえば、図４２に示す例の場合、皺発生区間Ｗｒのパイプ上面の形状は、図示のような正弦波状になるが、下面は直線のままとなる。このように、変動関数Ψの振幅として、制御点の番号を示すパラメータｊに依存した変数Ａ（ｉ，ｊ）を用いるようにすると、パイプの周囲方向の各部分ごとに、皺の彫りの深さを変えることができるようになる。
【０１８７】
このように、変数Ａ（ｉ，ｊ）なる形の振幅をもった変動関数Ψは、実用上、極めて有効である。たとえば、図４４に示すパイプの三次元形態Ｄｐを見てみよう。このパイプは、逆Ｕ字状に屈曲しており、屈曲部分に皺発生区間Ｗｒが形成されている。しかしながら、この皺発生区間Ｗｒを、屈曲部分の内側部分Ｗｒ（in）と、屈曲部分の外側部分Ｗｒ（out）とに分けて見ると、内側部分Ｗｒ（in）については皺が発生しているが、外側部分Ｗｒ（out）については皺が全く発生していないことがわかる。このように、屈曲部分の内側には皺が発生するが、外側には皺が発生しない、という事象は、ごく自然な事象であり、布、皮、合成皮革などの柔軟な素材からなるパイプについては、日常において一般的に観察される事象である。また、同じ内側部分Ｗｒ（in）についての皺であっても、屈曲率の高い中央部分の皺の方が、周囲部分の皺に比べて、より彫りが深くなる、という事象も、ごく自然で、一般的に観察される事象である。
【０１８８】
変数Ａ（ｉ，ｊ）なる形の振幅をもった変動関数Ψを用いれば、このような事象に適した皺の発生が可能になる。ここで、変数Ａ（ｉ，ｊ）は、オペレータが、所望の皺が作成されるように、任意に設定することも可能であるが、実は、§８で述べた手法を利用すると、自動的に定義することが可能になる。以下、その原理を説明する。
【０１８９】
まず、図４４に示されている屈曲したパイプに対応する三次元形状データＤｐを、§８までに述べた手法で作成したものとしよう。この場合、表面にはまだ皺は形成されていない。ここで、図２７に示す二次元断面図形Ｃ１〜Ｃ１３の配置例（向きに関する配置補正を行う前の状態）あるいは図２９に示す二次元断面図形Ｃ１〜Ｃ１３の配置例（向きに関する配置補正を行った後の状態）を見ればわかるとおり、屈曲したパイプに対応する三次元形状データＤｐを作成するプロセスにおいて、第２の基準線Ｌ２に沿って二次元断面図形Ｃ１〜Ｃ１３を配置した場合、それぞれ隣接する二次元断面図形の対応する制御点間の距離は、屈曲部分の内側については小さく、屈曲部分の外側については大きくなる。一方、図４４に示す例からわかるとおり、自然の事象として、屈曲した実際のパイプの場合、屈曲部分の内側には皺が発生するが、外側には皺が発生しない。これは、隣接する二次元断面図形の制御点間距離が、皺の彫りの深さに関連した値になることを示している。
【０１９０】
すなわち、大まかな方針としては、第２の基準線Ｌ２に沿って各二次元断面図形を配置した後、それぞれ隣接する二次元断面図形の対応する制御点間距離を求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅（前掲の変動関数Ψを用いる場合は、振幅変数Ａ（ｉ，ｊ）の値）がより大きくなるように、個々の制御点の移動を行うようにすればよい。具体的には、次のような処理により、各制御点の位置変動を行い、皺の生成を行うようにすればよい。
【０１９１】
いま、図４５に示すように、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）と、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）と、が配置されているものとする。そして、図示のとおり、二次元断面図形Ｃ（ｉ）の第０番目の制御点Ｇ（ｉ，０）と二次元断面図形Ｃ（ｉ＋１）の第０番目の制御点Ｇ（ｉ＋１，０）との間の距離を、制御点間距離ｄα（ｉ，０）とし、二次元断面図形Ｃ（ｉ）の第０番目の制御点Ｇ（ｉ，０）と二次元断面図形Ｃ（ｉ−１）の第０番目の制御点Ｇ（ｉ−１，０）との間の距離を、制御点間距離ｄβ（ｉ，０）とする。また、制御点間距離ｄα（ｉ，０）と制御点間距離ｄβ（ｉ，０）との平均値を制御点間平均距離ｄαβ（ｉ，０）とする。同様に、二次元断面図形Ｃ（ｉ）の第６番目の制御点Ｇ（ｉ，６）と二次元断面図形Ｃ（ｉ＋１）の第６番目の制御点Ｇ（ｉ＋１，６）との間の距離を、制御点間距離ｄα（ｉ，６）とし、二次元断面図形Ｃ（ｉ）の第６番目の制御点Ｇ（ｉ，６）と二次元断面図形Ｃ（ｉ−１）の第６番目の制御点Ｇ（ｉ−１，６）との間の距離を、制御点間距離ｄβ（ｉ，６）とする。また、制御点間距離ｄα（ｉ，６）と制御点間距離ｄβ（ｉ，６）との平均値を制御点間平均距離ｄαβ（ｉ，６）とする。
【０１９２】
ここで、皺を形成するために、二次元断面図形Ｃ（ｉ）上の制御点Ｇ（ｉ，０），Ｇ（ｉ，６）を、それぞれ半径方向に移動させることにする。すなわち、現時点では、図示のとおり、制御点Ｇ（ｉ，０）は、代表点Ｑ（ｉ）から距離ｒ（ｉ，０）の位置にあるが、これを新たな距離Ｒ（ｉ，０）の位置まで移動することにする。ここで、新たな距離Ｒ（ｉ，０）は、前述したとおり、Ｒ（ｉ，０）＝ｒ（ｉ，０）＋（ｒ（ｉ，０）×Ψ）なる式で求められる。同様に、現時点では、制御点Ｇ（ｉ，６）は、代表点Ｑ（ｉ）から距離ｒ（ｉ，６）の位置にあるが、これを新たな距離Ｒ（ｉ，６）の位置まで移動することにする。ここで、新たな距離Ｒ（ｉ，６）は、Ｒ（ｉ，６）＝ｒ（ｉ，６）＋（ｒ（ｉ，６）×Ψ）なる式で求められる。なお、変動関数Ψとしては、たとえば、図４３(3) に示す周期関数のように、振幅変数Ａ（ｉ，ｊ）を含む関数を用いるようにする。
【０１９３】
さて、図４５に示す例の場合、制御点間平均距離ｄαβ（ｉ，６）は、制御点間平均距離ｄαβ（ｉ，０）よりも小さくなる。これは、制御点Ｇ（ｉ，６），Ｇ（ｉ−１，６），Ｇ（ｉ＋１，６）が、屈曲部の内側部分に位置する制御点であるのに対して、制御点Ｇ（ｉ，０），Ｇ（ｉ−１，０），Ｇ（ｉ＋１，０）が、屈曲部の外側部分に位置する制御点であるためである。したがって、この場合、小さな制御点間平均距離ｄαβ（ｉ，６）が得られた制御点Ｇ（ｉ，６）について施される周期的な位置変動の振幅Ａ（ｉ，６）を大きく設定し、屈曲部の内側部分には、彫りの深い皺が形成されるようにし、大きな制御点間平均距離ｄαβ（ｉ，０）が得られた制御点Ｇ（ｉ，０）について施される周期的な位置変動の振幅Ａ（ｉ，０）を小さく設定し、屈曲部の外側部分には、彫りの浅い皺が形成されるようにすれば好都合である。
【０１９４】
もちろん、制御点Ｇ（ｉ，０）やＧ（ｉ，６）が実際にどの程度の変動量をもって、どの方向に移動するかは、変数ｓの値も考慮しなければ決めることはできないが、少なくとも周期的な位置変動の振幅に関しては、制御点Ｇ（ｉ，６）についての変動振幅の方が、制御点Ｇ（ｉ，０）についての変動振幅よりも大きく設定されることになり、結果的に、屈曲部の内側部分には、彫りの深い皺が形成され、外側部分には、彫りの浅い皺が形成されることになる。
【０１９５】
以上、図４５では、説明の便宜上、屈曲部の外側に位置する制御点Ｇ（ｉ，０）と、屈曲部の内側に位置する制御点Ｇ（ｉ，６）とについての位置変動を説明したが、実際には、すべての制御点について、同様の処理が施されることになる。すなわち、一般論として述べれば、第ｉ番目の代表点Ｑ（ｉ）の位置に配置された二次元断面図形Ｃ（ｉ）の第ｊ番目の制御点Ｇ（ｉ，ｊ）について、第（ｉ＋１）番目の代表点Ｑ（ｉ＋１）の位置に配置された二次元断面図形Ｃ（ｉ＋１）の第ｊ番目の制御点Ｇ（ｉ＋１，ｊ）との間の距離ｄα（ｉ，ｊ）と、第（ｉ−１）番目の代表点Ｑ（ｉ−１）の位置に配置された二次元断面図形Ｃ（ｉ−１）の第ｊ番目の制御点Ｇ（ｉ−１，ｊ）との間の距離ｄβ（ｉ，ｊ）と、を求め、距離ｄα（ｉ，ｊ）と距離ｄβ（ｉ，ｊ）との平均値ｄαβ（ｉ，ｊ）が小さい場合ほど、制御点Ｇ（ｉ，ｊ）について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにすればよい。
【０１９６】
より具体的には、図４３(3) ，(4) に示す変動関数Ψにおける振幅変数Ａ（ｉ，ｊ）を、次のような方法により、制御点間平均距離ｄαβ（ｉ，ｊ）に関連づければ、振幅変数Ａ（ｉ，ｊ）を演算によって決定することができるようになる。
【０１９７】
第１の関連づけ方法は、図４６(1) に示すように、所定の比例定数Ｋを用いて、Ａ（ｉ，ｊ）＝Ｋ／ｄαβ（ｉ，ｊ）なる式によって、制御点Ｇ（ｉ，ｊ）に対して適用されるべき振幅Ａ（ｉ，ｊ）を定義する方法である。この場合、制御点間平均距離ｄαβ（ｉ，ｊ）が小さくなればなるほど、振幅変数Ａ（ｉ，ｊ）の値は大きくなり、彫りの深い皺が形成されるようになる。
【０１９８】
第２の関連づけ方法は、図４６(2) に示すように、予め制御点間平均距離ｄαβ（ｉ，ｊ）のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点Ｇ（ｉ，ｊ）を移動させる際には、制御点間距離演算処理によって求められた値ｄαβ（ｉ，ｊ）に応じた近接度についての振幅を適用して移動量の演算を行うようにする方法である。
【０１９９】
たとえば、図４６(2) に示す例では、値ｄαβ（ｉ，ｊ）について、３段階の近接度が定義されている。段階１は、ｄαβ（ｉ，ｊ）の値が最も小さい領域であり、「大」なる近接度が設定されている。演算によって求められたｄαβ（ｉ，ｊ）の値が、この段階１の領域内に属していた場合、振幅変数Ａ（ｉ，ｊ）は、最も大きな値ＫＬに設定されることになり、彫りの深い皺が形成されるようになる。段階２は、ｄαβ（ｉ，ｊ）の値が中くらいの領域であり、「中」なる近接度が設定されている。演算によって求められたｄαβ（ｉ，ｊ）の値が、この段階２の領域内に属していた場合、振幅変数Ａ（ｉ，ｊ）は、ＫＬよりも小さい値ＫＳに設定されることになり、彫りが中くらいの皺が形成されるようになる。段階３は、ｄαβ（ｉ，ｊ）の値が最も大きい領域であり、「小」なる近接度が設定されている。演算によって求められたｄαβ（ｉ，ｊ）の値が、この段階３の領域内に属していた場合、振幅変数Ａ（ｉ，ｊ）は、最も小さな値（この例では、０）に設定されることになり、彫りの浅い皺が形成されるようになる（この例では、振幅変数Ａ（ｉ，ｊ）＝０に設定されるので、皺は全く形成されないことになる）。
【０２００】
この例のように、「小」なる近接度が設定されている段階について、振幅＝０なる設定を行えば、皺が全く形成されないことになるので、たとえば、図４４に示すようなパイプの三次元形態に適用した場合、屈曲部の内側部分Ｗｒ（in）には彫りの深い皺が形成されるが、外側部分Ｗｒ（out）には皺が全く形成されないようにすることができる。もちろん、近接度の段階は、３段階に限定されるものではなく、任意の段階を設定することが可能である。
【図面の簡単な説明】
【０２０１】
【図１】本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。
【図２】図１のステップＳ１で入力された基本形状データＤｂによって表現される物体の一例を示す斜視図である。
【図３】図１のステップＳ２において、基本形状データＤｂで示される物体の上面の中心位置に、第１の基準線Ｌ１（破線で示す）を定義した例を示す斜視図である。
【図４】図１のステップＳ３において定義されたパイプ断面パラメータＰｃに対応するパイプの断面形状の一例を示す平面図である。
【図５】図１のステップＳ４において定義されたパイプ配置パラメータｈの一定義形態を示す平面図である。
【図６】図１のステップＳ５の段階で作成された第２の基準線Ｌ２の一例を示す斜視図である。
【図７】図１のステップＳ６の段階で作成されたパイプ形状データＤｐによって示されるパイプの三次元形態を示す斜視図である。
【図８】本発明に係る三次元形状データの作成装置の基本構成を示すブロック図である。
【図９】基本形状データＤｂで示される曲面を含む物体の一例を示す斜視図である。
【図１０】図９に示す物体の表面に、第１の基準線Ｌ１１，Ｌ１２を定義した状態を示す斜視図である。
【図１１】投影処理を利用した第１の基準線Ｌ１１の定義方法の原理を示す斜視図である。
【図１２】ｘｙ二次元直交座標系において、超二次関数を用いてパイプの二次元断面図形の定義を行った例を示す図である。
【図１３】図１２に示す式における定数εの値を変えた場合に、ｘｙ二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。
【図１４】ｒθ極座標系を用いてパイプ断面パラメータを定義した例を示す平面図である。
【図１５】図１０に示す第１の基準線Ｌ１１，Ｌ１２に基づいて、第２の基準線Ｌ２１，Ｌ２２を作成した状態を示す斜視図である。
【図１６】図１５に示す第２の基準線Ｌ２１を作成する具体的な方法を示す斜視図である。
【図１７】図１５に示す第２の基準線Ｌ２１，Ｌ２２に基づいて、パイプの三次元形状データＤｐ１，Ｄｐ２を作成した状態を示す斜視図である。
【図１８】２つの面が交差する線上に第１の基準線が定義された場合の第２の基準線の作成方法を示す正面図である。
【図１９】第１の基準線Ｌ１上に定義された有限個の標本点に基づいて、第２の基準線Ｌ２を作成する方法を示す正断面図である。
【図２０】第２の基準線Ｌ２に基づいて、パイプの三次元形状データＤｐを作成する方法を示す概念図である。
【図２１】第２の基準線Ｌ２に基づいて、パイプの三次元形状データＤｐを作成する方法を示す別な概念図である。
【図２２】第２の基準線Ｌ２に基づいて、パイプの三次元形状データＤｐを作成する方法を示す更に別な概念図である。
【図２３】各代表点における接線ベクトルを定義する手法の一例を示す概念図である。
【図２４】各代表点における接線ベクトルを定義する別な手法の一例を示す概念図である。
【図２５】パイプの二次元断面図形の輪郭線上に複数の制御点Ｇ０〜Ｇ１１を定義した状態を示す平面図である。
【図２６】パイプの三次元形状データＤｐを構成するポリゴンの形成方法を示す斜視図である。
【図２７】屈曲した第２の基準線Ｌ２についてのパイプの二次元断面図形の配置例を示す側面図である。
【図２８】屈曲した第２の基準線Ｌ２についてのパイプの二次元断面図形の別な配置例を示す側面図である。
【図２９】図２７に示す二次元断面図形の配置を補正した状態を示す側面図である。
【図３０】図２８に示す二次元断面図形の配置を補正した状態を示す側面図である。
【図３１】パイプの二次元断面図形の配置を補正するための仮想ばねモデルを示す側面図である。
【図３２】図３１に示す仮想ばねモデルにおける配置補正後の状態を示す側面図である。
【図３３】図３１に示す仮想ばねモデルの中から２組の二次元断面図形を抽出して示す斜視図である。
【図３４】図３１に示す仮想ばねモデルの中の１枚の二次元断面図形上の制御点に対して加わる力を示す斜視図である。
【図３５】図３１に示す仮想ばねモデルの中の１枚の二次元断面図形上の制御点に対して加わる力を示す平面図である。
【図３６】図３５に示す二次元断面図形上の制御点に対して加わる力をベクトルとして断面図形上に表示した状態を示す平面図である。
【図３７】二次元断面図形上の１２個の制御点に加わる力をベクトルとして断面図形上に表示した状態を示す平面図である。
【図３８】図３７に示されているベクトルの総和として求まる統合変位ベクトルを示す平面図である。
【図３９】統合変位ベクトルに応じて、二次元断面図形を回転させる概念を示す斜視図である。
【図４０】統合変位ベクトルに応じて、二次元断面図形を回転させる概念を示す別な斜視図である。
【図４１】皺発生区間を有するパイプの三次元形態を示す斜視図である。
【図４２】皺発生区間を作成する基本原理を示す平面図である。
【図４３】皺発生区間を作成するために用いる式を示す図である。
【図４４】屈曲部分に皺発生区間を有するパイプの三次元形態を示す斜視図である。
【図４５】皺発生区間を作成する具体的な方法を示す斜視図である。
【図４６】皺発生区間を作成するために用いる具体的な式示す図である。
【符号の説明】
【０２０２】
１０…基本形状データ入力手段
２０…第１の基準線定義手段
３０…パイプ断面パラメータ定義手段
４０…パイプ配置パラメータ定義手段
５０…第２の基準線作成手段
６０…パイプ形状データ作成手段
７０…合成形状データ作成手段
Ａ，Ａ（ｉ，ｊ）…変動関数Ψの振幅
Ｃ，Ｃ１〜Ｃ１３，Ｃ（ｉ），Ｃ（ｉ）′，Ｃ（ｉ＋１），Ｃ（ｉ＋２）…パイプの二次元断面図形
Ｄｂ…基本形状データおよび当該データで示される物体の三次元形態
Ｄｐ，Ｄｐ１，Ｄｐ２…パイプの三次元形状データおよび当該データで示されるパイプの三次元形態
Ｄｂｐ…合成形状データ
ｄα（ｉ，ｊ），ｄβ（ｉ，ｊ），ｄαβ（ｉ，ｊ）…制御点間距離
Ｅα（ｉ，ｊ），Ｅβ（ｉ，ｊ）…仮想ばね
Ｆα（ｉ，ｊ），Ｆβ（ｉ，ｊ），ΔＦ（ｉ，ｊ）…力
Ｇ０〜Ｇ１１，Ｇ（ｉ，ｊ），Ｇ（ｉ，ｊ＋１），Ｇ（ｉ＋１，ｊ），Ｇ（ｉ＋１，ｊ＋１），Ｇ（ｉ−１，ｊ）…制御点
ｈ…パイプ配置パラメータ
Ｋ…輪郭点／比例定数
Ｋ１１…参照線
ＫＬ，ＫＳ…振幅
Ｌ１，Ｌ１１，Ｌ１２…第１の基準線
Ｌ２，Ｌ２１，Ｌ２２…第２の基準線
Ｍ（ｉ），Ｍ（ｉ）′，Ｍ（ｉ＋１），Ｍ（ｉ＋１）′…作用点
ｎ，ｎ′，ｎ＊，ｎ０〜ｎ８，ｎ（ｉ），ｎ（ｉ＋１），ｎ（ｉ＋２），ｎｎ（ｉ），ｎｎ（ｉ＋１），ｎｎ（ｉ＋２）…法線
ｎ**…法線の中間線
Ｐ，Ｐ′，Ｐ０〜Ｐ８，Ｐ（ｉ），Ｐ（ｉ＋１），Ｐ（ｉ＋２）…第１の基準線上の標本点
ＰＰ（ｉ），ＰＰ（ｉ＋１），ＰＰ（ｉ＋２）…近接点
Ｐｃ…パイプ断面パラメータ
Ｑ，Ｑ′，Ｑ＊，Ｑ**，Ｑ０〜Ｑ８，Ｑ（ｉ），Ｑ（ｉ＋１），Ｑ（ｉ＋２）…第２の基準線を構成する代表点
Ｑｓ…始点
ＱＱ（ｉ），ＱＱ（ｉ＋１），ＱＱ（ｉ＋２）…近接点
ｒ，ｒ０，ｒmax，ｒmin …円の半径
ｒ（θ）…ｒθ極座標系における角度θに対応する長さ
ｒ（ｉ，ｊ），Ｒ（ｉ，ｊ）…代表点から制御点までの距離
Ｓ…グラフの基準線（物体の表面位置）
Ｓ１〜Ｓ７…流れ図の各ステップ
ｓ…始点Ｑｓからの距離
Ｔ（ｉ），Ｔ（ｉ＋１），Ｔ（ｉ＋２）…接線ベクトル
ＴＴ（ｉ），ＴＴ（ｉ＋１），ＴＴ（ｉ＋２）…投影ベクトル
Ｕ０〜Ｕ３…物体の面
Ｖ…投影方向ベクトル
Ｖ（ｉ，ｊ），Ｖ（ｉ，ｊ）′…変位ベクトル
Ｗｒ，Ｗｒ（in），Ｗｒ（out）…皺発生区間
ｘ，ｙ…二次元直交座標系の各座標軸
γ…定数
δ…近接点までの距離
ε…定数
θ…角度
λ…皺の周期
μ（ｉ＋１），μ（ｉ＋１）′…作用点
ξ（ｉ）…変位角
ΣＶ（ｉ），ΣＶ（ｉ）′，ΣＶ（ｉ＋１），ΣＶ（ｉ＋１）′…統合変位ベクトル
Ψ…変動関数
Ω…回転軸
【図１】
2006331177.tif 000003
【図２】
2006331177.tif 000004
【図３】
2006331177.tif 000005
【図４】
2006331177.tif 000006
【図５】
2006331177.tif 000007
【図６】
2006331177.tif 000008
【図７】
2006331177.tif 000009
【図８】
2006331177.tif 000010
【図９】
2006331177.tif 000011
【図１０】
2006331177.tif 000012
【図１１】
2006331177.tif 000013
【図１２】
2006331177.tif 000014
【図１３】
2006331177.tif 000015
【図１４】
2006331177.tif 000016
【図１５】
2006331177.tif 000017
【図１６】
2006331177.tif 000018
【図１７】
2006331177.tif 000019
【図１８】
2006331177.tif 000020
【図１９】
2006331177.tif 000021
【図２０】
2006331177.tif 000022
【図２１】
2006331177.tif 000023
【図２２】
2006331177.tif 000024
【図２３】
2006331177.tif 000025
【図２４】
2006331177.tif 000026
【図２５】
2006331177.tif 000027
【図２６】
2006331177.tif 000028
【図２７】
2006331177.tif 000029
【図２８】
2006331177.tif 000030
【図２９】
2006331177.tif 000031
【図３０】
2006331177.tif 000032
【図３１】
2006331177.tif 000033
【図３２】
2006331177.tif 000034
【図３３】
2006331177.tif 000035
【図３４】
2006331177.tif 000036
【図３５】
2006331177.tif 000037
【図３６】
2006331177.tif 000038
【図３７】
2006331177.tif 000039
【図３８】
2006331177.tif 000040
【図３９】
2006331177.tif 000041
【図４０】
2006331177.tif 000042
【図４１】
2006331177.tif 000043
【図４２】
2006331177.tif 000044
【図４３】
2006331177.tif 000045
【図４４】
2006331177.tif 000046
【図４５】
2006331177.tif 000047
【図４６】
2006331177.tif 000048