特許文献1に述べられる方法で既存の部品形状に対して形状変形処理を施すと、変形領域の固定稜線が不連続な部品形状の場合に、節点移動量が不連続となり、新しい物品の形状に予期しない皺が発生することがある。その様子を図17から図19を用いて説明する。
図17は、板金加工によって製作される車両用部品10の斜視図である。この車両用部品10を出発形状として、形状変形処理を行い、新しい車両用部品の形状データを生成する際に、特許文献1の方法を用いるものとする。ここでは、ベースを形作る辺を固定稜線12,14とし、形状変形処理において固定するものとしている。この固定稜線12,14は、矩形を形作る2辺であるので、固定稜線12と固定稜線14との接続は、滑らかではなく、角度をなしている。つまり、変形領域の固定稜線が連続的に滑らかな変化でなく、不連続的な変化となっている。
図18は、車両用部品10において、固定稜線12と固定稜線14との接続部Aの部分を抜き出して示す図である。ここで、図示するように移動元線15を設定し、その上の複数の節点16のそれぞれから固定稜線12,14に垂線を下ろして法平面における断面形状を作成する。そして、複数の法平面断面形状にそれぞれ相似的変形処理を施して移動先線18を求めて新たな車両用部品の形状を生成する。このときに、固定稜線12,14が角度をなして接続する接続点Aに対応して垂線の下ろし方の変化が不連続となり、各節点16の移動量の間に不連続が起こる。その結果、移動先線18が図18に示すように、皺状となることが起こる。
その結果、車両用部品10に基づいて新しい車両用部品20の設計データを生成すると、図19に示すように、一部に予期しない皺状形状22,24が発生する。この皺状形状が発生すると、再び形状変更処理の条件を設定し直し、皺回避のための処理を行うので、設計工数が増加する。
このように、特許文献1に述べられる方法では、固定稜線に不連続な変化があると、それによって物品の新たな設計データに皺が発生することがある。また、他の特許文献2から4には、既存の物品形状に対し形状変形処理を施すことが述べられているが、いずれも、このような皺発生を防止することを課題としていない。
本発明の目的は、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する際に、変形領域の固定稜線が不連続な部品形状に対しても、不適当な皺等を発生させず、滑らかな形状変形処理を可能とする設計データ生成装置及び設計データ生成プログラムを提供することである。他の目的は、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する際に、変形領域の固定稜線が不連続な部品形状に対しても、不適当な皺等を発生させず、滑らかな形状変形処理を、より短時間で処理することが可能な設計データ生成装置及び設計データ生成プログラムを提供することである。以下の手段は、上記目的の少なくとも1つに貢献する。
本発明に係る設計データ生成装置は、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する設計データ生成装置であって、既存物品の形状を規定する元形状枠線のデータと、元形状枠線に囲まれた形状を規定する各点のデータとを取得する元形状取得手段と、元形状枠線に囲まれた形状を複数の三角形のパッチに分割し、分割された各三角形を構成する各点のうち、元形状枠線上にない内部点のそれぞれについて、当該点の周囲の複数の隣接点の座標の平均に収束する点の座標を求めて当該点の分布平滑点とし、元形状枠線内において各分布平滑点を接続して元分布平滑面を生成する元分布平滑面生成手段と、新たな物品の目標形状を規定する先形状枠線を取得する先形状枠線取得手段と、先形状枠線に囲まれた形状を複数の三角形のパッチに分割して、分割された各三角形を構成する各点のうち、先形状枠線上にない内部点のそれぞれについて、当該点の周囲の複数の隣接点の座標の平均に収束する点の座標を求めて当該点の分布平滑点とし、先形状枠線内において各分布平滑点を接続して先分布平滑面を生成する先分布平滑面生成手段と、元分布平滑面と、先分布平滑面とに基づき、元分布平滑面上の各点と先分布平滑面上の各点とをそれぞれ対応付け、元分布平滑面上の点から先分布平滑面上の対応する点への移動ベクトルを各点についてそれぞれ求める移動ベクトル算出手段と、元形状を構成する各点に、それぞれ算出された移動ベクトルを適用し、先形状を生成する先形状生成手段と、を備えることを特徴とする。
また、元分布平滑面生成手段は、元形状枠線を、予め設定された平坦な基本平面上に投影する投影手段と、デラウニー法を用い、基本平面上で投影された元形状枠線内部を複数の三角形に分割する分割手段と、基本平面上の枠線はそのまま投影前の位置に元形状枠線として戻し、基本平面上の三角形を規定する各点であって枠線上にない内部点は、それぞれ分布平滑点として戻す戻し手段と、を有し、先分布平滑面生成手段は、先形状枠線を、元形状枠線を投影したものと同じ基本平面上に投影する投影手段と、元形状枠線内部を三角形分割したものと同じ内容のデラウニー法を用い、基本平面上で投影された先形状枠線内部を複数の三角形に分割する分割手段と、基本平面上の枠線はそのまま投影前の位置に先形状枠線として戻し、基本平面上の三角形を規定する各点であって枠線上にない内部点は、それぞれ分布平滑点として戻す戻し手段と、を有することが好ましい。
また、移動ベクトル算出手段は、既存物品の形状を元形状とし、元形状を形成する各点から元分布平滑面に下ろした垂線が元分布平滑面と交わる垂線交点のそれぞれについて移動ベクトルを求める手段であって、元分布平滑面を構成する三角形のうち、当該垂線交点を内部に含む当該元三角形を特定し、先分布平滑面を構成する三角形のうちで当該元三角形に対応する当該先三角形を特定する三角形特定手段と、当該元三角形の各頂点の座標と、当該先三角形の各頂点の座標とに基づき、当該元三角形の各頂点についてそれぞれ移動ベクトルを求める頂点移動ベクトル算出手段と、面積座標法を用い、各頂点の移動ベクトルから、当該垂線交点の移動ベクトルを算出する交点移動ベクトル算出手段と、を有し、先形状生成手段は、元分布平滑面上の各垂線交点に対応する元形状を構成する各点について、当該垂線交点の移動ベクトルを適用して、先形状を生成することが好ましい。
また、先形状生成手段は、先形状の法線が不連続となるときに、先形状の特徴点である各節点の中間の点を中間補助点とし、各中間補助点について法線をそれぞれ求め、各節点についてその両側の中間補助点の法線を平均化し、その平均化した法線を各節点に適用される法線として調整する法線調整を行って先形状を再定義する法線調整手段を有することが好ましい。
また、先形状生成手段は、先形状の接線が当該点で不連続なときに、当該点の前後における各線の接線ベクトルを平均した平均接線ベクトルを用いて、接線調整を行って先形状を再定義することが好ましい。
また、本発明に係る設計データ生成プログラムは、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する設計データ生成装置上で実行される設計データ生成プログラムであって、コンピュータである設計データ生成装置に、既存物品の形状を規定する元形状枠線のデータと、元形状枠線に囲まれた形状を規定する各点のデータとを取得する元形状取得処理手順と、元形状枠線に囲まれた形状を複数の三角形のパッチに分割し、分割された各三角形を構成する各点のうち、元形状枠線上にない内部点のそれぞれについて、当該点の周囲の複数の隣接点の座標の平均に収束する点の座標を求めて当該点の分布平滑点とし、元形状枠線内において各分布平滑点を接続して元分布平滑面を生成する元分布平滑面生成処理手順と、新たな物品の目標形状を規定する先形状枠線を取得する先形状枠線取得処理手順と、先形状枠線に囲まれた形状を複数の三角形のパッチに分割して、分割された各三角形を構成する各点のうち、先形状枠線上にない内部点のそれぞれについて、当該点の周囲の複数の隣接点の座標の平均に収束する点の座標を求めて当該点の分布平滑点とし、先形状枠線内において各分布平滑点を接続して先分布平滑面を生成する先分布平滑面生成処理手順と、元分布平滑面と、先分布平滑面とに基づき、元分布平滑面上の各点と先分布平滑面上の各点とをそれぞれ対応付け、元分布平滑面上の点から先分布平滑面上の対応する点への移動ベクトルを各点についてそれぞれ求める移動ベクトル算出処理手順と、元形状を構成する各点に、それぞれ算出された移動ベクトルを適用し、先形状を生成する先形状生成処理手順と、を実行させることを特徴とする。
上記構成の少なくとも1つにより、既存物品の形状を規定する元形状枠線に囲まれた形状を複数の三角形のパッチに分割し、分割された各三角形を構成する各点のうち、元形状枠線上にない内部点のそれぞれについて、当該点の周囲の複数の隣接点の座標の平均に収束する点の座標を求めて当該点の分布平滑点とし、元形状枠線内において各分布平滑点を接続して元分布平滑面を生成する。同様にして、新たな物品の目標形状を規定する先形状枠線に囲まれた形状についても先分布平滑面を生成する。
元分布平滑面、先分布平滑面は、当該点の周囲の複数の隣接点の座標の平均に収束する点を連続的に接続して生成された面であるので、例えば元形状枠線や先形状枠線が矩形、あるいは角度がついて接続された複数の直線の組み合わせの形状のように、滑らかでなく不連続な変化をする形状であっても、滑らかに変化する面として生成される。つまり、平滑面とは、枠線で外側が規制され、その内側が、滑らかに変化する面である。たとえて言えば、ゴムのように、外枠がどうであれ、自然と平滑な面になろうとする材料を、枠線に貼り付けたときに、枠線内部においてそのゴムがとる面のようなものである。したがって、不連続な変化をする固定稜線があっても、元分布平滑面、先分布平滑面を用い、その面の間の差異を移動ベクトルとして求め、既存の物品の形状である先形状に移動ベクトルを適用することで、物品の新たな設計データを生成することができる。したがって生成された設計データに皺等が生じず、従来技術のような再設計の必要もなく、より短時間で新しい物品形状の設計データを生成できる。
また、元形状枠線を、予め設定された平坦な基本平面上に投影し、投影された元形状枠線内部を複数の三角形デラウニー法を用いて分割し、基本平面上の枠線はそのまま投影前の位置に元形状枠線として戻し、基本平面上の三角形を規定する各点であって枠線上にない内部点は、それぞれ分布平滑点として戻す。ここでデラウニー法とは、地図作成法等にも用いられることのある図形分割法の1つである。したがって、領域の内部で分布平滑点を算出する点を定めるのに、周知の三角形分割法を用いて領域を細分し、その各頂点について分布平滑演算を行うものとすることができる。
また、移動ベクトル算出に当たっては、元分布平滑面を構成する当該三角形の各頂点の座標と、先分布平滑面を構成する当該三角形に対応する三角形の各頂点の座標とに基づいて、各頂点についての移動ベクトルを求める。そして、元形状を構成する各点については、その各点から元分布平滑面に垂線を下ろして垂線交点を求め、垂線交点を含む当該三角形について、各頂点と垂線交点との関係から、面積座標法を用いて、当該垂線交点の移動ベクトルを算出し、これを当該垂線交点に対応する元形状を構成する当該点についての移動ベクトルとする。三角形の各頂点は、枠線上の点を除いて、分布平滑面を構成する点であるので、各頂点についての移動ベクトルは各頂点の間で連続に滑らかに変化し、したがって、元形状を構成する当該点についての移動ベクトルも、各点の間で連続的に滑らかに変化する。
また、先形状の法線が不連続となるときに、法線調整を行って先形状を再定義する。湾曲が大きく、あるいは段差のある先形状では、1つの点において法線が2つ存在することが起こりえて不連続となり、先形状が折れることが生じえる。このような場合でも法線調整により、先形状を修正再定義できる。
また、法線調整は、先形状の特徴点である各節点の中間の点を中間補助点とし、各中間補助点について法線をそれぞれ求め、各節点についてその両側の中間補助点の法線を平均化し、その平均化した法線を各節点に適用される法線として調整する。したがって、簡単な手段で、先形状が折れることを防止できる。
また、先形状の接線が当該点で不連続なときに、当該点の前後における各線の接線ベクトルを平均した平均接線ベクトルを用いて、接線調整を行って先形状を再定義するので、先形状を滑らかなものとすることができる。
上記のように、本発明に係る設計データ生成装置及び設計データ生成プログラムによれば、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する際に、変形領域の固定稜線が不連続な部品形状に対しても、不適当な皺等を発生させず、滑らかな形状変形処理が可能となる。また、既存の物品形状に対して形状変形処理を施すことによって物品の新たな設計データを生成する際に、変形領域の固定稜線が不連続な部品形状に対しても、不適当な皺等を発生させず、滑らかな形状変形処理を、より短時間で処理することが可能となる。
以下に図面を用いて、本発明に係る実施の形態につき詳細に説明する。以下では、既存の物品の設計データを利用して新しい物品の設計データを生成する態様として、既存の物品の形状を規定する枠線の一部を固定し、枠線の他の部分を傾けて引き伸ばして新しい物品とするときについて説明するが、これは、従来技術によれば不連続に変化する固定稜線によって皺が発生することと対比しやすいようにするためのものである。したがって、実質的に固定稜線を用いたのと同様な場合、例えば、既存の物品の形状を規定する枠線が不連続に変化する形状を有し、その枠線と同様な枠線を有するが、必ずしも枠線の一部が既存の物品の枠線の一部に固定されていない新しい物品の形状について設計データを生成する場合であってもよい。
図1は、設計データ生成装置30の構成図である。設計データ生成装置30は、CPU32と、キーボード等の入力部34と、ディスプレイ等の出力部36と、設計用の基礎データやプログラムを記憶する記憶装置38等を含んで構成される。かかる設計データ生成装置30としては、CADに適したコンピュータを用いることができる。
CPU32は、入力部34から入力されるデータ、あるいは記憶装置38に記憶されているデータ等から既存物品の形状に関するデータを取得する元形状取得モジュール40と、元形状について枠線内部の各点について分布平滑点を求め、それらを接続して分布平滑面を生成する元分布平滑面生成モジュール42と、入力部34から目標とする新たな物品の枠線に関するデータを取得する先形状枠線取得モジュール44と、先形状枠線に囲まれた形状について分布平滑面を生成する先分布平滑面生成モジュール46と、元分布平滑面と先分布平滑面とに基づいて元分布平滑面上の点から先分布平滑面上の対応する点への移動ベクトルを求める移動ベクトル算出モジュール48、元形状を構成する各点にそれぞれ算出された移動ベクトルを適用して先形状を生成する先形状生成モジュール50等を含んで構成される。かかる機能はソフトウェアによって実現され、具体的には、対応する設計データ生成プログラムを実行することで実現することができる。かかる機能の一部をハードウェアによって実現することとしてもよい。
図2、図3は、元分布平滑面と先分布平滑面とに基づいた移動ベクトルの概念を説明する図である。図2は、3次元の分布平滑面の前に、2次元の場合であればどのようにするだろうかを説明する図で、ここでは2つの点A,Bの間を結ぶ線の形状変形を取り上げている。既存の線である元線52から、点Aは固定として、点Bを点B′へ移動させたときの新しい線である先線54へ形状変形する。この場合、点Aと点Bとを結ぶ直線56と、点Aと点B′とを結ぶ直線58とを求め、直線56と直線58とから移動ベクトル60を求め、これを、元線52を構成する各点に適用するのが最も直感的である。ここで、直線56と、直線58とは、2点AB間、あるいは2点AB′間を最短で結んだ線で、例えていえば、2点間をゴムで結んだときのその形状であり、物理的には、2点間を結ぶ形状が最も安定的で、形状状態を維持するエネルギがもっとも低い形状であり、数学的には、その線を構成する各点の座標が、その当該点に隣接する2点の座標の平均となる形状である。
図3は、図2の考えを3次元に拡張したときを示す図で、ここでは、7つの点a,b,c,d,e,f,gで囲まれた既存の物品の3次元形状である元形状62から、辺abと辺bcとを固定として他の点d,e,f,gを点d′,e′,f′,g′へ移動させたときの新しい物品の3次元形状である先形状64へ形状変形する。この場合既存の7点a,b,c,d,e,f,gを結ぶ枠線で囲まれた領域から、変形後の7点a,b,c,d′,e′,f′,g′を結ぶ枠線で囲まれた領域とから移動ベクトル70を求め、これを既存の物品の3次元形状である元形状62を構成する各点に適用する。ここで枠線で囲まれた領域の形状は、図2で説明したのと同様に、枠線内の領域の形状が最も安定的で、形状を維持するエネルギが最も低い形状で、いわば、枠線内に張られたゴムがとる平滑な形状である。この平滑面は、それを構成する各点の座標が、その当該点の周囲の各点の座標の平均となるので、これを分布平滑面と呼ぶことができる。すなわち、2つの3次元形状の間の形状変形は、その各3次元形状の枠線で囲まれる平滑分布面の間の移動ベクトルで表すことができる。これを数式で表すと式(1)となる。
Pm=Po+(Rm−Ro) ・・・(1)
ここで、Poは、既存の物品の元形状62を構成する各点で、移動変形前の点群である。Pmは、新しく設計したい物品の先形状64を構成する各点で、移動変形後の点群である。具体的には、Po,Pmは三次元ベクトルで表される。Roは、既存の7点a,b,c,d,e,f,gを結ぶ枠線で囲まれた領域で定義できる面で、既存の物品の元形状62を代表的に表現する面であり、新しい物品の設計の元となる意味で、元分布平滑面66と呼ぶことができる。同様に、この枠線を元形状枠線と呼ぶことができる。Rmは、変形後の7点a,b,c,d′,e′,f′,g′を結ぶ枠線で囲まれた領域で定義できる面で、新しく設計したい物品の先形状64を代表的に表現する面であり、元分布平滑面から移動変形される先であるという意味で、先分布平滑面68と呼ぶことができる。同様に、この枠線を先形状枠線と呼ぶことができる。具体的にRm,Roは、曲面をあらわすベクトルで、(Rm−Ro)はその差を示すベクトルで、上記のように、元分布平滑面から先分布平滑面へ向かう移動ベクトル70である。
したがって、式(1)は、元形状枠線及び先形状枠線で囲まれた領域について、元分布平滑面と先分布平滑面を定義し、その差異である移動ベクトルを算出し、その移動ベクトルを既存の物品の形状を構成する各点に適用して、新しい物品の形状を生成する原理を表している。図1の設計データ生成装置30は、この原理を実現するための装置である。以下に、上記構成の設計データ生成装置30の作用、特にCPU32の各機能について、図4のフローチャートと関連する図面等を用いて詳細に説明する。図4は、設計データ生成のための手順を示すフローチャートで、各手順は、設計データ作成プログラムを実行することで処理される各処理手順を示す。
設計データ生成装置30において設計データ生成プログラムを立ち上げると、初期化の後に、既存の物品の形状データを取得する(S10)。既存の物品の形状は、新しく設計しようとする物品形状の元となるので、その意味で元形状と呼ぶことができる。元形状データは、既存物品の形状を構成する各点のデータで、式(1)におけるPoに相当する。この機能は、CPU32の元形状取得モジュール40によって実行される。元形状データは、ユーザによって入力部34から入力され、あるいは前もって記憶装置38に記憶されている。したがって、S10の工程は、入力部34から入力された元形状データを取得し、あるいは記憶装置38から元形状データを読み出すことで実行される。元形状は、その形状を規定する輪郭線としての元形状枠線を含んでおり、以下では、元形状枠線が不連続に変化するもの、例えば、角度をつけて接続される複数の直線で接続され閉じているものとして説明する。
次に、元分布平滑面生成が行われる(S12)。この機能は、CPU32の元分布平滑面生成モジュールの機能によって実行される。この工程は、いくつかの内部工程に分けて説明することができる。すなわち、まず、元形状枠線を予め設定された平坦な基本平面上に投影する(投影工程)。その様子を図5に示す。ここでは、元形状枠線72が8本の直線で構成され、これらに囲まれる領域は、概略カタカナの「コ」の字をなしているように示されている。すなわち、元形状枠線72は、連続的に滑らかで丸みを帯びた閉鎖線ではなく、複数の角を有する閉鎖線で、各角において、元形状枠線72の法線は不連続に急変する。この元形状枠線72は、平坦な基本平面74の上に投影される。基本平面74は、平坦な面であれば、以後の演算に便利な面であればよい。図5では投影の様子を理解しやすいように、元形状枠線72と基本平面74とがかなり離れているように示したが、元形状枠線72の中で以後の形状変更で固定される辺があれば、その辺を含む面を基本平面としてもよい。
次に、基本平面74上に投影された元形状枠線73で囲まれた領域が複数の三角形に分割される(分割工程)。その様子を図6に示す。複数の三角形76に分割する意味は、設計データの生成のために形状を複数のパッチに分割するためであるが、これらのパッチを接続した面が、図2、図3で説明したように、枠線内の領域の形状が最も安定的で、形状を維持するエネルギが最も低い形状で、いわば、枠線にゴムを張ったときにできる平滑な形状であるようにしたい。したがって、ここで用いられる三角形分割は、いわば、立体で最も安定な形状の1つと考えられる球体である地球の表面の三角形分割に類似し、その観点から、立体を平面に展開する地図作成等に用いられる三角形分割の方法を用いることが好ましい。そのような三角形分割の方法として知られているのがデラウニー法であるので、ここでは、デラウニー法に従って、基本平面74上に投影された元形状枠線73で囲まれた領域が複数の三角形76に分割される。なお、分割された各三角形76がパッチに相当し、三角形の各頂点がパッチ点に相当する。
そして、投影された元形状枠線73のみを再び投影前の元形状枠線72の位置に戻す。このとき、投影された元形状枠線73に囲まれた領域の各パッチ点はそのまま基本平面74上に残したままとする。すなわち、図6の投影状態において枠線上の各点はその位置を元形状枠線72上の各点として反映させ、投影状態において枠線上にない各パッチ点は一旦基本平面74に残し、その後、分布平滑点にする演算操作を行う(戻し工程)。その様子を図7に示す。なお、図7では、図5と異なって、基本平面74が元形状枠線72の固定辺を含む平面としてある。
図8は、各パッチ点Pを分布平滑点P′にする様子を示す図である。注目するパッチ点Pの周囲には、元形状枠線上の点、あるいは元形状枠線に囲まれた領域の他のパッチ点のように、分割された三角形の各頂点が存在する。図8の例ではn個の点Qnが存在するので、その周囲の各点Qiを固定として、その平均値となるようにPを移動させる。数学的には、図8の中に示した漸化式を収束するまでPを移動させる。すなわち、Pの周囲のn個の点Qiの座標を加算しnで除した座標にPを移動すれば、その点P′がn個の点Qiの分布平滑点となる。この演算を、元形状枠線に囲まれた領域の中の各パッチ点について実行し、得られた各分布平滑点を接続すると、元形状枠線に囲まれた領域の形状が分布平滑面となる。このようにして元形状枠線72に囲まれる領域についての分布平滑面である元分布平滑面が生成される。
図8の方法は、各パッチ点Pを、その周囲の各点Qiから見た重心の位置に移動させ、それを分布平滑点P′とするものである。この方法以外に、周囲の各点Qiの法線の影響を加味することもできる。図9は、各パッチ点Pを分布平滑点P′′にする方法として、重心的平滑化に、法線的平滑化を重み付けして加味する様子を説明する図である。図9では、図8において、点Pと、その周囲の点Qiとの関係を抜き出して示してある。ここで、Niは、元形状枠線に囲まれた領域の点Qiの位置における法線ベクトルである。(Qi−P)は、点Pから点Qiに向かうベクトルである。そこで、元形状枠線に囲まれた領域の点Qiへ点Pから下ろした垂線の長さLiは、2つのベクトルNiと(Qi−P)の内積から式(2)で与えられる。
Li=Ni・(Qi−P) ・・・(2)
重心的平滑化に、法線的平滑化を重み付けして加味した分布平滑点P′′は、図9の中に示した漸化式を収束するまでPを移動させることで得ることができる。
図9の中の漸化式において、第1項成分は図8の漸化式の内容と同じである。第2項成分は、Pの周囲のn個の点Qiについて、ベクトルの方向をNiとし、ベクトルの大きさをLiとした法線影響成分を加算し、nで除したものである。係数の1/2は、第1項成分と第2項成分との間の重み付けを示すもので、ここでは、法線影響成分を、重心平滑化成分の半分の重み付けとした。このようにして、重心的平滑化に、法線的平滑化を重み付けして加味し、その座標にPを移動し、その点P′′をn個の点Qiの分布平滑点とすることができる。重み付けの係数は、元形状あるいは先形状の曲面性を考慮して適当に定めることができる。
例えば、元形状が平面に近いときは、図8で説明した分布平滑点P′による分布平滑面を用い、元形状が曲面形状のときは、場合によって図9で説明した分布平滑点P′′による分布平滑面を用いることがよい。
図2、図3で説明したように、当該点が隣接する各点の平均であるとき、その当該点を結んで得られる形状は、形状が最も安定的で、形状を維持するエネルギが最も低い形状で、いわば、固定された輪郭線にゴムを張ったときにできる平滑な形状である。すなわち、分布平滑面は、それを構成する各点の間で、面接線あるいは面法線が連続的に滑らかに変化する。
再び図4に戻り、元形状に基づいて物品の新しい形状を設計しようとする場合の新しい形状概念について先分布平滑面が生成される(S14,S16)。この場合の手順は、新しい形状概念についての先形状を取得することから始まる。新しい形状概念についての先形状は、いわばラフスケッチであり、少なくともその輪郭形状を規定する枠線が含まれている形状で、場合によっては枠線のみで提示されてもよい。この枠線を元形状枠線に対比させて、先形状枠線と呼ぶことができる。すなわち、先形状に基づいて新しい形状を設計するときは、元形状枠線に対応して先形状枠線のデータが取得される(S14)。この工程は、CPU32の先形状枠線取得モジュール44の機能によって実行される。
次に、元分布平滑面生成の工程に関連して説明したと同様に、投影工程−分割工程−戻し工程を経て、先分布平滑面生成が行われる(S16)。投影工程に用いられる基本平面は、元分布平滑面生成に用いられた基本平面74と同じ物が用いられる。図7のように、元形状枠線72の一部の辺がその後の形状変形において固定されるものとして基本平面74上にとられるときは、先形状枠線の対応する固定辺が基本平面の同じ位置に配置される。すなわち、元形状枠線の固定辺と、先形状枠線の固定辺とは、基本平面上で同一のものとされる。また、分割工程に用いられる三角形分割の方法も、元形状分布平滑面生成の際に用いられた方法と同一、すなわちデラウニー法がとられる。これらの工程は、CPU32の先分布平滑面生成モジュール46の機能によって実行される。
このようにして、元分布平滑面と先分布平滑面とが生成されると、これら2つの分布平滑面に基づいて移動ベクトルが算出され、これを式(1)で説明したように、元形状を構成する各点に適用して新しい形状データが生成される(S18,S20)。これらの機能は、CPU32の移動ベクトル算出モジュール48と先形状生成モジュール50によって実行される。以下にその内容を説明する。
図10、図11に、分布平滑面の変化に基づいて移動ベクトルを算出し、新しい形状データを生成する様子を模式的に示す。図10は2次元的なモデルで、図11は3次元的モデルである。
図10(a)は6つの点で構成される元形状80から新しい形状を生成するときの最初の段階を示す図である。設計者等のユーザは、元形状80のデータから、その両端の点82,84のうち、一方端の点82を固定したまま、他方端の点84を点88に移動させた新しい形状を生成したいと考えているとする。他方端の点84を点88に移動させた概念形状86は、設計の最初の段階の概念形状に相当し、いわゆるラフスケッチの元となる概念である。
ここで、新しい形状の両端の点82,88が定まるので、その間の各点を滑らかに移動することで、新しい形状の設計データが生成されることになる。図10(b)は、両端の点を直線で結んだ分布平滑形状を示すもので、点82と点84とを結ぶ線は元形状80に対応する元分布平滑線90で、点82と点88とを結ぶ線は概念形状86に対応する先分布平滑線92である。これらの分布平滑線を構成する各点は、図2で説明したように、隣接する各点の平均の座標を有する。
図10(c)と(d)とは、元分布平滑線90と先分布平滑線92との差異から移動ベクトル94を求め、その移動ベクトル94を、元形状80を構成する6つの各点に適用して先形状96を生成する様子を示す図である。ここでは移動ベクトル94と元形状80及び先形状96との対応関係を説明するために、2つの図が座標軸を揃えて示されている。図10(d)は、移動ベクトル94を求める様子を示す図である。ここでは、元分布平滑線90と先分布平滑線92とが、固定される一方端の点82を共通として配置される。そして、元分布平滑線90を構成する各点とこれらに対応する先分布平滑線92を構成する各点との間の差異が、元分布平滑線90を構成する各点のそれぞれについての移動ベクトル94として示されている。このようにして、元形状80を構成する各点についてそれぞれ移動ベクトル94が算出できるので、図10(c)に示すように、元形状80を構成する各点についてそれぞれの移動ベクトル94を適用することで、先形状96を生成することができる。
図11は3次元形状の場合を示す図である。図11(a)は、両側に張り出しがあり、中央部が低い位置にある3次元の元形状100から新しい形状を生成するときの最初の段階を示す図である。設計者等のユーザは、元形状100のデータから、その張り出しの両側の辺102,104のうち、一方側の辺102を固定したまま、他方側の辺104を辺108に移動させた新しい形状を生成したいと考えているとする。他方側の辺104を辺108に移動させた概念形状106は、設計の最初の段階の概念形状に相当し、いわゆるラフスケッチの元となる概念である。
ここで、新しい形状の両側の辺102,104が定まるので、その間は、元形状100の輪郭を規定する枠線と、枠線で囲まれる領域の形状を構成する各点を滑らかに移動することで、新しい形状の設計データが生成されることになる。図11(b)は、そのような分布平滑形状を示すもので、元形状80に対応する元分布平滑面110と、概念形状106に対応する先分布平滑面112とが図示されている。これらの分布平滑面を構成する各点は、図8で説明したように、隣接する各点の平均の座標を有する。
図11(c)から(e)は、元形状100と概念形状106の断面を用いて元分布平滑面及び先分布平滑面、それらの差異から求められる移動ベクトルの様子を示す図である。これらは、2次元であるので、図10(a)から(d)の内容と同様である。
すなわち、図11(c)は、元形状100と概念形状106の断面線をそれぞれ7つの点で構成される線120,126で示したものである。ここでは、固定される一方側の辺102に対応して一方端の点122が示され、移動される他方側の辺104,108に対応して他方端の点124,128が示されている。
また、図11(d)は、各断面線120,126の両端の点を直線で結んだ分布平滑線130,132を示すものである。分布平滑線130,132は、分布平滑面110,112における断面線に対応する。このように、分布平滑線130,132は、図10(b)で説明した直線とならないのは、元形状枠線等が2次元でなく3次元であり、分布平滑面を構成する各点は、枠線固定の条件の下で求められるため、3次元枠線の拘束を受けるためである。
図11(e)は、移動ベクトル134を求める様子を示す図である。ここでは固定辺102に対応する点122が共通とされ、2つの分布平滑線130,132の間の差異から移動ベクトル134が求められる。
このように、元分布平滑面と先分布平滑面とに基づいて移動ベクトルが求められ、求められた移動ベクトルを、元形状を構成する各点に適用することで先形状を生成することができる。この場合、元形状を構成する各点を元分布平滑面上の各点に対応付け、対応付けられた元分布平滑面上の各点についてそれぞれ移動ベクトルを求めることになる。その手順を、図12と図13を用いて説明する。
図12は、元形状62上の点Q0を元分布平滑面上の点Q1に対応付け、点Q1の移動ベクトルMを求め、点Q0に移動ベクトルMを適用して、先形状64を構成する点Q3を求める様子を示す図である。このように、移動ベクトルMの算出と、先形状を構成する点の生成は、いくつかの工程によって構成される。
最初に、元形状62上の任意の点Q0を特定する(元形状上の点の特定工程)。特定された点Q0は、以後の手順の処理の対象となる当該点である。そして、元分布平滑面生成工程(S12)において既に生成されている元分布平滑面に、点Q0から垂線を下ろし、その垂線が元分布平滑面と交わる垂線交点Q1を求める(垂線交点取得工程)。具体的には、三角形分割によって生成された複数の三角形のいずれかの三角形に垂線は下ろされるので、その1つの三角形を当該三角形142として、当該三角形142の中の位置として垂線交点Q1を求める。
垂線は、元形状62を構成する点と、元分布平滑面上の点とを対応付ける手段である。したがって、垂線以外の対応付け手段によって元形状62を構成する点と、元分布平滑面上の点とを対応付けることもできる。例えば、垂線の代わりに設計者等のユーザが指定する方向を有する指定方向ベクトルを用い、元形状62上の任意の点Q0を指定方向ベクトルの始点とし、指定方向ベクトルと元分布平滑面とが交わる交点を、点Q0と対応付けてもよい。
垂線交点Q1について移動ベクトルMを求めるのは、面積座標法を用いる。図13は、面積座標法を用いて点Q1の移動ベクトルMを求める様子を示す図である。当該三角形142の中の点Q1の位置が求められると、点Q1と当該三角形142の各頂点とを結んで、当該三角形142を3つの小三角形に分割する(小三角形分割工程)。図13では、当該三角形142の面積に対する比率として、3つの小三角形のそれぞれの面積がu,v,wで示されている。
そして、当該三角形142の各頂点のそれぞれについて移動ベクトルM0,M1,M2を求める(頂点移動ベクトル算出工程)。上記のように、元分布平滑面生成工程(S12)と先分布平滑面生成工程(S16)とにおいては、同一の三角形分割方法を用いているので、元分布平滑面を構成する三角形と先分布平滑面を構成する三角形とは対応付けられており、したがって、三角形の各頂点もまた、元分布平滑面上の位置と先分布平滑面上の位置とが対応付けられている。つまり、元分布平滑面上の当該三角形142の各頂点は、先分布平滑面上の対応三角形の各頂点と対応付けられており、それらの差異から、元分布平滑面上の当該三角形142の各頂点の移動ベクトルM0,M1,M2を求めることができる。
三角形142における各頂点のそれぞれの移動ベクトルM0,M1,M2と、三角形142において点Q1によって分けられる3つの小三角形のそれぞれの面積u,v,wとに基づいて、点Q1の移動ベクトルMが求められる(交点移動ベクトル算出工程)。数式で表すと、式(3)の面積座標法の式によって、交点Q1の移動ベクトルMが計算される。
M=M0u+M1v+M2w ・・・(3)
例えば、点Q1が、移動ベクトルM1に対応する頂点に一致しているとすると、面積v=1,u=w=0であるので、M=M1となる。同様に点Q1が移動ベクトルM2に対応する頂点に一致しているとすると、M=M2となり、点Q1が移動ベクトルM0に対応する頂点に一致しているとすると、M=M0となる。また、点Q1が移動ベクトルM1に対応する頂点と移動ベクトルM2に対応する頂点とを結ぶ辺の上にあると、u=0で、vとwはその辺上におけるQ1の位置によって按分された値となり、したがって、移動ベクトルMもその面積比で各移動ベクトルが按分され、M1v+M2wで計算されるものとなる。
このようにして元分布平滑面上の点Q1について移動ベクトルMが求められると、再び図12に戻って、元形状62上の点Q0に、この移動ベクトルMが適用されて、先形状を構成する点Q3が生成される。すなわち元形状62上の点Q0を移動ベクトルMの始点とし、移動ベクトルMの先に対応する点Q3が、先形状64を構成する点となる。なお、元分布平滑面上の点Q1に移動ベクトルMを適用すると、先分布平滑面上の点Q2が得られる。
上記において、元分布平滑面、先分布平滑面はともに連続的に滑らかに変化する面であるが、生成された先形状は元形状の影響を受けるので、先形状の接線が不連続となるときがある。もともと滑らかな形状であったものが形状変形の結果そのようになった場合には、接線不連続が生じないように再度形状変形のやり方を修正することができる。一方、もともと連続的な形状でないものから形状変更する場合には、そのような修正では接線不連続が解消しないことがあるので、接線調整を行って先形状を再定義することがよい。
図14は、接線調整を行う様子を示す図で、図14(a)には、先形状64が折れ曲がり、その折れ曲がり点で2つの接線149,151を有することが示され、図14(b)には、この2つの接線149,151を平均化し、その平均化した接線150を用いて再定義した先形状65が示されている。
また、上記において、元分布平滑面は連続的に滑らかに変化する面であるが、元形状とはかなり異なる形状となることがある。その場合、滑らかな元分布平滑面、先分布平滑面に基づいて算出された移動ベクトルを、湾曲の大きい、あるいは段差のある元形状に適用すると、先形状が折れた形状となり、先形状の法線が不連続となることがある。その様子を図15に示す。図15において、(b)が元形状62、(d)が元分布平滑面66、(c)が先分布平滑面68、そして(a)が生成される先形状64をそれぞれ示している。ここに示すように、元形状62はかなりの湾曲を示すが、元分布平滑面66も先分布平滑面68も比較的なだらかである。したがって、元分布平滑面66と先分布平滑面68とに基づいて算出される移動ベクトル70を、元形状62の各点に適用して先形状64を生成しようとすると、元形状62の湾曲の強いA部分で、先形状64の法線153,154が不連続となり、先形状64が折れることがある。法線が不連続とは、図15(a)に示すように、先形状を構成する1つの点において、2つの法線が存在し、その点を境にして、法線が不連続となることである。
このような場合には、先形状の法線調整を行って、先形状を再定義することが好ましい。図16は、法線調整の例を示す図である。ここでは、先形状64の特徴点である各節点が黒丸印で示され、各節点の法線が実線の矢印で示される。各節点の法線は次のようにして調整される。すなわち、各節点の中間の点を中間補助点とする。図16では中間補助点が三角印で示され、中間補助点の法線が破線の矢印で示されている。そして、各節点についてその両側の中間補助点の法線を平均化し、その平均化した法線を各節点に適用される法線として法線調整が行われる。図16では、先形状64の折れ曲がり点について、その法線160が、その前後の中間補助線の法線159,161の平均法線として調整される様子が示される。
図16において、先形状64の折れ曲がり点では、そのままでは2つの法線が存在する。上記のように法線調整を行うことで、法線が2つ存在することを防止できる。そして、調整された法線160に適合するように先形状64の形状が再定義される。これにより、先形状の折れを防止することができる。
上記のように、枠線で囲まれる領域を分布平滑面化し、既存の物品の形状である元形状に対する元分布平滑面と、新しく設計しようとする形状である先形状に対する先分布平滑面とを生成し、両分布平滑面の差異から、連続的に変化する移動ベクトルを算出し、元形状を構成する各点にこの移動ベクトルを適用して、新しい形状を生成する。したがって、変形領域の固定稜線が不連続な部品形状に対しても、不適当な皺等を発生させず、滑らかな形状変形処理が可能となる。そのために皺回避のための再設計工数が増加せず、従来のCAD技術を用いる処理に比較し、2倍から5倍の高速作図で新しい物品の形状を得ることが可能となる。