JPS63249269A - 図形処理に於ける多角形領域のピツク方法 - Google Patents

図形処理に於ける多角形領域のピツク方法

Info

Publication number
JPS63249269A
JPS63249269A JP62083302A JP8330287A JPS63249269A JP S63249269 A JPS63249269 A JP S63249269A JP 62083302 A JP62083302 A JP 62083302A JP 8330287 A JP8330287 A JP 8330287A JP S63249269 A JPS63249269 A JP S63249269A
Authority
JP
Japan
Prior art keywords
area
polygonal
polygon
pick
coordinates
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
JP62083302A
Other languages
English (en)
Inventor
Katsuhide Kurihara
勝秀 栗原
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 JP62083302A priority Critical patent/JPS63249269A/ja
Publication of JPS63249269A publication Critical patent/JPS63249269A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

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

Description

【発明の詳細な説明】 (概 要) 図形処理に於ける多角形領域のピック方法であって、多
角形の頂点座標列のX座標、Y座標の最小値、最大値を
求め、多角形領域を包含する矩形の領域と、指定された
ピック領域との座標を比較することによって、明らかに
ピック領域と交わらない多角形領域をピック対象から除
外することにより、高速に多角形領域をピックするもの
である。
〔産業上の利用分野〕
この発明は、図形処理システム例えばCADなどで図面
を作成する操作過程において、対話的に画面上の図形を
選択し、移動・拡大・縮小など図形編集をする場合の図
形選択(ピック)方法に関するもので、とくに線分、円
、多角形などの図形の中の多角形領域が選択されるかど
うかを判定する方法に関する。
〔従来の技術〕
CADなどに用いられる装置としては、第4図に示すよ
うに、コンピュータのCPU1.は図形データの記憶装
置2と接続し、またCBr4゜キーボード4、データ・
タブレット5などと接続されている。従来このようなコ
ンピュータに記憶された図形の多角形領域をピックする
方法は、第5図に示すように多角形10を定義している
座標形の1単位毎に水平線分10a、10b、・・・・
・・・・・に分解し、その分解した水平線分毎に、ピッ
ク領域と交わるかどうかを判定し、−木でもピック領域
と交わる線分がある場合は多角形領域はピックされ、一
本も交わらない場合はピックされないという方法によっ
て多角形領域のピックを行っていた。
すなわち第5図において多角形10のY座標の最大値、
最小値の範囲でYの最大値から開始してYが減少する方
向へ、かつ画面の左から右へスキャンするスキャン・ラ
イン11を考える。
スキャン・ライン11と多角形の交点を求めるには、予
め多角形の辺をYの最大値の順に分類しておく。しかし
てこの場合多角形10の全ての辺との交点を調べる必要
はなく、第6図に示すように辺の両端点がスキャン・ラ
イン11をまたいでいる辺についてだけ調べればよい。
そのためには多角形10のY座標の最大値である頂点を
Aキとすれば、まずスキャン・ライン11と交わってい
る、頂点Aキを含む辺12.13についてだけ考えれば
よい。次には第7図に示すようにスキャン・ライン11
が辺12の下端点A高を通過したら、その辺12を考慮
集合から除外し、次の頂点A■までの辺14を考慮集合
に取り込む。また第8図に示すように1つのスキャン・
ラインが多角形の4つの辺と交わる場合は、横軸である
Xの値は2つずつの組151.16にされ、水平線分を
引くのに利用される。以上のような操作を多角形領域の
Y座標の最大値から最小値の範囲のスキャン・ラインに
ついて繰り返す。このような複雑な経過をたどって多角
形10は水平線分に分解されピックするための処理がな
される。
〔発明が解決しようとする問題点〕
上記のように多角形領域をピックする場合には、定義さ
れている全ての多角形領域を夫々水平線分に分解してピ
ックを行っていた。しかして、第9図に示すようにピッ
ク領域8の大きさは図形7が定義されている座標系の大
きさに比べては非常に小さく(通常面積比率で1/10
000以下が普通)、定義される図形の数は2万個を超
えるのが普通である。オペレータはこれらの図形のうち
一つを編集のため選択するのであるから、殆どの図形は
ピックされない。よって1個の多角形のピックを行うた
めに極めて多くの無駄な処理がなされることになるので
、処理時間が長くかかるという問題点があった。
この発明は、このような従来の問題点に着目してなされ
たもので、明らかにピックされない多角形領域を水平線
分に分解することなく判定し、ピック速度を高速化する
ことをその目的とする。
C問題点を解決するための手段〕 そして、この目的を達成するために本発明にあってはそ
の構成を、第1図に示すように複数個の頂点20a、2
0b・・・・・・によって定義される多角形領域20が
、指定されたピック領域21と交わるかどうかを判定す
る方法において、前記複数個の頂点座標列のX座標とY
座標の最小値と最大値とを求めることによって、該X座
標とY座標によって定義され前記多角形領域20を包含
する、辺がX軸またはY軸に平行な矩形領域22を求め
、該矩形領域22と前記指定されたピック領域21とが
交わらない多角形領域20を、前記のピック対象から除
外することとした。
〔作用〕
次に本発明の詳細な説明すると 上記の構成により複数
個の頂点20a、20b・・・・・・によって定義され
る多角形領域20は、前記複数個の頂点の座標列のX座
標とY座標の最小値と最大値によって定義された矩形領
域22に包含される。そこで該矩形領域22と、前記指
定されたピック領域21とは、両者の座標の大小を比較
することによって交わるかどうかの判定は容易に行われ
る。
そこで両者の交わらない多角形領域20を、前記の判定
対象から除外し、両者の交わった場合だけについて、多
角形が定義されている座標系の一単位ごとに多角形を水
平な線分に分割し、次に分割された線分が前記の指定さ
れたビック領域21と交わるかどうかを判定するように
する。
〔実施例〕
以下、この発明の実施例を図面に基づいて説明する。
第1図は本発明の原理を示す構成図である。
多角形20は複数個の頂点20a、20b・・・・・・
によって定義され、この多角形20の領域が、ビック範
囲として指定された矩形領域21と交わるかどうかを判
定する場合に、まず多角形20について頂点PaのX座
標Xa、Y座標Y a 、頂点pbのX座標xb、y座
標Yb、頂点Pc・・・・・・のように各頂点の座標を
求め、次に各頂点のX座標とY座標の各々について、そ
の最小値と最大値とを求める。モしてX座標の最小値を
Xm1n 、最大値をXmax 、 Y座標の最小値を
Ymin、最大値をYmaxとし、Xm1n 、 Xm
axをY軸に平行な辺の中に含み、Ymin 、 Ym
axをX軸に平行な辺の中に含む矩形22を定義する。
一方指定された矩形領域21は左下の頂点の座標をX1
eft、 Ybottomとし、右上の頂点の座標をX
right 、 Ytopとして定義する。この2つの
矩形は、両者の座標を比較することによって、互いに交
わるかどうかが求められる。即ち第2図に示すように、
多角形23はこれを含む矩形領域24がピック領域21
と交わらないからピックされない。多角形25はこれを
含む矩形26がピック領域21と交わるから、ピックさ
れる可能性はあるがピック領域21とは交わらない。多
角形27はこれを含む矩形28も多角形27も共にピッ
ク領域21と交わるからピックされる。よって上記の3
種類の分類のうち多角形23のように明らかにピック領
域21と交わらない多角形領域を、判定対象から除外し
て判定を行う。
これを実際に行うには第4図の装置を用いて操作を行い
、第3図に示す流れのようにプログラムが作られている
。はじめに多角形20の頂点Pa、Pb、=の座標Xa
、Ya、Xb。
Yb、・・・・・・を求め、X座標の最大値Xmax 
、最小値Xm1n 、 Y座標の最大値Ymax 、最
小値Yminを夫々を求める(ステップ1〜5)。これ
らの動作を説明すると、 ステップ1: 変数Xm1n 、 Xmaxに頂点PaのX座標値(例
えばXa)を代入し、変数Ymin 、 Ymaxに頂
点PaのY座標値(例えばYa)を代入する。変数C0
UNT  に多角形の頂点数を代入する。
ステップ2: 変数 C0UNTに C0UNT −1を代入し、C0
UNTが正の数であればステップ3に進む。零または負
の数ならばステップ6へ進む。
ステップ3: 変数X、Yに次の頂点のX座標値、Y座標値(例えばx
b、yb)を夫々代入する。
ステップ4: 変数XがX maxより大きいならばX maxにXを
代入する。そうでなく、しかもXがXm1nより小さい
ならばXm1nにXを代入する。XがXm1nとX m
axの間ならば、Xm1nとX maxの値はそのまま
とする。
ステップ5: 変数YがYmaxより大きいならばYmaxにYを代入
する。そうでなく、しかもYがYminより小さいなら
ばYminにYを代入する。YがYminとYmaxの
間ならば、YminとYmaxの値はそのままとする。
次にステップ2に戻り、同じ動作を変数C0UNTが零
になるまで繰り返す。このようにしてステップ1からス
テップ5までの操作により、多角形領域20を包含する
各辺が、X軸、Y軸に平行な最小の矩形領域22が求め
られる。求められた矩形領域は、左下右上の対角の点の
座標が(Xmin 。
Ymin )  (Xmax 、 Ymax )となっ
ている矩形である。そして左下、右上の対角の点の座標
が(Xleft、 Ybottom)  (Xrigh
t 、 Ytop )である指定された矩形領域21と
多角形を包含する矩形22とが交わるかどうかを判定す
るために、ステップ6に進む。
矩形領域21と矩形22が交わるかどうかのテストは、
矩形領域21の縁の線を延長し、図形を定義する空間を
9つの領域に分割するという方法で実現される。これら
の各領域は4ビツトの符号を持ち、矩形22を定義する
(Xmin 、 Ymin )(X max 、 Y 
max )の2つの点には、それが属する領域の符号が
与えられる。符号内の4ビツトは各ビットが1のとき、
次のような意味を持つ。
第1ビット:点はX1eft  より左方にある。
第2ビット:点はXrightより右方にある。
第3ビット:点はYbottomより下方にある。
第4ビット:点はYtop  より上方にある。
この4つのビットについて第1ビツトを最小の桁、第2
ビツトを次の桁、第3ビツトをその次の桁、第4ビツト
を最大の桁として2進数で表すと第10図のようになる
。図において矩形22における( Xm1n、Ymin
) (Xmax、Ymax)の符号を求めた後、2つの
点の符号の論理積を取って両者の図形が交わるかどうか
の決定を行う。論理積が零の場合は交わり、それ以外の
ときは交わらない。なおこれらの各々の場合についての
実例を第11図(a)、(b)、(c)、(d)に示す
が、(a)は論理積が0000となるので、両者の図形
は交わり、(b)は論理積が0100となるので両者は
交わらず、(C)は論理積がooooとなるので両者は
交わり、(d)は論理積が0000となるので両者は交
わる例である。以下に上記の処理を行うステップについ
て述べる。
ステップ6 XminがX 1eftより小さければ、変数01の第
1ビツトを立てる。そうでなく、かつXm1nがXri
ghtより大きければ変数01の第2ビツトを立てる。
ステップ7 YminがY bottomより小さければ、変数01
の第3ビツトを立てる。そうでなく、かつYminがY
topより大きければ変数01の第4ビツトを立てる。
ステップ8 X maxがX 1eftより小さければ、変数02の
第1ビツトを立てる。そうでなく、かっX maxがX
rightより大きければ変数02の第2ビツトを立て
る。
ステップ9 Y maxがYbottomより小さければ、変数02
の第3ビツトを立てる。そうでなく、かっYmaxがY
topより大きければ変数02の第4ビツトを立てる。
ステップ10 変数01と02の論理積演算を行い、結果が0ならば矩
形領域21はビック領域22と交わり、結果が0でなけ
れば両者は交わらない。矩形領域21とピック領域22
とが交わらなければ、ピック領域内の多角形領域20は
矩形領域21と交わらず、ピックされないので処理は終
了する。結果が0ならばピックされる可能性があるので
次のステップに進む。
ステップ11 多角形領域20を第5図のようにして水平線分に分解し
、分解された水平線分の各々がピック範囲21と交わる
かどうかを判定する。交わらなければピックされないか
ら処理は終了し、交わればピックされるから引続いて当
該図面を用いる作業が行われる。
以上により多角形領域がビック領域と交わるかどうかを
判定できる。判定はステップ11だけでも行えるが、上
記のステップ1から10までの操作を付加することによ
り、水平線分列に分解するのはビック領域22の中の多
角形領域だけに限られるから、無駄な処理をする必要が
なくなり、処理速度も向上する。
〔発明の効果〕
本発明により、多角形領域のピックは、はじめに該多角
形領域を包含する最小の矩形領域を求め、その矩形領域
がビック領域と交わるかどうかを判定する。これによっ
て多角形領域を水平線分に分解する処理時間が大幅に短
縮され、CADなどの図形処理に於ける図形選択が能率
化される。
【図面の簡単な説明】
第1図は本発明の原理図で、図形とその処理方法を示す
図、第2図は多角形の判定の三つの場合を示す図、第3
図は本発明の実施例の方法を行う場合のフローチャート
、第4図は操作装置を示す図、第5図は多角形領域のピ
ック方法に於いて多角形を平行線分に分解して行う場合
のだ説明図、第6図はスキャン・ラインと多角形の辺の
交りを示す図、第7図は第6図の次の段階でスキャン・
ラインと多角形の辺の交わりを示す図、第8図はスキャ
ン・ラインが多角形の2箇所で交わる場合の図、第9図
は図形が定義されている座標の全部の領域とピック領域
を示す図、第10図は図形を定義する空間を9つの領域
に分割した図、第11図(a)、(b)、(C)、(d
)は論理積が零かそうでないかによって図形が交わるか
どうかを判定する例を示す図である。 20・・・多角形領域 Pa・・・多角形の頂点 pb・・・多角形の他の頂点 21・・・指定された矩形領域

Claims (1)

    【特許請求の範囲】
  1. 複数個の頂点によって定義される多角形領域(20)が
    、指定されたピック領域(21)と交わるかどうかを判
    定する方法において、前記複数個の頂点座標列のX座標
    とY座標の最小値と最大値とを夫々求め、該X座標とY
    座標によって定義された前記多角形領域(20)を包含
    する矩形領域(22)と、前記指定されたピック領域(
    21)とが交わらない多角形領域(20)を、ピック対
    象から除外することを特徴とする図形処理に於ける多角
    形領域のピック方法。
JP62083302A 1987-04-03 1987-04-03 図形処理に於ける多角形領域のピツク方法 Pending JPS63249269A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62083302A JPS63249269A (ja) 1987-04-03 1987-04-03 図形処理に於ける多角形領域のピツク方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62083302A JPS63249269A (ja) 1987-04-03 1987-04-03 図形処理に於ける多角形領域のピツク方法

Publications (1)

Publication Number Publication Date
JPS63249269A true JPS63249269A (ja) 1988-10-17

Family

ID=13798614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62083302A Pending JPS63249269A (ja) 1987-04-03 1987-04-03 図形処理に於ける多角形領域のピツク方法

Country Status (1)

Country Link
JP (1) JPS63249269A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244285A (ja) * 1989-03-17 1990-09-28 Hitachi Ltd レンダリング処理のスキツプ処理方法及び表示処理装置
JPH0683923A (ja) * 1992-04-21 1994-03-25 Internatl Business Mach Corp <Ibm> カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システム
US5581796A (en) * 1989-03-07 1996-12-03 Hitachi, Ltd. Processing method and graphics processor for skip drawing a figure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105086A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Pattern stroke detecting system
JPS60254376A (ja) * 1984-05-31 1985-12-16 Yokogawa Hokushin Electric Corp 図形検出装置
JPS61194571A (ja) * 1985-02-22 1986-08-28 Hitachi Ltd 図形認識方式
JPS6257078A (ja) * 1985-09-06 1987-03-12 Nec Corp 図形要素の検索処理方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105086A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Pattern stroke detecting system
JPS60254376A (ja) * 1984-05-31 1985-12-16 Yokogawa Hokushin Electric Corp 図形検出装置
JPS61194571A (ja) * 1985-02-22 1986-08-28 Hitachi Ltd 図形認識方式
JPS6257078A (ja) * 1985-09-06 1987-03-12 Nec Corp 図形要素の検索処理方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581796A (en) * 1989-03-07 1996-12-03 Hitachi, Ltd. Processing method and graphics processor for skip drawing a figure
JPH02244285A (ja) * 1989-03-17 1990-09-28 Hitachi Ltd レンダリング処理のスキツプ処理方法及び表示処理装置
JPH0683923A (ja) * 1992-04-21 1994-03-25 Internatl Business Mach Corp <Ibm> カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システム

Similar Documents

Publication Publication Date Title
US4167728A (en) Automatic image processor
EP0785522A2 (en) Method and system for detecting a pattern in an image
CA1289263C (en) Apparatus and process for creating variably sized block diagrams to accommodate variable text contents while yet retaining overall block shape
US20050285054A1 (en) Charged particle beam drawing apparatus
US5144679A (en) Graphic data searching and storage method
EP1246124B1 (en) Image space display method and apparatus
EP0435492B1 (en) Method and system for displaying a three-dimensional object
JPS63249269A (ja) 図形処理に於ける多角形領域のピツク方法
JP2890306B2 (ja) 表領域分離装置および表領域分離方法
CN1071527A (zh) 在字符识别***中选取候选字符的方法
JP2680295B2 (ja) 電子ビーム露光装置の描画データ作成方法及びその装置
JP2000516747A (ja) 像処理方法および装置
JP3460339B2 (ja) 対象選択装置及び方法
EP0443531B1 (en) Graphic data handling method and system
JPS60198690A (ja) 高速図形処理方式
JP2006323780A (ja) 画像処理装置、画像処理方法
US6535222B1 (en) Graphic method
JP2562498B2 (ja) 指定図形の座標検出方式
JP3658796B2 (ja) 画像データ圧縮装置
JP2614111B2 (ja) 直線表示要素と矩形ウインドウの相互関係の検出方法
JP2614356B2 (ja) 閉図形抽出方式
CN117556954A (zh) 一种基于嵌套分割的类矩形零件二维高效排布方法
JP3675366B2 (ja) 画像抽出処理装置
CN114359038A (zh) 基于生成对抗网络的多风格动态组字方法
JPH08194722A (ja) 自動配置方法