(57)【要約】【課題】二つの曲面が接続されている曲面に対するオフセット処理において、微小要素の発生を抑制するのに好適な３次元形状処理装置、３次元形状処理方法、３次元形状処理プログラム及び記録媒体を提供する。【解決手段】二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面を含む３次元形状をオフセット処理するためのデータを入力する入力装置１などの３次元形状データ入力手段と、入力されたデータを用い、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成し、このオフセット曲線を変形して近似オフセット曲線を生成し、この近似オフセット曲線を境界として内部に近似オフセット曲面を生成するＣＰＵ３、メモリ４などの３次元形状処理手段とを設ける。【選択図】　　　　図１
2004054748.tif 000002
【特許請求の範囲】
【請求項１】
二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面を含む３次元形状をオフセット処理するためのデータを入力する３次元形状データ入力手段と、この３次元形状データ入力手段により入力されたデータを用い、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成し、このオフセット曲線を変形して近似オフセット曲線を生成し、この近似オフセット曲線を境界として内部に近似オフセット曲面を生成する３次元形状処理手段とを設けたことを特徴とする３次元形状処理装置。
【請求項２】
二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行することを特徴とする３次元形状処理方法。
【請求項３】
前記第２のステップでは、前記接続部に略平行で対向している二つのオフセット曲線上でそれぞれ対応する２点の中間点を求め、それぞれの中間点を補間する平均曲線を生成し、前記二つのオフセット曲線と接続していたオフセット曲線の端点が一致するよう、このオフセット曲線を変形し、前記平均曲線を含む近似オフセット曲線を生成することを特徴とする請求項２に記載の３次元形状処理方法。
【請求項４】
前記第２のステップでは、前記オフセット曲線はベジエ曲線のセグメントからなる区分ベジエ曲線で表現され、前記平均曲線と接続するセグメントを取り出し、このセグメントの両端点のうち、前記平均曲線の端点と一致させる側の端点における接線ベクトルを固定して前記セグメントを変形することを特徴とする請求項３に記載の３次元形状処理方法。
【請求項５】
前記第３のステップでは、前記近似オフセット曲線上のオフセット点を前記曲折曲面上に射影するか、前記オフセット点と前記曲折曲面の境界曲線との最短距離を求めるかのいずれかにより、前記近似オフセット曲線のオフセット点の座標値と前記曲折曲面上のパラメータとを対応付けることを特徴とする請求項２に記載の３次元形状処理方法。
【請求項６】
コンピュータに、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行させるための３次元形状処理プログラム。
【請求項７】
コンピュータに、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行させるための３次元形状処理プログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤ／ＣＡＭを用いた３次元形状処理装置、３次元形状処理方法、３次元形状処理プログラム及び記録媒体に関するものである。
【０００２】
【従来の技術】
３Ｄ　ＣＡＤ　などに代表される３次元形状のモデリングシステムは、そのモデリング機能の発展とともに、　近年、産業界において広く浸透しつつある。しかし、広く利用されるに従い様々な問題も提起されてきた。その一つに、微小要素を含むことによる形状データの品質低下がある。システムによって呼び方も変わるであろうが、形状データの構成要素には、点や曲線、曲面といった幾何形状を表現する要素がある。そして、それらは有限の桁をもつ実数値によってコンピュータ内部に表現される場合がほとんどである。しかし、このように幾何形状を表現すると、どうしても数値演算上の誤差が含まれ、平行、交差、一致などの幾何条件は許容誤差をもって判定せざるを得ない。この判定は、実用的なシステムを構築する上で回避できないものである。しかしながら、このことに起因し、曲線、曲面の生成及び変形といった各種演算の過程で、微小な要素（微小要素）が形状に含まれてしまうことがある。形状に微小要素が含まれると、その後の演算処理や、他のシステムとのデータ交換などで失敗することが多い。このため、微小要素を含む形状データは品質の低いデータとみなされてしまう。
【０００３】
従来、この種の３次元形状のモデリングシステムによるオフセット処理方法（３次元形状処理方法に含まれる）において、一つの曲面ｒ（ｕ，ｖ）に対するオフセット曲面ｒ０（ｕ，ｖ）は次式（１）によって与えられる。
ｒ０（ｕ，ｖ）＝ｒ（ｕ，ｖ）＋ｎ（ｕ，ｖ）ｄ・・・・（１）
【０００４】
ここで、ｄはオフセットする距離であり、ｎ（ｕ，ｖ）はｕ、ｖにおける曲面ｒ（ｕ，ｖ）　上の法線ベクトルである。つまり、オフセット曲面ｒ０（ｕ，ｖ）は、曲面ｒ（ｕ，ｖ）上のすべての点をその点における法線ベクトル方向に一定距離ｄだけ移動した点からなる集合となる。これは、曲面と曲面の接続部分においても例外ではなく、その接続部分において互いの法線ベクトル方向が異なっていれば、オフセット曲面の境界同士は一致しない。逆に、二つの曲面がＧ＾１　連続以上の滑らかさで接続されていれば、その接続部分において互いの法線ベクトル方向が一致するため、オフセット曲面の境界同士も一致する。
【０００５】
さて、互いに接続した二つの曲面に対するオフセット処理は、曲面同士の接続状態によって次の三つの場合に分けられる。
（１）二つの曲面が曲面の外側から見て凹状に折れて接続している場合（図１３に示す）
（２）二つの曲面が曲面の外側から見て凸状に折れて接続している場合（図１４に示す）
（３）二つの曲面が　Ｇ＾１　連続以上の滑らかさで接続している場合（図１５に示す）
【０００６】
（１）の場合には、接続されるオフセット曲面とオフセット曲面とが互いに干渉するために、その干渉部分を除去し、残った面同士を接続する。図１３では、（ａ）に示す元の曲面ｒをオフセット処理するときに、前述したように二つのオフセット曲面部の干渉部分を削除し、（ｂ）に示すようにオフセット曲面ｒ０を取得する。
【０００７】
（２）の場合には、図１４（ａ）に示すように凸状に折れている元の曲面のオフセット処理において、接続されるオフセット曲面とオフセット曲面との間に隙間が生じるために、図１４（ｂ）、（ｃ）に示すようにその隙間を埋める面（補間面）を生成し、二つのオフセット曲面を接続する。この補間面の形状は、オフセット曲面の利用用途によっても異なるが、例えば、ＮＣシステムのカッターパスに利用する場合などは、図１４（ｂ）に示すように丸みを帯びた形状になる。また、肉厚一定形状の生成に利用する場合などには、図１４（ｃ）に示すように二つのオフセット曲面から滑らかに延びる二つの曲面を生成することもある。いずれにしても隙間が小さければ小さい程、補間面の形状も小さくなる。図１４（ｂ）、（ｃ）には、元の曲面ｒとオフセット曲面ｒ０とを示している。
【０００８】
（３）の場合には、図１５（ａ）に示すようにオフセット曲面の境界同士が一致するため、図１５（ｂ）に示すように生成したオフセット曲面同士を単に接続するだけになる。図１５（ｂ）には、元の曲面ｒとオフセット曲面ｒ０とを示している。
【０００９】
なお、この種の３次元形状処理方法に関するものとしては、特許第３１８７８１２号公報、特許第３１８７８１３号公報、特許第３２５５３０５号公報、特開平１１−３５３３５５号公報がある。
【００１０】
【発明が解決しようとする課題】
しかし、このような従来の３次元形状処理方法では、　前述した（２）の場合、前記オフセット曲面同士を接続するために補間面を生成していたので、接続されるオフセット曲面同士の間に生じる隙間が非常に小さいと、この補間面がオフセット曲面の微小要素になってしまうという問題があった。
【００１１】
本発明は、このような問題を解決するためになされたもので、二つの曲面が接続されている曲面に対するオフセット処理において、微小要素の発生を抑制するのに好適な３次元形状処理装置、３次元形状処理方法、３次元形状処理プログラム及び記録媒体を提供するものである。
【００１２】
【課題を解決するための手段】
請求項１に係る本発明の３次元形状処理装置は、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面を含む３次元形状をオフセット処理するためのデータを入力する３次元形状データ入力手段と、この３次元形状データ入力手段により入力されたデータを用い、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成し、このオフセット曲線を変形して近似オフセット曲線を生成し、この近似オフセット曲線を境界として内部に近似オフセット曲面を生成する３次元形状処理手段とを設けた構成を有している。
この構成により、曲折曲面の境界曲線をオフセット処理して取得されたオフセット曲線を変形することで、このオフセット曲線の間隙が解消されるように近似オフセット曲線を生成できるので、この近似オフセット曲線を利用して近似オフセット曲面を生成すると、前記間隙の補間面は不要となり、この補間面が微小要素となることを回避できる。
【００１３】
請求項２に係る本発明の３次元形状処理方法は、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行している。
この方法により、互いに折れて接続された二つの曲面を含む曲折曲面をオフセット処理する場合に、オフセットした双方の曲面の境界曲線を変形するので、前記間隙を補間するための補間面を介さずにオフセット曲面同士を接続できる。
【００１４】
請求項３に係る本発明の３次元形状処理方法は、請求項２において、第２のステップでは、前記接続部に略平行で対向している二つのオフセット曲線上でそれぞれ対応する２点の中間点を求め、それぞれの中間点を補間する平均曲線を生成し、前記二つのオフセット曲線と接続していたオフセット曲線の端点が一致するよう、このオフセット曲線を変形し、前記平均曲線を含む近似オフセット曲線を生成している。
この方法により、曲折曲面における接続部の境界曲線に対応するオフセット曲線を変形して平均曲線を生成し、この平均曲線を含む近似オフセット曲線の端点を一致させるので、前記平均曲線を用いてオフセット面（ここでは、曲折曲面に含まれる二つの近似オフセット曲面）同士の境界を一致させることができる。
【００１５】
請求項４に係る本発明の３次元形状処理方法は、請求項３において、第２のステップでは、前記オフセット曲線はベジエ曲線のセグメントからなる区分ベジエ曲線で表現され、前記平均曲線と接続するセグメントを取り出し、このセグメントの両端点のうち、前記平均曲線の端点と一致させる側の端点における接線ベクトルを固定して前記セグメントを変形している。
この方法により、オフセット曲線の端点における接線ベクトルを固定して区分ベジエ曲線（以下、Ｂｅｚｉｅｒ曲線ともいう）のセグメント形状を変形させるので、互いに端点の一致した近似オフセット曲線を生成できる。
【００１６】
請求項５に係る本発明の３次元形状処理方法は、請求項２において、第３のステップでは、前記近似オフセット曲線上のオフセット点を前記曲折曲面上に射影するか、前記オフセット点と前記曲折曲面の境界曲線との最短距離を求めるかのいずれかにより、前記近似オフセット曲線のオフセット点の座標値と前記曲折曲面上のパラメータとを対応付けている。
この方法により、オフセット点が元曲面上に射影できない場合には、元曲面の境界曲線との最短距離をもって射影点とするので、近似オフセット曲線と元曲面上のパラメータとを対応づけることができる。
【００１７】
請求項６に係る本発明の３次元形状処理プログラムは、コンピュータに、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行させている。
このプログラムにより、互いに折れて接続された二つの曲面を含む曲折曲面をオフセット処理する場合に、オフセットした双方の曲面の境界曲線を変形するので、前記間隙を補間するための補間面を介さずにオフセット曲面同士を接続できる。よって、微小要素となり得る補間面の生成を抑制できる。また、ネットワークを介して３次元形状処理プログラムを移動することにより、プログラムの更新や配布が容易となる。
【００１８】
請求項７に係る本発明の３次元形状処理プログラムは、コンピュータに、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面をオフセット処理する場合に、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成する第１のステップと、第１のステップで取得されたオフセット曲線を変形して近似オフセット曲線を生成する第２のステップと、第２のステップで取得された近似オフセット曲線を境界として内部に近似オフセット曲面を生成する第３のステップとを実行させるための３次元形状処理プログラムを記録している。
この記録媒体により、互いに折れて接続された二つの曲面を含む曲折曲面をオフセット処理する場合に、オフセットした双方の曲面の境界曲線を変形するので、前記間隙を補間するための補間面を介さずにオフセット曲面同士を接続できる。よって、微小要素となり得る補間面の生成を抑制できる。また、この記録媒体を携帯可能とすることにより、３次元形状処理プログラムの移動及び入れ替えが容易となる。
【００１９】
【発明の実施の形態】
ある曲面に対する理論上のオフセット曲面は、従来の技術で示した式　（１）により与えられる。しかし、平面や円柱面など解析的に表現された曲面の場合を除き、理論上のオフセット曲面をコンピュータで計算するのは困難である。そこで、実際のオフセット曲面は、理論上のオフセット曲面を近似した曲面（近似オフセット曲面）で生成するのが、従来においても一般的である。近似オフセット曲面は、基本的に、元の曲面から幾つかのサンプル点を取り、それらの点を法線ベクトル方向にオフセットした点を利用して生成する。これについては、本実施形態においても、従来の技術で示した（２）の場合、オフセット曲面同士の間に補間面が生成される。また、オフセット曲面同士の隙間が非常に小さい場合、生成される補間面が微小要素になる。本実施形態においても、オフセット曲面は近似オフセット曲面として生成するが、この生成過程で独自の変形処理を適用することにより、生成される補間面が微小要素となるのを回避するものである。以下、本発明の実施の一形態を図面を用いて説明する。
【００２０】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る３次元形状処理装置の構成を示す。ここでは、コンピュータ装置によって３次元形状処理装置を実現している。また、ここでは、特に３次元形状処理に含まれるオフセット処理を示す。ここで取り扱うオフセット処理には、一つまたは、互いに接続された複数の曲面から構成された３次元多様体について、その表面をオフセットして別の３次元多様体を生成するための処理が含まれる。
【００２１】
図１において、入力装置１は、キーボード、マウス、タッチパネル、スキャナ等で情報入力に用いられるものである。表示装置２は、ＣＲＴまたは液晶ディスプレイ（ＬＣＤ）等で構成され、入力装置１から入力され、あるいはネットワーク接続装置７を介して入力された３次元形状データや画像データにより、３次元形状を表示するものである。中央処理ユニット（以下、ＣＰＵともいう）３は、装置全体を制御し、本実施形態の３次元形状処理機能を実現するものである。メモリ４は、ＲＯＭやＲＡＭ等で構成され、ＣＰＵ３の制御プログラムを記憶するとともに、この制御プログラムがＣＰＵ３によって実行されるときにー時的に作成される情報等を保持するものである。記憶装置５は、ハードディスク、リムーバブルディスク等で構成され、前述した３次元形状データ、画像データ及びプログラムやプログラム実行時の一時的な情報等を記憶するものである。媒体駆動装置６は、プログラムやデータ等を記録した記録媒体を装着して読み込み、メモリ４または記憶装置５へ格納するのに用いられる。ネットワーク持続装置７は、３次元形状処理装置をネットワークへ接続するためのインタフェースであり、このネットワークを介して他の通信装置やサーバと信号及びデータを遣り取りするものである。バス８は、前述の装置１〜７間を接続するものである。
【００２２】
また、前記ネットワークは、コンピュータ装置と他のコンピュータ装置とを結合するための伝送路であって、一般には、ケーブルで実現され、通信プロトコルにはＴＣＰ／ＩＰが使われる。但し、伝送路としてはケーブルだけでなく、それらの間の通信プロトコルが一致するものであれば無線、有線及び放送波のいずれでもよく、例えば、構内網（ＬＡＮ）、広域網（ＷＡＮ）、インターネット、アナログ電話網、ディジタル電話網（ＩＳＤＮ）、パーソナルハンディホンシステム（ＰＨＳ）、携帯電話網、衛星通信網等を用いることができる。
【００２３】
さらに、前述した記録媒体としては、半導体媒体（例えば、ＲＯＭ、ＩＣメモリカード等）、光媒体（例えば、シーディーロム（ＣＤ−ＲＯＭ）、ディジタル・バーサタイル・ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、書き込み可能なＣＤ（ＣＤ−Ｒ）等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク（ＦＤ）等）のいずれであってもよい。
【００２４】
また、前述した記録媒体からインストールされたプログラム、換言すれば、前述の記録媒体に記憶されたプログラムとしては、本実施形態の３次元形状処理機能を実現するために用いられる３次元形状処理プログラムがある。ここでは、３次元形状処理プログラムを予めＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭ等を媒体駆動装置６に装着して、この３次元形状処理プログラムをメモリ４あるいは記憶装置５に格納し、ＣＰＵ３により実行することによって、本実施形態の３次元形状処理機能を実現するものである。さらに、３次元形状処理プログラムがＲＯＭ等のような半導体の記録媒体に記録されている場合には、３次元形状処理プログラムは、媒体駆動装置６からではなく、直接、メモリ４ヘロードされ、実行されることとなる。
【００２５】
なお、メモリ４へロードした３次元形状処理プログラムを実行することにより、本実施形態の３次元形状処理機能が実現されるだけでなく、３次元形状処理プログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって本実施形態の３次元形状処理機能が実現されるようにしてもよい。また、ネットワーク接続装置７によりネットワーク上の所定のサーバと接続し、このサーバから３次元形状処理プログラムをメモリ４や記憶装置５にインストールしてもよい。
【００２６】
次に、本実施形態に係る３次元形状処理プログラムを説明する。この３次元形状処理プログラムは、ＣＰＵ３（コンピュータ装置に含まれる）に、図２に示すステップＳ１０１（図３に示すステップＳ１０１１〜Ｓ１０１５が含まれる）、ステップＳ１０２（図４に示すステップＳ１０２１〜Ｓ１０２８が含まれる）を実行させるものである。
【００２７】
ステップＳ１０１においては、一つの曲面ｒ（図５に示す）の境界曲線をそれぞれオフセットした曲線　（以下、オフセット曲線ともいう）を生成する。なお、一つの曲面ｒ（ｕ，ｖ）の境界曲線とは、ｒ（ｕ，０）、ｒ（１，ｖ）、ｒ（ｕ，１）、ｒ（０，ｖ）である４本の曲線のことであり、これを理論的にオフセットした曲線は、従来の技術で示した式（１）により求まる。但し、曲面の場合と同様、直線や円弧など解析的に表現された曲線の場合を除き、理論上のオフセット曲線をコンピュータで計算するのは困難である。このために、前記境界曲線をオフセットする場合も、理論上のオフセット曲線を近似した曲線（以下、近似オフセット曲線ともいう）として生成する。このとき、近似誤差の許容値として、理論上のオフセット曲線との距離の許容誤差を与える。
【００２８】
ここで、ステップＳ１０１に含まれるステップＳ１０１１〜ステップＳ１０１５について説明する。
ステップＳ１０１１においては、前記一つの曲面ｒ（ｕ，ｖ）の境界曲線上に複数のサンプル点を取る。
ステップＳ１０１２においては、前記複数のサンプル点を各サンプル点における曲面ｒの法線ベクトル方向にオフセットした点（以下、オフセット点ともいう）を求める。
ステップＳ１０１３においては、ステップＳ１０１２で取得されたオフセット点群を補間する曲線を生成する。
但し、前記曲線は「オフセット点の数−１」個のべジエ曲線（以下、Ｂｅｚｉｅｒ　曲線と記す）のセグメントからなる区分Ｂｅｚｉｅｒ曲線として生成する。なお、Ｂｅｚｉｅｒ　曲線は代表的なパラメトリック曲線であり、このパラメトリック曲線は、３次元空間内にある曲線上の点の座標値が一つのパラメータで表現されたものである。また、各セグメントは、各オフセット点において隣り合うもの同士を両端点とし、かつ、その両端点において隣り合うセグメントと接線ベクトルの向きとが一致するように設定される。また、この接線ベクトルの向きは、元のサンプル点における境界曲線の接線ベクトルの向きと等しくなるように設定される。
ステップＳ１０１４においては、前述した各セグメント内にさらにサンプル点を取り、このサンプル点がオフセット点として許容誤差を満たしているか否かを評価する。
ステップＳ１０１５においては、前記サンプル点がオフセット点として許容誤差を満たしていない場合は、ステップＳ１０１１に戻り、前記サンプル点が前記許容誤差を満たしている場合には、処理を終了する。
【００２９】
なお、ステップＳ１０１５で前記サンプル点が前記許容誤差を満たしていないと判断された場合は、ステップＳ１０１１に戻って前述したセグメント区間内で元の曲線上に再び複数のサンプル点を取り、これらのサンプル点についてステップＳ１０１２以降の処理を実行することになる。つまり、前記セグメントをさらに複数のセグメントに細分割して評価を繰り返すという再帰分割処理を行う。こうして、全てのセグメントにおいて前記許容誤差を満たした時点で前記再帰分割処理を停止し、その時点における区分Ｂｅｚｉｅｒ曲線を近似オフセット曲線とする。
【００３０】
次いで、ステップＳ１０２においては、ステップＳ１０１で取得された近似オフセット曲線を境界として、境界内部に近似オフセット曲面を生成する。ここで、前記近似オフセット曲線と共に、理論上のオフセット曲面との距離の許容誤差を近似許容誤差として与える。
【００３１】
ここで、ステップＳ１０２に含まれるステップＳ１０２１〜Ｓ１０２６について説明する。
ステップＳ１０２１においては、前述したように与えられた近似オフセット曲線の各区分Ｂｅｚｉｅｒ曲線について、各セグメント間を結ぶ点を、オフセット元の曲面ｒ（以下、元曲面ともいう）に対して射影する。なお、射影するとは、元曲面上に垂線を降ろす操作を意味し、垂線が降ろされた点が射影点となる。また、元曲面上に垂線を降ろすことができなかった場合には、射影元の点と最短距離にある元曲面の境界曲線上の点を射影点とみなす。
ステップＳ１０２２においては、ステップＳ１０２１で射影された点（以下、射影点ともいう）における元曲面のパラメータ（ｕ，ｖ）の値を取得する。
ステップＳ１０２３においては、ステップＳ１０２２で取得された各ｕ、ｖの値について、全てのｕ、ｖの組み合わせで元曲面上にサンプル点を取り、このサンプル点のそれぞれについてオフセット点を求める。
ステップＳ１０２４においては、ステップＳ１０２３で取得されたオフセット点群について、サンプル点のｕが同じ値のもの同士、また、ｖが同じ値のもの同士をそれぞれグループ分けする。そして、各グループについて前記オフセット点群を滑らかに補間する曲線を生成し、近似オフセット曲線の内部をメッシュ状に分割するための曲線群を形成する。以下、前記曲線群に含まれる各曲線のことを分割曲線ともいう。
ステップＳ１０２４においては、前述した近似オフセット曲線、及び分割曲線によって囲まれた各領域を、隣り合うもの同士が互いに滑らかに接続されるようなＢｅｚｉｅｒパッチによって補間する。
ステップＳ１０２５においては、前述した各Ｂｅｚｉｅｒパッチ内に複数のサンプル点を取り、これらのサンプル点がオフセット点として許容誤差を満たすか否かを評価する。
ステップＳ１０２６においては、前記サンプル点がオフセット点として許容誤差を満たしていない場合は、ステップＳ１０２１に戻り、前記サンプル点が前記許容誤差を満たしている場合には、処理を終了する。
【００３２】
なお、前記サンプル点が前記許容誤差を満たしていない場合は、ステップＳ１０２１で、先ず、前記Ｂｅｚｉｅｒパッチの境界曲線をさらに複数に分割し、各分割点を元曲面ｒに対して射影する。次いで、各射影点におけるｕ、ｖの値を取得し、取得したｕ、ｖの値を加えてステップＳ１０２２以降の処理を実行することになる。つまり、前記Ｂｅｚｉｅｒパッチに対応した元曲面のｕ区間及びｖ区間に対応した各Ｂｅｚｉｅｒパッチを、さらに複数のＢｅｚｉｅｒパッチに細分割して評価を繰り返すという再帰分割処理を行う。次いで、全てのＢｅｚｉｅｒパッチにおいて前記許容誤差を満たした時点で前記再帰分割処理を停止し、その時点における全てのＢｅｚｉｅｒパッチ群を結合した１枚のＢ−ｓｐｌｉｎｅ曲面（Ｂ−ｓｐｌｉｎｅ曲線（パラメトリック曲線に含まれる）を用いて表された曲面）を生成し、近似オフセット曲面とする。一つの曲面に対するオフセット処理は以上のとおりである。
【００３３】
次に、図５〜図７を用い、本実施形態の３次元形状処理方法を説明する。ここでは、一つの曲面に対するオフセット処理方法を示す。なお、本実施形態の３次元形状処理方法は、前述した３次元形状処理プログラムにより実現される。
まず、図５（ａ）に示すように一つの曲面ｒのオフセット曲線を生成し、次いで、図５（ｂ）に示すように、生成されたオフセット曲線を境界として境界内部に近似オフセット曲面ｒ０を生成する。
なお、一つの曲面の境界曲線とは、前述したように、曲面ｒ（ｕ，ｖ）における４本の曲線（ｒ（ｕ，０）、ｒ（１，ｖ）、ｒ（ｕ，１）、ｒ（０，ｖ））のことであり、これらを理論的にオフセットした曲線は前記式（１）により求まる。ここでは、さらに理論上のオフセット曲線を近似した近似オフセット曲線を生成する。
【００３４】
ここで、前述した近似オフセット曲線を生成する場合には、近似誤差の許容値として、理論上のオフセット曲線との距離の許容誤差を与え、以下の手順により生成する。
まず、前述した境界曲線上に複数のサンプル点を取る（図６（ａ）に示す）。次いで、各サンプル点をそれらのサンプル点における曲面の法線ベクトル方向にオフセットしたオフセット点を求める（図６（ｂ）に示す）。次いで、取得されたオフセット点群を補間する曲線を、「オフセット点の数−１」個のＢｅｚｉｅｒ曲線のセグメントからなる区分　Ｂｅｚｉｅｒ　曲線として生成する。ここで、各セグメントは、前述したように各オフセット点において隣り合うもの同士を両端点とし、かつ、その両端点において隣り合うセグメントと接線ベクトルの向きが一致するようにしている。また、この接線ベクトルの向きは、元のサンプル点における境界曲線の接線ベクトルの向きと等しくなるようにする（図６（ｃ）に示す）。次いで、各セグメント内にサンプル点を取り、それがオフセット点として許容誤差を満たしているか否かを評価する。ここで、満たしていない場合は、そのセグメント区間内で元の曲線上に再び幾つかのサンプル点を取り、そのセグメントを複数のセグメントに細分割して評価を繰り返す（図６（ｄ）に示す）。そして、全セグメントにおいて前記許容誤差を満たした時点における区分Ｂｅｚｉｅｒ曲線を近似オフセット曲線とする。
【００３５】
また、前述した近似オフセット曲面ｒ０（図５（ｂ）に示す）は、次に示す手順により生成する。ここでは、前述したように生成された近似オフセット曲線と共に、理論上のオフセット曲面との距離の許容誤差を近似許容誤差として設定する。
まず、前述したように与えられた近似オフセット曲線の各区分Ｂｅｚｉｅｒ曲線について、各セグメント間を結ぶ点を、元曲面ｒに対して前述のように射影する。次いで、射影点における元曲面のパラメータ（ｕ，ｖ）の値を取得する。ここで、元曲面上に垂線を降ろすことができなかった場合は、図７（ａ）に示すように、射影元の点と最短距離にある元曲面の境界曲線上の点を射影点とみなす。次いで、前述したように求められたｕ、ｖのそれぞれの値について、全てのｕ、ｖの組み合わせで元曲面上にサンプル点を取り、それぞれについてオフセット点を求める。次いで、求められたオフセット点群について、サンプル点のｕが同じ値のもの同士、また、ｖが同じ値のもの同士が同一グループとなるようにグループ分けする。そして、各グループについてオフセット点群を滑らかに補間する曲線を生成し、近似オフセット曲線の内部をメッシュ状に分割する分割曲線群を取得する。次いで、近似オフセット曲線及び分割曲線によって囲まれた各領域を、隣り合うもの同士が互いに滑らかに接続されるよう、Ｂｅｚｉｅｒパッチによって補間する（図７（ｃ）に示す）。次いで、前述したＢｅｚｉｅｒパッチ内に複数のサンプル点を取り、それらのサンプル点がオフセット点として前記許容誤差を満たすか否かを評価する。ここで、前記許容誤差を満たしていない場合は、先ず、そのＢｅｚｉｅｒパッチの境界曲線を複数に分割し、各分割点を元曲面に対して射影する。そして、それらの射影点におけるｕ、ｖの値を取得し、取得されたｕ、ｖの値を加えて前述した手順２以降を繰り返す（図７（ｄ）に示す）。つまり、前記Ｂｅｚｉｅｒパッチに対応した元曲面のｕ区間及びｖ区間に対応したＢｅｚｉｅｒパッチを、さらに複数のＢｅｚｉｅｒパッチに細分割して評価を繰り返す。そして、全てのＢｅｚｉｅｒパッチにおいて前記許容誤差を満たした時点における全てのＢｅｚｉｅｒパッチ群を結合した一つのＢ−ｓｐｌｉｎｅ曲面を生成し、近似オフセット曲面とする（図７（ｅ）に示す）。
【００３６】
［第２の実施形態］
図２は、本発明の第２の実施形態に係る３次元形状処理方法を示す。これは第１の実施形態とは、第１の曲面及び第２の曲面が接続されて一つの曲面となっており、第１の曲面及び第２の曲面の接続部で凸状に曲折している曲面（以下、曲折曲面ともいう）に対してオフセット処理を施す点が相違している。なお、本実施形態は、第１の実施形態に係る３次元形状処理と概ね同様のハードウェア構成を有しているために、図１を用いると共に同一構成には同一符号を付与して説明を省略する。
【００３７】
本実施形態の３次元形状処理プログラムは、ＣＰＵ３（コンピュータ装置に含まれる）に、図８に示すステップＳ２０１〜Ｓ２０７（図９に示すステップＳ２０５１〜Ｓ２０５４、図９に示すステップＳ２０６１〜Ｓ２０６３が含まれる）を実行させるものである。
【００３８】
ステップＳ２０１においては、処理対象の曲面が凸状に曲折しているか否かを判断する。ここで、凸状に曲折している場合にはステップＳ２０２に進み、凸状に曲折していない場合には処理を終了する。
【００３９】
ステップＳ２０２においては、第１の実施形態に準じ、凸状に曲折した曲面を形成している第１の曲面及び第２の曲面について、互いの接続部における境界曲線のオフセット曲線を生成する。
【００４０】
ステップＳ２０３においては、ステップＳ２０２で取得されたオフセット曲線について、それぞれのオフセット曲線上で複数のサンプリング点を求め、これらのサンプリング点同士の距離を測定する。
【００４１】
ステップＳ２０４においては、ステップＳ２０３で取得されたサンプリング点同士の距離がある一定の閾値を超えたか否かを判断する（図１１（ａ）に示す）。ここで、前記サンプリング点同士の距離がある一定の閾値を超えた場合は、前記オフセット曲線の間に生成される補間面が微小要素となり得ると判断して、ステップＳ２０５に進み、前記サンプリング点同士の距離がある一定の閾値を超えなかった場合には、ステップＳ２０７に進む。
【００４２】
ステップＳ２０５においては、ステップＳ２０２で取得された二つのオフセット曲線を平均して平均曲線を生成し、それぞれ元のオフセット曲線と置き換える（図１１（ｂ）に示す）。
【００４３】
ステップＳ２０６においては、ステップＳ２０５で取得された平均曲線を変形して近似オフセット曲線を生成する（図１１（ｃ）に示す）。これは、前述した平均曲線と、元のオフセット曲線が接続されていた曲線との端点が離れてしまうので、お互いの端点を一致させるためである。そして、このようにして再構築された平均曲線を、それぞれの曲面の境界曲線に対応した近似オフセット曲線とする。
【００４４】
ステップＳ２０７においては、ステップＳ２０６で取得された近似オフセット曲線により、第１の実施形態で示したステップＳ１０２に準じて近似オフセット曲面を生成する。この結果、第１の元曲面及び第２の元曲面に対する二つの近似オフセット曲面は、互いの境界が一致したものとなるために、その二つの近似オフセット曲面の間に補間面を生成する必要がなくなる。よって、微小要素の生成を抑制できる。
【００４５】
ここで、ステップＳ２０５に含まれるステップＳ２０５１〜Ｓ２０５４について説明する。
ステップＳ２０５１においては、二つのオフセット曲線（ここでは、区分Ｂｅｚｉｅｒ曲線で表されている）のうち、一方の区分Ｂｅｚｉｅｒ曲線の各セグメントの端点について、この区分Ｂｅｚｉｅｒ曲線上のパラメータを求める。
ステップＳ２０５２においては、前記一方の区分Ｂｅｚｉｅｒ曲線と異なる他方の区分Ｂｅｚｉｅｒ曲線において前記パラメータに対応する点を取得する。
ステップＳ２０５３においては、前述した二つの区分Ｂｅｚｉｅｒ曲線において、それぞれ前記パラメータに対応した２点の中間点を求める。この中間点は、前記２点を直線で結んだときの中間点である。
ステップＳ２０５４においては、ステップＳ２０５３で取得された各中間点を補間する曲線を生成し、これを平均曲線とする。但し、この平均曲線は「中間点の数−１」個の　Ｂｅｚｉｅｒ　曲線のセグメントからなる区分　Ｂｅｚｉｅｒ　曲線として生成する。このときの各セグメントは、各中間点において隣り合うもの同士を両端点とし、かつ、その両端点において隣り合うセグメントと接線ベクトルの向きが等しくなるように設定する。また、この接線ベクトルの向きは、その中間点を取った２点において、それぞれの平均曲線の接線ベクトルの向きを平均したものとする。
【００４６】
さらに、ステップＳ２０６に含まれるステップＳ２０６１〜Ｓ２０６３について説明する。
ステップＳ２０６１においては、前述した区分Ｂｅｚｉｅｒ曲線の各セグメントのうち、平均曲線と接続するセグメントを取り出す。
ステップＳ２０６２においては、ステップＳ２０６１で取得されたセグメント、すなわち１本のＢｅｚｉｅｒ曲線の両端点のうち、一致させる側の端点を平均曲線の端点の位置へ移動させる。ここで、前記Ｂｅｚｉｅｒ曲線の形状が大きく変わらないよう、前記端点における接線ベクトルを固定して移動させる。
ステップＳ２０６３においては、ステップＳ２０６２で変形されたセグメントを元のセグメントと置き換える。
【００４７】
次に、図１１、図１２を用い、本実施形態の３次元形状処理方法を説明する。ここでは、凸状に曲折している曲折曲面に対するオフセット処理方法を示す。なお、本実施形態の３次元形状処理方法は、前述した３次元形状処理プログラムにより実現される。
【００４８】
まず、第１の実施形態に示したステップＳ１０１に準じ、凸状に曲折している曲面において、第１及び第２の曲面の接続部における境界曲線に対するオフセット曲線を生成する。
【００４９】
次いで、前記オフセット曲線の間に生成される補間面が微小要素となり得るか否かを判断する。ここでは、それぞれのオフセット曲線上のサンプリング点同士の距離を測定し、この距離がある一定の閾値を越えた場合には、前記補間面が微小要素になると判断する（図１１（ａ）に示す）。
【００５０】
次いで、前記補間面が微小要素になると判断された場合に、前述した第１及び第２の曲面の接続部における境界曲線に対する二つのオフセット曲線を平均し、平均曲線を生成する。そして、この平均曲線をそれぞれ元のオフセット曲線と置き換える（図１１（ｂ）に示す）。ここで、前記平均曲線の生成手順は以下に述べるとおりである。まず、一方の区分Ｂｅｚｉｅｒ曲線の各セグメントの端点について、この区分Ｂｅｚｉｅｒ曲線上のパラメータを求める。さらに、もう一方の区分Ｂｅｚｉｅｒ曲線における前記パラメータに対応する点を取得する。次いで、前記パラメータに対応した２点を直線で結んだときの中間点を求める（図１２（ａ）に示す）。次いで、前記中間点のそれぞれを補間する曲線を生成し、これを平均曲線とする。但し、この平均曲線は「中間点の数−１」個のＢｅｚｉｅｒ曲線のセグメントからなる区分Ｂｅｚｉｅｒ曲線として生成する。このときの各セグメントは、各中間点において隣り合うもの同士を両端点とし、かつ、その両端点において隣り合うセグメントと接線ベクトルの向きが等しくなるようにする。また、この接線ベクトルの向きは、当該中間点を取った２点における、それぞれの区分Ｂｅｚｉｅｒ曲線の接線ベクトルの向きを平均したものとする（図１２（ｂ）に示す）。以上が前記平均曲線の生成手順である。
【００５１】
次いで、前述した平均曲線をさらに変形し、第１及び第２の曲面の境界曲線に対応した近似オフセット曲線を生成する（図１１（ｃ）に示す）。すなわち、前述したように元のオフセット曲線と置き換えられた平均曲線は、元のオフセット曲線が接続されていた曲線と互いの端点が離れてしまうので、お互いの端点が一致するように前記平均曲線を変形するものである。ここで、前記平均曲線の変形手順は以下に述べるとおりである。まず、前述した区分Ｂｅｚｉｅｒ曲線の各セグメントのうち、平均曲線と接続するセグメントを取り出す。次いで、取り出されたセグメント（ここでは、１本のＢｅｚｉｅｒ曲線で表される）の両端点のうち、一致させる側の端点を平均曲線の端点の位置へ移動させる。このとき、前記Ｂｅｚｉｅｒ曲線の形状が大きく変わらないよう、前記端点における接線ベクトルを固定して移動させる（図１２（ｃ）に示す）。次いで、前述したように変形されたセグメントを元のセグメントと置き換える。以上が前記平均曲線の変形手順である。
【００５２】
次いで、第１の実施形態に示したステップＳ１０２に準じ、前述のように取得された近似オフセット曲線を用いて、第１及び第２の曲面に対する二つの近似オフセット曲面を生成する。この二つの近似オフセット曲面は、互いの境界が一致したものとなるために、これらの間に補間面を生成する必要がなくなり、したがって微小要素の生成を抑制できる。
【００５３】
以上のように、本実施形態に係る３次元形状処理装置は、二つの曲面を接続することにより、両曲面の接続部で曲折するように形成された曲折曲面を含む３次元形状をオフセット処理するためのデータを入力する入力装置１、媒体駆動装置６、ネットワーク接続装置７など（３次元形状データ入力手段に含まれる）と、この入力装置１、媒体駆動装置６、ネットワーク接続装置７などにより入力されたデータを用い、前記両曲面の境界曲線にオフセット処理を施してオフセット曲線を生成し、このオフセット曲線を変形して近似オフセット曲線を生成し、この近似オフセット曲線を境界として内部に近似オフセット曲面を生成するＣＰＵ３、メモリ４など（３次元形状処理手段に含まれる）とを設けているので、凸状に曲折した曲面に対するオフセット処理において微小要素となる補間面の生成を抑制することができる。
【００５４】
【発明の効果】
以上説明したように、本発明は３次元形状処理対象の曲面に含まれている、二つの曲面の境界曲線にオフセット処理を施してオフセット曲線を生成し、このオフセット曲線を変形して近似オフセット曲線を生成し、この近似オフセット曲線を境界として内部に近似オフセット曲面を生成することにより、二つの曲面が接続されてなる曲面に対するオフセット処理において、微小要素の発生を抑制し、３次元形状データの品質を向上させるという優れた効果を有する３次元形状処理装置を提供することができるものである。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る３次元形状処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る３次元形状処理方法を示すフローチャートである。
【図３】本発明の第１の実施形態に係る３次元形状処理方法（ステップＳ１０１の詳細）を示すフローチャートである。
【図４】本発明の第１の実施形態に係る３次元形状処理方法（ステップＳ１０２の詳細）を示すフローチャートである。
【図５】本発明の第１の実施形態に係る自由曲面に対する３次元形状処理方法（オフセット処理方法）を説明する説明図である。
【図６】本発明の第１の実施形態に係る自由曲面に対するオフセット曲線の生成方法を説明する説明図である。
【図７】本発明の第１の実施形態に係る自由曲面に対する近似オフセット曲面の生成方法を説明する説明図である。
【図８】本発明の第２の実施形態に係る３次元形状処理方法を示すフローチャートである。
【図９】本発明の第２の実施形態に係る３次元形状処理方法（ステップＳ２０５の詳細）を示すフローチャートである。
【図１０】本発明の第２の実施形態に係る３次元形状処理方法（ステップＳ２０６の詳細）を示すフローチャートである。
【図１１】本発明の第２の実施形態に係る自由曲面の境界曲線に対する近似オフセット曲線の生成方法を説明する説明図である。
【図１２】本発明の第２の実施形態に係る近似オフセット曲線に対する平均曲線の生成方法を説明する説明図である。
【図１３】従来のオフセット処理方法（二つの曲面が凹状に折れている場合）を説明する説明図である。
【図１４】従来のオフセット処理方法（二つの曲面が凸状に折れている場合）を説明する説明図である。
【図１５】従来のオフセット処理方法（二つの曲面が曲折せずに接続されている場合）を説明する説明図である。
【符号の説明】
１　入力装置
２　表示装置
３　ＣＰＵ
４　メモリ
５　記憶装置
６　媒体駆動装置
７　ネットワーク接続装置
８　バス
ｒ　曲面
ｒ０　オフセット曲面
ｒ０′　近似オフセット曲面
【図１】
2004054748.tif 000003
【図２】
2004054748.tif 000004
【図３】
2004054748.tif 000005
【図４】
2004054748.tif 000006
【図５】
2004054748.tif 000007
【図６】
2004054748.tif 000008
【図７】
2004054748.tif 000009
【図８】
2004054748.tif 000010
【図９】
2004054748.tif 000011
【図１０】
2004054748.tif 000012
【図１１】
2004054748.tif 000013
【図１２】
2004054748.tif 000014
【図１３】
2004054748.tif 000015
【図１４】
2004054748.tif 000016
【図１５】
2004054748.tif 000017