JPS61241880A - 閉図形塗りつぶし装置 - Google Patents

閉図形塗りつぶし装置

Info

Publication number
JPS61241880A
JPS61241880A JP8242785A JP8242785A JPS61241880A JP S61241880 A JPS61241880 A JP S61241880A JP 8242785 A JP8242785 A JP 8242785A JP 8242785 A JP8242785 A JP 8242785A JP S61241880 A JPS61241880 A JP S61241880A
Authority
JP
Japan
Prior art keywords
dot
memory
filling
section
paint
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
JP8242785A
Other languages
English (en)
Inventor
Susumu Tsuhara
津原 進
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8242785A priority Critical patent/JPS61241880A/ja
Publication of JPS61241880A publication Critical patent/JPS61241880A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、二次元閉図形の境界線ドツト列を入力とし、
その閉図形の内部を塗りつぶして出力する閉図形塗りつ
ぶし装置に関し、特に、ラスタ・スキャン型CRTを用
いたカラー・グラフィック・ディスプレイなどに適用で
きる閉図形塗)つぶし装置忙関するものである。
〔発明の背景〕
従来の閉図形塗)つふし法としては。
(11Paint法(J、D、 FOLEY and 
A、 VAN DAM 。
THE SYSEMS PROGRAMMING 5E
RIES Punda −menta18 of In
teraotive Computer Graphi
08+pp、41B−450) (215oan Line法(同上−PP、457−4
60)(31FAge Flag法(B、D、 Aak
land and N、H,Weste+// The
 Edge Flag Algorithm−A Fi
ll Methodfor Ra5ter 5can 
Displa)’szz、 rggg Trans。
Canput、 Vol、 C−50、pp、 41−
48 。
Jan、1981) (4)反転点法(特開昭59−85573号公報)など
がある。
(1)は、検力つぶしを始める出発点として、閉図形の
内部の1点を与える必要がある。しかしながら、たとえ
ば、閉図形の形状を変更するような場合5前に与えられ
た塗りつぶしの出発点が、形状変更後も必らず、閉図形
の内部[6ることけ保証できない。従って、形状変更の
都度、塗りつぶしの出発点を与えなければならず、操作
がわずられしいという欠点がある。
(21a、多角形の頂点を結ぶ線分の始点及び終点座標
(以下、始終点という。)を作業用メモIJ K記憶し
、線分をソーティングする必要がある。このため、閉図
形がスプライン曲線であるような場合には、大量の微小
線分を記憶しなければならず、膨大な作業用メモIJ 
’に必要とする。また、ソーティングにも時間がかかシ
、塗りつぶしの高速化が期待できないなどの問題もある
(3)は、境界線から特異点を除いた始終点を記憶する
必要があ夛、通常はVideo RAMと同サイズの始
終点プレーンを作業用に用意する。このため、大量の作
業メモリが必要となる。
(4)は、閉領域を定義する反転点を記憶する必要があ
る。単純な閉図形では、反転点の数は少ない(例えば、
矩形では1反転点け4頂点)が、スプライン曲線などの
一般の閉図形になると1反転点の数は膨大なものとなシ
、大量の作業用メモリを必要とする。
〔発明の目的〕
本発明の目的は、上記したような従来技術の欠点をなく
シ、操作性がよく、大量の作業用メモリが不要で、しか
も高速に閉図形の検力つぶしが行なえる閉図形塗)つぷ
し装置を提供することにある。
〔発明の概要〕
上記目的を達成するために、本発明では、閉図形のドツ
ト列発生部により順次発生されるドツト列のうち、常に
最新の3ドツトのドツト間水平。
垂直変位量を保持するメモリと、該メモリ内容の符号を
反転させる反転部と、前記メモリ内容を読み出し現ドッ
トヲ基準として右水平方向(または左水平方向)に塗)
つぶすか否かを、また前記符号反転部によって符号が反
転されたメモリ内容を読み出し現ドツトを基準として左
水平方向(または右水平方向)K塗りつぶすか否かを、
それぞれト°ット間位置関係によ勺判定する検力つぶし
判定部と、その判定結果に基づいて、現ドツトを基準と
して右水平方向または左水平方向に境界線まで達するま
で塗りつぶしを実行する塗力つぶし部と、で構成し、そ
れにより任意の閉図形について塗シつぶすことを可能に
した。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて説明する。
第1図は本発明の一実施例を示すブロック図であるO 先ず、本実施例における概略的な動作について説明する
塗りつぶしを行なう最初の状態では、第1図に示すT/
RAM (’/1dea RAM ) 165上にはす
でに第2図に示すような閉図形のドツト列(図中・印が
展開されているものとする。この状態で塗力つぶしが開
始される。
まず、閉図形のドツト列発生部5は、再度、第2図に示
すのと同じドツト列を、時計回シの方向に発生する。こ
の時、VRAM165上では、境界線が書き込まれるの
ではなく、つぎのような操作により、前述の如く展開さ
れている閉図形の内部が検力つぶされる。
即ち、ドツト列発生部5よ多発生されるドツト列のうち
、常に最新の3ドツトのドツト間位置関係を調べ、塗多
つぶし画素を決め、塗りつぶしを実行する。という操作
が繰シ返されるのである。
ここで、3ドツトのドツト間位置関係によって、塗)つ
ぶしを行うべき場合は次の如く予め定められている。
第3図は、現ドツトPk(図中・印)の隣接右画素(図
中×印)を出発点として、境界線に達するまで紙面右向
きに塗りつぶしを行なうべき、5つのケースと、その判
定条件とを示す説明図である。第3図において、−)け
y方向単調増加、う)/I′iy方向極小、(clFi
7方向極大、(dl、 lslけドツトPkのX座標が
ドラ)Pk−1またはドツトpi(+1のX座標と同じ
場合、である。
また、第4図は、現ドッ)Pk(図中・印)の隣接左画
素(図中×印)を出発点として、境界線に達するまで紙
面左向きに塗りつぶしを行なうべき。
5つのケースと、その判定条件とを示す説明図である。
第4図において、−1はy方向単調減少、(blけy方
向極大、(C1けy方向極小、ldl、 (alけドツ
トPkのX座標がドラ)Pk−1またけドラ) p l
(+1のX座標と同じ場合、である。
第3図及び第1図において、3ドツトは、時間的には前
述のドツト列発生部5からPk−1,Pk。
Pk+lの順に発生されるものであシ、即ち、各ドツト
間の矢印の方向く発生されるものである。従って、矢印
の方向は前述した時計回ルの方向と一致している。又、
これらのドツトのX座標、X座標は、それぞれ、Pk−
1=(X k−1,Y k−1) 。
Pk=(Xk、Yk)、p l(+1 : 0(1(+
l、 Yl(+I)、である。
淘、第4図−)〜letの各ケースの判定条件は、第3
図−)〜(elの各ケースの判定条件と対応してお)。
第3図の各ドツト変位量DX1、DYl、DX2.DY
2゜DX3、DY5の符号を反転した後、第3図−)〜
lelと同一の判定条件を用いることにより、第4m−
)〜(slの各ケースの判定を行なうことができる。
さて、この様な第3図及び第4図に示す判定条件を用い
ながら、前述した動作によって、例えば、第2図に示し
た閉図形の内部を塗ヤつぶすとすると、以下の如くKな
る。
第5図は閉図形を塗シつぶす過程を説明する丸めの説明
図である。
第5図において、ドツト列発生の出発点をドラ)p+と
する。出発点は任意の一点を決めればよい。
ドラ)P+、Pl、PS の3点を発生した時、これら
3点の位置関係を調べる。この場合、第3図−)のケー
スに該当するので、現ドッ)Plの隣接右画素Q2e塗
〕つふしの出発点と定め、右方向に境界線に達するまで
塗)つぶす。すなわち、画素Q2を検力つぶす。
つぎに5点P4を取シ込み、ドラ) Pz、 ps、P
nの位置関係を調べる。この場合、第3図及び第4図の
いずれのケースにも該当しないので何もしない。
さらに、点P@を取)込み、ドツトps、 Pl、 P
gの位置関係を調べる。乙の場合、第4図−)のケース
に該当し、現ドッ)Plの隣接左画素Q2を出発点とし
て、左方向に塗りつぶしを行なうが、この画素Q、け既
に塗シつぶされているので、この場合は何もしない。
以下、同様(、ドラ)Ps−Paでは、それぞれ左方向
に、ドラ)P+oでは、左右両方向に、ドツトP12〜
P14 では、それぞれ右方向に、ドラ) P+sでは
、左右両方向に、ドラ) P+9では右方向K。
それぞれ塗りつぶしを行なう。なお、ドラ) P2B+
P2S、 P27〜PB(1でも左方向に、ドツトPs
t、 h’6+P4o+ Pl1 でけ右方向にそれぞ
れ塗りつぶしを行なおうとするが、既に検力つぶされて
いるので何、もしない。
以上が、本実施例における概略的な動作の説明である。
では5次K、本実施例の構成及びその各構成部の動作に
ついて詳細に説明する。
第」図において、閉図形のドツト列発生部5け。
前述した様に任意の一点P1を出発点として1時計回シ
に一巡するようにドツト列を発生し、発生したドツトp
1(=(xl、yl))の直前のドツトPi−+(: 
(xl−+、 yi−+ ) ) K対f ル水平−垂
直方向(x、7方向)の座標変位量D X (=:Xi
  Xi−+)。
D Y (=Y i−Y i−+ )を制御部10に送
出する。
制御部10は、この座標変位量DX、DYを受は取シ、
判定制御部15に送出する。判定制御部15は、まず、
ドツト受領部20にこれを送出し、ドツト受領部20に
起動をかける。ドツト受領部20は、この座標変位量D
X、DYを、メモリ25.30もしくは、メモリ35.
40のいずれかに転送する。メモリ25.30および、
メモリ35.40け、ともに5発生したドツトP1の直
前のドラ)Pl−1に対する水平、垂直方向の変位量D
X、DYを保持するメモリでアル、ドツト列発生部5が
最初の3ドツトpHP21 Ps  を発生した時、メ
モリ25゜30にはドツトP2(=(X2.Yl))の
ドツトP+(=(X++ Yl )) K対する。水平
、垂直変位量X2  X1+Y2−Ylが、また、メモ
リ35.40には、ドツトPs (= (Xs、Ys)
 )のドツトp、に対する水平、垂直変位量Xs −X
2 * Ys −Ylが、それぞれ保持される。
以後、ドツト列発生部5が、1ドツト発生するたびに、
サイクリックに、変位量が保持される。すなわち、メモ
リ25.30には、ドツトP4のドラ)PilC対する
変位量が保持され、メモ1755,40には、ドラ)P
sのドラ)P4に対する変位量が保持される。
従って、メモリ25及びメモリ35には、常K。
一方に第5図及び第4図に示したDXl(Xi(−Xk
−1)7)i、他方K D X 2 (= Xk++ 
−Xk)d’保持され、又、メモリ30及びメモリ40
には、常に、一方にD Y 1 (= Yk−Ylr−
1)が、他方にDY2(=Yk++ −Ylc)が保持
されることKなる。
判定制御部15はつぎに、変位設定部45を起動する。
変位設定部45は、メモ!725.30゜35.40の
内容(DXl、DYl、DX2.DY2)を、それぞれ
に対応する作業用メモリ55.60゜65.70に転送
する。
判定制御部15け、さらに加算部50を起動する。加算
部50は、メモリ25と35とが保持しているDXlと
DX2とを加算してDX5(=Xk++−Xk−+)を
導びき、その値を作業用メモリ75にセットする。そし
て、又、メモリ30と40とが保持しているDYlとD
Y2とを加算してDY3(= Yk++ −Yk−+ 
)  を導びき、その値を作業用メモリ80にセットす
る。
判定制御部15は、さらに、加算部95を起動する。こ
こで、メモリ110,125には、予め。
ドラ)Pk−+の水平、垂直座標Xk lo Yk−’
がそれぞれ保持されているものとする。そこで、加算部
95は1作業用メモリ55.60もしくは、65.70
に保持されているDXl及びDYlと、メモリ110.
125に保持されているX k−1及びYk−+と。
を加算してXk及びYl(を導き出し、これをメモリ1
10.125に戻して再び保持させる。この動作により
、メモリ110,125には、常に、現ドッ) Pkの
水平、垂直座標Xi(、Yl(が保持されるよう釦なっ
ている。
判定制御部15け、最後釦、判定部85を起動する。判
定部85け、tず、塗〕つぶしの方向を保持するメモリ
105に+1(右方向)を送出し。
つぎに1作業用メモリ55,60.65.70、y5.
80(D内容(DXl、DYE、DX2.DY2゜DX
3.DYE)を読み出して、第3図−ト−(elの判定
条件を満足するか否かを調べる。その結果、いずれの条
件をも満足しない事が分ったら、メモリ105にO(N
on Eff’oct )を送出する。また、上記以外
の時、すなわち、いずれかの条件を満足することが分っ
たら、メモリ105には何も送出しない。
判定制御部15は、さらに制御部10に信号を送出し、
塗りつぶしの準備が完了した事を伝達する。制御部10
は、この信号を受けて、塗りつぶし制御部100を起動
する。
塗りつぶし制御部100け、まず、メモリ105の内容
を読み出し、それが0の場合は、塗りつぶし不要と判断
し、直ちに、終了信号を制御部10に送出する。また、
メモリ105の内容が+1(右方向)の場合は、まず、
X座標設定部130を起動する。X座標設定部150は
、メモリ110に保持されてるXk t、作業用メモリ
155に転送する。
塗りつぶし制御部100は、さらに加算部150を起動
する。加算部150は、メモリ105に保持されている
+1と、メモリ155に保持されているXkとを加算し
てXk+lt”導き出し、それを再びメモリ155に戻
す。これによル、塗)つぶしの出発点のX座標、即ち、
前述の如く現ドッ) Pkの隣接右画素のX座標が、メ
モリ155に保持されることKなる。
塗りつぶし制御部100は、さらに、 VRAM !J
−ドーライト部160に、リード信号を送出する。
VRAMリード−ライト部160は、メモリ155゜1
25の内容が示す水平、垂直座標(Xk++、Yl□に
位置する画素、即ち、現ドッ) Pkの隣接右画素’i
VRAM 165から読み出し、リード・ライトパ、ブ
145に転送する。
塗りつぶし制御部100け、さらに、比較部135を起
動する。比較部135け、先に読み出され、リード・ラ
イトバッファ145に保持されている該当画素の色と、
メモリ115に保持されている境界線色及びメモリ12
0に保持されている塗)つぶし色とを比較し、いずれと
も一致しないことが分った時、不一致信号を、また、い
ずれかと一致することが分った時一致信号を、それぞれ
塗りつぶし制御部100へ送出する。
塗りつぶし制御部100け、不一致信号を受けた時、ま
ず、検力つぶし色設定部140を起動する。伺、一致信
号を受けた時については後述する。
塗りつぶし色設定部140け、塗)つぶし色を保持する
メモリ120の内容をリード争ライトバッファ145に
転送する。つぎに、塗りつぶし制御部100け、 VR
AMリード・ライト部160にライト信号を送る。VR
AMリード・ライト部160は、VRAM 165の該
当画素の色を、塗多つぶし色に書きかえる。
次に、塗りつぶし制御部100け、再び加算部150を
起動する。加算部150は、前述と同様に、メモリ10
5に保持されている+1と、メモリ155に保持されて
いるXk+1とを加算してXk+2を導びき出し、それ
を再びメモリ155に戻す。従って、今度は前述の画素
の更に右隣シの画素について、同様の動作が行なわれる
ことになる。
こうして、以下、比較器135から一致信号が送出され
るまで1次々に右隣シの画素について同様の動作が繰シ
返され、即ち、境界MK達するまで右向きに塗)つぶし
が行なわれるわけである。
さて、比較器135から一致信号が送出され、塗りつぶ
し制御部100がそれを受領すると、塗りつぶし制御部
100は、塗)つぶし終了と判断し、終了信号を制御部
10へ送出する。制御部10は、この信号を受けて、塗
りつぶし未完か完了かを判断する。すなわち、塗りつぶ
しは、右方向と左方向の2回に分けて行なわれるため、
塗りつぶし制御部100からの終了信号ft1回しか受
領していない時には、塗りつぶし未完と判断し、2回受
領した時にけ塗)つぶし完了と判断する。塗りつぶし未
完と判断した時、制御部10け1判定制御部15を起動
する。それによ)1判定制御部15け、符号反転部90
を起動する。符号反転部90Vi、メモリ55.60.
65.70.75,80に保持されている値の符号をす
べて反転する。判定制御部15け、さらに判定部85を
起動する。
判定部85け、まず、メモリ105に−1(左方向)を
送出し、つぎに、メモリ55.60.65.70.75
.80の内容を読み出して、第3図(at〜telの判
定条件を満足するか否かを調べる。その結果、いずれの
条件をも満足しないことが分ったら。
メモ105KOを送出する。また上記以外の時、メモリ
105には何も送出しない。
判定制御部15は、さらに、制御部10に信号を送出し
、制御部10はこれを受けて、塗りつぶし制御部100
を起動する。塗りつぶし制御部100は、前記と同様の
検力つぶし制御動作を行ない、塗りつぶし終了時には、
制御部1oに終了信号を送出する。これによって、現ド
ッ)Pkの隣接左画素を出発点として境界線に達するま
で左向きに塗りつぶしが行われたわけである。
さて、終了信号を受けると、制御部10け、塗りつぶし
が完了したか否かを判断し、完了したと判断した時、ド
ツト列発生部5に終了信号を送出する。ドツト列発生部
5け、これを受けて、次の1ドツトを発生し、制御部1
0に直前のドツトに対する水平、垂直方向の変位量DI
、DYを送出する。
以下、同様の動作を繰シ返し、ドツト列発生部5が最終
ドツトを発生して、そのドツトに対する前記動作が終了
した時、塗りつぶし終了となる。
以上が第1図に示した閉図形塗りつぶし装置の構成及び
その動作の説明である。
次に、これをソフトウェア処理で実現する場合について
説明を行う。
第6図は塗りつぶしをソフトウェア処理で実現する場合
の処理フローチャートである。
尚1本ソフトウェアでは、ドツト列発生部にて新しいド
ツトが1ドツト発生されるたびに、第6図に示すフロー
チャートの開始ステップから処理が開始されるようにな
っている。
また、最初のドラ)P+発生時にけ、ドツト列発生部か
らは、最初のドラ)P+である旨の識別フラグとともに
、そのドツトP+のX、Y座標が送出され、又、最初の
ドラ)P+でない時にけ、その旨の識別フラグとともに
、発生されたドラ)Piの直前のドラ)Pi−+lC対
する変位量D1.DYが送出されるよう釦なっている。
先ず、ドツト列発生部にて最初のドラ)P+が発生され
たとする。それによル、本ソフトウェアが起動し、処理
が開始される。
ステップ200では、先ず発生されたドツトが最初のド
ラ)P+であるか否かを、送出された識別フラグによっ
て判定する。先に述べた様K、発生されたドツトは最初
のドラ)P+であるので1次のステップとしてステップ
205に進む。ステップ205では、送出されたX、Y
座標をメモリMX。
MYK初期設定する。
つぎに、ステップ210では、第2のドツトP2以降の
発生時に送出されてくる変位量DX、DYの格納用メモ
!JMD1.MDYに対する格納先ポインタNPを1に
初期設定する。
MDX、MDYけ、長さ2のスタックであシ、変位量D
X、DY’tサイクリックに格納するため、格納するメ
モリはMDI(NP)、MDY(MP)と表わせ、NP
FiO又は1の値を取る。すなわち、第2のドツトP2
を発生した時、MDXIOI、MDYlol Kは、ド
ラ)PlのドツトP1に対する変位量DI%DYが格納
され、第3のドラ)Psを発生した時。
M D X (1)、  M D Y 111KFiド
ツトPsOドツトP2に対する変位量DX、DYが格納
される。さらにドラ)P+発生時には、ドツトP4のド
ラ)Psに対する変位量DX、DYがM D Ifol
、 M D Y(01に格納され。
ドラトルs発生時には、ドツトPtのドツトP4に対す
る変位量D1.DYが、M D Xtll、 M D 
Y(11に格納される。従って、NPは、この格納先(
0又は1)を示すポインタで8フ、変位量DX、DY′
ft受領するたびにその値が反転されるのである。
次に、ステップ220では、コントロール・フラグl、
TRL  FI、GをOK上セツトる。
以上で、ドツト列発生部にて発生された最初のドツトP
1に対するソフトウェア処理は終了する。
さて、次K、ドツト列発生部にてtK2のドツトP2が
発生され、ドツト列発生部から識別フラグと。
ドラ)Plのドラ)P+に対する変位量DX、DYとが
送出される。それKより、再び1本ソフトウェアが起動
し、処理が開始される。
先ず、発生されたドツトは第2のドラ)Plであるので
、ステップ200の判定で、ステップ225へ制御が移
る。ステップ225では、CTRLFLG の内容が0
であるか1であるかを判定する。
先に、ステップ220でCTRL  FLG:Oと設定
されているので1次のステップとして、ステップ230
へ進む。ステップ230では、ポインタNPの値を反転
後、すなわち、NP=Oとした後。
MDI(NP)、MDY(NP)K送出されたDX、D
Yを格納する。即ち、前述した様に、ドラ)Plのドツ
トP+lC対する変位量DX、DYがMDX fil、
 M D Y folK格納されたわけでおる。さらK
ステップ235では、C’l’RL  FLOを1にセ
ットする。
以上で、ドツト列発生部にて発生された第°2のドラ)
Plに対するソフトウェア処理は終了する。
次に、ドツト列発生部にて第3のドラ)Plが発生され
、ドツト列発生部から識別フラグとドツトpsのドラ)
Plに対する変位量DX、DYとが送出される。それK
より、再び1本ソフトウェアが起動し、処理が開始され
る。
先ず1発生されたドツトは第3のドラ)Psであるので
、ステップ200の判定で、ステップ225へ進む。ス
テップ225では、前述した様KC’rRL  FLG
の内容が0であるか1であるかを判定する。先K、ステ
ップ235でCTRL  FLG=1と設定されている
ので、ステップ240へ進む。ステップ240では、ポ
インタNPの値を反転後1MDI(NP)、MDY(N
P)K送出されたDX、DY−を格納する。また、それ
とともにOPを求める。OPはMDX、MDYにおける
最新ドツトの1つ前のドツトのドツト変位量の格納先を
示すポインタであシ、NPを反転することによって求ま
る。
ステップ245では、MDI、MDYの内容を作業用メ
モリWDX、WDYK転送する。WDX。
WDYは長さ3の作業エリアであF)、MDX(01け
W D X roIに、MDY(01けW D Y (
01に、MDXlllけW D X 111に、MDY
rllけW D Y 111に、それぞれ対応する。
ステップ250では、WDXIOIO内容とWDX(1
1の内容とを加算し、その結果tWDX(21にセット
する。また、WDYIOlの内容とWDYlllの内容
とを加算し、その結果をW D Y (21にセットす
る。
ステップ255でけ、メモリMX、MYの内容とWDX
(OP)、WDY(OP)の内容とをそれぞれ加算し、
その結果をそれぞれ再びメモI) liX、MYK戻す
ステップ260でけ、塗りつぶし制御を行なう。
その詳細なフローを第7図に示す。
第7図において、ステップ300では、検力つぶし判定
カウンタCNTt″2にセットする。判定は、右方向と
左方向の2回に分けて行なう必要があるためである。
ステップ305では、塗りつぶしの方向を指示するメモ
リDIRに+1(右方向)f:セットする。
ステップ510〜530では、第3図(al〜(elの
各ケースに該当するか否かを判定する。いずれのケース
にも該当しなかった時、ステップ335でメモリDIR
を0にセットする。
次に、ステップ340では、実際に塗)つぶし処理を行
なう。その詳細なフローを第8図に示す。
第8図において、ステップ400では、メモリDIRの
内容を読み出し、それが0なら、何もしない。また、0
でないなら、ステップ405に進む。ステップ405で
は、現ドツトのX座標を保持するメモリMXの内容をカ
ウンタWxに転送する。次に、ステップ410では、カ
ウンタWXの内容と、メモ!jDIHの内容とを加算し
、その結果を再びカクンタWXK戻す。これによ勺、現
ドツトの右に隣接する画素のX座標が求まる。
ステップ415では、上記画素iVRAMよ)リードす
る。閏、上記画素のY座標はメモ17 M Y K保持
されている。
ステップ420,425では、予め保持されている塗り
つぶし色、境界色と、ステップ415にて読み出した画
素の色とを比較する。その結果いずれとも一致しなかっ
た場合、ステップ450に進み、該画素を塗りつぶし色
で書きかえる。また、いずれかと一致した場合、塗りつ
ぶし終了となる。
ステップ430での処理の後は、さらK、該画素の隣接
右画素につき、上記と同様の処理を行なうため、ステッ
プ410に進み、ループを形成する。このようにして、
ステップ420またはステップ425で、読み出した画
素の色と、塗りつぶし色または境界色との一致を検出し
た時、ループから脱出し、塗りつぶし終了となる。この
時、第7図に示すステップ345に制御が移る。
ステップ345では、カウンタCNTの内容を1減じ、
その結果が0でない時、未終了と判定し。
ステップ350に進む。すなわち、塗りつぶしは。
右方向と左方向の2回に分けて行なう必要が1)、塗ヤ
つぶしを、まだ1回しか行なっていない時、ステップ3
50へ進み、2回とも行なった時、終了となる。
ステップ350では、メモリW D X (01、WD
Y(0)、W D X(1)、 W D Yrll、W
 D X 121、WDY(2)+7)符号を反転する
。これは、第4図ら)〜letの判定を行なうためであ
る。
ステップ355では、DIRに−1(左方向)をナツト
する。
その後、ステップ310に戻シ、ステップ310〜33
0で左方向塗多つぶしの必要性を判定する。以下、前記
と同様の処理を行ない、ステップ345でCNTの内容
を1減じる。その結果、CNTの内容FiOとな飢判定
終了と判定されて、ループを脱出する。制御は、第6図
に示すステップ265に移)、ドツト列発生部にて発生
された第3のドツトPiに対する処理が終了する。
更K、ドツト列発生部にて次のドラ)Paが発生されド
ツト列発生部から識別フラグと変位量とが送出される。
それにより、再び1本ソフトウエアが起動し、処理が開
始される。このドツトに対する処理の流れは、前記と同
様に、第6図において。
ステップ200.→ステップ225→ステップ240・
・・・・・→ステップ265となる。
以下、同様の処理を繰り返し、最終ドラ)K対する処理
が終った時、閉図形の塗りつぶしが終了する。
以上が、ン7トウエア処理にて実現する場合の説明であ
る。
なお1本実施例では、ドツト列発生の方向を時計回)と
して説明したが、これに限定されるものではなく、反時
計回ルでありてもよい。この場合くけ、まず、現ドツト
の左方向への塗りつぶしを行ない、次に、右方向への塗
りつぶしを行なう。
左方向塗りつぶし判定条件は、第6図(blにおいて、
DX3>04−DX4S<OK、同図1ot において
、DX 3<O’kDX 5>0rIC1同図1dlに
おいて、DXl>O’tDX1<0に、同図(elにお
いて、DX2(olDX2.>0にそれぞれ変更すれば
よい。また、右方内塗りつぶしの判定は、DXl、0X
2.0X3.DYl、DX2.DX3の符号をすべて反
転した後、第31伝)〜telの変更後の判定条件を用
いればよい。
〔発明の効果〕
以上説明したごとく、本発明によれば、閉図形の形状を
変更するたびK、塗りつぶしの出発点として閉図形内部
の一点を指定する必要がないので操作がわずられしくな
い。また、大量の作業用メモリを必要としないので、装
置が安価に構成できる。また、ソーティングなど時間の
かかる処理は不要であ)、塗夛つぶしが高速に行なえる
利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すプ四ツク図。 第2図は閉図形の境界線ドツト列を示す説明図、第3図
及び第4図はそれぞれ3ドツトのドツト間位置関係によ
る塗りつぶしを行うべき場合と、その判定条件とを示す
説明図、第5図は閉図形を塗シつぶす過程を説明するた
めの説明図、第6図は塗りつぶし七ノットウェア処理で
実現する場合の処理70−チャー)、!7図は第6図の
検力つぶし制御を説明するだめのフローチャート、第8
図は第7図の塗りつぶし処理を説明するためのフローチ
ャート、である。 5・・・閉図形のドツト列発生部、10・・・制御部、
15・・・判定制御部、20・・・ドツト受領部、25
・・・水平方向ドツト変位を保持する第1のメモリ、3
0・・・垂直方向ドツト変位を保持する第1のメモリ、
35・・・水平方向ドツト変位を保持する@2のメモリ
、40・・・垂直方向ドツト変位を保持する第2のメモ
リ、45・・・ドツト変位設定部、50・・・加算部、
55・・・メモ1J25に対応する作業用メモリ。 60・・・メモリ30に対応する作業用メモリ、65・
・・メモリ35に対応する作業用メモリ、70・・・メ
モリ40に対応する作業用メそす、75・・・メモリ2
5の内容とメモリ35の内容とを加算した結果を保持す
る作業用メモlJ、80・・・メモリ50の内容とメモ
リ4oの内容とを加算した結果を保持する作業用メモリ
、 85・・・塗りつぶし検出部、9o・・・符号反転部、
95・・・加算部、100・・・塗りつぶし制御部。 105・・・塗りつぶし方向を保持するメモリ。 110・・・現ドツトのX座標を保持するメモリ。 115・・・境界線色を保持するメモリ、120・・・
塗夛つぶし色を保持するメモリ、125・・・現ドツト
のY座標を保持するメモリ、150・・・X座標設定部
、135・・・比較部、14o・・・塗)っぷし色設定
部、  145 ・= l/RAM Read Wri
teバッファ。 150・・・加算部、155・・・X座標カウンタ。 160 = VRAM Read Write部、16
5・VRAMVlz図 第3 図 )’9 ) Pre争−f(XkfIIYIlt−ン第
 4図 ト”′−ノドPw+rmcXw+I、Yw++)15図 第 6図 第7図

Claims (1)

    【特許請求の範囲】
  1. 1)閉図形のドット列発生部より発生されるドット列の
    うち、常に最新の3ドットのドット間水平、垂直変位量
    を保持するメモリと、該メモリ内容の符号を反転させる
    符号反転部と、塗りつぶし判定部と、該判定部による判
    定結果に基づいて、現ドットを基準として右水平方向ま
    たは左水平方向に境界線まで達するまで塗りつぶしを実
    行する塗りつぶし部と、から成り、前記塗りつぶし判定
    部は、前記メモリ内容を読み出し、現ドットを基準とし
    て右水平方向(または左水平方向)に塗りつぶすか否か
    を、また前記符号反転部によって符号が反転されたメモ
    リ内容を読み出し、現ドットを基準として左水平方向(
    または右水平方向)に塗りつぶすか否かを、それぞれド
    ット間位置関係により判定するようにしたことを特徴と
    する閉図形塗りつぶし装置。
JP8242785A 1985-04-19 1985-04-19 閉図形塗りつぶし装置 Pending JPS61241880A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8242785A JPS61241880A (ja) 1985-04-19 1985-04-19 閉図形塗りつぶし装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8242785A JPS61241880A (ja) 1985-04-19 1985-04-19 閉図形塗りつぶし装置

Publications (1)

Publication Number Publication Date
JPS61241880A true JPS61241880A (ja) 1986-10-28

Family

ID=13774282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8242785A Pending JPS61241880A (ja) 1985-04-19 1985-04-19 閉図形塗りつぶし装置

Country Status (1)

Country Link
JP (1) JPS61241880A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126776A (ja) * 1987-11-12 1989-05-18 Fujitsu Ltd アドレス発生回路
JPH01196675A (ja) * 1988-01-30 1989-08-08 Toshiba Corp パターンデータ生成方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126776A (ja) * 1987-11-12 1989-05-18 Fujitsu Ltd アドレス発生回路
JPH01196675A (ja) * 1988-01-30 1989-08-08 Toshiba Corp パターンデータ生成方式

Similar Documents

Publication Publication Date Title
US6268846B1 (en) 3D graphics based on images and morphing
US6985156B2 (en) System and process for optimal texture map reconstruction from multiple views
JPS61241880A (ja) 閉図形塗りつぶし装置
JPH01296389A (ja) 図形処理方法及びその装置
JP2634851B2 (ja) 画像処理装置
JP2747822B2 (ja) 図形表示装置
JPS63305478A (ja) パタ−ン情報復元装置
JPH0285978A (ja) 立体の隠面処理方法
JPH061493B2 (ja) 画像の塗りつぶし装置
JPH0696231A (ja) グラフィックス表示方法および装置
JP2806185B2 (ja) 多角形塗りつぶし装置
JPH07105404A (ja) 立体画像処理装置及びその処理方法
JPH0350686A (ja) 図形処理方式
JP2836617B2 (ja) レンダリングプロセッサ
JPS5846026B2 (ja) デイスプレイ装置における隠線消去方式
JPS62171078A (ja) 曲線図形描画方法
JPH02168361A (ja) 座標データを発生するパターンデータ発生装置及びプロセッサ
JPH0259871A (ja) 画像処理装置および画像処理方法
JPH0414190A (ja) 塗りつぶし回路
JPH0431399B2 (ja)
JPH0290282A (ja) 面塗り処理方式
JP2641790B2 (ja) ベクトルのラスタ変換装置
JPS6290772A (ja) 三次元物体表示処理方式
JP2000268186A (ja) 描画処理装置
JPH02236789A (ja) 台形の面塗り処理方式