(57)【要約】【課題】パラメータ空間曲線情報を持たないトリムされた自由曲面であっても分割することができる自由曲面分割方法などを提供する。【解決手段】閉じた形状をもつトリムされた自由曲面の一部を回転面として扱うことにより自由曲面を分割するために、前記自由曲面の母曲面について閉じていない方向のパラメータ値を固定にした等パラメータ線を求め（Ｓ２）、その等パラメータ線の重心を前記回転面の軸上の点として求め（Ｓ３）、前記重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積を各サンプル点について求め、その外積の総和を求め、その総和を前記回転面の軸のベクトル方向とし（Ｓ４）、さらに、パラメータ値が０の等パラメータ線を前記回転面の母線として前記回転面を求め（Ｓ５）、前記自由曲面の一部を前記回転面として扱うことにより自由曲面を分割する（Ｓ６）構成にした。【選択図】　　　図５
2004110314.tif 000002
【特許請求の範囲】
【請求項１】
閉じた形状をもつトリムされた自由曲面の分割方法において、前記自由曲面の一部を回転面として扱うことにより自由曲面を分割可能とすることを特徴とする自由曲面の分割方法。
【請求項２】
請求項１記載の自由曲面の分割方法において、前記回転面を求める際、前記自由曲面の母曲面について、パラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線を求め、該等パラメータ線の重心を前記回転面の軸上の点として求めることを特徴とする自由曲面の分割方法。
【請求項３】
請求項２記載の自由曲面の分割方法において、固定にする前記パラメータ値を０．５またはその近傍の値とすることを特徴とする自由曲面の分割方法。
【請求項４】
請求項２または請求項３記載の自由曲面の分割方法において、前記等パラメータ線の重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積を各サンプル点について求め、その外積の総和を求め、その総和を前記回転面の軸のベクトル方向とすることを特徴とする自由曲面の分割方法。
【請求項５】
請求項２、請求項３、または請求項４記載の自由曲面の分割方法において、前記回転面を求める際、パラメータ値が０の等パラメータ線を前記回転面の母線とすることを特徴とする自由曲面の分割方法。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載の自由曲面の分割方法において、前記閉じた回転面を、その回転面と分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように平面で２分割し、その等パラメータ線の交線の一部をトリムの境界曲線をつなぐ曲線とすることを特徴とする自由曲面の分割方法。
【請求項７】
請求項６記載の自由曲面の分割方法において、前記閉じた自由曲面と前記平面の交線のうち、前記等パラメータ線の交線から最も離れた交線の一部をトリムの境界曲線をつなぐもう一つの曲線とすることを特徴とする自由曲面の分割方法。
【請求項８】
請求項１記載の自由曲面の分割方法において、前記自由曲面の母曲面についてパラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線の重心を前記回転面の軸上の点として求め、前記重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積を各サンプル点について求め、その外積の総和を求め、その総和を前記回転面の軸のベクトル方向とし、さらに、パラメータ値が０の等パラメータ線を前記回転面の母線として前記回転面を求め、その回転面を、その回転面と分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように平面で２分割し、その等パラメータ線の交線の一部をトリムの境界曲線をつなぐ曲線とし、さらに、前記閉じた自由曲面と前記平面の交線のうち、前記等パラメータ線の交線から最も離れた交線の一部をトリムの境界曲線をつなぐもう一つの曲線とすることを特徴とする自由曲面の分割方法。
【請求項９】
情報処理装置上で実行されるプログラムにおいて、請求項１乃至請求項８のいずれか１項に記載の自由曲面の分割方法によった自由曲面の分割を実行させるようにプログラミングされていることを特徴とするプログラム。
【請求項１０】
プログラムを記憶した記憶媒体において、請求項９記載のプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤ装置など専用の３次元形状処理装置やパーソナルコンピュータなど情報処理装置において実施される、トリムされた閉じた自由曲面の分割方法に関する。
【０００２】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭ装置など３次元形状処理システムでは、従来より、３次元形状を生成したり、生成されている３次元形状を変形させたり、生成または変形された３次元形状を評価したりしている。なお、３次元形状（３次元立体）とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
近年、このような３次元形状処理システムにおいては、設計業務などの協業化や分業化の進展と共に、他の３次元形状処理システムから得た３次元形状データを処理するということが広くおこなわれている。ところが、３次元形状処理システムのなかには、３次元形状の周面のような閉じた曲面（例えば図３に示したような回転面）を扱えないものがある。例えば閉じた回転面の縫い目Ｊ（回転面の合わさり目、実際に縫い目や合わさり目があるわけではない）の位置における３次元空間上の各点は、図４に示したようなパラメータ空間では（図４に示したように、曲面上のすべての位置を２次元座標的なＵ、Ｖ二つのパラメータ、例えば、共に０から１までの値で表現している）二つの位置を持つことになるので（Ｕ座標が０と１）、実空間（３次元空間）座標値とパラメータ空間の値との対応をとる計算の際に特別な取り扱いが必要になるからである。
【０００３】
このように、計算において特別の扱いが必要であるということは計算コストがかかるということであり、そのため、３次元形状処理システムによっては、閉じた回転面、特にトリムされた回転面には対応せず、自システム内で３次元形状データを生成する場合にはそのような回転面を発生させないようにしている。しかし、ＩＧＥＳ（Ｉｎｉｔｉａｌ　Ｇｒａｐｈｉｃｓ　Ｅｘｃｈａｎｇｅ　Ｓｐｅｃｉｆｉｃａｔｉｏｎ）形式など標準フォーマットを用いたインターフェースにより他の３次元形状処理システムから３次元形状データを取り込む場合はトリムされた閉じた回転面が入力されてしまい、問題が発生してしまう。
そのため、そのような場合、取り込み側のインターフェース部などにおいて閉じた形状の曲面を分割するという解決方法が従来より用いられてきた。従来技術により分割が実現できたケースは以下の３種である。
（１）トリムされていない自由曲面
（２）トリムされたまたはトリムされていない回転面
（３）パラメータ空間曲線情報を含んだトリム曲線情報をもつトリムされた自由曲面
つまり、パラメータ空間曲線情報を持たないトリムされた自由曲面はこれまでの方法では解決できなかった。
【０００４】
【発明が解決しようとする課題】
前記したように、従来技術においては、他の３次元形状処理システムからトリムされ且つ閉じられた自由曲面を取り込めない場合、その曲面を分割することにより対処しようとしても、パラメータ空間曲線情報を持たないトリムされた自由曲面は分割することができなかった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、パラメータ空間曲線情報を持たないトリムされた自由曲面であっても分割することができる自由曲面分割方法などを提供することにある。
【０００５】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、閉じた形状をもつトリムされた自由曲面の分割方法において、自由曲面の一部を回転面として扱うことにより自由曲面を分割する構成にした。
また、請求項２記載の発明では、請求項１記載の発明において、前記回転面を求める際、前記自由曲面の母曲面について、パラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線を求め、その等パラメータ線の重心を前記回転面の軸上の点として求める構成にした。
また、請求項３記載の発明では、請求項２記載の発明において、固定にする前記パラメータ値を０．５またはその近傍の値とする構成にした。
また、請求項４記載の発明では、請求項２または請求項３記載の発明において、前記重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積を各サンプル点について求め、その外積の総和を求め、その総和を前記回転面の軸のベクトル方向とする構成にした。
また、請求項５記載の発明では、請求項２、請求項３、または請求項４記載の発明において、前記回転面を求める際、パラメータ値が０の等パラメータ線を前記回転面の母線とする構成にした。
また、請求項６記載の発明では、請求項１乃至請求項５のいずれか１項に記載の発明において、前記閉じた回転面を、その回転面と分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように平面で２分割し、その等パラメータ線の交線の一部をトリムの境界曲線をつなぐ曲線とする構成にした。
また、請求項７記載の発明では、請求項６記載の発明において、前記閉じた自由曲面と前記平面の交線のうち、前記等パラメータ線の交線から最も離れた交線の一部をトリムの境界曲線をつなぐもう一つの曲線とする構成にした。
【０００６】
また、請求項８記載の発明では、請求項１記載の発明において、前記自由曲面の母曲面についてパラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線の重心を前記回転面の軸上の点として求め、前記重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積を各サンプル点について求め、その外積の総和を求め、その総和を前記回転面の軸のベクトル方向とし、さらに、パラメータ値が０の等パラメータ線を前記回転面の母線として前記回転面を求め、その回転面を、その回転面と分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように平面で２分割し、その等パラメータ線の交線の一部をトリムの境界曲線をつなぐ曲線とし、さらに、前記閉じた自由曲面と前記平面の交線のうち、前記等パラメータ線の交線から最も離れた交線の一部をトリムの境界曲線をつなぐもう一つの曲線とする構成にした。
また、請求項９記載の発明では、情報処理装置上で実行されるプログラムにおいて、請求項１乃至請求項８のいずれか１項に記載の自由曲面の分割方法によった自由曲面の分割を実行させるようにプログラミングされている構成にした。
また、請求項１０記載の発明では、プログラムを記憶した記憶媒体において、請求項９記載のプログラムを記憶した。
【０００７】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明の一実施例を示す３次元形状処理装置の構成ブロック図である。図示したように、この実施例の３次元形状処理装置は、プログラムを記憶するメモリ（例えばＲＡＭ）およびそのプログラムに従って動作するＣＰＵを有して、３次元形状モデルを生成したり、本発明に係わるデータ処理を行ったりするデータ処理部１、マウスやキーボードを有して、必要な指示や情報などを入力する入力装置２、３次元形状モデルなどを表示する表示装置３、３次元形状モデルなどを用紙上に出力するプロッタ４、各種データを一時的に記憶するメモリ（例えばＲＡＭ）５、複数の３次元形状データやプログラムなどを記憶する外部記憶装置（例えばハードディスク記憶装置）６、着脱可能な記憶媒体を駆動する記憶媒体駆動装置などを有して他の３次元形状処理装置などにおいて生成された３次元形状データを入力するインターフェース部７を備えている。なお、前記３次元形状データは、点・曲線・曲面などの幾何形状データと、この幾何形状データの相関関係を示す位相データとから成っている。また、インターフェース部７は、記憶媒体駆動装置の代わりにデータ通信手段を備え、データ通信手段を介して３次元形状データ（以下、形状データと略す）を入力してもよい。
このような構成の３次元形状処理装置を用いて、この実施例では、図２に示したように、インターフェース部７が、他の３次元形状処理装置など出力側ＣＡＤデータベースからＩＧＥＳなど標準フォーマットの形状データを取り込み、データ処理部１内の回転面分割部８が閉じている自由曲面を分割する。なお、その際、トリムされた閉じた自由曲面（図３参照）の境界曲線の形状データとしてパラメータ空間曲線情報を持たなくても自由曲面を分割できるようにして、トリムされた閉じた自由曲面の形状データを取り込めるようにする。但し、その自由曲面の母曲面については、パラメータＵ、Ｖで表現され、それらのパラメータ区間は０〜１であるものとする（図４参照）。
【０００８】
図５に、この実施例の動作フローを示す。以下、図５に従って、この実施例の動作フローを説明する。
まず、入力された形状データの曲面が閉じているかどうかを判定する。そのため、Ｕ＝０とＵ＝１の等パラメータ線の形状を比較し（Ｓ１）、一致しなければ（Ｓ１でＮｏ）、Ｖ＝０とＶ＝１の等パラメータ線の形状を比較する（Ｓ７）。そして、Ｕ＝０とＵ＝１の等パラメータ線の形状が一致すればＵ方向、Ｖ＝０とＶ＝１の等パラメータ線の形状が一致すればＶ方向に閉じた曲面であると判定する。いずれにも該当しなければ（Ｓ７でＮｏ）、閉じていないので分割せず通常の処理をおこなう。
【０００９】
以下、Ｕ方向に閉じている場合（Ｓ１でＹｅｓ）について示す。Ｖ方向に閉じている場合は（Ｓ１でＮｏ、Ｓ７でＹｅｓ）、以下の記述のＵとＶを入れ替えた通りである。この実施例では、つなぎ目の境界曲線のパラメータ空間曲線情報を求めるに際して、閉じた自由曲面の一部を回転面として扱おうというものであり、そのため、最初に、以下のようにして回転面の軸（回転軸）を求める。
まず、軸上の１点を求めるために、Ｖ＝０．５における等パラメータ線Ｉを求め（Ｓ２）（図６参照）、その等パラメータ線の重心を求める（Ｓ３）。重心を求めるには、等パラメータ線を、パラメータに関して等間隔で分割し（図７参照）、その各セグメントのパラメータの中心をサンプル点とする（図８参照）。そして、それらの位置の座標値について、その点における微分ベクトル（図９参照）の大きさを重みとした平均値を求め、その平均値を重心の座標とする。この重心を軸上の点として使うのである。
次に、軸のベクトル方向を求める（Ｓ４）。それには、前記サンプル点における微分ベクトルと、順に次のサンプル点での微分ベクトルとの外積をとり、それらの外積の総和を求め、その総和を軸のベクトル方向とする。
回転面として扱うにはさらに面の母線が必要であるが、これは、Ｕ＝０の等パラメータ線を用いる（Ｓ５）。
以上により、回転面として扱う場合の軸上点Ｐ、軸方向Ｘおよび母線ｇが得られた（図１０参照）。
最初に述べたように、Ｖ方向に閉じている場合は（Ｓ７でＹｅｓ）、前記した各ステップ（Ｓ２〜Ｓ５）のなかのＵとＶを入れ替えた通りに実行する（Ｓ８）。
【００１０】
次に、回転面分割部８が、トリムされた前記回転面（Ｓ２〜Ｓ５またはＳ８において求めた回転面）を用いて閉じた自由曲面を分割する（Ｓ６）。周方向に２分割することにより、３６０度に亘るようなトリムがあっても個々の曲面が３６０度に亘らないようにして、その個々の曲面をパラメータ座標系で表現したとき、一つの実座標（３次元空間における座標）が二つの値を持つことがないようにするのである。以下、図１１に示した動作フローに従って分割方法について説明する。
まず、回転面分割部８が、回転面を２分割する平面を、その回転面とその平面の一方の交線Ｇ１がＵ＝０における前記等パラメータ線となるように決める（Ｓ１１）。さらに、もう一つの交線Ｇ２を前記平面が閉じた自由曲面と交わる交線として求める（Ｓ１２）。なお、交線は複数本できるので、交線Ｇ１から最も離れた交線をＧ２として採用する。
これにより、３６０度に亘るようなトリムがあっても、その境界曲線は分割され、分割された境界曲線は交線Ｇ１または交線Ｇ２と交わる。
さらに、母曲面もその平面で分割する（Ｓ１３）。
次に、平面により分割された一方の曲面側のトリムの境界曲線について以下の処理をおこなう。なお、この境界曲線のなかには、平面との交点を持たない境界曲線が閉じた状態のままで含まれる。
まず、回転面分割部８は平面と境界曲線の交点を曲線Ｇ１のパラメータ値（例えば曲線Ｇ１の始点がパラメータ値０、終点が１．０）順に整列させ、各交点に整列順に番号を付与する。交点が曲線Ｇ１上にあるので、このような整列が可能なのである。
続いて、交点に番号１が付与された境界曲線と番号２が付与された境界曲線、番号３が付与された境界曲線と番号４が付与された境界曲線というように奇数番号が付与された境界曲線とそれに続く偶数番号が付与された境界曲線とを曲線Ｇ１の一部分を用いてつなぎ、つないだ曲線を１本の曲線として形状データを入れ替える（Ｓ１４）。このように、つなぐ曲線に曲線Ｇ１の一部を用いるので、曲線Ｇ１をそのパラメータ値で分割することにより、つなぐ曲線の形状データは容易に得られる。なお、トリムの境界曲線のループのうち、曲線Ｇ１との交点を持たないものを内部境界、その他を外部境界とする。外部境界が複数存在して、且つ内部境界が存在する場合には、その内部境界がどの外部境界の内部にあるかを幾何学的に判断する。また、ある外部境界の内部にある内部境界はその外部境界に属する内部境界とする。
Ｇ１側の処理が終わると、Ｇ２側も同様に番号を付け、同様に処理すると、境界曲線はすべて閉じたループになる（Ｓ１５）。トリム曲面の形状データは、このようにして生成された境界曲線情報と母曲面の情報であるので、それらの組み合わせを作ると、それが分割された一方の曲面の形状データとなる。
さらに、平面により分割された他方の回転面についても同様の処理を行い（Ｓ１６）、必要な形状データが揃う。このようにして得られたトリム曲面の和集合はトリム曲面の元の形状データが表していたものと同一となり、全く同じ３次元形状モデルを表していることになる。
こうして、この実施例によれば、トリムされた閉じた自由曲面が分割され、閉じている曲面が扱えない３次元形状処理システムでも処理可能な形状となる。
【００１１】
以上、本発明の一実施例について説明したが、説明したような本発明によった自由曲面の分割方法に従ってプログラミングしたプログラムを例えば着脱可能な記憶媒体に記憶させ、その記憶媒体をこれまで本発明によった自由曲面の分割をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった自由曲面の分割を実現することができる。
【００１２】
【発明の効果】
以上説明したように、本発明によれば、請求項１記載の発明では、閉じた形状をもつトリムされた自由曲面を分割する際、自由曲面の一部を回転面として扱うことにより自由曲面を分割するので、パラメータ空間曲線情報を持たないトリムされた自由曲面であっても分割部分のトリムを閉じる境界曲線を求めることができ、したがって、分割が可能になる。
また、請求項２記載の発明では、請求項１記載の発明において、回転面を求める際、自由曲面の母曲面について、パラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線が求められ、その等パラメータ線の重心が回転面の軸上の点として求められるので、その軸上の点を用いて回転面の軸を求めることが可能になる。
また、請求項３記載の発明では、請求項２記載の発明において、固定にするパラメータ値を０．５またはその近傍の値とするので、求められる、回転面の軸上点の精度が高くなる。
また、請求項４記載の発明では、請求項２または請求項３記載の発明において、重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積が各サンプル点について求められ、その外積の総和が求められ、その総和が回転面の軸のベクトル方向とされるので、前記した軸上の点とそのベクトル方向から回転面の軸を求めることができる。
また、請求項５記載の発明では、請求項２、請求項３、または請求項４記載の発明において、回転面を求める際、パラメータ値０の等パラメータ線が回転面の母線とされるので、前記した回転面の軸とその母線から回転面を求めることができる。
また、請求項６記載の発明では、請求項１乃至請求項５のいずれか１項に記載の発明において、閉じた回転面とそれを分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように閉じた回転面が平面で２分割され、その等パラメータ線の交線の一部がトリムの境界曲線をつなぐ曲線とされるので、分割部分のトリムを閉じる境界曲線を容易に求めることができる。
また、請求項７記載の発明では、請求項６記載の発明において、閉じた自由曲面と平面の交線のうち、等パラメータ線の交線から最も離れた交線の一部がトリムの境界曲線をつなぐもう一つの曲線とされるので、他方の分割箇所でもトリムを閉じる境界曲線を求めることができる。
【００１３】
また、請求項８記載の発明では、請求項１記載の発明において、自由曲面の母曲面についてパラメータ空間における閉じていない方向のパラメータ値を固定にした等パラメータ線の重心が回転面の軸上の点として求められ、その重心を求める際の等パラメータ線上の一つのサンプル点における微分ベクトルと次のサンプル点における微分ベクトルとの外積が各サンプル点について求められ、その外積の総和が求められ、その総和が回転面の軸のベクトル方向とされ、さらに、パラメータ値０の等パラメータ線が回転面の母線とされ、その軸上の点と軸のベクトル方向と母線とから回転面が求められ、その回転面が、その回転面とそれを分割する平面との交線の一方がパラメータ値０における等パラメータ線となるように平面で２分割され、その等パラメータ線の交線の一部がトリムの境界曲線をつなぐ曲線とされ、さらに、閉じた自由曲面と前記平面の交線のうち、等パラメータ線の交線から最も離れた交線の一部がトリムの境界曲線をつなぐもう一つの曲線とされるので、請求項１記載の発明の効果を容易に実現することができる。
また、請求項９記載の発明では、請求項１乃至請求項８のいずれか１項に記載の自由曲面の分割方法によった自由曲面の分割を実行させるようにプログラミングされているプログラムが情報処理装置上で実行可能であるので、情報処理装置を用いて請求項１乃至請求項８のいずれか１項に記載の発明の効果を得ることができる。
また、請求項１０記載の発明では、請求項９記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項１乃至請求項８のいずれか１項に記載の発明によった自由曲面の分割をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項１乃至請求項８のいずれか１項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す３次元形状処理装置の構成ブロック図である。
【図２】本発明の一実施例を示す３次元形状処理システム要部のデータフロー図である。
【図３】本発明の一実施例に係わる３次元形状の説明図である。
【図４】本発明の一実施例に係わる３次元形状処理方法の説明図である。
【図５】本発明の一実施例を示す３次元形状処理方法の動作フロー図である。
【図６】本発明の一実施例を示す３次元形状処理方法の説明図である。
【図７】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図８】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図９】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１０】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１１】本発明の一実施例を示す３次元形状処理方法の他の動作フロー図である。
【符号の説明】
１　データ処理部、２　入力装置、３　表示装置、５　メモリ、６　外部記憶装置、７　インターフェース部、８　回転面分割部
【図１】
2004110314.tif 000003
【図２】
2004110314.tif 000004
【図３】
2004110314.tif 000005
【図４】
2004110314.tif 000006
【図５】
2004110314.tif 000007
【図６】
2004110314.tif 000008
【図７】
2004110314.tif 000009
【図８】
2004110314.tif 000010
【図９】
2004110314.tif 000011
【図１０】
2004110314.tif 000012
【図１１】
2004110314.tif 000013