(57)【特許請求の範囲】
【請求項１】
測定対象の被測定曲面を測定機により測定して得られた計測点列と、前記測定対象の設計データである自由曲面データとを演算処理装置が入力し、前記演算処理装置が、前記計測点列と前記自由曲面データとの誤差データを算出すると共に、前記誤差データを前記測定点列と対応付けて出力装置に出力させる誤差画像生成方法であって、
前記演算処理装置が、
前記計測点列に対応する前記自由曲面データの曲面パラメータ空間上の点群を第１の点群として算出し、
前記計測点列の各計測点とこの計測点に対応する前記自由曲面データ上の設計点との誤差データを算出し、
前記第１の点群を三角形分割して第１の三角形を生成すると共に前記第１の点群の凸包を算出し、
前記曲面パラメータ空間上で前記算出された凸包内に分散する第２の点群を、前記出力装置に出力される最終の三次元画像を構成する三角形ポリゴンの頂点に対応する密度で設定し、
前記第２の点群の各点の誤差データを当該各点が含まれる前記第１の三角形の頂点である前記第１の点群に対応する誤差データから補間計算により求め、
前記第１の点群に前記第２の点群を加えた点群を再度三角形分割して第２の三角形を生成し、
前記第２の三角形及びそれらの頂点の誤差データを含む前記三次元画像を前記出力装置に出力する
ことを特徴とする誤差画像生成方法。
【請求項２】
前記第２の点群は、予め設定された前記曲面パラメータ空間上の格子点のうち前記算出された凸包に含まれる格子点である
ことを特徴とする請求項１記載の誤差画像生成方法。
【請求項３】
測定対象の被測定曲面を測定機により測定して得られた計測点列と、前記測定対象の設計データである自由曲面データとを演算処理装置が入力し、前記演算処理装置が、前記計測点列と前記自由曲面データとの誤差データを算出すると共に、前記誤差データを前記測定点列と対応付けて出力装置に出力させる誤差画像生成プログラムであって、
前記演算処理装置に、
前記計測点列に対応する前記自由曲面データの曲面パラメータ空間上の点群を第１の点群として算出するステップと、
前記計測点列の各計測点とこの計測点に対応する前記自由曲面データ上の設計点との誤差データを算出するステップと、
前記第１の点群を三角形分割して第１の三角形を生成すると共に前記第１の点群の凸包を算出するステップと、
前記曲面パラメータ空間上で前記算出された凸包内に分散する第２の点群を、前記出力装置に出力される最終の三次元画像を構成する三角形ポリゴンの頂点に対応する密度で設定するステップと、
前記第２の点群の各点の誤差データを当該各点が含まれる前記第１の三角形の頂点である前記第１の点群に対応する誤差データから補間計算により求めるステップと、
前記第１の点群に前記第２の点群を加えた点群を再度三角形分割して第２の三角形を生成するステップと、
前記第２の三角形及びそれらの頂点の誤差データを含む前記三次元画像を前記出力装置に出力するステップと
を実行させる誤差画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象の被測定曲面を測定機により測定して得られた計測点列と測定対象の設計値との誤差を表示する誤差画像生成方法に関する。
【背景技術】
【０００２】
ＣＡＤ等の設計データに基づいて製造された製品の品質評価の為に、実際に製造された製品を三次元測定機、形状測定機等で計測し、計測データと設計値と比較して両者の誤差を誤差マップとして表示する方法が知られている（特許文献１）。自由曲面の測定では、この様な方法を用いて自由曲面上の誤差の全体的な傾向をユーザーに直感的に把握させる為に、計測点の誤差データに基づいて誤差の分布を三次元的に表示したいことがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００６−５０９１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、この様な方法においては、計測点は離散点であるため、計測点数が少ない場合、実形状を反映しない不自然な画像が生成されてしまうことがある。
【０００５】
本発明はこの様な点に鑑みなされたもので、計測点の誤差データに基づいて自然な誤差画像を高速に生成することが可能な誤差画像生成方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明に係る誤差画像生成方法は、測定対象の被測定曲面を測定機により測定して得られた計測点列と、測定対象の設計データである自由曲面データとを演算処理装置が入力し、演算処理装置が、計測点列と自由曲面データとの誤差データを算出すると共に、誤差データを測定点列と対応付けて出力装置に出力させる誤差画像生成方法であって、演算処理装置が、計測点列に対応する自由曲面データの曲面パラメータ空間上の点群を第１の点群として算出し、計測点列の各計測点とこの計測点に対応する自由曲面データ上の設計点との誤差データを算出し、第１の点群を三角形分割して第１の三角形を生成すると共に第１の点群の凸包を算出し、曲面パラメータ空間上で算出された凸包内に分散する第２の点群を設定し、第２の点群の各点の誤差データを当該各点が含まれる第１の三角形の頂点である第１の点群に対応する誤差データから補間計算により求め、第１の点群に第２の点群を加えた点群を再度三角形分割して第２の三角形を生成し、第２の三角形及びそれらの頂点の誤差データを出力装置に出力する。この様な方法によれば、計測点数が少なくても自然な誤差画像を生成することが可能となる。更に、計測点の間の誤差を、高速に補間することが可能である。
【０００７】
又、本発明の一実施形態において、第２の点群は、予め設定された曲面パラメータ空間上の格子点のうち算出された凸包に含まれる格子点である。
【０００８】
本発明に係る誤差画像生成プログラムは、測定対象の被測定曲面を測定機により測定して得られた計測点列と、測定対象の設計データである自由曲面データとを演算処理装置が入力し、演算処理装置が、計測点列と自由曲面データとの誤差データを算出すると共に、誤差データを測定点列と対応付けて出力装置に出力させる誤差画像生成プログラムであって、コンピュータに、計測点列に対応する自由曲面データの曲面パラメータ空間上の点群を第１の点群として算出するステップと、計測点列の各計測点とこの計測点に対応する自由曲面データ上の設計点との誤差データを算出するステップと、第１の点群を三角形分割して第１の三角形を生成すると共に第１の点群の凸包を算出するステップと、曲面パラメータ空間上で算出された凸包内に分散する第２の点群を設定するステップと、第２の点群の各点の誤差データを当該各点が含まれる第１の三角形の頂点である第１の点群に対応する誤差データから補間計算により求めるステップと、第１の点群に第２の点群を加えた点群を再度三角形分割して第２の三角形を生成するステップと、第２の三角形及びそれらの頂点の誤差データを出力装置に出力するステップとを実行させる。
【発明の効果】
【０００９】
本発明によれば、誤差データに基づいて自然な誤差画像を高速に生成することが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態に係る誤差画像生成方法を実現する為のシステムの構成の一例を示すブロック図である。
【図２】同実施形態における誤差画像生成方法の内容を示すフローチャートである。
【図３】同実施形態における誤差画像生成方法のステップＳ１の処理内容を説明する為の図である。
【図４】同実施形態における誤差画像生成方法のステップＳ２の処理内容を説明する為の図である。
【図５】同実施形態における誤差画像生成方法のステップＳ３の処理内容を説明する為の図である。
【図６】同実施形態における誤差画像生成方法のステップＳ３の処理内容を説明する為のフローチャートである。
【図７】同実施形態における内部判定の方法を説明する為の図である。
【図８】重心座標における線形補間の方法を説明する為の図である。
【図９】同実施形態における誤差画像生成方法のステップＳ４の処理内容を説明する為の図である。
【図１０】同実施形態における誤差画像生成方法の処理内容を説明する為の図である。
【図１１】比較例に係る三次元画像生成方法の様子を表す図である。
【図１２】比較例に係る三次元画像生成方法の様子を表す図である。
【発明を実施するための形態】
【００１１】
［第１実施形態］
［構成］
次に、本発明の第１実施形態について図面を参照して詳細に説明する。
【００１２】
図１は、本実施形態に係る誤差画像生成方法を実現する為のシステムの構成の一例を示すブロック図である。三次元測定機１により、ワーク２の被測定曲面（自由曲面）をランダムに測定又は倣い測定して得られた計測点列（ｘ，ｙ，ｚ）は、演算処理装置であるコンピュータ２０に入力される。なお、計測点列（ｘ，ｙ，ｚ）は、他の形状測定機から取得されたものであっても良いし、計測済みデータを記憶する記憶装置から読み出された計測点列（ｘ，ｙ，ｚ）であっても良い。
【００１３】
コンピュータ２０には、ＣＡＤシステム３又は記憶装置１１から出力された自由曲面データ（設計データ）も入力されている。自由曲面データは、例えばベジェ（Bezier）やＮＵＲＢＳ（Non-Uniform Rational B-Spline）等のコントロールポイントの行列［ｘij］，［ｙij］，［ｚij］で表現されている。
【００１４】
コンピュータ２０は、記憶装置１１に記憶された誤差画像生成プログラムの実行により、次の各機能を実現する。
【００１５】
すなわち、第１の点群／誤差算出部４は、三次元測定機１から出力された計測点列（ｘ，ｙ，ｚ）に対応する自由曲面データの曲面パラメータ空間（ｕ，ｖ）上の点群を第１の点群（ｕ，ｖ）として算出し、各計測点と設計値との誤差データ（ｕ，ｖ，ｅ）を算出する。誤差データ（ｕ，ｖ，ｅ）は自由曲面データの曲面パラメータ空間上の計測点位置（ｕ、ｖ）及びその位置における誤差データｅを含んでいる。
【００１６】
第１の三角形分割部５は、第１の点群／誤差算出部４から出力された第１の点群（ｕ，ｖ）を曲面パラメータ空間（ｕ，ｖ）上において三角形分割し、複数の第１の三角形データを生成すると共に、前記第１の点群（ｕ，ｖ）の外郭多角形である凸包データを生成する。尚、第１の三角形データの各頂点（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）には、誤差データ（ｕ１，ｖ１，ｅ１）、誤差データ（ｕ２，ｖ２，ｅ２）及び誤差データ（ｕ３，ｖ３，ｅ３）が対応している。
【００１７】
格子点生成部６は、予め設定された間隔で、曲面パラメータ空間に格子点列（ｕ，ｖ）を生成し出力する。第２の点群生成／誤差補間部７は、格子点生成部６から出力された格子点列（ｕ，ｖ）のうち、第１の三角形分割部５で求められた凸包に含まれるものを選択し、第２の点群（ｕ，ｖ）として出力する。また、第２の点群／誤差補間部７は、第１の点群／誤差算出部４から出力された誤差データ（ｕ，ｖ，ｅ）及び第１の三角形分割部５で分割された第１の三角形データから、第２の点群の各点が、第１の三角形のうちどの三角形に含まれるかを判断し、その点を含む第１の三角形の頂点の誤差データ（ｕ，ｖ，ｅ）を用いた補間処理を行って、前記第２の点群の各点の誤差データ（ｕ，ｖ，ｅ）を算出する。
【００１８】
第２の三角形分割部８は、第１の点群に第２の点群を加えた点群に対して、再度三角形分割を行い、第１の三角形データよりも細かい複数の第２の三角形データを生成する。ここで生成される第２の三角形データと、それらの各頂点の誤差データから、最終的に生成される三次元画像の形状が決定される。
【００１９】
三次元画像生成部９は、ＣＡＤシステム３又は記憶装置１１から出力された自由曲面データ及び第２の三角形分割部８から出力された第２の三角形データを用いて三次元画像を生成する。ここで生成される三次元画像は、第２の三角形分割部８から出力された第２の三角形データの各頂点の誤差データ（ｕ，ｖ，ｅ）に応じて自由曲面を変形させた誤差画像（誤差マップ）を含んでいる。尚、自由曲面データと誤差画像とは独立している為、自由曲面上で誤差画像をより強く変形させて誤差ｅを強調したり、曲面パラメータ平面上の誤差データのみを出力したりすることも可能である。更に誤差画像は、自由曲面を変形させて生成するのではなく、誤差の強度を色彩、矢印等によって表現することによって生成することも可能である。出力装置１０は、三次元画像生成部９から出力された画像データを表示・出力する。出力装置１０としては、ディスプレイやプリンタ等が適用可能である。
【００２０】
［動作］
図２は本実施形態に係る誤差画像生成方法の処理内容を示すフローチャート、図３〜図１０は本実施形態に係る三次元画像生成方法の内容を説明する為の図である。以下、図２〜１０を参照して、本実施形態に係る誤差画像生成方法について説明する。
【００２１】
まず、計測点列（ｘ，ｙ，ｚ）と自由曲面データとに対して位置合わせ処理を行い、計測点列（ｘ，ｙ，ｚ）を曲面パラメータ空間（ｕ，ｖ）上の第１の点群に変換し、各点における誤差データ（ｕ，ｖ，ｅ）を算出する（Ｓ１）。
【００２２】
位置合わせ処理としては、例えばベストフィット計算等種々の方法が適用可能である。すなわち、ＣＡＤシステム３から出力される自由曲面データは、自由曲面の生成にベジェ（Bezier）曲線を使用した場合には、例えば、（ｎ＋１）×（ｍ＋１）のコントロールポイントの行列［ｘij］，［ｙij］，［ｚij］にて定義され、三次元空間への変換式は、次の数１のようになる。
【００２３】
【数１】
0005834317.tif 000002
0005834317.tif 000003
0005834317.tif 000004
0005834317.tif 000005
0005834317.tif 000006
【００２４】
上記で定義される自由曲面上の点群のうち、計測点列（ｘ，ｙ，ｚ）の各計測点との距離が最短の自由曲面上の点を探索し、計測点と自由曲面上の点とのずれ量及び回転量を算出する。これにより自由曲面を移動させる。この操作を再帰的に実行することにより、図３に示すように、自由曲面に沿って×印で示す計測点列が配置される。
【００２５】
計測点列（ｘ，ｙ，ｚ）に対応する自由曲面データの位置（設計上の位置）が算出されたら、次に計測点列（ｘ，ｙ，ｚ）に対応する曲面パラメータ空間上の位置（ｕ，ｖ）を数１の関数により算出する。これにより、図４に示すように、曲面パラメータ空間上に計測点列に対応した第１の点群データ（ｕ，ｖ）が求められる。また、このとき各計測点と自由曲面上の設計点との距離が誤差ｅとして求められ、第１の点群データ（ｕ，ｖ）にそれぞれ対応させた誤差データ（ｕ，ｖ，ｅ）となる。
【００２６】
続いて、図４に示す通り、生成された第1の点群データ（ｕ，ｖ）に対し、曲面パラメータ空間において第１の三角形分割を実行する（Ｓ２）。第１の三角形分割の方法としては、Ｄｅｌａｕｎａｙ分割等の方法が適用可能である。Ｄｅｌａｕｎａｙ分割によって、複数の第１の三角形データ（ｕ１〜ｕ３，ｖ１〜ｖ３，ｅ１〜ｅ３）が生成され、第１の点群データ（ｕ，ｖ）を内部に含む外郭の多角形である凸包データが生成される。
【００２７】
次に、図５に示す通り、曲面パラメータ空間（ｕ，ｖ）に、ｕ，ｖ方向に所定の間隔で格子点を生成し、ステップＳ２において算出された凸包データに含まれる格子点列（ｕ，ｖ）を第２の点群データ（ｕ，ｖ）として選択する。第２の点群データは、第１の点群データにより生成された第１の三角形のいずれかに内包されている。したがって、第２の点群が含まれる第１の三角形の各頂点の誤差データ（ｕ，ｖ，ｅ）から補間処理により第２の点群の各点の誤差データ（ｕ，ｖ，ｅ）を算出する（Ｓ３）。第２の点群（ｕ，ｖ）は第１の点群データ（ｕ，ｖ）と共に後に三次元画像を構成する三角形ポリゴンの頂点となる。従って、格子のサイズを密にするほど生成される三次元画像は高精度になる。尚、補間処理の方法としては重心座標による方法や、バーンスタイン多項式と曲面方程式による方法等、種々の方法が適用可能であるが、本実施形態においては重心座標による線形補完を用いた例について示している。
【００２８】
ステップＳ３の更に詳細な処理の内容の一例を図６に示す。まず、選択された格子点（ｕ，ｖ）が凸包データの内部に含まれるか否かを判定する（Ｓ３１）。例えば、三角形パッチのトポロジーをWinged-Edge構造を用いて表現すれば、このWinged-Edge構造を辿ることにより、格子点を含む第１の三角形データを高速に探索することができる。この内部判定の方法を以下に示す。
【００２９】
即ち、図７に示す通り、格子点から半直線Ｈ１を設定し、半直線Ｈ１と凸包データとの交点ＣＰの数を求める。求まった交点ＣＰの数が偶数であった場合には格子点が外部にあるものと判定し、図７の様に交点ＣＰの数が奇数であった場合には格子点が内部にあるものと判定する（Ｓ３１）。
【００３０】
格子点が凸包データの外部と判定された場合には、その格子点は補間処理には使用しない（Ｓ３１）。
【００３１】
格子点が凸包データの内部に含まれていた場合には、その格子点を含む第１の三角形データを求める（Ｓ３２，Ｓ３３）。即ち、まず、格子点からの半直線Ｈ１と凸包境界辺との交点ＣＰを求める。次に、この交点ＣＰから三角形パッチのWinged edge構造を辿り、格子点を含む第１の三角形データを探す。図７の例では、交点ＣＰをエッジに含む第１の三角形データＴ１からＴ１→Ｔ２→Ｔ３と辿って第１の三角形データＴ３が探索される。
【００３２】
この様な処理によれば、凸包の境界に対する計算が２回必要であり、この計算時間が全体に占める割合が大きいが、全三角形に対する計算に比べれば格段に少ないので、適切な三角形データを迅速に見つけることが可能である。
【００３３】
しかし、このような２回の独立した三角形分割を行わず、第１の三角形分割の後、格子点の追加毎に格子点を含む三角形を分割し、分割の情報を格子点追加毎に変化するツリー構造で持つようにしても良い。この場合、格子点を含む三角形の検索をその時点でのツリー構造を用いて高速に行うことができる。
【００３４】
次に、重心座標による線形補間を行って誤差ｅを算出し（Ｓ３４）、第２の点群の誤差データ（ｕ，ｖ，ｅ）に追加する（Ｓ３５）。以上の処理を全ての格子点について行う（Ｓ３６、Ｓ３７）。尚、格子点（ｕ，ｖ）の間隔はユーザーによって適宜設定される。
【００３５】
ステップＳ３４の、重心座標による線形補間について、図８を参照して説明する。格子点ｐ（ｕ，ｖ）を含む三角形の頂点を、それぞれ点ａ（ｕ１，ｖ１）、点ｂ（ｕ２，ｖ２）及び点ｃ（ｕ３，ｖ３）とし、点ａの誤差をｅ１、点ｂの誤差をｅ２、点ｃの誤差をｅ３とする。この時、格子点ｐ（ｕ，ｖ）の誤差ｅは、以下の式で与えられる。
【００３６】
【数２】
0005834317.tif 000007
【００３７】
ただし、Ｕ、Ｖ、及びＷは以下の式によって与えられる。
【００３８】
【数３】
0005834317.tif 000008
0005834317.tif 000009
【００３９】
次に、第１の点群データ（ｕ，ｖ）及び第２の点群データ（ｕ，ｖ）に対して第２の三角形分割を行い、図９に示すような、第２の三角形データ（ｕ１〜ｕ３，ｖ１〜ｖ３，ｅ１〜ｅ３）を生成する（Ｓ４）。具体的には、ステップＳ２と同様にＤｅｌａｕｎａｙ分割による方法等が適用可能である。尚、ステップＳ４におけるＤｅｌａｕｎａｙ分割は第１の点群データ（ｕ，ｖ）及び第２の点群データ（ｕ，ｖ）に対して行うため、ステップＳ２における第１のＤｅｌａｕｎａｙ分割よりも細かい第２の三角形データ（ｕ１〜ｕ３，ｖ１〜ｖ３，ｅ１〜ｅ３）が生成される。次に、生成された三角形データ（ｕ１〜ｕ３，ｖ１〜ｖ３，ｅ１〜ｅ３）、誤差データ（ｕ，ｖ，ｅ）及び自由曲面データを用いて誤差画像(誤差マップ)を含む三次元画像を生成し、出力装置１０において出力する（Ｓ５）。
【００４０】
図１０は、誤差画像（誤差マップ）を含む三次元画像を表示した例である。この例から分かるように、この実施形態では、少ない計測点数から補間処理によって自然な誤差画像を生成することが可能になる。
【００４１】
以上のように、本実施形態によれば、計測点列に対応する第１の点群データから、第１の三角形分割処理により第１の三角形を求め、これら第１の三角形内に、第２の点群を追加して、補間演算により第２の点群の各点に誤差データを求めているので、誤差の全体的な分布を把握することができ、より有益な計測情報を提供することができる。
【００４２】
また、第１の点群に第２の点群を追加したのち、第２の三角形分割をしているので、第１の三角形分割がラフのもので実形状を反映していない場合でも、第２の三角形分割は、第１の三角形分割とは独立に行っているので、最初の不自然な分割結果を引きずらないという利点がある。
【００４３】
なお、三角形分割の方法として、Ｄｅｌａｕｎａｙ分割によらず、生成された三角形データ（ｕ１〜ｕ３，ｖ１〜ｖ３，ｅ１〜ｅ３）の辺を分割し、適当な大きさになるまで再帰的に三角形を小さくしていくことも考えられるが、この様な方法では何度も三角形分割をすることになるため、計算時間が大幅に増大してしまう。この点、上述した実施形態によれば、第２の点群を求めた後に、最後にまとめて三角形分割している為、高精度かつ高速な分割処理が可能である。
【００４４】
又、例えば図１１及び図１２に示す比較例の様に、計測点が少なく三角形ポリゴンの頂点同士が離れている場合に、単純に補間処理してしまうと、三角形ポリゴンが部分自由曲面から飛び出てしまうという問題がある。この点、本実施形態によれば、曲面パラメータ空間上の計測点の凸包内に細かく追加の点群を配置することで、より現実の形状に近い補間をする事が可能である。
【００４５】
なお、上記の実施形態では、第２の点群データを第１の点群データの凸包に含まれる格子点から選択したが、凸包に含まれて均等に分布する点群であれば、格子点でなくても良い。例えば、第２の点群をランダムに設定したり、格子と凸包との交点も第２の点群に含めるようにしても良い。
【符号の説明】
【００４６】
１…三次元測定機、２…ワーク、３…ＣＡＤシステム、４…第１の点群／誤差算出部、５…第１の三角形分割部、６…格子点生成部、７…第２の点群生成／誤差補間部、８…第２の三角形分割部、９…三次元画像生成部、１０…出力装置、１１…記憶装置、２０…コンピュータ（演算処理装置）。
【図１】
0005834317.tif 000010
【図２】
0005834317.tif 000011
【図３】
0005834317.tif 000012
【図４】
0005834317.tif 000013
【図５】
0005834317.tif 000014
【図６】
0005834317.tif 000015
【図７】
0005834317.tif 000016
【図８】
0005834317.tif 000017
【図９】
0005834317.tif 000018
【図１０】
0005834317.tif 000019
【図１１】
0005834317.tif 000020
【図１２】
0005834317.tif 000021