JPH028960A - 2多角形の共通部分抽出処理方法 - Google Patents

2多角形の共通部分抽出処理方法

Info

Publication number
JPH028960A
JPH028960A JP63158905A JP15890588A JPH028960A JP H028960 A JPH028960 A JP H028960A JP 63158905 A JP63158905 A JP 63158905A JP 15890588 A JP15890588 A JP 15890588A JP H028960 A JPH028960 A JP H028960A
Authority
JP
Japan
Prior art keywords
polygon
intersection
group
processing
polygons
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63158905A
Other languages
English (en)
Inventor
Noriko Asada
浅田 典子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63158905A priority Critical patent/JPH028960A/ja
Publication of JPH028960A publication Critical patent/JPH028960A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 図面に含まれる領域から、デイスプレィに表示する部分
を切り出すような処理を行う計算機システム等において
用いられる2多角形の共通部分抽出処理方法に関し 2つの多角形の共通部分を求めるにあたって。
処理の高速化および必要とするデータ量の削減を可能と
する手段を提供することを目的とし多角形の交点、頂点
、方向情報、交点が第2多角形のどの境界線上にあるか
を識別する情報を求める第1の処理過程と、交点および
頂点のうち。
内向交点から第1多角形の境界線をたどって得られる外
向交点までを、1つのかたまりとして、グループ化する
第2の処理過程と、1つのグループの始点または終点と
、第2多角形の境界線における他の内向交点または外向
交点との位置関係により、グループの併合を行う処理を
操り返す第3の処理過程とを備え、最終的に得られた各
グループの情報を、第1多角形および第2多角形の共通
部分を構成する多角形の情報とするように構成する。
〔産業上の利用分野〕
本発明は1図面に含まれる領域から、デイスプレィに表
示する部分を切り出すような処理を行う計算殿ソステム
等において用いられる2多角形の共通部分抽出処理方法
に関する。
CADシステム等においては2図面の一部分をデイスプ
レィ画面に表示する場合に1表示する部分の図形を切り
出す必要がある。本発明は、切り出す部分の図形が多角
形である場合に、その処理を高速化するために用いるこ
とができる。また他の図形処理においても、2つの多角
形の共通部分を高速に求める必要がある場合に使用する
ことができる。
〔従来の技術〕
第8図は本発明の詳細な説明するための図である。
例えばCADシステムにおいて9図面をデイスプレィ画
面に表示しようとするとき、常に図面全体を表示するわ
けではなく、多くの場合、第8図に示すように、その一
部分だけを切り出して表示する。第8図に示すAの領域
が画面上に表示される部分である。ここで1例えば多角
形Bの一部が領域Aと重なるとすると1 その重なる部
分だけを多角形Bの表示対象として抽出する必要がある
また、−船釣な図形処理等においても、2つの多角形の
共通部分を求めることが必要となる場合がよくある。
2つの多角形が、共に凸多角形(内角がすべて180度
より小さい多角形)である場合には、その共通部分は、
全く存在しないか、または必ず1つの多角形となる。し
かしながら、少なくとも一方の多角形が凸多角形ではな
い場合には、共通部分となる多角形が複数個になること
もあり、それを求める処理は非常に複雑になる。
そのため、従来、2つの多角形の共通部分を求める処理
を行う場合に、対象となる多角形を、:角形等の多数の
凸多角形に分?IL、1つ1つの凸多角形について共通
部分を求め、必要に応じて求めた共通部分の合成を行う
というような処理方法が用いられていた。
〔発明が解決しようとする課題〕
上記従来の方法によれば、凸多角形に分割する分v1の
し方が1通りではなく7その処理がやはり複雑になって
、処理時間が長くなるという問題があり、また1分割の
ため、必要とするデータ量も多くなるという問題があっ
た。
本発明は上記問題点の解決を図り、2つの多角形の共通
部分を求めるにあたって、処理の高速化および必要とす
るデータ量の削減を可能とする手段を提供することを目
的としている。
C1題を解決するための手段〕 第1図は本発明の原理説明図である。
共通部分を求める2つの多角形の一方を第1多角形Δl
、他方を第2多角形A2とする。
第1の処理過程P1では、第1多角形AIと第2多角形
A2との交点および第2多角形A2内に含まれる第1多
角形AIの頂点を求めるとともに、求めた交点に対し、
第1多角形A1の境界線が交点から向かう方向情報と、
その交点が第2多角形A2のどの境界線上にあるかを識
別する情報とを設定する処理を行う。
第2の処理過程P2では、第1の処理過程P1で求めた
交点および頂点のうち、内向交点から第l多角形AIの
境界線をたどって得られる外向交点までを、1つのかた
まりとして、グループ化する初期グループ化処理を行う
。なお、第1の処理過程P1と第2の処理過程P2とを
、同時に実行してもよい。
第3の処理過程P3では、1つのグループの始点または
終点と5その始点または終点が存在する第2多角形A2
の境界線における他の内向交点または外向交点との位置
関係により、グループの併合を行い、始点または終点を
更新する処理を繰り返すグループ併合処理を行う。
第3の処理過程P3を操り返すことにより、最終的に得
られた各グループの情報を、第1多角形AIおよび第2
多角形A2の共通部分を構成する多角形の情報とする。
グループが複数個ある場合には、共通部分となる多角形
が複数個存在することになる。
〔作用〕
例えば、第1図(イ)に示すような第1多角形Alと第
2多角形A2の共通部分を求める場合第1の処理過程P
iでは、まず、第1多角形AIの各辺を1反時計回り(
または時計回り)の1方向にたどることにより、第1多
角形AIと第2多角形A2との交点b −iと、第2多
角形A2に含まれる第1多角形A1の頂点aとを、計算
によって求める。なお8人力情報としては5第1多角形
A1および第2多角形A2の各頂点の座標情報または各
辺の線分情報が与えられる。
各交点については、その交点に続く第1多角形Atの辺
の方向が、第2多角形A2の外側に向かっているか、内
側に向かっているかによって、外向または内向の方向情
報を付与する。また、その交点が、第2多角形A2のど
の境界線上にあるかの線種別情報を5交点の属性情報と
して設定する。
第2の処理過程P2では、第1の処理過程P1で求めた
内向交点から外向交点までを、1つのかたまりとして、
各交点および頂点のグループ化を行う。第1図(ロ)に
示すように、交点c、dが■のグループ、交点e、rが
■のグループ、交点g、hが■のグループ、交点i、頂
点a、交点すが■のグループに分類される。
第3の処理過程P3では、第1図(ハ)に示すように、
1つのグループの内向交点Cを始点とし外向交点dを終
点として、その終点が存在する第2多角形A2の境界線
において、交点の方向情報に応じて定めた反時計回りの
方向に、他の内向交点があるかどうかを調べ、内向交点
eが見つかったならば、内向交点Cがあるグループ■と
、内向交点eがあるグループ■とを併合し2新しいグル
ープ■′ とする処理を行う。そして、終点を外向交点
dから外向交点fに移し、同様に、グループを併合する
処理を繰り返す。なお、終点側ではなく、始点側の境界
線を探索し5始点を更新するようにしてもよい。
こうして、第3の処理過程P3を繰り返し、グループの
併合ができなくなったときの各グループに属する交点お
よび頂点の情報を、共通部分を構成する多角形の情報と
する。
このように、2つの多角形の共通部分を求めるにあたっ
て、多角形と多角形の交点に、方向と位置等の情報を持
たせ、それらの情報を使って多角形の切り分けを行うの
で、データの一括取り扱いが可能となり、データ量の削
減および処理の高速化が可能となる。
〔実施例〕
第2図は本発明の適用システム例、第3図は処理対象の
多角形の例、第4図は本発明の一実施例に係る初期グル
ープ化の例5第5図は本発明の一実施例に用いる多角形
解析テーブルの例、第6図は本発明の一実施例に係るグ
ループ併合処理の例第7図は本発明の一実施例によるグ
ループ併合処理説明図を示す。
本発明は1例えば第2図に示すようなCADシステム等
において5図形の操作対象となる空間から2画面に表示
する部分を切り出す場合に用いられる。
第2図において、IOはCPUおよびメモリ等からなる
処理gW、  11はアプリケーション・ブログラム等
からなる応用処理部、12は応用処理部11によって呼
び出されて、直線の描画や多角形の描画などの各種の図
形編集機能を提供する図形処理部、13は図形処理部1
2の要求により表示制御を行う表示制御部、14は直線
の処理を行う直線処理部、15は多角形の処理を行う多
角形処理部、16はデイスプレィ装置に対して表示する
ためのオーダを発行するオーダ発行部、17はデイスプ
レィ装置を表す。
表示制御部13は、直線処理部14.多角形処理部15
の他に9円・円弧処理部などの各種の図形要素に応した
表示制御を行う処理部を有しており1図形処理部12か
らの依願に応して、各種の処理部を呼び出し、オーダを
作成し2次にオーダ発行部16によって、オーダを発行
する制御を行う。本発明は1表示制御部13における多
角形処理部15が行う処理などに用いられる。
以下、第3図に示す2つの多角形の共通部分を求める例
に従って1本発明の詳細な説明する。
第1多角形Atが2図面中に表された図形、第2多角形
A2が5デイスプレィ画面に表示される領域に相当する
デイスプレィ画面には、実際には、第1多角形Atにつ
いて、第3図に示す斜線部分が表示されることになるた
め、その斜線部分の多角形を求めることが必要となる。
第1図に示す第1の処理過程P1により、交点および頂
点を求め、第2の処理過程P2により初illグループ
化を行った例が、第4図に示す例である。この情報は、
第5図に示す多角形解析テーブルによって管理される。
第5図に示す多角形解析テーブルは、メモリまたは外部
記憶装置の作業領域に設けられ、各交点および頂点対応
に、X座標およびX座標の座標情報、内向または外向の
方向情報を含む種類情報および各交点が第2多角形A2
のどの境界線上にあるかを示す1ine情叩を持つ。l
 ine情報は、フラグまたは数値でよいが、ここでは
、第2多角形A2の上辺をupper + 下辺をbo
ttom、左辺を1eft。
右辺をrightと表すことにする。また、多角形解析
テーブルには、ポインタや数値によるグループ化情報を
管理するための領域等が用意される。
第1の処理過程P1によって5多角形解析テーブルを作
成する場合、第4図に示す頂点aから処理を開始したと
すると、頂点aは第2多角形A2内に含まれるため、多
角形解析テーブルへの登録対象となるので、その座標情
報と1種類(頂点)を、多角形解析テーブルのエントリ
に記入する。
次の頂点すも同様である。頂点すの次の頂点は第2多角
形A2の外部にあるため、交点が存在することになる。
そこで、頂点すから始まる第1多角形Atの境界線と、
第2多角形A2の境界線との交点を1周知のアルゴリズ
ムで計算し、交点Cの座標を求める。これを多角形解析
テーブルに登録し2あわせて外向交点の種類と、その交
点が第2多角形A2のupperにあるこノ呆す1in
e情報とlを設定する。
他の点についても同様に処理を進め、処理を開始した頂
点aに戻ったならば、第1の処理過程P1を終了する。
第2の処理過程P2では、多角形解析テーブルの種類情
報を参照し、内向交点から外向交点までを1つのかたま
りとするグループ化を行う。これにより、交点等は、第
4図および第5図に示すように、■〜■の4つのグルー
プに分類されることになる。
第3の処理過程P3では、第6図に示す処理を実行する
。なお、処理の説明に用いている1ineおよび有効範
囲は1次のぎ味を持つ。
“1ine    :第2多角形の境界線分“有効範囲
“:終点から、v!点が存在する1ineの反時計回り
側の頂点までの範囲。
(ただし、この間に始点が存在す る場合には、終点から始点の間)。
以下、第6図に示す処理(1)〜(8)に従って説明す
る。
(1)  まず、1つのグループに着目し、そのグル−
プの始点となる内向交点を、多角形解析テーブルから求
める。
(2)  その内向交点があるグループの外向交点を。
グループの終点に定める。
(3)  座標情報2種類情報、 1ine情報を参照
し、始点と終点が同一1ine上にあり、かつ始点が終
点より反時計回り側にあるかどうかを判定する。
“No″の場合、処理(4)へ移り、”Yes”の場合
処理(5)へ移る。
(4)終点が存在する1ine上の有効範囲内に、内向
交点が存在するかどうかを調べる。存在しない場合、処
理(6)へ、存在する場合、処理(7)へ移る。
(5)終点が存在する1ine上の有効範囲内に、内向
交点が存在するかどうかを調べる。存在する場合。
処理(7)へ、存在しない場合、処理(8)へ移る。
(6)  このl ineの反時計回り側にある第2多
角形A2の頂点を、多角形解析テーブルに追加登録し。
グループに入れる。そして、この頂点を、新たにグルー
プの終点としてセットする。このとき、終点が存在する
1ineは、前終点が存在するl ineの反時計回り
側の隣1ineとする。処理(3)へ戻り、同様に処理
を操り返す。
(7)P−点に最も近い内向交点を持つかたまりをグル
ープに入れ、このかたまりの外向交点を、新たにグルー
プの終点としてセットする。処理(3)へ戻り2同様に
処理を繰り返す。
(8)始点と終点が同一1ine上にあり、始点が終点
より反時計回り側にあって、その1ine上の有効範囲
内に内向交点が存在しない場合、そのグループの交点お
よび頂点は、共通部分を構成する1つの多角形を形成す
る。そのデータを結果格納領域に格納し、多角形解析テ
ーブルから削除する。または多角形解析テーブルにおい
て、処理済みのフラグを設定する。その後、処理+11
へ戻り5次のグループについて同様に処理を繰り返す。
多角形解析テーブル内に有効データがなくなった場合、
処理を年冬了する。
第4図に示す例で、第6図に示す処理を実行すると5次
のような流れになる。以下の処理番号は第6図に示す処
理番号を表している。
処理(1)・・・内向交点dが始点として選ばれる。
処理(2)・・・次に、第7図(イ)に示すように、d
を持つかたまりの外向交点Cがグループの終点として選
ばれる。
処理(3)・・・始点dと終点eとは同一1ine上に
ないので、“No”と判定される。
処理+4+ ・・・終点eが存在する1ine (bo
ttom 1ine)上の有効範囲内に他のかたまりの
内向交点がないので、“No“と判定される。有効範囲
は、第7図(ロ)に示すeからpまでの範囲である。
処理(6)・・・1ineの反時計回り側の頂点pを、
グループのデータに加える。これをグループの終点とし
て再設定し、この終点が存在する1ineを、隣のri
ght 1ineとする。
処理(3)・・始点dと終点pが同一1ine上にある
かを3周べる。“No”である。
処理(4)・・・終点pが存在するright 1in
e上の有効範囲内に、他のかたまりの内向交点があるか
を調べる。”Yes”である。
処理(7)・・・終点pに最も近い内向交点を求める。
第7図(ハ)に示すように、内向交点kが求まる。kが
属するグループと、現在のグループを併合する。kが属
していた元のグループの外向交点Cを、新グループの終
点とする。
処理(3)・・始点dと終点Cは同一1ine上にあり
、かつ始点dは終点Cの反時計回り側にあるかを調べる
。“Yes”である。
処理(5)・・・この1ine (upper 1in
e)上の有効範囲内に、他のかたまりの内向交点がある
かを3周べる。“No″である。
処理(8)・・・グループは、ここまでで1つの多角形
を形成する。すなわら、第7図(ニ)に示す(d、e、
p、に、a、b、c)を頂点とする多角形が、共通部分
の1つの多角形として求まることになる。
同様に2内向交点fを始点として、処理fil〜(8)
を実行することにより、  (f、g、h、i、j)を
頂点とする共通部分の多角形が求められる。
実施例として1第2多角形A2が矩形であるCADンス
テムにおける適用例を説明したが、これに限らず、任意
の多角形の共通部分を求める処理が必要となる計算機ノ
ステムや画像処理装置に対して、本発明を同様に適用す
ることができる。
〔発明の効果〕
以上説明したように2本発明によれば5データの一括取
り扱いが可能となるため、2つの多角形の共通部分を求
めるために必要となるデータ量が減少し、また処理の高
速化が可能となる。
処理説明図 第8図は本発明の課題説明図を示す。
図中、PI〜P3・・・本発明による処理過程At・・
・第1多角形 A2・・・第2多角形を表す。

Claims (1)

  1. 【特許請求の範囲】 座標情報によって定義された多角形に関する処理を計算
    機によって行う処理システムにおいて、第1多角形の情
    報と第2多角形の情報とから、その共通部分となる1ま
    たは複数の多角形を求める2多角形の共通部分抽出処理
    方法であって、第1多角形と第2多角形との交点および
    第2多角形内に含まれる第1多角形の頂点を求めるとと
    もに、求めた交点に対し、第1多角形の境界線が向かう
    方向情報と、その交点が第2多角形のどの境界線上にあ
    るかを識別する情報とを設定する第1の処理過程(P1
    )と、 第1の処理過程で求めた交点および頂点のうち、内向交
    点から第1多角形の境界線をたどって得られる外向交点
    までを、1つのかたまりとして、グループ化する第2の
    処理過程(P2)と、 1つのグループの始点または終点と、その始点または終
    点が存在する第2多角形の境界線における他の内向交点
    または外向交点との位置関係により、グループの併合を
    行い、始点または終点を更新する処理を繰り返す第3の
    処理過程(P3)とを備え、 最終的に得られた各グループの情報を、第1多角形およ
    び第2多角形の共通部分を構成する多角形の情報とする
    ようにしたことを特徴とする2多角形の共通部分抽出処
    理方法。
JP63158905A 1988-06-27 1988-06-27 2多角形の共通部分抽出処理方法 Pending JPH028960A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63158905A JPH028960A (ja) 1988-06-27 1988-06-27 2多角形の共通部分抽出処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63158905A JPH028960A (ja) 1988-06-27 1988-06-27 2多角形の共通部分抽出処理方法

Publications (1)

Publication Number Publication Date
JPH028960A true JPH028960A (ja) 1990-01-12

Family

ID=15681920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63158905A Pending JPH028960A (ja) 1988-06-27 1988-06-27 2多角形の共通部分抽出処理方法

Country Status (1)

Country Link
JP (1) JPH028960A (ja)

Similar Documents

Publication Publication Date Title
JPH077456B2 (ja) 重合度による図形の認識装置
JP3599198B2 (ja) 図形編集装置
JPH0336668A (ja) Cadシステムにおける形状生成方式
JPH028960A (ja) 2多角形の共通部分抽出処理方法
JPS60163162A (ja) 3次元連接体の形状定義方法
JP4236759B2 (ja) 図形オブジェクトの割付装置
JP3305395B2 (ja) 図形分割装置
JPH11338456A (ja) 地図表示システム及びそれにおける画像スクロール処理方法
JP3490169B2 (ja) 三次元アニメーション処理システム及び処理方法
JPS61131171A (ja) 図形エレメント選択装置
JPH0423080A (ja) 文字列挿入方式
JP3481294B2 (ja) 寸法線自動引出しシステム
JPH039482A (ja) パラメトリック図形処理装置とそのデータ入力方法及びデータ管理方法
JP2919194B2 (ja) Cadシステム
JP2827670B2 (ja) 2次元多角形閉領域図形合成方式
JPH04288593A (ja) 画像表示装置
JPH07104876B2 (ja) 設計支援方法及び設計支援装置
JP2667187B2 (ja) マルチウインドウにおける線分クリップ方法
JP3127551B2 (ja) レイアウト装置
JP3006988B2 (ja) 表計算装置および表計算装置のデータ管理方法
JPS6128152B2 (ja)
JPH01134673A (ja) ブロック図のデータ表示処理装置
JPH0248942B2 (ja)
JPH05233769A (ja) 図形データ管理方式
JPH0235573A (ja) 表示図形情報検索方式