(57)【特許請求の範囲】
【請求項１】
修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点である最近傍点を求める最近傍情報算出手段と、最近傍情報算出手段により求めた最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段とを備えたことを特徴とする図形編集装置。
【請求項２】
修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点である最近傍点を求める最近傍情報算出手段と、最近傍情報算出手段により求めた最近傍点によって分けられた修正対象の線図形上の区間の距離を算出する区間距離算出手段と、最近傍情報算出手段により求めた最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、区間距離算出手段により算出した区間の距離または交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段とを備えたことを特徴とする図形編集装置。
【請求項３】
前記修正区間判定手段は、区間距離算出手段の算出結果を用いて修正区間を判定する第１のモードと、交差情報算出手段の算出結果を用いて修正区間を判定する第２のモードとを有し、その第２のモードにおいては交差具合に関する情報からは修正すべき区間が決定できないときには、区間距離算出手段を用いて区間距離を算出し、その算出結果により修正区間を判定することを特徴とする請求項第２項に記載の図形編集装置。
【請求項４】
修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点である最近傍点を求める最近傍情報算出手段と、最近傍情報算出手段により求めた最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段を備えた図形編集装置による図形編集方法であって、
最近傍情報算出手段により、修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点を最近傍点として求めるステップと、
前記最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を交差情報算出手段により算出するステップと、
前記交差具合に関する情報から修正対象の線図形の修正すべき区間を修正区間判定手段により判定するステップと、
修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を図形修正手段により修正用の線図形で置き換えるステップと
を含むことを特徴とする図形編集方法。
【請求項５】
修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点である最近傍点を求める最近傍情報算出手段と、最近傍情報算出手段により求めた最近傍点によって分けられた修正対象の線図形上の区間の距離を算出する区間距離算出手段と、最近傍情報算出手段により求めた最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、区間距離算出手段により算出した区間の距離または交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段とを備えた図形編集装置による図形編集方法であって、
最近傍情報算出手段により、修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点を最近傍点として求めるステップと、
前記最近傍点によって分けられた修正対象の線図形上の区間の距離を区間距離算出手段により算出するステップと、
前記最近傍点を端点とする修正対象の線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を交差情報算出手段により算出するステップと、
区間距離算出手段により算出した区間の距離または交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を修正区間判定手段により判定するステップと、
修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を図形修正手段により修正用の線図形で置き換えるステップと
を含むことを特徴とする図形編集方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、２次元の閉領域の図形の形状を編集する図形編集装置および図形編集方法に関する。
【０００２】
【従来の技術】
コンピュータ利用による図形生成は大変魅力のある技術であり、様々な分野で利用されているが、形状を設定するモデリング作業は一般的に面倒でやっかいなものとされている。３次元グラフィックスに比べて操作が簡単な２次元グラフィックスでさえ、形状設定の操作はやはり面倒である。
例えば、２次元グラフィックスを用いて任意の形状の線図形などを作図する作業の場合、デザイナのように絵心のある人ならともかくとして、一般ユーザが思い通りに描くことは消して簡単ではない。そして、作図作業には必ずといっていいほど修正のための作業が必要になる。これは点列からなる２次元の線図形の形状を編集作業の場合にもあてはまる。
点列からなる２次元の線図形の形状を編集する一般的な方法として、線図形上の頂点を１つずつ選択して移動する方法がある。また、その他の方法として、点列の中の隣接した２点を指定し、その２点間に新たな点列を追加することで部分的に線図形を修正する方法（特開昭６１−２８６９７７号公報）がある。
これらの方法では、頂点の移動や追加部分の作図の前に、修正対象箇所を選択する操作が必要であるが、この操作は紙と鉛筆で作図を行う非電子的な作業感覚に比べると面倒である。そして、スムーズな作業ができないと思考の中断が発生するという問題を誘発しかねず、必ずしも良い方法とは言えない。
【０００３】
そこで本出願人は、点列からなる２次元の線図形に対して、選択する操作を行わずに、形状を修正したい部分に直接作図し直して形状を修正する図形編集装置を先に提案した（特開平６−１３１４３５号公報）。
【０００４】
【発明が解決しようとする課題】
その特開平６−１３１４３５号公報の図形編集装置は、修正対象の線図形の頂点の中で修正用の線図形の両端点に近い２カ所の頂点を求め、その２カ所の頂点の間の区間を修正対象区間として、修正用の線図形で置き換えている。これは、開いた線図形の途中の部分の形状を修正対象とするものであり、閉領域を形成する閉じた線図形については、修正対象としてとくに考慮はされていない。そのため、開いた線図形の場合修正すべき区間は１つに限定されるので問題はないが、閉領域の図形に対して適用するような場合は上記の２カ所の頂点に挟まれる区間は２つとなり、どちらの区間を修正対象としてよいかわからず問題である。コンピュータ側で自動的かつ機械的に処理してしまうと、操作者が修正しようと思わない部分が修正されてしまうことが生ずる。本発明は、２次元の閉領域を形成する線図形に対して、その図形の途中の部分の形状を修正する際に、操作者が修正しようとする区間をより確度よく自動的に決定できるようにし、それによって簡単な操作で図形を修正できる図形編集装置および図形編集方法を提供することを課題とする。
【０００６】
【課題を解決するための手段】
本発明（請求項１）の図形編集装置は、修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点（最近傍点）を求める最近傍情報算出手段と、最近傍情報算出手段により求めた修正対象の線図形上の最近傍点を端点とする線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段とを備えている。
【０００７】
本発明（請求項２）の図形編集装置は、修正用の線図形の両端点に最も近い修正対象の閉じた線図形上の点である最近傍点を求める最近傍情報算出手段と、最近傍情報算出手段により求めた最近傍点によって分けられた区間の距離を算出する区間距離算出手段と、最近傍情報算出手段により求めた最近傍点を端点とする修正対象線図形上の線分と修正用の線図形の端部の線分との間の交差具合に関する情報を算出する交差情報算出手段と、区間距離算出手段により算出した区間の距離または交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する修正区間判定手段と、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える図形修正手段とを備えている。
【０００８】
【作用】
最近傍情報算出手段は、修正用の線図形の両端点にそれぞれ最も近い修正対象の線図形上の点即ち最近傍点を求める。例えば、図９を参照すると、修正用の線図形Ｂの両端点Ｑ１，Ｑ２にそれぞれ最も近い修正対象の閉線図形Ａ上の点はＰ２とＰ７である。区間距離算出手段（２０２）は、最近傍情報算出手段により求めた最近傍点によって分けられる修正対象の線図形上の区間の距離を算出する。図９の例では、修正対象の線図形Ａは最近傍点Ｐ２，Ｐ７によって実線で示す区間ａ１と区間ａ２とに分けられ、それらの区間を構成する線分の長さが算出される。修正区間判定手段は、区間距離算出手段により算出した区間の距離から修正対象の線図形の修正すべき区間を判定する。図形修正手段は、修正区間判定手段により判定された修正対象の線図形上の修正すべき区間を修正用の線図形で置き換える。本発明によれば、最近傍点Ｐ２，Ｐ７によって分けられた修正対象の閉領域の線図形の区間の距離を基に修正すべき区間を自動的に決定することができる。なお、閉領域図形を修正する作業において、図形の大枠の形状が決まったあとの部分的な修正、例えば図形の細部における修正や閉領域図形の大きさに比べて小さな範囲の修正を行うような場合には、一般に修正の区間は短いので、区間の距離の情報を用いて修正区間を比較的高い確度で自動判定することが可能となるのである。
【０００９】
交差情報算出手段は、最近傍情報算出手段により求めた修正対象の線図形上の最近傍点を端点とする線図形と修正用の線図形との間の交差具合に関する情報を算出する。例えば、図１３に示すように、修正用の線図形の一方の端点の線分Ｖ１と修正対象の線図形上の最近傍点を端点とする区間の線分Ｖ２との間の交差角度θを交差具合に関する情報として算出する。修正区間判定手段は、交差情報算出手段により算出した交差具合に関する情報から修正対象の線図形の修正すべき区間を判定する。なお、図形を修正する作業において、一般には元の図形の形状を生かしながらその形状に沿うようにして修正することが多いので、交差具合に関する情報に基づいて修正区間を自動判定すること可能となるのである。
【００１０】
本発明は、区間距離と交差具合の両方の情報により修正すべき区間の判定を行うように構成することができる。これによれば、修正作業の各段階に応じて、適切な判定情報を用いることができるので、修正区間の判定を確度よく自動的に行うことができる。即ち、修正作業の状況を広く眺めてみると、図形の大枠の形状が決まったあとの部分的な修正を行う場合や、図形の大枠すら決まっていない状況で広い範囲に渡って修正を行う場合など、様々な異なった状況で作業が行われる。区間距離による判定は前者の場合に適しているが、後者の場合には適していない。交差具合による判定は、どちらの場合にも可能であるが、交差の仕方によっては判定が困難なこともある。区間距離と交差具合の両方の情報を用い得る構成であるので、状況に応じて適切な判定情報を選択すれば、より確度の高い修正すべき区間の自動判定を行うことができる。
【００１１】
【実施例】
本発明の一実施例の編集処理を行う処理部のブロック図を図１に示す。
複数個の頂点からなる２次元の領域図形の形状を修正する処理部は、図形の座標などの情報を入力する図形情報入力手段１０１と、図形の編集処理に関する情報を入力する編集情報入力手段１０２と、各入力手段から入力した情報や修正編集処理中の情報を記憶する図形情報記憶手段１０３と、図形間の近さに関する情報を算出する最近傍情報算出手段１０４と、図形の修正すべき区間を決定する修正区間決定手段１０５と、図形の形状の情報を修正する図形修正手段１０６とから構成される。
【００１２】
修正区間決定手段１０５の詳細のブロック図を図２に示す。この閉領域図形上の修正すべき区間を決定する処理修正区間決定手段１０５は、閉領域図形上の任意の区間の線図形の長さを算出する線分距離算出手段２０２と、線図形間の交差具合に関する情報を算出する交差情報算出手段２０３と、線図形の長さや線図形間の交差具合に関する情報から図形の修正すべき区間を判定する修正区間判定手段２０１とから構成される。
【００１３】
図１７は本発明を実施するためのハードウェア構成の一例を示したものである。同図において、３０１は計算機、３０２は中央演算処理装置、３０３は図形情報処理装置、３０４は情報記憶メモリ、３０５は画像メモリ、３０６は入力装置、３０７は表示メモリ、３０８はディスプレイ、３０９はスキャナ、３１０はプリンタ、３１１はバスである。中央演算処理装置２０２は処理装置全体の制御や一般的な演算を行うものである。図形情報処理装置３０３は図形の生成／修正／表示のための処理を行う。情報記憶メモリ３０４は図形座標情報や修正処理に必要な情報を記憶する。画像メモリ３０５は画像データを記憶するものである。入力装置３０６は図形情報を入力したり計算機に命令等を与えたりするものである。表示メモリ３０７は表示すべきデータを展開するものであり、ディスプレイ３０８は図形を含む画像を出力表示するものである。スキャナ３０９は画像を入力するもので、プリンタ３１０は画像を出力するものである。バス３１１は画像データや図形データや制御情報を受渡しする役割を果す。図１で示した図形の修正を行う処理部のブロック図の中の図形情報記憶手段１０３は情報記憶メモリ３０４に含まれ、修正編集処理を実行する１０４〜１０６の各手段は図形情報処理装置３０３に含まれる。
【００１４】
図３は既に入力してある複数個の頂点からなる２次元の閉領域の図形Ａの一例である。図３の中の丸印Ｐｉは頂点であり、添字ｉは頂点番号を表す。この閉領域図形の座標情報は図４に示すように頂点数ｎ個の頂点のｘ，ｙ座標で構成される。例えば、図３の閉領域図形の座標情報のデータは、頂点数ｎは８であり、頂点Ｐ１〜Ｐ８のそれぞれのｘ，ｙ座標が格納されていることとなる。図３の閉領域図形はこれから形状を修正しようとする対象図形とする。
【００１５】
図５は閉領域図形の形状を修正するための、修正作業の様子を示す一例である。この例では閉領域図形Ａの右側の部分について全体的に外側に膨らませるように修正することを目的にしている。図５の中の破線が修正のために入力した線図形Ｂであり、四角印Ｑ１〜Ｑ８はその線図形上の頂点である。修正用の線図形の座標情報も、閉領域図形と同様な座標情報で構成される。
【００１６】
次に、修正処理の内容について説明する。
閉領域図形の入力から、その図形に対して修正までを行う全体的な処理のフローチャートを図６に示す。
ステップＳ１０１では、閉領域図形を入力する。この、閉領域図形の座標情報の入力は、マウスやディジタイザなどの座標入力装置を移動させ、計算機側で移動途中の位置をサンプリング入力することで行う。多角形の入力作業のように、マウスをクリックさせて座標を連続的に入力する方法でも構わないが、本実施例ではサンプリング入力による方法を用いることにする。図３の閉領域図形は、この作業により入力される。
【００１７】
ステップＳ１０２では、修正作業を実施するかしないかを判定し、実施するならステップＳ１０３に進み、実施しないなら全ての処理を終了する。これは、本図形編集装置が操作者に対して問合せ、その問に操作者が答えることによって行われる。
【００１８】
ステップＳ１０３では、閉領域図形を修正するための線図形を入力する。この入力作業はステップＳ１０１で行う閉領域図形の入力のときと同様な操作で行う。図５の中の破線で示した修正用の線図形は、この作業により入力される。
【００１９】
ステップＳ１０４では、修正処理とそれに伴う再表示を行う。このステップＳ１０４の処理については後ほど図７を用いて説明する。
【００２０】
ステップＳ１０５では、修正作業を終了するかしないかを判定し、終了する場合には全ての処理を終了し、終了しない場合にはステップＳ１０３に戻る。この判定もステップＳ１０２と同様に本図形編集装置が操作者に対して問合せ、操作者がステップＳ１０４の再表示結果に確認して答えることになる。
【００２１】
図６のステップＳ１０４の修正処理と再表示を行う処理のフローチャートを図７に示す。
ステップＳ２０１では、閉領域図形と修正用の線図形の距離に関する近傍情報を算出する。ここで、説明の流れの都合上、このステップＳ２０１の処理の詳細について先に説明する。ステップＳ２０１の最近傍情報を算出する処理のフローチャートを図８に示す。
【００２２】
図９は最近傍点およびその点により分割された区間の様子を示した図である。
ステップＳ３０１では、修正用の線図形の始点側の座標情報を読み出す。ここでは始点や終点と表現するが、一端点とそれの反対側の一端点ということで構わない。本実施例においては、この始点は頂点Ｑ１である。
【００２３】
ステップＳ３０２では、閉領域図形上の頂点の中でステップＳ３０１で読み出した修正用の線図形の始点と一番近くにある頂点を求め、その頂点を始点側最近傍点とし、そのときの距離を始点側最近傍距離とする。ここで距離は、ユークリッド距離を用いている。図９において閉領域図形上の三角印の点が最近傍点であり、そのうちの１つの頂点Ｐ２が始点側最近傍点である。
【００２４】
ステップＳ３０３では、修正用の線図形の終点側の座標を読み出す。この例における終点は頂点Ｑ８である。
【００２５】
ステップＳ３０４では、閉領域図形上の頂点の中でステップＳ３０３で読み出した修正用の線図形の終点と一番近くにある頂点を求め、その頂点を終点最近傍点とし、そのときの距離を終点側最近傍距離とする。処理の内容としては、ステップＳ３０２で行う処理と同様である。この例においては頂点Ｐ７が終点側最近傍点である。
【００２６】
ステップＳ３０５では、求めた２つの最近傍点を境にして、閉領域図形を２つの区間に分割した形で区別できるようにしておく。図９の中の点線は、これらの２つの区間の線図形であり、頂点Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７からなる線図形と、頂点Ｐ７、Ｐ８、Ｐ１、Ｐ２からなる線図形とに区別される。そしてこれらの分割された２つの区間の中の１つが修正対象区間となる。
【００２７】
この処理の後、図７のステップＳ２０２へ戻る。
ステップＳ２０２では、ステップＳ２０１で求めた最近傍情報をもとにして修正のための編集処理を実行するかしないかを計算機側にて判定する。これは修正用の線図形が閉領域図形の近くに位置しているかにより編集処理されるかされないかが決まり、その判定処理は具体的には２つの最近傍距離を任意の閾値と比較し、両方とも閾値以下の場合に編集処理を実行するものとする。ここで用いる閾値は修正作業に入る前に予め設定しておく。この情報のことを編集許可距離情報と呼ぶことにする。
【００２８】
ステップＳ２０３では、ステップＳ２０２の判定処理により、修正を実行する場合にはステップＳ２０４に進み、実行しない場合にはステップＳ２０９に進む。
ステップＳ２０４では、閉領域図形上の修正すべき区間を決める。このステップＳ２０４の処理については後ほど図１０を用いて説明する。
【００２９】
ステップＳ２０５では、ステップＳ２０４で求めた修正対象区間に対して編集処理を行う。このステップＳ２０５の処理については後ほど図１１を用いて説明する。
ステップＳ２０６では、ステップＳ２０５で編集処理された結果に基づいて再表示の処理を行い、表示状態を更新する。
【００３０】
ステップＳ２０７では、再表示された結果、操作者が修正しようとした区間が修正されている場合には処理を終了し、そうでない場合にはステップＳ２０８に進み、再度処理を行わせる。操作者による操作は、再処理を行わせるときのみ指示すればよい。
【００３１】
ステップＳ２０８では、ステップＳ２０５で修正した区間ではないもう一方の区間を修正対象区間と見直して再度編集処理を行う。このステップＳ２０８の処理は修正対象区間がステップＳ２０５の処理のときと異なるだけで、処理内容自体はステップＳ２０５で行うものと変わらない。
【００３２】
ステップＳ２０９では、ステップＳ２０８で編集された結果または図７のステップＳ２０３での修正編集実行の取りやめに基づいて再表示の処理を行い、表示状態を更新する。
この処理の後、図６のステップＳ１０５へ戻る。
【００３３】
図７のステップＳ２０４の修正対象区間を決定する処理のフローチャートを図１０に示す。
ステップＳ４０１では、修正対象区間を決定する方式の判定を行う。本発明で行う修正対象区間の決定方法には、分割された２つの区間の長さを利用する方法と、閉領域図形を修正用の線図形との間の交差角度を利用する方法とがある。これらの方法のいづれを用いるかは、修正作業に入る前に予め設定しておくが、修正作業の内容に応じて、操作者が途中で設定し直しても構わない。
【００３４】
ステップＳ４０２では、ステップＳ４０１の判定処理により、２つの区間の長さを利用する場合である距離優先モードであるか否かを判定し、そうである場合にはステップＳ４０３に進み、そうでない場合には、ステップＳ４０４に進む。
ステップＳ４０３では、分割された２つの区間の長さを用いて修正対象区間を決定する。このステップＳ４０３の処理については後ほど図１１を用いて説明する。
【００３５】
ステップＳ４０４では、閉領域図形と修正用の線図形との間の交差する角度を用いて修正対象区間を決定する。このステップＳ４０４の処理については後ほど図１２を用いて説明する。
【００３６】
ステップＳ４０５では、ステップＳ４０４の処理により修正対象区間が決定されたか否かの判定を行う。ステップＳ４０４の処理において、交差角度の内容によっては、修正対象区間が決定されない場合があるため、この判定処理を設けている。
ステップＳ４０６では、ステップＳ４０５の判定処理により、修正対象区間が決定された場合には処理を終了し、決定されない場合にはステップＳ４０３に進み、区間の長さを利用する修正対象区間決定の処理を行う。
この処理の後、図７のステップＳ２０５へ戻る。
【００３７】
図１０のステップＳ４０３の分割された２つの区間の長さにより修正対象区間を決定する処理のフローチャートを図１１に示す。
ステップＳ５０１では閉領域図形上に分割された２つの区間のうちの一方の区間の長さを求める。この例では、この区間は図９（ａ）の点線で示した頂点Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７からなる区間の方とする。この長さとはこの区間の各頂点間のユークリッド距離の合計である。
【００３８】
ステップＳ５０２では閉領域図形上の２つの区間のうちの残りのもう一方の区間の長さを求める。この例では、このもう一方の区間は図９（ｂ）の点線で示した焦点Ｐ７、Ｐ８、Ｐ１、Ｐ２からなる区間の方とする。この長さの求め方は、ステップＳ５０１で行う処理と同様である。
【００３９】
ステップＳ５０３では、ステップＳ５０１とステップＳ５０２で求めたそれぞれの区間の長さを比較し、長い区間のものと、短い区間のものとを区別しておく。
ステップＳ５０４では、ステップＳ５０３の長さの比較により、長さの短い区間の方を修正対象区間としておく。この例では頂点Ｐ７、Ｐ８、Ｐ１、Ｐ２からなる区間の方が長さが短く、こちらを修正対象区間とする。
この処理の後、図１０の終了を経て図７のステップＳ２０５へ戻る。
【００４０】
図１０のステップＳ４０４の交差角度により修正対象区間を決定する処理のフローチャートを図１２に示す。この処理の内容を説明する図を図１３に示す。
ステップＳ６０１では、閉領域図形上の分割された２つの区間のうちの一方の区間の情報を取り出す。この例においてここで取り出した区間の情報は、図９（ａ）の点線で示した頂点Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７からなる区間の情報であり、図１３のなかでも点線で示している。
【００４１】
ステップＳ６０２では修正用の線図形の始点側の線分と、ステップＳ６０１により取り出した区間上における修正用の線図形の始点側に近い側の線分との間の交差角度を算出する。ここで説明の流れの都合上、このステップＳ６０２の処理の詳細について先に説明する。ステップＳ６０２の交差角度を算出する処理のフローチャートを図１４に示す。
【００４２】
ステップＳ７０１では、修正用の線図形のステップＳ６０２で対象とした一端点から次の隣の頂点までのベクトルを算出する。例えば、この一端点が修正用の線図形の始点である場合には、図１３において、頂点Ｑ１から頂点Ｑ２へのＶ１として矢印で示したものが、このベクトルとなる。
ステップＳ７０２では、ステップＳ６０１により取り出した区間上において、修正用の線図形のステップＳ６０２で対象とした一端点側に近い側の隣の頂点までのベクトルを算出する。例えば、ステップＳ６０２において修正用の線図形の一端点をこの線図形の始点としている場合には、図１３において、頂点Ｐ２から頂点Ｐ３へのＶ２として矢印で示したものが、このベクトルである。
【００４３】
ステップＳ７０３では、ステップＳ７０２にて求めたベクトルＶ２に対する、ステップＳ７０１にて求めたベクトルＶ１の変化する角度を算出する。
この処理の後、図１２のステップＳ６０３へ戻る。
【００４４】
ステップＳ６０３では、修正用の線図形の終点側の線分とステップＳ６０１により取り出した区間上における修正用の線図形の終点側に近い側の線分との間の交差角度を算出する。この処理はステップＳ６０２で行った処理と同様に行う。
ステップＳ６０４では、ステップＳ６０２とステップＳ６０３にて算出した２つの変化角度を閾値９０度と比較する。
【００４５】
ステップＳ６０５では、ステップＳ６０４の比較により、２つとも９０度以下であるか否かを判定し、ＹＥＳの場合にはステップＳ６０６へ進み、ＮＯの場合にはステップＳ６０７へ進む。
ステップＳ６０６では、ステップＳ６０１により取り出した区間の方を修正対象区間と設定する。このように２つの交差する変化角度が９０度より小さくなる側の区間を修正対象区間と決定するのは、図形を修正する作業において、一般的には元の図形の形状を生かしながらその形状の沿うようにして修正することが多いと考えたためである。
【００４６】
ステップＳ６０７ではステップＳ６０４の比較により、２つとも９０度以上であるか否かを判定し、ＹＥＳの場合にはステップＳ６０８へ進み、ＮＯの場合にはステップＳ６０９へ進む。
ステップＳ６０８では、ステップＳ６０１により取り出した区間ではない方の区間を修正対象区間と設定する。
ステップＳ６０９では修正対象区間が決定されないという情報を設定する。この場合には、閉領域図形上の分割された２つの区間の長さを利用する決定方法を用いて、改めて修正対象区間の決定を行う。
【００４７】
本説明の例のように、ステップＳ６０１において頂点Ｐ２、Ｐ３、Ｐ５、Ｐ６、Ｐ７からなる区間を初めに取り出した場合には、２つの交差角度が両方とも９０度以下となり、この区間が修正対象区間となる。
この処理の後、図１０のステップＳ４０５へ戻る。
【００４８】
図７のステップＳ２０５の修正編集を行う処理のフローチャートを図１５に示す。
ステップＳ８０１では、閉領域図形の修正対象区間ではない方の区間の頂点数と、修正用の線図形の両端点を除いたときの頂点数とを加算する。例として、頂点Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７からなる区間が修正対象区間である場合には、頂点Ｐ７、Ｐ８、Ｐ１、Ｐ２からなる区間の頂点数４と、修正用の線図形の両端点を除いたときの頂点数６とを合計し、１０となる。
【００４９】
ステップＳ８０２では、閉領域図形上の修正対象区間の両端点を除く点座標情報のところに、両端点を除いた修正用の線図形の座標情報を挿入することにより、新たな閉領域図形の頂点座標情報を生成する。上記の例を用いると、閉領域図形の頂点Ｐ１〜Ｐ８の中の頂点Ｐ３〜Ｐ６の頂点座標情報のところに頂点Ｑ２〜Ｑ７の頂点座標情報を挿入する。
【００５０】
修正編集処理後の閉領域図形の一例を図１６（ａ）（ｂ）に示す。図１６の中の実線で示したところが編集処理後の閉領域図形である。例えば、閉領域図形上の分割された２つの区間の線図形の長さを利用して編集処理を行った場合には、編集処理後の閉領域図形は図１６（ｂ）の実線で示された図形となる。一方、閉領域図形と修正用の線図形との間の交差角度を利用して編集処理を行った場合に、編集処理後の閉領域図形は図１６（ａ）の実線で示された図形となる。
【００５１】
【発明の効果】
本発明は複数個の頂点からなる２次元の閉領域図形の途中の部分の形状を修正するのに、修正用の線図形を入力し、閉領域図形と修正用の線図形から図形の長さや交差具合に関する情報を求め、この情報をもとに閉領域図形上の修正対象区間を自動的に抽出して修正できる。これにより本発明は、閉領域の図形の形状の編集を簡単に行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】閉領域図形の形状を修正する処理部のブロック図である。
【図２】修正区間を決定する処理部のブロック図である。
【図３】閉領域図形の一例を示す図である。
【図４】閉領域図形の座標情報を説明する図である。
【図５】修正作業の様子を示す一例である。
【図６】閉領域図形の入力から修正までを行う全体的な処理のフローチャートである。
【図７】修正処理と再表示を行うフローチャートである。
【図８】最近傍情報を算出する処理のフローチャートである。
【図９】最近傍点および区間の様子を示した図である。
【図１０】修正対象区間を決定する処理のフローチャートである。
【図１１】距離により修正対象区間を決定する処理のフローチャートである。
【図１２】交差角度により修正対象区間を決定する処理のフローチャートである。
【図１３】交差角度を求める様子を示した図である。
【図１４】交差角度情報を算出する処理のフローチャートである。
【図１５】修正編集処理と行うフローチャートである。
【図１６】修正編集処理後の閉領域図形の一例を示す図である。
【図１７】本発明を実施するためのハードウェア構成の一例を示したものである。
【符号の説明】
１０１…図形情報入力手段、１０２…編集情報入力手段、１０３…図形情報記憶手段、１０４…最近傍情報算出手段、１０５…修正区間決定手段、１０６…図形修正手段、２０１…修正区間判定手段、２０２…線分距離算出手段、２０３…交差情報算出手段、３０１…計算機、３０２…中央演算処理装置、３０３…図形情報処理装置、３０４…情報記憶メモリ、３０５…画像メモリ、３０６入力装置、３０７…表示メモリ、３０８…ディスプレイ、３０９…スキャナ、３１０…プリンタ、３１１…バス。
【図１】
0003697753.tif 000002
【図２】
0003697753.tif 000003
【図３】
0003697753.tif 000004
【図４】
0003697753.tif 000005
【図５】
0003697753.tif 000006
【図６】
0003697753.tif 000007
【図７】
0003697753.tif 000008
【図８】
0003697753.tif 000009
【図９】
0003697753.tif 000010
【図１０】
0003697753.tif 000011
【図１１】
0003697753.tif 000012
【図１２】
0003697753.tif 000013
【図１３】
0003697753.tif 000014
【図１４】
0003697753.tif 000015
【図１５】
0003697753.tif 000016
【図１６】
0003697753.tif 000017
【図１７】
0003697753.tif 000018