JP4760140B2 - 表面にパイプを有する物体の三次元形状データの作成装置および作成方法 - Google Patents

表面にパイプを有する物体の三次元形状データの作成装置および作成方法 Download PDF

Info

Publication number
JP4760140B2
JP4760140B2 JP2005155487A JP2005155487A JP4760140B2 JP 4760140 B2 JP4760140 B2 JP 4760140B2 JP 2005155487 A JP2005155487 A JP 2005155487A JP 2005155487 A JP2005155487 A JP 2005155487A JP 4760140 B2 JP4760140 B2 JP 4760140B2
Authority
JP
Japan
Prior art keywords
pipe
shape data
dimensional
reference line
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005155487A
Other languages
English (en)
Other versions
JP2006331177A (ja
Inventor
和夫 松藤
直樹 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2005155487A priority Critical patent/JP4760140B2/ja
Publication of JP2006331177A publication Critical patent/JP2006331177A/ja
Application granted granted Critical
Publication of JP4760140B2 publication Critical patent/JP4760140B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、表面にパイプを有する物体の三次元形状データを作成する技術に関し、特に、表面にパイプを有する商品の見本画像を、CG(コンピュータグラフィックス)の技術を利用して作成する手法に関する。
コンピュータの性能向上により、産業界の様々な分野でCG画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのCG画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なCG画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、CG画像が利用される例も少なくない。一般に、CADを用いた設計段階を経て製品化された商品の場合、設計に用いたCADデータを流用してCG画像を作成することができるため、商品カタログに掲載するCG画像も、比較的容易に用意することが可能になる。
ソファなどの家具、自動車の内装、衣服、バッグ、靴、鞄などには、物品のデザイン上、いわゆる「パイピング」と呼ばれている装飾が施されることが少なくない。この「パイピング」と呼ばれる装飾は、筒あるいは管状の細長い構造体を物品の表面に付加することにより構成される立体的な装飾であり、特に、物品の縁取りを形成するための装飾として利用されることが多い。本願では、このような物品の表面に付加される筒あるいは管状の細長い構造体を、「パイプ」と呼ぶことにする。
このように、表面にパイプを有する物品をCG画像で表現する場合、パイプを含めた物品の画像を作成するのが好ましい。特に、パイプが、物品の意匠を構成する重要な要素となっている場合には、パイプを含んだCG画像による表現が欠かせない。下記の特許文献1には、服飾品のできあがり状態をCG画像で確認することができるように、縫製ラインやステッチなどの立体感を、光学的に特別な陰影処理を施すことにより表現する技術が開示されているが、パイプを付加した状態の物品の立体感を表現するのに適した先行技術は、本願発明者が知るかぎり、現時点では見あたらない。
特開2000−235589号公報
家具や自動車の内装などのインテリア製品や、衣服、バッグ、靴、鞄などのアパレル製品では、物品の表面に付加されたパイプは、デザイン上の重要な構成要素としての意味をもち、消費者から見た場合に、商品価値を左右する重大な要因になる。このため、商品のカタログやプレゼンテーションに用いるCG画像では、パイプの形状をできるだけ正確に表現することが要求される。
しかしながら、従来、このようなパイプを含めた物体の高品質な三次元形状データを効率的に作成する手法は提案されていないため、高品質なCG画像を作成しようとすると、制作者に多大な負担を課する結果となっていた。
たとえば、前掲の特許文献1には、物体表面の法線方向を修正することにより、縫い目の部分に擬似的に陰影を付加する手法(いわゆるバンプマッピングの手法)が開示されている。この手法によれば、比較的簡便な処理によって縫い目を表現することができるが、あくまでも縫い目を擬似的に表現する手法であるため、この手法をパイプの表現に転用したとしても、表面にパイプを有する物体の高品質な三次元形状データを作成することはできない。具体的には、物品のクローズアップ表現には不適切であり、テクスチャを貼り込んだ場合に、テクスチャの歪みを表現することができず、また、単純な凹状もしくは凸状のライン表現にとどまり、実際のパイプに特有の複雑な形状表現を行うことができないという問題がある。
一方、建築物や自動車の内装、家具などの場合、設計段階で利用したCADデータを流用することにより、CG画像を効率的に作成することが可能である。しかしながら、通常、設計段階で利用したCADデータには、物品の基本形状を示す情報しか含まれておらず、パイプの情報は含まれていない。たとえば、自動車の座席シートは、CADを利用した設計が行われるため、CADデータを流用したCG画像を作成することが可能である。しかしながら、設計段階で作成される座席シートのCADデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、最終的に、このウレタン構造体を包み込む布製もしくは革製の表皮の情報を含むものではない。したがって、パイプを含むCG画像を作成するには、CADデータをそのまま流用することはできない。
そこで本発明は、パイプを含めた物体の高品質な三次元形状データを効率的に作成することを可能にする手法を提供することを目的とする。
(1) 本発明の第1の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成装置において、
パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
第1の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
第2の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を設け、
パイプ形状データ作成手段が、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における前記第2の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第1の基準線定義手段が、オペレータの指示に基づいて、基本形状データに含まれる直線もしくは曲線のデータ、または基本形状データに含まれる2つの面のデータを用いて演算された当該2つの面の交線のデータを利用して、第1の基準線を定義するようにしたものである。
(3) 本発明の第3の態様は、上述の第1の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第1の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、参照線を投影方向ベクトルの示す投影方向に投影したときに、基本形状データで示される物体の表面上に形成される投影像を第1の基準線として定義するようにしたものである。
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ断面パラメータ定義手段が、xy二次元直交座標系において、(x/a)2/ε+(y/b)2/ε=1(但し、εは所定の定数)なる式によって示される超二次曲線を用いてパイプ断面パラメータを定義するようにしたものである。
(5) 本発明の第5の態様は、上述の第1〜第3の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ断面パラメータ定義手段が、rθ極座標系において、角度θ(0≦θ<2π)と、この角度θに対応する距離r(θ)と、の組み合わせを示す断面形状テーブルを用いてパイプ断面パラメータを定義するようにしたものである。
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の定数hをパイプ配置パラメータとして定義する機能を有し、
第2の基準線作成手段が、第1の基準線上の点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離hだけ隔たった位置にある点Qを求め、点Qの集合によって第2の基準線を作成する機能を有するようにしたものである。
(7) 本発明の第7の態様は、上述の第1〜第5の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の関数h(s)をパイプ配置パラメータとして定義する機能を有し、
第2の基準線作成手段が、第1の基準線上にあり、第1の基準線上に定義された所定の始点からの第1の基準線に沿った距離がsの位置にある点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離h(s)だけ隔たった位置にある点Qを求め、点Qの集合によって第2の基準線を作成する機能を有するようにしたものである。
(8) 本発明の第8の態様は、上述の第6または第7の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
点Pが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のうちのいずれか1つの面についての法線を、点Pの位置に立てた物体表面についての法線とするようにしたものである。
(9) 本発明の第9の態様は、上述の第6または第7の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
点Pが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Pの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Pの位置に立てた物体表面についての法線とするようにしたものである。
(10) 本発明の第10の態様は、上述の第1〜第9の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第2の基準線作成手段が、方程式により表現可能な第2の基準線を作成する機能を有し、
パイプ形状データ作成手段が、所定の代表点における第2の基準線の接線ベクトルを、この方程式の当該代表点における微分値を利用して求める機能を有するようにしたものである。
(11) 本発明の第11の態様は、上述の第1〜第9の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第2の基準線作成手段が、第1の基準線上に所定間隔で標本点P(i)を定義し、パイプ配置パラメータに基づいて各標本点P(i)を変位させることにより、第2の基準線を構成する代表点Q(i)を求めるようにしたものである。
(12) 本発明の第12の態様は、上述の第11の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第i番目の代表点Q(i)における第2の基準線の接線ベクトルT(i)を、第(i+1)番目の代表点Q(i+1)を利用して、点Q(i)とQ(i+1)とを結ぶ線分に沿ったベクトルとして求める機能を有するようにしたものである。
(13) 本発明の第13の態様は、上述の第11の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、個々の代表点Q(i)について、第2の基準線上の点であって、隣接する代表点よりも近くに存在する近接点QQ(i)を定義し、各代表点Q(i)における第2の基準線の接線ベクトルT(i)を、当該代表点Q(i)と当該代表点について定義された近接点QQ(i)とを結ぶ線分に沿ったベクトルとして求める機能を有するようにしたものである。
(14) 本発明の第14の態様は、上述の第11〜第13の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第2の基準線作成手段が、標本点P(i)の位置に立てた物体表面についての法線n(i)を求め、この法線n(i)上にあり、標本点P(i)からパイプ配置パラメータに基づいて定まる所定距離だけ離れた位置にある点を代表点Q(i)とする処理を行い、
パイプ形状データ作成手段が、代表点Q(i)の位置にパイプの二次元断面図形C(i)を配置する際に、代表点Q(i)を含み、代表点Q(i)における第2の基準線の接線ベクトルT(i)に直交する投影面を定義し、接線ベクトルT(i)を法線n(i)の方向へ投影することによって投影面上に得られる投影ベクトルTT(i)の位置を基準として配置を行うようにしたものである。
(15) 本発明の第15の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成装置において、
パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
第1の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
第2の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を設け、
パイプ形状データ作成手段が、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
(16) 本発明の第16の態様は、上述の第15の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数J個の制御点を定義し、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された第j番目の制御点G(i+1,j)と、の間に接続された仮想ばねEα(i,j)を定義し、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)について定義された第j番目の制御点G(i−1,j)と、の間に接続された仮想ばねEβ(i,j)を定義し、
各二次元断面図形が、位置は各代表点に固定されているが、向きに関する自由度を有しており、かつ、各仮想ばねが物理的に同一のばねであると仮定したときに、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートすることにより、各二次元断面図形を配置補正するようにしたものである。
(17) 本発明の第17の態様は、上述の第16の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、
第j番目の制御点G(i,j)が、仮想ばねEα(i,j)から受ける力Fα(i,j)と、仮想ばねEβ(i,j)から受ける力Fβ(i,j)と、の差ΔF(i,j)を、全J個の制御点についてそれぞれ求め、
二次元断面図形C(i)を含む平面上に、代表点Q(i)から制御点G(i,j)へ向かう方向を向き、大きさがΔF(i,j)に相当する変位ベクトルV(i,j)を定義し(ΔF(i,j)が負の場合には、逆方向を向くベクトルとする)、合計J個の変位ベクトルの和として総合変位ベクトルΣV(i)を求め、
代表点Q(i)を通り、二次元断面図形C(i)上に含まれ、かつ、総合変位ベクトルΣV(i)に直交する直線を回転軸として、二次元断面図形C(i)を、総合変位ベクトルΣV(i)の大きさに応じた変位角ξ(i)だけ回転させることにより、配置補正された二次元断面図形C(i)′を求めるようにしたものである。
(18) 本発明の第18の態様は、上述の第17の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
個々の二次元断面図形C(i)について、それぞれ配置補正された二次元断面図形C(i)′を求める補正処理を行った後、求められた個々の二次元断面図形C(i)′を新たな二次元断面図形C(i)として、補正処理を繰り返し実行するようにしたものである。
(19) 本発明の第19の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成装置において、
パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
第1の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
第2の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
を設け、
パイプ形状データ作成手段が、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第2の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成するようにしたものである。
(20) 本発明の第20の態様は、上述の第19の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、
パイプの各二次元断面図形の輪郭線上にそれぞれ複数個の制御点を定義し、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、第j番目の制御点G(i,j)を、代表点Q(i)との距離r(i,j)が新たな距離R(i,j)となるように、代表点Q(i)と制御点G(i,j)とを結ぶ直線上で移動させて位置変動を生じさせることにより、サイズの変動を行うようにしたものである。
(21) 本発明の第21の態様は、上述の第20の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
個々の制御点について、それぞれ隣接する二次元断面図形の対応する制御点との間の距離を制御点間距離として求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにしたものである。
(22) 本発明の第22の態様は、上述の第21の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dβ(i,j)と、を求め、距離dα(i,j)と距離dβ(i,j)との平均値dαβ(i,j)が小さい場合ほど、制御点G(i,j)について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにしたものである。
(23) 本発明の第23の態様は、上述の第22の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
dαβ(i,j)のとるべき値に関して複数段階の近接度を定義し、個々の段階ごとに、周期的な位置変動の振幅を設定するようにしたものである。
(24) 本発明の第24の態様は、上述の第23の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
最も小さい近接度を示す段階については、周期的な位置変動の振幅を0に設定するようにしたものである。
(25) 本発明の第25の態様は、上述の第20の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
所定の変動関数Ψを定義し、R(i,j)=r(i,j)+(r(i,j)×Ψ)なる演算により、新たな距離R(i,j)を求めるようにしたものである。
(26) 本発明の第26の態様は、上述の第25の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
変動関数Ψとして、変数sについての関数Ψ(s)を定義し、
第i番目の代表点Q(i)について、第2の基準線上に定義された所定の始点Qsからの第2の基準線に沿った距離sを求め、関数Ψ(s)を用いて、新たな距離R(i,j)を求めるようにしたものである。
(27) 本発明の第27の態様は、上述の第26の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
所定の振幅定数Aおよび皺の周期λを用いて、Ψ=A・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)を定義するようにしたものである。
(28) 本発明の第28の態様は、上述の第26の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
振幅A(i,j)および皺の周期λを用いて、Ψ=A(i,j)・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)を定義し、制御点G(i,j)に関する移動量が振幅A(i,j)に応じて定まるようにし、個々の制御点ごとに異なる振幅をもった変動関数が適用されるようにしたものである。
(29) 本発明の第29の態様は、上述の第28の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dβ(i,j)と、を求め、距離dα(i,j)と距離dβ(i,j)との平均値dαβ(i,j)と、所定の比例定数Kとを用いて、A(i,j)=K/dαβ(i,j)なる式によって、制御点G(i,j)に対して適用されるべき振幅A(i,j)を定義するようにしたものである。
(30) 本発明の第30の態様は、上述の第28の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dα(i,j)と、を求め、距離dα(i,j)と距離dα(i,j)との平均値dαβ(i,j)を求める制御点間距離演算処理を実行し、
予めdαβ(i,j)のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点G(i,j)を移動させる際には、制御点間距離演算処理によって求められた値dαβ(i,j)に応じた近接度についての振幅を適用して移動量の演算を行うようにしたものである。
(31) 本発明の第31の態様は、上述の第30の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
最も小さい近接度を示す段階については、振幅=0に設定するようにしたものである。
(32) 本発明の第32の態様は、上述の第1〜第31の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、パイプの二次元断面図形の輪郭線上に複数の制御点を定義し、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された1つもしくは複数の制御点と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された1つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データを作成するようにしたものである。
(33) 本発明の第33の態様は、上述の第32の態様に係る表面にパイプを有する物体の三次元形状データの作成装置において、
パイプ形状データ作成手段が、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)および第(j+1)番目の制御点G(i,j+1)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された第j番目の制御点G(i+1,j)および第(j+1)番目の制御点G(i+1,j+1)と、の合計4点を頂点とする四角形の集合によって、パイプの三次元形状データを作成するようにしたものである。
(34) 本発明の第34の態様は、上述の第1〜第33の態様に係る表面にパイプを有する物体の三次元形状データの作成装置を、コンピュータに専用のプログラムを組み込むことにより構成したものである。
(35) 本発明の第35の態様は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する、表面にパイプを有する物体の三次元形状データの作成方法において、
パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
コンピュータが、オペレータの指示に基づいて、基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義し、これを記憶手段に格納する第1の基準線定義段階と、
コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
コンピュータが、第1の基準線とパイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成し、これを記憶手段に格納する第2の基準線作成段階と、
コンピュータが、第2の基準線とパイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
コンピュータが、基本形状データにパイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
を行い、
パイプ形状データ作成段階において、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における前記第2の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
(36) 本発明の第36の態様は、上述の第35の態様に係る表面にパイプを有する物体の三次元形状データの作成方法におけるパイプ形状データ作成段階で行う処理の代わりに、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成するようにしたものである。
(37) 本発明の第37の態様は、上述の第35の態様に係る表面にパイプを有する物体の三次元形状データの作成方法におけるパイプ形状データ作成段階で行う処理の代わりに、第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第2の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成するようにしたものである。
(38) 本発明の第38の態様は、上述の第35〜第37の態様に係る表面にパイプを有する物体の三次元形状データの作成方法において、
基本形状データ入力段階では、多数のポリゴンもしくはパラメトリック曲面によって物体表面を表現した三次元形状データが、基本形状データとして入力されるようにしたものである。
本発明では、パイプの情報を含まない物体表面上に第1の基準線を定義し、パイプ配置パラメータを用いて、この第1の基準線をパイプの三次元空間上での位置を示す第2の基準線に変換し、この第2の基準線に沿って、パイプの断面形状図形を配置し、パイプの三次元形状データを作成するようにしたため、パイプを含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.基本手順 >>>
本発明では、表面にパイプを有する物体について、パイプを含めた三次元形状データの作成が行われる。この§1では、この本発明の基本手順を、簡単なモデルを用いて説明する。
図1は、本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。本発明は、基本的にコンピュータを利用することを前提とした発明であり、図1の流れ図の各ステップに示された段階は、いずれもコンピュータが、そのハードウエア資源を用いて、専用に開発されたソフトウエアプログラムに基づいて実行する処理を示すものである。
図示のとおり、この基本手順は、大まかに分類して、入力プロセス(ステップS1)、定義プロセス(ステップS2〜S4)、作成プロセス(ステップS5〜S7)の3つのプロセスによって構成される。入力プロセスは、この基本手順の処理対象となる物体の三次元形状データを入力するためのプロセスであり、定義プロセスは、パイプの三次元情報を作成するために必要なパラメータ等を定義するためのプロセスであり、作成プロセスは、入力プロセスで入力した三次元形状データで示される物体の表面に、定義プロセスで定義したパラメータ等を用いて、パイプの三次元情報を作成するためのプロセスである。以下、各プロセスを構成する個々のステップについて、順に説明を行う。
まず、ステップS1に示す基本形状データ入力段階は、コンピュータ内の記憶手段に、基本形状データを入力する処理を行う段階である。ここで、基本形状データとは、パイプの情報を含まない物体の三次元形状データのことであり、この図1の流れ図に示す基本手順は、この基本形状データに、パイプの情報を付加する処理ということができる。ここでは、説明の便宜上、図2に示すような単純な直方体形状をもった物体についての三次元形状データが、基本形状データDbとして入力された場合について、以下の説明を行うことにする。図2に示す基本形状データDbは、単なる直方体を表現するデータであり、パイプの情報は全く含まれていない。
なお、本願では、説明の便宜上、三次元形状データと当該データで表現される三次元図形とを同じ符号で示すことにする。たとえば、図2に示す符号「Db」は、物体の三次元形態そのものを示すと同時に、当該物体を表現するための基本形状データも示している。
ステップS2に示す第1の基準線定義段階は、オペレータの指示に基づいて、ステップS1で入力した基本形状データDbで示される物体Dbの表面上に、パイプの物体表面上での位置を示す第1の基準線を定義し、これを記憶手段に格納する処理を行う段階である。いわば、パイプの中心線を物体表面上に投影した投影線を、第1の基準線として定義する処理が行われることになる。図3は、物体Dbの上面の中心位置に、第1の基準線L1(破線で示す)を定義した例を示す斜視図である。ここでは、説明の便宜上、物体の上面に第1の基準線L1を1本だけ定義した単純な例を示すが、もちろん、第1の基準線L1は、複数の面に跨って定義することも可能であり、また、複数本を定義することも可能である。
ステップS3に示すパイプ断面パラメータ定義段階は、オペレータの指示に基づいて、パイプ断面パラメータPcを定義し、これを記憶手段に格納する処理を行う段階である。ここで、パイプ断面パラメータPcとは、パイプの断面形状と、そのサイズと、を示すパラメータである。図4は、このパイプ断面パラメータPcによって定義されたパイプの断面形状の一例を示す平面図である。図示の例では、円形の二次元断面図形Cが定義されている。このような代表的な幾何学図形からなる断面は、その形状を方程式によって定義することが可能であり、図示の円の場合、xy二次元座標系を用いて、x+y=rなる方程式で定義することができる。ここで、rは円の半径であるから、この方程式によって、パイプの断面形状と、そのサイズと、の双方が定義されたことになる。
ステップS4に示すパイプ配置パラメータ定義段階は、オペレータの指示に基づいて、パイプ配置パラメータhを定義し、これを記憶手段に格納する処理を行う段階である。ここで、パイプ配置パラメータhとは、物体表面に対するパイプの浮き上がり量を示すパラメータである。図5は、このパイプ配置パラメータhの一定義形態を示す平面図であり、基準線Sは、物体の表面位置を示している。
この図5に示す例は、図4に示すような半径rの円からなる二次元断面図形Cを示すパイプ断面パラメータPcが定義されていた場合のパイプ配置パラメータhの意義を示している。具体的には、図5(a) は、h=rなる所定の定数hをパイプ配置パラメータとして定義した例を示し、図5(b) は、h=r/2なる所定の定数hをパイプ配置パラメータとして定義した例を示している。上述したとおり、パイプ配置パラメータhは、物体表面に対するパイプの浮き上がり量を示すパラメータであり、図5(a) に示す例の場合、円形の二次元断面図形Cの中心点Oが、基準線Sから距離h(=r)だけ浮き上がった位置に配置されている。同様に、図5(b) に示す例の場合、円形の二次元断面図形Cの中心点Oが、基準線Sから距離h(=r/2)だけ浮き上がった位置に配置されている。
基準線Sは、物体の表面位置を示しているので、基準線Sより上方に示された部分は、物体の表面に露出するパイプ部分(可視部)に対応し、基準線Sより下方に示された部分は、物体の内部に隠れるパイプ部分(不可視部)に対応する。
以上で、定義プロセスは完了である。続いて、作成プロセスが実行される。まず、ステップS5に示す第2の基準線作成段階は、ステップS2で定義した第1の基準線L1とステップS4で定義したパイプ配置パラメータhとに基づいて、パイプの三次元空間上での位置を示す第2の基準線L2を作成し、これを記憶手段に格納する処理を行う段階である。
図6は、このステップS5の段階で作成された第2の基準線L2の一例を示す斜視図である。図6に示す第2の基準線L2は、図3に破線で示す第1の基準線L1と、図5に示すパイプ配置パラメータhとに基づいて作成されたものであり、物体表面に定義されている第1の基準線L1を、物体表面から距離hだけ浮き上がらせることによって得られる線ということになる。具体的には、第1の基準線L1上の任意の点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離hだけ隔たった位置にある点Qを求めれば、この点Qの集合によって第2の基準線L2を作成することができる。なお、図示の例では、物体の上面のみに第1の基準線L1が定義されているため、第2の基準線L2も、この物体の上方のみに作成されることになるが、第1の基準線L1が物体の前面などにも連続して定義されている場合には、第2の基準線L2も物体の前面手前側にまで連続して作成される。
ステップS6のパイプ形状データ作成段階は、ステップS5で作成した第2の基準線L2とステップS3で定義したパイプ断面パラメータPcとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納する処理を行う段階である。図7は、このステップS6の段階で作成されたパイプの三次元形状データDpによって示されるパイプの三次元形態の一例を示す斜視図である。ここでは、便宜上、この形状データDpによって示されるパイプの三次元形態についても、同じ符号Dpを用いて示すことにする。図6に示す第2の基準線L2に沿って、図4に示すパイプの二次元断面図形Cを連続的に配置することにより(この例の場合、円Cの中心点Oを第2の基準線L2上に配置することにより)、図7に示すようなパイプの三次元形態Dpを作成することができる。
具体的には、第2の基準線L2上に所定間隔で代表点を定義し、個々の代表点にパイプの二次元断面図形Cを配置してゆく処理を行い、こうして配置された多数の二次元断面図形Cの輪郭線を滑らかに結ぶ面として、パイプの三次元形状データDpを作成すればよい。たとえば、図4に示すように、パイプ断面パラメータPcにより、円からなる二次元断面図形Cが定義されている場合、第2の基準線L2上に定義された各代表点位置に中心がくるように、それぞれ円形の二次元断面図形Cを配置すればよい。このとき、各二次元断面図形Cは、各代表点位置に、第2の基準線L2に直交する向きに配置するとよい。こうして、第2の基準線L2に沿って配置された多数の円(二次元断面図形C)の円周を滑らかに結んで得られる三次元構造体が、図7に示すパイプの三次元形態Dpということになる。このパイプの三次元形態Dpは、いわば第2の基準線L2を中心軸として配置された半径rの円柱状パイプに相当し、h<rなる設定がなされている場合には、その一部(不可視部)は、物体Dbの内部に埋め込まれた状態となっている。
ステップS7の合成形状データ作成段階は、ステップS1で入力した基本形状データDbに、ステップS6で作成したパイプの三次元形状データDpを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データDbpを作成し、これを記憶手段に格納する処理を行う段階である。基本形状データDbとパイプの三次元形状データDpとが、同一の三次元座標系上で定義されたデータになっていれば、単に、これらのデータを合わせることにより、合成形状データDbpを得ることができる。
以上のとおり、本発明に係る表面にパイプを有する物体の三次元形状データの作成方法によれば、まず、パイプの情報を含まない物体の三次元形状データを基本形状データDbとして入力し、第1の基準線L1、パイプ断面パラメータPc、パイプ配置パラメータhを定義し、これらの情報に基づいて、パイプの三次元空間上での位置を示す第2の基準線L2を作成し、この第2の基準線L2に沿って、パイプの断面形状図形を配置することにより、パイプの三次元形状データDpを作成することができる。したがって、パイプを含めた物体の高品質な三次元形状データを効率的に作成することが可能になる。
<<< §2.装置の基本構成 >>>
続いて、本発明に係る表面にパイプを有する物体の三次元形状データの作成装置の基本構成を、図8のブロック図を参照しながら説明する。前述したとおり、本発明は、基本的にコンピュータを利用することを前提とした発明であり、この図8に示す装置は、コンピュータに専用のプログラムを組み込むことによって実現される装置である。したがって、個々のブロックとして示されている構成要素の機能は、実際には、いずれもコンピュータに組み込まれたプログラムによって実現される機能ということになる。
図8に示す装置は、表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する機能を有し、合計7つのブロックで示される構成要素から構成されている。これら個々のブロックは、図1に示す流れ図の各ステップS1〜S7に対応しており、それぞれ対応するステップに示された処理を実行する機能を有する。
すなわち、基本形状データ入力手段10は、ステップS1に示されている基本形状データ入力段階を実行する機能を有し、第1の基準線定義手段20は、ステップS2に示されている第1の基準線定義段階を実行する機能を有し、パイプ断面パラメータ定義手段30は、ステップS3に示されているパイプ断面パラメータ定義段階を実行する機能を有し、パイプ配置パラメータ定義手段40は、ステップS4に示されているパイプ配置パラメータ定義段階を実行する機能を有し、第2の基準線作成手段50は、ステップS5に示されている第2の基準線作成段階を実行する機能を有し、パイプ形状データ作成手段60は、ステップS6に示されているパイプ形状データ作成段階を実行する機能を有し、合成形状データ作成手段70は、ステップS7に示されている合成形状データ作成段階を実行する機能を有する。以下、これらの各手段10〜70により実行される処理を、図2〜図7に示す具体例を参照して順に説明する。
まず、基本形状データ入力手段10は、パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する機能をもった構成要素であり、たとえば、図2に示すような物体の三次元形状データを、基本形状データDbとして入力する処理を行う。要するに、この基本形状データ入力手段10は、外部から与えられたデジタルデータを、コンピュータ内部に取り込む機能をもった一般的な入力装置である。
物体を三次元表現する方法としては、ポリゴンを用いた表現と、パラメトリック曲面を用いた表現とが一般的に知られている。前者は、物体表面を多数のポリゴン(多角形)の集合体として表現する手法であり、通常、個々のポリゴンを構成する頂点の位置座標と、各頂点の位置関係(どの頂点とどの頂点を結ぶことにより、多角形が形成されるかを示す情報)と、によって、物体の三次元形状が定義される。一方、後者は、物体の表面を、ベジェ曲面、スプライン曲面、NURBS曲面に代表されるようなパラメトリック曲面によって表現する手法であり、パラメトリック曲面を定義するための種々のパラメータの集合によって、物体の三次元形状が定義される。
基本形状データ入力手段10が入力する基本形状データは、前者の形態のデータ(多数のポリゴンによって物体表面を表現した三次元形状データ)であってもよいし、後者の形態のデータ(パラメトリック曲面によって物体表面を表現した三次元形状データ)であってもかまわない。
既に述べたとおり、建築物や自動車の内装、家具などの場合、CADを利用した設計が行われるのが一般的であり、この設計段階で作成されるCADデータには、通常、基本形状データDbが含まれている。たとえば、自動車の座席シートのCADデータは、シートの内部を構成するウレタン構造体の三次元形状データであり、パイプの情報を含まないシートの三次元形状データに相当する。実際のシートは、このウレタン構造体の表面に、布製もしくは革製の表皮を被せたものになり、この表皮の表面にパイプが形成されていることになる。このようなCADデータが用意されている物体については、このCADデータをそのまま、もしくは、必要な修正を施して、基本形状データ入力手段に与えるようにすればよい。たとえば、衣服の場合であれば、設計時に用いた型紙のCADデータに対して、人体表面との接触によって生じる皺などを表現するための修正を加えたデータを、当該衣服の基本形状データDbとして、基本形状データ入力手段10に与えるようにすればよい。
もちろん、設計段階で用いたCADデータを流用することができない場合や、そもそもCADデータが存在しない物体の場合には、当該物体の三次元形状データ(パイプの情報を含まないデータ)を作成し、基本形状データ入力手段10に与える必要がある。このように、パイプの情報を含まない物体の三次元形状データを作成する装置は、既に種々のものが実用化されているので、ここでは詳しい説明は省略する。
第1の基準線定義手段20、パイプ断面パラメータ定義手段30、パイプ配置パラメータ定義手段40は、いずれもオペレータの指示入力に基づいて、所定のデータを設定する機能を有する構成要素である。オペレータからの指示を入力するためには、ディスプレイ上に所定の入力画面を提示し、この入力画面を見たオペレータに、キーボードやマウスなどのコンピュータ用入力機器を操作させ、この操作結果を指示入力として取り込むプログラムを用意しておけばよい。
まず、第1の基準線定義手段20は、オペレータの指示に基づいて、基本形状データ入力手段10が入力した基本形状データDbで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線L1を定義する機能をもった構成要素である。たとえば、図2に示すような物体の基本形状データDbが入力されている場合、この物体の表面上に、図3に破線で示すような第1の基準線L1の定義が行われる。第1の基準線L1の具体的な定義方法については、§3で詳述する。
一方、パイプ断面パラメータ定義手段30は、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータPcを定義する構成要素であり、たとえば、図4に示すように、xy二次元座標系における円の方程式x+y=rにより、パイプの二次元断面図形Cの形状とサイズとを定義することができる。オペレータに、このような特定の方程式を直接入力させて、パイプ断面パラメータPcを設定することも可能であるが、実用上は、方程式に含まれる種々の定数値をパラメータとして指定もしくは選択させることにより、所望の断面形状およびサイズを設定させるようにしておくのが好ましい。具体的なパイプ断面パラメータの設定方法については、§4で詳述する。
パイプ配置パラメータ定義手段40は、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータhを定義する機能をもった構成要素である。たとえば、図5に示す例では、円からなる二次元断面図形Cの中心点Oと物体表面(基準線Sで示されている)との距離hによって、パイプ配置パラメータの定義が行われている。距離hの定義を行うためには、たとえば、所定の単位(たとえば、mm)で、オペレータに所望の数値入力を行わせる機能をもたせておけばよい。具体的なパイプ配置パラメータの設定方法については、§5で詳述する。
第2の基準線作成手段50は、第1の基準線定義手段20によって定義された第1の基準線L1と、パイプ配置パラメータ定義手段40によって定義されたパイプ配置パラメータhと、に基づいて、パイプの三次元空間上での位置を示す第2の基準線L2を作成する機能をもった構成要素である。§1で述べたとおり、たとえば、図3に示すような第1の基準線L1と、図5に示すような距離hとして定義されたパイプ配置パラメータとを用いることにより、図6に示すような第2の基準線L2が作成されることになる。この第2の基準線L2を作成する処理の具体的なアルゴリズムについては、§6で詳述する。
パイプ形状データ作成手段60は、第2の基準線作成手段50によって作成された第2の基準線L2と、パイプ断面パラメータ定義手段30によって定義されたパイプ断面パラメータPcと、に基づいて、パイプの三次元形状データDpを作成する機能をもった構成要素である。§1で述べたとおり、たとえば、図6に示すような第2の基準線L2と、図4に示すようなパイプ断面パラメータPcで示されるパイプの二次元断面図形C(この例の場合は円)とを用いることにより、図7に示すようなパイプの三次元形状データDpが作成されることになる。このパイプの三次元形状データDpを作成する処理の具体的なアルゴリズムについては、§7で詳述する。
合成形状データ作成手段70は、基本形状データ入力手段10が入力した基本形状データDbに、パイプ形状データ作成手段60が作成したパイプの三次元形状データDpを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データDbpを作成する処理を行う構成要素である。前述したとおり、基本形状データDbとパイプの三次元形状データDpとを、同一の三次元座標系を用いたデータにしておけば、合成形状データ作成手段70は、単に、2つのデータDb,Dpを合わせることにより、合成形状データDbpを作成することができる。
こうして作成された合成形状データDbpは、合成形状データ作成手段70から外部装置へと出力され、種々の用途に利用される。たとえば、三次元CGを取り扱うことができる一般的な装置に合成形状データDbpを取り込めば、所定の視点から、図7に示すようなパイプの情報を含んだ物体を観察したときの二次元CG画像を作成することができる。
<<< §3.第1の基準線の定義 >>>
続いて、図1のステップS2もしくは図8の第1の基準線定義手段20において行われる第1の基準線L1の具体的な定義方法の一例を述べる。第1の基準線L1は、たとえば、図3に示すように、パイプの物体表面上での位置を示す線であり、物体の表面上に定義された線であれば、直線であろうが、曲線であろうがかまわない。
これまで述べてきた§1,§2では、説明の便宜上、図2に示すような直方体からなる物体の三次元形状データを基本形状データDbとして入力した例について説明を行ったが、ここでは、図9に示すような曲面を含む物体の三次元形状データが、基本形状データDbとして入力された場合を考えてみる。この物体Dbは、いわゆる蒲鉾型をしており、上面U0は曲面を構成し、左側面U1,右側面U2,底面U3はいずれも平面を構成している。
図10は、図9に示す物体の表面に、第1の基準線L11,L12を定義した状態を示す斜視図である。基準線L11は、図に破線で示すとおり、物体Dbの左側面U1の近傍の上面U0上に定義されている。これに対して、基準線L12は、物体Dbの三次元構造上の輪郭線(すなわち、右側面U2の縁部)に一致している。
図示されている基準線L12のように、物体Dbの三次元構造上の輪郭線上に第1の基準線を定義する方法は、比較的簡単である。すなわち、オペレータの指示に基づいて、物体の基本形状データDbに含まれている直線もしくは曲線のデータ、または基本形状データに含まれている2つの面のデータを用いて演算された当該2つの面の交線のデータを利用すれば、第1の基準線を定義することが可能である。たとえば、図10に示す例の場合、物体の基本形状データDb内に、右側面U2の輪郭線を示すデータが直接的に含まれていれば、このデータをそのまま基準線L12を示すデータとして利用することができる。このような輪郭線を示すデータが直接的に含まれていない場合でも、上面U0を示すデータと右側面U2を示すデータとが含まれていれば、これら2つの面U0,U2の交線を演算によって求めることができるので、この交線のデータを基準線L12を示すデータとして利用することができる。
一方、図に破線で示す基準線L11は、もともとの基本形状データDb内には含まれていない線である。したがって、オペレータの操作入力に基づいて基準線L11を定義するには、この基準線L11を示すデータを新たに作成する必要がある。そのためには、たとえば、三次元物体の表面に対して描画を行う機能を提供するプログラムを用意しておき、この描画機能を利用して、物体の表面上に基準線L11を直接描かせるような方法をとることも可能である。ただ、実用上は、以下に述べるような投影処理を利用して、基準線L11を定義するのが好ましい。
図11は、この投影処理を利用した基準線L11の定義方法の原理を示す斜視図である。いま、図示のように、物体Dbから離れた位置に、参照線K11を定義するとともに、所定の投影方向を示す投影方向ベクトルVを定義する。そして、参照線K11を、投影ベクトルVの示す投影方向に投影し、物体Dbの表面上に投影像を形成させ、この投影像を基準線L11として定義するのである。
参照線K11を直線で構成すれば、その三次元座標系上での位置は、非常に簡単な方程式で表現することができ、この方程式のパラメータを変化させることにより、参照線K11を所望の方向へ移動させることができる。方程式は若干複雑になるが、曲線からなる参照線を定義することも可能である。一方、物体の三次元形状は、基本形状データDbとして与えられているので、物体表面への参照線K11の投影像は、三次元座標系上で幾何学演算を行うことにより求めることができる。オペレータに、参照線の形状や位置および投影方向ベクトルの向きを指定するパラメータを入力させ、指定されたパラメータに基づいて得られる投影像を、ディスプレイ画面上にリアルタイムで表示させるようにすれば、オペレータがパラメータの値を変化させる操作入力を行うたびに、ディスプレイ画面上に表示される投影像の位置がリアルタイムで変化することになる。したがって、オペレータは、ディスプレイ画面を見ながら、所望の位置に基準線を定義することができる。
結局、オペレータの指示に基づいて、基本形状データDbで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線K11と、所定の投影方向を示す投影方向ベクトルVと、を定義する機能と、参照線K11を投影方向ベクトルVの示す投影方向に投影したときに、基本形状データDbで示される物体の表面上に形成される投影像L11を第1の基準線として定義する機能とを、図8に示す第1の基準線定義手段20にもたせておくようにすればよい。
前述したとおり、基本形状データDbは、多数のポリゴンによって物体表面を表現した三次元形状データであってもよいし、ベジェ曲面、スプライン曲面、NURBS曲面に代表されるようなパラメトリック曲面によって物体表面を表現した三次元形状データであってもかまわない。参照線K11の投影像L11(すなわち、第1の基準線)は、前者の場合、通常は、特定のポリゴン上に描かれた直線もしくは曲線として表現され、後者の場合、通常は、ベジェ曲線、スプライン曲線、NURBS曲線などのパラメトリック曲線で表現されることになる。
<<< §4.パイプ断面パラメータの定義 >>>
次に、図1のステップS3もしくは図8のパイプ断面パラメータ定義手段30において行われるパイプ断面パラメータPcの具体的な定義方法の一例を述べる。パイプ断面パラメータPcは、パイプの断面形状とそのサイズとを示すパラメータであるので、パイプの二次元断面図形とその大きさを定めることができれば、どのような形態のパラメータであってもかまわない。
図12は、xy二次元直交座標系において、(x/a)2/ε+(y/b)2/ε=1(但し、εは所定の定数)なる式によって示される超二次曲線を用いてパイプの二次元断面図形の定義を行った例を示す図である。この式は、超二次関数を示す式であり、媒介変数θを用いた表現に書き直すと、x=acosεθ、y=bsinεθという三角関数を用いた形になる。
図13は、定数εの値を変えた場合に、上式によって、xy二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。図13(a) は、ε=0.1に設定した場合の形状であり、いわゆる角丸矩形に近い図形となる。図13(b) は、ε=0.7に設定した場合の形状であり、角の丸みが強くなってくる。図13(c) は、ε=1.0に設定した場合の形状であり、得られる図形は、(x/a)+(y/b)=1なる式で示される幾何学図形、すなわち、楕円になる。図4に示す円は、a=b=rに設定した場合に対応する。図13(d) ,(e) ,(f) は、それぞれε=1.5,2.0,3.0に設定した場合の形状である。
結局、上式において、定数a,bは、断面のサイズを規定するパラメータとなり、定数εは、断面形状を規定するパラメータとなる。したがって、この図12に示す超二次関数を用いてパイプ断面を定義することにすれば、a,b,εなる定数をパイプ断面パラメータとして定めることにより、超楕円から構成されるパイプ断面の形状およびサイズを決定することができる。オペレータは、3つのパラメータa,b,εの値を設定する指示入力を行うだけで済むので、非常に軽い作業負担で、パイプ断面の定義が可能になる。
一般的な物品の装飾に用いられるパイプの断面形状は、ほぼ円や楕円を基準にした形状になるため、図12に示す式において、εを所望の値に設定することにより定義することができる。ただ、特殊な装飾が施された物品では、図12に示す式では表現できない断面形状をもったパイプが用いられることもある。そのような場合は、図14に示すように、rθ極座標系において、角度θ(0≦θ<2π)と、この角度θに対応する距離r(θ)と、の関係をパイプ断面パラメータとして定義すればよい。
実際には、角度θの値は、所定間隔ごとの離散値として定義せざるを得ないので、この離散値として与えられた有限個のθの値と、これに対応するr(θ)の値との組み合わせを示す断面形状テーブルを用意し、この断面形状テーブルによりパイプ断面パラメータを定義すればよい。たとえば、θを10°おきの離散値として設定すれば、合計36組の「θとr(θ)」の組み合わせを示す断面形状テーブルによってパイプ断面パラメータを定義することができ、任意形状の断面をもったパイプに対応することができる。
なお、角度θの値として離散値を用いた場合、パイプ断面の輪郭線は、連続した線ではなく、有限個の点の集合として定義されることになる。たとえば、図14に示されている例の場合、特定のθとr(θ)との組み合わせにより、1つの輪郭点Kが定義されることになるので、パイプ断面の輪郭線は、有限個の輪郭点Kの集合として表現されることになる。したがって、隣接する輪郭点K間の輪郭線の情報が必要な場合には、線形補間やスプライン補間などの補間処理を行うようにすればよい。
また、本発明で作成するパイプの三次元形態は、必ずしも各部で同一の断面を有している必要はない。たとえば、図7に示されているパイプの三次元形態Dpでは、第2の基準線L2に対して直交する断面が、いずれも同一の半径をもった円となっている。これは、図4に示すように、x+y=rなる方程式によって、半径rをもった円Cがパイプの共通断面として定義されているためである。ここで、もし、半径rを距離sの関数r(s)という形で与え、x+y=r(s)なる方程式を、パイプ断面パラメータPcとして定義したとすると、距離sに応じて、断面を形成する円のサイズが異なるようなパイプを定義することができる。
たとえば、図7において、第2の基準線L2の奥側の端点を始点として、第2の基準線L2上の各位置について、それぞれ当該始点からの距離をsと定義してみる。この場合、第2の基準線L2上の各位置に、x+y=r(s)なる方程式で示される円形の二次元断面図形を配置すれば、各位置に配置される円の半径はそれぞれ異なったものになり、各部で太さが異なったパイプが作成されることになる。関数r(s)を、変数sに対して線形増加する関数にしておけば、作成されるパイプは、手前側ほど太くなるような円錐状のパイプになる。また、関数r(s)を周期関数にしておけば、周期的に太さが変化するパイプを作成することができる。
このように、本発明におけるパイプ断面パラメータPcは、パイプの断面形状と、そのサイズと、を示すパラメータであるが、必ずしも単一の断面形状および単一のサイズを示すパラメータである必要はなく、作成されるパイプの個々の箇所における断面形状およびサイズを定義することができるパラメータであれば、上述の例のように、パイプの各部で断面形状やサイズが異なるようなパラメータであってもかまわない。あるいは、関数r(s)の代わりに、sの値とrの値とを対応させるテーブルによって、パイプ断面パラメータPcを定義することも可能である。
<<< §5.パイプ配置パラメータの定義 >>>
続いて、図1のステップS4もしくは図8のパイプ配置パラメータ定義手段40において行われるパイプ配置パラメータhの具体的な定義方法の一例を述べる。パイプ配置パラメータhは、物体表面に対するパイプの浮き上がり量を示すパラメータであり、所定の単位(たとえば、mm)を指定して、オペレータに数値を指定させることにより容易に定義することが可能である。あるいは、予め複数通りのhの値を用意しておき、その中から、オペレータに所望の値を選択させるようにしてもよい。
図5(a) に示す例の場合、円形の二次元断面図形Cの中心点Oが、基準線Sから距離h(=r)だけ浮き上がった位置に配置されており、図5(b) に示す例の場合、円形の二次元断面図形Cの中心点Oが、基準線Sから距離h(=r/2)だけ浮き上がった位置に配置されている。実は、この中心点Oの位置は、第2の基準線の位置を示しており、結局、パイプ配置パラメータhは、第2の基準線の第1の基準線に対する浮き上がり量を示すパラメータということができる。
図5における基準線Sは、物体の表面位置を示しているので、基準線Sより上方に示された部分は、物体の表面に露出するパイプ部分(可視部)に対応し、基準線Sより下方に示された部分は、物体の内部に隠れるパイプ部分(不可視部)に対応する。別言すれば、図5(a) のように、h=rに設定した場合、作成されたパイプは底部が物体表面に接した状態となるが、図5(b) のように、h=r/2に設定した場合、作成されたパイプは一部が物体の内部に埋め込まれた状態となる。
また、パイプ配置パラメータhを、h>rとなるように設定すると、パイプが物体表面に対して全く接触せず、物体上空に浮き上がった状態になる。現実的には、そのような物品は希であるが、もちろん、本発明を実施する上では、h>rなる設定を行ってもかまわない。更に、h<0なる設定を行うことも可能である。この場合、円形の二次元断面図形Cの中心点Oは、基準線Sの下方に位置することになり(第2の基準線が、物体内部に位置することになる)、パイプ配置パラメータhは、物体表面に対するパイプの負の浮き上がり量を示すパラメータ(別言すれば、沈み込み量を示すパラメータ)ということになる。もっとも、h<−rとなるような設定を行うと、パイプは完全に物体の内部に埋もれた状態となるので、物体表面が透明な場合でなければ、実質的に意味をなさない。
このように、パイプ配置パラメータhの設定方法によって、パイプの三次元形状データDpは、物体Dbの上面に露出した可視部と、物体Dbの内部に埋め込まれた不可視部との双方を含んだデータとなることがあるが、必要に応じて、図1に示すステップS7の段階(合成形状データ作成段階)において、パイプの三次元形状データDpのうちの不可視部のデータを削除して合成するようにしてもよい。もっとも、実用上は、合成形状データDbpに、パイプの三次元形状データDpの不可視部のデータが含まれていたとしても、図7に示されているような三次元構造体を、所定の視点から観察した状態を示す二次元投影像を得る段階で、パイプの三次元形態Dpの不可視部(物体内部に埋もれた部分)については、隠面処理によって物体Dbの上面によって隠されてしまうので、問題は生じない。
なお、本発明で定義するパイプ配置パラメータhは、必ずしも定数として定義する必要はない。たとえば、図7に示されている例は、パイプ配置パラメータを定数hとした例であり、第1の基準線L1と第2の基準線L2との距離は、いずれの箇所においても一定値hとなっている。これに対して、第1の基準線L1と第2の基準線L2との距離が、各部で異なるような設定を行うことも可能である。たとえば、パイプ配置パラメータを、関数h(s)という形で定義し、物体表面に対するパイプの浮き上がり量を、位置を示す変数sに応じて異ならせることも可能である。
具体的には、図7において、第1の基準線L1の奥側の端点を始点として、第1の基準線L1上の各位置について、それぞれ当該始点からの距離をsと定義してみる。この場合、パイプ配置パラメータを関数h(s)の形で与えると、第2の基準線L2の物体表面からの浮き上がり量(第1の基準線L1に対する距離)が、各部で異なるようになる。たとえば、関数h(s)を、変数sに対して線形増加する関数にしておけば、第2の基準線L2の浮き上がり量は、手前側ほど大きくなる。また、関数h(s)を周期関数にしておけば、周期的に浮き上がり量を変化させることもできる。あるいは、関数h(s)の代わりに、hの値とrの値とを対応させるテーブルによって、パイプ配置パラメータを定義することも可能である。
<<< §6.第2の基準線の作成 >>>
次に、図1のステップS5もしくは図8の第2の基準線作成手段50において行われる第2の基準線の具体的な作成方法の一例を述べる。図7に示されているように、第2の基準線L2は、パイプの三次元空間上での位置を示す線(パイプ断面が円の場合は、パイプの中心線)であり、第1の基準線L1をパイプ配置パラメータhが示す距離だけ、物体表面から浮き上がらせた線ということができる(負の距離だけ浮き上がらせることは、実質的に物体内部に沈み込ませることと同義である)。
ここでは、図10に示すような物体Db上に定義された第1の基準線L11,L12を、物体表面から距離hだけ浮き上がらせることにより、第2の基準線を作成する具体的な方法を述べる。図15は、このようにして作成された第2の基準線L21,L22を示す斜視図である。第2の基準線L21は、第1の基準線L11を、物体Dbの上面U0から距離hだけ浮き上がらせることにより得られる線であり、第2の基準線L22は、第1の基準線L12を、物体Dbの上面U0から距離hだけ浮き上がらせることにより得られる線である。
図16は、第1の基準線L11とパイプ配置パラメータhに基づいて、第2の基準線L21を作成する具体的な方法を示す斜視図である。まず、図示のとおり、第1の基準線L11上の任意の点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求める。図示の例では、法線nは、点Pの位置における上面U0に対する法線ということになる。続いて、この法線n上にあり、点Pから距離hだけ隔たった位置にある点Qを求める。このような処理を、第1の基準線L11上の多数の点について行う。たとえば、点P′については、図示のような法線n′が求まり、この法線n′に沿って、点P′から距離hだけ隔たった位置にある点として、点Q′が求まる。このようにして多数の点Qが求まったら、これら点Qの集合によって第2の基準線を作成することができる。図15に示す第2の基準線L21は、このようにして得られた基準線である。同様の手法により、第1の基準線L12に対して、第2の基準線L22が求まることになる。
図17は、こうして求まった第2の基準線L21,L22に基づいて、パイプの三次元形状データDp1,Dp2を作成した状態を示す斜視図である。ここでは、パイプの二次元断面図形として、半径r=hとなるような円が定義されていた場合の例が示されている。パイプの三次元形状データDp1,Dp2は、いずれも半径rの円柱を、物体Dbの上面U0の曲面に沿って曲げた立体形状を有しており、その中心軸は、図15に示す第2の基準線L21,L22ということになる。図17に示す例の場合、最終的に得られる合成形状データDbpは、物体の基本形状データDbに、2本のパイプの三次元形状データDp1,Dp2を合成したものとなる。すなわち、Dbp=Db+Dp1+Dp2である。
なお、パイプ配置パラメータが、位置を示す変数sについての関数h(s)として与えられている場合には、次のような方法で、第2の基準線を作成すればよい。まず、第1の基準線上に所定の始点を定義する。そして、第1の基準線上の任意の点Pについて、始点からの第1の基準線に沿った距離sを求める。そして、当該点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離h(s)だけ隔たった位置にある点Qを求めればよい。このようにして求めた点Qの集合によって第2の基準線を作成すれば、物体表面からの浮き上がり量が関数h(s)で示されるような基準線が得られる。
ところで、図16に示す例の場合、第1の基準線L11は、物体Dbの上面U0上の線であるため、この第1の基準線L11上の任意の点Pにおける法線nを一義的に定義できるが、第1の基準線L12は、物体Dbの三次元構造上の輪郭線(縁部を示す線)となっているため、この第2の基準線L12上の任意の点Pにおける法線nは、一義的に定義することはできない。これを、図18の正面図を参照しながら説明しよう。図18(a) ,(b) ,(c) は、いずれも図16に示す蒲鉾型の物体Dbの右上部分を拡大して示す正面図である。
いま、図18(a) に示すように、この物体Dbの右端最上部に点Pをとった場合に、この点Pの位置における法線がどのようになるかを考えてみる。点Pは、図16に示す第1の基準線L12上の1点である。この場合、点Pが、物体Dbの上面U0上の点であると考えれば、図18(a) に示すような方向(垂直上方)に法線nを定義することができ、この法線nに沿って点Pから距離hだけ離れた位置に点Qを定義することができる。しかしながら、点Pが、物体Dbの右側面U2上の点であると考えると、図18(b) に示すような方向(右水平方向)に法線nを定義することができ、この法線nに沿って点Pから距離hだけ離れた位置に点Qが定義される。結局、法線の定義の仕方によって、作成される第2の基準線L22の位置は変わることになり、最終的に得られるパイプの三次元形状データDp2の位置も変わることになる。
このように、点Pが複数の面の交線上の点もしくは複数の面の交点であった場合には、当該複数の面のうちのいずれか1つの面についての法線を、点Pの位置に立てた物体表面についての法線として取り扱えば、特に支障は生じない。たとえば、図18(a) ,(b) に示す例の場合、点Pは、2つの面U0,U2の交線上の点となっているので、図18(a) に示すように、上面U0についての法線nを点Pの位置に立てた物体表面についての法線として取り扱い、点Qの集合として第2の基準線L22を作成することもできるし、図18(b) に示すように、右側面U2についての法線nを点Pの位置に立てた物体表面についての法線として取り扱い、点Qの集合として第2の基準線L22を作成することもできる。
あるいは、点Pが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Pの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Pの位置に立てた物体表面についての法線とするようにしてもかまわない。図18(c) は、このようにして法線n**を求め、点Q**を求めた例である。すなわち、各法線をベクトルとして捉えると、法線ベクトルnは上面U0についての法線であり、法線ベクトルnは右側面U2についての法線であり、法線ベクトルn**は、両法線ベクトルn,nを合成して得られる合成ベクトルになる。したがって、法線n**は、本来の意味における幾何学的な法線ではなく、法線の中間線というべきものであるが、本発明において第2の基準線を作成する処理を実行する上では、点Pの位置に立てた物体表面についての法線として取り扱っても問題はない。
パイプ配置パラメータhが定数もしくは比較的単純な関数によって定義されており、第1の基準線が比較的単純な式によって表されている場合、点Qの集合からなる第2の基準線も式によって表現することが可能である。たとえば、hが定数、第1の基準線が直線の場合、第2の基準線は、三次元空間上での直線を示す式によって表される。このような場合、第2の基準線を作成する処理は、第1の基準線を示す方程式を、第2の基準線を示す方程式に変換する変換処理ということになる。
このように、第2の基準線を式として表現することができない場合には、第1の基準線上に有限個の点P(ここでは、標本点と呼ぶことにする)を離散的に定義し、各標本点Pを法線nに沿って所定距離(パイプ配置パラメータhで定まる距離)だけ変位させることにより、有限個の点Q(ここでは、代表点と呼ぶことにする)を求め、これら代表点Qの集合として、第2の基準線を定義すればよい。
図19は、第1の基準線L1(破線で示されている)上に定義された有限個の標本点P0,P1,P2,…に基づいて、第2の基準線L2を作成する方法を示す正断面図であり、物体の三次元形態を、第1の基準線L1に沿って切断した断面を示している。標本点P0,P1,P2,…は、たとえば、始点P0から第1の基準線L1に沿って等間隔dに並ぶような点として定義すればよい(もちろん、必ずしも等間隔に設定する必要はない)。図に破線で示す直線n0,n1,n2,…は、それぞれ標本点P0,P1,P2,…の位置において、物体表面に立てた法線を示している。標本点P0は、始点P0と同一の点であり、始点からの距離s=0となる点である。
図示の例は、パイプ配置パラメータが定数hとして定義されている場合の例であり、代表点Q0,Q1,Q2,…は、それぞれ標本点P0,P1,P2,…から、法線n0,n1,n2,…に沿って、距離hだけ離れた位置の点として定義される。こうして複数の離散的な点として求められた代表点Q0〜Q8の集合により、第2の基準線L2が構成されることになる。隣接する代表点Qの間の部分については、必要に応じて、線形補間やスプライン補間などの補間処理を行うようにすればよい。
<<< §7.パイプの三次元形状データの作成 >>>
ここでは、図1のステップS6もしくは図8のパイプ形状データ作成手段60において行われるパイプの三次元形状データの具体的な作成方法の一例を述べる。図6に示す第2の基準線L2が、太さをもたない幾何学的な線であるのに対して、図7に示すパイプの三次元形状データDpは、円柱状の三次元形態を示すデータになる。このような三次元形状データDpを作成するには、第2の基準線L2上に所定間隔で代表点Qを定義し、各代表点位置に、パイプ断面パラメータPcで示されるパイプの二次元断面図形を、当該代表点Qにおける第2の基準線L2の接線ベクトルTに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データDpを作成すればよい。
たとえば、図20に示すように、第1の基準線L1上に、第i番目の標本点P(i)、第(i+1)番目の標本点P(i+1)、第(i+2)番目の標本点P(i+2)が定義され、これら各標本点位置に、それぞれ物体表面に対する法線n(i),n(i+1),n(i+2)が定義され、各法線上に、それぞれ代表点Q(i),Q(i+1),Q(i+2)が求められている場合を考える。この場合、第2の基準線L2は、各代表点を滑らかに結ぶ線として定義される。なお、図20において、ベクトルT(i),T(i+1),T(i+2)は、それぞれ代表点Q(i),Q(i+1),Q(i+2)における第2の基準線L2の接線の向きを示す接線ベクトルである。
一方、パイプの二次元断面図形Cとしては、図4に示すようなパイプ断面パラメータPcによって、半径rの円が定義されていたものとする。この場合、パイプの三次元形状データを作成するには、まず、各代表点Q(i),Q(i+1),Q(i+2)の位置に、パイプの二次元断面図形C、すなわち、半径rの円を配置する処理を行えばよい。具体的には、各代表点Q(i),Q(i+1),Q(i+2)の位置に中心がくるように、半径rの円をそれぞれ配置すればよい。このとき、各円を、各代表点における第2の基準線L2の接線ベクトルに対して直交する向きに配置する。
図21は、各代表点Q(i),Q(i+1),Q(i+2)の位置に、それぞれ半径rの円からなるパイプの二次元断面図形C(i),C(i+1),C(i+2)を配置した状態を示す概念図である。各円C(i),C(i+1),C(i+2)は、それぞれ各代表点Q(i),Q(i+1),Q(i+2)が中心となるように配置されており、かつ、各接線ベクトルT(i),T(i+1),T(i+2)に対して直交する向きに配置されている。
なお、配置対象となる断面図形Cが円の場合には、配置の際の回転方向(円周方向)に関する位置は考慮する必要がないが、それ以外の図形の場合には、回転方向に関する位置も考慮する必要が生じる。たとえば、パイプの二次元断面図形Cが楕円の場合、長軸をどの方向に向けて配置するかを考慮する必要がある。このような回転方向に関する位置基準としては、個々の標本点についての法線を利用すればよい。
たとえば、図22に示す例の場合、代表点Q(i)の位置にパイプの二次元断面図形C(i)を配置する際には、標本点P(i)についての法線n(i)を回転方向に関する位置基準として利用すればよい。但し、代表点Q(i)の定義方法によっては、法線n(i)は必ずしも断面図形C(i)上に含まれる線にはならない。たとえば、図22では、標本点P(i)についての法線n(i)に沿って、標本点P(i)から所定距離hだけ離れた位置に代表点Q(i)が定義され、この代表点Q(i)の位置において接線ベクトルT(i)が定義されている。そして、この例では、断面図形C(i)は接線ベクトルT(i)に直交する向きに配置されているので、法線n(i)は断面図形C(i)上の線となる。しかしながら、パイプ配置パラメータを、位置を示す変数sを用いた関数h(s)として与えた場合、法線n(i)と接線T(i)とは必ずしも直交せず、法線n(i)は断面図形C(i)上の線ではなくなるので、回転方向に関する位置基準として利用できなくなる。この場合、代表点Q(i)の位置にパイプの二次元断面図形C(i)を配置する際には、代表点Q(i)を含み、接線ベクトルT(i)に直交する投影面を定義し、接線ベクトルT(i)を法線n(i)の方向へ投影することによってこの投影面上に得られる投影ベクトルTT(i)の位置を基準として、パイプの二次元断面図形C(i)を配置するようにすればよい。別言すれば、代表点Q(i)を通り接線ベクトルT(i)に直交する投影面を定義し、接線ベクトルT(i)、法線n(i)、投影ベクトルTT(i)の三者が同一平面上に含まれることになるように、当該投影面上に投影ベクトルTT(i)を定義するのである。そして、この投影ベクトルTT(i)の向きを、パイプの二次元断面図形C(i)を配置する上での回転方向に関する位置基準(たとえば、楕円を配置する場合には、長軸の向きを定める基準)として用いるようにすればよい。図22に示す例のように、n(i)がT(i)に直交する場合は、TT(i)=n(i)ということになる。
以上述べたとおり、代表点Q(i)の位置に、パイプの二次元断面図形C(i)を配置する処理を行う際には、代表点Q(i)の位置における接線ベクトルT(i)を求める必要がある。ここでは、この接線ベクトルT(i)を求めるための具体的な手法を3通り示しておく。
まず、第2の基準線作成手段50によって、方程式により表現可能な第2の基準線L2が作成された場合は、この方程式の代表点Q(i)における微分値を利用して、接線ベクトルT(i)を求めることができる。直線もしくは曲線グラフを示す方程式における特定の座標位置における微分値は、当該座標位置におけるグラフの傾きを示すものになり、当該座標位置における接線ベクトルの方向を示すものになる。よって、第2の基準線L2が式によって表現されている場合には、微分演算を行うことにより、任意の代表点Q(i)における接線ベクトルT(i)を求めることができる。
一方、第2の基準線L2が、離散的に定義された代表点Qの集合によって表現されている場合、第2の基準線L2を表現する直接的な情報は、個々の代表点Qの三次元空間上での位置座標のみである。たとえば、図20では、説明の便宜上、第2の基準線L2を実線で描いてあるが、実際には、各代表点Q(i),Q(i+1),Q(i+2)の位置座標のみが与えられており、第2の基準線L2は、これら代表点を滑らかに結ぶ曲線として概念的に定義されている線に過ぎない(もちろん、線形補間やスプライン補間などの補間処理を行えば、各代表点を結ぶ線として、第2の基準線L2を実体化させることは可能である)。
このように、各代表点Q(i),Q(i+1),Q(i+2)の位置座標のみが与えられている場合には、隣接する代表点へ向かう方向を、接線ベクトルの方向として取り扱うことにより、各代表点に接線ベクトルを定義することができる。すなわち、第i番目の代表点Q(i)における第2の基準線の接線ベクトルT(i)は、第(i+1)番目の代表点Q(i+1)を利用して、点Q(i)とQ(i+1)とを結ぶ線分に沿ったベクトルとして定義すればよい。
図23は、このような手法により、各代表点Q(i),Q(i+1)についての接線ベクトルT(i),T(i+1)を定義した例を示す概念図である。代表点Q(i)についての接線ベクトルT(i)は、代表点Q(i)とQ(i+1)とを結ぶ線分に沿ったベクトルとなっており、代表点Q(i+1)についての接線ベクトルT(i+1)は、代表点Q(i+1)とQ(i+2)とを結ぶ線分に沿ったベクトルとなっている。このような手法で定義された接線ベクトルは、各代表点における接線の正確な向きを示すものにはならないが、隣接する代表点間の間隔がある程度小さければ、実用上、十分な精度をもった接線ベクトルを定義することができる。
より精度の高い接線ベクトルを定義するには、次のような手法が有効である。すなわち、個々の代表点Q(i)について、第2の基準線L2上の点であって、隣接する代表点よりも近くに存在する近接点QQ(i)を定義し、各代表点Q(i)における接線ベクトルT(i)を、当該代表点Q(i)と当該代表点について定義された近接点QQ(i)とを結ぶ線分に沿ったベクトルとして求めるのである。
図24は、このような手法により、各代表点Q(i),Q(i+1),Q(i+2)についての接線ベクトルT(i),T(i+1),T(i+2)を定義した例を示す概念図である。代表点Q(i)についての接線ベクトルT(i)は、代表点Q(i)と近接点QQ(i)とを結ぶ線分に沿ったベクトルとなっており、代表点Q(i+1)についての接線ベクトルT(i+1)は、代表点Q(i+1)と近接点QQ(i+1)とを結ぶ線分に沿ったベクトルとなっており、代表点Q(i+2)についての接線ベクトルT(i+2)は、代表点Q(i+2)と近接点QQ(i+2)とを結ぶ線分に沿ったベクトルとなっている。図では、図示の便宜上、各代表点とその近接点との距離を比較的大きくとっているが、実際には、この距離を非常に小さくとるのが好ましい。
なお、各近接点QQ(i),QQ(i+1),QQ(i+2)の位置は、結局は、第1の基準線L1上の近接点PP(i),PP(i+1),PP(i+2)に基づいて決定されることになるので、実務上は、次のような手順により、各近接点QQ(i),QQ(i+1),QQ(i+2)の位置を決定するようにすればよい。
まず、図24に示すように、第2の基準線L2を作成する段階において、第1の基準線L1上に所定間隔で、多数の標本点P(i),P(i+1),P(i+2)を設定したら、第1の基準線L1上で各標本点から所定距離δだけ離れた位置に、近接点PP(i),PP(i+1),PP(i+2)を併せて設定する。そして、各標本点P(i),P(i+1),P(i+2)について、各代表点Q(i),Q(i+1),Q(i+2)を求めるのと全く同様の手法により、各近接点PP(i),PP(i+1),PP(i+2)について、各近接点QQ(i),QQ(i+1),QQ(i+2)を求めるようにする。すなわち、近接点PP(i),PP(i+1),PP(i+2)の各位置において、物体表面に立てた法線を、それぞれnn(i),nn(i+1),nn(i+2)とすれば、各近接点QQ(i),QQ(i+1),QQ(i+2)は、それぞれ各法線nn(i),nn(i+1),nn(i+2)上の点であって、各近接点PP(i),PP(i+1),PP(i+2)から、パイプ配置パラメータhに基づいて定まる所定の距離だけ離れた点として求まる。
さて、図21に示すように、各代表点Q(i),Q(i+1),Q(i+2)の位置に、それぞれパイプの二次元断面図形C(i),C(i+1),C(i+2)を配置したら、これら各断面図形の輪郭を滑らかに結ぶことにより得られる三次元構造体を示すデータが、パイプの三次元形状データDpということになる。ここでは、このパイプの三次元形状データDpを、ポリゴンデータとして得るための具体的な方法を説明する。
まず、図25の平面図に示されているとおり、パイプの二次元断面図形C(図示の例は円)の輪郭線上に複数の制御点を定義する。図示の例では、12個の制御点G0〜G11が、円周上に等間隔で定義されている。このような制御点が定義された断面図形を、各代表点位置に配置したら、同一断面図形上の隣接する制御点同士、もしくは、互いに隣接配置された断面図形上の制御点同士を相互に接続し、これら制御点を頂点とするポリゴンを形成し、このポリゴンの集合によって、パイプの三次元形状データDpを構成すればよい。
図26は、このようなポリゴンの形成方法を示す斜視図であり、第i番目の代表点Q(i)に配置された断面図形C(i)と、第(i+1)番目の代表点Q(i+1)に配置された断面図形C(i+1)とが示されている。この例では、2つの断面図形C(i),C(i+1)は、いずれも円であり、前述したとおり、投影ベクトルTT(i),TT(i+1)を回転方向に関する位置基準とする配置が行われている。したがって、断面図形C(i)上の第0番目の制御点G0(i)は、投影ベクトルTT(i)の示す方向に定義され、断面図形C(i+1)上の第0番目の制御点G0(i+1)は、投影ベクトルTT(i+1)の示す方向に定義されている。なお、この図26では、図が繁雑になるのを避けるため、断面図形C(i)上には、この他に第j番目の制御点G(i,j)と第(j+1)番目の制御点G(i,j+1)のみを示し、断面図形C(i+1)上には、この他に第j番目の制御点G(i+1,j)と第(j+1)番目の制御点G(i+1,j+1)のみを示してある。
ここで、図のように、4つの制御点G(i,j),G(i,j+1),G(i+1,j+1),G(i+1,j)を結べば、これら4つの制御点を頂点とする四角形が形成できる。このように、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)および第(j+1)番目の制御点G(i,j+1)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された第j番目の制御点G(i+1,j)および第(j+1)番目の制御点G(i+1,j+1)と、の合計4点を頂点とする四角形を定義すれば、これらの四角形の集合によって、パイプの三次元形状データDpを構成することができる(第0番目の制御点G0を、第12番目の制御点G12としても取り扱うようにすれば、断面図形の全周囲に四角形を定義することができる)。
なお、複数の制御点を頂点として形成するポリゴンは、必ずしも四角形にする必要はない。たとえば、図26に示す例において、制御点G(i,j)と制御点G(i+1,j+1)とを結ぶようにすれば、四角形の代わりに2組の三角形が形成されることになる。結局、一般論として拡張すれば、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された1つもしくは複数の制御点と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された1つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データDpを作成することができることになる。
以上、パイプの三次元形状データDpをポリゴンの集合体として構成する例を述べたが、もちろん、パイプの三次元形状データDpをNURBSなどのパラメトリック曲面の集合体として構成することも可能である。この場合は、各制御点を通るようなNURBS曲面を定義する処理を行えばよい。このような処理を行うための技術は、既に種々の手法が知られている公知技術であるため、ここでは詳しい説明は省略する。
<<< §8.二次元断面図形の配置補正 >>>
前掲の§7では、パイプの三次元形状データDpを作成する際に、たとえば、図21に示すように、第2の基準線L2上に所定間隔で代表点Q(i),Q(i+1),Q(i+2),…を定義し、各代表点位置に、パイプの二次元断面図形C(i),C(i+1),C(i+2),…を、各代表点における第2の基準線L2の接線ベクトルT(i),T(i+1),T(i+2),…に対して直交する向きに配置する処理を行う例を説明した。このように、各二次元断面図形を、第2の基準線L2に直交する向きに配置する、という方法は、第2の基準線L2が直線もしくは直線に近い曲線の場合には、極めて有効な手法である。しかしながら、第2の基準線L2が、かなり屈曲した曲線であった場合、必ずしも最適な手法にはならない。
たとえば、図27は、逆U字状に屈曲した第2の基準線L2について、パイプの二次元断面図形C1〜C13を配置した状態を示す側面図である。ここで、各二次元断面図形C1〜C13が、いずれも円であったとすると、個々の円は、第2の基準線L2上に所定間隔で設定された代表点Q1〜Q13の位置に、それぞれ中心点がくるように配置されていることになり、その向きは、各代表点位置において、第2の基準線L2に直交する向きとなっている。パイプの三次元形状データDpは、これら各円の円周を滑らかに接続することにより得られる構造体として定義される。具体的には、図25に示すように、各円の円周上に複数の制御点G0〜G11を定義し、これらの制御点を頂点とするポリゴンの集合や、これらの制御点を通るパラメトリック曲面の集合体として、パイプの三次元形状データDpが構成されることになる。
したがって、より精度の高い三次元形状データDpを生成するためには、三次元空間上での制御点密度ができるだけ一様に分布しているようにするのが好ましい。制御点密度の分布にムラが生じてしまうと、密な部分については、精度の高い三次元形状データDpが得られる反面、粗な部分については、精度の低い三次元形状データDpしか得られなくなる。別言すれば、各代表点Q1〜Q13の位置に、各円C1〜C13を配置する場合、1つの円の円周上の各部と、隣接する別な円の円周上の各部と、の距離が、できるだけ一様になっていた方が好ましい。ところが、§7で述べた基本的な手法に基づいて各円C1〜C13を配置した場合、各円の向きは、第2の基準線L2に直交する向きとなるため、第2の基準線L2が湾曲した部分では、湾曲の内側部分と外側部分とにおいて、制御点密度に差が生じてしまう。
たとえば、図27に示す例の場合、第2の基準線L2の直線部分に配置された円C1〜C3や、円C11〜C13に関しては、それぞれの円周に定義される制御点の密度は一様になる。ところが、第2の基準線L2の湾曲部分に配置された円C4〜C10に関しては、それぞれの円周に定義される制御点の密度が不均一になる。すなわち、湾曲の内側部分では密、外側部分では粗になる。この現象は、第2の基準線L2の湾曲度がより高くなると、より顕著になる。たとえば、図28に示す例の場合、第2の基準線L2の湾曲部分に配置された円C3〜C7に着目すると、湾曲の内側部分では、隣接する円の円周間距離(最近接部の距離)が極めて小さくなり、制御点密度が密になっているのに対して、湾曲の外側部分では、隣接する円の円周間距離(最遠隔部の距離)が大きくなり、制御点密度が粗になっている。
また、第2の基準線L2の湾曲度が高い場合、制御点密度の粗密の問題だけでなく、隣接する円の外周部分が空間的に重なり合うという別な問題も生じることになる。たとえば、図28に示す例において、各円の半径がもう少し大きく設定されていた場合を考えてみよう。この場合、円C4,C5,C6の外周部分は、湾曲の内側部分において重なり合い、相互に干渉してしまうことになる。このような現象が生じると、パイプの三次元形状データDpを作成する上で支障が生じることになる。
このような問題を解決するには、各円の向きに関する配置を補正すればよい。たとえば、図27に示されている各円C1〜C13の配置を、図29に示すように補正したり、図28に示されている各円C1〜C9の配置を、図30に示すように補正したりすれば、上述した問題は、完全には解決しないまでも、かなり緩和される。別言すれば、図27や図28に示す配置(各円を第2の基準線L2に直交させる配置)よりも、図29や図30に示す配置の方が、より好ましい配置ということになる。前者の配置と後者の配置を比較すると、各円の配置位置(代表点位置)は同じであるが、配置向き(第2の基準線L2に対する角度)が変わっていることになる。なお、実際には、第2の基準線L2の湾曲部分を補正対象区間に設定し、当該区間の両端に位置する円(図29の円C1,C13や、図30の円C1,C9)については、配置位置も配置向きも補正せずに固定しておくようにすると、第2の基準線L2の直線部分に配置された円となめらかに接続されるようになるので好ましい。
結局、図8に示すパイプ形状データ作成手段60に、第2の基準線L2上に所定間隔で代表点Q1,Q2,Q3,…を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形C1,C2,C3,…を、それぞれ所定の向き(§7で述べた例の場合は、第2の基準線L2に直交する向き)に初期配置する処理を行った後、この初期配置された各二次元断面図形C1,C2,C3,…に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成する機能をもたせておけば、上述した問題を十分緩和させることが可能になる。
もちろん、パイプ形状データ作成手段60は、コンピュータに専用プログラムを組み込むことによって実現される手段であるから、図27に示す配置を図29に示す配置に補正する処理や、図28に示す配置を図30に示す配置に補正する処理は、コンピュータによる演算処理として実行されることになる。このような配置補正処理の基本方針は、上述したように、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように配置の向きを補正する、ということになるが、本願発明者は、このような配置補正処理に適した次のようなアルゴリズムを案出した。
このアルゴリズムは、いわば「仮想ばね」を用いた力学系の物理現象をシミュレートするアルゴリズムということができる。まず、その基本概念を説明する。いま、図31に示すような力学系を考える。この力学系は、図27に示す二次元断面図形C1〜C13の配置に対応するものである。ここでは、各二次元断面図形C1〜C13が、それぞれ剛性をもった物理的な円盤から構成されているものとする。また、この補正対象区間の両端の円盤C1,C13は、その中心点の位置が各代表点に固定され、向きも固定されているものとし、中間に配置された各円盤C2〜C12は、その中心点の位置が各代表点に固定されているが、向きに関する自由度を有しているものとする。そして、各円盤C1〜C13の円周部の2カ所の制御点(第2の基準線L2の湾曲に関する内側部分と外側部分)に、図示のとおり、それぞれ仮想ばねが接続されているものとする。また、すべての仮想ばねは、物理的に同一のばね(ばね定数や長さが同一のばね)であるものとする。
さて、ここで、各仮想ばねを取り付ける段階では、各円盤C1〜C13を完全に固定しておき(「向きに関する自由度」も制限しておき)、すべての仮想ばねの取り付けが完了した状態で、中間に配置された各円盤C2〜C12に「向きに関する自由度」を与えたとしよう。このとき、「位置に関する自由度」は与えず、各円盤の中心点は、第2の基準線L2上の各代表点に固定されているものとする。すると、標準よりも大きな距離をもった制御点間に接続された仮想ばねには縮む方向の力が作用し、標準よりも小さな距離をもった制御点間に接続された仮想ばねには広がる方向の力が作用し、これらの力の作用により、各円盤C2〜C12に対して、向きに関する配置補正が行われることが理解できよう。図32は、このような配置補正後の状態の一例を示す図であり、各円盤C1〜C13の配置は、図29に示す配置に対応するものとなっている。
以上が、ここで述べる配置補正アルゴリズムの基本概念であるが、この配置補正の目的は、各二次元断面図形の向きを、より好ましい状態に変更することを目的とするものであるから、必ずしも物理的に正確なシミュレーションを行う必要はない。以下、実用上好ましいと思われる具体的なシミュレーションの手法を説明する。
まず、仮想ばねの本数であるが、図31,図32に示す前掲の例に用いられている仮想ばねの本数では、実用上、不十分である。この前掲の例では、基本概念を説明するため、隣接する二次元断面図形C間に2本の仮想ばねのみを接続しているが、第2の基準線L2は、種々の方向に湾曲する可能性があるため、実用上はより多数の仮想ばねを用いるのが好ましい。ここでは、図25に示すように、円からなる二次元断面図形Cの円周上に、12個の制御点G0〜G11を定義し、隣接する二次元断面図形上の対応する制御点間に、12本ずつの仮想ばねを接続する例を述べることにする。
既に§7において述べたように、第2の基準線L2上の各代表点に配置された二次元断面図形には、回転方向に関する位置基準を定めることができる。すなわち、代表点Q(i)を通り接線ベクトルT(i)に直交する投影面を定義し、接線ベクトルT(i)、法線n(i)、投影ベクトルTT(i)の三者が同一平面上に含まれることになるように、当該投影面上に投影ベクトルTT(i)を定義し、この投影ベクトルTT(i)の向きを、パイプの二次元断面図形C(i)を配置する上での回転方向に関する位置基準と定めることができる(図22に示す例のように、n(i)がT(i)に直交する場合は、TT(i)=n(i)になる)。
そこで、図25に示すように、二次元断面図形C(i)上に12個の制御点G0〜G11を定義する際に、投影ベクトルTT(i)の向きに制御点G0を定義し、以下、時計回りに制御点G1〜G11を定義するようにすれば、隣接する二次元断面図形間で、それぞれ対応する制御点を定義することができる。たとえば、図33に示すように、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)と、の間に接続される仮想ばねを考えてみよう。
まず、二次元断面図形C(i)上の制御点G(i,0)は、その隣にある二次元断面図形C(i+1)上の制御点G(i+1,0)に対応しているので、両者間には、図示のとおり、1本の仮想ばねEα(i,0)が接続されることになる。また、二次元断面図形C(i)上の制御点G(i,6)は、その隣にある二次元断面図形C(i+1)上の制御点G(i+1,6)に対応しているので、両者間には、図示のとおり、1本の仮想ばねEα(i,6)が接続されることになる。図33では図示を省略してあるが、残りの制御点間にも同様に仮想ばねが接続されることになり、結局、二次元断面図形C(i)と、その次に隣接する二次元断面図形C(i+1)との間には、合計12本の仮想ばねが接続されることになる。もちろん、二次元断面図形C(i)と、その1つ手前に隣接する二次元断面図形C(i−1)との間にも、同様に、合計12本の仮想ばねが接続される。ここで、すべての仮想ばねは、物理的に同一のばね(ばね定数や長さが同一のばね)である。
もちろん、各二次元断面図形の輪郭線上に定義する制御点は、必ずしも12個にする必要はない。一般論として述べれば、図34に示すように、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の輪郭線上に、複数J個の制御点を定義し、そのうちの第j番目の制御点をG(i,j)とすると、この制御点G(i,j)には、図示のとおり、右方向に仮想ばねEα(i,j)が接続され、左方向に仮想ばねEβ(i,j)が接続されることになる。ここで、図示されている二次元断面図形C(i)の右側に、第(i+1)番目の代表点Q(i+1)が存在し、そこに二次元断面図形C(i+1)が配置されているものとすると(図34には示されていない)、仮想ばねEα(i,j)の右端は、この二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)に接続されることになる。同様に、図示されている二次元断面図形C(i)の左側に、第(i−1)番目の代表点Q(i−1)が存在し、そこに二次元断面図形C(i−1)が配置されているものとすると(図34には示されていない)、仮想ばねEβ(i,j)の左端は、この二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)に接続されることになる。
結局、二次元断面図形C(i)の右側には、合計J個の仮想ばねが接続され、左側にも同じく合計J個の仮想ばねが接続されることになる。もっとも、図34に示す第j番目の仮想ばねEα(i,j),Eβ(i,j)は、二次元断面図形C(i)に着目した呼称であり、仮想ばねEα(i,j)は、二次元断面図形C(i+1)に着目すると、仮想ばねEβ(i+1,j)ということになり、仮想ばねEβ(i,j)は、二次元断面図形C(i−1)に着目すると、仮想ばねEα(i−1,j)ということになる。
さて、このように各仮想ばねを定義したら、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートし、各二次元断面図形に対する配置補正(位置ではなく、向きに関する配置の補正)を行うことになるが、具体的には、たとえば、次のような手順により、配置補正を行えばよい。
まず、図34に示すように、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、第j番目の制御点G(i,j)が、仮想ばねEα(i,j)から受ける力Fα(i,j)と、仮想ばねEβ(i,j)から受ける力Fβ(i,j)と、の差ΔF(i,j)を求める演算を、全J個の制御点についてそれぞれ行う。すなわち、ΔF(i,j)=Fα(i,j)−Fβ(i,j)なる演算が行われることになる。ここで、Fα(i,j),Fβ(i,j)としては、それぞれ力の大きさを示す絶対値を用いればよい。ΔF(i,j)の符号は、Fα(i,j)>Fβ(i,j)の場合は正となり、Fα(i,j)<Fβ(i,j)の場合は負となる。
力Fα(i,j),Fβ(i,j)の値は、仮想ばねEα(i,j),Eβ(i,j)の長さに応じて一義的に決定できる。ここに示す実施形態では、各仮想ばねを、所定のばね定数をもち、何ら力が加えられていない自然の状態において、長さが0になるようなばねとして定義している。もちろん、自然長が0になるようなばねは、現実の世界には存在しないが、ここではそのような仮想ばねを定義することにより、演算の便宜を図っている。したがって、このシミュレーションでは、各仮想ばねには、常に縮もうとする力が加わっており、1本の仮想ばねの両端に接続されている制御点間には、常に引力が作用した状態となっている。当然、2つの制御点間距離が大きいほど、2点間には大きな引力が作用することになり、前述した基本概念に沿った配置補正が行われることになる。
たとえば、図34に示す制御点G(i,j)には、仮想ばねEα(i,j)によって、右方向への引力Fα(i,j)が作用し、同時に、仮想ばねEβ(i,j)によって、左方向への引力Fβ(i,j)が作用する。そして、制御点G(i,j)に対して、最終的に作用する力は、両者の差ΔF(i,j)によって示される。ΔF(i,j)が正の場合、制御点G(i,j)に対しては、右方向への引力が作用し、ΔF(i,j)が負の場合、制御点G(i,j)に対しては、左方向への引力が作用することになる。また、作用する引力の大きさは、ΔF(i,j)の絶対値ということになる。
図35は、このような仮想ばねモデルの中の第i番目の二次元断面図形C(i)上の制御点に対して加わる力を示す平面図である。たとえば、第0番目の制御点G(i,0)に加わる力は、ΔF(i,0)であり、第7番目の制御点G(i,7)に加わる力は、ΔF(i,7)である。各力の方向は、その符号によって、紙面垂直上方か、紙面垂直下方か、のいずれかになる。このように、二次元断面図形C(i)の輪郭線上には、複数J個の制御点(前掲の例の場合は、J=12)が定義されているため、最終的に、この二次元断面図形C(i)の向きをどのように補正すべきかは、すべての制御点に加わる力の合力に応じて決定すべき事項ということになる。
本願発明者は、次のような簡単な方法により、二次元断面図形C(i)の向きを、合理的に補正することができることに想到した。まず、この二次元断面図形C(i)を含む平面上に、代表点Q(i)から制御点G(i,j)へ向かう方向を向き、大きさがΔF(i,j)に相当する変位ベクトルV(i,j)を定義する。すなわち、j=0,1,2,…のそれぞれについて、変位ベクトルV(i,j)を定義し、合計J個の変位ベクトルを定義する。このとき、ΔF(i,j)が負の場合には、代表点Q(i)から制御点G(i,j)へ向かう方向ではなく、それと逆方向を向くベクトルとして、変位ベクトルV(i,j)を定義することにする。
たとえば、図35において、第0番目の制御点G(i,0)に加わる力ΔF(i,0)
が正であったとすると、図36に示すように、代表点Q(i)から制御点G(i,0)へ向かう方向を向き、大きさがΔF(i,0)に相当する変位ベクトルV(i,0)を定義する。同様に、図35において、第7番目の制御点G(i,7)に加わる力ΔF(i,7)が負であったとすると、図36に示すように、まず、代表点Q(i)から制御点G(i,7)へ向かう方向を向き、大きさがΔF(i,7)の絶対値に相当する変位ベクトルV(i,7)′を定義し(図では、破線で示す)、続いて、これを反転させた変位ベクトルV(i,7)を定義する。変位ベクトルV(i,7)′とV(i,7)とは、大きさが等しく、向きが反対のベクトルである。
結局、変位ベクトルV(i,7)は、第7番目の制御点G(i,7)に加わる力ΔF(i,7)に応じた大きさをもったベクトルであるが、第1番目の制御点G(i,1)を向いたベクトルとなっている。このように、力ΔF(i,j)が負の場合には、代表点Q(i)から制御点G(i,j)へ向かう方向ではなく、それと逆方向を向くベクトルとして、変位ベクトルV(i,j)を定義するのは、二次元断面図形C(i)について、代表点Q(i)の位置を固定し、向きだけの自由度をもたせた環境下では、制御点G(i,j)に対して負方向の力を加えることは、それと反対位置にある制御点に対して正方向の力を加えることと等価になるからである。図36の例の場合、第7番目の制御点G(i,7)に、たとえば、紙面垂直下方への力を加えることは、第1番目の制御点G(i,1)に、紙面垂直上方への力を加えることと等価である。
図37は、二次元断面図形C(i)上の12個の制御点に加わる力を変位ベクトルとして、この断面図形上に表示した状態を示す平面図である。円周上の12個の点は、個々の制御点を示し、そこに記述された数字は、当該制御点に加えられる力ΔF(i,j)の値を符号付きで示したものである。力ΔF(i,j)が負の場合には、変位ベクトルを破線で表示してある。すなわち、各変位ベクトルは、その矢印の先に記述されている数字の絶対値に応じた長さを有しており、当該数字が負の場合には、矢印は破線で示されている。実際には、この破線で示された変位ベクトルは、その向きが反転されることになる。
こうして、合計J個(図37の例の場合、J=12)の変位ベクトルが得られたら、これらの変位ベクトルの和として総合変位ベクトルΣV(i)を求める。図37に示す例の場合は、図38に示すように、第4番目の制御点G(i,4)と第5番目の制御点G(i,5)との間に位置する作用点M(i)を向いた総合変位ベクトルΣV(i)が得られる(ベクトルΣV(i)の長さは、図示の便宜上、規格化してある)。
ここで、図37に示す12個の制御点に、それぞれ数字で示されている大きさの力を、各数字の符号で決まる方向(紙面垂直上方か下方)に作用させることと、図38に示す作用点M(i)に、ベクトルΣV(i)の長さに応じた大きさの力を、一定方向(符号の定義の仕方によって決まる紙面垂直上方か下方かのいずれか一方)に作用させることとは、この仮想ばねモデルのシミュレーション上では等価になる。したがって、図38に示すような結果が得られた場合には、作用点M(i)を、ベクトルΣV(i)の長さに応じた変位量だけ、所定方向に移動させるように、二次元断面図形C(i)の向きを補正すればよい。
もっとも、二次元断面図形C(i)の中心点は、代表点Q(i)の位置に固定されているので、図38に示す作用点M(i)を紙面垂直方向に移動させることは、代表点Q(i)を通り、二次元断面図形C(i)上に含まれ、かつ、総合変位ベクトルΣV(i)に直交する直線を回転軸Ωとして、二次元断面図形C(i)を、総合変位ベクトルΣV(i)の大きさに応じた変位角ξ(i)だけ回転させることと等価になる。
図39は、このようにして、二次元断面図形C(i)を回転軸Ωまわりに、変位角ξ(i)だけ回転させることにより、配置補正された二次元断面図形C(i)′を得る概念を示す斜視図であり、回転後の位置が破線で示されている。この回転により、作用点M(i)は、M(i)′の位置まで移動し、総合変位ベクトルΣV(i)は、ΣV(i)′の位置まで移動する。
図40は、隣接する第i番目の二次元断面図形C(i)と、第(i+1)番目の二次元断面図形C(i+1)とについて実行された配置補正の一例を示す斜視図である。いずれも実線は配置補正前の位置、破線は配置補正後の位置を示している。二次元断面図形C(i)については、作用点M(i)がM(i)′の位置に、総合変位ベクトルΣV(i)がΣV(i)′の位置に、それぞれ移動し、紙面上で時計まわりの回転補正が行われ、補正後の位置C(i)′が得られている。一方、二次元断面図形C(i+1)については、作用点M(i+1)がM(i+1)′の位置に、総合変位ベクトルΣV(i+1)がΣV(i+1)′の位置に、それぞれ移動し、紙面上で反時計まわりの回転補正が行われ、補正後の位置C(i+1)′が得られている。ここで、作用点M(i+1)の反対位置に、図示のような作用点μ(i+1)を定義すると、この作用点μ(i+1)は、μ(i+1)′の位置まで移動している。結局、作用点M(i)と作用点μ(i+1)との間の距離は、補正によって接近したことになる。
以上、具体的な配置補正のアルゴリズムを説明したが、実用上は、変位角ξ(i)を総合変位ベクトルΣV(i)の大きさに応じて、適当な大きさに設定するように調整しないと、効果的な配置補正を行うことはできない。最も単純な設定は、変位角ξ(i)を総合変位ベクトルΣV(i)の大きさに対して比例する量とする設定であるが、この場合でも、比例定数を適当な値に定めてやる必要がある。具体的には、変位角ξ(i)の最大値が90°を超えないような設定を行えばよい。
また、実際には、上述した補正処理を1回行うだけで、理想的な配置補正が行われることは期待できないので、個々の二次元断面図形C(i)について、それぞれ配置補正された二次元断面図形C(i)′を求める補正処理を行ったら、求められた個々の二次元断面図形C(i)′を新たな二次元断面図形C(i)として、補正処理を繰り返し実行するようにするのが好ましい。たとえば、図40に示す例の場合、図に実線で示されている各二次元断面図形C(i),C(i+1)に対して、上述の仮想ばねモデルによる補正処理を行うことにより、図に破線で示されている二次元断面図形C(i)′,C(i+1)′が得られることになるので、今度は、この二次元断面図形C(i)′,C(i+1)′を、新たな二次元断面図形C(i),C(i+1)として、上述の仮想ばねモデルによる補正処理を再度実行する、という手順を繰り返してゆけばよい。変位角ξ(i)の値の設定がうまく行われていれば、この仮想ばねモデルによる力学系は徐々に収束してゆくことになる。もちろん、この補正処理は、系が完全に収束するまで実行する必要はなく、たとえば、予め定めておいた所定の繰り返し回数だけ実行した段階で終了してかまわない。
<<< §9.パイプ表面への皺の形成 >>>
表面にパイプを有する物品は、ソファなどの家具、自動車の内装、衣服、バッグ、靴、鞄など、多岐にわたるが、パイプ部分の材質としては、布、皮、合成皮革など、柔軟な素材が用いられることが多い。このような柔軟な素材からなるパイプは、自由に湾曲することができ、物品の表面における取り回しが容易であり、その特性上、表面に皺が形成されることも少なくない。ここでは、パイプの三次元形状データDpを作成する際に、表面に皺を形成する手法を述べることにする。
図41は、円筒状のパイプの三次元形態Dpの一部分に皺発生区間Wrを設定し、この皺発生区間Wrにおいて、表面に皺を形成した一例を示す斜視図である。このような皺は、二次元断面図形に対して、周期的なサイズの変動を加えることにより形成することができる。図42は、皺発生区間Wrを作成する基本原理を示す平面図である。この図42に示されているパイプの三次元形態Dpの両端部分は、断面(紙面に垂直な面)が半径r0の円から構成されているが、パイプの中央に設けられた皺発生区間Wrの断面は、いずれも円ではあるものの、半径は周期的に変動している。すなわち、皺発生区間Wrの断面の半径は、最大値rmax〜最小値rminの間の値となっている。この例の場合、rmax>r0>rminである。
既に述べたとおり、図8に示すパイプ形状データ作成手段60は、第2の基準線L2上に所定間隔で代表点を定義し、各代表点位置に、パイプ断面パラメータで示されるパイプの二次元断面図形(たとえば、半径r0の円)を、それぞれ所定の向きに配置する処理を行うことにより、パイプの三次元形状データDpを作成することができる。こうして作成されたパイプ表面に皺を形成するには、図42に示す例のように、第2の基準線L2に沿った一部の領域(もしくは、全領域でもかまわない)に、皺発生区間Wrを設定し、この皺発生区間内に配置されていた各二次元断面図形(たとえば、半径r0の円)に対して、第2の基準線に沿った方向(図の場合は横方向)に関して周期的なサイズの変動を加えればよい。
サイズ変動を加える具体的な方法としては、たとえば、皺発生区間Wrに所属する第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、図26に示すように、その輪郭線上に複数個の制御点を定義し、各制御点を移動させる処理を行えばよい。このとき、たとえば、第j番目の制御点G(i,j)の移動方向は、代表点Q(i)と制御点G(i,j)とを結ぶ直線に沿った方向(断面図形C(i)が、円の場合は半径方向)となるようにし、移動前の代表点Q(i)と制御点G(i,j)との距離がr(i,j)であったとすると、この距離が新たな距離R(i,j)となるように移動させればよい。
たとえば、図25に示す例のように、二次元断面図形Cが半径rの円からなり、その輪郭線上に12個の制御点G0〜G11が定義されている場合、各制御点G0〜G11を、それぞれ半径方向に移動させればよい。実際には、所定の変動関数Ψを定義し、R(i,j)=r(i,j)+(r(i,j)×Ψ)なる演算により、新たな距離R(i,j)を求めるとよい。変動関数Ψは、変動量(制御点の移動距離)を決定するためのパラメータとなり、正および負の値をとることができる。上記式における右辺の(r(i,j)×Ψ)なる項は、具体的な変動量を示しており、元の距離r(i,j)に対して、この変動量(r(i,j)×Ψ)を加算することにより、新たな距離R(i,j)が求まることになる。
実際には、変動関数Ψとして、変数sについての周期関数Ψ(s)を定義すればよい。ここで、変数sは、第2の基準線L2上に定義された所定の始点Qsからの第2の基準線L2に沿った距離を示しており、たとえば、図42に示す例の場合、変数sは、始点Qsからの右方向への隔たりを示す値になる。変動関数Ψを、変数sについての周期関数Ψ(s)としておけば、図42に示す第2の基準線L2に沿って、点を横方向に移動させてゆくと、変動関数Ψ(s)の値は周期的に増減することになる。第2の基準線L2上には、離散的に多数の代表点Qが定義されているが、第i番目の代表点Q(i)について、始点Qsからの距離sを求めれば、変動関数Ψ(s)の値が定まるので、この第i番目の代表点Q(i)位置に配置されている二次元断面図形C(i)についての第j番目の制御点G(i,j)の移動量が(r(i,j)×Ψ(s))として求まり、移動後の制御点G(i,j)と代表点Q(i)との新たな距離R(i,j)は、上述したように、R(i,j)=r(i,j)+(r(i,j)×Ψ(s))となる。
変動関数Ψは、変数sについての周期関数であれば、どのような関数を定義してもかまわないが、実用上は、たとえば、図43に示すような三角関数を含む周期関数として定義するのが好ましい。図43(1) は、所定の定数Aおよび周期λを用いて、Ψ=A・sin(2πs/λ)なる変動関数を定義した例を示している。図42に示されている皺発生区間Wrは、この図43(1) に示す周期関数Ψを用いて作成したものであり、形成される皺の形状は正弦波となっている。ここで、λは、皺の周期(第2の基準線L2に沿った方向に関する周期)を規定するパラメータとなり、定数Aは、変動の振幅を示すパラメータであり、皺の彫りの深さ(半径の最大値rmaxと最小値rminとの差)を規定する値となる。図43(2) に示すΨ=A・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)を用いた場合も、ほぼ同じような形状の皺を発生させることができる。図43(1) の式は、図43(2) の式における定数γ=1に設定したものに相当する。γの値を変えると、形成される皺の形状が正弦波形状から変化することになる。
これに対して、図43(3) および(4) に示す周期関数は、それぞれ図43(1) および(2) に示す周期関数における振幅を、定数Aではなく、変数A(i,j)に置き換えたものである。すなわち、図43(4) には、振幅A(i,j)および皺の周期λを用いて、Ψ=A(i,j)・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)が定義されており、このような変動関数を用いると、制御点G(i,j)に関する移動量が変数(i,jの関数)で示される振幅A(i,j)に応じて定まることになる。一方、図43(3) に示されている変動関数は、図43(4) の式における定数γ=1に設定したものに相当する。
変動関数Ψの振幅を定数Aに設定すると、皺発生区間Wrの全域にわたって、同じ変動振幅が適用されることになり、皺の彫りの深さは、皺発生区間Wrの全域にわたって一定となる。たとえば、図42に示す例は、図43(1) に示す周期関数Ψを用いて作成したものであり、変動関数Ψの振幅は定数Aに設定されている。したがって、皺発生区間Wrの全域にわたって、皺の彫りの深さは一定となっている。具体的には、図42に示す皺発生区間Wr内には、山の箇所(半径が膨らんだ箇所)が5カ所存在するが、いずれの山も、半径が最大値rmaxと同一となっている。また、谷の箇所(半径が窪んだ箇所)が5カ所存在するが、いずれの谷も、半径が最小値rminと同一となっている。
これに対して、振幅を変数A(i,j)に置き換えた図43(3) および(4) に示す変動関数Ψを用いると、図42に示す皺発生区間Wr内の5カ所の山の高さや、5カ所の谷の深さを、互いに変えることが可能になる。これは変数A(i,j)の値が、二次元断面図形の番号を示すパラメータiに依存して変化するためである。たとえば、図42に示す皺発生区間Wr内に、第101番目〜第200番目までの二次元断面図形C(101)〜C(200)が、図の左から右に向かって配置されていたものとしよう。そして、変数A(i,j)として、パラメータiの値が101〜200に増加するにしたがって、その値が増加するような関数を定義しておいたとしよう。この場合、図42に示す皺発生区間Wr内の5カ所の山は、左から右へゆくにしたがって徐々に高くなってゆき、5カ所の谷は、左から右へゆくにしたがって徐々に深くなってゆくことになる。このように、変動関数Ψの振幅として、二次元断面図形の番号を示すパラメータiに依存した変数A(i,j)を用いるようにすると、皺発生区間Wr内の各部で、皺の彫りの深さを変えることができるようになる。
一方、変数A(i,j)には、制御点の番号を示すパラメータjが含まれているので、このパラメータjを利用すると、同一の二次元断面図形上の各部分ごとに、変動量を変えることが可能になる。たとえば、図25に示す例のように、円形の二次元断面図形C上に、第0番目の制御点G0〜第11番目の制御点G11に至るまで、合計12個の制御点を定義した場合を考える。ここで、パラメータjは、この制御点の番号を示しており、第j番目の制御点が、制御点Gjであるものとする。ここで、たとえば、j=0〜3については、変数A(i,j)の値を1に設定し、j=4〜8については、変数A(i,j)の値を0に設定し、j=9〜11については、変数A(i,j)の値を1に設定したものとしよう。別言すれば、図25に示す12個の制御点のうち、ほぼ上半分に所属する制御点に関しては変数A(i,j)の値が1に設定され、ほぼ下半分に所属する制御点に関しては変数A(i,j)の値が0に設定されたことになり、上半分の制御点は周期的変動を生じるが、下半分の制御点は周期的変動を全く生じないことになる。
このような設定を行うと、結局、皺発生区間Wrにおいて、パイプの上面には皺が形成されるが、下面には皺が全く形成されないことになる。たとえば、図42に示す例の場合、皺発生区間Wrのパイプ上面の形状は、図示のような正弦波状になるが、下面は直線のままとなる。このように、変動関数Ψの振幅として、制御点の番号を示すパラメータjに依存した変数A(i,j)を用いるようにすると、パイプの周囲方向の各部分ごとに、皺の彫りの深さを変えることができるようになる。
このように、変数A(i,j)なる形の振幅をもった変動関数Ψは、実用上、極めて有効である。たとえば、図44に示すパイプの三次元形態Dpを見てみよう。このパイプは、逆U字状に屈曲しており、屈曲部分に皺発生区間Wrが形成されている。しかしながら、この皺発生区間Wrを、屈曲部分の内側部分Wr(in)と、屈曲部分の外側部分Wr(out)とに分けて見ると、内側部分Wr(in)については皺が発生しているが、外側部分Wr(out)については皺が全く発生していないことがわかる。このように、屈曲部分の内側には皺が発生するが、外側には皺が発生しない、という事象は、ごく自然な事象であり、布、皮、合成皮革などの柔軟な素材からなるパイプについては、日常において一般的に観察される事象である。また、同じ内側部分Wr(in)についての皺であっても、屈曲率の高い中央部分の皺の方が、周囲部分の皺に比べて、より彫りが深くなる、という事象も、ごく自然で、一般的に観察される事象である。
変数A(i,j)なる形の振幅をもった変動関数Ψを用いれば、このような事象に適した皺の発生が可能になる。ここで、変数A(i,j)は、オペレータが、所望の皺が作成されるように、任意に設定することも可能であるが、実は、§8で述べた手法を利用すると、自動的に定義することが可能になる。以下、その原理を説明する。
まず、図44に示されている屈曲したパイプに対応する三次元形状データDpを、§8までに述べた手法で作成したものとしよう。この場合、表面にはまだ皺は形成されていない。ここで、図27に示す二次元断面図形C1〜C13の配置例(向きに関する配置補正を行う前の状態)あるいは図29に示す二次元断面図形C1〜C13の配置例(向きに関する配置補正を行った後の状態)を見ればわかるとおり、屈曲したパイプに対応する三次元形状データDpを作成するプロセスにおいて、第2の基準線L2に沿って二次元断面図形C1〜C13を配置した場合、それぞれ隣接する二次元断面図形の対応する制御点間の距離は、屈曲部分の内側については小さく、屈曲部分の外側については大きくなる。一方、図44に示す例からわかるとおり、自然の事象として、屈曲した実際のパイプの場合、屈曲部分の内側には皺が発生するが、外側には皺が発生しない。これは、隣接する二次元断面図形の制御点間距離が、皺の彫りの深さに関連した値になることを示している。
すなわち、大まかな方針としては、第2の基準線L2に沿って各二次元断面図形を配置した後、それぞれ隣接する二次元断面図形の対応する制御点間距離を求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅(前掲の変動関数Ψを用いる場合は、振幅変数A(i,j)の値)がより大きくなるように、個々の制御点の移動を行うようにすればよい。具体的には、次のような処理により、各制御点の位置変動を行い、皺の生成を行うようにすればよい。
いま、図45に示すように、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)と、が配置されているものとする。そして、図示のとおり、二次元断面図形C(i)の第0番目の制御点G(i,0)と二次元断面図形C(i+1)の第0番目の制御点G(i+1,0)との間の距離を、制御点間距離dα(i,0)とし、二次元断面図形C(i)の第0番目の制御点G(i,0)と二次元断面図形C(i−1)の第0番目の制御点G(i−1,0)との間の距離を、制御点間距離dβ(i,0)とする。また、制御点間距離dα(i,0)と制御点間距離dβ(i,0)との平均値を制御点間平均距離dαβ(i,0)とする。同様に、二次元断面図形C(i)の第6番目の制御点G(i,6)と二次元断面図形C(i+1)の第6番目の制御点G(i+1,6)との間の距離を、制御点間距離dα(i,6)とし、二次元断面図形C(i)の第6番目の制御点G(i,6)と二次元断面図形C(i−1)の第6番目の制御点G(i−1,6)との間の距離を、制御点間距離dβ(i,6)とする。また、制御点間距離dα(i,6)と制御点間距離dβ(i,6)との平均値を制御点間平均距離dαβ(i,6)とする。
ここで、皺を形成するために、二次元断面図形C(i)上の制御点G(i,0),G(i,6)を、それぞれ半径方向に移動させることにする。すなわち、現時点では、図示のとおり、制御点G(i,0)は、代表点Q(i)から距離r(i,0)の位置にあるが、これを新たな距離R(i,0)の位置まで移動することにする。ここで、新たな距離R(i,0)は、前述したとおり、R(i,0)=r(i,0)+(r(i,0)×Ψ)なる式で求められる。同様に、現時点では、制御点G(i,6)は、代表点Q(i)から距離r(i,6)の位置にあるが、これを新たな距離R(i,6)の位置まで移動することにする。ここで、新たな距離R(i,6)は、R(i,6)=r(i,6)+(r(i,6)×Ψ)なる式で求められる。なお、変動関数Ψとしては、たとえば、図43(3) に示す周期関数のように、振幅変数A(i,j)を含む関数を用いるようにする。
さて、図45に示す例の場合、制御点間平均距離dαβ(i,6)は、制御点間平均距離dαβ(i,0)よりも小さくなる。これは、制御点G(i,6),G(i−1,6),G(i+1,6)が、屈曲部の内側部分に位置する制御点であるのに対して、制御点G(i,0),G(i−1,0),G(i+1,0)が、屈曲部の外側部分に位置する制御点であるためである。したがって、この場合、小さな制御点間平均距離dαβ(i,6)が得られた制御点G(i,6)について施される周期的な位置変動の振幅A(i,6)を大きく設定し、屈曲部の内側部分には、彫りの深い皺が形成されるようにし、大きな制御点間平均距離dαβ(i,0)が得られた制御点G(i,0)について施される周期的な位置変動の振幅A(i,0)を小さく設定し、屈曲部の外側部分には、彫りの浅い皺が形成されるようにすれば好都合である。
もちろん、制御点G(i,0)やG(i,6)が実際にどの程度の変動量をもって、どの方向に移動するかは、変数sの値も考慮しなければ決めることはできないが、少なくとも周期的な位置変動の振幅に関しては、制御点G(i,6)についての変動振幅の方が、制御点G(i,0)についての変動振幅よりも大きく設定されることになり、結果的に、屈曲部の内側部分には、彫りの深い皺が形成され、外側部分には、彫りの浅い皺が形成されることになる。
以上、図45では、説明の便宜上、屈曲部の外側に位置する制御点G(i,0)と、屈曲部の内側に位置する制御点G(i,6)とについての位置変動を説明したが、実際には、すべての制御点について、同様の処理が施されることになる。すなわち、一般論として述べれば、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dβ(i,j)と、を求め、距離dα(i,j)と距離dβ(i,j)との平均値dαβ(i,j)が小さい場合ほど、制御点G(i,j)について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うようにすればよい。
より具体的には、図43(3) ,(4) に示す変動関数Ψにおける振幅変数A(i,j)を、次のような方法により、制御点間平均距離dαβ(i,j)に関連づければ、振幅変数A(i,j)を演算によって決定することができるようになる。
第1の関連づけ方法は、図46(1) に示すように、所定の比例定数Kを用いて、A(i,j)=K/dαβ(i,j)なる式によって、制御点G(i,j)に対して適用されるべき振幅A(i,j)を定義する方法である。この場合、制御点間平均距離dαβ(i,j)が小さくなればなるほど、振幅変数A(i,j)の値は大きくなり、彫りの深い皺が形成されるようになる。
第2の関連づけ方法は、図46(2) に示すように、予め制御点間平均距離dαβ(i,j)のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点G(i,j)を移動させる際には、制御点間距離演算処理によって求められた値dαβ(i,j)に応じた近接度についての振幅を適用して移動量の演算を行うようにする方法である。
たとえば、図46(2) に示す例では、値dαβ(i,j)について、3段階の近接度が定義されている。段階1は、dαβ(i,j)の値が最も小さい領域であり、「大」なる近接度が設定されている。演算によって求められたdαβ(i,j)の値が、この段階1の領域内に属していた場合、振幅変数A(i,j)は、最も大きな値KLに設定されることになり、彫りの深い皺が形成されるようになる。段階2は、dαβ(i,j)の値が中くらいの領域であり、「中」なる近接度が設定されている。演算によって求められたdαβ(i,j)の値が、この段階2の領域内に属していた場合、振幅変数A(i,j)は、KLよりも小さい値KSに設定されることになり、彫りが中くらいの皺が形成されるようになる。段階3は、dαβ(i,j)の値が最も大きい領域であり、「小」なる近接度が設定されている。演算によって求められたdαβ(i,j)の値が、この段階3の領域内に属していた場合、振幅変数A(i,j)は、最も小さな値(この例では、0)に設定されることになり、彫りの浅い皺が形成されるようになる(この例では、振幅変数A(i,j)=0に設定されるので、皺は全く形成されないことになる)。
この例のように、「小」なる近接度が設定されている段階について、振幅=0なる設定を行えば、皺が全く形成されないことになるので、たとえば、図44に示すようなパイプの三次元形態に適用した場合、屈曲部の内側部分Wr(in)には彫りの深い皺が形成されるが、外側部分Wr(out)には皺が全く形成されないようにすることができる。もちろん、近接度の段階は、3段階に限定されるものではなく、任意の段階を設定することが可能である。
本発明に係る三次元形状データの作成方法の基本手順を示す流れ図である。 図1のステップS1で入力された基本形状データDbによって表現される物体の一例を示す斜視図である。 図1のステップS2において、基本形状データDbで示される物体の上面の中心位置に、第1の基準線L1(破線で示す)を定義した例を示す斜視図である。 図1のステップS3において定義されたパイプ断面パラメータPcに対応するパイプの断面形状の一例を示す平面図である。 図1のステップS4において定義されたパイプ配置パラメータhの一定義形態を示す平面図である。 図1のステップS5の段階で作成された第2の基準線L2の一例を示す斜視図である。 図1のステップS6の段階で作成されたパイプ形状データDpによって示されるパイプの三次元形態を示す斜視図である。 本発明に係る三次元形状データの作成装置の基本構成を示すブロック図である。 基本形状データDbで示される曲面を含む物体の一例を示す斜視図である。 図9に示す物体の表面に、第1の基準線L11,L12を定義した状態を示す斜視図である。 投影処理を利用した第1の基準線L11の定義方法の原理を示す斜視図である。 xy二次元直交座標系において、超二次関数を用いてパイプの二次元断面図形の定義を行った例を示す図である。 図12に示す式における定数εの値を変えた場合に、xy二次元直交座標系上に定義される二次元断面図形の形状を示す平面図である。 rθ極座標系を用いてパイプ断面パラメータを定義した例を示す平面図である。 図10に示す第1の基準線L11,L12に基づいて、第2の基準線L21,L22を作成した状態を示す斜視図である。 図15に示す第2の基準線L21を作成する具体的な方法を示す斜視図である。 図15に示す第2の基準線L21,L22に基づいて、パイプの三次元形状データDp1,Dp2を作成した状態を示す斜視図である。 2つの面が交差する線上に第1の基準線が定義された場合の第2の基準線の作成方法を示す正面図である。 第1の基準線L1上に定義された有限個の標本点に基づいて、第2の基準線L2を作成する方法を示す正断面図である。 第2の基準線L2に基づいて、パイプの三次元形状データDpを作成する方法を示す概念図である。 第2の基準線L2に基づいて、パイプの三次元形状データDpを作成する方法を示す別な概念図である。 第2の基準線L2に基づいて、パイプの三次元形状データDpを作成する方法を示す更に別な概念図である。 各代表点における接線ベクトルを定義する手法の一例を示す概念図である。 各代表点における接線ベクトルを定義する別な手法の一例を示す概念図である。 パイプの二次元断面図形の輪郭線上に複数の制御点G0〜G11を定義した状態を示す平面図である。 パイプの三次元形状データDpを構成するポリゴンの形成方法を示す斜視図である。 屈曲した第2の基準線L2についてのパイプの二次元断面図形の配置例を示す側面図である。 屈曲した第2の基準線L2についてのパイプの二次元断面図形の別な配置例を示す側面図である。 図27に示す二次元断面図形の配置を補正した状態を示す側面図である。 図28に示す二次元断面図形の配置を補正した状態を示す側面図である。 パイプの二次元断面図形の配置を補正するための仮想ばねモデルを示す側面図である。 図31に示す仮想ばねモデルにおける配置補正後の状態を示す側面図である。 図31に示す仮想ばねモデルの中から2組の二次元断面図形を抽出して示す斜視図である。 図31に示す仮想ばねモデルの中の1枚の二次元断面図形上の制御点に対して加わる力を示す斜視図である。 図31に示す仮想ばねモデルの中の1枚の二次元断面図形上の制御点に対して加わる力を示す平面図である。 図35に示す二次元断面図形上の制御点に対して加わる力をベクトルとして断面図形上に表示した状態を示す平面図である。 二次元断面図形上の12個の制御点に加わる力をベクトルとして断面図形上に表示した状態を示す平面図である。 図37に示されているベクトルの総和として求まる統合変位ベクトルを示す平面図である。 統合変位ベクトルに応じて、二次元断面図形を回転させる概念を示す斜視図である。 統合変位ベクトルに応じて、二次元断面図形を回転させる概念を示す別な斜視図である。 皺発生区間を有するパイプの三次元形態を示す斜視図である。 皺発生区間を作成する基本原理を示す平面図である。 皺発生区間を作成するために用いる式を示す図である。 屈曲部分に皺発生区間を有するパイプの三次元形態を示す斜視図である。 皺発生区間を作成する具体的な方法を示す斜視図である。 皺発生区間を作成するために用いる具体的な式示す図である。
符号の説明
10…基本形状データ入力手段
20…第1の基準線定義手段
30…パイプ断面パラメータ定義手段
40…パイプ配置パラメータ定義手段
50…第2の基準線作成手段
60…パイプ形状データ作成手段
70…合成形状データ作成手段
A,A(i,j)…変動関数Ψの振幅
C,C1〜C13,C(i),C(i)′,C(i+1),C(i+2)…パイプの二次元断面図形
Db…基本形状データおよび当該データで示される物体の三次元形態
Dp,Dp1,Dp2…パイプの三次元形状データおよび当該データで示されるパイプの三次元形態
Dbp…合成形状データ
dα(i,j),dβ(i,j),dαβ(i,j)…制御点間距離
Eα(i,j),Eβ(i,j)…仮想ばね
Fα(i,j),Fβ(i,j),ΔF(i,j)…力
G0〜G11,G(i,j),G(i,j+1),G(i+1,j),G(i+1,j+1),G(i−1,j)…制御点
h…パイプ配置パラメータ
K…輪郭点/比例定数
K11…参照線
KL,KS…振幅
L1,L11,L12…第1の基準線
L2,L21,L22…第2の基準線
M(i),M(i)′,M(i+1),M(i+1)′…作用点
n,n′,n,n0〜n8,n(i),n(i+1),n(i+2),nn(i),nn(i+1),nn(i+2)…法線
**…法線の中間線
P,P′,P0〜P8,P(i),P(i+1),P(i+2)…第1の基準線上の標本点
PP(i),PP(i+1),PP(i+2)…近接点
Pc…パイプ断面パラメータ
Q,Q′,Q,Q**,Q0〜Q8,Q(i),Q(i+1),Q(i+2)…第2の基準線を構成する代表点
Qs…始点
QQ(i),QQ(i+1),QQ(i+2)…近接点
r,r0,rmax,rmin …円の半径
r(θ)…rθ極座標系における角度θに対応する長さ
r(i,j),R(i,j)…代表点から制御点までの距離
S…グラフの基準線(物体の表面位置)
S1〜S7…流れ図の各ステップ
s…始点Qsからの距離
T(i),T(i+1),T(i+2)…接線ベクトル
TT(i),TT(i+1),TT(i+2)…投影ベクトル
U0〜U3…物体の面
V…投影方向ベクトル
V(i,j),V(i,j)′…変位ベクトル
Wr,Wr(in),Wr(out)…皺発生区間
x,y…二次元直交座標系の各座標軸
γ…定数
δ…近接点までの距離
ε…定数
θ…角度
λ…皺の周期
μ(i+1),μ(i+1)′…作用点
ξ(i)…変位角
ΣV(i),ΣV(i)′,ΣV(i+1),ΣV(i+1)′…統合変位ベクトル
Ψ…変動関数
Ω…回転軸

Claims (38)

  1. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する装置であって、
    パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
    オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
    オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
    オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
    前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
    前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
    前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
    を備え、
    前記パイプ形状データ作成手段が、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における前記第2の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  2. 請求項1に記載の作成装置において、
    第1の基準線定義手段が、オペレータの指示に基づいて、基本形状データに含まれる直線もしくは曲線のデータ、または基本形状データに含まれる2つの面のデータを用いて演算された当該2つの面の交線のデータを利用して、第1の基準線を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  3. 請求項1に記載の作成装置において、
    第1の基準線定義手段が、オペレータの指示に基づいて、基本形状データで示される物体が定義された三次元空間上に、直線もしくは曲線からなる参照線と、所定の投影方向を示す投影方向ベクトルと、を定義する機能を有し、前記参照線を前記投影方向ベクトルの示す投影方向に投影したときに、前記基本形状データで示される物体の表面上に形成される投影像を第1の基準線として定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  4. 請求項1〜3のいずれかに記載の作成装置において、
    パイプ断面パラメータ定義手段が、xy二次元直交座標系において、(x/a)2/ε+(y/b)2/ε=1(但し、εは所定の定数)なる式によって示される超二次曲線を用いてパイプ断面パラメータを定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  5. 請求項1〜3のいずれかに記載の作成装置において、
    パイプ断面パラメータ定義手段が、rθ極座標系において、角度θ(0≦θ<2π)と、この角度θに対応する距離r(θ)と、の組み合わせを示す断面形状テーブルを用いてパイプ断面パラメータを定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  6. 請求項1〜5のいずれかに記載の作成装置において、
    パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の定数hをパイプ配置パラメータとして定義する機能を有し、
    第2の基準線作成手段が、第1の基準線上の点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離hだけ隔たった位置にある点Qを求め、点Qの集合によって第2の基準線を作成する機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  7. 請求項1〜5のいずれかに記載の作成装置において、
    パイプ配置パラメータ定義手段が、パイプの浮き上がり量を示す所定の関数h(s)をパイプ配置パラメータとして定義する機能を有し、
    第2の基準線作成手段が、第1の基準線上にあり、前記第1の基準線上に定義された所定の始点からの前記第1の基準線に沿った距離がsの位置にある点Pに関して、当該点Pの位置に立てた物体表面についての法線nを求め、この法線n上にあり、点Pから距離h(s)だけ隔たった位置にある点Qを求め、点Qの集合によって第2の基準線を作成する機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  8. 請求項6または7に記載の作成装置において、
    点Pが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のうちのいずれか1つの面についての法線を、点Pの位置に立てた物体表面についての法線とすることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  9. 請求項6または7に記載の作成装置において、
    点Pが複数の面の交線上の点もしくは複数の面の交点であった場合に、当該複数の面のそれぞれについて点Pの位置における法線ベクトルを求め、これら法線ベクトルを合成して得られる合成ベクトルに沿った直線を、点Pの位置に立てた物体表面についての法線とすることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  10. 請求項1〜9のいずれかに記載の作成装置において、
    第2の基準線作成手段が、方程式により表現可能な第2の基準線を作成する機能を有し、
    パイプ形状データ作成手段が、所定の代表点における第2の基準線の接線ベクトルを、前記方程式の当該代表点における微分値を利用して求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  11. 請求項1〜9のいずれかに記載の作成装置において、
    第2の基準線作成手段が、第1の基準線上に所定間隔で標本点P(i)を定義し、パイプ配置パラメータに基づいて各標本点P(i)を変位させることにより、第2の基準線を構成する代表点Q(i)を求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  12. 請求項11に記載の作成装置において、
    パイプ形状データ作成手段が、第i番目の代表点Q(i)における第2の基準線の接線ベクトルT(i)を、第(i+1)番目の代表点Q(i+1)を利用して、点Q(i)とQ(i+1)とを結ぶ線分に沿ったベクトルとして求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  13. 請求項11に記載の作成装置において、
    パイプ形状データ作成手段が、個々の代表点Q(i)について、第2の基準線上の点であって、隣接する代表点よりも近くに存在する近接点QQ(i)を定義し、各代表点Q(i)における第2の基準線の接線ベクトルT(i)を、当該代表点Q(i)と当該代表点について定義された近接点QQ(i)とを結ぶ線分に沿ったベクトルとして求める機能を有することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  14. 請求項11〜13のいずれかに記載の作成装置において、
    第2の基準線作成手段が、標本点P(i)の位置に立てた物体表面についての法線n(i)を求め、この法線n(i)上にあり、標本点P(i)からパイプ配置パラメータに基づいて定まる所定距離だけ離れた位置にある点を代表点Q(i)とする処理を行い、
    パイプ形状データ作成手段が、代表点Q(i)の位置にパイプの二次元断面図形C(i)を配置する際に、前記代表点Q(i)を含み、前記代表点Q(i)における第2の基準線の接線ベクトルT(i)に直交する投影面を定義し、前記接線ベクトルT(i)を前記法線n(i)の方向へ投影することによって前記投影面上に得られる投影ベクトルTT(i)の位置を基準として配置を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  15. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する装置であって、
    パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
    オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
    オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
    オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
    前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
    前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
    前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
    を備え、
    前記パイプ形状データ作成手段が、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  16. 請求項15に記載の作成装置において、
    パイプ形状データ作成手段が、
    パイプの各二次元断面図形の輪郭線上にそれぞれ複数J個の制御点を定義し、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された第j番目の制御点G(i+1,j)と、の間に接続された仮想ばねEα(i,j)を定義し、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)について定義された第j番目の制御点G(i−1,j)と、の間に接続された仮想ばねEβ(i,j)を定義し、
    各二次元断面図形が、位置は各代表点に固定されているが、向きに関する自由度を有しており、かつ、各仮想ばねが物理的に同一のばねであると仮定したときに、各仮想ばねから個々の制御点に加えられる力に基づいて各二次元断面図形が向きを変える物理現象をシミュレートすることにより、各二次元断面図形を配置補正することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  17. 請求項16に記載の作成装置において、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、
    第j番目の制御点G(i,j)が、仮想ばねEα(i,j)から受ける力Fα(i,j)と、仮想ばねEβ(i,j)から受ける力Fβ(i,j)と、の差ΔF(i,j)を、全J個の制御点についてそれぞれ求め、
    二次元断面図形C(i)を含む平面上に、代表点Q(i)から制御点G(i,j)へ向かう方向を向き、大きさがΔF(i,j)に相当する変位ベクトルV(i,j)を定義し(ΔF(i,j)が負の場合には、逆方向を向くベクトルとする)、合計J個の変位ベクトルの和として総合変位ベクトルΣV(i)を求め、
    代表点Q(i)を通り、二次元断面図形C(i)上に含まれ、かつ、総合変位ベクトルΣV(i)に直交する直線を回転軸として、二次元断面図形C(i)を、総合変位ベクトルΣV(i)の大きさに応じた変位角ξ(i)だけ回転させることにより、配置補正された二次元断面図形C(i)′を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  18. 請求項17に記載の作成装置において、
    個々の二次元断面図形C(i)について、それぞれ配置補正された二次元断面図形C(i)′を求める補正処理を行った後、求められた個々の二次元断面図形C(i)′を新たな二次元断面図形C(i)として、補正処理を繰り返し実行することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  19. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する装置であって、
    パイプの情報を含まない物体の三次元形状データを、基本形状データとして入力する基本形状データ入力手段と、
    オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義する第1の基準線定義手段と、
    オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義するパイプ断面パラメータ定義手段と、
    オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義するパイプ配置パラメータ定義手段と、
    前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成する第2の基準線作成手段と、
    前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成するパイプ形状データ作成手段と、
    前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成する合成形状データ作成手段と、
    を備え、
    前記パイプ形状データ作成手段が、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第2の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  20. 請求項19に記載の作成装置において、
    パイプ形状データ作成手段が、
    パイプの各二次元断面図形の輪郭線上にそれぞれ複数個の制御点を定義し、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について、第j番目の制御点G(i,j)を、前記代表点Q(i)との距離r(i,j)が新たな距離R(i,j)となるように、前記代表点Q(i)と前記制御点G(i,j)とを結ぶ直線上で移動させて位置変動を生じさせることにより、サイズの変動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  21. 請求項20に記載の作成装置において、
    個々の制御点について、それぞれ隣接する二次元断面図形の対応する制御点との間の距離を制御点間距離として求め、求めた制御点間距離が小さい場合ほど、周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  22. 請求項21に記載の作成装置において、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dβ(i,j)と、を求め、距離dα(i,j)と距離dβ(i,j)との平均値dαβ(i,j)が小さい場合ほど、制御点G(i,j)について施される周期的な位置変動の振幅がより大きくなるように、個々の制御点の移動を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  23. 請求項22に記載の作成装置において、
    dαβ(i,j)のとるべき値に関して複数段階の近接度を定義し、個々の段階ごとに、周期的な位置変動の振幅を設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  24. 請求項23に記載の作成装置において、
    最も小さい近接度を示す段階については、周期的な位置変動の振幅を0に設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  25. 請求項20に記載の作成装置において、
    所定の変動関数Ψを定義し、R(i,j)=r(i,j)+(r(i,j)×Ψ)なる演算により、新たな距離R(i,j)を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  26. 請求項25に記載の作成装置において、
    変動関数Ψとして、変数sについての関数Ψ(s)を定義し、
    第i番目の代表点Q(i)について、第2の基準線上に定義された所定の始点Qsからの前記第2の基準線に沿った距離sを求め、前記関数Ψ(s)を用いて、新たな距離R(i,j)を求めることを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  27. 請求項26に記載の作成装置において、
    所定の振幅定数Aおよび皺の周期λを用いて、Ψ=A・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  28. 請求項26に記載の作成装置において、
    振幅A(i,j)および皺の周期λを用いて、Ψ=A(i,j)・(sin(2πs/λ))γなる変動関数(但し、γは所定の定数)を定義し、制御点G(i,j)に関する移動量が振幅A(i,j)に応じて定まるようにし、個々の制御点ごとに異なる振幅をもった変動関数が適用されるようにしたことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  29. 請求項28に記載の作成装置において、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dβ(i,j)と、を求め、距離dα(i,j)と距離dβ(i,j)との平均値dαβ(i,j)と、所定の比例定数Kとを用いて、A(i,j)=K/dαβ(i,j)なる式によって、制御点G(i,j)に対して適用されるべき振幅A(i,j)を定義することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  30. 請求項28に記載の作成装置において、
    第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)の第j番目の制御点G(i,j)について、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)の第j番目の制御点G(i+1,j)との間の距離dα(i,j)と、第(i−1)番目の代表点Q(i−1)の位置に配置された二次元断面図形C(i−1)の第j番目の制御点G(i−1,j)との間の距離dα(i,j)と、を求め、距離dα(i,j)と距離dα(i,j)との平均値dαβ(i,j)を求める制御点間距離演算処理を実行し、
    予めdαβ(i,j)のとるべき値に関して複数段階の近接度を定義しておき、個々の段階ごとに、それぞれ所定の振幅を設定しておき、制御点G(i,j)を移動させる際には、前記制御点間距離演算処理によって求められた値dαβ(i,j)に応じた近接度についての振幅を適用して移動量の演算を行うことを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  31. 請求項30に記載の作成装置において、
    最も小さい近接度を示す段階については、振幅=0に設定することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  32. 請求項1〜31のいずれかに記載の作成装置において、
    パイプ形状データ作成手段が、パイプの二次元断面図形の輪郭線上に複数の制御点を定義し、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された1つもしくは複数の制御点と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された1つもしくは複数の制御点と、を頂点とするポリゴンの集合によって、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  33. 請求項32に記載の作成装置において、
    パイプ形状データ作成手段が、第i番目の代表点Q(i)の位置に配置された二次元断面図形C(i)について定義された第j番目の制御点G(i,j)および第(j+1)番目の制御点G(i,j+1)と、第(i+1)番目の代表点Q(i+1)の位置に配置された二次元断面図形C(i+1)について定義された第j番目の制御点G(i+1,j)および第(j+1)番目の制御点G(i+1,j+1)と、の合計4点を頂点とする四角形の集合によって、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成装置。
  34. 請求項1〜33のいずれかに記載の作成装置としてコンピュータを機能させるためのプログラム。
  35. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する方法であって、
    パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
    コンピュータが、オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義し、これを記憶手段に格納する第1の基準線定義段階と、
    コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
    コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
    コンピュータが、前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成し、これを記憶手段に格納する第2の基準線作成段階と、
    コンピュータが、前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
    コンピュータが、前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
    を有し、
    前記パイプ形状データ作成段階において、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、当該代表点における前記第2の基準線の接線ベクトルに対して直交する向きに配置する処理を行い、配置された二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
  36. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する方法であって、
    パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
    コンピュータが、オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義し、これを記憶手段に格納する第1の基準線定義段階と、
    コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
    コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
    コンピュータが、前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成し、これを記憶手段に格納する第2の基準線作成段階と、
    コンピュータが、前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
    コンピュータが、前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
    を有し、
    前記パイプ形状データ作成段階において、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに初期配置する処理を行った後、初期配置された各二次元断面図形に対して、隣接する二次元断面図形との間の最近接部の距離と最遠隔部の距離との差が縮小するように、配置の向きを補正する処理を行い、配置補正された各二次元断面図形を利用して、パイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
  37. 表面にパイプを有する物体について、パイプを含めた三次元形状データを作成する方法であって、
    パイプの情報を含まない物体の三次元形状データが、コンピュータ内の記憶手段に、基本形状データとして入力される基本形状データ入力段階と、
    コンピュータが、オペレータの指示に基づいて、前記基本形状データで示される物体の表面上に、パイプの物体表面上での位置を示す第1の基準線を定義し、これを記憶手段に格納する第1の基準線定義段階と、
    コンピュータが、オペレータの指示に基づいて、パイプの断面形状と、そのサイズと、を示すパイプ断面パラメータを定義し、これを記憶手段に格納するパイプ断面パラメータ定義段階と、
    コンピュータが、オペレータの指示に基づいて、物体表面に対するパイプの浮き上がり量を示すパイプ配置パラメータを定義し、これを記憶手段に格納するパイプ配置パラメータ定義段階と、
    コンピュータが、前記第1の基準線と前記パイプ配置パラメータとに基づいて、パイプの三次元空間上での位置を示す第2の基準線を作成し、これを記憶手段に格納する第2の基準線作成段階と、
    コンピュータが、前記第2の基準線と前記パイプ断面パラメータとに基づいて、パイプの三次元形状データを作成し、これを記憶手段に格納するパイプ形状データ作成段階と、
    コンピュータが、前記基本形状データに前記パイプの三次元形状データを合成することにより、パイプの情報を含んだ物体の三次元形状データである合成形状データを作成し、これを記憶手段に格納する合成形状データ作成段階と、
    を有し、
    前記パイプ形状データ作成手段が、前記第2の基準線上に所定間隔で代表点を定義し、各代表点位置に、前記パイプ断面パラメータで示されるパイプの二次元断面図形を、それぞれ所定の向きに配置する処理を行った後、所定の皺発生区間内に配置された各二次元断面図形に対して、第2の基準線に沿った方向に関して周期的なサイズの変動を加えることにより、表面に皺が形成されたパイプの三次元形状データを作成することを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
  38. 請求項35〜37のいずれかに記載の作成方法において、
    基本形状データ入力段階では、多数のポリゴンもしくはパラメトリック曲面によって物体表面を表現した三次元形状データが、基本形状データとして入力されることを特徴とする表面にパイプを有する物体の三次元形状データの作成方法。
JP2005155487A 2005-05-27 2005-05-27 表面にパイプを有する物体の三次元形状データの作成装置および作成方法 Expired - Fee Related JP4760140B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005155487A JP4760140B2 (ja) 2005-05-27 2005-05-27 表面にパイプを有する物体の三次元形状データの作成装置および作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005155487A JP4760140B2 (ja) 2005-05-27 2005-05-27 表面にパイプを有する物体の三次元形状データの作成装置および作成方法

Publications (2)

Publication Number Publication Date
JP2006331177A JP2006331177A (ja) 2006-12-07
JP4760140B2 true JP4760140B2 (ja) 2011-08-31

Family

ID=37552790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005155487A Expired - Fee Related JP4760140B2 (ja) 2005-05-27 2005-05-27 表面にパイプを有する物体の三次元形状データの作成装置および作成方法

Country Status (1)

Country Link
JP (1) JP4760140B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5062080B2 (ja) * 2008-07-22 2012-10-31 富士通株式会社 3次元モデルデータを生成する装置および方法
KR101008141B1 (ko) 2008-09-10 2011-01-13 주식회사 포스코 튜브 하이드로포밍 금형설계 시스템 및 방법
JP5208665B2 (ja) * 2008-10-09 2013-06-12 株式会社東芝 三次元データ作成装置とその方法、およびプログラム
JP5625700B2 (ja) * 2010-09-30 2014-11-19 富士通株式会社 三次元cadプログラム、装置および三次元cadの処理方法
JP5919111B2 (ja) * 2012-06-28 2016-05-18 株式会社Nttファシリティーズ 外郭データ生成装置および外郭データ生成方法およびプログラム
JP2021028574A (ja) * 2017-12-08 2021-02-25 国立研究開発法人科学技術振興機構 法線を算出するための装置、方法およびプログラム
CN111941587B (zh) * 2020-08-05 2021-11-12 山东大学 一种面向陶瓷3d打印的放样曲面生成方法及系统
JP7257472B2 (ja) * 2020-10-29 2023-04-13 みずほリサーチ&テクノロジーズ株式会社 設計支援システム、設計支援方法及び設計支援プログラム
JP6942874B1 (ja) * 2020-10-29 2021-09-29 みずほリサーチ&テクノロジーズ株式会社 設計支援システム、設計支援方法及び設計支援プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090133A (ja) * 1998-09-08 2000-03-31 Fujitsu Ltd 3次元pt板モデル生成装置
JP2004227287A (ja) * 2003-01-23 2004-08-12 Zumen Soft Inc 三次元cadデータ作成システム及び三次元cadデータの作成方法

Also Published As

Publication number Publication date
JP2006331177A (ja) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4760140B2 (ja) 表面にパイプを有する物体の三次元形状データの作成装置および作成方法
Tachi Freeform variations of origami
Joshi et al. Harmonic coordinates for character articulation
US6489960B2 (en) Hybrid subdivision in computer graphics
Gregory et al. Interactive surface decomposition for polyhedral morphing
JP5561975B2 (ja) 表面加工データの作成方法および装置
US8085266B2 (en) System and method for smoothing three dimensional images
Zheng et al. Constrained deformation of freeform surfaces using surface features for interactive design
JP5562075B2 (ja) 表面加工データの作成方法および装置
Wu et al. Simulation of static and dynamic wrinkles of skin
CN102332180A (zh) 一种基于立体裁剪的三维服装造型与纸样设计方法
KR20070017049A (ko) 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스
CN103678769A (zh) 基于人体骨架与二维形变的真实感服装创建方法
Wang et al. From designing products to fabricating them from planar materials
JP2002334346A (ja) オブジェクトのレンジデータをオブジェクトのモデルに変換する方法
CN113947661A (zh) 基于水弹折纸衍生结构拟合广义圆柱体曲面的建模方法
Elber Geometric texture modeling
JP4614275B2 (ja) 表面に縫い目を有する物体の三次元形状データの作成装置および作成方法
JP4935506B2 (ja) 物体の三次元形状データの作成装置および作成方法
JP4487923B2 (ja) 設計データ生成装置及び設計データ生成プログラム
Bechmann Multidimensional free-form deformation tools.
Watanabe et al. Visualization of folding motion of rotationally symmetric curved folding
He et al. Rational spherical splines for genus zero shape modeling
JP4788565B2 (ja) 表面に縫い目を有する物体の三次元形状データの作成装置および作成方法
Ren et al. Composite freeform surface reconstruction using recursive interpolating subdivision scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110523

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees