(57)【特許請求の範囲】
【請求項１】
複数の線分により囲まれる閉領域を形成するように、複数の図形どうしを重なり合わせた状態にて、互いに隣接する上記複数の閉領域からなる形状をひとつの図形として抽出する図形抽出方法において、
ユーザにより指示された上記互いに隣接する複数の閉領域を囲む線分を記憶する第１のステップと、
上記指示された線分を含む上記図形を折れ線化する第２のステップと、
上記折れ線化した図形どうしの交点の位置情報を算出する第３のステップと、
上記交点で挟まれる線分のうち前記第１のステップで指示した線分を選択する第４のステップと、
上記選択した線分の各端部を上記交点の位置情報に基づいて接続することにより上記互いに隣接する複数の閉領域からなる形状を抽出する第５のステップと、を備えることを特徴とする図形抽出方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、図形の閉領域を抽出する図形抽出方法に関するものである。
【０００２】
【従来の技術】
従来図形処理機能を備えたワードプロセッサやＤＴＰなどの図形処理装置において、円・矩形・多角形などの図形の描画が行えるようになっている。しかしながら、従来図１のように、複数の図形の構成要素が複雑に交差して形成される閉領域や、図２のように、単一の図形の構成要素により閉じられた閉領域を認識して描画する技術は、ほとんど開示されていない。この点、特開昭５９−６０５６０号公報、特開平２−２９４３２３号公報に関連する記述が認められるが、前者では矩形のような簡単な図形のみの処理に限られ、後者でも多角形や円などの基本的な図形の組み合わせのみが扱われているにすぎない。
【０００３】
【発明が解決しようとする課題】
このように従来技術では、円・矩形・多角形以外の楕円、円弧、ベジェ曲線、スプライン曲線などの図形の構成要素によって形成される閉領域を抽出することができない。また。単一の図形の構成要素の自己交差により形成される閉領域の抽出についても行うことができない。このように、従来技術では、閉領域の抽出の自由度が低いという問題点があった。
【０００４】
そこで本発明は、図形の構成要素の任意の組み合わせによる閉領域を抽出することができる図形抽出方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の図形抽出方法は、図形を表示して閉領域を形成する図形の構成要素の選択情報を取得するステップと、選択された各構成要素を折れ線化するステップと、折れ線化した各構成要素同士の交点を算出するステップと、算出した交点から区間を算出し、区間内の折れ線を用いて抽出された閉領域を構築するステップとを有する。
【０００６】
【作用】
上記構成において、図形の構成要素を折れ線近似して折れ線同士の交点を求めることにより、楕円・円弧などの２次曲線やベジェ曲線・スプライン曲線などの曲線、その他様々な曲線の構成要素により形成される閉領域を、統一的な手法により、抽出することができる。
【０００７】
【実施例】
次に図面を参照しながら、本発明の実施例を説明する。
【０００８】
まず本発明の実施例の図形抽出方法の概要を簡単に説明する。図１のように、表示画面において、３個の円、楕円が重なっている場合、図形の構成要素同士の重なり合いにより、７つの閉領域（Ａ，Ｂ，Ｃ，ＡＢ，ＢＣ，ＣＡ，ＡＢＣ）が形成される。たとえば、これらの閉領域のうち、閉領域ＡＢの部分のみを塗りつぶすために、この閉領域ＡＢを図形として認識することを考える。この閉領域ＡＢは、３個の図形の構成要素の交点である点Ｐ１、点Ｐ２、点Ｐ４を端点とする図形の境界部分Ｌ２（Ｐ１〜Ｐ４）、Ｌ８（Ｐ１〜Ｐ２）、Ｌ１１（Ｐ２〜Ｐ４）からなる。本実施例の図形抽出方法は、これら交点Ｐ１，Ｐ２，Ｐ４を端点とする境界部分（本明細書において区間という）を接続することにより、一つの図形を認識し、新たな図形を抽出するものである。
【０００９】
さて図３は、本発明の一実施例における図形抽出方法が適用される図形処理装置のブロック図である。図３中、１は全体を制御するＣＰＵ（中央処理装置）、２は対象となる図形や処理状況を表示するＣＲＴなどの表示装置、３は選択に必要な座標などをユーザが入力するためのマウスなどの入力装置、４は図１２のフローチャートに沿いＣＰＵ１により実行される制御プログラムなどを記憶しているＲＯＭ（リードオンリーメモリ）、５は後述する各リストなどのための記憶領域が設けられたＲＡＭ（ランダムアクセスメモリ）からなる主記憶部である。
【００１０】
図４は、本発明の一実施例における図形抽出方法が適用される図形処理装置の機能ブロック図である。図４中、主記憶部５は、図形データを記憶する図形リスト７、図形の選択情報を格納する選択リスト８、折れ線化されたデータを格納する折れ線データリスト９、交点座標を格納する交点リスト１０、算出された区間の情報を格納する区間リスト１１、抽出データリスト１２を含んでいる。
【００１１】
このうち、図形リスト７は、図５に示すように、図形番号、図形種別、図形座標情報および座標変換情報を含んでいる。選択リスト８は、図６に示すように、選択リスト番号、選択された図形番号、指示座標を含んでいる。折れ線データリスト９は、図７に示すように、図形番号、頂点個数、頂点座標を含んでいる。交点リスト１０は、図８に示すように、図形番号、交点個数、交点座標を含んでいる。区間リスト１１は、図９に示すように、選択リスト番号、区間端点座標１、区間端点座標２を含んでいる。抽出データリスト１２は、図１０に示すように、頂点個数、頂点座標を含んでいる。
【００１２】
図形選択手段１３は、表示装置２の画面上に表示される図形が入力装置３により指示されたかどうかを判定するもので、選択された図形番号及び指示座標を選択リスト８に格納する。折れ線化手段１４は、選択された図形を細分化すべく、選択リスト８に登録されている図形データを読み込んで、図形の各構成要素を折れ線近似し、その折れ線データの頂点数と頂点データを図形番号と共に、折れ線データリスト９に格納する。このとき、図形に回転などの座標変換などがあれば、折れ線データを座標変換してから格納しておく。
【００１３】
交点計算手段１５は、折れ線データリスト９に格納される図形を選びうる全ての組み合わせにおいて、２個取り出し、取り出した図形同士の交点を計算し、求めた交点座標と交点数を図形番号と共に、交点リスト１０に格納する。区間算出手段１６は、選択リスト８に格納される図形の指示座標を取り出し、その指示座標の図形番号と同じ図形番号を持つ交点リスト１０のどの交点とどの交点との間に、指示座標が挟まれるかを検索する。検索した交点座標が見つかったならば、片方の交点座標を区間端点座標１として、もう一方の交点座標を区間端点座標２として、選択リスト番号と共に区間リスト１１に格納する。
【００１４】
区間接続手段１７は、区間リスト１１に格納される区間データを取りだし、最初の区間データの区間端点座標を抽出する図形データの開始点とし、以降この開始点からもう一方の区間端点座標までを同じ図形番号を持つ折れ線データリスト９に登録される折れ線データを使って補間し、最後の点を区間端点座標とする。次に、最後の点である区間端点座標と同じ座標を持つ区間端点座標を区間リスト１１から取り出し、同じようにその区間端点座標からもう一方の区間端点座標までを折れ線データリスト９を使って補間する。これら区間を接続して得られた折れ線データは抽出データリスト１２に格納される。
【００１５】
また制御部６は、他の要素をコントロールするものであり、図形選択手段１３、折れ線化手段１４、交点計算手段１５、区間算出手段１６、区間接続手段１７及び制御部６は、ＣＰＵ１がＲＯＭ４内の制御プログラムを実行することにより実現される。
【００１６】
次に本実施例の図形抽出方法の、各プロセスを図１２のフローチャートに沿って説明する。まず、表示装置２には、図１のように図形Ｆ１，Ｆ２，Ｆ３が３個互いに重なって表示されているものとする。また図形Ｆ２は、回転した楕円である。そして、入力装置３により、点Ｑ１が指示されると、図形選択手段１３は、どの図形が選択されたのかを検索し、その結果検索された図形Ｆ２が選択リスト８に登録される。同じように点Ｑ２，Ｑ３が指示された場合も、それぞれ図形Ｆ１，Ｆ３が選択リスト８に登録される（ステップ１）。
【００１７】
この後図示していない閉領域抽出コマンドが入力されると、まず選択リスト８に登録された図形Ｆ１，Ｆ２，Ｆ３の各図形データの折れ線化処理が折れ線化手段１４により実施され、折れ線化データが折れ線データリスト９に格納される（ステップ２）。このとき、楕円の折れ線化データは図示しない座標変換装置により、回転の座標変換が行われる。次に、折れ線データリスト９に登録されたデータを使って交点計算手段１５が、登録された３個の図形データから２つの図形を選び出しうる組み合わせだけ交点計算を実施し、結果を図形毎に交点リスト１０に格納する（ステップ３）。たとえば図８のように、図形Ｆ１の交点は、Ｐ１，Ｐ４，Ｐ５，Ｐ３、図形Ｆ２の交点はＰ１，Ｐ２，Ｐ５，Ｐ６、図形Ｆ３の交点はＰ６，Ｐ４，Ｐ２，Ｐ３となる。次に、区間算出手段１６が、選択リスト８に格納される図形の選択座標Ｑ１，Ｑ２，Ｑ３を取りだし、これらの選択座標Ｑ１，Ｑ２，Ｑ３が同じ図形番号を持つ交点リスト１０のどの交点とどの交点の間にあるかを検索し、その結果を区間リスト１１に格納する（ステップ４）。最後に区間接続手段１７が、区間リスト１１に登録される３つの区間の接続を行い、新たな閉領域を抽出された閉領域として構築し、抽出データリスト１２に格納する（ステップ５）。ここでは、まず区間接続手段１７が区間リスト１１の先頭に格納される区間端点座標１（Ｐ１）を取り出し、この座標を抽出図形の開始点とし、この区間を折れ線補間する（区間Ｌ８の折れ線化）。このとき、折れ線補間するデータは、区間リスト１１の先頭の選択リスト番号１と選択リスト８から図形番号２を選び出し、図形番号２の折れ線データリスト９が使用される。次に、区間の終了座標である区間端点座標２（Ｐ２）と同じ座標を持つ区間端点座標を検索し、その結果３番目の区間の区間端点座標２（Ｐ２）が検索され、１番目の区間の区間端点座標２（Ｐ２）とこの区間の区間端点座標２（Ｐ２）とを接続する。同じようにこの区間を折れ線補間し（区間Ｌ１１の折れ線化）、この区間の終了座標である区間端点座標１（Ｐ４）と同じ座標を持つ区間端点座標を検索し、その結果２番目の区間の区間端点座標２（Ｐ４）が検索され、３番目の区間の区間端点座標１（Ｐ４）とこの区間の区間端点座標２（Ｐ４）とを接続する。同じようにこの区間を折れ線補間し（区間Ｌ２の折れ線化）、この区間の終了座標である区間端点座標１（Ｐ１）と同じ座標を持つ区間端点座標を検索し、その結果１番目の区間の区間端点座標１（Ｐ１）が検索され、２番目の区間の区間端点座標１（Ｐ１）と１番目の区間の区間端点座標１（Ｐ１）とを接続する。１番目の区間の区間端点座標１は抽出図形の開始点であるのでここで処理を中断する。折れ線化したデータは頂点数とともに抽出データリスト１２に格納される。
【００１８】
もちろん上記の方法によれば、図１における別の閉領域（たとえばＡ，ＡＢＣなど）も同様の処理により抽出することができる。また全ての図形を折れ線化して閉領域を抽出するため、例えば楕円、円弧などの２次曲線やベジェ曲線、スプライン曲線などの図形の組み合わせや回転などがかかった図形で形成される複雑な形状の閉領域も同様に簡単に抽出することができる。例えば図１１の着色した部分のようなものも抽出可能である。
【００１９】
さらに、図２のように単一の図形の自己交差による閉領域を抽出する場合には、折れ線化した図形自身での交点計算を行えば、同様に閉領域を抽出することができる。
【００２０】
【発明の効果】
本発明の図形抽出方法は、図形を表示して閉領域を形成する図形の構成要素の選択情報を取得するステップと、選択された各構成要素を折れ線化するステップと、折れ線化した各構成要素同士の交点を算出するステップと、算出した交点から区間を算出し、区間内の折れ線を用いて抽出された閉領域を構築するステップとを有するので、任意の形状の図形の構成要素から構成される閉領域を統一的な手法により柔軟かつ簡単に抽出することができる。
【図面の簡単な説明】
【図１】本発明の一実施例における閉領域の例示図
【図２】本発明の一実施例における自己交差による閉領域の例示図
【図３】本発明の一実施例における図形抽出方法が適用される図形処理装置のブロック図
【図４】本発明の一実施例における図形抽出方法が適用される図形処理装置の機能ブロック図
【図５】本発明の一実施例における図形リストの例示図
【図６】本発明の一実施例における選択リストの例示図
【図７】本発明の一実施例における折れ線データリストの例示図
【図８】本発明の一実施例における交点リストの例示図
【図９】本発明の一実施例における区間リストの例示図
【図１０】本発明の一実施例における抽出データリストの例示図
【図１１】本発明の一実施例における閉領域の例示図
【図１２】本発明の一実施例における図形抽出方法のフローチャート
【符号の説明】
２  表示装置
３  入力装置
５  主記憶部
６  制御部
７  図形リスト
８  選択リスト
９  折れ線データリスト
１０  交点リスト
１１  区間リスト
１２  抽出データリスト
１３  図形選択手段
１４  折れ線化手段
１５  交点計算手段
１６  区間算出手段
１７  区間接続手段
【図１】
0003633011.tif 000002
【図２】
0003633011.tif 000003
【図３】
0003633011.tif 000004
【図４】
0003633011.tif 000005
【図５】
0003633011.tif 000006
【図６】
0003633011.tif 000007
【図７】
0003633011.tif 000008
【図８】
0003633011.tif 000009
【図９】
0003633011.tif 000010
【図１０】
0003633011.tif 000011
【図１１】
0003633011.tif 000012
【図１２】
0003633011.tif 000013