(57)【特許請求の範囲】
【請求項１】
コンピュータ支援用設計装置における表示手段上に表示される幾何オブジェクトのエッジを混合するための方法であって、
（a）開始頂点（SV）と終了頂点（EV）を有する混合すべきエッジ（E）を入力手段により選択するステップと、
（b）前記入力手段により混合面を選択するステップと、
（c）混合境界（LBとRB）を処理手段により計算するステップと、
（d）混合境界（LBとRB）と、開始頂点（SV）か終了頂点（EV）と結合されている幾何オブジェクト（91）のエッジとの交点を、該エッジの実際の幾何学位置であってその表現が記憶手段に記憶されている幾何学位置に基づいて前記処理手段により計算するステップと、
（e）ステップ（d）が交点を得られないエッジ（W3）を削除し、その削除によりトポロジ的に生成され、開始頂点（SV）か終了頂点（EV）と結合されている新しいエッジ（W3new）で、ステップ（d）を繰り返し、該新しいエッジに関する計算を、前記記憶手段に表現が記憶されている当初の幾何学オブジェクトにおける対応するエッジの実際の幾何学位置を用いて行うステップと、
（f）混合面を前記処理手段により計算するステップと、
（g）その混合面と、開始頂点（SV）か終了頂点（EV）と結合され、以前のステップで交差されていないエッジ（W10）との交点を、前記記憶手段に表現が記憶されている当初の幾何学オブジェクトの実際の幾何学位置又は該当初の幾何学オブジェクトにおける対応するエッジに基づいて前記処理手段により計算するステップと、
（h）以前のステップで計算された交点（S1,S3,S11,S12,S4,及びS2）の間に、混合面の対応部分（90）を前記処理手段により挿入するステップと、
（i）結果の幾何オブジェクト（92）を表示するステップと
を含む、エッジの混合方法。
【請求項２】
前記新しいエッジ（W3new）の生成が、前記開始頂点（SV）又は前記終了頂点（EV）と一致するよう前記削除されたエッジ（W3）の他の頂点（T）を移動させることにより行われることを特徴とする請求項１記載のエッジの混合方法。
【請求項３】
前記ステップ（g）がエッジ（W）を削除し、かつ混合面と交点を持たない面（F）と対応するステップを含むことを特徴とする請求項１記載のエッジの混合方法。
【請求項４】
前記エッジの削除がEuler演算「kev」によって実行され、かつ面の削除がEuler演算「kbfv」によって実行されることを特徴とする請求項１または２記載のエッジの混合方法。
【請求項５】
前記混合面が変化する半径を有することを特徴とする請求項１から３のいずれかの請求項に記載のエッジの混合方法。
【請求項６】
前記混合面が面取り面であることを特徴とする請求項１から３のいずれかの請求項に記載のエッジの混合方法。
【請求項７】
幾何オブジェクトを生成し、変更するために、コマンドやデータを入力する入力手段と、前記幾何オブジェクトを生成し、変更するために、計算を実行する処理手段と、前記幾何オブジェクトの表現を記憶し、オブジェクトの生成や変更に関連する命令を記憶するための記憶手段と、前記幾何オブジェクトを表示し、ユーザが選定した混合すべきエッジ（E）を表示し、混合されたオブジェクトを表示する表示手段とを含み、前記処理手段と前記記憶手段が請求項１から５のいずれかの請求項に記載のエッジの混合方法を実行するように動作するコンピュータ支援用設計装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はコンピュータ支援用設計システム（以下、ＣＡＤという）における幾何オブジェクトのエッジの丸めまたはエッジの面取りを行うエッジの混合方法に関する。物理的なオブジェクト、例えば機械部品等の設計において、そのオブジェクトのエッジを混合することが度々必要になる。今後、混合と呼ぶのは、エッジの丸めまたはエッジの面取りのことである。本発明は、物理的なオブジェクトのグラフ表現を記憶したり、等角図で３次元的にそれを表示する能力を持ち、、ユーザがこの表現を対話的に変更できるようにする３次元ＣＡＤシステムにおける混合操作の実行処理をする。
【０００２】
【従来の技術】
ＣＡＤシステムは、機械や電気の部品または他のオブジェクトの設計で、広く使われていて、市場で入手可能なシステムが幾つかある。これらのシステムの共通の特徴は、そのオブジェクトが対話モードでユーザにより設計されたものであるということであり、このことは、ボディはユーザに設計されるとすぐに画面上に表示され、ユーザは既存の構造の変更や追加がなされるコマンドを入れることができることを意味する。設計中の幾何オブジェクトの表示のために、普通、陰極線管（ＣＲＴ）または液晶表示装置（ＬＣＤ）が使われる。オブジェクトは、等角図で表示され、表示されたオブジェクトは、仮想（つまり、コンピュータが生成した）光源によって図示され、その結果、３次元の印象がさらに改善される。画面上に斜視表現に変わるものとして、設計中のオブジェクトの２次元または断面図が表示されうる。ある既知のＣＡＤシステムも、表示オブジェクトを別の軸の周りで回転させることができ、その結果、ユーザは幾つかの方向からオブジェクトを見ることができる。補正や変更のためのコマンドは、適切な入力方法、例えば、コンピュータ・マウス、グラフィックス・タブレット、またはライトペン等によって入力される。編集プロセスが終わり、設計オブジェクトがその最終形状を現したら、関連するハードコピーがプリンタやプロッタから出力され得る。さらに、紙テープまたは磁気テープがそのオブジェクトを表すデータから作成され得るし、これは、その希望の物理的オブジェクトの製造のために数値制御機械に直接使用されることもできる。
【０００３】
市場で入手可能な三次元ＣＡＤシステムの例は、ヒューレット・パッカード社の「精密工学固体設計者バージョン１．０」（Ｐｒｅｃｉｓｉｏｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｏｌｉｄ  Ｄｅｓｉｇｎｅｒ  Ｖｅｒｓｉｏｎ  １．０）である。三次元ＣＡＤシステムに関する説明は、ＩＣブレイド（Ｂｒａｉｄ  ）：「幾何学模型製作者のノート」ケンブリッジ大学Ｃ．Ａ．Ｄ  グループの１９７９年１月の文献１０１号（Ｉ．Ｃ．  Ｂｒａｉｄ：”Ｎｏｔｅｓ  ｏｎ  ａ  ｇｅｏｍｅｔｒｉｃ  ｍｏｄｅｌｌｅｒ”，  Ｃ．Ａ．Ｄ．  Ｇｒｏｕｐ  Ｄｏｃｕｍｅｎｔ  Ｎｏ．  １０１，  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｃａｍｂｒｉｄｇｅ，  Ｊｕｎｅ  １９７９  ）から知ることができる。この従来技術に関する文書を、今後、Ｂｒａｉｄ参考文献と呼ぶ。さらに、三次元ＣＡＤシステムに関する説明は、Ｉ．Ｃ  ．Ｂｒａｉｄ等の「幾何学モデルにおける多面角の段階構造」（Ｉ．Ｃ．  Ｂｒａｉｄ  ｅｔ  ａｌ．：”Ｓｔｅｐｗｉｓｅ  Ｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｐｏｌｙｈｅｄｒａ  ｉｎ  Ｇｅｏｍｅｔｒｉｃ  Ｍｏｄｅｌｌｉｎｇ”  ）およびアカデミック・プレス１９８０年、Ｋ．Ｗ．Ｂｒｏｄｌｉｅ（Ｅｄ）  ：「コンピュータ・グラフィックと設計における数学的方法」（  Ｋ．Ｗ．  Ｂｒｏｄｌｉｅ（Ｅｄ．）：”Ｍａｔｈｅｍａｔｉｃａｌ  Ｍｅｔｈｏｄｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ｄｅｓｉｇｎ”，  Ａｃａｄｅｍｉｃ  Ｐｒｅｓｓ，  １９８０  ）などの論文から得ることもできる。
【０００４】
Ｂｒａｉｄ  参考文献の「セクション４．９  面取りの基本」に、小さな平坦面による直線エッジの置換が述べられている。Ｂｒａｉｄ参考文献の終わりに、小平面と混合の悩ます問題は不幸にも未解決であると述べられている。
【０００５】
ところで、数種類のＣＡＤシステムが開発されて来た、例えば、上記のヒューレット・パッカード社のシステムは、エッジの混合の処理能力を持ち、混合の特別な場合として、エッジの面取りの処理ができる。既知のＣＡＤシステムでは、ユーザは例えば、コンピュータ・マウスを使ってカーソルを位置決めすることで混合されるエッジを選択できる。エッジが選択されると、ユーザは、混合曲線の半径か、面取りの場合は当初のエッジからの面取り距離を入力できる。コンピュータは、混合または面取りされるオブジェクトの形状を計算し、それを画面上に表示する。
【０００６】
【発明が解決しようとする課題】
しかし、混合半径の全ての希望の大きさや表現されたオブジェクトの全形状に対して混合処理ができないので、現在のＣＡＤシステムは、全ての側面で満足とは言えない。ＣＡＤシステムを使う実際の作業では、特定のエッジの混合は、他のエッジまたはその幾何オブジェクトの全面が削除されることを要求することが、よく発生する。特に、そのオブジェクトが多数の短いエッジで、混合半径か面取りが大きい場合、混合が当初のオブジェクトの幾つかのエッジや面に手を伸ばし、その幾何オブジェクトからそのエッジや面を削除することを要求する。簡単な例では、立方体を考え、その垂直なエッジが混合されるとする。その混合半径が十分に大きい場合、その立方体の大部分は切り取られ、扇形に関連する断面を持つ当初の立体の角の部分のみが残る。この角の部分を生成させるために、混合される当初のエッジと交差する立体の全エッジは、つまり、当初のエッジに集まる４つの水平エッジは、削除されなければならない。さらに、当初のエッジに隣接する二つの水平面は、完全に削除されなければならない。実際の設計作業では、対象となるオブジェクトは単なる立方体より複雑であり、エッジや面の削除問題はさらに複雑である。
【０００７】
現在のＣＡＤシステムの問題は、設計中のオブジェクトの全ての形状と混合パラメータ（混合半径や面取り）の可能な多様性に対して、エッジや面の削除作業に対処できないことである。あるＣＡＤシステムは、独立のエッジを削除する、限定された能力を持っているが、単純形状のオブジェクトについてのみ動作する。より複雑な幾何条件で、そのＣＡＤシステムは混合操作は実行できないというエラー・メッセージを出す。どちらにしても、出願人は幾何オブジェクトの全面を削除できるＣＡＤシステムを知らない。これらの制約のため、混合半径の選定は従来のＣＡＤシステムでは厳しく制限されていた。結果として、幾何モデルまたは全体モデルでさえも新たに構築されなければならず、混合により上記の問題を引き起こす短いエッジの使用は、避けられなければならなかった。このことは、設計プロセスの長期化と、コスト増を引き起こす。
【０００８】
本発明の目的は、例え任意の数のエッジや面が幾何オブジェクトから削除されなければならなくなっても、選択されたエッジの混合を実行するエッジの混合方法を提供することである。
【０００９】
任意の面の面取りや固定または変化する混合半径を持つ混合を実行することも本発明の別の目的である。
【００１０】
【課題を解決するための手段】
本発明によれば、これらのオブジェクトは、請求項１で定義する方法によって実現される。つまり、本発明は、
（ａ  ）．開始頂点と終了頂点を有する、混合すべきエッジを選択するステップと、
（ｂ  ）．混合面を選択するステップと、
（ｃ  ）．混合境界を計算するステップと、
（ｄ  ）．開始頂点か終了頂点に接続する幾何オブジェクトのエッジと混合境界の交点を計算するステップと、
（ｅ  ）．ステップ（ｄ  ）が交点を与えないエッジを削除し、削除により生じ、開始頂点か終了頂点に接続する新しいエッジでステップ（ｄ  ）を繰り返すステップと、
（ｆ  ）．混合面を計算するステップと、
（ｇ  ）．開始頂点か終了頂点に接続し、以前のステップで交差されていない、エッジと混合面の交点を計算するステップと、
（ｈ  ）．以前のステップで計算された交点の間に混合面の対応部分を挿入するステップと、
（ｉ  ）．結果の幾何オブジェクトを表示するステップと、
を含むエッジの混合方法を提供する。
【００１１】
本発明に係わるエッジの混合方法は、いかにそれが複雑であっても、設計中の幾何オブジェクトの任意の形状に使用できる。従来技術のＣＡＤシステムと違って、混合操作が行われるときに、削除されなければならないエッジに関して、何の制限もない。本発明により、任意の必要数のエッジが削除されうる。本発明は、任意の必要数の全表面もそのオブジェクトから削除させる。さらに、本発明の方法は、任意の型の混合、例えば、一定半径（円筒表面に対応して）の混合、変化する半径の混合、面取り、またはすみ肉の生成等に使用され得る。本発明の方法は、混合面のあらゆる可能な幾何オブジェクトや形状に適用できる汎用性がある。
【００１２】
【実施例】
図１は三次元ＣＡＤシステムの典型的な構成要素を示す概略図である。主演算処理装置１は、グラフィック処理装置２を経由して、表示画面３、例えば、ＣＲＴ等に接続されている。設計中の幾何オブジェクト１１は、表示画面３に表示される。主演算処理装置１は画面３に表示される幾何オブジェクトを生成し、変更するための計算を実行する。プリンタ４は、集線装置７を経由して、主演算処理装置１に接続されている。プリンタ４は画面３に表示された画像のハードコピーまたはＣＡＤシステムのデータ・メモリ５に記憶された幾何オブジェクトのハードコピーを出力できる。データ・メモリ５は、主演算処理装置１に接続され、磁気あるいは光ディスク等の大容量記憶装置を含んでいる。プログラム・メモリ６は、設計中の幾何オブジェクトの生成と取り扱いで使用される命令を含んでいる。
【００１３】
ユーザがＣＡＤシステムとの対話のために利用できる入力方法は幾つかある。実施例で示すように、表示画面３に表示されるカーソルを制御するコンピュータ・マウス９がある。マウス９の適切な動作によりオプションにカーソルを置き、起動キーを押すことにより希望のコマンドを選択する。表示されたメニュー・オプションの例は、画面上に表示されたオブジェクトからある部品を削除または追加すること、例えば、そのオブジェクトに穴開けすること等である。選択できるオプションの他の例は、本発明に係わる、表示されたオブジェクトのあるエッジの混合である。マウス９の他に、キーボード８が主演算装置１にコマンドやデータを入力するために用意されている。その他の入力手段は、画面３に表示されたオブジェクトを多種の軸の周りで回転させ、ある方向に直線的に移動させることができる複数のノブを含むノブ・ボックス１０である。上記の入力手段の代わりや追加で、他の入力手段が備えられることが可能で、例えば、グラフィック・タブレットまたはライトペン等がある。重要なことは、入力手段がユーザに希望の方法で画面３に表示されたオブジェクトを変更する、特に、エッジの混合等の変更を希望している表示されたオブジェクト部品を定義する、能力を与えることである。
【００１４】
本発明の実施例に関して、エッジの混合は、以下のような手順で実行される。先ず、ユーザは、表示画面３に表示されたオブジェクトの対応するエッジ上にカーソルを置いて、マウス９の起動キーを押すことで混合させたいエッジを選定する。それに対して、ＣＡＤシステムはそのエッジを、そのオブジェクトの他の色とは違う色に変える。この色の変化は、ユーザに、そのエッジがＣＡＤシステムにより混合のために実際に選ばれたことを示す。次の段階で、ユーザは希望の混合半径をＣＡＤシステムに入力しなければならない。希望の値は、キーボード８で入力される。その後、主演算装置１は変更済みのオブジェクトを生成するために計算を実行する。変更済みのオブジェクトを生成する手順の詳細を以下に記述する。その主演算装置で混合エッジが計算されると、表示画面３に表示される。
【００１５】
選択されたエッジの丸めのために満足されるべき条件は、丸めの部分とその丸めの部分に接する当初のオブジェクトの面が、それらが接する領域で同じ正接を持つことである。言い換えると、その丸めの部分と、この部分が境界となるそのオブジェクトの面との間の遷移が滑らかであることである。本発明は、一定の半径を持つ混合に限定されず、丸めの部分が変化する半径を持っている場合でも、使用されうる。特に、丸めの部分の表面が円柱面である必要は無い。
【００１６】
上記のエッジの丸めと似た手順が、面取りでも適用される。先ず、ユーザが面取りされるエッジを選択し、次に、そのエッジがＣＡＤシステムによって妥当な色付けをされる。その後、ユーザはキーボード８から希望の面取りに対応する距離値を入力する。主演算装置１は希望の面取りをした新しいオブジェクトを計算し、それを表示画面３に表示する。
【００１７】
以下に、本発明の方法の実施例がフローチャートを交えて、詳述される。その後、フローチャートに記述された方法の図解のために、ある幾何オブジェクトのエッジ混合の特定の例がそれらのオブジェクトの図面を交えながら記述される。下記の記述で、コンピュータでのそのオブジェクトの内部表現は、「境界表現」であることを仮定している。オブジェクトの内部表現は、そのオブジェクトを構成するデータの構築のためにコンピュータによって使用される技術を意味する。特に、境界表現という術語は、オブジェクトがその外側の面やエッジで表現されることを意味する。境界表現はトポロジと幾何学とを区別するオブジェクトの殻のモデルである。トポロジは、実際の形状や大きさに係わらず、オブジェクトの多種な頂点、エッジおよび面の間の関係を定義する。幾何学は、例えば、オブジェクトの外側面の形状が、平面か、円筒面か、球面か、または他の曲面か等、実際の形や大きさを定義する。その境界表現技術は、例えば、上記のＢｒａｉｄ  の論文で理解される。
【００１８】
下記の例は、「翼付きエッジ」データ構造を持つ境界表現を使っている。翼付きエッジ構造は、トポロジ的な要素である頂点、エッジおよび面が向きを与えられる境界表現の洗練されたものである。翼付きエッジ構造の詳細については、Ｂｒａｉｄ  の論文で説明されている（セクション２．２参照）。本発明の方法の説明のために、既知のＥｕｌｅｒ  演算「ｋｅｖ  」と「ｋｂｆｖ」を導入する必要がある。演算「ｋｅｖ  」（ｋｉｌｌ  ｅｄｇｅ  ｖｅｒｔｅｘ：エッジ頂点を削除する）は、設計中のオブジェクトからエッジと頂点を削除し、演算「ｋｂｆｖ」（ｋｉｌｌ  ｏｂｊｅｃｔ  ｆａｃｅ  ｖｅｒｔｅｘ  ：オブジェクト、面、頂点を削除する）は、エッジ、面および頂点を削除する。両方の演算についても、Ｂｒａｉｄ  の論文のセクション３．３で説明されている。
【００１９】
フローチャートで本発明の方法を説明する前に、次に使用される用語の説明のために、図２を参照する。図２は、混合前の幾何オブジェクト１５と混合後の同じ幾何オブジェクト（参照番号１６）を示している。幾何オブジェクト１５のエッジＥが、ユーザの選択した半径で混合されるとする。その半径が大きいので、全体の面１８が混合操作により削除される。幾何オブジェクト１６（以下、１６の幾何オブジェクトは混合オブジェクトという）は、曲線の混合部分１９を含む。混合部分１９は、混合面の一部である。混合面は、一般に、その混合が持つべき形状、例えば、円筒面を記述する。混合面は、以後、ＢＳと表す。混合オブジェクト１６において、以後、各々左と右の境界を表す、二つの新しいエッジ、すなわち、左右の混合境界ＬＢとＲＢが生成される。オブジェクト１５の当初のエッジ２０と２１は、混合オブジェクト１６に留まっている。次に、混合されるエッジＥ  の二つの頂点は、各々開始頂点（ＳＶ）と終了頂点（ＥＶ）と表記される。
【００２０】
図３、図４および図５を参照する。図３は、エッジＥを混合するための全体のアルゴリズムを記述している。そのアルゴリズムの実行中、二つのサブ・アルゴリズムＡ  １とＡ  ２が呼び出される。これらサブ・アルゴリズムＡ  １とＡ  ２は、各々図４と図５に記述されている。エッジＥ  が混合されると（ブロック３０）仮定すると、ブロック３１に示すように、左右の混合境界ＬＢとＲＢが先ず計算される。この計算は、幾何オブジェクトと希望混合面の交点を決定することによって実行される。ブロック３２によれば、エッジＥ  の開始頂点ＳＶが選択され、次にサブ・アルゴリズムＡ  １はブロック３３で示されるように開始頂点ＳＶに対して実行される。サブ・アルゴリズムＡ  １の目的は、幾何オブジェクトのあるエッジと左右の境界との交点を決めることでその境界を刈り込むことである。サブ・アルゴリズムＡ  １の詳細は、以下に述べる。サブ・アルゴリズムＡ  １の実行後、ブロック３４によれば、エッジＥ  の終了頂点ＥＶが選択されて、ブロック３５で、入力パラメータとして終了頂点ＥＶを使って、サブ・アルゴリズムＡ  １が再度実行される。サブ・アルゴリズムＡ  １の二重の実行の結果、１つは境界ＬＢとＲＢの間の４つの交点と、他方のエッジＥ  から開始する４つのエッジが生成される。
【００２１】
次のステップで、ブロック３６に応じて、混合面ＢＳが計算される。次に、エッジＥの開始頂点ＳＶが選択され（ブロック３７）、ブロック３８に示すように、サブ・アルゴリズムＡ  ２が、入力パラメータとして開始頂点ＳＶと混合面ＢＳを用いて計算される。サブ・アルゴリズムＡ２の目的は、隣接する面と混合面ＢＳとの交点を求めることである。サブ・アルゴリズムＡ  ２の詳細は以下に説明される。サブ・アルゴリズムＡ  ２が終了頂点ＥＶと混合面ＢＳに対して実行された後、終了頂点ＥＶが選択され（ブロック３９）、サブ・アルゴリズムＡ  ２は入力パラメータとして終了頂点ＥＶと混合面ＢＳを使って計算される（ブロック４０）。その後、ブロック４１に応じて、全ての交点が見つかったかが検査される。この検査は、期待される総数は既知なので、見付けた交点を数えるだけで簡単に実行される。全交点が見付けられると、混合面ＢＳが挿入され、以前に見付けられた交点で刈り込まれる（ブロック４２）。ここで、混合されたエッジを持つオブジェクトが生成され、表示画面３に表示される。
【００２２】
以下に、サブ・アルゴリズムＡ  １が図４を参照しながら、より詳しく説明される。ブロック５０に示されるように、入力パラメータは、頂点Ｖ  と二つの境界ＬＢとＲＢである。頂点Ｖ  は開始頂点ＳＶか終了頂点ＥＶである。ブロック５１によれば、第１のステップは、混合されるエッジＥ  の左側にある面ＬＦを選択する。次に、ブロック５２で、面ＬＦにあって頂点Ｖ  で終了するエッジＬＦが選択される。エッジＬＥは、ブロック５３に示されるように、左側境界ＬＢと交差する。ブロック５４で、実際に交点があることが検査される。交点が無ければ、エッジＬＥはオブジェクトから削除される（ブロック５５）。エッジの削除は、上記のＥｕｌｅｒ  演算「ｋｅｖ  」の方法で実行される。エッジの削除後、そのアルゴリズムはブロック５２に戻る。エッジの削除は、１つの交点が見つかるまで、繰り返される。交点が見つかると、左側用に説明されたものと同じ手順が、右側用に実行される。ブロック５６によれば、エッジＥ  の右側面ＲＦが選択され、右側面ＲＦにあって頂点Ｖ  で終了するエッジＲＥが選択される（ブロック５７）。ブロック５８によれば、右側面ＲＦと右側境界ＲＢとの交点が計算される。ブロック５９で、交点が無いことが分かると、再度Ｅｕｌｅｒ  演算「ｋｅｖ  」を使用してエッジＲＥが削除され（ブロック６０）、アルゴリズムはブロック５７に戻る。エッジの削除は交点が見つかるまで繰り返される。交点が見つかると、図３に示す全体アルゴリズムに戻る（ブロック６１）。そのサブ・アルゴリズムがどちらのブロックから開始したかによって、ブロック３３か３５のどちらかに戻る。
【００２３】
以下に、サブ・アルゴリズムＡ  ２が図５を参照しながら、より詳しく説明される。ブロック７０に示されるように、このサブ・アルゴリズムに対する入力パラメータは、頂点Ｖ  （開始頂点ＳＶか終了頂点ＥＶのどちらか）、混合されるエッジＥ  と面Ｓ  である。ブロック７１で、頂点Ｖ  を持つ面Ｆ  があり、その面がエッジＥ  に隣接していないかが検査される。もしそうでなければ、ブロック８０で示すように全体のアルゴリズムに戻る。もしその面Ｆが存在すれば、面Ｆが既に処理済みであるかがブロック７２で検査される。Ｆ  がサブ・アルゴリズムＡ  ２で選択された最初の面なら、答えは勿論「ｎｏ」であり、次のステップはブロック７３による。面Ｆ  が既に処理済みなら、次の面がブロック７１に応じて検査される。処理されていない面Ｆ  に対して、Ｆ  の中にあって頂点Ｖ  で終了するエッジＥＦが選択される（ブロック７３）。このエッジＥＦはブロック７４に示すように面Ｓ  と交差する。実際に交点があると（ブロック７５）、面Ｆ  はブロック７６に示すように「処理済み」のマークが付けられる。アルゴリズムはブロック７１に戻る。ブロック５４で、実際に交点があることが検査される。交点が無ければ、エッジＥＦはＥｕｌｅｒ  演算「ｋｅｖ  」を使用して、オブジェクトから削除される（ブロック７７）。その後、ブロック７８により、面Ｆ  に別のエッジあることが検査される。存在する場合には、そのアルゴリズムはブロック７３に戻る。他のエッジが無い場合には、その面Ｆ  は上記の  Ｅｕｌｅｒ  演算「ｋｂｆｖ」を使用して削除される。ブロック７１でこれが継続される。このループは頂点Ｖ（開始頂点ＳＶか終了頂点ＥＶ）を有しエッジＥ  に隣接しない面が無くなるまで、繰り返される。
【００２４】
「開始頂点」または「終了頂点」といった頂点の名称は任意なので、開始頂点ＳＶが終了頂点ＥＶの前に処理される（例えば、ブロック３２とブロック３４を参照）ということは、上記のアルゴリズムの必要機能ではないと理解されている。同様に、エッジＥ  の左側が右側より先に処理されるということも必要機能ではない（ブロック５１とブロック５６）。逆の方法もあり得る。重要なことは、順序の逆転は全体アルゴリズムを通して一貫していることである。
【００２５】
以下に、上記のアルゴリズムの二つの例が実際の幾何オブジェクトを参照しながら説明される。最初の例は、図６から図１１を参照して説明される。図６は、エッジＥ  が混合される幾何オブジェクト９１を示す。エッジＥ  の開始と終了の頂点は、各々ＳＶとＥＶである。アルゴリズムの第１ステップにおいて、フローチャートのブロック３１によれば、左側境界ＬＢと右側境界ＲＢが計算される。これら二つの境界は図６で点線によって表されている。次のステップでは、ブロック３２によれば、開始頂点ＳＶが選択され、次に面ＬＦが選択され（ブロック５１）、さらに開始頂点ＳＶで終了するエッジＷ  １が選択される（ブロック５２）。エッジＷ  １は左の混合境界ＬＢと交差する（ブロック５３）。その結果が交点Ｓ  １である。ブロック５６によると、右側面ＲＦが選択され、開始調印ＳＶで始まり右側面ＲＦに存在するエッジＷ  ２が右側境界ＲＢと交差する。その結果が交点Ｓ  ２である。その後、開始頂点ＳＶに対して実行されたものと似た手順が終了頂点ＥＶに対して実行される（ブロック３４とブロック３５）。
【００２６】
ブロック５２によると、終了頂点ＥＶで終了するエッジＷ  ３が選択され、左の混合境界ＬＢと交差する。交点が無いので、エッジＷ  ３はオブジェクトから削除される（ブロック５５）。その結果のトポロジ的なオブジェクトが図７に示されている。図７によるオブジェクトは、エッジＷ  ３を削除し、一致するように頂点Ｔ  を終了頂点ＥＶに「引く」ことで、図６のオブジェクトから生成される。エッジＷ  ３の削除後、終了頂点ＥＶに結合された弾性帯と、頂点Ｔ  で終了するエッジＥ  １とＥ  ２とを比較することで図示できるであろう。エッジＷ  ３の削除後、新しいエッジＷ  ３ｎｅｗは、終了頂点ＥＶで終了する。エッジＷ  ３ｎｅｗ  は左の混合境界ＬＢと交差し、交点Ｓ  ３が現れる。最後に、エッジＷ  ４が右側の混合境界ＲＢと交差し、その結果、交点Ｓ  ４が現れる。４つの交点Ｓ  １、Ｓ  ２、Ｓ  ３およびＳ  ４が見つかった後、混合面ＢＳが計算されたアルゴリズムがブロック３６で継続される。次に、サブ・アルゴリズムＡ  ２が開始頂点ＳＶと終了頂点ＥＶに対して実行される（ブロック３８とブロック４０）。基本的に、サブアルゴリズムＡ  ２は、開始頂点ＳＶか終了頂点ＥＶに結合され、まだ挿入されていない全エッジと混合ＢＳとの交差計算をする。この例で、これは終了頂点ＥＶに結合されているエッジＷ  １０にのみ適用される。この例で、混合面とエッジＷ  １０は交点を持たないことも仮定している。
【００２７】
混合面とあるオブジェクトのある特定のエッジとの交点の計算のために、その混合面とその特定のエッジの実際の幾何が使用される。交差の結果は、３次元空間の特定の点である。図７に示す例では、エッジＷ  １０は、当初のオブジェクトのエッジＥ  １に対応する。つまり、エッジＷ  １０と混合面との交差を計算するために、エッジＷ  １０が始まる当初のエッジＥ  １の空間的な実際の配置が使用される。
【００２８】
この例ではエッジＷ  １０と混合面ＢＳとの交点はないので、ブロック７７に応じてエッジＷ  １０は削除される。その結果が図８に示すトポロジ的なモデルである。開始頂点ＥＶに結合されている二つのエッジＷ  １１とＷ  １２がある。両方とも混合面ＢＳと交差している。交点はＳ  １１とＳ  １２である。つまり、オブジェクトと混合面との全交点が見付けられた。最終ステップで、ブロック４２によれば、混合面はエッジＥ  の代わりに挿入され、交点Ｓ  １、Ｓ  ３、Ｓ  １１、Ｓ  １２、Ｓ  ４およびＳ  ２はエッジを通して結合されている。最終結果は、図９に示されている。当初のエッジＥ  に置き換わる混合部分は湾曲した凸面９０である。図１０、図１１は、エッジＥ  が混合される当初の幾何オブジェクト９１と混合操作後の処理済みオブジェクト９２との比較である。
【００２９】
図３ないし図５のフローチャートで説明されているアルゴリズムの第２の例は、別の幾何オブジェクトを参照しながら、説明される。図１２から図１８が参照される。オブジェクト９５は、角が切り落とされた立方体の形状をしている。エッジＥ  は特定の半径で混合される。最初に、左右の混合境界ＬＢとＲＢが計算される。そのとき、サブ・アルゴリズムＡ  １は、開始頂点ＳＶに対して計算し、左の混合境界ＬＢおよび右の混合境界ＲＢとエッジｗ  １とｗ  ２の交点ｓ  １とｓ  ２を求める。終了頂点ｅｖに対してアルゴリズムＡ  １を実行する場合、エッジＷ  ３は左の混合境界ＬＢと交差していなければならない。交点が無いので、エッジＷ  ３はＥｕｌｅｒ  演算「ｋｅｖ  」を使用して削除される（ブロック５５）。その結果のトポロジ的なモデルは図１３に示される。図１２から図１３への変換は、エッジＷ  ３が削除され、頂点Ｐ  が終了頂点ＥＶに移動し、そこで頂点Ｐ  に結合されたエッジが弾性帯と同じように、頂点Ｐ  と共に動くと仮定することによって図示できる。次のステップで、左の混合境界ＬＢは当初のオブジェクトのエッジＥ  ３に対応しているエッジＷ  ３ｎｅｗ  と交差する。その結果が交点Ｓ  ３である。エッジＷ  ４は右の混合境界ＲＢと交差する。交点が無いので、エッジＷ  ４がブロック５５に応じて削除される。その結果のトポロジ的なモデルは図１４に示される。当初のオブジェクトのエッジＥ  ４に対応し、開始頂点ＳＶに結合されているエッジＷ  ４ｎｅｗ  は、右の混合境界ＲＢとの間に交点Ｓ  ４を持つ。つまり、必要な交点ＳＳ  、Ｓ  ２、Ｓ  ３、およびＳ  ４が見付けられた。
【００３０】
この手順は混合面の計算と共に継続する（ブロック３６）。混合面はエッジＷ  ５と交差する。第１の例で説明したように（図６から図１１）、図１２に示すようにエッジＷ  ５の空間的な実際の幾何学位置を使用する。この特定の例では、交点が無いと仮定している。エッジＷ  ５はその関連する面Ｆ  の最後のエッジであったので、フローチャートのブロック７９に従って、Ｅｕｌｅｒ  演算「ｋｂｆｖ」を使用して、トポロジ的なモデルから、面Ｆ  の全体が削除される。その結果が、トポロジ的なモデルの図１５である。開始頂点ＳＶや終了頂点ＥＶで始まるエッジは、他にない。これで、混合面に挿入するために必要な全交点が見い出された。最後のステップで、混合面がエッジＥ  の代わりに挿入され、交点Ｓ  １、Ｓ  ３、Ｓ  ４、およびＳ  ２がエッジを通して結合される。混合の完了したオブジェクトは、図１６に示される。図解のため、図１７、図１８は、エッジＥ  が混合される前の当初のオブジェクト９５と混合後のオブジェクト９６との比較をしている。
【００３１】
本発明の混合方法は、一定半径の混合にだけ使用されるものではない。変化する半径の混合の実行も可能である：例えば、混合されるエッジの混合半径が開始頂点から終了頂点まで連続的に変化することも可能である。上記の方法は、混合面の特定の形状について何も仮定していないので、原則として、任意の型の混合面に使うことができる。特に、本発明は面取りの実行も可能である。
【００３２】
本発明の方法の能力を示す別の例は、図１９、図２０に示されている。エッジＥ  が丸められるオブジェクト９７が図１９に図示されている。混合処理の結果が図２０に示されるオブジェクト９８である。この例での混合半径は、大きく選ばれているので、当初のオブジェクト９７のエッジ１００と１０１は消えている。丸められた部分には、参照番号９７のラベルが付けられる。従来技術のＣＡＤシステムはこの演算ができず、ただエラーメッセージを出すだけであった。本発明により、数本のエッジが削除されなければならない場合でも、この演算は問題なく実行される。本発明には、混合されるエッジや面の数に関する制限はない。本発明によれば、希望の混合演算を実行するために必要な数のエッジや面が消去される。
【００３３】
以上本発明の各実施例について詳述したが、ここで各実施例の理解を容易にするために、各実施例を要約して以下に列挙する。
【００３４】
（１）．（ａ  ）．開始頂点（ＳＶ）と終了頂点（ＥＶ）を有する混合すべきエッジ（Ｅ  ）を選択するステップと、
（ｂ  ）．混合面を選択するステップと、
（ｃ  ）．混合境界（ＬＢとＲＢ）を計算するステップと、
（ｄ  ）．混合境界（ＬＢとＲＢ）と、開始頂点（ＳＶ）か終了頂点（ＥＶ）と結合されている幾何オブジェクト（９１）のエッジとの交点を計算するステップと、
（ｅ  ）．ステップ（ｄ  ）が交点を得られないエッジ（Ｗ  ３）を削除し、その削除で生成され、開始頂点（ＳＶ）か終了頂点（ＥＶ）と結合されている新しいエッジ（Ｗ  ３ｎｅｗ  ）で、ステップ（ｄ）を繰り返すステップと、
（ｆ  ）．混合面を計算するステップと、
（ｇ  ）．その混合面と、開始頂点（ＳＶ）か終了頂点（ＥＶ）と結合され、以前のステップで交差されていないエッジ（Ｗ  １０）との交点を計算するステップと、
（ｈ  ）．以前のステップで計算された交点（Ｓ  １、Ｓ  ３、Ｓ  １１、Ｓ  １２、Ｓ  ４、およびＳ  ２）の間に、混合面の対応部分（９０）を挿入するステップと、
（ｉ  ）．結果の幾何オブジェクト（９２）を表示するステップと
を含むエッジの混合方法である。
【００３５】
（２）．ステップ（ｇ  ）がエッジ（Ｗ  ５）を削除し、かつ混合面と交点を持たない面（Ｆ  ）と対応するステップを含む前記１のようなエッジの混合方法である。
【００３６】
（３）．  エッジの削除がＥｕｌｅｒ  演算「ｋｅｖ  」によって実行され、かつ面の削除がＥｕｌｅｒ  演算「ｋｂｆｖ」によって実行される前記１または２によるエッジの混合方法である。
【００３７】
（４）．混合面が変化する半径を有する前記１、２、３のいずれかのエッジの混合方法である。
【００３８】
（５）．混合面が面取り面である前記１から３のいずれかのエッジの混合方法である。
【００３９】
（６）．幾何オブジェクト（１１）を生成し、変更するために、コマンドやデータを入力する入力手段（７、８、９、および１０）と、
幾何オブジェクト（１１）を生成し、変更するために、計算を実行する処理手段（１および２）と、
幾何オブジェクトの表現を記憶し、オブジェクトの生成や変更に関連する命令を記憶するための記憶手段（５および６）と、
幾何オブジェクト（１１）を表示し、ユーザが選定した混合すべきエッジ（Ｅ  ）を表示し、混合されたオブジェクトを表示する表示手段（３）とを含み、
処理手段（１および２）と記憶手段（５と６）が前記１から５のいずれかエッジの混合方法を実行するように動作するコンピュータ支援用設計装置である。
【００４０】
【発明の効果】
以上のように、本発明によれば、開始頂点と終了頂点とを有する混合すべきエッジと混合面の選択後、混合境界を計算し、その計算した混合境界と開始頂点または終了頂点と結合されている幾何オブジェクトのエッジとの交点を計算し、交点が得られない場合には、そのエッジを削除して開始頂点または終了頂点と結合している新しいエッジで交点を計算するとともに、混合面と開始頂点か終了頂点と結合し、以前のステップで交点されていないエッジとの交点を計算し、以前のステップで計算された交点の間に混合面の対応部分を挿入するようにしたので、任意数のエッジや面が幾何オブジェクトから削除する必要があっても、選択されたエッジの混合を実行することができるとともに、任意の面取りや固定または変化する混合半径を有する混合も実行可能となる。
【図面の簡単な説明】
【図１】本発明のエッジ混合方法を実施する三次元ＣＡＤシステムの構成要素を示す概略図である。
【図２】本発明のエッジの混合方法を図示するためにエッジ混合の前後の幾何オブジェクトを示す斜視図である。
【図３】幾何オブジェクトのエッジ混合に対する本発明の全体的なアルゴリズムを記述したフローチャートである。
【図４】図３で記述した全体的なアルゴリズムの実行時に呼び出される第１のサブ・アルゴリズムを記述するフローチャートである。
【図５】図３で記述した全体的なアルゴリズムの実行時に呼び出される第２のサブ・アルゴリズムを記述するフローチャートである。
【図６】第１の幾何オブジェクトを参照しながら図３ないし図５で記述したアルゴリズムの第１実施例を示す斜視図である。
【図７】第１の幾何オブジェクトを参照しながら図３ないし図５に記載したアルゴリズムの第１実施例を示す斜視図である。
【図８】第１の幾何オブジェクトを参照しながら図３ないし図５に記載したアルゴリズムの第１実施例を示す斜視図である。
【図９】第１の幾何オブジェクトを参照しながら図３ないし図５に記載したアルゴリズムの第１実施例を示す斜視図である。
【図１０】第１の幾何オブジェクト参照しながら図３ないし図５に記載したアルゴリズムの第１実施例を示す斜視図である。
【図１１】第１の幾何オブジェクトを参照しながら図３ないし図５に記載したアルゴリズムの第１実施例を示す斜視図である。
【図１２】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１３】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１４】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１５】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１６】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１７】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１８】第１の幾何オブジェクトとは異なる第２の幾何オブジェクトに関して図３ないし図５に記載したアルゴリズムの第２実施例を示す斜視図である。
【図１９】本発明の方法をさらに図示するためにオブジェクトの特定のエッジを混合する前の別の幾何オブジェクトを示す斜視図である。
【図２０】本発明の方法をさらに図示するためにオブジェクトの特定のエッジを混合した後の別の幾何オブジェクトを示す斜視図である。
【符号の説明】
１    主演算処理装置
２    グラフィック処理装置
３    表示画面
４    プリンタ
５    データ・メモリ
６    プログラム・メモリ
７    集中装置
８    キーボード
９    マウス
１０  ノブボックス
１１、１５、１６、９０、９１、９５〜９８    幾何オブジェクト
１８  全体の面
１９  曲線の混合部分
２０、２１    当初のエッジ
９０  凸面
９９  丸められたエッジ
１００、１０１    Ｅ  、ＥＬ、Ｗ  １、Ｗ  ４、Ｗ  ５    エッジ
Ｆ      面
ＥＶ    終了頂点
ＳＶ    開始頂点
ＬＢ    左の混合境界
ＲＢ    右の混合境界
ＬＦ    左側面
ＲＦ    右側面
Ｐ      頂点
ＢＳ    混合面
Ｓ  １〜Ｓ  ４、Ｓ  １１、Ｓ  １２    交点
【図１】
0003599386.tif 000002
【図２】
0003599386.tif 000003
【図３】
0003599386.tif 000004
【図４】
0003599386.tif 000005
【図５】
0003599386.tif 000006
【図６】
0003599386.tif 000007
【図７】
0003599386.tif 000008
【図８】
0003599386.tif 000009
【図９】
0003599386.tif 000010
【図１０】
0003599386.tif 000011
【図１１】
0003599386.tif 000012
【図１２】
0003599386.tif 000013
【図１３】
0003599386.tif 000014
【図１４】
0003599386.tif 000015
【図１５】
0003599386.tif 000016
【図１６】
0003599386.tif 000017
【図１７】
0003599386.tif 000018
【図１８】
0003599386.tif 000019
【図１９】
0003599386.tif 000020
【図２０】
0003599386.tif 000021