JPH1021415A - 図形処理装置並びに図形処理方法 - Google Patents

図形処理装置並びに図形処理方法

Info

Publication number
JPH1021415A
JPH1021415A JP17330896A JP17330896A JPH1021415A JP H1021415 A JPH1021415 A JP H1021415A JP 17330896 A JP17330896 A JP 17330896A JP 17330896 A JP17330896 A JP 17330896A JP H1021415 A JPH1021415 A JP H1021415A
Authority
JP
Japan
Prior art keywords
polygon
vertex
area
inclusive
vertices
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
JP17330896A
Other languages
English (en)
Inventor
Kiyoharu Muramatsu
喜世治 村松
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP17330896A priority Critical patent/JPH1021415A/ja
Publication of JPH1021415A publication Critical patent/JPH1021415A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 所定の塗りつぶし規則に基づいて内部領域を
高速に生成する図形処理装置を提供すること。 【解決手段】 所定の塗りつぶし規則が奇偶規則である
場合は、対象となる2個の多角形の頂点列における頂点
の並ぶ順序を互いに逆向きになるように調整し、2個の
多角形の交点では他の多角形への乗り換えを行ないなが
ら頂点列における頂点の並ぶ順序に沿って頂点を追跡す
ることにより内部領域を生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の多角形群に
おいて、塗りつぶしを行なうべき内部領域を生成する図
形処理装置並びに図形処理方法に関し、さらに詳細に
は、所定の塗りつぶし規則に基づいて内部領域を生成す
る図形処理装置並びに図形処理方法に関する。
【0002】
【従来の技術】従来、複数の多角形群において、塗りつ
ぶしを行なうべき内部領域を生成する方法としては、ラ
ンレングスデータを使用する方法(以下、ランレングス
法と呼ぶ)と、頂点追跡による方法(以下、頂点追跡法
と呼ぶ)が知られている。
【0003】ランレングス法は、多角形を覆う各走査線
と多角形の境界線との交点を求めて、多角形を走査線方
向に水平な線分の集合(これをランレングスデータと呼
ぶ)に変換し、その後、複数の多角形のランレングスデ
ータを重ね合せて内部となる領域を判定し、内部領域を
生成する方法である。ランレングス法は、計算幾何学の
言葉で言えば、平面走査法に属する方式である。
【0004】図1はランレングスデータに変換された多
角形100の一例を示している。図中、Xは走査線10
1と多角形100の境界線との交点であり、LはXを始点
とした場合の多角形100内部の線分の長さを示してい
る。つまり、1組のXとL(ランレングス)102で、走
査線101上に存在する多角形100内部の1本の線分
を表現していることになる。
【0005】図2に示す様に、複数の多角形100のラ
ンレングスデータの重なった部分を内部領域として生成
すれば、AND領域110が求められることになり、ま
た、ランレングスの存在する部分全てを内部領域として
生成すれば、OR領域110が求められることになる。
【0006】頂点追跡法は、図3に示す様に、多角形1
00が、頂点104を出現する順序に並べた頂点列12
0で表現されていることが前提となっている。具体的な
手順を図4を参照して説明すると、多角形100が頂点
列120で表現されている場合、対象となる多角形10
0の辺間の交点103を求め、この交点103を各多角
形100の頂点列120に挿入し、任意の交点103か
ら出発して各多角形100の頂点列120を辿り、交点
103に遭遇したら他方の頂点列120に移り、出発点
に戻った所で1つの多角形100を得る。この処理を、
交点103を一通り辿るまで行う。
【0007】この様にして最終的に得られた多角形が、
対象となる多角形の重なり領域(AND領域)すなわ
ち、AND領域を内部と定義した場合での内部領域であ
る。交点103ではなく、任意の頂点104を追跡の出
発点とすれば、OR領域が得られる。ただし、頂点追跡
法によってAND領域またはOR領域を得ようとする場
合は、対象となる多角形の頂点列120の向きは、全て
の多角形において時計回りか反時計回りのどちらかで統
一されている必要がある。
【0008】頂点追跡法による領域抽出の例としては、
Weiler-Athertonのクリッピングアルゴリズムが広く知
られている。このクリッピングアルゴリズムは、上述し
た頂点追跡法によって、2つの多角形の重なり領域(A
ND領域)を求めることを目的としている。
【0009】ところで、複数の多角形の内部領域を生成
する際に、ある塗りつぶし規則に基づいて内部領域、外
部領域の区別を行なう場合がある。一般に知られている
塗りつぶし規則は、奇偶規則と、非ゼロ巻数規則であ
る。
【0010】奇偶規則は、任意の点から任意の方向に半
直線を描き、多角形100の境界線と交差する数が奇数
の場合は上記任意の点を含む領域は内部領域とし、偶数
の場合は外部領域であるとする塗りつぶし規則である。
奇偶規則に基づいて得られる内部領域の一例を図5(a)
に示す。
【0011】非ゼロ巻数規則は、任意の点から任意の方
向に半直線を描き、この半直線がどのように多角形10
0の境界線と交差するかを調べることによって、この任
意の点を含む領域が内部領域であるか否かを決定する塗
りつぶし規則である。具体的には、0から数え始めて、
左から右(または上から下)に多角形100の境界線分
が上記半直線と交差するごとに1を加え、右から左(ま
たは下から上)に多角形100の境界線分が上記半直線
と交差するごとに1を減ずる。全ての交差をカウントし
た後、結果が0の場合には、上記任意の点を含む領域は
外部領域とし、結果が0以外(すなわち、「非ゼロ」)
の場合には、内部領域であるとする。非ゼロ巻数規則
は、対象となる多角形100の頂点列の向きが時計回り
か反時計回りかによって、異なる結果が得られる点で、
上述した奇偶規則よりも表現能力の高い規則であるが、
任意の半直線との交差の向きを調べなければならないと
いう点で、奇偶規則よりも内部判定の処理負荷が高い。
非ゼロ巻数規則に基づいて得られる内部領域の一例を図
5(b)に示す。
【0012】上述したことからも明らかな様に、複数の
多角形100の内部領域を塗りつぶし規則に基づいて求
めることは、これも上述したAND領域、OR領域を内
部領域として求める、いわゆる多角形100の論理演算
と比較して、得られる結果が異なるのはもちろんのこ
と、内部領域を決定するまでの過程で交差数をカウント
する必要がある点で、複雑な処理を必要とする。
【0013】従来、複数の多角形の内部領域を、塗りつ
ぶし規則に基づいて生成する方法としては、例えば特開
平4-222072号公報の「図形塗りつぶし方式」で開示され
ている様に、対象となる多角形を覆う全走査線に対して
塗りつぶし規則を適用しながら塗りつぶす線分領域を得
る方法がある。この方法は、上述したランレングス法
に、塗りつぶし規則を適用した形になっており、複数の
塗りつぶし規則に対して柔軟に対処可能な方法である。
【0014】
【発明が解決しようとする課題】しかしながら、上述し
た様に、複数の多角形の内部領域を、塗りつぶし規則に
基づいて生成するには、内部領域を決定するまでの過程
で交差数をカウントする必要があるため、ランレングス
法に塗りつぶし規則を適用するといった方法で実現され
るものであり、これも上述した頂点追跡法では実現が困
難であった。
【0015】つまり、ランレングス法よりも高速処理が
可能である頂点追跡法での実現が困難であるということ
は、塗りつぶし規則に基づいた内部領域の生成の高速処
理が不可能であるという問題点があった。
【0016】本発明は、上述した問題点を解決するため
になされたものであり、頂点列で表現され、境界線の交
点を複数個有する複数個の多角形群において、所定の塗
りつぶし規則に基づいて内部領域を高速に生成する図形
処理装置並びに図形処理方法を提供することを目的とす
るものである。
【0017】
【課題を解決するための手段】この目的を達成するため
に、本発明の請求項1記載の図形処理装置は、対象とな
る多角形の交点を演算する交点演算手段と、所定の塗り
つぶし規則が、任意の点から任意の方向に半直線を描
き、交差する境界線の数が奇数の場合は上記任意の点を
含む領域は内部領域とし、偶数の場合は外部領域である
とする、奇偶規則である場合には、対象となる多角形の
頂点列における頂点の並ぶ順序(以降、単に頂点列の方
向と呼ぶ)を互いに逆向きになるように調整する方向調
整手段と、交点では他の多角形への乗り換えを行ないな
がら頂点列における頂点の並ぶ順序に沿って頂点を追跡
する頂点追跡手段とを備えている。
【0018】交点演算手段が対象となる多角形の交点を
演算し、所定の塗りつぶし規則が奇偶規則である場合に
は、方向調整手段が対象となる多角形の頂点列の方向を
互いに逆向きになるように調整し、頂点追跡手段が交点
では他の多角形への乗り換えを行ないながら頂点列にお
ける頂点の並ぶ順序に沿って頂点を追跡することで多角
形の内部領域を生成するのである。
【0019】塗りつぶし規則が奇偶規則の場合は頂点列
の方向が互いに逆向きになる様に調整し、上述した頂点
追跡法による、塗りつぶし規則に基づいた内部領域の生
成を高速に実行することが可能となる。奇偶規則の場合
に頂点列の方向を互いに逆向きにすることで正しい結果
が得られる理由は、図6に示す様に、2つの多角形の境
界線を各々A、Bとすると、A、Bの向きがが同方向で
ある場合は頂点追跡によって閉領域が形成されないが、
A、Bの向きが逆方向である場合は閉領域Rが形成さ
れ、この事実が多角形領域全体に渡って確認されること
から、正しい結果が得られることは、容易に推測でき
る。
【0020】請求項2記載の図形処理装置は、請求項1
の構成に加え、頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別する
内包多角形判別手段と、内包多角形であることを示す情
報を格納しておく内包属性記憶手段とを備えている。
【0021】内包多角形判別手段が頂点追跡手段によっ
て得られた多角形の内、他の多角形に内包されている内
包多角形を判別し、内包属性記憶手段が内包多角形であ
ることを示す情報を記憶するのである。
【0022】これにより、対象となる複数の多角形群が
交点を有しない場合や、頂点追跡の結果として得られた
内部領域が内包多角形を含んでいる場合でも、この後の
処理として予測される塗りつぶし処理等に対して、内包
多角形が存在することを確実に伝達することが可能とな
る。
【0023】請求項3記載の図形処理装置は、請求項2
の構成において、上記内包属性記憶手段で格納する情報
が、「内包多角形は塗りつぶされることのない穴領域で
ある」ということを示す情報であることを特徴としてい
る。
【0024】「内包多角形は塗りつぶされることのない
穴領域である」ということを示す情報が、内包属性記憶
手段において内包属性情報として記憶されるのである。
【0025】これにより、塗りつぶし規則が奇偶規則で
あって、対象となる複数の多角形群が交点を有しない場
合や、頂点追跡の結果として得られた内部領域が内包多
角形を含んでいる場合でも、この後の処理として予測さ
れる塗りつぶし処理等に対して、穴領域が存在すること
を確実に伝達することが可能となる。
【0026】請求項4記載の図形処理装置は、請求項2
の構成に加え、内包多角形とそれを包含する多角形の頂
点列における頂点の並ぶ順序が互いに逆向きである場
合、内包多角形は塗りつぶされることのない穴領域であ
り、同じ向きである場合、内包多角形は塗りつぶされる
冗長領域であることを判定する内包領域分類手段を備え
ており、内包属性記憶手段で格納する情報が、内包領域
分類手段の結果であることを特徴としている。
【0027】内包領域分類手段が、内包多角形とそれを
包含する多角形の頂点列の方向が互いに逆向きである場
合には、内包多角形は塗りつぶされることのない穴領域
であり、同じ向きである場合には、内包多角形は塗りつ
ぶされる冗長領域であることを判定し、その結果が内包
属性記憶手段において内包属性情報として記憶されるの
である。
【0028】これにより、対象となる複数の多角形群が
交点を有しない場合や、頂点追跡の結果として得られた
内部領域が内包多角形を含んでいる場合でも、この後の
処理として予測される塗りつぶし処理等に対して、穴領
域または冗長領域が存在することを確実に伝達すること
が可能となる。
【0029】請求項5記載の図形処理装置は、請求項1
の構成に加え、頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別する
内包多角形判別手段と、内包多角形が、塗りつぶされる
ことのない穴領域であるとして、内包多角形とそれを包
含する多角形の頂点列を合成する穴領域合成手段とを備
えている。
【0030】内包多角形判別手段が頂点追跡手段によっ
て得られた多角形の内、他の多角形に内包されている内
包多角形を判別し、穴領域合成手段が、内包多角形が塗
りつぶされることのない穴領域であるとして、内包多角
形とそれを包含する多角形の頂点列を合成するのであ
る。
【0031】これにより、塗りつぶし規則が奇偶規則で
あって、対象となる複数の多角形群が交点を有しない場
合や、頂点追跡の結果として得られた内部領域が内包多
角形を含んでいる場合でも、塗りつぶし規則に基づいて
内包多角形を含まない結果を生成することが可能とな
る。
【0032】請求項6記載の図形処理装置は、請求項1
の構成に加え、頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別する
内包多角形判別手段と、内包多角形とそれを包含する多
角形の頂点列の方向が互いに逆向きである場合、内包多
角形は塗りつぶされることのない穴領域であり、同じ向
きである場合、内包多角形は塗りつぶされる冗長領域で
あることを判定する内包領域分類手段と、内包多角形
が、塗りつぶされることのない穴領域である場合は、内
包多角形とそれを包含する多角形の頂点列を合成する穴
領域合成手段と、内包多角形が、塗りつぶされる冗長領
域である場合は、内包多角形を生成される内部領域から
削除する冗長領域削除手段とを備えている。
【0033】内包多角形判別手段が頂点追跡手段によっ
て得られた多角形の内、他の多角形に内包されている内
包多角形を判別し、内包領域分類手段が内包多角形とそ
れを包含する多角形の頂点列の方向が互いに逆向きであ
る場合、内包多角形は塗りつぶされることのない穴領域
であり、同じ向きである場合、内包多角形は塗りつぶさ
れる冗長領域であることを判定し、穴領域合成手段が、
内包多角形が塗りつぶされることのない穴領域である場
合は、内包多角形とそれを包含する多角形の頂点列を合
成し、冗長領域削除手段が、内包多角形が塗りつぶされ
る冗長領域である場合は、内包多角形を生成される内部
領域から削除するのである。
【0034】これにより、対象となる複数の多角形群が
交点を有しない場合や、頂点追跡の結果として得られた
内部領域が内包多角形を含んでいる場合でも、塗りつぶ
し規則に基づいて内包多角形を含まない結果を生成する
ことが可能となる。
【0035】請求項7記載の図形処理方法は、対象とな
る多角形の交点を演算するステップと、所定の塗りつぶ
し規則が、任意の点から任意の方向に半直線を描き、交
差する境界線の数が奇数の場合は上記任意の点を含む領
域は内部領域とし、偶数の場合は外部領域であるとす
る、奇偶規則である場合には、対象となる多角形の頂点
列における頂点の並ぶ順序を互いに逆向きになるように
調整するステップと、交点では他の多角形への乗り換え
を行ないながら頂点列における頂点の並ぶ順序に沿って
頂点を追跡するステップとを備えている。
【0036】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。
【0037】図7は本発明の一実施の形態である図形処
理装置のブロック図である。CPU1、ROM2、RA
M3、入力装置4、出力装置5が、バス6を介して接続
されている。多角形の頂点データは、入力装置4から入
力され、頂点列に加工されてRAM3に格納される。ま
た、何らかの前処理の結果として頂点列が予めRAM3
に格納されている場合もある。CPU1は、RAM3に
格納されている頂点列に対して、ROM2に予め格納さ
れている手順に従って処理を行う。このROM2には、
交点演算手段200、方向調整手段201、頂点追跡手
段202、内包多角形判別手段203、内包領域分類手
段204、穴領域合成手段205、冗長領域削除手段2
06に相当する手順が予め格納されている。この手順に
従ってCPU1が処理を行った結果は、再びRAM3に
格納されて後に続く処理に渡されるか、または、出力装
置5に出力されて表示、印刷が行われる。
【0038】図8乃至図11を参照して、ROM2に予
め格納されている多角形の内部領域を生成するための処
理手順について説明する。以降、本実施の形態では図9
に示す多角形A300、多角形B301の内部領域を生
成する場合を例として説明を行なうものとする。
【0039】最初に、多角形A300、多角形B301
の交点103を演算する(S1)。得られた交点103
の結果は、各々の頂点列120の交点103の存在する
頂点間の位置に挿入される。交点I1は、多角形A300
の頂点2と頂点3の間に存在するので、多角形Aの頂点
列120の頂点2と頂点3の間に挿入される。また、交
点I1は、多角形B301の頂点6と頂点7の間に存在す
るので、多角形Bの頂点列120の頂点6と頂点7の間
にも挿入される。交点I2についても同様に頂点列120
への挿入を行ない、結果として図9(b)の頂点列120
を得る。
【0040】次に、塗りつぶし規則が奇偶規則であるか
否かを判定し(S2)、奇偶規則でない場合(S2:N
o)は、そのままS4に進む。奇偶規則である場合(S
2:Yes)には、頂点列120における頂点104の
並びの方向を互いに逆向きにする。図10は、頂点列の
方向を互いに逆向きにする様子を示している。図10
(a)は初期状態を示しており、多角形A、多角形Bは共
に反時計回りの向きとなっている。ここで、多角形Bの
頂点列の向きを反転して時計回りの方向にすることで、
図10(b)に示す様に多角形A、多角形Bは互いに逆向
きの方向の頂点列で表現されることになる。
【0041】頂点列120の向きを調整した後、頂点追
跡法による閉領域111の抽出を行なう(S4)。頂点
追跡法については、従来技術の項で既に説明したとおり
である。頂点追跡により、内部領域110の候補となる
複数の閉領域111が得られる。得られる閉領域111
は、多角形A、多角形Bの頂点列120の方向の関係に
よって異なる。図11(a)は頂点列の方向が互いに逆向
きの場合に抽出される閉領域111を示しており、塗り
つぶし規則が奇偶規則と非ゼロ巻数規則との何れの場合
にもこの状況になる。同様に、図11(b)は頂点列の方
向が同じ向きの場合に抽出される閉領域111を示して
おり、塗りつぶし規則が非ゼロ巻数規則の場合にこの状
況になる。
【0042】次に、得られた全ての閉領域111につい
て内包多角形の判定を行なう(S5)。内包多角形の判
定の結果、内包多角形が存在しない場合(S6:No)
は、最終結果を内部領域110として、処理を終了し
(S11)、存在する場合(S6:Yes)は次の処理に
進む。
【0043】塗りつぶし規則が奇偶規則である場合(S
7:Yes)には、内包多角形は全て穴領域であるの
で、内包多角形を包含する多角形との合成処理を行なう
(S10)。塗りつぶし規則が非ゼロ巻数規則の場合(S
7:No)には、内包多角形の頂点列の方向が、その内
包多角形を包含する多角形の頂点列の方向と同じか否か
を判定し(S8)、互いに逆向きである場合(S8:N
o)には、内包多角形が穴領域であると判断し、内包多
角形を包含する多角形との合成処理を行なう(S1
0)。同じ向きである場合(S8:Yes)には、内包
多角形が冗長領域であると判断し、この内包多角形を削
除する(S9)。
【0044】上述したS6乃至S10の操作を繰り返し、
全ての内包多角形について処理が終了すれば、最終結果
を内部領域110として、処理を終了する(S11)。
【0045】図8のフローチャートで示した手順におい
ては、S1が交点演算手段200に、S3が方向調整手段
201に、S4が頂点追跡手段202に、S5が内包多角
形判別手段203に、S8が内包領域分類手段204
に、S10が穴領域合成手段205に、S9が冗長領域削
除手段206に各々対応している。
【0046】上記S5において、得られた全ての閉領域
111について内包多角形の判定を行なうが、この判定
結果を一時記憶しておくために、各閉領域111の頂点
列120のデータに、内包多角形であることを示すフラ
グを付しておき、このフラグが内包属性になっている多
角形のみを穴領域、冗長領域の判定処理に適用する様に
しても良い。さらに、このフラグに内包多角形を包含す
る多角形であることを示す属性を追加すれば、穴領域合
成処理205を行なう場合に有効である。これは内包属
性記憶手段に対応する処理である。
【0047】次に、頂点列の方向を互いに逆向きにする
方向調整手段201について詳細に説明する。最初に、
多角形A300、多角形B301の頂点列の方向を調べ
る。頂点列120に含まれる頂点104のうち、Y座標
が最小、又は最大の頂点、またはX座標が最小、又は最
大の頂点を1つ選び、さらにこの頂点の前後の頂点を選
ぶ。図12では、P2がY座標最大の頂点であり、この直
前の頂点をP1、直後の点をP3として選択している。こ
こで、ベクトルP2P1とP2P3の外積Gを計算する。P1、P
2、P3の座標値を各々(x1,y1)、(x2,y2)、(x3,y3)とす
ると、外積Gは、以下の数式で計算される。
【0048】
【数1】
【0049】外積Gが負の場合は頂点列の方向は時計回
りであり、正の場合は反時計回りであると判定できる。
外積Gが0の場合は、方向の判定結果が不定となってし
まうので、この場合はP2を別の頂点104に変えて再
び外積Gを計算する。両多角形の頂点列の方向が判明し
た後、それが互いに逆方向であるか否かを判定し、逆方
向である場合にのみ一方の頂点列の方向を反転する。頂
点列120の反転は、図13に示す様に頂点104の並
ぶ順序を反転することで実現される。反転の対象となる
多角形についてはどちらを選択しても構わないが、頂点
数の少ない方の多角形を選択すれば反転処理にかかる時
間を少なく抑えることが可能である。
【0050】また、外積Gの結果が不定となる場合は、
例えば特開平6-150004号公報「多角形の頂点列の向き判
定方式」に開示されている様な別の方法によって頂点の
方向を判定しても構わないのであるが、ここでの判定処
理は例外的な多角形に対する処理となるために、多大な
処理時間を費やすことになることが多い。したがって、
外積Gの結果が不定となる場合には無理に頂点列の方向
を求めることをせず、方向調整処理を行なわないことに
することが賢明である。
【0051】塗りつぶし規則が奇偶規則の場合に方向調
整が実行不可能であるということは、本来図11(a)の
結果を期待しているところに図11(b)の結果が得られ
てしまう場合が生じるように、頂点追跡手段202によ
って正しい結果を得られないことがある。しかし、奇偶
規則で方向調整が実行不可能であった場合に、正しく頂
点追跡が実行できなかった場合には、後続の内包多角形
処理によって穴領域を生成することになり、この穴領域
を合成することで、最終的には正しい結果が得られるこ
とになるので、何ら問題は生じない。もちろん、方向調
整処理によって頂点列の方向を調整してから頂点追跡を
行なえば、奇偶規則の場合には内包多角形が生成されな
いので、図8のフローチャートにおいてS5以降の処理
を行なわなくても良く、この場合に最も効率の良い処理
が実現されることは言うまでもない。 次に、内包多角
形の判定方法について詳細に説明する。頂点追跡の結果
として得られた複数の閉領域111は、交点103が重
なることを除いて、互いに重ならないことが保証されて
いる。つまり、この状況において多角形が別の多角形に
内包されているか否かを判定するということは、判定対
象となる多角形の任意の1個の頂点104が他の多角形
に内包されているか否かという問題に帰着できることに
なる。したがって、判定対象となる多角形の任意の頂点
104を選択し、この頂点104が他の多角形に包含さ
れていれば、判定対象となる多角形は内包多角形である
と判定する。
【0052】任意の点Pが多角形100に内包されてい
るか否かを判定する方法を図14を参照して説明する。
点Pから水平に半直線を引き、多角形100の境界線と
交差する数をカウントする。この数が偶数であれば点P
は多角形100の外部に存在し、奇数であればPは多角
形100の内部に存在すると判定する。
【0053】上記の方法で内包多角形の判定が可能であ
るが、実際には内包多角形の全ての頂点が、これを内包
する多角形の頂点と一致してしまう場合があるので、判
定を行なう点は、任意の頂点間の中点であることが望ま
しい。
【0054】次に、穴領域である内包多角形を、内包多
角形を包含する多角形と合成する穴領域合成手段205
について図15を参照して詳細に説明する。前述した方
法で頂点列の方向を判定し、互いに逆向きである場合、
内包多角形は穴領域401となる。穴領域401である
と判定された多角形の任意の頂点と、この多角形を内包
する多角形400とを走査線に水平な線分410で接続
し、この水平線分410と多角形400の交点を疑似頂
点I402として多角形400の頂点列に2つ挿入す
る。次に、包含する多角形400の頂点列の疑似頂点I
402間に、穴領域の内包多角形401の頂点列を挿入
する。これにより、穴領域401を合成した頂点列12
0が得られることになり、穴領域合成の結果は、図15
(b)に示す多角形になる。
【0055】以上、本発明の実施の形態を図面を参照し
て詳細に説明したが、本発明は上述された形態に限定さ
れるものではない。例えば、内包領域分類手段、穴領域
合成手段、冗長領域削除手段の代わりに、内包属性記憶
手段のみを行なう構成も考えられる。この場合、内包多
角形に対する処理は、実際に塗りつぶし処理を行なう部
分に委ねられることになる。さらに、この構成に内包領
域分類手段を加え、内包領域分類手段の結果を内包属性
記憶手段で記憶することにより、実際に塗りつぶし処理
を行なう部分での内包多角形の分類を省略することが可
能となる。
【0056】その他、当業者の知識に基づいて種々の変
形、改良等を施した形態で本発明を実施できることは言
うまでもない。
【0057】
【発明の効果】以上説明したことから明かなように、請
求項1記載の図形処理装置は、交点演算手段が対象とな
る多角形の交点を演算し、所定の塗りつぶし規則が奇偶
規則である場合には、方向調整手段が対象となる多角形
の頂点列の方向を互いに逆向きになるように調整し、頂
点追跡手段が交点では他の多角形への乗り換えを行ない
ながら頂点列における頂点の並ぶ順序に沿って頂点を追
跡することで多角形の内部領域を生成することにより、
塗りつぶし規則が奇偶規則の場合は頂点列の向きを逆向
きに調整することになり、上述した頂点追跡法による、
塗りつぶし規則に基づいた内部領域の生成を高速に実行
することが可能となる。
【0058】請求項2記載の図形処理装置は、内包多角
形判別手段が頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別し、
内包属性記憶手段が内包多角形であることを示す情報を
記憶することにより、対象となる複数の多角形群が交点
を有しない場合や、頂点追跡の結果として得られた内部
領域が内包多角形を含んでいる場合でも、この後の処理
として予測される塗りつぶし処理等に対して、内包多角
形が存在することを確実に伝達することが可能となる。
【0059】請求項3記載の図形処理装置は、「内包多
角形は塗りつぶされることのない穴領域である」という
ことを示す情報が、内包属性記憶手段において内包属性
情報として記憶されることにより、塗りつぶし規則が奇
偶規則であって、対象となる複数の多角形群が交点を有
しない場合や、頂点追跡の結果として得られた内部領域
が内包多角形を含んでいる場合でも、この後の処理とし
て予測される塗りつぶし処理等に対して穴領域が存在す
ることを確実に伝達することが可能となる。
【0060】請求項4記載の図形処理装置は、内包領域
分類手段が、内包多角形とそれを包含する多角形の頂点
列における頂点の並ぶ順序が互いに逆向きである場合に
は、内包多角形は塗りつぶされることのない穴領域であ
り、同じ向きである場合には、内包多角形は塗りつぶさ
れる冗長領域であることを判定し、その結果が内包属性
記憶手段において内包属性情報として記憶されることに
より、対象となる複数の多角形群が交点を有しない場合
や、頂点追跡の結果として得られた内部領域が内包多角
形を含んでいる場合でも、この後の処理として予測され
る塗りつぶし処理等に対して、穴領域または冗長領域が
存在することを確実に伝達することが可能となる。
【0061】請求項5記載の図形処理装置は、内包多角
形判別手段が頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別し、
穴領域合成手段が、内包多角形が塗りつぶされることの
ない穴領域であるとして、内包多角形とそれを包含する
多角形の頂点列を合成することにより、塗りつぶし規則
が奇偶規則であって、対象となる複数の多角形群が交点
を有しない場合や、頂点追跡の結果として得られた内部
領域が内包多角形を含んでいる場合でも、塗りつぶし規
則に基づいて内包多角形を含まない結果を生成すること
が可能となる。
【0062】請求項6記載の図形処理装置は、内包多角
形判別手段が頂点追跡手段によって得られた多角形の
内、他の多角形に内包されている内包多角形を判別し、
内包領域分類手段が内包多角形とそれを包含する多角形
の頂点列の方向が互いに逆向きである場合、内包多角形
は塗りつぶされることのない穴領域であり、同じ向きで
ある場合、内包多角形は塗りつぶされる冗長領域である
ことを判定し、穴領域合成手段が内包多角形が塗りつぶ
されることのない穴領域である場合は、内包多角形とそ
れを包含する多角形の頂点列を合成し、冗長領域削除手
段が、内包多角形が塗りつぶされる冗長領域である場合
は、内包多角形を生成される内部領域から削除すること
により、対象となる複数の多角形群が交点を有しない場
合や、頂点追跡の結果として得られた内部領域が内包多
角形を含んでいる場合でも、塗りつぶし規則に基づいて
内包多角形を含まない結果を生成することが可能とな
る。
【0063】請求項7記載の図形処理方法は、請求項1
記載の図形処理装置と同様に、塗りつぶし規則に基づい
た内部領域の生成を高速に実行することが可能となる。
【図面の簡単な説明】
【図1】ランレングス法について説明する図である。
【図2】ランレングス法による多角形の論理演算につい
て説明する図である。
【図3】多角形と頂点列について説明する図である。
【図4】頂点追跡法につて説明する図である。
【図5】塗りつぶし規則について説明する図である。
【図6】頂点追跡法によって正しく領域が得られる理由
について説明する図である。
【図7】本発明の一実施の形態のブロック図である。
【図8】多角形の内部領域を生成するための処理手順を
示すフローチャートである。
【図9】本実施の形態の説明で使用する多角形群の一例
を示す図である。
【図10】頂点列の方向を互いに逆向きにする様子を示
す図である。
【図11】頂点列の方向の違いにより、抽出される多角
形が異なる結果となることを説明する図である。
【図12】頂点列の方向を判定する方法を説明する図で
ある。
【図13】頂点列を反転する処理を説明する図である。
【図14】ある点の多角形内包性を判定する方法を説明
する図である。
【図15】穴領域合成の方法を説明する図である。
【符号の説明】
100 多角形 120 頂点列 110 内部領域 103 交点 104 頂点 401 穴領域

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 頂点列で表現され、複数個の多角形群に
    おいて、所定の塗りつぶし規則に基づいて内部領域を生
    成する図形処理装置であって、 対象となる前記多角形の前記交点を演算する交点演算手
    段と、 前記所定の塗りつぶし規則が、任意の点から任意の方向
    に半直線を描き、交差する前記境界線の数が奇数の場合
    は前記任意の点を含む領域は内部領域とし、偶数の場合
    は外部領域であるとする、奇偶規則である場合は、対象
    となる前記多角形の前記頂点列における頂点の並ぶ順序
    を互いに逆向きになるように調整する方向調整手段と、 前記交点では他の多角形への乗り換えを行ないながら前
    記頂点列における頂点の並ぶ順序に沿って頂点を追跡す
    る頂点追跡手段とを備えたことを特徴とする図形処理装
    置。
  2. 【請求項2】 前記頂点追跡手段によって得られた多角
    形の内、他の多角形に内包されている内包多角形を判別
    する内包多角形判別手段と、 前記内包多角形であることを示す情報を格納しておく内
    包属性記憶手段とを備えたことを特徴とする請求項1に
    記載の図形処理装置。
  3. 【請求項3】 前記内包属性記憶手段で格納する情報
    が、前記内包多角形は塗りつぶされることのない穴領域
    であることを示す情報であることを特徴とする請求項2
    に記載の図形処理装置。
  4. 【請求項4】 前記内包多角形とそれを包含する多角形
    の前記頂点列における頂点の並ぶ順序が互いに逆向きで
    ある場合、前記内包多角形は塗りつぶされることのない
    穴領域であり、同じ向きである場合、前記内包多角形は
    塗りつぶされる冗長領域であることを判定する内包領域
    分類手段を備え、 前記内包属性記憶手段で格納する情報が、前記内包領域
    分類手段の結果であることを特徴とする請求項2に記載
    の図形処理装置。
  5. 【請求項5】 前記頂点追跡手段によって得られた多角
    形の内、他の多角形に内包されている内包多角形を判別
    する内包多角形判別手段と、 前記内包多角形が、塗りつぶされることのない穴領域で
    あるとして、前記内包多角形とそれを包含する多角形の
    前記頂点列を合成する穴領域合成手段とを備えたことを
    特徴とする請求項1に記載の図形処理装置。
  6. 【請求項6】 前記頂点追跡手段によって得られた多角
    形の内、他の多角形に内包されている内包多角形を判別
    する内包多角形判別手段と、 前記内包多角形とそれを包含する多角形の前記頂点列に
    おける頂点の並ぶ順序が互いに逆向きである場合、前記
    内包多角形は塗りつぶされることのない穴領域であり、
    同じ向きである場合、前記内包多角形は塗りつぶされる
    冗長領域であることを判定する内包領域分類手段と、 前記内包多角形が、塗りつぶされることのない穴領域で
    ある場合は、前記内包多角形とそれを包含する多角形の
    前記頂点列を合成する穴領域合成手段と、 前記内包多角形が、塗りつぶされる冗長領域である場合
    は、前記内包多角形を生成される前記内部領域から削除
    する冗長領域削除手段とを備えたことを特徴とする請求
    項1に記載の図形処理装置。
  7. 【請求項7】 頂点列で表現された複数個の多角形群を
    所定の塗りつぶし規則に基づいてその内部領域を生成す
    る図形処理方法であって、 対象となる前記多角形の前記交点を演算するステップ
    と、 前記所定の塗りつぶし規則が、任意の点から任意の方向
    に半直線を描き、交差する前記境界線の数が奇数の場合
    は前記任意の点を含む領域は内部領域とし、偶数の場合
    は外部領域であるとする、奇偶規則である場合は、対象
    となる前記多角形の前記頂点列における頂点の並ぶ順序
    を互いに逆向きになるように調整するステップと、 前記交点では他の多角形への乗り換えを行ないながら前
    記頂点列における頂点の並ぶ順序に沿って頂点を追跡す
    るステップとを備えたことを特徴とする図形処理方法。
JP17330896A 1996-07-03 1996-07-03 図形処理装置並びに図形処理方法 Pending JPH1021415A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17330896A JPH1021415A (ja) 1996-07-03 1996-07-03 図形処理装置並びに図形処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17330896A JPH1021415A (ja) 1996-07-03 1996-07-03 図形処理装置並びに図形処理方法

Publications (1)

Publication Number Publication Date
JPH1021415A true JPH1021415A (ja) 1998-01-23

Family

ID=15958049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17330896A Pending JPH1021415A (ja) 1996-07-03 1996-07-03 図形処理装置並びに図形処理方法

Country Status (1)

Country Link
JP (1) JPH1021415A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503809A (ja) * 2008-09-28 2012-02-09 北大方正集▲団▼有限公司 複雑なパスの簡素化方法及び装置
WO2013102955A1 (ja) * 2012-01-06 2013-07-11 三菱電機株式会社 描画装置および描画方法
JP2015022760A (ja) * 2013-07-16 2015-02-02 三菱電機株式会社 入力パスを変換する方法、入力パスのセグメントを内部又は外部としてラベル付けする方法、入力パスをレンダリングする方法、及び、入力パスの外形を描く方法
US20230401792A1 (en) * 2022-06-09 2023-12-14 Here Global B.V. Method and apparatus for approximating border(s) between clusters of geospatial points

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503809A (ja) * 2008-09-28 2012-02-09 北大方正集▲団▼有限公司 複雑なパスの簡素化方法及び装置
WO2013102955A1 (ja) * 2012-01-06 2013-07-11 三菱電機株式会社 描画装置および描画方法
JP2015022760A (ja) * 2013-07-16 2015-02-02 三菱電機株式会社 入力パスを変換する方法、入力パスのセグメントを内部又は外部としてラベル付けする方法、入力パスをレンダリングする方法、及び、入力パスの外形を描く方法
US20230401792A1 (en) * 2022-06-09 2023-12-14 Here Global B.V. Method and apparatus for approximating border(s) between clusters of geospatial points

Similar Documents

Publication Publication Date Title
JP2541539B2 (ja) 図形処理装置
JPH0251786A (ja) 走査変換方法
US4972330A (en) Clipping process and processor
US5563995A (en) Method and system for directly drawing a convex polygon having a given number of vertices with high speed
JPH1021415A (ja) 図形処理装置並びに図形処理方法
JPS63305478A (ja) パタ−ン情報復元装置
JPH02270019A (ja) 高品質文字パターン発生方式
JPH08272984A (ja) ピクセル位置記述方法
JP2003162728A (ja) 画像処理装置及び画像出力装置
JP2782904B2 (ja) 多角形塗りつぶし方式
KR100269118B1 (ko) 사각형을이용한래스터화방법
JP2985275B2 (ja) アウトラインフォントの文字発生方式
JP3843794B2 (ja) 図形処理装置
JP3899977B2 (ja) 描画装置、方法及びプログラム
JP2000268191A (ja) 隠面処理方法
JP2611599B2 (ja) コンピュータグラフイックスのデータ処理方法及び装置
JP3139805B2 (ja) 画像処理方法及びその装置
JP3692639B2 (ja) 描画処理装置
JP2001166767A (ja) 描画処理装置及び描画処理方法
JP2000322585A (ja) 画像処理方法およびその装置
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JP2009265329A (ja) フォント描画装置および情報処理装置
JPH10143676A (ja) 画像処理装置、画像処理方法、および記録媒体
JPH1153578A (ja) 形状変換方法、該方法の処理手順を記録した記録媒体、および形状変換装置
JP2002042160A (ja) 3次元形状処理装置、3次元形状処理方法およびその方法を実施するためのプログラムを記憶した記憶媒体