(57)【要約】【課題】処理対象の曲面が螺旋状曲面か否かを判断することが可能な自由曲面判定装置、自由曲面判定方法、自由曲面判定プログラム及び記録媒体を提供する。【解決手段】自由曲面判定装置（ＣＡＤを含む）において、自由曲面が二つのパラメータｕ、ｖで表される場合に、前記二つのパラメータを０、１区間に正規化するステップＳ１０１と、ステップＳ１０１で正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得するステップＳ１０２と、ステップＳ１０２で取得された２方向の等パラメータ曲線を用い、前記自由曲面が螺旋状の螺旋曲面であるか否かを判断するステップＳ１０３〜Ｓ１１３とを実行する。【選択図】　　　　図２
2004054849.tif 000002
【特許請求の範囲】
【請求項１】
自由曲面が二つのパラメータで表される場合に、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線を用い、前記自由曲面が螺旋状の螺旋曲面であるか否かを判断する第３のステップとを実行することを特徴とする自由曲面判定方法。
【請求項２】
前記第３のステップにおいては、前記２方向の等パラメータ曲線の長さにより、前記自由曲面の形状を判断し、前記自由曲面が螺旋状の螺旋曲面か否かを判定することを特徴とする請求項１に記載の自由曲面判定方法。
【請求項３】
前記第３のステップにおいては、前記２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線上で複数のサンプル点を取得し、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較して、前記より長い方の等パラメータ曲線が螺旋状か否かを判定し、判定の結果により、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを判定することを特徴とする請求項２に記載の自由曲面判定方法。
【請求項４】
前記第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較して、前記より長い方の等パラメータ曲線が螺旋状か否かを判定し、判定の結果により、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを判定することを特徴とする請求項３に記載の自由曲面判定方法。
【請求項５】
前記複数のサンプル点の数を減らして取得し、前記より長い方の等パラメータ曲線が螺旋状か否かを再判定することを特徴とする請求項３または４に記載の自由曲面判定方法。
【請求項６】
コンピュータに、自由曲面が二つのパラメータで表される場合、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する第３のステップとを実行させることを特徴とする自由曲面判定プログラム。
【請求項７】
コンピュータに、自由曲面が二つのパラメータで表される場合、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する第３のステップとを実行させるための自由曲面判定プログラムを記録したことを特徴とするコンピュータ読取り可能な記録媒体。
【請求項８】
螺旋面を含む自由曲面を二つのパラメータで表した曲面データを入力する入力手段と、前記二つのパラメータを０、１区間に正規化し、正規化された前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得し、取得された前記２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する判定手段とを設けたことを特徴とする自由曲面判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、螺旋状の曲面を含む自由曲面を判定する自由曲面判定装置、自由曲面判定方法、自由曲面判定プログラム及び記録媒体に関するものである。
【０００２】
【従来の技術】
従来、３次元ＣＡＤなどの自由曲面判定装置の曲面データとして、螺旋状の細長い曲面（図１０に示す）が生成されることがある。３次元ＣＡＤの特性によっては、このような螺旋状の細長い曲面は扱えない場合がある。このようなＣＡＤでは、予め設けられているモデリング機能を使って曲面を生成する場合、前記曲面の生成時には、前記曲面は複数の曲面に分割されているので、前記曲面を含む３次元形状を処理する上で特に問題は起こらないようになっている（図１１に示す）。
【０００３】
なお、この種の自由曲面判定装置に関するものとしては、特許第２９０５０２５号公報がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の自由曲面判定装置では、他のＣＡＤなどで生成された螺旋状の曲面がデータ交換で入力された場合に、螺旋状の曲面か否かを見分ける手段を持たないために、データ交換時に自動的に分割処理を行うことはできず、曲面データを分割しなければならないという問題があった。
【０００５】
本発明は、このような問題を解決するためになされたもので、処理対象の曲面が螺旋状曲面か否かを判断することが可能な自由曲面判定装置、自由曲面判定方法、自由曲面判定プログラム及び記録媒体を提供するものである。
【０００６】
【課題を解決するための手段】
請求項１に係る本発明の自由曲面判定方法は、自由曲面が二つのパラメータで表される場合に、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線のいずれかが螺旋曲面の等パラメータ曲線あるか否かを判定する第３のステップとを実行している。
この方法により、自由曲面の等パラメータ線が螺旋面にあるか否かを判定するので、判定結果を利用して、前記自由曲面が螺旋面であるか否かの判定処理が簡単にできることとなる。
【０００７】
請求項２に係る本発明の自由曲面判定方法は、請求項１において、第３のステップにおいては、前記２方向の等パラメータ曲線の長さにより、前記自由曲面の形状を判断し、前記自由曲面が螺旋状の螺旋曲面か否かを判定している。
この方法により、自由曲面における２方向の等パラメータ曲線の長さを用いているので、前記自由曲面が細長い曲面か否かを判定でき、さらに前記細長い曲面の方向により螺旋面か否かを判定できる。
【０００８】
請求項３に係る本発明の自由曲面判定方法は、請求項２において、第３のステップにおいては、前記２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線上で複数のサンプル点を取得し、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較して、前記より長い方の等パラメータ曲線が螺旋状か否かを判定し、判定の結果により、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを判定している。
この方法により、等パラメータ線のサンプル点での従法線ベクトルを用いて、螺旋面の等パラメータ線の可能性があるか否かの判定を行うので、判定結果を利用して、自由曲面が螺旋面か否かを判定できる。
【０００９】
請求項４に係る本発明の自由曲面判定方法は、請求項３において、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較して、前記より長い方の等パラメータ曲線が螺旋状か否かを判定し、判定の結果により、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを判定している。
この方法により、等パラメータ線のサンプル点での従法線ベクトルを用いて、螺旋面の等パラメータ線の可能性があると判定された場合に、さらに前記サンプル点での主法線ベクトルを用いて、螺旋面の等パラメータ線の可能性を判定するので、誤判定を回避し、自由曲面が螺旋面であるか否かを確実に判定できる。
【００１０】
請求項５に係る本発明の自由曲面判定方法は、請求項３または４において、前記複数のサンプル点の数を減らして取得し、前記より長い方の等パラメータ曲線が螺旋状か否かを再判定している。
この方法により、さらにサンプル点数を減らして、自由曲面の等パラメータ曲線が螺旋状か否かを再判定するので、誤判定を回避し、自由曲面が螺旋面であるか否かを確実に判定できる。
【００１１】
請求項６に係る本発明の自由曲面判定プログラムは、コンピュータに、自由曲面が二つのパラメータで表される場合、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する第３のステップとを実行させている。
このプログラムにより、等パラメータ線のサンプル点での従法線ベクトルを用いて、螺旋面の等パラメータ線の可能性があると判定された場合に、さらに前記サンプル点での主法線ベクトルを用いて、螺旋面の等パラメータ線の可能性を判定するので、自由曲面が螺旋面であるか否かを確実に判定できる。また、ネットワークを介してプログラムを移動することにより、前記プログラムの更新及び頒布が容易になる。
【００１２】
請求項７に係る本発明の記録媒体は、コンピュータに、自由曲面が二つのパラメータで表される場合、前記二つのパラメータを０、１区間に正規化する第１のステップと、第１のステップで正規化された二つのパラメータにより、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得する第２のステップと、第２のステップで取得された２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する第３のステップとを実行させるための自由曲面判定プログラムを記録している。
この記録媒体により、等パラメータ線のサンプル点での従法線ベクトルを用いて、螺旋面の等パラメータ線の可能性があると判定された場合に、さらに前記サンプル点での主法線ベクトルを用いて、螺旋面の等パラメータ線の可能性を判定するので、自由曲面が螺旋面であるか否かを確実に判定できる。また、記録媒体を携帯可能とすることにより、前記記録媒体に記録されたプログラムの移動及び更新が容易になる。
【００１３】
請求項８に係る本発明の自由曲面判定装置は、螺旋面を含む自由曲面を二つのパラメータで表した曲面データを入力する入力手段と、前記二つのパラメータを０、１区間に正規化し、正規化された前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得し、取得された前記２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定する判定手段とを設けた構成を有している。
この構成により、等パラメータ線のサンプル点での従法線ベクトルを用いて、螺旋面の等パラメータ線の可能性があると判定された場合に、さらに前記サンプル点での主法線ベクトルを用いて、螺旋面の等パラメータ線の可能性を判定するので、自由曲面が螺旋面であるか否かを確実に判定できる。さらには、螺旋面を含んだ形状データを、螺旋面を許容しない３次元形状処理装置（ＣＡＤを含む）に対するデータに変換する３次元形状処理システムが実現できる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態に係る自由曲面判定装置の構成を示す。ここでは、コンピュータ装置によって自由曲面判定装置を実現している。
【００１５】
図１において、入力装置１は、キーボード、マウス、タッチパネル、スキャナ等で情報入力に用いられるものである。表示装置２は、ＣＲＴまたは液晶ディスプレイ（ＬＣＤ）等で構成され、入力装置１から入力され、あるいはネットワーク接続装置７を介して入力された３次元形状データ（曲面データを含む）や画像データにより、３次元形状を表示するものである。中央処理ユニット（以下、ＣＰＵともいう）３は、装置全体を制御し、本実施形態の自由曲面判定機能（螺旋面判定機能、螺旋面分割方向判定機能を含む）を実現するものである。メモリ４は、ＲＯＭやＲＡＭ等で構成され、ＣＰＵ３に実行させるプログラムを記憶するとともに、このプログラムがＣＰＵ３によって実行されるときにー時的に作成される情報等を保持するものである。記憶装置５は、ハードディスク、リムーバブルディスク等で構成され、前述した３次元形状データ、画像データ及びプログラムやプログラム実行時の一時的な情報等を記憶するものである。媒体駆動装置６は、プログラムやデータ等を記録した記録媒体を装着して読み込み、メモリ４または記憶装置５へ格納するのに用いられる。ネットワーク持続装置７は、自由曲面判定装置をネットワークへ接続するためのインタフェースであり、このネットワークを介して他の通信装置やサーバと信号及びデータを遣り取りするものである。バス８は、前述の装置１〜７間を接続するものである。
【００１６】
また、前記ネットワークは、コンピュータ装置と他のコンピュータ装置とを結合するための伝送路であって、一般には、ケーブルで実現され、通信プロトコルにはＴＣＰ／ＩＰが使われる。但し、伝送路としてはケーブルだけでなく、それらの間の通信プロトコルが一致するものであれば無線、有線及び放送波のいずれでもよく、例えば、構内網（ＬＡＮ）、広域網（ＷＡＮ）、インターネット、アナログ電話網、ディジタル電話網（ＩＳＤＮ）、パーソナルハンディホンシステム（ＰＨＳ）、携帯電話網、衛星通信網等を用いることができる。
【００１７】
さらに、前述した記録媒体としては、半導体媒体（例えば、ＲＯＭ、ＩＣメモリカード等）、光媒体（例えば、シーディーロム（ＣＤ−ＲＯＭ）、ディジタル・バーサタイル・ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、書き込み可能なＣＤ（ＣＤ−Ｒ）等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク（ＦＤ）等）のいずれであってもよい。
【００１８】
また、前述した記録媒体からインストールされたプログラム、換言すれば、前述の記録媒体に記憶されたプログラムとしては、本実施形態の自由曲面判定機能を実現するために用いられる自由曲面判定プログラムがある。ここでは、自由曲面判定プログラムを予めＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭ等を媒体駆動装置６に装着して、この自由曲面判定プログラムをメモリ４あるいは記憶装置５に格納し、ＣＰＵ３により実行することによって、本実施形態の自由曲面判定機能を実現するものである。さらに、自由曲面判定プログラムがＲＯＭ等のような半導体の記録媒体に記録されている場合には、自由曲面判定プログラムは、媒体駆動装置６からではなく、直接、メモリ４ヘロードされ、実行されることとなる。
【００１９】
なお、メモリ４へロードした自由曲面判定プログラムを実行することにより、本実施形態の自由曲面判定機能が実現されるだけでなく、自由曲面判定プログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって本実施形態の自由曲面判定機能が実現されるようにしてもよい。また、ネットワーク接続装置７によりネットワーク上の所定のサーバと接続し、このサーバから自由曲面判定プログラムをメモリ４や記憶装置５にインストールしてもよい。
【００２０】
次に、本実施形態に係る自由曲面判定プログラムを説明する。この自由曲面判定プログラムには、螺旋面判定プログラム、螺旋面分割方向判定プログラムが含まれる。
【００２１】
螺旋面判定プログラムは、ＣＰＵ３（コンピュータ装置に含まれる）に、図２に示すステップＳ１０１〜Ｓ１１４を実行させるものである。なお、ステップＳ１０１は第１のステップに含まれ、ステップＳ１０２は第２のステップに含まれ、ステップＳ１０３〜Ｓ１１４は第３のステップに含まれている。
ステップＳ１０１においては、第１及び第２のパラメータｕ、ｖで表される自由曲面について、前記パラメータｕ、ｖをそれぞれ０−１区間で正規化する。
ステップＳ１０２においては、前述のように０−１区間で正規化されたパラメータｕ、ｖについて、ｕ＝０．５、ｖ＝０．５とした場合のｕ方向、ｖ方向の等パラメータ曲線ｕ１、ｖ１を求める。
ステップＳ１０３においては、ステップＳ１０２で取得された等パラメータ曲線ｕ１、ｖ１の長さの比を求める。
ステップＳ１０４においては、ステップＳ１０３で取得された等パラメータ曲線ｕ１、ｖ１の長さの比が、予め設定された基準値以上か否かを判断する。ここで、前記比が基準値以上である場合は等パラメータ曲線ｕ１が螺旋状であり、ｕ方向について螺旋面が形成されている可能性があると判断してステップＳ１０５へ進み、前記比が基準値に達していない場合にはステップＳ１１２へ進む。
ステップＳ１０５においては、等パラメータ曲線ｕ１上で等間隔のサンプリング点を取得する。
ステップＳ１０６においては、ステップＳ１０５で取得されたそれぞれのサンプル点上でのフルネ枠（接ベクトル１０、主法線ベクトル２０、従法線ベクトル３０（以上、図６に示す）を含む）を求める。
ステップＳ１０７においては、ステップＳ１０６で取得された第１のサンプル点における従法線ベクトルと、第１のサンプル点を除く全サンプル点における従法線ベクトルとの内積を求める。
ステップＳ１０８においては、ステップＳ１０７で取得された内積が正であるか否かを判断する。ここで、前記内積が正である場合はステップＳ１０９へ進み、前記内積が正でない場合にはステップＳ１１４へ進む。
ステップＳ１０９においては、ステップＳ１０６で取得された第１のサンプル点における主法線ベクトルと、第１のサンプル点を除く全サンプル点における主法線ベクトルとの内積を求める。
ステップＳ１１０においては、ステップＳ１０９で取得された内積が正であるサンプル点と、前記内積が負であるサンプル点とが検出されたか否かを判断する。ここで、前記内積が正であるサンプル点と、前記内積が負であるサンプル点とが検出された場合はステップＳ１１３へ進み、前記内積が正であるサンプル点と、前記内積が負であるサンプル点とが検出されなかった場合にはステップＳ１１１へ進む。ステップＳ１１１においては、前述したサンプル点を一つ減らして、ステップＳ１０５〜Ｓ１１０の処理を再実行する。
ステップＳ１１２においては、等パラメータ曲線ｕ１が螺旋状であり、ｕ方向について螺旋面が形成されていると判定する。
ステップＳ１１３においては、等パラメータ曲線ｕ１は螺旋状でないと判定する。
【００２２】
螺旋面分割方向判定プログラムは、ＣＰＵ３（コンピュータ装置に含まれる）に、図３に示すステップＳ２０１〜Ｓ２０７を実行させるものである。
ステップＳ２０１においては、前記螺旋面判定プログラムにより螺旋面と判定された曲面の二つの等パラメータ曲線ｕ１、ｖ１のうち、いずれか長い方を２分割する。ここでは、前述した曲面のｕ方向の等パラメータ曲線ｕ１を２分割する。ステップＳ２０２においては、ステップＳ２０１で２分割された等パラメータ曲線ｕ１のそれぞれについて、前記螺旋面判定プログラムにより螺旋状であるか否かを判定する。
ステップＳ２０３においては、ステップＳ２０２での判定の結果、螺旋状である場合は、ステップＳ２０１に戻って螺旋面判定動作を再帰的に繰り返す。また、ステップＳ２０２での判定の結果、螺旋状でない場合にはステップＳ２０４へ進む。
ステップＳ２０４においては、ｕ方向の等パラメータ曲線の螺旋状部分から非螺旋状部分へ達したので、分割方向（ここでは、ｕ方向）のパラメータを取得する。すなわち、分割すべき自由曲面のパラメータを取得する。
ステップＳ２０５においては、分割すべき自由曲面がトリムされた曲面であるか否かを判断する。ここで、分割すべき自由曲面がトリムされた曲面である場合はステップＳ２０６へ進み、分割すべき自由曲面がトリムされた曲面でない場合にはステップＳ２０７へ進む。
ステップＳ２０６においては、例えば、特開平１０−３２６３５６号公報に開示された分割方法を利用して前記自由曲面を分割する。　ステップＳ２０７においては、通常の２パラメータ自由曲面の分割アルゴリズムで前記自由曲面を分割する。
【００２３】
次に、本実施形態に係る自由曲面判定方法（螺旋面判定方法、螺旋面分割方向判定方法を含む）を説明する。この自由曲面判定方法は、前述した螺旋面判定プログラム及び螺旋面分割方向判定プログラムにより実現される。
【００２４】
本実施形態においては、図４に示すように、処理対象の曲面は二つのパラメータｕ、ｖで表わせる自由曲面とする。処理対象の曲面が前述した自由曲面でない場合には、適当な方法で自由曲面に変換したものを用いる。
（１）まず、前述した二つのパラメータｕ、ｖを０−１区間に正規化する。
（２）次いで、前述した自由曲面のｕ、ｖ、それぞれの方向のパラメータ「０．５」での等パラメータ曲線を求める。これらの等パラメータ曲線をそれぞれｕ１、ｖ１とする（図５に示す）。
（３）次いで、等パラメータ曲線ｕ１、ｖ１それぞれの長さを求め、さらに長さの比を求める。この比の値が、ある値（基準値）以上になると螺旋状の可能性があると判断する。実装時に、この判断の基準値を固定する場合は、「５」に設定する。さらに、実装上可能であれば、この基準値を変更可能なように実装し、運用時に指定するようにしてもよい。
（４）次いで、等パラメータ曲線ｕ１が等パラメータ曲線ｖ１よりも基準値以上の比率で長いと判断された場合は、前記自由曲面がｕ方向に関して螺旋面である可能性があると判断する。さらに、等パラメータ曲線ｕ１が螺旋状か否かを調べ、等パラメータ曲線ｕ１が螺旋状であれば、前記自由曲面はｕ方向に関して螺旋面であると判断できる。なお、等パラメータ曲線ｕ１が螺旋状であるか否かは以下のようにして調べる。
【００２５】
（イ）まず、等パラメータ曲線ｕ１での等間隔のサンプル点を取得する。
（ロ）次いで、取得されたサンプル点それぞれの上でのフルネ枠を計算する。このフルネ枠は、図６に示すように、接ベクトル１０、主法線ベクトル２０、従法線ベクトル３０からなる。
（ハ）次いで、第１のサンプル点での従法線ベクトルと、他のすべてのサンプル点での従法線ベクトルとが逆の方向を向いていないことを確かめる。このために、内積が正であることを確認する。ここで、逆の方向を向いていれば、螺旋状でないと判断し、さらに、ある面が螺旋面であるか否かを判断できる。
（ニ）次いで、等パラメータ曲線ｕ１が螺旋状でないと判断されなかった場合は、さらに螺旋状か否かの判断を続ける。一つ目のサンプル点での主法線ベクトルと逆向きの主法線を持つサンプル点を検出した後、さらに同じ向きの主法線を持つサンプル点があることを確認する。このことが確認された場合は、等パラメータ曲線ｕ１が螺旋状であると判断する。
【００２６】
前述した手順によって、等パラメータ曲線ｕ１が螺旋状であることを判断するが、サンプル点の取り方によっては螺旋状であるにも拘らず、偶然に主法線の向きが全て同じ方向になってしまう場合があり得る（図７に示す）。この場合の誤検出を避けるために、前述した判断手順で等パラメータ曲線ｕ１が螺旋状であると判定されなかった場合には、サンプル点を一つ減らし、前述した判断手順を再び実行する。
以上で等パラメータ曲線ｕ１が螺旋状であるか否かを判断できるので、この判断結果により、ある面が螺旋面であるか否かを判断できる。
【００２７】
ここで、螺旋面を解消するために、前記自由曲面を分割する必要があるが、分割すべき自由曲面のパラメータは次に述べるようにして決定する。
すなわち、螺旋面であると判断された曲面のｕ方向における等パラメータ曲線ｕ１を２分割し、２分割された両方の等パラメータ曲線に対して、前述した判断手順と同様にして螺旋状であるか否かの判定を行う。この判定を再帰的に繰り返すと、等パラメータ曲線ｕ１が螺旋状でない部分、換言すれば前記自由曲面の螺旋面でない部分まで達することができる。この再帰的な判定により取得された螺旋方向のパラメータの全てが、前記自由曲面を分割するパラメータとなる。この場合は、螺旋面がｕ方向に形成されているので、取得された分割方向のパラメータは、ｕ方向のパラメータとなる。
なお、（３）、（４）で等パラメータ曲線ｖ１の方が等パラメータ曲線ｕ１より長いと判定された場合は、（イ）から（ニ）までの判定において、パラメータｕをパラメータｖに入れ替えて判定することになる。
【００２８】
以上で、分割すべき自由曲面のパラメータが求まった。このパラメータによる分割処理においては、非トリム曲面の場合は、通常の２パラメータ自由曲面の分割アルゴリズムで分割する。また、トリム曲面の場合には、前述したように特開平１０−３２６３５６号公報に開示された技術を利用して分割することになる。
【００２９】
以上のように、本発明の第１の実施形態に係る自由曲面判定装置は、螺旋面を含む自由曲面を二つのパラメータで表した曲面データを入力する入力装置１、記憶装置５、ネットワーク接続装置７など（入力手段に含まれる）と、前記二つのパラメータを０、１区間に正規化し、正規化された前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得し、取得された前記２方向の等パラメータ曲線のうち、より長い方の等パラメータ曲線について複数のサンプル点を取得して、第１のサンプル点での従法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での従法線ベクトルの向きとを比較し、逆向きでない場合には、第１のサンプル点での主法線ベクトルの向きと、第１のサンプル点を除く全てのサンプル点での主法線ベクトルの向きとを比較し、全て同じ向きの場合には、前記複数のサンプル点の数を減らして取得して、前記より長い方の等パラメータ曲線が螺旋面の等パラメータ線である可能性があるか否かを再判定するＣＰＵ３、メモリ４など（判定手段に含まれる）とを設けているので、等パラメータ線のサンプル点での従法線ベクトルを用い、螺旋面の等パラメータ線の可能性があると判定された場合に、さらに前記サンプル点での主法線ベクトルを用い、螺旋面の等パラメータ線の可能性を判定するので、自由曲面が螺旋面であるか否かを確実に判定できる。さらに、本実施形態を３次元形状処理装置（ＣＡＤを含む）に適用することで、螺旋面を含んだ形状データを、螺旋面を許容しない３次元形状処理装置に対するデータに変換する３次元形状処理システムが実現できる。
【００３０】
また、本実施形態の螺旋面分割判定方法（自由曲面判定方法に含まれる）は、前記螺旋面判定プログラムにより螺旋面と判定された曲面の二つの等パラメータ曲線ｕ１、ｖ１のうち、いずれか長い方を２分割する第１のステップ（ステップＳ２０１を含む）と、第１のステップで２分割された等パラメータ曲線のそれぞれについて、前記螺旋面判定プログラムにより螺旋状であるか否かを判定する第２のステップ（ステップＳ２０２、Ｓ２０３を含む）と、第２のステップで螺旋状でないと判定された場合に、分割すべき方向（ここでは、ｕ方向）の等パラメータ曲線の螺旋状部分から非螺旋状部分へ達したと判断し、分割すべき自由曲面のパラメータを取得する第３のステップ（ステップＳ２０４を含む）とを実行しているので、処理対象の曲面が螺旋状曲面であると判断された場合、さらに螺旋状曲面を分割すべき方向を取得できる。
【００３１】
［第２の実施形態］
図８は、本発明の第２の実施形態に係る３次元形状処理システムの構成を示す。これは第１の実施形態に示した自由曲面判定機能（螺旋面判定機能、螺旋面分割方向判定機能を含む）を、螺旋面を扱う機能を有していない３次元形状処理装置（ここでは、ＣＡＤ）の入力部に適用し、この３次元形状処理装置を含む３次元形状処理システムを構成した点が相違している。
【００３２】
図８において、ＣＡＤ　４０は、螺旋面を扱うことのできる３次元形状処理装置である。一方、ＣＡＤ５０は、第１の実施形態に示した螺旋面判定機能、螺旋面分割方向判定機能を持たず、螺旋面データを扱うことのできない３次元形状処理装置である。本実施形態では、ＣＡＤ５０の入力部に、第１の実施形態で示した自由曲面判定装置に相当する螺旋面処理装置６０を組み込むか、接続することで、ＣＡＤ４０で作成された螺旋面を含む３次元形状データ（図中、中間データと記す）を、データ形状を変更することなく、ＣＡＤ５０に入力するものである。なお、螺旋面処理装置６０には、第１の実施形態に示した自由曲面判定機能（螺旋面判定機能、螺旋面分割方向判定機能を含む）を有している。
【００３３】
本実施形態によれば、螺旋面を含んだ形状データを、螺旋面を許容しないＣＡＤへのデータに変換する３次元形状処理システムが実現できる。
【００３４】
［第３の実施形態］
図９は、本発明の第３の実施形態に係る３次元形状処理システムの構成を示す。これは第１の実施形態に示した自由曲面判定機能（螺旋面判定機能、螺旋面分割方向判定機能を含む）を、螺旋面を扱う機能を有していない３次元形状処理装置（ここでは、ＣＡＤ）の出力部に適用し、この３次元形状処理装置を含む３次元形状処理システムを構成した点が相違している。
【００３５】
図９において、ＣＡＤ　４０は、螺旋面を扱うことのできる３次元形状処理装置である。一方、ＣＡＤ５０は、第１の実施形態に示した螺旋面判定機能、螺旋面分割方向判定機能を持たず、螺旋面データを扱うことのできない３次元形状処理装置である。本実施形態では、ＣＡＤ５０の出力部に、第１の実施形態で示した自由曲面判定装置に相当する螺旋面処理装置６０を組み込むか、接続することで、ＣＡＤ５０で作成された３次元形状（螺旋面）から、螺旋面処理装置６０の螺旋面判定機能、螺旋面分割方向判定機能により、螺旋面を含む３次元形状データ（図中、中間データと記す）を作成し、ＣＡＤ４０に入力している。よって、ＣＡＤ４０は、前記中間データをそのまま入力して３次元形状処理を実行できることとなる。
【００３６】
本実施形態によれば、螺旋面を含んだ形状データを、螺旋面を許容しないＣＡＤへのデータに変換する３次元形状処理システムが実現できる。
【００３７】
【発明の効果】
以上説明したように、本発明は自由曲面が二つのパラメータで表される場合に、前記二つのパラメータにより表現される２方向の等パラメータ曲線を取得し、この２方向の等パラメータ曲線のいずれかを用いることにより、処理対象の曲面が螺旋状曲面か否かを判断できるという優れた効果を有する自由曲面判定装置を提供することができるものである。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る自由曲面判定装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る自由曲面判定方法（螺旋面判定方法）を示すフローチャートである。
【図３】本発明の第１の実施形態に係る自由曲面判定方法（螺旋面分割方向判定方法）を示すフローチャートである。
【図４】本発明の第１の実施形態に係る２パラメータで表される自由曲面を説明する説明図である。
【図５】本発明の第１の実施形態に係る自由曲面上の等パラメータ曲線を説明する説明図である。
【図６】本発明の第１の実施形態に係るフルネ枠を説明する説明図である。
【図７】本発明の第１の実施形態に係る等パラメータ曲線上のサンプル点における主法線の方向を説明する説明図である。
【図８】本発明の第２の実施形態に係る３次元形状処理システムの構成を示すブロック図である。
【図９】本発明の第３の実施形態に係る３次元形状処理システムの構成を示すブロック図である。
【図１０】自由曲面に含まれる螺旋状の曲面を説明する説明図である。
【図１１】自由曲面に含まれ、複数の曲面に分割された螺旋状の曲面を説明する説明図である。
【符号の説明】
１　入力装置
２　表示装置
３　ＣＰＵ
４　メモリ
５　記憶装置
６　媒体駆動装置
７　ネットワーク接続装置
８　バス
【図１】
2004054849.tif 000003
【図２】
2004054849.tif 000004
【図３】
2004054849.tif 000005
【図４】
2004054849.tif 000006
【図５】
2004054849.tif 000007
【図６】
2004054849.tif 000008
【図７】
2004054849.tif 000009
【図８】
2004054849.tif 000010
【図９】
2004054849.tif 000011
【図１０】
2004054849.tif 000012
【図１１】
2004054849.tif 000013