(57)【特許請求の範囲】
【請求項１】
基準面上に設定された垂線を視線と見立てた視界座標系の上で、工作機械の工具により形成される被削物の曲面形状と前記視線との交点を求めて、前記基準面と前記曲面形状との間の距離を算出する曲面形状と基準面との距離算出方法であって、
曲面形状のトポロジを定義するモデル座標系上で、前記曲面形状を近似した多面体の各ポリゴンの頂点座標を求め、前記ポリゴンの各頂点の属性値として、前記頂点座標と、当該ポリゴンの各頂点に接する曲面形状を表すパラメータとを設定する第１のステップと、
前記視界座標系上に前記多面体を移して前記ポリゴンの各頂点の頂点座標を導出する第２のステップと、
前記視界座標系の各視線と前記ポリゴンとの交点座標を導出し、前記基準面から前記交点座標までの各視線の距離を示す深度値ｄを算出するとともに、前記交点座標を当該ポリゴンの各頂点の頂点座標で表すための内挿変数を導出する第３のステップと、
前記内挿変数を用いて前記モデル座標系上の前記ポリゴンにおける各視線の交点を導出する第４のステップと、
前記モデル座標系上で、前記パラメータを用いて、前記交点から前記視線の向きにある前記曲面形状までの距離eを算出する第５のステップと、
前記距離eに基づいて、前記視界座標系上で求めた各視線の前記深度値ｄを補正する第６のステップと、
を備え、前記第２のステップから第６のステップまでの処理を、グラフィックスハードウェアを用いて行うことを特徴とする曲面形状と基準面との距離算出方法。
【請求項２】
請求項１に記載の距離算出方法であって、前記曲面形状が、数式で定義可能な形状であることを特徴とする曲面形状と基準面との距離算出方法。
【請求項３】
請求項１に記載の距離算出方法であって、前記曲面形状が、円筒形状または球形状であることを特徴とする曲面形状と基準面との距離算出方法。
【請求項４】
請求項１に記載の距離算出方法であって、前記多面体を前記モデル座標系の単位座標系上で定義し、前記単位座標系上で求めた前記距離eを基に前記視界座標系上の前記深度値ｄの誤差を算出して、前記深度値ｄを補正することを特徴とする曲面形状と基準面との距離算出方法。
【請求項５】
請求項１に記載の距離算出方法であって、前記第２のステップで、拡大・縮小、並行移動、回転または透視変換による変換を与えた前記ポリゴンの各頂点の頂点座標を導出することを特徴とする曲面形状と基準面との距離算出方法。
【請求項６】
請求項１に記載の距離算出方法であって、前記第１のステップから第６のステップまでの処理を、前記曲面形状を近似する前記多面体の全てのポリゴンと交差する全ての視線に対して行い、各視線の補正後の前記深度値ｄで表される面の包絡面形状を導出することを特徴とする曲面形状と基準面との距離算出方法。
【請求項７】
請求項６に記載の距離算出方法であって、前記包絡面形状として、ボールエンドミル工具の掃引形状を導出することを特徴とする曲面形状と基準面との距離算出方法。
【請求項８】
請求項６に記載の距離算出方法であって、前記包絡面形状として、製品形状の上で工具の向きを反転させた逆オフセット形状を導出することを特徴とする曲面形状と基準面との距離算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視界座標系の上で、例えば、工作機械の工具で削られた被削物の曲面形状と基準面との距離を求める距離算出方法に関し、特に、曲面形状を多面体で近似したときの誤差が補正できるようにしたものである。
【背景技術】
【０００２】
近年、大規模かつ複雑な金型等の製造には、膨大な工具経路情報を伴うＮＣ加工が多用されている。これらの加工の実施に際しては、計算機による被削物形状及びオフセット形状の推定が工具経路の生成・検証に非常に大きな役割を占める。
この場合、図６に示すように、Ｚ−ｍａｐ法では、基準面（Ｚ−ｍａｐ基準面）上の格子点ごとに設定された垂線を視線と見立てた視界座標系の上で、被削物形状等の曲面形状と視線との交点と、基準面との間の距離（深度）を求める処理が行われる。
例えば、被削物の形状を推定して被削物の削り残しや削り過ぎを評価する切削シミュレーションでは、運動ステップごとに工具が通過した領域を工具掃引形状として設定し、それらのうち最も基準面に近い包絡面を求めることによって被削物に与えられる２．５次元形状の推定を実現している。
【０００３】
また、逆オフセット法による工具経路の生成においても、図７（ａ）に示すように、目標形状上に、工具軸の方向を反転させた工具形状を多数配置し、図７（ｂ）に示すように、これらの包絡面をＺ−ｍａｐ上の点群として離散的に求め、これらの点群を補間することによって工具中心の移動経路を生成している。
これらの処理では、工具掃引形状や工具反転形状を工具運動ステップごとに定義し、それらの中から最も格子点に近い位置を表面形状として求めている。しかし、これは工具運動ステップ数の増加や格子点間隔の縮小に応じて大規模な幾何計算を必要とするため、処理の高速化が強く求められてきた。
【０００４】
そこで、近年、この幾何演算を並行投影されたコンピュータグラフィックスの描画過程に置き換え、描画専用の機器であるグラフィックスハードウェアの能力を利用することで処理を高速化する手法が提案されている（下記特許文献１参照）。
【０００５】
図１０に示すように、グラフィックスハードウェア４４は、３ＤＣＧの描画時に行われる幾何演算のうちＣＰＵ４３ではリアルタイムな処理が難しいとされる頂点座標変換を実施するＶｅｒｔｅｘＳｈａｄｅｒ、及び深度計算・陰面処理等を実施するＰｉｘｅｌＳｈａｄｅｒを備えており、各Ｓｈａｄｅｒの大規模な並列化により大幅な描画速度の向上が実現されている。
また、近年では特に、グラフィックスハードウェア内の描画機能をユーザーが自作のプログラムから自由に変更し、実行することが可能なプログラマブルシェーダが実用化されつつある。このような最新のグラフィックスハードウェアは描画に関する汎用的な幾何処理が可能であることから特にＧＰＵ(Graphics Processing Unit)あるいはＶＰＵ(Visual Processing Unit)と呼ばれている。
【０００６】
グラフィックスハードウェアを用いた最近点座標の導出では、格子点を出力画面の画素、基準面から交点までの距離を各画素のもつ深度とみなす。評価を行う範囲の変更や描画対象物の変形をポリゴン頂点の座標変換機能を用いて行い、各視線と面との最近交点導出を陰面処理・深度計算の機能を用いて実現している。これらの機能はグラフィックスハードウェア内で多数の実行ユニットによって並列に処理されることから、ＣＰＵを用いた従来の計算手法に比べて非常に短時間での処理が可能となっている。
【特許文献１】特開２０００−２３５４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、現状のグラフィックスハードウェアでは、描画の対象を平面からなる多面体に近似する必要があるが、一般に、工具掃引形状及び逆オフセット形状は円筒面と球面等の曲面の集合体となるため、これを多面体で近似すると本来の曲面との間にずれが生じ、計算誤差が発生する。
図８は、平面近似で発生する誤差の例を示している。ボールエンドミルの工具掃引形状は、工具経路の始点及び終点に対応する半球状の曲面と、始点・終点間の軌跡に対応する半円筒状の曲面を有する。これらは、いずれも数学的に容易に定義を行うことが可能であるが、多面体によって近似した場合には、内接する位置以外のいずれの箇所においても評価誤差が生じる。
また、工具の逆オフセット形状においては、円周上の工具刃部分が半球状の形状で、側面部の工具刃部分が部分円錐状の形状で表面が構成され、同様に多面体に近似したときに評価誤差が生じる。
【０００８】
また、図９はＸ軸に対して並行に配置された半径１の正規化された円筒形状と、それに等角度で内接するように設定された近似多面体とのＺ方向の深度値の隔たりｅzのＹ座標に対する変化を、円筒形への内接点間の角度ｎで表したものである。円筒形状の半径に対する誤差の比は、近似に用いる微少多角形の総数に反比例して減少する。そのため、特に円筒の側面部分において誤差を小さくするためには非常に多数のポリゴンが必要となる。
これらの問題への対策としては、誤差がある閾値以下となるように、面を非常に微小な多面体の集合で近似する方法がある。しかしながら、高精度な評価を行うために必要となる多面体の総数は閾値に対して指数的に増大する。そのため、大規模なＮＣプログラムの検証にこの種の対策を取るのは現実的でない。 
【０００９】
本発明は、こうした事情を考慮して創案したものであり、ボールエンドミルを用いた３軸制御加工を対象として、近似時に生じた曲面と多面体との形状の隔たりをグラフィックハードウェア内で補正することができる曲面形状と基準面との距離算出方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、基準面上に設定された垂線を視線と見立てた視界座標系の上で、工作機械の工具により形成される被削物の曲面形状と前記視線との交点を求めて、前記基準面と前記曲面形状との間の距離を算出する曲面形状と基準面との距離算出方法であって、曲面形状のトポロジを定義するモデル座標系上で、前記曲面形状を近似した多面体の各ポリゴンの頂点座標を求め、前記ポリゴンの各頂点の属性値として、前記頂点座標と、当該ポリゴンの各頂点に接する曲面形状を表すパラメータとを設定する第１のステップと、前記視界座標系上に前記多面体を移して前記ポリゴンの各頂点の頂点座標を導出する第２のステップと、前記視界座標系の各視線と前記ポリゴンとの交点座標を導出し、前記基準面から前記交点座標までの各視線の距離を示す深度値ｄを算出するとともに、前記交点座標を当該ポリゴンの各頂点の頂点座標で表すための内挿変数を導出する第３のステップと、前記内挿変数を用いて前記モデル座標系上の前記ポリゴンにおける各視線の交点を導出する第４のステップと、前記モデル座標系上で、前記パラメータを用いて、前記交点から前記視線の向きにある前記曲面形状までの距離eを算出する第５のステップと、前記距離eに基づいて、前記視界座標系上で求めた各視線の前記深度値ｄを補正する第６のステップと、を備え、前記第２のステップから第６のステップまでの処理を、グラフィックスハードウェアを用いて行うことを特徴としている。
この方法では、曲面を平面で近似したことに伴う誤差をグラフィックスハードウェア内で補正することができる。
【００１１】
また、本発明の距離算出方法は、前記曲面形状が、数式で定義可能な形状であれば適用できる。
曲面形状が数式で定義できる場合は、視線方向におけるポリゴンと曲面形状との隔たりeを計算することができるので、深度値ｄの補正が可能である。
【００１２】
また、本発明の距離算出方法では、前記曲面形状を、円筒形状または球形状としても良い。
ボールエンドミル工具の掃引形状や逆オフセット形状は、円筒形状や球形状で表すことができるから、本発明の距離算出方法により、ボールエンドミル工具で加工する被削物形状の評価や工具経路の設定を正確に行うことができる。
【００１３】
また、本発明の距離算出方法では、前記多面体を前記モデル座標系の単位座標系上で定義し、前記単位座標系上で求めた前記距離eを基に前記視界座標系上の前記深度値ｄの誤差を算出して、前記深度値ｄを補正する。
ポリゴンを単位座標系上で正規化して定義することにより、深度値ｄに対する補正値の算出が簡単になる。
【００１４】
また、本発明の距離算出方法では、ポリゴンをモデル座標系から視界座標系に移す場合に、拡大・縮小、並行移動、回転または透視変換による変換を与えた前記ポリゴンの各頂点の頂点座標を導出する。
この座標変換により、曲面形状の任意の変形が可能になる。
【００１５】
また、本発明の距離算出方法では、前記第１のステップから第６のステップまでの処理を、前記曲面形状を近似する前記多面体の全てのポリゴンと交差する全ての視線に対して行い、各視線の補正後の前記深度値ｄで表される面の包絡面形状を導出する。
曲面を多面体近似したことに伴う誤差を含まない包絡面形状を得ることができる。
【００１６】
また、本発明の距離算出方法では、前記包絡面形状として、ボールエンドミル工具の掃引形状を導出する。
正確なボールエンドミル工具の掃引形状が描画されるため、被削物形状の正しい評価が可能になる。
【００１７】
また、本発明の距離算出方法では、前記包絡面形状として、製品形状の上で工具の向きを反転させた逆オフセット形状を導出する。
正確な逆オフセット形状が描画されるため、工具の正確な移動経路設定することが可能になる。
【発明の効果】
【００１８】
本発明によれば、視界座標系上での曲面と基準面との距離を、正確、かつ、迅速に求めることができる。
【発明を実施するための最良の形態】
【００１９】
本発明では、平面近似に伴う誤差を補正する手法を提案する。ここでは、補正の対象となる曲面を球面、円筒面とする。また、これらに対する近似による誤差の補正をグラフィックスハードウェア内部のみで行う。
図１は提案する手法の概念を示す。従来の幾何計算手法では、曲面形状のトポロジを定義するモデル座標系上において平面近似された多面体を、視界座標系に投影し、視点と各平面との距離を深度ｄとして求め、これを用いて包絡面の推定を行ってきた。今回提案する手法では、この深度計算の過程を近年のＧＰＵが有するプログラマブルシェーダの機能を用いて変更する。
【００２０】
具体的には、交点のモデル座標系上での座標値を元に格子点上でのポリゴンと近似前の曲面との間の距離ｅを計算する。その上で深度ｄと距離ｅとから本来の曲面に対して視線が持つべき深度値を推定する。この処理をポリゴンごとにＧＰＵの機能を用いて行い、深度値の比較から最も基準面に近い交点の座標を包絡面の座標として求めることによって正確かつ高速な形状の推定を実現する。
【００２１】
この深度計算のアルゴリズムでは、パラメトリックに定義された曲面と、近似後のポリゴンと視線との交点の位置関係を把握し、この交点と曲面との距離を求めることが必要となる。そこで、本手法では、ポリゴン頂点の座標定義を正規化されたモデル座標系上で行い、視界座標系での視線とポリゴンとの交点座標をモデル座標系上に投影することによって、ＧＰＵのＰｉｘｅｌＳｈａｄｅｒの内部で曲面と交点との隔たりを計算できるようにしている。
以下ではその内容について述べる。
【００２２】
（モデル座標系における円筒面との交点座標の導出）
一般に、コンピュータグラフィックスの描画においては、ポリゴンを設定し描画対象物のトポロジを定義するためのモデル座標系と、視界を構成する各視線とポリゴン間の位置関係を正規化した視界座標系の二つの座標系が用いられる。
通常の描画処理では、ＣＰＵによって与えられたモデル座標系上の各ポリゴンの頂点を、４つの項からなる同次座標で表し、これに対して拡大・縮小、並行移動、回転、透視変換からなる座標変換を与えて視界座標系上での頂点座標を導出する。全てのポリゴンの頂点を変換し、視界座標系上にポリゴンを投影した状態での視線とポリゴンとの交点を元に、各視線に対応する画素の状態を推定し、出力画面の色が決定される。
【００２３】
このとき、視線とポリゴンとの交点座標は、ＧＰＵ内部では対応するポリゴンとそれを構成する視界座標系上の頂点座標の内挿として与えられる。そこで、モデル座標系上での各ポリゴンを正規化された形状に対して設定し、交点のモデル座標系上での座標値を視界座標系上での各頂点座標から同様に推定する。これと数学的に定義された曲面との隔たりをＧＰＵ内部で計算することで深度値の補正を行う。
【００２４】
今、３次元の同次座標変換における拡大・縮小行列T(a、b、c)を（数１）のように、
並行移動行列M(a、b、c) を（数２）のように、Ｚ軸及びＹ軸まわりの回転行列Rz(θ)、Ry(φ)を（数３）、（数４）のように定義する。
【数１】
0004949953.tif 000002
【数２】
0004949953.tif 000003
【数３】
0004949953.tif 000004
【数４】
0004949953.tif 000005
【００２５】
このとき、図２に示すような絶対座標系上にある半径ｒの円筒形状の同次座標Ｃab（ｘab、ｙab、ｚab、１）は、モデル座標系上において、Ｚ軸の方向を中心軸とし半径１、長さ１となる円筒形状の座標Ｃmd（ｘmd、ｙmd、ｚmd、１）を用いて次の（数５）ように設定することができる。
【数５】
0004949953.tif 000006
さらに、絶対座標系上での視界の中心を(ｘv、ｙv、ｚv)、視界の幅と高さをｗ、視野界の奥行きの長さをｆとする並行投影後の視界座標系における頂点座標Ｃvw（ｘvw、ｙvw、ｚvw、１）は、先の変換に加えて以下の変換式（数６）によってＣmdから設定することができる。
【数６】
0004949953.tif 000007
ＣmdよりＣvw を求める頂点座標変換行列Ｖは、円筒形状の半径及び長さ、位置ごとに異なる行列となるため、工具掃引形状に対して工具の運動ステップごとに設定が繰り返される。
【００２６】
ここで、投影後のポリゴンと視線との交点座標Ｂvwについて、そのモデル座標系上での交点座標Ｂmdを求める。今、ポリゴンを三角形と仮定し、その投影後の頂点をＡvw1、 Ａvw2、 Ａvw3とすると、Ｂvwは内挿変数ｓ、ｔを用いて、次式（数７）のように、
【数７】
0004949953.tif 000008
と表すことができる。このとき頂点投影行列Ｖの逆行列Ｖ-1は（数６）の定義より、
【数８】
0004949953.tif 000009
となる。ここでモデル座標系上での対応するポリゴンの頂点座標をＡmd1、Ａmd2、Ａmd3とすると、モデル座標系での交点Ｂmdは、（数７）にＶ-1を適用することによって次式（数９）のように表すことができる。
【数９】
0004949953.tif 000010
【００２７】
この内挿変数ｓ、ｔは、ＰｉｘｅｌＳｈａｄｅｒが視線と各ポリゴンとの交差を判定する際に自動的に計算される。そこで、これを利用してモデル座標系での交点座標を推定する。すなわち、ＶｅｒｔｅｘＳｈａｄｅｒにおいて行われる各頂点座標の変換に先立って、モデル座標系上での頂点座標を属性値として各頂点に与えておく。ＰｉｘｅｌＳｈａｄｅｒには、ｓ、ｔを用いて各頂点に与えられた属性値から交点における値を内挿する機能があるため、これを用いて（数９）を計算する。これにより、逆行列Ｖ-1を個々の交点ごとに明示的に求めることなく、モデル座標系上での交点Ｂmdの座標を推定することが可能となる。
【００２８】
（モデル座標系での交点座標を用いた誤差補正）
先に述べたように、本発明の手法では曲面と近似多面体との隔たりを、モデル座標系上で正規化された曲面の位置と各ポリゴンへの視線の交点座標を用いて導出する。
３軸制御加工では、絶対座標系のＺ軸と工具の中心軸は常に一致する。このとき、絶対座標系上で(０、０、１)の向きに配置された各視線は、モデル座標系上では(f・sinφ/l、0、 f・cosφ/r)の向きに投影される。ここで、モデル座標系上での視線の向きとＺmd軸がなす角をδとすると、δは次式（数１０）のように求まる。
【数１０】
0004949953.tif 000011
ここで、Ｂmdを(ｘmd、ｙmd、ｚmd、１)とおき、パラメータδ、ｒ、ｆを用いてＢmdと円筒面と視線との交点間の距離ｅvwを視界座標系上で表すと次式（数１１）のようになる。
【数１１】
0004949953.tif 000012
【００２９】
さらに、ＧＰＵの組み込み機能によって求められる視点とＢvwとの視界座標系上での距離ｄvwからｅvwを引き、得られた値を改めてグラフィックハードウェアのメモリに書き込むことにより正確な深度の値を各交点に与えることが可能となる。この計算は該当する視線と交差する可能性のある全てのポリゴンとの間で行われ、０から１の間で最も小さい値をとる深度値から包絡面の深度値ｄtrueが決定され、ＧＰＵの出力となる。
ＧＰＵから出力される画面上での各画素の座標（ｕ，ｖ）は、それぞれ視界座標系における交点のｘｙ座標(ｘvw、ｙvw)に相当する。そこで、これらの座標値と視点・視界の設定値を用いることによって以下の（数１２）（数１３）（数１４）からＺ−ｍａｐ基板面の格子点に対応する各画素における被削物・逆オフセット面の絶対座標系上での座標Ｂtrue(ｘtrue、ｙtrue、ｚtrue)を求めることが可能となる。
（数１２）      ｘtrue＝ｘv+ｕ・ｗ
（数１３）      ｙtrue＝ｙv+ｖ・ｗ
（数１４）      ｚtrue＝ｚv+ｄtrue・ｆ  
【００３０】
（モデル座標系における球面との交点座標の導出）
球面を対象とした補正においても同様に、正規化されたモデル座標系でポリゴンを定義し、交点座標を推定したのち曲面とポリゴンとの隔たりの計算を行うことによって正確な深度値の計算が可能である。
以前の研究において、球面はボールエンドミルの進行方向が変化する際に現れ、その殆どは前後の工具掃引形状に属する円筒面の内側に存在することが指摘されている。そこでここでは、あらかじめその前後の工具経路から描画の必要のない部分を除いた球面の一部のみを対象としてポリゴンの設定を行う。
【００３１】
図３は部分球面の形状を示す。この曲面２０は、二つの円筒形状の端面をそれぞれの長辺として持つ三日月状の形状となる。これを本来の球面上に頂点を持ち球面に内接する微少三角形の集合で表し、頂点座標変換を実施する。この頂点座標変換では、Ｚ軸及びＹ軸まわりの回転変換が発生しないことから、モデル座標系における近似前の球面の半径を１とすると変換行列Ｖは以下の（数１５）ように定義される。
【数１５】
0004949953.tif 000013
ここから円筒形状の場合と同様にモデル座標系上での視線とポリゴンとの交点を求め、近似前の球面との隔たりを計算する。
視線の方向はモデル座標系のＺ軸方向と一致する。このとき、球面と交点との視界座標系上での距離ｅvwは、ＰｉｘｅｌＳｈａｄｅｒに与えられたポリゴンと視線との交点座標Ｂmd (ｘmd、ｙmd、ｚmd、１)から次式（数１６）
【数１６】
0004949953.tif 000014
と求まる。以降は円筒形状と同様に深度値の書き換えを行い、各ポリゴンの深度値を比較する。これにより正確な包絡面形状の推定が実現する。
【００３２】
ＰｉｘｅｌＳｈａｄｅｒ内部では、上記のようにポリゴンに対応する曲面の種類によって深度値の補正式が切り替えられる。また、補正に必要な情報が近似前の形状の種類ごとに参照される。例えば、近似前の曲面が球であるポリゴンではｒ及びｆが、円筒であるポリゴンではそれに加えてｄがそれぞれＰｉｘｅｌＳｈａｄｅｒ内部で参照される。本発明では、これらのパラメータの値をＣＰＵによる平面近似の実施時に、ポリゴン各頂点の属性値として設定し、これをＧＰＵに備えられたメモリに予め転送しておくことによって処理の分岐と補正情報の参照とを可能としている。
【００３３】
（評価システムのアルゴリズム）
この手法の有効性を検証し、高速かつ高精度な形状評価が可能かどうかを確認するため、３軸加工を対象としたプロトタイプの切削シミュレーションシステムを開発した。
図４は、開発したシステムのアルゴリズムを表す。このアルゴリズムにおいては、まずＮＣプログラムからデータが読み込まれ（ステップ１）、ＮＣプログラム内の各工具運動ステップに対応した円筒面と、その間に存在する部分球面とがポリゴンの集合としてそれぞれ設定され、各ポリゴンの頂点座標が算出される。このとき、各ポリゴンの頂点情報（属性値）には、頂点座標とともに、近似前の曲面の種類と、対応する工具掃引形状の半径ｒ及び視界座標系での視線のＺ軸に対する角度δとがパラメータとして与えられる（ステップ２）。
次に、Ｚ−ｍａｐ形式で形状を出力する際の評価範囲と格子点間隔とが設定され、これに対応した視点座標が与えられる（ステップ３）。
【００３４】
これらの情報をもとに、ＶｅｒｔｅｘＳｈａｄｅｒによって各頂点の座標と視界の状態を反映した頂点座標変換行列Ｖが設定され、全てのポリゴンが視界座標系に投影される（ステップ４）。ＰｉｘｅｌＳｈａｄｅｒにおいては、視線とポリゴンとの視界座標系上での交点座標Ｂvwが導出され（ステップ５）、交点座標Ｂvwでの視線に対するポリゴンの深度値と内挿変数ｓ、ｔとが計算され（ステップ６）、内挿変数ｓ、ｔを用いてモデル座標系上での交点座標が導出され（ステップ７）、パラメータを用いて近似前の曲面とポリゴン上の交点との距離ｅvwが計算され（ステップ８）、基準面に対する正確な深度値が導出される（ステップ９）。これらの深度値を視線と交差する全てのポリゴンに対して求め、それらを比較して、視点と最も近い位置での交点Ｂtrueの深度ｄtrueが推定され（ステップ１０）、ディスプレイに出力されて（ステップ１１）、形状の評価が実現する。
【００３５】
このとき、ステップ４からステップ１０の処理（図４中（ａ）の範囲）は、ＧＰＵ内で行われる。深度値の計算を行うステップ６からステップ９の処理（図４中（ｂ）の範囲）は、全てのポリゴンと全ての視線に対して繰り返し処理を行うことが必要となるが、これらは全てＧＰＵ内で計算が行われる。そのため、平面及び円筒面、球面の包絡面に対するＺ−ｍａｐ形式での形状の推定は短時間で処理を終えることが可能になる。
【００３６】
（計算機実験による検証）
本評価システムの実装にあたっては、現在、ＣＡＤ／ＣＡＭ／ＣＡＥソフトウェアにおいて広く用いられているＯｐｅｎＧＬグラフィックライブラリと、そのプログラマブルシェーダーカスタマイズ用ライブラリであるＧＬＳＬ(OpenGL Shading Language)を用いた。
検証に用いた工具経路は６種類の工具による工程からなり、総数１９万２千Ｓｔｅｐの工具運動によって構成されている。これに対して本計算機実験では、部分球面及び円筒面を各辺の長さが球面・円筒面上で１０度以下となるように平面近似し、形状評価に用いている。
【００３７】
図５は１０万Ｓｔｅｐ目の加工の中途において、工具刃が進行方向で被削物を除去する部分をＧＰＵの機能を用いて特定した状態を表す。描画面の縦横の長さは１０万ｓｔｅｐ目に加工を行っている工具の径に相当し、中央の黒い部分が工具進行方向上で工具刃が除去する部分、その他の色の部分がそれ以前の工具経路によって既に除去され、工具刃よりも視点に近い、すなわちＺ方向の高さが低い部分を表す。
本発明を適用した場合を図５（ａ）に、ポリゴンと視線との交点座標の深度のみを用いて計算を行った場合を図５（ｂ）に示している。これらを比較すると、特に（ｂ）で除去部分の境界部分で誤差が発生していることが分かる。これは、曲面とポリゴンとの間の近似誤差が視線の位置ごとに変化し、その結果各ポリゴンに対する視線上での前後関係の評価が近似前の曲面の前後関係と異なる状態になったのが原因であると考えられる。
【００３８】
この計算には、ＣＰＵ にＣｏｒｅ２Ｄｕｏ Ｅ６６００ ２４００Ｍｈｚ、ＧＰＵにＧｅＦｏｒｃｅ７８００ＧＴＸ ４３０Ｍｈzを持つ主記憶容量２０４８ＭＢのＰＣを用いた。試作したシステムでは、一画面を構成する２６２，１４４個の格子点群に対して１０万ｓｔｅｐ目までの間で工具一箇所あたり平均０．０５７秒で描画範囲に入る全ての工具掃引形状間の上下関係を判定し、任意の瞬間での被削物形状に対する工具切込みの状態を導出することが可能であった。従来の曲面に対する補正を実施せずに、工具掃引形状を多面体近似したポリゴン群との深度値を求めた場合の平均所要時間は平均０．０２１秒であり、本発明の手法は、従来の手法と同様に短時間で形状の推定を行うことが可能である。
なお、ここでは、補正対象の曲面が球面及び円筒面の場合について説明したが、それ以外の曲面であっても、数式で定義可能な形状であれば、本発明を適用することができる。
【産業上の利用可能性】
【００３９】
本発明は、工作機械でＮＣプログラムを実行したときの被削物の削り残しや削り過ぎを事前に検証する切削シミュレーション、あるいは、ＮＣプログラムを作成する際の製品モデルから工具経路を生成する処理や、製品形状と工具軸との干渉を判定する処理などに広く適用することができ、それらの処理の高精度化を実現し、ＮＣプログラムの最適化を図ることができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の曲面形状と基準面との距離算出方法を概略的に示す図
【図２】絶対座標系上での円筒形状を示す図
【図３】工具掃引形状の間隙における部分球面形状を示す図
【図４】本発明の距離算出方法を採り入れた切削シミュレーションの手順を示すフロー図
【図５】本発明の距離算出方法を採り入れた切削シミュレーションの計算結果（ａ）と、従来の切削シミュレーションの計算結果（ｂ）とを示す図
【図６】被削物形状の推定方法を説明する図
【図７】逆オフセット法による工具経路生成方法を説明する図
【図８】工具掃引形状の平面近似に伴う誤差を説明する図
【図９】円筒面の多角形近似による深度値誤差の変化を説明する図
【図１０】グラフィックスハードウェアの構成を説明する図
【符号の説明】
【００４１】
２０    部分球面
４３    ＣＰＵ
４４    ＧＰＵ
【図１】
0004949953.tif 000015
【図２】
0004949953.tif 000016
【図３】
0004949953.tif 000017
【図８】
0004949953.tif 000018
【図９】
0004949953.tif 000019
【図４】
0004949953.tif 000020
【図５】
0004949953.tif 000021
【図６】
0004949953.tif 000022
【図７】
0004949953.tif 000023
【図１０】
0004949953.tif 000024