JPH01196675A - パターンデータ生成方式 - Google Patents

パターンデータ生成方式

Info

Publication number
JPH01196675A
JPH01196675A JP63020314A JP2031488A JPH01196675A JP H01196675 A JPH01196675 A JP H01196675A JP 63020314 A JP63020314 A JP 63020314A JP 2031488 A JP2031488 A JP 2031488A JP H01196675 A JPH01196675 A JP H01196675A
Authority
JP
Japan
Prior art keywords
point
data
pattern data
control means
memory
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
JP63020314A
Other languages
English (en)
Inventor
Tsutomu Minagawa
勉 皆川
Masahide Ohashi
大橋 正秀
Naoyuki Kai
直行 甲斐
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63020314A priority Critical patent/JPH01196675A/ja
Priority to US07/302,709 priority patent/US5016001A/en
Priority to DE68915006T priority patent/DE68915006T2/de
Priority to KR1019890001001A priority patent/KR970003327B1/ko
Priority to EP89101586A priority patent/EP0327003B1/en
Publication of JPH01196675A publication Critical patent/JPH01196675A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/40Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) この発明は、2次元のビットマツプ上で境界のデータが
定義された圧意の閉図形の塗りつぶしが行なわれたパタ
ーンデータを生成するパターンデータ生成方式に関する
(従来の技術) グラフィクスの分野では、境界が多角形の領域ヲ塗りつ
ぶしてパターンデータを作る要求が高い。
また、DDA (ディジタル微分解析器)等のハードウ
ェアを用いて任意の曲線を1点ずつ発生し、その内部を
塗りつぶす要求も高い。従来では、このような要求に対
し、多角形のスキャン変換を用いて塗りつぶしを行なっ
ている。このスキャン変換では、2次元のビットマツプ
の1つの方向を選び、これをスキャン方向と呼び、これ
に平行な直線をスキャンラインと呼ぶ。塗りつぶしの際
には各スキャンライン毎に閉図形の中に含まれる線分の
両端の座標を求め、その線分を全て塗りつぶすことによ
り閉図形全体の塗りつぶしを行なうようにしている。
次に、従来の多角形のスキャン変換による塗りつぶし処
理を、第26図並びに第27図(a)ないしくC)を用
いて説明する。なお、第26図において、71はスキャ
ン変換を行なう矩形領域であり、72〜77はそれぞれ
境界の多角形の頂点、78〜83はそれぞれ多角形の辺
、91は1つのスキャンラインである。
■ まず、1つのスキャンライン91について、多角形
の辺との交点PO,PI、P2.P3を求め、それをス
キャン方向の座標値の順呑にソートする。
■ 次に交点が辺の端、すなわち多角形の頂点である場
合は、多角形の辺の繋がり方に応じた処理を行なう。例
えば、第27図(a)の場合、頂点Aは通常の交点と同
じに取扱う。また、第27図(b)の場合、頂点B、C
のうち、片方を交点として取扱う。さらに第27図(C
)の場合には頂点りを交点2個分として取扱う。
■ 次に、ソートされた交点を2つずつ対にして、それ
を両端とする線分(第25図中の線分84゜85)を塗
る。
このため、従来ではソート等のソフトウェアによる処理
時間がかかり、高速な塗りつぶし処理が行なえず、また
ハードウェア化も困難であった。
また、線分を塗る際には上記の■の手順で説明したよう
に、頂点について特別な処理を必要とする。さらに、境
界を定義する曲線の1点毎の変化をプロセッサによりソ
フトウェア的に、またはDDA等のハードウェアにより
生成した場合でも、スキャン変換では1点毎の変化を1
つの線分として取扱わざるを得ず、そのために扱うデー
タ量が膨大になってしまう欠点がある。
(発明が解決しようとする課題) このように従来では閉図形の塗りつぶしを行なう場合に
、高速に行なえない、ノ1−ドウエア化が困難、等の種
々の欠点がある。
この発明は上記のような事情を考慮してなされたもので
あり、その目的は、塗りつぶしを高速に行なうことがで
き、かつハードウェア化が容易なパターンデータ生成方
式を提供することにある。
[発明の構成] (課題を解決するための手段) この発明のパターンデータ生成方式は、第1、第2のビ
ットマツプメモリと、dx、dyに基づき閉曲線の境界
に対応した点を順次発生し、上記第1のビットマツプメ
モリに書込む第1の制御手段と、dx、dyに基づき閉
曲線の領域の塗りつぶしに必要な点を所定のルールに従
って順次発生し、上記第2のビットマツプメモリに書込
む第2の制御手段と、上記第2のビットマツプメモリ上
で1つの方向をスキャン方向としたとき、1つのスキャ
ンライン上にbO,bl、・・・、b(w−2)、b(
w−1)からなるw個(wは正の整数)の点が存在する
際に、点b(j)(jは0以上でW未満)に対応した位
置に点bO,bl、・・・、b(j−1)のデータの排
他的論理和データを順次書込む第3の制御手段と、上記
第1のビットマツプメモリの任意の点のデータと、上記
排他的論理和データが書き込まれた後の上記第2のビッ
トマツプメモリの対応する点のデータとの演算を行ない
最終の塗りつぶしが行なわれたパターンデータを得る第
4の制御手段とを具備している。
第2の制御手段は、任意の点に対しそれよりも1つ前の
点からのdx、dyと、任意の描画点に対しそれよりも
1つ後の点へのdx、dyとに従って、あるいは、任意
の点に対しそれよりも前の点からのdyと任意の点に対
しそれよりも後の点へのdyとに従って、塗りつぶしに
必要な点を発生する。
第4の制御手段は、第1のビットマツプメモリの任意の
点のデータと、第2のビットマツプメモリの対応する点
のデータとの論理和演算を行なうことにより、あるいは
、第1のビットマツプメモリの任意の点のデータを反転
したものと、第2のビットマツプメモリの対応する点の
データとの論理積演算を行なうことにより最終の塗りつ
ぶしが行なわれたパターンデータを得る。
さらにこの発明では、塗りつぶしを行なう閉曲線が第1
、第2のビットマツプメモリよりも大きな領域に存在す
る際には、閉曲線を複数の象限に分割する手段と、スキ
ャン方向で隣接する2つの象限のうち左側の象限の閉曲
線に対し第1ないし第4の制御手段を用いて生成された
パターンデータの右端域1列分のデータを保持するデー
タ保持手段とをさらに設け、スキャン方向で隣接する2
つの象限のうち右側の象限の閉曲線に対するパターンデ
ータ生成の際に上記保持データを初期値として用いる。
(作用) この発明のパターンデータ生成方式では、塗りつぶしを
行なうべき領域に対し、境界のデータは、右回り、左回
りいずれかの方向が定義されている。
そして、このデータは閉曲線の開始点の座標と、1点毎
の変化量dx、dyとして与えられる。ここで、dx、
dyはそれぞれ+1.−1.0のいずれか1つの値をと
る。
このようなデータから塗りつぶしパターンデータを生成
するために、第1、第2のビットマツプメモリを使用し
、dx、dyのデータから閉曲線の境界に対応した点を
発生し、第1のビットマツプメモリに書込む。また、閉
曲線の領域の塗りつぶしに必要な点を発生し、第2のビ
ットマツプメモリに書込む。第1のビットマツプメモリ
に書き込まれる点は必ず境界上の点であり、第2のビッ
トマツプメモリに書き込まれる点は必ずしも境界上の点
ではない。
このようにして点を第1、第2のビットマツプメモリに
書込んだ後は、第2のビットマツプメモリ上で1つの方
向をスキャン方向とし、1つのスキャンライン上にbO
,bl、・・・、b(w−2)。
b(w−1)からなるw個(wは正の整数)の点が存在
する際に、点b(j)(jは0以上でW未満)に対応し
た第2のビットマツプメモリ上の位置に点bO,bl、
・・・、 b (j−1)のデータの排他的論理和デー
タを順次書込む。そして、第1のビットマツプメモリの
任意の点のデータと、上記排他的論理和データが書き込
まれた後の上記第2のビットマツプメモリの対応する点
のデータとの演算を行なって最終の塗りつぶしが行なわ
れたパターンデータを得る。
ここで上記演算として、第1のビットマツプメモリの任
意の点のデータと、第2のビットマツプメモリの対応す
る点のデータとの論理和演算を行なうことにより、閉曲
線の境界を含む領域が塗りつぶされたパターンデータが
得られ、第1のビットマツプメモリの任意の点のデータ
を反転したものと、第2のビットマツプメモリの対応す
る点のデータとの論理積演算を行なうことにより、境界
が含まれない領域が塗りつぶされたパターンデータが得
られる。
さらに塗りつぶしを行なう閉曲線が第1、第2のビット
マツプメモリよりも大きな領域に存在するような場合で
も、閉曲線を複数の象限に分割することによってパター
ンデータを得ることができる。
(実施例) 以下、図面を参照してこの発明を実施例により説明する
第2図はこの発明のパターンデータ生成方式を実現する
ために使用されるハードウェアの構成を示すブロック図
である。図において、11は例えばホストコンピュータ
等からなる入力装置、12はプロセッサ、13はそれぞ
れ2次元のビットマツプの矩形領域に対応したA面及び
B面の2面を有するメモリ、14は表示装置であり、こ
れらはバス15で相互に接続されている。
上記人力装置11は、塗りつぶしを行なう境界線を、右
回りもしくは左回りの方向が定義された閉曲線のデータ
として、開始点のx、y座標と、それぞれ+1.−1、
0の値をとる1点毎の座標の変化j2dx、dyを順次
出力する。
プロセッサ12は上記データdx、dyに基づき、上記
境界に対応した点を順次発生し、このデータをメモリ1
3のA面に描画すると共に、上記データdx、dyに基
づき、上記閉曲線の塗りつぶしに必要な点を所定のルー
ルに従って順次発生し、このデータをメモリ13のB面
に描画する。なお、このプロセッサ12から上記入力装
置11の代わりに上記変化量dx、dyを出力させるこ
ともできる。
さらにプロセッサ12は、メモリ13のB面に描画され
た1つのスキャンライン上の各点のデータを用いて演算
を行ない、得られたデータを再びメモリ13のB面に描
画する。そして、プロセッサ12は、メモリ13のA面
とB面の対応する点のデータ間で演算を行ない最終的な
パターンデータを生成する。
このパターンデータは例えばメモリ13のB面に描画さ
れるが、このメモリの他の領域もしくは他のメモリに描
画させることもできる。
上記パターンデータは表示装置14に送られ、ここで上
記閉曲線の領域が塗りつぶされたパターンが表示される
このようなハードウェアを使用してパターンデータを生
成する際の手順は次の通りである。
■ まず、メモリ13のA面及びB面のデータが全て0
1にクリアされる。
■ 次に多角形の1つの点が開始点に選ばれる。
■ 上記多角形の辺上の点が入力装置11で右回りに順
次発生され、前の点からのずれ(d x。
dy)が順次出力される。プロセッサ12では、第1図
もしくは第14図のフローチャートで示されるようなア
ルゴリズムに従ってA面及びB面に描画すべき点が順次
発生され、これがメモリ13に書込まれる。
■ 次にB面において、1つのスキャンラインがWビッ
トからなり、そのスキャンラインのビットデータをdo
、di、・・・d(w−1)とすると、次の(1)式も
しくは(2)式で示されるような演算を行なうことによ
り新たなデータdO′。
dl’、・・・d(w−1)’が発生され、これがB面
に再び描画される。
■ A面とB面の対応する点との間で論理和演算、もし
くはA面の点のデータを反転したものと、B面の対応す
る点のデータとの論理積演算演算等が行われ、最終的な
パターンデータが生成される。
第1図のフローチャートでは、まず、ステップsl(以
下、単にSという)で開始点のXrY座標(x c、 
 y c)と始めのdx、dyが与えられる。そして、
この座標と始めのdx、dyが保持される。次に52で
次以降のdxi、dyiが入力される。次に83に進み
、ここで描画すべき点のアドレスが計算される。この計
算は開始点のX。
y座標XC,VCにそれぞれ方向の変化mdx。
dyを加算することにより行なわれる。アドレス計算後
はS4に進み、ここで現在の描画点に対する前の点から
のy方向の変化fa d y 1の絶対値Idyllと
、現在の描画点に対する次の点からのy方向の変化ma
yの絶対値Idylとが比較される。そして、両者が共
に1である場合には次の85に進み、ここでdyl−d
yが判断される。
d)/1−dyであれば次の56で定数aが“1”にさ
れ、dyl≠dyであれば次のS7で定数aが′0”に
される。
一方、上記S4で両者が共に1でないと判断された場合
にはS8に進み、ここでciyl、  dyが共に0か
どうかが判断される。そして、0の場合には次の59に
進み、ここでdxl−dxが判断される。dxl=dx
であれば次のslOで定数aが“0″にされ、dxl≠
dxであれば次のsllで定数aが“1′にされる。ま
た、上記S8で両者が共に0でないと判断された場合に
はS12に進み、ここでIdyl−1かどうかが判断さ
れる。
そして、1の場合にはS13に進み、1でない場合には
S14に進む。S13では、dxl、  dyが共に+
1、もしくはdxl、dyが共に−1であるか否かが判
断され、共に+1もしくは−1であれば次のS15で定
数aが“1”にされ、共に+1もしくは−1でなければ
次のslBで定数aが“0”にされる。s 14では、
dylが+1でかつdxが−1、もしくはdylが−1
でかつdxが+1であるか否かが判断され、この条件が
満たされていれば次のS17で定数aが“1″にされ、
満たされていなければ次のS18で定数aが“0”にさ
れる。
上記s6.s7.slo、’″s 11.  s 15
.  s 10゜S17.S18で定数の値が設定され
た後は、S19及びS20に進む。このS19及びS2
0では、メモリのA面及びB面の上記S3で計算された
アドレスの座標に対応した点に描画が行なわれる。この
とき、A面では無条件に“1“が描画されるが、B面で
はその座標の元のデータと上記定数aとの間の排他的オ
ア(EXOR)がとられ、その結果が描画される。A面
及びB面の描画後はS21に進み、dx、dyが前の点
に対する変化W(dxl。
dyl)にされる。
S21の後はS22に進み、エンドフラグ(endrl
ag )に1が立っているかどうかが判定され、1が立
っていなければ次にS23に進み、バスエンド(pat
h end)であるか否かが判断される。バスエンドと
は、パターンデータを発生すべき閉図形に対して全ての
dx、dyが入力されたことを意味するものであり、バ
スエンドでなければ再びS2に戻り、dxi、dyiの
入力が行なわれる。
他方、バスエンドであれば次にS24に進み、エンドフ
ラグに1が立てられた後、S25に進む。s’25では
slで始めに人力されたdx、dyが開始点に対する次
の点への変化量として設定され、この後、S3に進む。
S22でエンドフラグに1が立っていることが判定され
ると、次にs2Bに進む。このs2Bではs3で最後に
計算されたアドレスに対応した座標が開始点と一致して
いるかどうが判断される。そして、一致していればrP
assJとなり、一致していなければ境界線が閉じてい
ないとしてエラー処理r E rrorJ等が行なわれ
る。
上記第1図のフローチャートにおけるステップs4から
S18までは、メモリ13のB面に点を描画する際に使
用される定数aを決定するためのルールを記述したもの
であり、これをまとめたものが第3図である。なお、x
、y座標値の増減は第4図に示すような描画領域を考え
た場合に、右方向がX座標値の増加する方向であり、下
方向がy座標値の増加する方向であるとしている。
次に上記の手順により、例えば第5図に示すような境界
を有する多角形の塗りつぶしを行なう場合を説明する。
なお、第5図は、この塗りつぶしを行なうべき多角形の
通常の連続した境界線を、1点毎のデータに基づいてA
面に描画されるべき図形を示しており、境界線上の点に
は図示のように1〜33の番号を付した。
まず、A面及びB面が全てクリアされる。そして、開始
点の番号を1とすると、この点(ピクセル)における座
4!(xc、yc)と次の番号2の点に対するデータ(
dx、dy)が入力される(第1図のs 1)oこのと
き、この開始点に対してA面は描画しても、しなともど
ちらでもよいが、この場合には描画しないとする。B面
も同様に描画しない。
次に番号3の点に対するデータ(d x、  d y)
が入力される(第1図の52)。この場合、予めS21
で番号2に対する前の点(′@号1の点)からのx、y
方向の変化量(d x、  d y)が(dxl。
dyl)にされており、この値は(−1,O)であり、
番号2に対する次の点へのX、y方向の痩化量(d x
、  d y)は(−1,0)となる。このとき、上記
第3図のルールにあてはめると、番号2の点は水平線上
にあるため、定数aは“0”となる。この後、S19で
A面にはこの番号2の点が無条件で描画される。他方、
S20でB面には、この番号2の点の元のデータ(クリ
ア後の“0”)と定数aとの排他的オアデータが描画さ
れる。この場合、定数aが“0“なので、B面の描画状
態を第6図に示すように、この番号2の点には実質的に
描画は行なわれない。
次に、番号3の点の描画を行なうために、前の(−1,
O)の値の(d x、 d y)が(dxl。
dyl)にされ、次の番号4の点に対する(d x。
dy)が入力される。このとき、(d x、  d y
)−(0,−1)であり、上記第3図のルールにあては
めると、番号3の点は角にあり、かつこの角は水・1シ
方向から垂直方向に右回りで折れ曲がる角であるため、
定数aは“1″となる。この後、S19でA面にはこの
番号3の点が無条件で描画される。他方、S20でB面
には、この番号3の点の元のデータと定数aとの排他的
オアデータが描画される。この場合、定数aは12なの
で、B面にはこの番号3の点に“1゛が描画される。
次に、番号4の点の描画を行なうために、前の(0,−
1)の値の(d x、  d Y)が(dxl。
dyl)にされ、次の番号5の点に対する(d x。
dy)が入力される。このときも、(d x、  d 
y)−(0,−1)である。この状態を上記第3図のル
ールにあてはめると、番号4の点は垂直線あるいは斜め
線上にあり、定数aは“1”となる。この後、A面には
この番号4の点が無条件で描画され、B面にはこの番号
4の点の元のデータと定数aの“1”との排他的オアデ
ータである“1″が描画される。次に番号5の点の描画
が行なわれるものであるが、番号5〜7までの点は番号
4の点と条件が同じであるため、A面、B面とも“1“
が描画される。なお、A面には必ず“1“が描画される
ため、これ以降の説明ではB面の描画についてのみ説明
する。
次に、番号8の点の描画を行なうために、前の(0,−
1)の値の(d x、  d y)が(d x 1゜d
yl)にされ、次の番号9の点に対する(d x。
dy)が入力される。このときも、(d x、  d 
y)−(+1.0)である。この状態を上記第3図のル
ールにあてはめると、番号9の点は垂直方向から水平方
向に右回りで折れ曲がる角であるため、定数aは“1″
となり、B面の番号8の点には“1′が描画される。
B面の番号9〜12までの点については上記の説明と同
様にして、番号9.10の点には“O”が、番号11.
12の点には“1“がそれぞれ描画される。
次に、番号13の点の描画を行なうために、前の(0,
+1)の値の(d x、  d y)が(d x 1゜
dyl)にされ、次の番号14の点に対する(dx。
dy)が人力される。このとき、(d x、  d y
)−(+1.0)である。この状態を上記第3図のルー
ルにあてはめると、番号13の点は垂直方向から水゛1
乞方向に左回りで折れ曲がる角であるため、定数aは“
0”となり、B面の番号13の点には“0“か描画され
、実質的には描画は行なわれない。以下、番号31まで
の点については同様にして描画が行なわれ、第6図に示
すように、番号14〜to、 19.20.27〜31
の各点には′0″が、番号17゜18、21〜2Gの各
点には“1″がそれぞれ描画される。
次に、番号32の点の描画を行なうために、前の(−1
,0)の値の(d x、  d y)が(dxl。
dyl)にされ、次の番号33の点に対する(d x。
dy)が入力される。このとき、(d x、  d y
)−(−1,−1)である。この状態を上記第3図のル
ールにあてはめると、番号32の点は頂点あるいは谷と
なり、定数aは“0“となる。このため、B面の番号3
2の点には0“が描画される。
次に、番号33の点の描画を行なうために、前の(−1
,−1)の値の(d x、  d y)が(dxl。
dyl)にされ、次の番号1の点(開始点)に対する(
dx、dy)が入力される。このとき、(dx、dy)
= (−1,0)である。この状態を上記第3図のルー
ルにあてはめると、番号33の点は垂直方向から水平方
向に左回りで折れ曲がる角であるため、定数aは“0”
となる。このため、B面の番号33の点には“0”が描
画される。
次に、番号1の点の描画を行なうために、前の(−1,
0)の値の(d x、  d y)が(d x 1. 
dyl)にされる。そして、この後、前記s23でバス
エンドであると判断されたならば、前記S1で予め保持
されていた次の番号2の点に対する(d x、  d 
Y)がこの開始点に対する次の点の変化量(dx、dy
)として設定される。このとき、(dx、d!/)−(
−1,O)である。この状態を上記第3図のルールにあ
てはめると、番号1の点は水平線上にあるため、定数a
は“0・“となる。
このため、B面の番号1の開始点には“0“が描画され
る。
このようにして、メモリのA面にはff15図に示すよ
うに境界線上の全ての点に“1″が描画され、B面には
第6図に示すように境界線上の必要な点にのみ“1″が
描画される。なお、開始点を描画した結果、境界線が閉
じていれば、描画開始点の座標と最終の座標とは一致す
るはずである。これが一致しなければ、境界線は閉じて
いないことになり、この後にエラー処理等が行なわれる
次に第6図に示されるB面のデータを用いて、前記■の
手順における1式もしくは2式の演算が各スキャンライ
ン毎に行なわれ、その演算結果が再びB面に書込まれる
。このとき、前記1式の演算を行なった場合には第7図
に示すようなデータが得られ、前記2式の演算を行なっ
た場合には第9図に示すようなデータが得られる。なお
、第7図及び第9図中の丸印はその点のデータが“1“
であることを表わしている。
次に、前記■の手順における演算が第5図に示されるA
面のデータと、第7図もしくは第9図に示されるB面の
データとの間で行なわれる。ここで、例えばA面のデー
タとB面のデータとの間で論理和演算を行なうことによ
り、第8図に示すような最終的なパターンデータが生成
される。
この第8図の最終的なパターンデータはB面に書込むよ
うにしてもよいが、他のメモリに移すようにしてもよい
。最終結果をA面、8面以外の他のメモリに書込み、同
時に塗りつぶしが終了した部分のA面、B面のデータを
クリアすることで、最終的に塗りつぶし終了後はA面、
B面ともクリアされることになる。従って、この場合に
は次の閉図形の描画及びその塗りつぶし動作に必要な前
僧備のクリア動作の時間軽減が図れる。
ところで、前記第5図に示すような境界を有する多角形
の塗りつぶしの際には、前記第3図に示されるルールの
全ては使用されていない。そこで次に、上記説明では使
用されなかったルールが使用される、第10図に示すよ
うな境界を有する閉図形の塗りつぶしを行なう場合を説
明する。なお、第10図も、この塗りつぶしを行なうべ
き多角形の通常の連続した境界線を、1点毎のデータに
基づいてA面に描画されるべき図形を示しており、境界
線上の点には図示のように1〜24の番号を付した。第
10図のような境界を有する閉図形の特徴は、番号12
と18の点、番号13と17の点、番号14と16の点
及び番号15の点が単なる水平線上にあるものではなく
、境界が同一水平線上で折り返していることである。折
り返し点は番号15の点であり、この点の描画に対して
前記第3図に示すルールに従うと、番号15の点に対す
る(dxl、dyl)は(+1.0)となり、番号16
の点への(dx。
dy)は(−1,0)となり、これは同一水平線上を折
り返しすることになる。すなわち、この場合に定数aは
“1″にされ、第11図に示すように、8面ではこの番
号15に対する点に“1”の描画が行なわれることにな
る。なお、8面における他の点については前記の場合と
同様にして描画されるため、その説明は省力する。この
ようにして、メモリのA面には第10図に示すように境
界線上の全ての点に“1“が描画され、8面には第11
図に示すように境界線上の必要な点にのみ“1“が描画
される。
この後は、第11図に示される8面のデータを用いて、
前記■の手順における1式もしくは2式の演算が各スキ
ャンライン毎に行なわれ、その演算結果が再びB而に書
込まれる。このとき、前記1式の演算を行なった場合に
は第12図に示すようなデータが得られる。次に、前記
■の手順における論理和演算が第10図に示されるA面
のデータと、第12図に示される8面のデータとの間で
行なわれことにより、第13図に示すような最終的なパ
ターンデータが生成される。
このように、上記実施例によれば、従来のスキャン変換
方式のように座標のソート処理が不要であるため、閉図
形の高速な塗りつぶし処理が実行できる。さらに、1点
毎の座標変化量(dx。
dy)によって−筆書きで描かれた閉図形ならばどのよ
うなものであっても塗りつぶしでき、またどの点から座
(票が開始しても正確に塗りつぶしを行なうことができ
る。
また、上記実施例では、閉図形の境界線の描画方向に制
限がなく、従って「8」や「■」などのように描画方向
が交差していても描画が可能である。また、閉図形の形
状の単純、複雑さに関係なく、塗りつぶし領域が同じな
らば塗りつぶし速度は一定になる。
第14図のフローチャートでは、まず、S31でプロセ
ッサ12の内部レジスタVO,Vlがクリアされる。次
にs32で開始点のx、y座標(x c。
yc)と始めのdx、dyであるdxO,dy。
が与えられる。そして、この座標と始めのdx。
ayが保持される。次にs33で次以降のdxi。
dyiが入力される。次にs34に進む。このs34で
はVOの値が調べられ、vOが0の場合で、dylが+
1もしくは−1のとき、dyの値がvOにセットされる
。次にs35に進み、dylとdyの値から現在の点に
おけるデータとの間で排他的オア論理をとるための定数
aの値が所定のルールに従って決定される。次に531
3に進む。このs3[iではdyの値の変化が調べられ
、−1もしくは+1に変化したならばVlにその変化し
た値がセットされる。なお、dyの値が−1もしくは+
1に変化するのは、描画すべき点が垂直もしくは斜め方
向に変化するか、頂点、谷、角であるような場合である
。次にs37に進み、描画点のアドレスが計算される。
この計算は開始点のx、y座標(x c、  y c)
にそれぞれ方向の変化1a d x 。
dyを加算することにより行なわれる。アドレス計算後
はs38に進み、ここで、メモリのA面及び8面の上記
s37で計算されたアドレスの座標に対応した点に描画
が行なわれる。このとき、A面では無条件に“1″が描
画されるが、8面ではその座標の元のデータと上記定数
aとの間のEXORがとられ、その結果が描画される。
A面及び8面の描画後はdx、dyが前の点に対する変
化量(dxl、dyl)にされ、次にS39に進む。こ
のS39ではエンドフラグに1が立っているかどうかが
判定され、1が立っていなければ次にS40に進み、パ
スエンドであるか否かが判断される。そして、パスエン
ドでなければ再びs 33に戻り、dxi、dyiの人
力が行なわれる。他方、パスエンドであれば次にS41
でエンドフラグに1が立てられた後、S42に進む。S
42ではS32で始めに人力された(d x O,d 
y O)か開始点に対する次の点への変化、1lii(
dx、dy)としてセットされ、この後、S43に進む
。S43ではdyが0か否かが判断され、dy−oであ
ればS44に進む。
S44ではVOが+1もしくは−1かが判断され、+1
もしくは−1であればS45に進む。S45ではVO−
Vlかが判断され、VO−Vlであれば次のs4Gで定
数aに“1”がセットされ、この後、S37に進む。
一方、上記s43でdy≠0、S44で■0≠+1゜−
1、S45でVO≠■1、とそれぞれ判断されると、こ
の後は上記s34に進む。
また、上記s39でエンドフラグに1が立っていれば、
この後は前記第1図のフローチャートのs2Gの場合と
同様に、S37で最後に計算されたアドレスに対応した
座標が開始点と一致しているかどうが判断され、一致し
ていれば「Pa5sJとなり、一致していなければ境界
線が閉じていないとしてエラー処理r E rrorJ
等が行なわれる。
上記第14図のフローチャートにおけるステップs35
では、前記メモリー3の8面に点を描画する際に使用さ
れる定数aを決定しており、これを決定するためのルー
ルをまとめて記述したものが第15図である。なお、こ
の場合のx、X座標値の増減方向は第17図に示すよう
に、X座標値は前記・第4図の場合と同様であるが、X
座標値は第4図の場合とは逆にした。
第15図中、描画点が水平方向から垂直もしくは斜め方
向に変化する角に位置しているときの「比較」とは、そ
れ以前に、dylが+1もしくは−1に変化した場合の
最新の値と現在の描画点のdyとを比較するという意味
であり、この比較結果に応じて定数aの値が決定される
。例えば第16図(a)に示すように以前の点イでdy
lが+1であり、現在の点口でもdyが+1の場合には
定数aは“1″にされ、また第16図(b)に示すよう
に以前の点イでdylが+1であり、現在の点口でdy
が−1の場合には定数aは“0″にされる。
次に上記の手順により、第17図に示すような境界を“
Hする閉図形の塗りつぶしを行なう場合を説明する。な
お、第17図は、この塗りつぶしを行なうべき閉図形の
通常の連続した境界線を、1点毎のデータに基づいてA
面に描画されるべき図形を示しており、境界線上の点に
は図示のように1〜21の番号を付した。
まず、A面及び8面が全てクリアされ、レジスタVO,
vlがクリアされる。次に番号1の開始点における座標
(x c、  y c)と次の番号2の点に対するデー
タ(d x、d y)(0,+ 1)が入力される(第
14図の532)。このときはA面。
8面とも描画されない。
次に番号2の点に対し、番号3の点へのデータ(dx、
dy)= (0,+1)が人力される(第14図の83
3)。この場合、■0−0であり、番号2に対する前の
点(番号1の点)からのx、  y方向の変化ff1(
dx、dy)が(dxl、dyl)にされており、dY
l−+1であるため、VOには+1の値がセットされる
( s 34)。
番号2の点では、dyl−dy−+1であり、これを上
記第15図のルールにあてはめると、番号2の点は垂直
線あるいは斜め線上にあるため、定数aは“1”となる
。この後、第17図に示すようにA面にはこの番号2の
点に“1”が無条件で描画され、第18図に示すように
8面にはこの番号2の点の元のデータ(クリア後の“0
”)と定数aとの排他的オアデータである“1”が描画
される( s 38)。
次に、番号3の点の描画を行なうために、前の(0,+
1)の値の(d x、  d y)が(dxl。
dyl)にされ、次の番号4の点に対する(d x。
dy)か人力される。このとき、(d x、  d y
)−(0,+1)であり、番号2の点の場合と同様なの
で、第17図に示すようにA面にはこの番号3の点に“
1“が無条件で描画され、第18図に示すようにB面に
はこの番号3の点に“1″が描画される。
次に、番号4の点の描画を行なうために、前の(0,+
1)の値の(d x、  d y)が(d x 1゜d
yl)にされ、次の番号5の点に対する(d x。
dy)−(+1.0)が入力される。このとき、dyl
−+1.dy=0であり、これを上記第15図のルール
にあてはめると、番号4の点は垂直もしくは斜め方向か
ら水平方向に変化する角になり、定数aは“0”となる
。この後、第17図に示すようにA面にはこの番号4の
点に“1”が無条件で描画される。他方、B面にはこの
番号4の点の元のデータと定数aとの排他的オアデータ
である“0”が描画されるが、第18図に示すようにこ
の点は実質的に描画されない。なお、A面には必ず“1
”が描画されるため、これ以降では説明は省略する。
次に、番号5の点の描画を行なうために、前の(+1.
0)の値の(d x、  d Y)が(d x 1゜d
yl)にされ、次の番号6の点に対する(d x。
dy)−(+1.O)が入力される。このとき、dyl
−dy−0であり、これを上記第15図のルールにあて
はめると、番号5の点は水平線上にあるため、定数aは
“0”となる。このため、B面にはこの番号5の点は描
画されない。
次に、番号6の点の描画を行なうために、前の(+1.
0)の値の(d x、  d y)が(dxl。
dyl)にされ、次の番号7の点に対する(d x。
dy)−(0,+1)が入力される。このとき、dyl
−0,dy−+1であり、これを上記第15図のルール
にあてはめると、番号6の点は水平方向から垂直もしく
は斜め方向に変化する角になる。このため、現在の描画
点より以前に描画された点のうち、dyが+1もしくは
、−1である最新のdy(この場合には番号4の点のd
y)と番号7の点への変化mayとが比較される。ここ
では共に+1であり、一致するため、定数aは“1“と
なり、B面にはこの番号6の点が描画される。
次に、番号7の点の描画を行なうために、前の(0,+
1)の1直の(dx、dy)力((dxl。
dyl)にされ、次の番号8の点に対する(d x。
dy)= (0,+1)が入力される。このとき、dy
l−dy=+1であり、この状態を上記第15図のルー
ルにあてはめると、番号7の点は垂直線あるいは斜め線
上にあるため、定数aは“1“となり、B面の番号7の
点には“1″が描画される。
以下、同様にして番号20までの点の描画が終了し、次
に、番号1(もしくは21)の点の描画を行なうために
、前の(−1,O)の値の(dx。
dy)が(d x 1.  d y 1)にされる。そ
して、この後、前記第14図のフローチャート中のs4
0でパスエンドであると゛閂1析されたならば、s32
で予め保持されていた番号2の点に対する(dx。
dy)がこの開始点に対する次の点の変化量(d x、
  d y)として設定される。このとき、(dx、d
y)= (+1.O)である。この状態を上記第15図
のルールにあてはめると、番号1の点は水平線から垂直
もしくは斜め方向に変化する角に位置するため、前記の
ようにdyの比較か行なわれる。この場合、両者は不一
致となるため、定数aは“0°となり、B面には描画さ
れない。
このようにして、メモリのA面には第5図に示すように
境界線上の全ての点に“1”が描画され、B面には第6
図に示すように境界線上の必要な点にのみ“1“が描画
される。なお、第14図のフローチャートにおけるs4
2〜s40は開始点の描画を行なうための処理であり、
開始点が第17図中の番号4,5の点である場合にのみ
s4Gまで処理がなされる。
次に第18図に示されるB面のデータを用いて、前記■
の手順における(1)式もしくは(2)式の演算が各ス
キャンライン毎に行なわれ、その演算結果が再びB面に
書込まれる。このとき、前記(1)式の演算を行なった
結果を第19図に示す。
この後は、前記■の手順における演算が第17図に示さ
れるA面のデータと、第19図に示されるB面のデータ
との間で行なわれる。ここで、例えばA面のデータとB
面のデータとの間で論理和演算を行なうことにより、第
20図に示すような最終的なパターンデータが生成され
る。
このように上記実施例によれば、従来のものに比べてソ
ートの処理が不要であり、ソフトウェア的に処理を行な
った場合にソフトウェアの処理が軽減し、高速処理が実
現される。また、1点毎の座標変化ff1(dx、dy
)によって−筆書きで描かれた閉図形なら全て塗りつぶ
しが可能であり、また、どの点から座標が開始しても塗
りつぶしを行なうことができる。さらに閉図形の境界線
の描画方向に制限がなく、従って「8」や「閃」などの
ように描画方向が交差していても描画が可能である。ま
た、閉図形の形状の単純、複雑さに関係なく、塗りつぶ
し領域が同じならば塗りつぶし速度は一定になる。
ところで、上記実施例ではメモリ13のA面及びB面に
相当する2次元のビットマツプの矩形領域内に閉図形が
収まる例について説明したが、実際の場合には上記矩形
領域よりも大きな領域に閉図形が存在することがある。
そこで、次にこのような大規模閉図形の塗りつぶしを行
なうこの発明の応用例について説明する。
例えばいま、塗りつぶしを行なう閉図形が例えば第21
図に示すように前記メモリ13のA面もしくはB面の矩
形領域の4面分に存在する場合に、この大規模閉図形を
4つの象限D1〜D4に分割し、それぞれ分割された象
限毎に独立して塗りつぶし処理を行なうと、正確な結果
が得られなくなる。例えば各象限のスキャンラインをX
方向とすると、分割されたことにより、象限D1とD2
とにまたがって存在する閉図形F1は象限D2内では閉
図形ではなくなってしまう。
そこで、このような場合には、まず大規模閉図形を4つ
の象限D1〜D4に分割する。この分割は前記第2図の
ハードウェア構成において入力装置11で行なわれる。
そして、まず、象限D1について前記手順■〜■により
塗りつぶしが行なわれたパターンデータが生成され、こ
のとき生成された象限D1に対するパターンデータのう
ち右端1列分のデータが第22図に示すようにレジスタ
R(もしくは前記メモリ13のA面、8面以外の領域)
に記憶される。次に、上記象限D1に対しスキャン方向
で隣接した象限D2に対し前記手順■〜■により塗りつ
ぶしが行なわれたパターンデータを生成する際に、予め
レジスタR(もしくはメモリ13の領域)に記憶された
象限D1のパターンデータの右端1列分のデータを初期
データとして使用する。同様に、象限D3について前記
手順■〜■により塗りつぶしが行なわれたパターンデー
タが生成され、このとき生成された象限D3に対するパ
ターンデータの右端1列゛分のデータを、象限D4のパ
ターンデータを生成する際に初期データとして使用する
このように大規模閉図形の塗りつぶしを分割された個々
の象限毎に行なう場合でも、スキャン方向で隣接した右
側の象限での塗りつぶしを正確に行なうことができる。
第23図は、この発明のパターンデータ生成方式で使用
される専用のハードウェア構成の一例を示すブロック図
である。このハードウェアは、ホストインターフェース
部21、ベゼー(B ezier )部22、DDA部
23、塗りつぶし制御部24、メモリインターフェース
部25からなっている。
上記ホストインターフェース部21は、図示しないホス
トCPUと内部ブロックとの間のデータ転送制御を行な
う。また、ホストCPUは、ベゼー部22、DDA部2
3及び塗りつぶし制御部24の各ブロック内の制御レジ
スタや、メモリインターフェース部25に接続される前
記A面、B面のバッファメモリのアクセスを行なう際に
は、このホストインターフェース部21を経由して行な
われる。
ベゼ一部22は、ホストCPUから指定された境界上の
2点の他に、境界外の2点の計4点のデータから曲線近
似された量子化データ(d x、  d y)を発生す
る。このベゼ一部22は曲線の多い高品質の境界データ
の発生に適している。
DDA部23は、ホストCPUから指定された境界上の
2点のデータから直線近似された量子化データ(d x
、  d y)を発生する。このDDA部23は直線、
円、楕円等の境界データの発生に適している。
塗りつぶし制御部24は、前記■〜■の手順を実行して
パターンデータを生成するものであり、大きく分けて次
の2つの機能がある。
(1)ベゼ一部22、DDA部23もしくはホストCP
Uが発生したx、y方向の変化量(dx。
dy)に基づき、2組で構成されたA面、B面のバッフ
ァメモリに境界の点の描画を行なう。この場合、前記の
ようにA面のバッファメモリに対しては全ての(d x
、  d y)について境界を描画する。また、B面の
バッファメモリに対しては、前記第3図もしくは第15
図のルールに従って必要な点のみを描画する。
(2)上記(1)の機能によって描画された境界内部の
塗りつぶし処理を行なう。この処理はA面及びB面のバ
ッファメモリ内のデータを使用して行なわれる。そして
、その塗りつぶし結果はB面のバッファメモリに書込ま
れるか、もしくはホストCPUに転送される。
上記メモリインターフェース部25は、塗りつぶし制御
部24とA面、B面のバッファメモリとの間のデー・夕
転送制御を行なう。
このように、この発明のパターンデータ生成方式ではハ
ードウェア溝底を単純な組合わせ回路で実現することが
できる。
第24図は上記第23図に示すようなノー−ドウエアを
使用したこの発明の応用例装置の構成を示すブロック図
である。この装置はワードプロセッサに搭載されるもの
であり、アウトライン・フォント・メモリ (Outl
ine  Font MeIlory ) 31に記憶
されたフォント(Font:字母)の塗りつぶし処理を
行なうものであり、アウトライン・フォント・メモリ3
1の他に、ホストCP U 32、システムメモリ33
、ダイレクト・メモjl−アクセス会コントローラ(D
MAC)34、前記第23図のノー−ドウエアと同様の
構成を持つフォント発生器35、A面のバッファメモリ
36、B面のバッファメモリ37、アドレスバスAD、
データバスDB及びコントロールバスCBとから構成さ
れている。
アウトライン・フォント・メモリ31には、フォント発
生器35内のベゼ一部22及びDDA部23(いずれも
第23図に図示)のブロックに対して指定を行なうため
の境界データが記憶されている。
DMAC34は、フォント発生器35からの塗りつぶし
処理結果のデータ、あるいはA面のバッファメモリ3G
、B面のバッファメモリ37と、システムメモリ33と
の間で高速なデータ転送制御を行なう。
第25図は上記第24図の装置により、前記第1図のフ
ローチャートで示されるアルゴリズムを使用して「夢」
という漢字の塗りつぶし処理を行なった結果を示すもの
であり、第25図(a)はA面のバッファメモリ36に
対して描画が行なわれた結果を、第25図(b)はB面
のバッファメモリ37に対して描画が行なわれた結果を
それぞれ示し、第25図(C)はA面のバッファメモリ
37の 。
内容と、B面のバッファメモリ37の内容に対して塗り
つぶし処理が行なわれた結果との論理和演算が行なわれ
た後の結果をそれぞれ示す。
この装置を使用すれば、フォントなどのように複雑な図
形の塗りつぶし処理を高速に実行させることができる。
なお、この発明は上記実施例に限定されるものではなく
種々の変形が可能であることはいうまでもない。例えば
前記第5図に示されるようなA面のデータと、前記第6
図もしくは第7図に示されるようなり面のデータとの論
理演算を行なって最終結果を得る場合に、A面のデータ
とB面のデータとの論理和演算を行ない、前記第8図に
示すように元の境界を含んで塗りつぶしを行なう場合に
ついて説明したが、これはA面の反転データとB面のデ
ータとの論理積演算を行なうことによって元の境界を含
まないで塗りつぶしを行なうこともできる。
また、上記実施例では1点毎の変化ff1(dx。
dy)が右回りの方向で与えられる場合について説明し
たが、これは左回りの方向で与えるように構成してもよ
い。
さらに上記実施例では塗りつぶし処理を行なう際のスキ
ャン方向がX方向である場合ついて説明したが、これは
dxlをdylに、dxをdyにそれぞれ置換えること
によってy方向でスキャンするようにしてもよい。また
、この置換えに伴い、前記第3図中の現在の描画点の位
置の名称の「水平」か「垂直」に、「頂点あるいは谷」
が「両端部」にそれぞれ鹿わる。
[発明の効果] 以上説明したようにこの発明によれば、従来のスキャン
変換方式のように座標値のソート処理が不要であるため
、閉図形の高速な塗りつぶし処理か実行でき、かつハー
ドウェア構成が単純な組合わせ回路で実現できる。さら
に、1点毎の座標変化m(dx、dy)によって−筆書
きで描かれた閉図形なら全て塗りつぶしが可能であり、
また、どの点から座標が開始しても塗りつぶしを行なう
ことができる。
この発明では閉図形の境界線の描画方向に制限がなく、
従って「8」や「■」などのように描画方向が交差して
いても描画が可能である。また、閉図形の形状の単純、
複雑さに関係なく、塗りつぶし領域が同じならば塗りつ
ぶし速度は一定になる。
【図面の簡単な説明】
第1図はこの発明のパターンデータ生成方式の一実施例
を説明するためのフローチャート、第2図はこの発明の
パターンデータ生成方式を実現するために使用されるハ
ードウェアの構成を示すブロック図、第3図は上記第1
図のフローチャー1・中のルールをまとめて示す図、第
4図はこのルールを定義する座標を示す図、第5図ない
し第9図はそれぞれ上記実施例を説明するために使用さ
れるデータの状態を示す図、第10図ないし第13図は
それぞれ上記実施例を説明するために使用されるデータ
の状態を示す図、第14図はこの発明のパターンデータ
生成方式の他の実施例を説明するためのフローチャート
、第15図は上記第14図のフローチャート中のルール
をまとめて示す図、第16図は上記ルールの一部を説明
するための図、第17図ないし第20図はそれぞれ上記
実施例を説明するために使用されるデータの状態を示す
図、第21図及び第22図はそれぞれこの発明の詳細な
説明するための図、第23図はこの発明のパターンデー
タ生成方式で使用される専用のノ\−ドウエア構成の一
例を示すブロック図、第24図は上記第23図のハード
ウェアを使用したこの発明の応用例装置の構成を示すブ
ロック図、第25図は上記第24図の装置を使用して漢
字の塗りつぶし処理を行なった結果を示す図、第26図
及び第27図はそれぞれ従来方式を説明するための図で
ある。 11・・・人力装置、12・・・プロセッサ、13・・
・メモリ、14・・・表示装置、21・・・ホストイン
ターフェース部、22−・・ベゼー(B ezler 
)部、23・D D A部、24−・・塗りつぶし制御
部、25・・・メモリインターフェース部、31・・・
アウトライン・フォント・メモリ(Outline  
F ont M emory ) 、−32−・・ホス
トCPU、33・・・システムメモリ、34・・・ダイ
レクト・メモリ・アクセスやコントローラ(DMAC)
、35・・・フォント発生器、36・・・A面のバッフ
ァメモリ、37・・・8面のバッファメモリ。 出願人代理人 弁理士 鈴江武彦 第2図 X増10 第4図 第5図 第 8 図 B面 第6図 B。 芦9仄 −10図 第13  図 第 12  図 第15図 (a)       (b) 第16図 第22 図 X 470        A面 第17図 第20  図 8面 第 19  図 第27 1] 手続補正書 昭和 噛β・3祷0 日 特許庁長官  小 川 邦 夫 殿 1、事件の表示 特願昭63−20314号 2、発明の名称 パターンデーク生成方式 3、補正をする者 事件との関係   特許出願人 (307)株式会社 東 芝 4、代理人 東京都千代田区霞が関3丁目7番2号 UBEビル゛゛
特開1−19667 7、補正の内容 明細書の第15頁の第(2)式を下記のように訂正する
。 S己

Claims (6)

    【特許請求の範囲】
  1. (1)ビットマップ上において閉曲線で囲まれた領域の
    塗りつぶし処理を行なう際に、領域の境界線であり、右
    回りもしくは左回りの方向が定義された閉曲線のデータ
    として、開始点のx、y座標と、それぞれ+1、−1、
    0の値をとる1点毎の座標の変化量dx、dyが与えら
    れるパターンデータ生成方式において、 第1、第2のビットマップメモリと、 上記dx、dyに基づき上記閉曲線の境界に対応した点
    を順次発生し、上記第1のビットマップメモリに書込む
    第1の制御手段と、 上記dx、dyに基づき上記閉曲線の領域の塗りつぶし
    に必要な点を所定のルールに従って順次発生し、上記第
    2のビットマップメモリに書込む第2の制御手段と、 上記第2のビットマップメモリ上で1つの方向をスキャ
    ン方向としたとき、1つのスキャンライン上にb0、b
    1、…、b(w−2)、b(w−1)からなるw個(w
    は正の整数)の点が存在する際に、点b(j)(jは0
    以上でw未満)に対応した位置に点b0、b1、…、b
    (j−1)のデータの排他的論理和データを順次書込む
    第3の制御手段と、 上記第1のビットマップメモリの任意の点のデータと、
    上記排他的論理和データが書き込まれた後の上記第2の
    ビットマップメモリの対応する点のデータとの演算を行
    ない最終の塗りつぶしが行なわれたパターンデータを得
    る第4の制御手段とを具備したことを特徴とするパター
    ンデータ生成方式。
  2. (2)前記第2の制御手段は、任意の点に対しそれより
    も1つ前の点からのdx、dyの値と、任意の描画点に
    対しそれよりも1つ後の点へのdx、dyの値とに従っ
    て、塗りつぶしに必要な点を発生するように構成されて
    いる請求項1記載のパターンデータ生成方式。
  3. (3)前記第2の制御手段は、任意の点に対しそれ以前
    の点でdyの値が0以外に変化した時のそのdyの値と
    、任意の点に対しそれよりも1つ後の点へのdyの値に
    従って、塗りつぶしに必要な点を発生するように構成さ
    れている請求項1記載のパターンデータ生成方式。
  4. (4)前記第4の制御手段は、前記第1のビットマップ
    メモリの任意の点のデータと、前記第2のビットマップ
    メモリの対応する点のデータとの論理和演算を行なうこ
    とによって最終の塗りつぶしが行なわれたパターンデー
    タを得るように構成されている請求項1記載のパターン
    データ生成方式。
  5. (5)前記第4の制御手段は、前記第1のビットマップ
    メモリの任意の点のデータを反転したものと、前記第2
    のビットマップメモリの対応する点のデータとの論理積
    演算を行なうことによって最終の塗りつぶしが行なわれ
    たパターンデータを得るように構成されている請求項1
    記載のパターンデータ生成方式。
  6. (6)塗りつぶしを行なう閉曲線が前記第1、第2のビ
    ットマップメモリよりも大きな領域に存在する際に、 閉曲線を複数の象限に分割する手段と、 前記スキャン方向で隣接する2つの象限のうち左側の象
    限の閉曲線に対し前記第1ないし第4の制御手段を用い
    て生成されたパターンデータの右端縦1列分のデータを
    保持するデータ保持手段とをさらに設け、 前記スキャン方向で隣接する2つの象限のうち右側の象
    限の閉曲線に対するパターンデータ生成の際に上記保持
    データを初期値として用いるように構成したことを特徴
    する請求項1記載のパターンデータ生成方式。
JP63020314A 1988-01-30 1988-01-30 パターンデータ生成方式 Pending JPH01196675A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63020314A JPH01196675A (ja) 1988-01-30 1988-01-30 パターンデータ生成方式
US07/302,709 US5016001A (en) 1988-01-30 1989-01-27 Pattern data generating system
DE68915006T DE68915006T2 (de) 1988-01-30 1989-01-30 System zum Generieren von Musterdaten.
KR1019890001001A KR970003327B1 (ko) 1988-01-30 1989-01-30 패턴데이터 생성시스템
EP89101586A EP0327003B1 (en) 1988-01-30 1989-01-30 Pattern data generating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63020314A JPH01196675A (ja) 1988-01-30 1988-01-30 パターンデータ生成方式

Publications (1)

Publication Number Publication Date
JPH01196675A true JPH01196675A (ja) 1989-08-08

Family

ID=12023673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63020314A Pending JPH01196675A (ja) 1988-01-30 1988-01-30 パターンデータ生成方式

Country Status (5)

Country Link
US (1) US5016001A (ja)
EP (1) EP0327003B1 (ja)
JP (1) JPH01196675A (ja)
KR (1) KR970003327B1 (ja)
DE (1) DE68915006T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0439782A (ja) * 1990-06-05 1992-02-10 Yamaha Corp 図形の塗り潰し装置
US8718277B2 (en) 2003-02-20 2014-05-06 Koninklijke Philips N.V. Information carrier comprising access information

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241654A (en) * 1988-12-28 1993-08-31 Kabushiki Kaisha Toshiba Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
DE69033390T2 (de) * 1989-03-08 2000-05-11 Canon K.K., Tokio/Tokyo Ausgabevorrichtung
JP2982973B2 (ja) * 1990-07-03 1999-11-29 株式会社東芝 パターン塗り潰し方法
JPH0486961A (ja) * 1990-07-31 1992-03-19 Toshiba Corp 塗りつぶしパターン発生装置および発生方法
JPH0719295B2 (ja) * 1990-08-06 1995-03-06 富士ゼロックス株式会社 図形の塗り潰し方法
JP2770582B2 (ja) * 1991-03-12 1998-07-02 富士ゼロックス株式会社 図形塗潰し装置
EP0522877B1 (en) * 1991-07-12 1998-09-23 Canon Kabushiki Kaisha Image processing
JP2757614B2 (ja) * 1991-09-06 1998-05-25 日本電気株式会社 図形塗りつぶし装置
JP2821296B2 (ja) * 1991-12-06 1998-11-05 キヤノン株式会社 印刷方法及び装置
US5577171A (en) * 1992-03-02 1996-11-19 Kabushiki Kaisha Toshiba Figure pattern generating apparatus for detecting pattern defects
US5305431A (en) * 1992-08-18 1994-04-19 International Business Machines Corporation Method and system for rendering polygons on a raster display
US5579410A (en) * 1992-10-09 1996-11-26 Mitsubishi Electric Semiconductor Software Corporation Region filling circuit and method of filling a region
JP3021278B2 (ja) * 1993-08-30 2000-03-15 シャープ株式会社 均一幅線の生成装置及び均一幅線の生成方法
US5734748A (en) * 1993-12-30 1998-03-31 Canon Kabushiki Kaisha Character pattern generation apparatus and method
US6356268B1 (en) * 1996-04-26 2002-03-12 Apple Computer, Inc. Method and system for providing multiple glyphs at a time from a font scaler sub-system
JP3315861B2 (ja) * 1996-05-13 2002-08-19 シャープ株式会社 文字生成装置
JPH10104168A (ja) * 1996-09-26 1998-04-24 Toshiba Corp 設計データに基づく図形データ展開装置
KR100361387B1 (ko) * 1999-01-06 2002-11-21 마츠시타 덴끼 산교 가부시키가이샤 다각형 묘화 방법, 및 다각형 묘화 장치
JP4100945B2 (ja) * 2002-03-27 2008-06-11 富士通株式会社 図形描画装置
US8749561B1 (en) 2003-03-14 2014-06-10 Nvidia Corporation Method and system for coordinated data execution using a primary graphics processor and a secondary graphics processor
US8743019B1 (en) * 2005-05-17 2014-06-03 Nvidia Corporation System and method for abstracting computer displays across a host-client network
US9418459B2 (en) * 2008-01-18 2016-08-16 Autodesk, Inc. Region filling using matching criteria
US8345056B2 (en) * 2008-01-18 2013-01-01 Autodesk, Inc User-directed path-based region filling
US8736617B2 (en) * 2008-08-04 2014-05-27 Nvidia Corporation Hybrid graphic display
TWI383336B (zh) * 2008-11-14 2013-01-21 Delta Electronics Inc 多邊形快速填色方法
US8799425B2 (en) * 2008-11-24 2014-08-05 Nvidia Corporation Configuring display properties of display units on remote systems
US9075559B2 (en) * 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US9135675B2 (en) * 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
US8766989B2 (en) * 2009-07-29 2014-07-01 Nvidia Corporation Method and system for dynamically adding and removing display modes coordinated across multiple graphics processing units
US9111325B2 (en) * 2009-12-31 2015-08-18 Nvidia Corporation Shared buffer techniques for heterogeneous hybrid graphics
US8780122B2 (en) * 2009-09-16 2014-07-15 Nvidia Corporation Techniques for transferring graphics data from system memory to a discrete GPU
JP5597096B2 (ja) * 2010-10-18 2014-10-01 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
US9842532B2 (en) 2013-09-09 2017-12-12 Nvidia Corporation Remote display rendering for electronic devices
CN114612590B (zh) * 2022-02-09 2026-01-27 广东能龙教育股份有限公司 一种图形渲染动画的生成方法及系统、控制装置、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971093A (ja) * 1982-10-18 1984-04-21 株式会社日立製作所 塗潰し図形発生装置
JPS6061867A (ja) * 1983-09-14 1985-04-09 Matsushita Electric Ind Co Ltd 図形処理装置における図形塗りつぶし方法
JPS61241880A (ja) * 1985-04-19 1986-10-28 Hitachi Ltd 閉図形塗りつぶし装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2641708C3 (de) * 1976-09-16 1980-02-21 Paul 6456 Langenselbold Gutermuth Unterdecke, insbesondere für gewerbliche Küchen, Schlachthauser, Waschkuchen u.dgl
US4396989A (en) * 1981-05-19 1983-08-02 Bell Telephone Laboratories, Incorporated Method and apparatus for providing a video display of concatenated lines and filled polygons
SE448789B (sv) * 1983-03-29 1987-03-16 Ericsson Telefon Ab L M Anordning for att i ett datorstyrt presentationssystem generera bilder i raster pa en bildskerm
EP0145821B1 (en) * 1983-12-22 1988-05-11 International Business Machines Corporation Area filling hardware for a colour graphics frame buffer
US4791582A (en) * 1985-09-27 1988-12-13 Daikin Industries, Ltd. Polygon-filling apparatus used in a scanning display unit and method of filling the same
FR2600185B1 (fr) * 1985-12-13 1988-08-19 Sintra Procede de surfacage de zones d'images delimitees par des contours pour processeur graphique et processeur de surfacage pour la mise en oeuvre de ce procede
US4815009A (en) * 1987-04-21 1989-03-21 Xerox Corporation Algorithm for filling an image outline

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971093A (ja) * 1982-10-18 1984-04-21 株式会社日立製作所 塗潰し図形発生装置
JPS6061867A (ja) * 1983-09-14 1985-04-09 Matsushita Electric Ind Co Ltd 図形処理装置における図形塗りつぶし方法
JPS61241880A (ja) * 1985-04-19 1986-10-28 Hitachi Ltd 閉図形塗りつぶし装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0439782A (ja) * 1990-06-05 1992-02-10 Yamaha Corp 図形の塗り潰し装置
US8718277B2 (en) 2003-02-20 2014-05-06 Koninklijke Philips N.V. Information carrier comprising access information

Also Published As

Publication number Publication date
KR970003327B1 (ko) 1997-03-17
DE68915006D1 (de) 1994-06-09
EP0327003B1 (en) 1994-05-04
EP0327003A2 (en) 1989-08-09
DE68915006T2 (de) 1994-08-25
US5016001A (en) 1991-05-14
KR890012244A (ko) 1989-08-25
EP0327003A3 (en) 1991-05-29

Similar Documents

Publication Publication Date Title
JPH01196675A (ja) パターンデータ生成方式
JPS6367220B2 (ja)
US10460482B2 (en) Method and system for automated generation of constrained curves in computer graphics
JP3037854B2 (ja) 文字生成方法及びその装置
CN112396569B (zh) 一种对图像进行数据增强的方法
JPH03119387A (ja) デジタル活字面の輪郭を形成する方法およびその装置
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
JP2770582B2 (ja) 図形塗潰し装置
JPH02270019A (ja) 高品質文字パターン発生方式
US6941251B1 (en) Method for transforming CAD model using general function composition mechanism
JP2726951B2 (ja) 文字・図形描画装置
Chen Highlight lines for surface quality control and shape manipulation
JP3799164B2 (ja) 画像処理方法および画像処理装置
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
JP2889760B2 (ja) 文字群と図形とを組み合わせる電子組版装置
JP2835056B2 (ja) 高品質文字パターン発生方式
JP2613653B2 (ja) 画像処理装置
JPH04153786A (ja) 四辺形塗りつぶし装置
Kumar Robust Incremental Polygon Triangulation for Fast Surface Rendering.
JPH06110442A (ja) 文字図形処理装置、及び文字または図形の変形処理方法
JPH04218094A (ja) アウトラインフォント処理装置
Mark Reconstructing architectural geometry
JPS62157089A (ja) ベクトル文字の作成方法
JPS61286895A (ja) グラフイツク装置における直線描画方式
JPH10149453A (ja) 多角形図形描画装置