説明

三次元CADデータの近似および表示方法、その方法を実行するシステム

3次元CADデータの近似方法であって、CADデータの立体の面をメッシュ分割し、該面の境界稜線をポリライン化し、該ポリラインの境界点における接線ベクトルを設定し、メッシュ分割の格子点のうちポリラインの内側に存在する内点を抽出し、内点同士および内点と境界点を結んで多角形ポリゴンを生成し、該多角形ポリゴン上にベジェ曲面を生成し、該ベジェ曲面がCADデータの面から所定の誤差範囲内に位置するかを判断し、誤差範囲内に乗っていない場合には、再度分割メッシュすることを特徴とする。

【発明の詳細な説明】
【技術分野】
この発明は、3次元CADデータの近似及び表示方法、そのシステム、コンピュータソフトウエアプログラム媒体に関するものである。
【背景技術】
近年、自動車産業や航空機産業を中心として、CADを利用した部品データの三次元化が進んでおり、これを利用してレイアウトや干渉の検討等の作業が行なわれるようになっている。
一般に、CADデータのデータ量は、詳細になればなるほど増加し、最近ではハードウエアの進化に勝るスピードで巨大化を続けている。また、マイクロソフトウィンドウズ(登録商標)搭載の通常のPCには所謂2GBの壁があり、巨大なCADデータについては読み込む事さえ出来ないと問題がある。
このための方法として、CADデータを三角形ポリゴンデータに変換して軽くし、これを用いて干渉検討等を行なうことが行われている。この場合、CADデータを幾何と位相で表現したプレサイス表現を元に、指定した誤差で表示用および計測用のポリゴンデータを生成する。このポリゴン生成を一般にポリゴン分割という。
しかし、この場合、CADデータとポリゴンの2重でデータを持つ必要がある。また、ポリゴン分割処理は処理負荷が重く、処理時間がかかり、従って読み込み処理に時間がかかる。
このような不都合をなくすため、一度計算されたポリゴンデータをメモリ内部に保持して置き、図形の回転等のリアルタイムの表示が必要な場合には保持されたポリゴンデータを用いて再計算の負荷を省略することが行われる。しかし、高い精度で扱う、つまり元のCADデータとの誤差を小さくしようとすると、生成されたポリゴンのデータ量が増大し、視点を変えた場合等における描画処理が著しく遅くなる。このデータ量の増加は、許容誤差に対して指数的なものであり、許容誤差を小さくすればするほど、データ量の増加が著しくなる。
したがって、CADデータを表示するに際して、使用メモリを小さくし、ある程度の精度を確保し、かつ読み込みも早くできる方法が望まれている。
発明の概要
この発明は、このような事情に鑑みて成されたものであり、従来、メモリの限界等により表示できなかった複雑なCADデータを近似しPC等により表示できる、3次元CADデータの近似方法及びその表示方法を提供することを目的とする。
この発明の主要な側面によれば、三次元CADデータの近似方法であって、(a)指定した変換精度に対し、所定の粗い精度でCADデータを構成する立体の面をメッシュ分割する工程と、(b)前記面の境界稜線を、前記変換精度を用いて曲線で近似し、さらに各曲線を前記の粗い精度でポリライン分割したときの端点・通過点、およびその点での接線ベクトルを設定する工程と、(c)メッシュ分割にかかる各交点のうち前記境界稜線内の内点同士、若しくは前記内点と境界稜線上の端点・通過点すなわち境界点とを結んで、3または4の頂点を有する多角形ポリゴンを生成する工程と、(d)前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを格納する工程と、(e)前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定する工程と、(f)前記三角または四角の曲面がCADデータの前記面から所定の誤差範囲内に位置するかを判断し、誤差範囲内に乗っていない場合には、当該曲面の周辺を、分割数を増やし分割幅を小さくして再度メッシュ分割し、前記(c)〜(e)及びこの(f)工程を再度実行させる工程とを有することを特徴とする前記方法が提供される。なお、前記多角形ポリゴンは、三角形ポリゴンであることが好ましい。
このような構成によれば、前記CADデータを三角または四角の多角ポリゴンデータに変換すると共に、前記保持する多角ポリゴンデータが所望の変換精度よりも粗い精度で生成したものでよいので、保持するべきデータ量を減らすことができる。そして、三角または四角の曲面への変換により、少ない量のポリゴンデータであってもより精密な描画表現を行なうことができ、かつ、境界稜線部分の近似については、前記CADデータの稜線を近似した曲線とその接線データのみを利用しているから、この境界稜線で隣り合う面の間に隙間が空く事がない。以上のことにより、より少ないデータ量で、非常に精度の高い描画表現を行なうことができるのである。
さらに、この発明の1の実施形態によれば、前記方法は、(g)前記多角形のうち異なる面に属し前記境界稜線を挟んで隣り合う2つの多角形ポリゴン同士を接合する工程をさらに有し、この(g)工程は、前記境界稜線上の端点・通過点を2つの多角形ポリゴン間で関連付けるものである。
この発明の別の実施態様によれば、前記(c)工程は、各頂点の座標と、頂点のうち内点同士を結ぶ稜線についてはそれぞれの点の法線ベクトル、頂点のうち内点と境界点を結ぶ稜線についてはそれぞれの点の法線ベクトル、頂点のうち境界点同士を結ぶ稜線については始点・終点の接線ベクトルを用い、各頂点間に曲線の制御点を生成し、三角または四角の曲面を生成する工程を含むものである。
更なる別の実施態様によれば、この三次元CADデータの近似方法は、さらに、(h) 前記(d)工程で格納された前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定し、その制御点を利用して前記多角形ポリゴンを詳細多角形ポリゴンに再分割する工程と、(i) 前記詳細多角形ポリゴンで構成される立体形状を表示する3次元データ表示工程とを有する。
この発明の第2の主要な側面によれば、(j)前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを受取って格納する工程と、(k)前記(j)工程で格納された前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定し、その制御点を利用して前記多角形ポリゴンを詳細多角形ポリゴンに再分割する工程と、(l)前記詳細多角形ポリゴンで構成される立体形状を表示する3次元データ表示工程とを有する方法が提供される。また、この表示方法は、(m)表示方法を切り替える切替工程を有し、この切替工程は、表示形状の大きさを含む表示条件を取得し、この取得した表示条件に基づき、細かく表示する必要があると判断した場合には、前記(j)〜(l)の工程を実行し、組かく表示する必要がないと判断した場合には、前記取得した三角ポリゴンをそのまま表示するものであることが好ましい。
このような構成であれば、少ない量のポリゴンデータであっても、三角または四角の曲面への変換により、より精密な描画表現を行なうことができ、かつ、境界稜線部分の近似については、前記CADデータの稜線を近似した曲線とその接線データのみを利用しているから、この境界稜線で隣り合う面の間に隙間が空く事がない。以上のことにより、より少ないデータ量で、非常に精度の高い描画表現を行なうことができる。
【図面の簡単な説明】
図1は、この発明の一実施形態に係るシステム構成を示す概略構成図である。
図2は、同じく処理手順を示すフローチャートである。
図3は、CADデータを構成する立体の例を示す斜視図である。
図4(a)、(b)、(c)は、上記立体の面をメッシュ分割し、三角ポリゴンを生成する工程を示した工程図である。
図5(a)、(b)は、三角ポリゴンから3次の三角ベジェ曲面の制御点を生成する工程を示した工程図である。
図5(c)は、3次の三角ベジェ曲面の制御点を用いて、この曲面を複数の三角ポリゴンに再分割する工程を示した工程図である。
図6(a)は、別々の面に属し境界稜線を挟んで隣り合う2つの三角ポリゴンを示した模式図である。(b)は、その2つの三角ポリゴンを境界稜線で接合した状態を示す模式図である。
図7は、この実施形態のデータ格納形式の例を示す模式図である。
図8は、この実施形態の形状表示工程を示すフローチャートである。
【発明を実施するための最良の形態】
以下、この発明の一実施形態を図面を参照して説明する。
(基本構成)
図1は、この実施形態に係るコンピュータ処理システム1を示す概略構成図である。
このシステム1では、CPU2、RAM3、入出力インタフェース4、及び通信デバイス5が接続されているバス6に、プログラム格納部7とデータ格納部8が接続されている。
まず、データ格納部8には、この図に示すように、処理の対象となるCADデータ10と、このCADデータ10からこの実施形態の処理により生成された三角形ポリゴンデータ11と、同じく生成された境界稜線の端点・通過点及び接線データ12と、変換精度等の属性情報13が格納される。
また、前記プログラム格納部7には、OS等のメインプログラム15の他、この発明に関係する構成のみ挙げると、CADデータ呼出処理部16、粗精度メッシュ分割処理部17、境界稜線処理部18、三角形ポリゴン生成処理部19、三角ポリゴンデータ格納処理部20、三角ベジェ曲面生成処理部21、誤差修正処理部22、三角形ポリゴン接合処理部23、画像表示処理部24、及び三次元データ送信部25が格納されている。
これらプログラム格納部7に格納された各構成要素15〜25は、実際には、所定のプログラミング言語で記述されハードウエア等の記憶媒体に格納されたコンピュータソフトウエアプログラムであり、前記CPU2によって適宜前記RAM3上に呼び出され実行されることで、この発明の構成要素として機能するようになっている。以下、上記各構成要素の構成及び機能を、図2に示す実際の処理手順と共に詳しく説明する。
図2は、このシステムによる処理手順を示したフローチャートであり、図中の符号S1〜S12は、以下の説明中のステップS1〜S12にそれぞれ対応する。
(CADデータ呼出処理部16)
前記CADデータ呼出処理部16は、前記データ格納部8に格納されたCADデータ10を、データ形式に基づいて前記RAM3上に呼び出して展開する(ステップS1)。CADデータ10は、一般に、「幾何データ」(POINT/CURVE/SURFACE)、「位相データ」(BODY/SHELL/FACE/EDGE/VERTEX)、「アセンブリ構造」「フィーチャ」「属性データ」等からなる。このとき、処理に必要な部分のみを順次呼び出すようにしても良い。
(粗精度メッシュ分割処理部17)
以下の工程では、所望の精度(変換精度)よりも1桁程度精度を落とした状態(粗精度)で、CADデータ10を三角ポリゴンに分割する。例えば、ユーザが指定した変換精度が0.01mmである場合には、所定のアルゴリズムにより例えば粗精度を0.1mmに設定する。
このため、この粗精度メッシュ分割処理部17では、まず、前記データ格納部8から、属性条件13としての指定変換精度を取り出す(ステップS2)。ユーザは、所定のインタフェースを通してこの変換精度を指定できるようになっており、指定した変換精度はこのデータ格納部8に格納されるようになっている。
そして、この粗精度メッシュ分割処理部17は、前記CADデータ10の立体が持つそれぞれ面(FACE)について、その境界稜線を考慮しないで、前記指定変換精度に基づいて所定の割合で「甘くした精度」、すなわち粗精度を満たすようにメッシュ状に分割する(ステップS3)。図3中26は、CADデータ10を構成する立体の例、図4(a)〜図4(c)は、前記立体26の1つの面27をメッシュ状に分割する工程を模式的に示したものである。以下、この面27を囲む線を、境界稜線28と称する。そして、境界稜線28内に位置するメッシュ分割の格子点を白抜きの丸で示し、この点を、以下、「内点」29と呼ぶ。
(境界稜線処理部18)
前記境界稜線処理部18は、前記面27の境界稜線28を前記指定変換精度(「甘くしない精度」)で、3次ベジェ曲線の列に分割する。そして、それぞれの3次ベジェ曲線を前記粗精度(「甘くした精度」)を満たすようにポリライン(折れ線)に分割する(ステップS4)。図4(b)に黒丸で示すのが、ポリラインの端点と通過点であり、これらを以下、「境界点」30と呼ぶ。さらに、ポリラインの前記境界点同士を結ぶ各線分に対して、その始点・終点における3次ベジェ曲線の接線ベクトルを計算し設定する(ステップS5)。
(三角形ポリゴン生成処理部19)
次に、この三角形ポリゴン生成処理部19は、上記で求めた内点及び境界点を使用し、図4(c)に示すように、前記面を三角形ポリゴンに分割する(ステップS6)。この場合、まず、境界稜線のポリライン(折れ線)の内側に存在する内点29を抽出する。内点29同士はメッシュ分割と同様に規則正しく結び、内点29と境界点30は三角形になるように新しく線分を生成して結ぶ。
(三角ポリゴンデータ格納処理部20)
上記で、各面27を三角ポリゴンに分割したが、次に、この三角ポリゴンデータ格納処理部20は、各三角形ポリゴンの頂点(内点29と境界点30)に対して元CADデータの面27の形状(曲面)から法線ベクトルを計算し設定する。また、前記頂点のうち、境界点30については、その点につながる他の境界点を特定する情報、および2つの境界点を結ぶ線分の始点・終点の接線ベクトルを前記三角ポリゴンデータとして前記データ格納部8に格納する(ステップS7)。
図5(a)は、三角ポリゴンの例を示すものである。図5中、32は、内点P0と2個の境界点30(P1、P2)を頂点とする三角形ポリゴンである。内点P0には法線ベクトルN0、境界点P1には法線ベクトルN1、境界点P2には法線ベクトルN1が割り付けられている。また、P1を始点としP2を終点とする境界線分については、前記始点P1に法線ベクトルT1が割り付けられ、P2を始点としP1を終点とする境界線分については、前記始点P2に法線ベクトルT2が割り付けられている。
(三角ベジェ曲面生成処理部21)
次に、この三角ベジェ曲面生成処理部21は、上記で生成した三角ポリゴンの情報から、法線ベクトル(N0〜N2)及び接線ベクトル(T1、T2)の情報を用いて3次の三角ベジェ曲面を生成する(ステップS8)。この三角ベジェ曲面の生成方法については、ATI Technolopgy White Paper:http://www.ati.com/products/pdf/truform.pdf(2001年)に詳しく説明されており、この文献はこの参照により、全体的にこの明細書に組み込まれたものとする。
上記文献に開示された三角ベジェ曲面のための10個の制御点を生成するのに、三角ポリゴンの各頂点における法線ベクトルを使用している。これに対して、この実施形態では、三角ベジェ曲面の制御点を生成するのに、内点同士を結ぶ稜線についてはそれぞれの法線ベクトル、内点と境界点を結ぶ稜線についてはそれぞれの法線ベクトル、境界点同士を結ぶ稜線については始点・終点の接線ベクトルを用いる。境界点同士を結ぶ接線に関する制御点を生成するには、例えば以下のようにして行なう。
すなわち、境界線の始点と終点、始点における接線ベクトル、終点における接線ベクトルが定まると、当該境界線に関する3次ベジェ曲線が一意に定まる。この場合、始点に近い側の制御点は、始点から伸ばした接線ベクトルの1/3の地点と一致する。終点に近い側の制御点は、終点から伸ばした接線ベクトルの1/3の地点と一致する。
これにより、まず、各稜線上(各頂点間)に2つの制御点を生成され、図5(b)に示すように、3次の三角ベジェ曲面が持つ10個の制御点のうち、3つの頂点P0〜P2と一致する3個の制御点(PP1〜PP3)と、それらの頂点P0〜P2間を結ぶ稜線上の2個ずつ合計6個の制御点(PP4〜PP9)の、合計9個が決まる。残りの1つ(PP10)は、他の9個の制御点を平均して決定する。
(誤差修正処理部22)
次に、前記誤差修正部22が、上記で生成した三角ベジェ曲面について,元CADデータの面の形状(曲面)に、変換精度の範囲内で乗っているかどうかを調べる(ステップS9)。
まず、三角ベジェ曲面の3つの頂点PP1〜PP3については必ず曲面に乗っている。そこで、三角ベジェ曲面の3本の稜線の中点,および三角曲面の中心について、変換精度で面上に乗っているかどうかを調べる。ただし、境界点同士を結ぶ稜線は,元CADデータの稜線の形状(曲線)を指定変換精度(「甘くしない精度」)に入るように3次ベジェ曲線で近似しているので、この曲線は中点も含めて精度内で面上に乗っているはずである.
調べた結果,1箇所でも指定変換精度で乗っていない場合は,粗精度(「甘くした精度」)をより厳しく、つまり小さくして、縦横のメッシュ分割幅を細かくして分割やりなおす(ステップS10)。
なお、このとき、前記ステップS5の境界稜線の分割はやりなおさない。つまり、粗精度を小さくしたのち、指定変換精度にのるまで上記ステップS6〜ステップS10を繰り返す。
(三角ポリゴン接合処理部23)
上記ステップS1〜ステップS9の工程を終え、すべての面について所定の指定変換精度を満たすと判断されたならば、次に、この三角ポリゴン接合処理部23が、各面について生成した三角ポリゴンを境界稜線で接合する。
CADデータの立体は,通常1本の稜線の左右両側に面が1枚ずつ存在している。上記ステップS4、S5の境界稜線処理工程で説明したポリライン分割は,元CADデータの稜線の形状(曲線)のみを参照し、面の形状(曲面)は参照していない。したがって、1本の稜線の両側にある2枚の面は、隙間なく三角形ポリゴンでつなぐことができる。
図6(a)は、この境界稜線を挟んで隣り合う2つの三角形ポリゴン32,33を示したものである。1つのポリゴン32は、前述した面27上の三角ポリゴン(P0、P1、P2)であり、33は、前記面27と境界稜線を共有する別の面に属する三角形ポリゴンである。この別の三角形ポリゴン33は、内点P5、及び2個の境界点P3、P4から構成され、前記面27上の三角形ポリゴン32と同様に、各点に法線ベクトルN5、N3、及びN4が割当てられている。
ここで、境界点P3及びP4は、それぞれP1とP2と同一の点であり、かつ、前記ステップS4及びS5の処理により、前記接線ベクトルT1、T2と同一の接線ベクトルT3、T4が与えられている。したがって、この三角形ポリゴン接合処理部23は、図6に示すように、P3、P4をP1及びP2と置き換えることで、2つの三角形ポリゴン32,33の境界稜線同士を接合する。
このことにより、前記データ格納部に格納される三角形ポリゴンデータのデータ格納形式は、例えば、図7に示すようなものになる。
頂点・法線情報としては、図7(a)に示すように、三角形ポリゴンを構成する3頂点を一組として、各頂点毎にインデックス番号35、頂点の位置情報36及び法線ベクトル37が格納される。境界稜線情報としては、図7(b)に示すように、始点のインデックス情報38、終点のインデックス情報39及び始点における接線ベクトルの情報40が一組として格納される。
以上より、CADデータは三角ポリゴンデータに変換され、そして、
内点:1つの法線ベクトル
境界点:その点の周りにあった元CADデータの面(曲面)の数だけの法線ベクトル
隣り合う境界点を結ぶ境界線:始点・終点の接線ベクトル
が設定された状態になる。また、この実施形態では、上記データの格納は、前記三角形ポリゴンデータ格納処理部20を通して行われる。
このように構成されたシステムにより生成された三角ポリゴンデータは、基本的に指定の変換精度よりも甘い精度(粗精度)で変換されたポリゴンデータであるので、データ量を非常に小さくすることができる。また、表示を行う場合には、3次の三角ベジェ曲面への変換を行うことで、高精度な表示を行うことが可能になる。
次に、この表示を行う表示処理部24について、図8に示したフローチャートを参照して説明する。
(表示処理部24)
この表示処理部24は、形状を粗く見るときと、細かく見るときとで、表示方法を切り換えるための表示切替部41と、表示を細かく表示する際に作動する三角ベジェ曲面生成処理部42とを有する。
このため、この表示処理部24は、図8のステップS13に示すように、表示の際のシステム環境、すなわち表示条件をシステムから取得する。この表示条件には、形状の大きさ、画面の解像度(ウインドウの縦横のピクセル数)、表示の拡大率等、表示の細かさに関する項目が含まれるが、これに限定されるものではない。
ついで、この表示切替部41は、前記表示条件に応じて、形状を粗く表示するか細かく表示するかの判断を行なう(ステップS14)。この判断は、例えば、上記表示条件の各項目に設定した閾値を参照して行なわれる。そして、形状を粗く表示する場合には、前記ステップS6、S7のポリゴン分割で生成した三角ポリゴンとその法線とをそのまま使用して表示を行う(ステップS15)。すなわち、前記ステップS14における判断(閾値の設定等)は、前記粗精度で分割した三角ポリゴンをそのまま表示した場合でも違和感がないかどうかを基準に行なわれるべきである。例えば、画面の解像度や形状の拡大率を参照した場合に、表示画面の大きさに比較して表示するべき面の占める面積が小さい場合には、そのまま粗精度の三角ポリゴンを表示しても形状がカクカクには見えない。したがって、そのようなアルゴリズムにより上記判断を行なうようにしてもよい。
一方、三角ポリゴンデータをそのまま表示したのでは形状がカクカクしてしまう場合、すなわち形状を細かく表示するべき場合には三角ベジェ曲面生成処理部42を起動する(ステップS16、S17)。
この場合、この三角ベジェ曲面生成部42は、上記したのと同様の手法で、三角ポリゴンの法線及び接線ベクトルの情報から三角ベジェ曲面を生成する(ステップS16、図5(b)参照)。そして、この三角ベジェ曲面の10個の制御点を用い、前記三角ポリゴンの再分割を行なう。この再分割における分割レベルは、表示されるコンピュータ画面上で、形状がカクカクにならずに、滑らかに面が表示されるという観点で決定される。つまり、前記分割レベルは、形状の大きさ、画面の解像度(ウインドウの縦横のピクセル数)、表示の拡大率等の表示条件を、所定の閾値と比較することにより、表示のつど決めることになる。図5(c)は、前記三角ポリゴンを、前記10個の制御点を参照して、16個の三角形ポリゴンに再分割した例(レベル3:各稜線が4分割される状態)を示したものである。また、この三角ベジェ曲面生成部42は、再分割後の各三角ポリゴンの各頂点の法線ベクトルについては、元の三角ポリゴンの3頂点P0〜P2に設定されていた法線ベクトルを1次補間して計算する。そして、それら再分割三角ポリゴンを使用して形状の表示を行う(ステップS17)。
このような構成によれば、形状を細かく表示する場合であっても、三角ベジェ曲面を生成して表示を行うので、前述したように、精度の高い表示を行える。特に、境界稜線における、隣り合う三角ポリゴン同士の接合が予め考慮された処理が行われているので、表示精度を上げた場合であっても境界稜線部分に隙間が生じることがない。
(データ送信部25)
このデータ送信部25は、前記ステップS1〜S12で生成したデータを、例えば、イントラネットやインターネット等の送信媒体を介して別のコンピュータや記憶媒体に送信する機能を有するものである。
この場合、このデータの送信を受けたコンピュータは、前記画像表示処理部24に対応するデータ再生プログラムのみを有し、データのレンダリング及び表示及び操作を行うようになっていても良い。
なお、この発明は上記一実施形態に限定されるものではなく、その要旨を変更しない範囲で種々変形可能であることはいうまでもない。
例えば、上記一実施形態では、三角形ポリゴンを用いてCADデータを構成する三次元形状の近似を行ったが、四角形ポリゴンを用いるようにしても良い。この場合、前記3次の三角ベジェ曲面生成処理は、四角ベジェ曲面を用いるようにすればよい。
さらに、上記実施形態においてベジェ曲面の表現次数は3次であったが、これに限定されるものではない。また、従って、制御点は10個に限定されるものではない。さらに、三角又は四角のポリゴンの近似においては、ベジェ曲線・曲面による表現式を使わなくてもよい。たとえば、B−スプライン曲面やNURBS曲面などの曲面式を使うことも可能である。
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】

【図8】


【特許請求の範囲】
【請求項1】
三次元CADデータの近似方法であって、
(a) 指定した変換精度に対し、所定の粗い精度でCADデータを構成する立体の面をメッシュ分割する工程と、
(b) 前記面の境界稜線を、前記変換精度を用いて曲線で近似し、さらに各曲線を前記の粗い精度でポリライン分割したときの端点・通過点、およびその点での接線ベクトルを設定する工程と、
(c) メッシュ分割にかかる各交点のうち前記境界稜線内の内点同士、若しくは前記内点と境界稜線上の端点・通過点すなわち境界点とを結んで、3または4の頂点を有する多角形ポリゴンを生成する工程と、
(d) 前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを格納する工程と、
(e) 前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定する工程と、
(f) 前記三角または四角の曲面がCADデータの前記面から所定の誤差範囲内に位置するかを判断し、誤差範囲内に乗っていない場合には、当該曲面の周辺を、分割数を増やし分割幅を小さくして再度メッシュ分割し、前記(c)〜(e)及びこの(f)工程を再度実行させる工程と
を有することを特徴とする前記方法。
【請求項2】
請求項1記載の三次元CADデータの近似方法において、
(g)前記多角形のうち、異なる面に属し前記境界稜線を挟んで隣り合う2つの多角形ポリゴン同士を接合する工程
をさらに有し、
この(g)工程は、前記境界稜線上の端点・通過点を2つの多角形ポリゴン間で関連付けるものである方法。
【請求項3】
請求項1記載の三次元CADデータの近似方法において、
前記多角形ポリゴンは、三角形ポリゴンであることを特徴とする方法。
【請求項4】
請求項1記載の三次元CADデータの近似方法において、
前記曲線はベジェ曲線であることを特徴とする方法。
【請求項5】
請求項1記載の三次元CADデータの近似方法において、
前記曲面はベジェ曲面であることを特徴とする方法。
【請求項6】
請求項1記載の方法において、
前記(c)工程は、各頂点の座標と、頂点のうち内点同士を結ぶ稜線についてはそれぞれの点の法線ベクトル、頂点のうち内点と境界点を結ぶ稜線についてはそれぞれの点の法線ベクトル、頂点のうち境界点同士を結ぶ稜線については始点・終点の接線ベクトルを用い、各頂点間に曲線の制御点を生成し、三角または四角の曲面を生成する工程を含むものである
ことを特徴とする方法。
【請求項7】
請求項1記載の三次元CADデータの近似方法において、
さらに、
(h) 前記(d)工程で格納された前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定し、その制御点を利用して前記多角形ポリゴンを詳細多角形ポリゴンに再分割する工程と、
(i) 前記詳細多角形ポリゴンで構成される立体形状を表示する3次元データ表示工程と
を有する前記方法。
【請求項8】
三次元CADデータの表示方法であって、
(j) 前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを受取って格納する工程と、
(k) 前記(j)工程で格納された前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定し、その制御点を利用して前記多角形ポリゴンを詳細多角形ポリゴンに再分割する工程と、
(l) 前記詳細多角形ポリゴンで構成される立体形状を表示する3次元データ表示工程と
を有する前記方法。
【請求項9】
請求項8記載の三次元CADデータの表示方法であって、
前記多角形ポリゴンは、三角形ポリゴンであることを特徴とする方法。
【請求項10】
請求項8記載の三次元CADデータの表示方法において、
前記曲線はベジェ曲線であることを特徴とする方法。
【請求項11】
請求項8記載の三次元CADデータの表示方法において、
前記曲面はベジェ曲面であることを特徴とする方法。
【請求項12】
請求項8記載の三次元CADデータの表示方法において、
(m)表示方法を切り替える切替工程を有し、
この切替工程は、表示形状の大きさを含む表示条件を取得する工程と、
前記取得した表示条件に基づき、細かく表示する必要があると判断した場合には、前記(j)〜(l)の工程を実行し、細かく表示する必要がないと判断した場合には、前記取得した三角ポリゴンをそのまま表示するものである
ことを特徴とする方法。
【請求項13】
コンピュータシステムに三次元CADデータの近似を行なわせるためのコンピュータソフトウエアプログラム製品であって、
記憶媒体と、
指定した変換精度に対し、所定の粗い精度でCADデータを構成する立体の面をメッシュ分割させる指令と、
前記面の境界稜線を、前記変換精度を用いて曲線で近似し、さらに各曲線を前記の粗い精度でポリライン分割したときの端点・通過点、およびその点での接線ベクトルを設定する指令と、
メッシュ分割にかかる各交点のうち前記境界稜線内の内点同士、若しくは前記内点と境界稜線上の端点・通過点すなわち境界点とを結んで、3または4の頂点を有する多角形ポリゴンを生成する指令と、
前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを格納する指令と、
前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定する指令と、
前記三角または四角の曲面がCADデータの前記面から所定の誤差範囲内に位置するかを判断し、誤差範囲内に乗っていない場合には、当該曲面の周辺を、分割数を増やし分割幅を小さくして再度メッシュ分割し、前記指令を再度実行させる工程と
を有することを特徴とする前記コンピュータソフトウエアプログラム製品。
【請求項14】
コンピュータシステムに三次元CADデータの近似を行なわせるためのコンピュータソフトウエアプログラム製品であって、
記憶媒体と、
前記多角形ポリゴンの各頂点、その頂点における前記面の法線ベクトル、及び前記境界接線上の端点・通過点については前記法線ベクトルに加えて接線ベクトルを受取って格納する指令と、
前記多角形ポリゴンの頂点の位置、法線ベクトル、接線ベクトルの各データを用い、当該多角形ポリゴン上に、三角または四角の曲面に変換するための複数の制御点を設定し、その制御点を利用して前記多角形ポリゴンを詳細多角形ポリゴンに再分割する指令と、
前記詳細多角形ポリゴンで構成される立体形状を表示する3次元データ表示指令とと
を有するコンピュータソフトウエアプログラム製品。

【国際公開番号】WO2005/066852
【国際公開日】平成17年7月21日(2005.7.21)
【発行日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2005−513108(P2005−513108)
【国際出願番号】PCT/JP2003/017075
【国際出願日】平成15年12月26日(2003.12.26)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(598076605)ラティス・テクノロジー株式会社 (7)
【Fターム(参考)】