(57)【特許請求の範囲】
【請求項１】
線分、円弧等の図形要素で形成される開図形と閉図形との図形演算により、図形を生成する図形処理装置であって、
記憶手段に記憶された開図形要素を取り出す取出手段と、
前記取出手段により取り出した開図形と前記記憶手段に記憶されている閉図形との交点を求める演算手段と、
前記演算手段により求めた交点により前記開図形を分割し、複数の線分或いは円弧の図形要素を獲得する分割手段と、
前記分割手段によって獲得された複数の図形要素を、図形要素が前記閉図形の内部、外部、境界線上の何れに存在するかにより３種類に分類する分類手段と、
前記複数の図形要素の中から、前記閉図形の内部、外部、内部と境界上、及び外部と境界上に分類される図形要素のいずれかを選択する選択手段とを備えることを特徴とする図形処理装置。
【請求項２】
前記選択手段で選択された図形要素を連結する連結手段を更に備えることを特徴とする請求項１に記載の図形処理装置。
【請求項３】
前記分割手段は、前記開図形と閉図形との交点及び両図形の接する領域の両端点により該開図形を分割することを特徴とする請求項１に記載の図形処理装置。
【請求項４】
線分、円弧等の図形要素で形成される開図形と閉図形との図形演算により、図形を生成する図形処理方法であって、
記憶手段に記憶された開図形要素を取り出す取出工程と、
前記取出工程により取り出した開図形と前記記憶手段に記憶されている閉図形との交点を演算手段により求める演算工程と、
前記演算手段により求めた交点により前記開図形を分割し、複数の線分或いは円弧の図形要素を獲得する分割工程と、
前記分割工程によって獲得された複数の図形要素を、図形要素が前記閉図形の内部、外部、境界線上の何れに存在するかにより３種類に分類する分類工程と、
前記複数の図形要素の中から、前記閉図形の内部、外部、内部と境界上、及び外部と境界上に分類される図形要素のいずれかを選択する選択工程とを備えることを特徴とする図形処理方法。
【請求項５】
前記分類工程は、前記分割工程で得られた図形要素の各々について、図形要素上に代表点を設け、該代表点の前記閉図形に対する位置に基づいて当該図形要素の分類を行うことを特徴とする請求項４に記載の図形処理方法。
【請求項６】
前記代表点は、前記図形要素上の中央の点であることを特徴とする請求項５に記載の図形処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ＣＡＤシステム等に用いられる図形処理方法及び装置に関する。
【０００２】
【従来の技術】
従来のＣＡＤシステム等の図形処理装置において、線分、円弧などの図形要素で構成される開図形と閉図形との図形演算を行ない、開図形から、閉図形の内部、外部、内部と境界上、又は外部と境界上に存在する図形を求める統一的な図形演算方法は、存在しなかった。
【０００３】
【発明が解決しようとする課題】
線分、円弧などの図形要素で構成される開図形と閉図形との図形演算を行ない、開図形から、閉図形の内部、外部、内部と境界上、又は外部と境界上に存在する図形を求める統一的な図形演算方法は存在しなかったので、閉図形の内部、外部、内部と境界上、又は外部と境界上に存在する図形を求めるには、夫々の場合に応じて、幾何計算等、煩雑な処理を組み合わせて、独自に計算しなければならないという問題があった。
【０００４】
本発明は、上記の問題点に鑑みてなされたものであり、閉図形と開図形との図形演算において、閉図形の内部、外部或は境界線上に存在する開図形の部分図形を抽出する統一的な手法を提供し、図形演算の繁雑さを解消する図形処理方法及び装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成するための本発明による図形処理装置は、以下の構成を備えている。即ち、
線分、円弧等の図形要素で形成される開図形と閉図形との図形演算により、図形を生成する図形処理装置であって、
記憶手段に記憶された開図形要素を取り出す取出手段と、
前記取出手段により取り出した開図形と前記記憶手段に記憶されている閉図形との交点を求める演算手段と、
前記演算手段により求めた交点により前記開図形を分割し、複数の線分或いは円弧の図形要素を獲得する分割手段と、
前記分割手段によって獲得された複数の図形要素を、図形要素が前記閉図形の内部、外部、境界線上の何れに存在するかにより３種類に分類する分類手段と、
前記複数の図形要素の中から、前記閉図形の内部、外部、内部と境界上、及び外部と境界上に分類される図形要素のいずれかを選択する選択手段とを備える。
【０００６】
また、好ましくは、前記選択手段で選択された図形要素を連結する連結手段を更に備える。
【０００７】
また、好ましくは、前記分割手段は、前記開図形と閉図形との交点及び両図形の接する領域の両端点により該開図形を分割する。
【０００９】
また、本発明の図形処理方法は、以下の構成を備えている。即ち、
線分、円弧等の図形要素で形成される開図形と閉図形との図形演算により、図形を生成する図形処理方法であって、
記憶手段に記憶された開図形要素を取り出す取出工程と、
前記取出工程により取り出した開図形と前記記憶手段に記憶されている閉図形との交点を演算手段により求める演算工程と、
前記演算手段により求めた交点により前記開図形を分割し、複数の線分或いは円弧の図形要素を獲得する分割工程と、
前記分割工程によって獲得された複数の図形要素を、図形要素が前記閉図形の内部、外部、境界線上の何れに存在するかにより３種類に分類する分類工程と、
前記複数の図形要素の中から、前記閉図形の内部、外部、内部と境界上、及び外部と境界上に分類される図形要素のいずれかを選択する選択工程とを備える。
【００１０】
また、好ましくは、前記分類工程は、前記分割工程で得られた図形要素の各々について、図形要素上に代表点を設け、該代表点の前記閉図形に対する位置に基づいて当該図形要素の分類を行う。
【００１１】
また、好ましくは、前記代表点は、前記図形要素上の中央の点である。
【００１２】
【作用】
上記の構成によれば、閉図形と開図形との交点により前記開図形が分割されて複数の線分或いは円弧の図形要素が獲得され、獲得された複数の図形要素は前記閉図形に対する位置に基づいて分類される。そして、獲得された複数の図形要素を、図形要素が前記閉図形の内部、外部、境界線上の何れに存在するかにより３種類に分類し、これら複数の図形要素の中から、閉図形の内部、外部、内部と境界上、及び外部と境界上に分類される図形要素のいずれかを選択する。このため、開図形の中から閉図形の内部に存在する図形、外部に存在する図形、内部と境界上或いは外部と境界上に存在する図形が容易に得られる。
【００１３】
【実施例】
以下、添付の図面を参照して本発明の好適な実施例を説明する。
【００１４】
本実施例では、線分、円弧などの図形要素で構成される開図形と閉図形との図形演算を行ない、開図形から、閉図形の内部、外部、境界上、内部と境界上、又は外部と境界上に存在する図形を抽出する図形処理を実行する情報処理システムを説明する。
【００１５】
図１は、本実施例による情報処理システムの構成を示すブロック図である。図１において、１は中央処理装置であり、本システムの各種制御を行うとともに、後述の開図形と閉図形との図形演算を実行する。２は表示装置であり、図形要素や、各図形要素から構成される図形の表示、入力情報の表示、処理結果の表示、処理途中の経緯の表示などを行う。３は入力装置であり、キーボード及びマウスなどを備え、開図形と閉図形との図形演算に必要な情報の入力、その他の指示などを入力する。
【００１６】
４は記憶装置であり、開図形と閉図形との図形演算手順などの制御プログラムや、ＣＡＤ図形要素に対応するデータ（２次元線分の場合は、始点、終点の座標、２次元円弧の場合は、始点、終点、中心の座標と回り方向等の図形を決定するのに十分な幾何情報など）、開図形と閉図形との図形演算処理中に発生する計算結果、処理結果などを記憶する。５は情報読み込み装置であり、外部記憶装置（不図示）から開図形と閉図形との図形演算処理などのプログラムを読み込み、前述の記憶装置４に格納する。
【００１７】
以下の説明では、予め開図形と閉図形との図形演算処理などのプログラムが、情報読み込み装置５により外部記憶装置より読み出され、半導体ＲＡＭあるいは磁気ディスクなどの記憶装置４に格納されているものとする。即ち、図１に示した構成により、開図形、閉図形などＣＡＤ図形要素に対応するデータ、図形演算に必要な情報などが記憶装置４に格納されており、中央処理装置１が、必要な情報を記憶装置４より取り出し、開図形と閉図形との図形演算結果のＣＡＤ図を表示装置２に表示するとともに、記憶装置４に格納する。
【００１８】
次に、上記構成の情報処理システムにおける図形処理を説明する。図２は、本実施例における、開図形と閉図形との図形演算の処理手順を示すフローチャートである。
【００１９】
処理上、開図形は複数の図形要素から構成される。ステップＳ１では、中央処理装置１が、記憶装置４に格納されている開図形から、一つ目の図形要素を取り出す。以下、この図形要素を図形要素Ｚ１と呼ぶ。ここで、図形要素Ｚ１とは、一つの開図形である。
【００２０】
ステップＳ２では、中央処理装置１が、図形要素Ｚ１と記憶装置４に格納されている閉図形との交点計算を行う。ステップＳ３では、中央処理装置１が、図形要素Ｚ１をステップＳ２で求まった交点により分割する。以下、この分割された図形要素の各々を総称して図形要素Ｚ２と呼ぶ。また、ステップＳ２で交点を求められなかった場合、図形要素Ｚ２は、図形要素Ｚ１と同じ情報を持つことになる。なお、図形要素Ｚ１と閉図形との交点には、図形要素Ｚ１と閉図形との接点や、図形要素Ｚ１と閉図形との接する領域の両端等も含まれる。
【００２１】
ここで、図形要素Ｚ１から図形要素Ｚ２を作成する手順（上述のステップＳ１〜ステップＳ２）を図３により具体的に説明する。
【００２２】
図３（ａ）は、一つの外周（反時計回り）ループと一つの内周（時計回り）ループより構成された閉図形と図形要素Ｚ１とを示したものである。この関係で、閉図形と図形要素Ｚ１との交点計算を行うことにより、図３（ｂ）に示すように交点Ｐ１、Ｐ２、Ｐ３、Ｐ４が求められる。ここで、各交点は、図形要素Ｚ１の始点に近い順にソートされる。ソートの方法は、例えば、線分の場合には、始点からの距離を求め、その距離により、並び替えを行う。また、円弧の場合には、円弧の回り向き及び始点と交点との中心各により並び変える。求められた交点により、図形要素Ｚ１を図３（ｂ）に示すように図形要素ｄ１、ｄ２、ｄ３、ｄ４、ｄ５に分割し、図形要素Ｚ２を求める。また、図３（Ｃ）に示すように、閉図形と図形要素Ｚ１とに交点が無い場合には、図形要素Ｚ２は、図形要素Ｚ１と同じ図形情報となる。以上のように交点をソートすることにより、２つの交点で特定される図形要素が重なりを持つことが防止される。
【００２３】
次に、ステップＳ４では、中央処理装置１が図形要素Ｚ１と記憶装置４に格納されている閉図形の関係を調べる。即ち、各図形要素Ｚ２が、閉図形の境界上に位置するのか、閉図形の内部に位置するのか、閉図形の外部に位置するのか、を判定する。ステップＳ４における図形要素Ｚ２の位置の判定方法について図４を参照して具体的に説明する。
【００２４】
図４は、本実施例において各図形要素が存在する位置を判定する手順を説明する図である。図４（ａ）に示すように、図形要素Ｚ２として、図形要素ｄ１、ｄ２、ｄ３、ｄ４、ｄ５が得られた場合、各図形要素ｄ１〜ｄ５の中点ｍ１、ｍ２、ｍ３、ｍ４、ｍ５を求め、各図形要素の代表点とする。次に、その代表点が閉図形の境界上にあるかどうかを判定することにより、図形要素が、閉図形の境界上にあるかどうかを決定する。ここで、代表点が閉図形の境界上にある場合は当該図形要素は閉図形の境界上の図形である。また、代表点が閉図形の境界上に無い場合には、中点の閉図形に対する内外判定により、図形要素が、閉図形の内部に位置するか、外部に位置するかを決定する。以上の判定により、図４（ｂ）に示すように、図形要素ｄ１は、閉図形の外部、図形要素ｄ２は、閉図形の内部、図形要素ｄ３は、閉図形の外部、図形要素ｄ４は、閉図形の内部、図形要素ｄ５は、閉図形の外部となる。
【００２５】
ステップＳ５では、中央処理装置１が、上記ステップＳ４で作成した各図形要素の閉図形に対する位置関係を元に、図形要素を選択する。即ち、閉図形の内部に存在する図形を求める場合は閉図形の内部に存在する図形要素Ｚ２を、閉図形の内部及び境界上に存在する図形を求める場合には閉図形の内部及び境界上に存在する図形要素Ｚ２を、閉図形の外部に存在する図形を求める場合には閉図形の外部に存在する図形要素Ｚ２を、閉図形の外部及び境界上に存在する図形を求める場合には閉図形の外部及び境界上に存在する図形要素Ｚ２を、夫々取り出すことになる。以下、上述のステップＳ５の処理で選択された図形要素を図形要素Ｚ３と呼ぶ。
【００２６】
次に、図５を参照して、本実施例における図形要素の選択について更に具体的に説明する。図５の（ａ）は、図形要素Ｚ１に対し、ステップＳ４までの処理が終了した状態を示す一実施例である。図形要素ｄ１、ｄ２、ｄ３、ｄ４、ｄ５、ｄ６、ｄ７に分割され、図形要素ｄ１、ｄ５、ｄ６は閉図形の外部、図形要素ｄ２、ｄ４、ｄ７は閉図形の内部、図形要素ｄ３は閉図形の境界上に夫々位置している。
【００２７】
図５の（ｂ）〜（ｅ）は、図５の（ａ）より所定の条件の基に図形要素Ｚ３を選択した例である。即ち、図５（ｂ）は、閉図形の内部に存在する図形要素、図５（ｃ）は、閉図形の内部及び境界上に存在する図形要素、図５（ｄ）は、閉図形の外部に存在する図形要素、図５（ｅ）は、閉図形の外部及び境界上に存在する図形要素を示したものである。
【００２８】
ステップＳ６では、ステップＳ５で選択した図形要素を連結し、図形を生成する。即ち、図形が既に生成されている場合は、図形要素Ｚ３が、既存生成図形と連結できるか端点の距離を求めることで判定し、連結できる場合は、既存生成図形に追加する。連結できない場合は、図形要素Ｚ３を一つの開図形として、生成する。なお、端点を連結できるか否かは、当該端点間の距離が、所定の許容値内であるか否かに基づいて判断される。この許容値はパラメータとして任意に設定できるようにしてもよいし、適正値で固定するようにしてもよい。
【００２９】
図６は、閉図形の内部に存在する図形要素を連結し、図形を生成する例を示した図である。既存生成図形ｒ１、ｒ２、ｒ３に対し、図形要素ｄ１は、端点Ｐ１で連結できるので、生成図形ｒ３に追加される。一方、図形要素ｄ３は、既存の生成図形のいずれとも連結できないので、生成図形ｒ４として、新規に追加される。また、図形が生成されていない場合には、得られた図形要素Ｚ３を一つの開図形として、新規に生成する。このとき、得られた図形要素Ｚ３の中で互いに連結できるかどうかを判定し、連結できる場合には、一つの図形要素に合成しておいても良い。図７は、閉図形の内部及び境界上に存在する図形要素ｄ２、ｄ３、ｄ４、ｄ７を合成し、ｄ’１とｄ’２を生成した例である。
【００３０】
尚、処理対象の各図形要素には、図形演算が終了したことを示す処理フラグを記憶装置４に格納しておく。この処理フラグは、初期状態として、あらかじめオフにしておく。本処理において、図形要素Ｚ３が存在しない場合には、この処理フラグをオンにして次のステップに進む。
【００３１】
ステップＳ７では、中央処理装置１が、開図形の構成要素の全てに対し、図形演算が終了したかどうか判定する。これは、記憶装置４上の処理フラグを参照することで判定する。すべての処理フラグがオンになれば、図形演算処理を終了する。また、処理フラグにオフのものが残っていれば、図形演算処理が終了していないことを示し、ステップＳ８へ進む。ステップＳ８では、次の処理対象要素を取り出し、ステップＳ２からの処理に戻る。
【００３２】
以上説明したように、本実施例によれば、開図形と閉図形との関連において、閉図形の内部、外部及び境界上に存在する図形要素が抽出され、合成されるので、閉図形の内部、外部、内部と境界上、又は外部と境界上に存在する図形を容易に、かつ、確実に生成できる。
【００３３】
＜他の実施例＞
上記の実施例では、開図形の一つの図形要素毎に閉図形との関係を調べ、選択処理、連結処理を行っているがこれに限らない。例えば、開図形の全図形要素に対して閉図形との関係を調べた後、選択処理、連結処理を行うようにしても良い。この場合には、分割された図形要素が、元の開図形のどの要素に対応するかという情報を保持することにより、連結された図形要素が、同一図形要素から分解された図形要素か否かを判断できる。そして、同一図形要素から分解された図形である場合、これらをひとつの図形要素に合成することができる。
【００３４】
この図形処理方法について、得られる図８〜図１２を参照して説明する。図８は、閉図形と開図形の一例を表す図である。図９は、図８の開図形と閉図形から、閉図形の内部に存在する図形の生成例を示す図である。図１０は、図８の開図形と閉図形から、閉図形の内部および境界上に存在する図形の生成例を示す図である。図１１は、図８の開図形と、閉図形から、閉図形の外部に存在する図形の生成例を示す図である。図１２は、図８の開図形と閉図形から、閉図形の外部および境界上に存在する図形の生成例を示す図である。
【００３５】
図１３は、上述した図形演算処理の手順を表すフローチャートである。ステップＳ２１において、処理の対象とする開図形を取り出す。そして、ステップＳ２２において、取り出された開図形と閉図形との交点を計算する。以後、ステップＳ２３〜ステップＳ２６の各処理は、上述のステップＳ３〜ステップＳ６と同様であるので、ここでは説明を省略する。
【００３６】
なお、上記実施例において、開図形とは、閉図形の一部であってもよい。
【００３７】
尚、本発明は、複数の機器から構成されるシステムに適用しても１つの機器からなる装置に適用しても良い。また、本発明はシステム或いは装置に本発明により規定される処理を実行させるプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
【００３８】
【発明の効果】
以上説明したように本発明によれば、閉図形と開図形との図形演算において、閉図形の内部、外部或は境界線上に存在する開図形の部分図形を抽出する統一的な手法が提供されるので、図形演算の繁雑さが解消される。
【００３９】
【図面の簡単な説明】
【図１】本実施例による情報処理システムの構成を示すブロック図である。
【図２】本実施例における、開図形と閉図形との図形演算の処理手順を示すフローチャートである。
【図３】図形要素Ｚ１から図形要素Ｚ２を作成する手順を説明する図である。
【図４】本実施例において各図形要素が存在する位置を判定する手順を説明する図である。
【図５】本実施例における図形要素の選択手順を説明する図である。
【図６】閉図形の内部に存在する図形要素を連結し、図形を生成する例を示した図である。
【図７】閉図形の内部及び境界上に存在する図形要素の合成を表す図である。
【図８】閉図形と開図形の一例を表す図である。
【図９】図８の開図形と閉図形から、閉図形の内部に存在する図形の生成例を示す図である。
【図１０】図８の開図形と閉図形から、閉図形の内部および境界上に存在する図形の生成例を示す図である。
【図１１】図８の開図形と、閉図形から、閉図形の外部に存在する図形の生成例を示す図である。
【図１２】図８の開図形と閉図形から、閉図形の外部および境界上に存在する図形の生成例を示す図である。
【図１３】他の実施例における図形演算処理の手順を表すフローチャートである。
【符号の説明】
１  中央処理装置
２  表示装置
３  入力装置
４  記憶装置
５  情報読み込み装置
【図１】
0003696909.tif 000002
【図２】
0003696909.tif 000003
【図３】
0003696909.tif 000004
【図４】
0003696909.tif 000005
【図５】
0003696909.tif 000006
【図６】
0003696909.tif 000007
【図７】
0003696909.tif 000008
【図８】
0003696909.tif 000009
【図９】
0003696909.tif 000010
【図１０】
0003696909.tif 000011
【図１１】
0003696909.tif 000012
【図１２】
0003696909.tif 000013
【図１３】
0003696909.tif 000014