(57)【特許請求の範囲】
【請求項１】
３次元形状処理に際しトリム曲面のバウンディングボックスを生成するバウンディングボックス生成方法において、当該バウンディングボックス生成方法は、構成制御点保存手段がトリム曲面の母曲面から制御点群を構成制御点群としてメモリに保存する構成制御点群保存ステップと、境界曲線列除去手段が前記構成制御点群から前記母曲面の境界曲線列を構成する制御点群を除去する境界曲線列除去ステップと、トリミング曲線列追加手段が前記構成制御点群にトリミング曲線列の制御点群を追加するトリミング曲線列追加ステップと、バウンディングボックス算出手段が前記境界曲線列除去ステップ及びトリミング曲線列追加ステップにおいて除去及び追加された後の前記構成制御点群からバウンディングボックスを算出するバウンディングボックス算出ステップとを有することを特徴とするバウンディングボックス生成方法。
【請求項２】
請求項１に記載のバウンディングボックス生成方法を有し、３次元形状処理に際しトリム曲面を含んだ曲面データ同士の干渉線を生成する干渉線生成方法であって、当該干渉線生成方法は、干渉チェック手段が少なくとも一方の曲面がトリム曲面である曲面データ同士の干渉チェックを行う干渉チェックステップと、前記干渉チェックの結果、前記曲面データ同士が干渉していた場合、干渉線生成計算手段が前記曲面データ同士の干渉線生成を行う干渉線生成計算ステップとを有し、前記干渉チェックステップは、トリム曲面か否か判定するトリム曲面判定ステップと、該判定の結果、トリム曲面であった場合に前記バウンディングボックス生成方法で該トリム曲面のバウンディングボックスを生成する第１のバウンディングボックス生成ステップと、前記判定の結果、非トリム曲面であった場合に凸包を用いて該非トリム曲面のバウンディングボックスを生成する第２のバウンディングボックス生成ステップとを有し、前記第１及び／又は第２のバウンディングボックス生成ステップで生成したバウンディングボックス同士の干渉をチェックすることで前記干渉チェックを行うことを特徴とする干渉線生成方法。
【請求項３】
請求項１に記載のバウンディングボックス生成方法において、前記バウンディングボックス算出ステップは、前記構成制御点群の各点の各座標要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出するステップと、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成するステップとを有することを特徴とするバウンディングボックス生成方法。
【請求項４】
請求項２に記載の干渉線生成方法において、前記バウンディングボックス算出ステップは、前記構成制御点群の各点の各座標要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出するステップと、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成するステップとを有することを特徴とする干渉線生成方法。
【請求項５】
３次元形状処理に際しトリム曲面のバウンディングボックスを生成するバウンディングボックス生成装置において、トリム曲面の母曲面から制御点群を構成制御点群としてメモリに保存する構成制御点群保存手段と、前記構成制御点群から前記母曲面の境界曲線列を構成する制御点群を除去する境界曲線列除去手段と、前記構成制御点群にトリミング曲線列の制御点群を追加するトリミング曲線列追加手段と、前記境界曲線列除去手段及びトリミング曲線列追加手段において除去及び追加された後の前記構成制御点群からバウンディングボックスを算出するバウンディングボックス算出手段とを有することを特徴とするバウンディングボックス生成装置。
【請求項６】
請求項５に記載のバウンディングボックス生成装置を有し、３次元形状処理に際しトリム曲面を含んだ曲面データ同士の干渉線を生成する干渉線生成装置であって、少なくとも一方の曲面がトリム曲面である曲面データ同士の干渉チェックを行う干渉チェック手段と、前記干渉チェックの結果、前記曲面データ同士が干渉していた場合、前記曲面データ同士の干渉線生成を行う干渉線生成計算手段とを有し、前記干渉チェック手段は、トリム曲面か否か判定するトリム曲面判定手段と、該判定の結果、トリム曲面であった場合に前記バウンディングボックス生成装置で該トリム曲面のバウンディングボックスを生成させる第１のバウンディングボックス生成手段と、前記判定の結果、非トリム曲面であった場合に凸包を用いて該非トリム曲面のバウンディングボックスを生成する第２のバウンディングボックス生成手段とを有し、前記第１及び／又は第２のバウンディングボックス生成手段で生成したバウンディングボックス同士の干渉をチェックすることで前記干渉チェックを行うことを特徴とする干渉線生成装置。
【請求項７】
請求項５に記載のバウンディングボックス生成装置において、前記バウンディングボックス算出手段は、前記構成制御点群の各点の各構成要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出する手段と、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成する手段とを有することを特徴とするバウンディングボックス生成装置。
【請求項８】
請求項６に記載の干渉線生成装置において、前記バウンディングボックス算出手段は、前記構成制御点群の各点の各構成要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出する手段と、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成する手段とを有することを特徴とする干渉線生成装置。
【請求項９】
請求項１又は３に記載のバウンディングボックス生成方法を、コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項２又は４に記載の干渉線生成方法を、コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バウンディングボックス生成方法、干渉線生成方法、装置及び記録媒体に関し、より詳細には、３次元形状処理においてトリム曲面のバウンディングボックスを生成するバウンディングボックス生成方法、３次元形状処理時に少なくとも１曲面がトリム曲面である曲面データ同士の干渉線を生成する干渉線生成方法、装置及び記録媒体に関する。特に、本発明は、ＣＡＤ／ＣＡＭを用いた３次元形状モデル自動生成装置において利用可能であり、応用分野としては形状自動配置装置及び仮想現実実感装置等がある。
【０００２】
【従来の技術】
自由曲面の干渉線計算処理はＣＡＤにおける重要な処理のひとつであり、幾何学的Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法（鳥谷浩志，千代倉弘明編著「３次元ＣＡＤの基礎と応用」，共立出版を参照）などの繰り返し処理を用いるために計算時間がかかる。従来、非トリム曲面に関しては、曲面同士の干渉チェックを行い、実際に幾何学的Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法などの繰り返し処理を行う曲面を減らすことで、計算時間の短縮を図っていた。
【０００３】
図９は、曲面の制御点と従来技術によるバウンディングボックスの一例を示す図である。干渉チェックは、曲面の制御点から曲面のバウンディングボックスＢを求め、バウンディングボックス同士の干渉チェックを行うことにより高速に行っていた。バウンディングボックスは各面がＸＹ，ＹＺ，ＺＸの座標平面に平行な直方体なので、バウンディングボックスＢの頂点座標同士を比較することにより簡単にバウンディングボックスＢの干渉チェックを行うことができる。バウンディングボックスＢの求め方は、曲面全体を包含する凸包を求め、さらに凸包を構成する点群からＸ，Ｙ，Ｚの各座標要素の最大値、最小値を求めることより計算していた。
【０００４】
図５は、トリム曲面及びその制御点の一例を示す図である。トリム曲面Ｓｔに関しては曲面の凸包が利用できないため、干渉チェックを行なえない（前述の「３次元ＣＡＤの基礎と応用」参照）。代わりにトリム曲面Ｓｔの母曲面について凸包計算を行い干渉チェックを行っていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、一般に母曲面はトリム曲面Ｓｔよりも大きな範囲にわたるので、干渉チェックではじかれずに時間のかかる幾何学的Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法が実行されることもあるので、トリム曲面を含む自由曲面の干渉線計算は、トリム曲面を含まない場合に比べ、一般に時間がかかっていた。該して、（１）トリム曲面を含む自由曲面同士の干渉線計算における速度低下、（２）トリム曲面を含む自由曲面同士の干渉チェックにおける精度低下、及び（３）トリム曲面のバウンディングボックス計算における精度低下、等の問題点があった。
【０００６】
本発明は、上述のごとき実情に鑑みてなされたものであり、トリム曲面のバウンディングボックス計算における精度を向上させることが可能なバウンディングボックス生成方法、トリム曲面を含む自由曲面同士の干渉線計算及び干渉線チェックを高速に実施することが可能であり、更には干渉チェックにおける精度を向上させることが可能な、トリム曲面を含んだ曲面データ同士の干渉線生成方法、装置及び記録媒体を提供することをその目的とする。
【００１０】
【課題を解決するための手段】
請求項１の発明は、３次元形状処理に際しトリム曲面のバウンディングボックスを生成するバウンディングボックス生成方法において、当該バウンディングボックス生成方法は、構成制御点保存手段がトリム曲面の母曲面から制御点群を構成制御点群としてメモリに保存する構成制御点群保存ステップと、境界曲線列除去手段が前記構成制御点群から前記母曲面の境界曲線列を構成する制御点群を除去する境界曲線列除去ステップと、トリミング曲線列追加手段が前記構成制御点群にトリミング曲線列の制御点群を追加するトリミング曲線列追加ステップと、バウンディングボックス算出手段が前記境界曲線列除去ステップ及びトリミング曲線列追加ステップにおいて除去及び追加された後の前記構成制御点群からバウンディングボックスを算出するバウンディングボックス算出ステップとを有することを特徴としたものである。
【００１１】
請求項２の発明は、請求項１に記載のバウンディングボックス生成方法を有し、３次元形状処理に際しトリム曲面を含んだ曲面データ同士の干渉線を生成する干渉線生成方法であって、当該干渉線生成方法は、干渉チェック手段が少なくとも一方の曲面がトリム曲面である曲面データ同士の干渉チェックを行う干渉チェックステップと、前記干渉チェックの結果、前記曲面データ同士が干渉していた場合、干渉線生成計算手段が前記曲面データ同士の干渉線生成を行う干渉線生成計算ステップとを有し、前記干渉チェックステップは、トリム曲面か否か判定するトリム曲面判定ステップと、該判定の結果、トリム曲面であった場合に前記バウンディングボックス生成方法で該トリム曲面のバウンディングボックスを生成する第１のバウンディングボックス生成ステップと、前記判定の結果、非トリム曲面であった場合に凸包を用いて該非トリム曲面のバウンディングボックスを生成する第２のバウンディングボックス生成ステップとを有し、前記第１及び／又は第２のバウンディングボックス生成ステップで生成したバウンディングボックス同士の干渉をチェックすることで前記干渉チェックを行うことを特徴としたものである。
【００１２】
請求項３の発明は、請求項１の発明において、前記バウンディングボックス算出ステップは、前記構成制御点群の各点の各座標要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出するステップと、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成するステップとを有することを特徴としたものである。
【００１３】
請求項４の発明は、請求項２の発明において、前記バウンディングボックス算出ステップは、前記構成制御点群の各点の各座標要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出するステップと、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成するステップとを有することを特徴としたものである。
【００１７】
請求項５の発明は、３次元形状処理に際しトリム曲面のバウンディングボックスを生成するバウンディングボックス生成装置において、トリム曲面の母曲面から制御点群を構成制御点群としてメモリに保存する構成制御点群保存手段と、前記構成制御点群から前記母曲面の境界曲線列を構成する制御点群を除去する境界曲線列除去手段と、前記構成制御点群にトリミング曲線列の制御点群を追加するトリミング曲線列追加手段と、前記境界曲線列除去手段及びトリミング曲線列追加手段において除去及び追加された後の前記構成制御点群からバウンディングボックスを算出するバウンディングボックス算出手段とを有することを特徴としたものである。
【００１８】
請求項６の発明は、請求項５に記載のバウンディングボックス生成装置を有し、３次元形状処理に際しトリム曲面を含んだ曲面データ同士の干渉線を生成する干渉線生成装置であって、少なくとも一方の曲面がトリム曲面である曲面データ同士の干渉チェックを行う干渉チェック手段と、前記干渉チェックの結果、前記曲面データ同士が干渉していた場合、前記曲面データ同士の干渉線生成を行う干渉線生成計算手段とを有し、前記干渉チェック手段は、トリム曲面か否か判定するトリム曲面判定手段と、該判定の結果、トリム曲面であった場合に前記バウンディングボックス生成装置で該トリム曲面のバウンディングボックスを生成させる第１のバウンディングボックス生成手段と、前記判定の結果、非トリム曲面であった場合に凸包を用いて該非トリム曲面のバウンディングボックスを生成する第２のバウンディングボックス生成手段とを有し、前記第１及び／又は第２のバウンディングボックス生成手段で生成したバウンディングボックス同士の干渉をチェックすることで前記干渉チェックを行うことを特徴としたものである。
【００１９】
請求項７の発明は、請求項５の発明において、前記バウンディングボックス算出手段は、前記構成制御点群の各点の各構成要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出する手段と、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成する手段とを有することを特徴としたものである。
【００２０】
請求項８の発明は、請求項６の発明において、前記バウンディングボックス算出手段は、前記構成制御点群の各点の各構成要素Ｘ，Ｙ，Ｚについて最大値及び最小値を算出する手段と、前記最大値及び最小値の組み合わせからなる直方体をバウンディングボックスとして生成する手段とを有することを特徴としたものである。
【００２４】
請求項９の発明は、請求項１又は３に記載のバウンディングボックス生成方法を、コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２５】
請求項１０の発明は、請求項２又は４に記載の干渉線生成方法を、コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２８】
【発明の実施の形態】
以下の前提に基づき，本発明の構成及び動作を説明する。
（１）本発明で用いる自由曲面は、Ｂｅｚｉｅｒ（ベジェ）曲面、ＮＵＲＢ曲面、Ｇｒｅｇｏｒｙ曲面である。これらの曲面は多くのＣＡＤで用いられている。
（２）本発明で用いるトリミング曲線列に含まれる自由曲線は、Ｂｅｚｉｅｒ曲線、ＮＵＲＢ曲線である。これらの曲線は多くのＣＡＤで用いられている。
【００２９】
図１は、本発明の一実施形態におけるトリム曲面を含んだ曲面データの干渉線生成装置を説明するための図で、図中、１は、３次元形状データを処理する際に必要な干渉チェックを行う曲面データのうち、少なくとも一方がトリム曲面を含む曲面であるか否かを判定するトリム曲面判定手段、２1，２2は、トリム曲面判定手段１で曲面の少なくとも一方がトリム曲面である場合にトリム曲面用バウンディングボックスを生成するトリム曲面用バウンディングボックス生成部、３は、トリム曲面判定手段１で曲面が非トリム曲面である場合に非トリム曲面用バウンディングボックスを生成する非トリム曲面用バウンディングボックス生成部、４は、バウンディングボックス生成部２，３により生成されたバウンディングボックス同士の干渉線を生成する干渉線生成手段である。トリム曲面用バウンディングボックス生成部２1，２2では、後述する構成制御点群保存手段１１，境界曲線列除去手段１２，トリミング曲線列追加手段１３，バウンディングボックス算出手段１４を具備するものとする。なお、処理を行う各形状データを構成する各曲面データが、両方ともトリム曲面のデータである場合は、バウンディングボックス生成を生成部２1及び２2で行い、一方のみが非トリム曲面のデータである場合には、生成部３及び２1、又は３及び２2で行う。
【００３０】
図２は、本発明の一実施形態におけるトリム曲面を含んだ曲面データの干渉線生成方法を説明するためのフロー図である。本実施形態においては、まず、曲面のうちどちらか一方がトリム曲面である曲面データ同士の干渉チェックを行う（ステップＳ１）。この干渉チェックの結果から干渉するかどうかを判断し（ステップＳ２）、干渉しなければ処理を終了する。曲面データ同士が干渉しているのであれば、干渉線生成手段４において幾何学的Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法を用いて干渉線生成計算（干渉線計算）を行い、干渉線データを生成する（ステップＳ３）。
【００３１】
図３は、図２の干渉チェック方法（ステップＳ１）を説明するためのフロー図である。トリム曲面判定手段１において、例えば曲面データにトリミング曲線列が存在するかによって、対象となる曲面データがトリム曲面であるか否かを判定し（ステップＳ１１）、トリム曲面であれば、トリム曲面用バウンディングボックス生成部２によってトリム曲面のバウンディングボックスを求める（ステップＳ１２）。逆に非トリム曲面であれば、非トリム曲面用バウンディングボックス生成部３によって凸包を用いてバウンディングボックスを求める（ステップＳ１３）。最終的に、バウンディングボックス同士の干渉計算を行う。
【００３２】
図４は、図３のトリム曲面のバウンディングボックス生成方法（ステップＳ１２）を説明するためのフロー図、図５は、トリム曲面及びその制御点の一例を示す図、図６は、本実施形態においてバウンディングボックス生成に用いる構成制御点群の一例を示す図である。まず、構成制御点群保存手段１１によって、トリム曲面Ｓｔの母曲面から制御点群を複写し、構成制御点群（図５の黒丸および黒四角）としてその座標をメモリ等の記憶装置に保存する（ステップＳ２１）。続いて、境界曲線列除去手段１２によって、構成制御点群から母曲面の境界曲線列を構成する制御点群（図５の黒四角）を除去する（ステップＳ２２）。除去後の構成制御点群は、図６の黒丸で示している。トリミング曲線列追加手段１３によって、この構成制御点群にトリミング曲線列の制御点（図６の白丸）を加える（ステップＳ２３）。続いて、バウンディングボックス算出手段１４によって構成制御点群（図６の白丸及び黒丸）からバウンディングボックスを算出する（ステップＳ２４）。
【００３３】
図７は、本実施形態において生成したトリム曲面のバウンディングボックスの一例を示す図、図８は、図４の構成制御点群からのバウンディングボックス算出方法（ステップＳ２４）を説明するためのフロー図である。まず、構成制御点群の各点について、各座標要素Ｘ，Ｙ，Ｚの最大値Ｘｍａｘ，Ｙｍａｘ，Ｚｍａｘ、最小値Ｘｍｉｎ，Ｙｍｉｎ，Ｚｍｉｎの合計６つの値を求める（ステップＳ３１）。続いて、最大値、最小値を次のように組み合わせた８座標Ｖ１〜Ｖ８を頂点とする直方体を生成する（ステップＳ３２）。：
Ｖ１：（Ｘｍｉｎ，Ｙｍｉｎ，Ｚｍｉｎ），
Ｖ２：（Ｘｍａｘ，Ｙｍｉｎ，Ｚｍｉｎ），
Ｖ３：（Ｘｍｉｎ，Ｙｍａｘ，Ｚｍｉｎ），
Ｖ４：（Ｘｍａｘ，Ｙｍａｘ，Ｚｍｉｎ），
Ｖ５：（Ｘｍｉｎ，Ｙｍｉｎ，Ｚｍａｘ），
Ｖ６：（Ｘｍａｘ，Ｙｍｉｎ，Ｚｍａｘ），
Ｖ７：（Ｘｍｉｎ，Ｙｍａｘ，Ｚｍａｘ），
Ｖ８：（Ｘｍａｘ，Ｙｍａｘ，Ｚｍａｘ）
【００３４】
本発明では，上記のような処理を行うことにより，トリム曲面に対して従来のバウンディングボックスＢ（図９）よりも小さなバウンディングボックスＢｔ（図７）を生成できる。なお、バウンディングボックス生成方法において、バウンディングの領域を直方体とはせずに、例えば球、円柱、正多面体等を採用して曲面がそれに内包されるようなバウンディングの領域を計算するようにしてもよい。また、トリム曲面を含んだ曲面データ同士の干渉線生成処理や干渉チェック処理において、そのバウンディングボックスを用いることにより、時間のかかる幾何学的Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法などの繰り返し計算を少なくすることができ、全体として高速に実行することができる。
【００３５】
また、本発明は、上述ごときの方法を実行させるためのプログラム、又は上述のごとき装置を実現させるためのプログラムを記録媒体上に記録した形態でも実現可能である。
【００３６】
【発明の効果】
以上の説明から明らかなように、本発明によると、従来よりも小さなトリム曲面のバウンディングボックスを生成でき、それにより、トリム曲面を含んだ曲面データ同士の干渉線チェックを従来に比べて繰り返し計算を減らし高速に実施すること、並びに、トリム曲面を含んだ曲面データ同士の干渉線生成を従来に比べて繰り返し計算を減らし高速に実施することができる。
【００３９】
本発明を３次元ＣＡＤシステムなどに実現することによって，トリム曲面を含んだデータに対しても高速処理が実現できる。
【図面の簡単な説明】
【図１】  本発明の一実施形態におけるトリム曲面を含んだ曲面データの干渉線生成装置を説明するための図である。
【図２】  本発明の一実施形態におけるトリム曲面を含んだ曲面データの干渉線生成方法を説明するためのフロー図である。
【図３】  図２の干渉チェック方法を説明するためのフロー図である。
【図４】  図３のトリム曲面のバウンディングボックス生成方法を説明するためのフロー図である。
【図５】  トリム曲面及びその制御点の一例を示す図である。
【図６】  本発明の一実施形態においてバウンディングボックス生成に用いる構成制御点群の一例を示す図である。
【図７】  本発明の一実施形態において生成したトリム曲面のバウンディングボックスの一例を示す図である。
【図８】  図４の構成制御点群からのバウンディングボックス算出方法を説明するためのフロー図である。
【図９】  曲面の制御点と従来技術によるバウンディングボックスの一例を示す図である。
【符号の説明】
１…トリム曲面判定手段、２…トリム曲面用バウンディングボックス生成部、３…非トリム曲面用バウンディングボックス生成部、４…干渉線生成手段、１１…構成制御点群保存手段、１２…境界曲線列除去手段、１３…トリミング曲線列追加手段、１４…バウンディングボックス算出手段、Ｂ…従来技術によるバウンディングボックス、Ｂｔ…トリム曲線のバウンディングボックス、Ｓｔ…トリム曲面。
【図１】
0003880271.tif 000002
【図２】
0003880271.tif 000003
【図３】
0003880271.tif 000004
【図４】
0003880271.tif 000005
【図５】
0003880271.tif 000006
【図６】
0003880271.tif 000007
【図７】
0003880271.tif 000008
【図８】
0003880271.tif 000009
【図９】
0003880271.tif 000010