(57)【特許請求の範囲】
【請求項１】
回転面を処理することができるデータ処理部を有する３次元形状処理方法において、前記データ処理部は、回転面を分割する平面と回転面の交線の一方が回転面の縫い目の位置になるように平面を決定し、平面上の縫い目の位置に射影された母線を回転面の軸を中心に180度回転させた曲線の一部分を分割された境界曲線を閉じたループにするための曲線とすることを特徴とする３次元形状処理方法。
【請求項２】
請求項１記載の３次元形状処理方法において、前記データ処理部は、回転面の母線上の複数のサンプル点について、サンプル点と回転面の軸との距離、サンプル点を回転面の軸に射影した射影点を求め、前記平面上で前記サンプル点と同じ軸上射影点を持ち、同じ軸との距離を持つサンプル射影点を求め、そのサンプル射影点と母線を平面上に射影した曲線との誤差距離を求め、前記複数のサンプル点のすべてについて前記誤差距離が所定値以内であるならば前記射影した曲線を射影された母線として採用することを特徴とする３次元形状処理方法。
【請求項３】
請求項２記載の３次元形状処理方法において、前記データ処理部は、すべての誤差距離が所定値以内でないならば、射影前の母線を前記軸を回転軸として回転させることにより回転面を生成し、その回転面と前記平面との交線を求め、その交線を射影された母線として採用することを特徴とする３次元形状処理方法。
【請求項４】
回転面を処理することができる３次元形状処理方法において、前記データ処理部は、処理対象である回転面を含む３次元形状データを読み出し、回転面を２分割する平面を求める第１の工程と、前記回転面の母線を得られた平面上に射影する第２の工程と、前記射影した母線を第１曲線として、この第１曲線を回転面の軸を中心に１８０度回転させた第２曲線を求める第３の工程と、分割された一方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とする第４の工程と、前記外部境界の属する母曲面を求める第５の工程と、分割された他方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とし、この外部境界の属する母曲面を求める第６の工程と、を備えることを特徴とする３次元形状処理方法。
【請求項５】
プログラムを記憶した記憶媒体において、請求項１乃至請求項４の何れか一項に記載の３次元形状処理方法に従ってプログラミングしたプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、専用の３次元形状処理装置やパーソナルコンピュータなど情報処理装置などで実施される、トリムされている閉じた回転面の曲面処理方法に係わり、特に、トリムされている閉じた回転面を扱えない３次元形状処理システムであっても他の３次元形状処理システムから得たトリムされている閉じた回転面の３次元形状データを扱えるようにした曲面処理方法に関する。
【０００２】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭシステムなどの３次元形状処理システムでは、従来より、３次元形状を生成したり、生成されている３次元形状を変形させたり、他の３次元形状処理装置などから取得した３次元形状データを用いて３次元形状を生成した際に欠落した形状要素を生成したりしている。なお、３次元形状（３次元立体）とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
近年、このような３次元形状処理システムにおいては、設計業務などの協業化や分業化の進展と共に、他の３次元形状処理システムから得た３次元形状データを処理するということが広く行われている。ところが、３次元形状処理システムのなかには、図17に示した３次元形状の周面のような閉じた回転面を扱えないものがある。閉じた回転面の縫い目J（回転面の合わさり目，実際に縫い目や合わさり目があるわけではない）の位置における３次元空間上の各点は、図18に示したようなパラメータ空間では（図18において括弧内に示したように、曲面上のすべての位置を２次元座標的なｕ，ｖ二つのパラメータ、例えば、共に０から１までの値で表現している）図19に示すように二つの位置を持つことになるので（図19のパラメータ値は一例である）、実空間（３次元空間）座標値とパラメータ空間の値との対応をとる計算の際に特別な取り扱いが必要になるからである。
このように、計算において特別の扱いが必要であるということは計算コストがかかるということであり、そのため、３次元形状処理システムによっては、閉じた回転面には対応せず、自システム内で３次元形状データを生成する場合には閉じた回転面を発生させないようにしている。しかし、ＩＧＥＳ(Initial Graphics Exchange Specification)形式など標準フォーマットを用いたインタフェースにより、他の３次元形状処理システムから３次元形状データを取り込む場合は、閉じた回転面が入力されてしまい、問題が発生してしまう。そのため、３次元形状データを受け取る側の３次元形状処理システムが閉じた回転面を扱えない場合は、標準フォーマットを介して３次元形状データを受け取ることができないということになる。
【０００３】
【発明が解決しようとする課題】
前記のように、従来技術においては、３次元形状データを受け取る側の３次元形状処理システムがトリムされた閉じた回転面を扱えない場合、標準フォーマットを介して３次元形状データを受け取ることができないという問題があった。
本発明の目的は、このような従来技術の問題を解決し、トリムされている閉じた回転面の３次元形状データを受け取っても容易に処理できるようにして標準フォーマットの３次元形状データを受け取れるようにした３次元形状処理方法を提供することにある。
【０００４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、回転面を処理することができるデータ処理部を有する３次元形状処理方法において、前記データ処理部は、回転面を分割する平面と回転面の交線の一方が回転面の縫い目の位置になるように平面を決定し、平面上の縫い目の位置に射影された母線を回転面の軸を中心に180度回転させた曲線の一部分を分割された境界曲線を閉じたループにするための曲線とする方法にした。
また、請求項２記載の発明では、請求項１記載の発明において、回転面の母線上の複数のサンプル点について、サンプル点と回転面の軸との距離、サンプル点を回転面の軸に射影した射影点を求め、前記平面上で前記サンプル点と同じ軸上射影点を持ち、同じ軸との距離を持つサンプル射影点を求め、そのサンプル射影点と母線を平面上に射影した曲線との誤差距離を求め、前記複数のサンプル点のすべてについて前記誤差距離が所定値以内であるならば前記射影した曲線を射影された母線として採用する方法にした。
また、請求項３記載の発明では、請求項２記載の発明において、すべての誤差距離が所定値以内でないならば、射影前の母線を前記軸を回転軸として回転させることにより回転面を生成し、その回転面と前記平面との交線を求め、その交線を射影された母線として採用する方法にした。
また、請求項４記載の発明では、回転面を処理することができる３次元形状処理方法において、処理対象である回転面を含む３次元形状データを読み出し、回転面を２分割する平面を求める第１の工程と、前記回転面の母線を得られた平面上に射影する第２の工程と、前記射影した母線を第１曲線として、この第１曲線を回転面の軸を中心に１８０度回転させた第２曲線を求める第３の工程と、分割された一方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とする第４の工程と、前記外部境界の属する母曲面を求める第５の工程と、分割された他方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とし、この外部境界の属する母曲面を求める第６の工程と、を備えることを特徴とする。
また、請求項５記載の発明では、プログラムを記憶した記憶媒体において、請求項１乃至請求項４の何れか一項に記載の３次元形状処理方法に従ってプログラミングしたプログラムを記憶した。
【０００５】
【作用】
前記のような手段にしたので、請求項１記載の発明では、平面上の縫い目の位置に射影された母線を回転面の軸を中心に１８０度回転させた曲線の一部分が分割された境界曲線を閉じたループにするための曲線となる。
請求項２記載の発明では、請求項１記載の発明において、回転面の母線上の複数のサンプル点について、サンプル点と回転面の軸との距離、サンプル点を回転面の軸に射影した射影点が求められ、前記平面上で前記サンプル点と同じ軸上射影点を持ち、同じ軸との距離を持つサンプル射影点が求められ、そのサンプル射影点と母線を平面上に射影した曲線との誤差距離が求められ、前記複数のサンプル点のすべてについて前記誤差距離が所定値以内であるならば前記射影した曲線が射影された母線として採用される。
請求項３記載の発明では、請求項２記載の発明において、すべての誤差距離が所定値以内でないならば、射影前の母線を前記軸を回転軸として回転させることにより回転面が生成され、その回転面と前記平面との交線が求められ、その交線が射影された母線として採用される。
請求項４記載の発明では、回転面を処理することができる３次元形状処理方法において、処理対象である回転面を含む３次元形状データを読み出し、回転面を２分割する平面を求める第１の工程と、前記回転面の母線を得られた平面上に射影する第２の工程と、前記射影した母線を第１曲線として、この第１曲線を回転面の軸を中心に１８０度回転させた第２曲線を求める第３の工程と、分割された一方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とする第４の工程と、前記外部境界の属する母曲面を求める第５の工程と、分割された他方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とし、この外部境界の属する母曲面を求める第６の工程により、トリムされている閉じた回転面の３次元形状データを受け取っても容易に処理を行うことできる。
請求項５記載の発明では、請求項１乃至請求項４の何れか一項に記載の３次元形状処理方法に従ってプログラミングしたプログラムが、例えば着脱可能な記憶媒体に記憶される。
【０００６】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明の一実施例を示す３次元形状処理装置の構成ブロック図である。
図示したように、この実施例の３次元形状処理装置は、プログラムを記憶するメモリ（例えば、ＲＡＭ）およびそのプログラムに従って動作するＣＰＵを有して、３次元形状モデルを生成したり、本発明に係わるデータ処理を行ったりするデータ処理部１、マウスやキーボードを有して、必要な指示や情報などを入力する入力装置２、３次元形状モデルなどを表示する表示装置３、３次元形状モデルなどを用紙上に出力するプロッタ４、各種データを一時的に記憶するメモリ（例えば、ＲＡＭ）５、複数の３次元形状モデルデータ（以下、３次元形状データと略す）やプログラムなどを記憶する外部記憶装置（例えば、ハードディスク装置）６、着脱可能な記憶媒体を駆動する記憶媒体駆動装置７などを備えている。なお、前記３次元形状データは、点・曲線・曲面などの幾何形状データと、この幾何形状データの相関関係を示す位相データとから成っている。また、記憶媒体駆動装置７は他の３次元形状処理装置などにおいて生成された３次元形状データを入力するためのものであるが、記憶媒体駆動装置７の代わりにデータ通信手段を備え、データ通信手段を介して３次元形状データを入力してもよい。
このような３次元形状処理装置において、この実施例では回転面を周方向に２分割することにより、360度に亘るようなトリムがあっても回転面を構成する個々の曲面が360度に亘らないようにして、その個々の曲面をパラメータ座標系で表現したとき、一つの実座標（３次元空間における座標）が二つの値を持つことがないようにする。
【０００７】
図２に、本発明の一実施例の動作フローを示す。以下、図２に従って、この実施例の動作を説明する。
まず、他の３次元形状処理装置などで生成された３次元形状データを記憶媒体駆動装置７により入力し、データ処理部１がその３次元形状データを外部記憶装置６に格納する（Ｓ１）。なお、この３次元形状データ中には図３に示すような360度に亘ってトリムされている閉じた回転面のデータが含まれているものとする。また、回転面は図18に示したようなｕ，ｖ二つのパラメータで表現されているものとする（これをパラメータ空間表現と呼ぶ。なお、図18に示したパラメータ値は一例である）。
次に、データ処理部１は、処理対象である回転面を含む３次元形状データを外部記憶装置６から読み出し、回転面を２分割する平面を求める（Ｓ２）。なお、求める平面は、回転面の縫い目（合わせ目）における回転面の母線の中間の点と回転面の軸とが乗る平面とする（図４参照）。母線全体が平面上に乗るとは限らないので、母線の中間の点というように限定している。但し、母線の中間の点が回転面の軸上にある場合には中間の点の代わりに別の所定の点、例えば母線の始点または終点を用いる。
続いて、データ処理部１は、前記母線を得られた平面上に射影する（Ｓ３）。
つまり、前記母線上のすべての点から平面に垂直に下ろした直線が平面と交わる点を結んだ曲線を求めるのである。それには、例えば母線の各制御点から平面に垂直に下ろした線が平面と交わる点である平面上の制御点を求め、その制御点によって決まる曲線を求めればよい。なお、制御点とは、図16に示した例で言えばV1〜V4のことであり、これらの制御点によって決まる曲線（図16に太線示した曲線）上の各座標値は、その曲線上の位置によってそれぞれの制御点の座標値の重みを変えるための係数をそれぞれの制御点の座標値に乗じた値を加算して求められる。
次に、射影された曲線が得られた平面上の母線として採用可能かどうかを複数のサンプル点について真の値（射影前の母線上のサンプル点を回転面の軸を中心に回転させたときに平面と交わる点の座標値）との誤差を求めることにより検査する。そのため、射影前の母線上のいくつかの点をサンプル点とし、それぞれについて次の処理を行う。
【０００８】
まず、サンプル点と回転面の軸との距離、およびそのサンプル点を軸上に射影した点の位置を求める（図５参照）。さらに、平面Ｐ上でサンプル点と同じ軸上射影点を持ち、同じ軸との距離を持つ点を求め（図６参照）、その点と射影された曲線との距離、つまり誤差を求める。そして、すべてのサンプル点についてこの誤差が許容値以内か否かを判定し、許容値以内であれば射影された曲線を得られた平面上の母線として採用する（Ｓ３）。
それに対して、誤差が許容値を超えていれば射影前の母線を回転面の軸を中心に回転させ、その回転面と前記平面との交線を求め（図７参照）、その交線を平面に射影した母線として採用する（Ｓ３）。
得られた平面Ｐ上に射影された母線を曲線G1とし、続いて、曲線G1を回転面の軸を中心に180度回転させた曲線G2を求める（図８参照）（Ｓ４）。このようにして求められた曲線G2は、曲線G1と共に平面Ｐと回転面とが交わる交線になる。
なお、曲線G1は、縫い目の位置にあるので、曲線G1側では境界曲線（トリムとの境界を形成している境界曲線など）が閉じているとみなされる。また、曲線G2側において、平面Ｐと境界曲線との交点は、分割前の元の境界曲線が閉じているので偶数個になる（図９参照）。但し、平面Ｐに境界曲線が接している場合、その接点を交点とはみなさない。
次に、平面Ｐにより分割された一方の回転面側の境界曲線について以下の処理を行う。なお、この境界曲線のなかには、平面Ｐとの交点を持たない境界曲線も含まれる。
まず、データ処理部１は、平面Ｐと境界曲線の交点を曲線G2のパラメータ値（例えば、曲線G2の始点がパラメータ値0、終点が1.0）順に整列させ、各交点に整列順に番号を付与する（図10参照）。交点が曲線G2上にあるので、このような整列が可能なのである。
続いて、交点に番号１が付与された境界曲線と番号２が付与された境界曲線、番号３が付与された境界曲線と番号４が付与された境界曲線というように奇数番号が付与された境界曲線と偶数番号が付与された境界曲線とを曲線G2の一部分を用いてつなぎ、ループを形成する（図11参照）（Ｓ５）。このように、つなぐ曲線に曲線G2の一部を用いるので、曲線G2をそのパラメータ値で分割することにより、つなぐ曲線の形状データが容易に得られる。なお、曲線G1側は、縫い目であるので、図９および図10に示すようにすでに複数の境界曲線がつながっているものとする。また、ループのうち、交点を持たないものを内部境界、その他を外部境界とする（Ｓ５）。外部境界が複数存在して、且つ内部境界が存在する場合には、その内部境界がどの外部境界の内部にあるかを幾何学的に判断する。また、ある外部境界の内部にある内部境界は、その外部境界に属する内部境界とする（図12参照）。
【０００９】
さらに、外部境界が乗っている回転面についても同じ平面Ｐで分割し、分割された二つの回転面のうち前記外部境界と同じ側の回転面をその外部境界の母曲面として採用する。そして、外部境界の数だけ母曲面をコピーし、それぞれの母曲面の境界を得られた外部境界およびその外部境界に属する内部境界とする（Ｓ６）。
こうして、得られた複数の曲面すべてにより平面Ｐで分割された一方の空間のトリムされている曲面が表現される（図13参照）。なお、前記において、曲線G1側、つまり縫い目側の境界曲線が図15(a)に示すように平面Pで分割されたこの回転面からはみ出ることがある。その場合は、回転面を図15(b)のように延長して、母曲面が境界曲線をその範囲に納めるようにする。
さらに、平面Ｐにより分割された他方の回転面についても同様の処理を行い（Ｓ７）、他方の側を図14に示すような曲面で表現する。
こうして、この実施例によれば、トリムが回転面の360度に亘っていても回転面を構成する個々の曲面が360度に亘らないようにして、その個々の曲面をパラメータ座標系で表現したとき、一つの実座標（３次元空間における座標）が二つの値を持つことがないようにすることができるので、トリムされている閉じた回転面が処理可能となり、したがって、標準フォーマットの３次元形状データを受け取ることができる。
なお、前記においては、回転面を分割する平面Ｐと回転面との交線の一方が回転面の縫い目に位置するようにしたが、そうでなくてもよい。但し、交線の一方が縫い目に位置しない場合には、境界曲線を前記曲線G2側だけでなく曲線G1側でも同様にしてつなぐ。
また、以上の説明は図１に示した３次元形状処理装置を用いた場合で行ったが、本発明による３次元形状処理方法に従ってプログラミングしたプログラムを、例えば着脱可能な記憶媒体に記憶させ、その記憶媒体をそれまで本発明によった３次元形状処理を行えなかったパーソナルコンピュータなどの情報処理装置に装着することにより、そのような情報処理装置においても本発明によった３次元形状処理を実現することができる。
【００１０】
【発明の効果】
以上説明したように、本発明によれば、請求項１記載の発明では、平面上の縫い目の位置に射影された母線を回転面の軸を中心に180度回転させた曲線の一部分が分割された境界曲線を閉じたループにするための曲線となるので、閉じたループにするための形状データを容易に得ることができる。
また、請求項２記載の発明では、請求項１記載の発明において、回転面の母線上の複数のサンプル点について、サンプル点と回転面の軸との距離、サンプル点を回転面の軸に射影した射影点が求められ、前記平面上で前記サンプル点と同じ軸上射影点を持ち、同じ軸との距離を持つサンプル射影点が求められ、そのサンプル射影点と母線を平面上に射影した曲線との誤差距離が求められ、前記複数のサンプル点のすべてについて前記誤差距離が所定値以内であるならば前記射影した曲線が射影された母線として採用されるので、射影された母線の形状データを容易に得ることができる。
また、請求項３記載の発明では、請求項２記載の発明において、すべての誤差距離が所定値以内でないならば、射影前の母線を前記軸を回転軸として回転させることにより回転面が生成され、その回転面と前記平面との交線が求められ、その交線が射影された母線として採用されるので、射影された母線の形状データが得られないということがなくなる。
請求項４記載の発明では、回転面を処理することができる３次元形状処理方法において、処理対象である回転面を含む３次元形状データを読み出し、回転面を２分割する平面を求める第１の工程と、前記回転面の母線を得られた平面上に射影する第２の工程と、前記射影した母線を第１曲線として、この第１曲線を回転面の軸を中心に１８０度回転させた第２曲線を求める第３の工程と、分割された一方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とする第４の工程と、前記外部境界の属する母曲面を求める第５の工程と、分割された他方の回転面上の境界曲線を第２曲線の一部を用いてつなぐことによりループを形成し、該ループを外部境界とし、この外部境界の属する母曲面を求める第６の工程により、トリムされている閉じた回転面の３次元形状データを受け取っても容易に処理を行うことできる。これにより標準フォーマットを介して３次元形状データを受け取ることができるようになる。
また、請求項５記載の発明では、請求項１乃至請求項４記載の３次元形状処理方法に従ってプログラミングしたプログラムを、例えば着脱可能な記憶媒体に記憶することができるので、その記憶媒体をそれまで請求項１乃至請求項４記載の発明によった曲面処理を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、そのような情報処理装置においても請求項１乃至請求項４記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す３次元形状処理装置の構成ブロック図である。
【図２】本発明の一実施例を示す３次元形状処理方法の動作フロー図である。
【図３】本発明の一実施例に係わる３次元形状処理方法の説明図である。
【図４】本発明の一実施例を示す３次元形状処理方法の説明図である。
【図５】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図６】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図７】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図８】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図９】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１０】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１１】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１２】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１３】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１４】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１５】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図１６】本発明および従来技術に係わる３次元形状処理方法の説明図である。
【図１７】本発明および従来技術に係わる３次元形状処理方法の他の説明図である。
【図１８】本発明および従来技術に係わる３次元形状処理方法の他の説明図である。
【図１９】本発明および従来技術に係わる３次元形状処理方法の他の説明図である。
【符号の説明】
１  データ処理部
２  入力装置
３  表示装置
４  プロッタ
５  メモリ
６  外部記憶装置
７  記憶媒体駆動装置
【図１】
0004005290.tif 000002
【図２】
0004005290.tif 000003
【図３】
0004005290.tif 000004
【図４】
0004005290.tif 000005
【図５】
0004005290.tif 000006
【図６】
0004005290.tif 000007
【図７】
0004005290.tif 000008
【図８】
0004005290.tif 000009
【図９】
0004005290.tif 000010
【図１０】
0004005290.tif 000011
【図１１】
0004005290.tif 000012
【図１２】
0004005290.tif 000013
【図１３】
0004005290.tif 000014
【図１４】
0004005290.tif 000015
【図１５】
0004005290.tif 000016
【図１６】
0004005290.tif 000017
【図１７】
0004005290.tif 000018
【図１８】
0004005290.tif 000019
【図１９】
0004005290.tif 000020