JPH0431399B2 - - Google Patents
Info
- Publication number
- JPH0431399B2 JPH0431399B2 JP60055503A JP5550385A JPH0431399B2 JP H0431399 B2 JPH0431399 B2 JP H0431399B2 JP 60055503 A JP60055503 A JP 60055503A JP 5550385 A JP5550385 A JP 5550385A JP H0431399 B2 JPH0431399 B2 JP H0431399B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- point
- data
- mode information
- ram
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 35
- 238000010586 diagram Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 10
- 238000003672 processing method Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は走査線順次に図形を記録する際の多
角形の内部領域を塗りつぶす処理方法に関し、さ
らに重なり合つた複雑な図形内部を塗りつぶすに
ついて、少ないメモリ容量でしかも高速で処理で
きる重なり合う多角形内部の領域を塗りつぶし処
理する方法に関する。
角形の内部領域を塗りつぶす処理方法に関し、さ
らに重なり合つた複雑な図形内部を塗りつぶすに
ついて、少ないメモリ容量でしかも高速で処理で
きる重なり合う多角形内部の領域を塗りつぶし処
理する方法に関する。
ラスタースキヤンによつて多角形の内部領域を
塗りつぶすための従来公知の処理方法には、デイ
スプレイ上の多角形内部を塗りつぶすについて、
表示画面と1対1に対応するメモリに閉曲線の画
像データを書込んでおき、閉曲線内の任意の位置
にそれぞれ基点を設け、これら基点を中心に上下
左右4方向に走査しながら順次塗りつぶしていく
方法がある。この方法では多角形を描き、その内
部に基準点を設けて塗りつぶすため、スキヤナー
のように走査線順次に図形を記録してゆくには、
全図形の塗りつぶしが完了するのを待つ時間を必
要とし、また、デイスプレイ等の比較的小さな画
面(画素数の比較的少ない画像)ではなく、もつ
と大きなサイズのもの(画素数の比較的多い画
像)を出力する場合、1対1に対応して画像デー
タを書くには大容量のメモリが必要となる。
塗りつぶすための従来公知の処理方法には、デイ
スプレイ上の多角形内部を塗りつぶすについて、
表示画面と1対1に対応するメモリに閉曲線の画
像データを書込んでおき、閉曲線内の任意の位置
にそれぞれ基点を設け、これら基点を中心に上下
左右4方向に走査しながら順次塗りつぶしていく
方法がある。この方法では多角形を描き、その内
部に基準点を設けて塗りつぶすため、スキヤナー
のように走査線順次に図形を記録してゆくには、
全図形の塗りつぶしが完了するのを待つ時間を必
要とし、また、デイスプレイ等の比較的小さな画
面(画素数の比較的少ない画像)ではなく、もつ
と大きなサイズのもの(画素数の比較的多い画
像)を出力する場合、1対1に対応して画像デー
タを書くには大容量のメモリが必要となる。
そこで、大きなサイズのものを出力する場合に
は与えられた多角形の各頂点からそれらの頂点を
結ぶ線分と走査線との交点を求め、この交点を境
として領域外から領域内へ変化する場合の交点を
開始点、又はこの交点を境として領域内から領域
外へ変化する場合の交点を終了点とし、開始点と
終了点のデータを求めて1以上の走査線を処理単
位とするワークメモリ上のRAMに順次登録した
後、RAMから読み出したデータより必要とする
ラスターイメージデータを得るようにして1以上
の走査線毎に処理するという方法をとることによ
り、必要メモリ容量を減らしている。
は与えられた多角形の各頂点からそれらの頂点を
結ぶ線分と走査線との交点を求め、この交点を境
として領域外から領域内へ変化する場合の交点を
開始点、又はこの交点を境として領域内から領域
外へ変化する場合の交点を終了点とし、開始点と
終了点のデータを求めて1以上の走査線を処理単
位とするワークメモリ上のRAMに順次登録した
後、RAMから読み出したデータより必要とする
ラスターイメージデータを得るようにして1以上
の走査線毎に処理するという方法をとることによ
り、必要メモリ容量を減らしている。
例えば第16図に示す様な五角形をラスターイ
メージデータに変更する場合について説明する。
五角形の情報として各頂点の座標値(x1,y1)、
(x2,y2)…(x5,y5)が順番に指定されるデー
タとした場合に、まずこの情報より各走査線と五
角形との交点を求める。この交点の座標はCPU
等により計算される。例えば第16図の頂点x1,
y1,x2,y2間の座標xnに対するy座標ynは直線
補間によればyn=y1+(y2−y1)・(xn−x1)/
(x2−x1)で求まる。このようにして多角形をラ
スタースキヤンした時に、走査線と図形との交点
で、交点を境として領域外から領域内へ変化する
場合の交点を開始点、交点を境として領域内から
領域外へ変化する場合の交点を終了点として第1
7図に示すようにしてそれぞれ求め、走査線毎に
RAMに登録しておき、順次RAMから読み出し
てそのデータより必要とするラスターイメージデ
ータを得るのである。
メージデータに変更する場合について説明する。
五角形の情報として各頂点の座標値(x1,y1)、
(x2,y2)…(x5,y5)が順番に指定されるデー
タとした場合に、まずこの情報より各走査線と五
角形との交点を求める。この交点の座標はCPU
等により計算される。例えば第16図の頂点x1,
y1,x2,y2間の座標xnに対するy座標ynは直線
補間によればyn=y1+(y2−y1)・(xn−x1)/
(x2−x1)で求まる。このようにして多角形をラ
スタースキヤンした時に、走査線と図形との交点
で、交点を境として領域外から領域内へ変化する
場合の交点を開始点、交点を境として領域内から
領域外へ変化する場合の交点を終了点として第1
7図に示すようにしてそれぞれ求め、走査線毎に
RAMに登録しておき、順次RAMから読み出し
てそのデータより必要とするラスターイメージデ
ータを得るのである。
具体的には第18図の様な回路構成において、
1ビツト/1画素1以上の走査線分容量のRAM
12にあらかじめ全アドレスに「0」を書き込ん
だ後、ランダムアクセスで開始点及び終了点に対
応するアドレスにはデータ「1」を書き込み、ア
ドレスセレクター5をランダムアドレスモードか
らシーケンシヤルアドレスモードに切替えて、第
19図に詳細に示す出力データ生成部13に、
RAM12のリードデータ信号bと、RAM12
の読み出し信号に同期したクロツク信号aとを入
力させることにより、第20図に示す要に求める
ラスターイメージ信号cを得るのである。
1ビツト/1画素1以上の走査線分容量のRAM
12にあらかじめ全アドレスに「0」を書き込ん
だ後、ランダムアクセスで開始点及び終了点に対
応するアドレスにはデータ「1」を書き込み、ア
ドレスセレクター5をランダムアドレスモードか
らシーケンシヤルアドレスモードに切替えて、第
19図に詳細に示す出力データ生成部13に、
RAM12のリードデータ信号bと、RAM12
の読み出し信号に同期したクロツク信号aとを入
力させることにより、第20図に示す要に求める
ラスターイメージ信号cを得るのである。
上記従来の多角形内部の領域を塗りつぶし処理
する方法では、第8図に示すような図形同士が重
なり合つたもの(図ではΔAEFとΔHCJの重なつ
た図形で九角形ABCDEFGHI)を出力する場合
に問題が生ずる。すなわち、同図において交点
B,D,G,Iの座標も算出して輪郭を求めてお
かねばならない。したがつて、図形の形状が複雑
になつたり、重なりが多くなつた時には、図形同
士の交点の算出に要する時間が無視できなくな
る。そのわけは、この方法は各々の多角形の開始
点、終了点が他の多角形との重なりによつて、開
始点であつたものが、終了点になつたり、単なる
通過点になつたりするために演算に要する処理時
間がかなり長くなつてしまうからである。
する方法では、第8図に示すような図形同士が重
なり合つたもの(図ではΔAEFとΔHCJの重なつ
た図形で九角形ABCDEFGHI)を出力する場合
に問題が生ずる。すなわち、同図において交点
B,D,G,Iの座標も算出して輪郭を求めてお
かねばならない。したがつて、図形の形状が複雑
になつたり、重なりが多くなつた時には、図形同
士の交点の算出に要する時間が無視できなくな
る。そのわけは、この方法は各々の多角形の開始
点、終了点が他の多角形との重なりによつて、開
始点であつたものが、終了点になつたり、単なる
通過点になつたりするために演算に要する処理時
間がかなり長くなつてしまうからである。
また、水平走査ラインと多角形との交差の態様
において、頂点では開始点と終了点が同じになつ
てしまうため、基本処理を施すには頂点を開始点
とし頂点に隣接する点を設けて終了点として処理
するように行なわねばならず、頂点部での図形が
正確でなくなつてしまう。そのための処理が必要
となるものである。
において、頂点では開始点と終了点が同じになつ
てしまうため、基本処理を施すには頂点を開始点
とし頂点に隣接する点を設けて終了点として処理
するように行なわねばならず、頂点部での図形が
正確でなくなつてしまう。そのための処理が必要
となるものである。
この発明は、上記従来の多角形内部の領域塗り
つぶし処理方法では、図形が複雑になつたり、こ
れらが重なり合つた時に重なり合つた部分の内部
領域を塗りつぶしたり、重なり合わない部分の内
部領域を塗りつぶしたりする処理を高速で遂行す
るとともに、頂点部での例外処理を施し正確な図
形の塗りつぶし処理を行なうことができる多角形
の内部領域を塗りつぶし処理する方法を提供する
ことを目的とする。
つぶし処理方法では、図形が複雑になつたり、こ
れらが重なり合つた時に重なり合つた部分の内部
領域を塗りつぶしたり、重なり合わない部分の内
部領域を塗りつぶしたりする処理を高速で遂行す
るとともに、頂点部での例外処理を施し正確な図
形の塗りつぶし処理を行なうことができる多角形
の内部領域を塗りつぶし処理する方法を提供する
ことを目的とする。
この発明に係る多角形の内部領域塗りつぶし処
理方法は、以下の処理工程を経てラスターイメー
ジデータを得る。
理方法は、以下の処理工程を経てラスターイメー
ジデータを得る。
a 1以上の走査線容量をもつ1画素2ビツト以
上のRAMをクリアする処理工程。
上のRAMをクリアする処理工程。
b 1以上の多角形の各々についてその各辺を構
成する線分ごとに、その線分の座標データと、
走査線に対してラスター開始点モードとなる
か、ラスター終了点モードとなるか、ラスター
開始点かつ終了点モードとなるかを示すモード
情報を与える処理工程。
成する線分ごとに、その線分の座標データと、
走査線に対してラスター開始点モードとなる
か、ラスター終了点モードとなるか、ラスター
開始点かつ終了点モードとなるかを示すモード
情報を与える処理工程。
c b)の処理工程で与えられた各多角形の線分
ごとのモード情報を各走査線に対応するRAM
領域に記憶するとともに、その際に多角形間で
モード情報の記憶位置が重なるときは、先に書
き込まれているモード情報と新たに書き込もう
とするモード情報とについて加減算を行なうこ
とにより、いずれのモード情報が何個多いかを
示すモード情報、もしくは両モード情報が同数
であることを示すモード情報に変換して記憶す
る処理工程。
ごとのモード情報を各走査線に対応するRAM
領域に記憶するとともに、その際に多角形間で
モード情報の記憶位置が重なるときは、先に書
き込まれているモード情報と新たに書き込もう
とするモード情報とについて加減算を行なうこ
とにより、いずれのモード情報が何個多いかを
示すモード情報、もしくは両モード情報が同数
であることを示すモード情報に変換して記憶す
る処理工程。
d c)の処理工程を経てRAMに記憶したデー
タを走査線順次に読み出す処理工程。
タを走査線順次に読み出す処理工程。
e RAMから走査線順次に読み出されるデータ
のモード情報を累算することにより、1以上の
多角形を重ね合わせた多角形全体としてのラス
ター開始点及びラスター終了点を判別し、走査
線順次記録データを得る処理工程。
のモード情報を累算することにより、1以上の
多角形を重ね合わせた多角形全体としてのラス
ター開始点及びラスター終了点を判別し、走査
線順次記録データを得る処理工程。
f a)からe)を適宜繰返して行なう処理工
程。
程。
この発明に係る多角形内部の領域を塗りつぶし
処理する方法は上記処理過程を経るので、複雑な
多角図形の内部領域、重なり合つた多角形の重な
り数に応じた内部領域の塗りつぶしについて、従
来のように一体図形として展開し各頂点を求める
煩雑で長時間を要する算出処理が不要となる。す
なわち、各多角形ごとにb)のモード情報を与え
る処理を行なうようにする。b)の処理において
図形の座標データは従来の直線補間等により与
え、例えば走査線と図形との交点を境として図形
外から図形内へ変化する場合を開始点モードとし
てモード1という情報を与え、交点を境として図
形内から図形外へ変化する場合の交点を終了点モ
ード2というモード情報を与える。c)のRAM
に演算モードを記憶させる処理において各多角形
の線分ごとに与えたこれらデータをRAMに記憶
していく際、複数の多角形が重なつているところ
で同一のアドレスに2以上のデータを書き込む場
合は先に書き込まれているモード情報を読み出
し、書き込もうとするモード情報と演算し、(例
えばモード1のときは開始点としての個数を加算
し、モード2のときは終了点としての個数を減算
する。演算結果が零になつたときは特定点モード
とする。)、開始点と終了点との個数が相違すると
きはいずれが何個多いかを示すモード情報、同数
のときは頂点を示すモード情報にそれぞれ交換し
て記憶する。これら情報として単純な個数を示す
数値データとして与えておくことにより数値的に
重なり部分を処理できるようにする。d)の
RAMから読み出す処理によりシーケンシヤルに
RAMに記憶したデータを読み出すことにより、
e)のモードを判別して走査線順次記録データを
得る処理において多角形全体としてのラスターイ
メージデータを得る。すなわち、走査線上で多角
形との交点における開始点、終了点、頂点として
与えられた情報を読み取り数値情報として演算
し、走査線上の開始点の個数と終了点の個数とが
全体でゼロになるまでの範囲を塗りつぶし領域と
判断して走査線順次記録データを出力する。
処理する方法は上記処理過程を経るので、複雑な
多角図形の内部領域、重なり合つた多角形の重な
り数に応じた内部領域の塗りつぶしについて、従
来のように一体図形として展開し各頂点を求める
煩雑で長時間を要する算出処理が不要となる。す
なわち、各多角形ごとにb)のモード情報を与え
る処理を行なうようにする。b)の処理において
図形の座標データは従来の直線補間等により与
え、例えば走査線と図形との交点を境として図形
外から図形内へ変化する場合を開始点モードとし
てモード1という情報を与え、交点を境として図
形内から図形外へ変化する場合の交点を終了点モ
ード2というモード情報を与える。c)のRAM
に演算モードを記憶させる処理において各多角形
の線分ごとに与えたこれらデータをRAMに記憶
していく際、複数の多角形が重なつているところ
で同一のアドレスに2以上のデータを書き込む場
合は先に書き込まれているモード情報を読み出
し、書き込もうとするモード情報と演算し、(例
えばモード1のときは開始点としての個数を加算
し、モード2のときは終了点としての個数を減算
する。演算結果が零になつたときは特定点モード
とする。)、開始点と終了点との個数が相違すると
きはいずれが何個多いかを示すモード情報、同数
のときは頂点を示すモード情報にそれぞれ交換し
て記憶する。これら情報として単純な個数を示す
数値データとして与えておくことにより数値的に
重なり部分を処理できるようにする。d)の
RAMから読み出す処理によりシーケンシヤルに
RAMに記憶したデータを読み出すことにより、
e)のモードを判別して走査線順次記録データを
得る処理において多角形全体としてのラスターイ
メージデータを得る。すなわち、走査線上で多角
形との交点における開始点、終了点、頂点として
与えられた情報を読み取り数値情報として演算
し、走査線上の開始点の個数と終了点の個数とが
全体でゼロになるまでの範囲を塗りつぶし領域と
判断して走査線順次記録データを出力する。
上記処理を繰返して、全画面の走査線順次記録
を行なう。
を行なう。
(ヘ) 実施例
第1図はこの発明の実施例を示すブロツク図で
ある。まず同図において多角形内部領域の塗りつ
ぶし走査線順次記録データを得るについて、1以
上の多角形の各辺を構成する線分ごとに、線分の
座標データと、その線分が走査線と交叉する点が
ラスター開始点となるか、ラスター終了点となる
か、ラスター開始点かつラスター終了点となるか
を示すモード情報を与える処理((b)の処理)は、
図形並び座標データ、モード情報付与処理部1で
行なう。この処理を実施例ではソフト的に行なわ
せているが、そのソフト処理の原理についてまず
説明する。
ある。まず同図において多角形内部領域の塗りつ
ぶし走査線順次記録データを得るについて、1以
上の多角形の各辺を構成する線分ごとに、線分の
座標データと、その線分が走査線と交叉する点が
ラスター開始点となるか、ラスター終了点となる
か、ラスター開始点かつラスター終了点となるか
を示すモード情報を与える処理((b)の処理)は、
図形並び座標データ、モード情報付与処理部1で
行なう。この処理を実施例ではソフト的に行なわ
せているが、そのソフト処理の原理についてまず
説明する。
第2図は処理のフローチヤートであり、第3−
1図AとBは各々多角形の例であり、第3−1図
Cのように多角形AとBとを重ね合せて、第3−
2図D,E,Fに示すようにその内部領域の塗り
つぶしを行なおうとするのである。円のような曲
線も、デジタル的には多角形として扱つている。
その1つの例が文字フオントである。まず、各多
角形毎に頂点座標を取り込む。この頂点座標は各
多角形パターン毎に予め記憶されているものを用
いてもよい(例えば文字フオントが与め記憶され
ている場合など)。各図形ごとに線分の座標点を
順次入力することにより、線分の傾きを判別して
各線分が走査線に対しラスター開始点の集合とな
る線分かラスター終了点の集合となる線分かを判
別する。
1図AとBは各々多角形の例であり、第3−1図
Cのように多角形AとBとを重ね合せて、第3−
2図D,E,Fに示すようにその内部領域の塗り
つぶしを行なおうとするのである。円のような曲
線も、デジタル的には多角形として扱つている。
その1つの例が文字フオントである。まず、各多
角形毎に頂点座標を取り込む。この頂点座標は各
多角形パターン毎に予め記憶されているものを用
いてもよい(例えば文字フオントが与め記憶され
ている場合など)。各図形ごとに線分の座標点を
順次入力することにより、線分の傾きを判別して
各線分が走査線に対しラスター開始点の集合とな
る線分かラスター終了点の集合となる線分かを判
別する。
たとえば任意の多角形が第5図A,Bに示すよ
うに左回りに指定したベクトルデータとして予め
与えられている場合、各ベクトルの矢印方向に向
つて左側がこれらの図形の内部領域となる、線分
の座標を(X1,Y1)、(X2,Y2)…(Xn,,Yn)
としてXを副走査方向、Yを主走査方向とし、そ
れぞれX,Y共にX矢印、Y矢印方向に走査する
ものとすれば、線分の傾きはΔY/ΔX(ΔY=Yi+1− Yi、ΔX=Xi+1−Xi)として与えられる。この
時、第5図Cに単純図形で示すようにΔXが
(+)となるときは主走査方向に対しΔYが(+)
(0)(−)のいずれの値をとつても主走査線が多
角形内部領域外から多角内部領域内へ変化するよ
うに線分を横切ることを示し、ΔXが(−)とな
るときはΔYが(+)(0)(−)のいずれの値を
とつても主走査線が多角形内部領域内から多角形
内部領域外へ変化するように線分を横切ることを
示す。ΔXが(0)でΔYが(+)となるときは
主走査方向と同じ向きの平行線、ΔXが(0)で
ΔYが(−)となるときは逆向きの平行線となる
ことを示す。これら線分の態様を順にオーバーラ
イン(OL)、アンダーライン(UL)、ダウンライ
ン(DOWN)、アツプライン(UP)と名付ける
と、上記関係は第4図に示すようになる。したが
つて、線分の座標点を順次入力し、その傾きを求
めることにより線分の上記態様を判別することが
できる。また、入力された座標点が単に2点だけ
の場合も、第6図イ,ロに示すようにΔX≠0と
ΔX=0の場合で同様に判別できる。入力された
座標点が1点だけの場合は同図ハに示すようにオ
ーバーライン(OL)でかつアンダーライン
(UL)として取り扱えばよい。
うに左回りに指定したベクトルデータとして予め
与えられている場合、各ベクトルの矢印方向に向
つて左側がこれらの図形の内部領域となる、線分
の座標を(X1,Y1)、(X2,Y2)…(Xn,,Yn)
としてXを副走査方向、Yを主走査方向とし、そ
れぞれX,Y共にX矢印、Y矢印方向に走査する
ものとすれば、線分の傾きはΔY/ΔX(ΔY=Yi+1− Yi、ΔX=Xi+1−Xi)として与えられる。この
時、第5図Cに単純図形で示すようにΔXが
(+)となるときは主走査方向に対しΔYが(+)
(0)(−)のいずれの値をとつても主走査線が多
角形内部領域外から多角内部領域内へ変化するよ
うに線分を横切ることを示し、ΔXが(−)とな
るときはΔYが(+)(0)(−)のいずれの値を
とつても主走査線が多角形内部領域内から多角形
内部領域外へ変化するように線分を横切ることを
示す。ΔXが(0)でΔYが(+)となるときは
主走査方向と同じ向きの平行線、ΔXが(0)で
ΔYが(−)となるときは逆向きの平行線となる
ことを示す。これら線分の態様を順にオーバーラ
イン(OL)、アンダーライン(UL)、ダウンライ
ン(DOWN)、アツプライン(UP)と名付ける
と、上記関係は第4図に示すようになる。したが
つて、線分の座標点を順次入力し、その傾きを求
めることにより線分の上記態様を判別することが
できる。また、入力された座標点が単に2点だけ
の場合も、第6図イ,ロに示すようにΔX≠0と
ΔX=0の場合で同様に判別できる。入力された
座標点が1点だけの場合は同図ハに示すようにオ
ーバーライン(OL)でかつアンダーライン
(UL)として取り扱えばよい。
上記のようにして線分の態様を判別した後に、
各線分のすべての副走査位置(X)における主走
査(Y)座標の算出をし、線分が(OL)の場合
は各座標点をラスター開始点として座標点のモー
ドをモード1(データ表示においてはM1と記す)
とする。線分が(UL)の場合は各座標点をラス
ター終了点として座標点のモードをモード2(デ
ータ表示においてはM2と記す)とする。線分が
(UP)の場合は端点のY座標値の小さい方をモー
ド1の点とし、大きい方をモード2の点とする。
線分が(DOWN)の場合は端点のY座標の小さ
い方をモード1の点とし、大きい方をモード2の
点とする。
各線分のすべての副走査位置(X)における主走
査(Y)座標の算出をし、線分が(OL)の場合
は各座標点をラスター開始点として座標点のモー
ドをモード1(データ表示においてはM1と記す)
とする。線分が(UL)の場合は各座標点をラス
ター終了点として座標点のモードをモード2(デ
ータ表示においてはM2と記す)とする。線分が
(UP)の場合は端点のY座標値の小さい方をモー
ド1の点とし、大きい方をモード2の点とする。
線分が(DOWN)の場合は端点のY座標の小さ
い方をモード1の点とし、大きい方をモード2の
点とする。
同一図形における線分の接続点のモードとして
は第7図A〜Pに示すD1〜D16までの16通り
が考えられる。
は第7図A〜Pに示すD1〜D16までの16通り
が考えられる。
これらの同一図形における接続点のうちD1,
D4,D9,D12はモード1の重複点、又D
6,D7,D14,D15はモード2の重複点で
あるが、後述する処理に支障をきたさない様にす
るため、これらの接点が両方の線分により2重に
モード1又はモード2の点として指定されない様
にして、1回のモード1の点又は1回のモード2
の点として指定する。すなわち、これらの接点の
モード指定は一方の線分によつてのみ行ない、他
方の線分からは行なわない様にする。この場合、
線分の端点が同一モードの重複点と結合している
かどうかの情報は同一図形での線分のモードを指
定する時に併せて決定しておくものである。
D4,D9,D12はモード1の重複点、又D
6,D7,D14,D15はモード2の重複点で
あるが、後述する処理に支障をきたさない様にす
るため、これらの接点が両方の線分により2重に
モード1又はモード2の点として指定されない様
にして、1回のモード1の点又は1回のモード2
の点として指定する。すなわち、これらの接点の
モード指定は一方の線分によつてのみ行ない、他
方の線分からは行なわない様にする。この場合、
線分の端点が同一モードの重複点と結合している
かどうかの情報は同一図形での線分のモードを指
定する時に併せて決定しておくものである。
また(OL)と(UL)の接続点であるD2,D
5は上記処理の必要はなく、後述するようにモー
ド1かつモード2の点として特定点モード(*)
として指定される。重複点でもなく特定点でもな
いその他の形態の線分の接続点D3,D8,D1
0,D11,D13,D16は中継点であるので
それぞれの線分より、その接点をモード1の点又
はモード2の点として指定しない様にする。この
情報は重複点の場合と同様同一図形での線分のモ
ードを指定する時に併せて決定しておく(モード
情報を与える処理(b))。
5は上記処理の必要はなく、後述するようにモー
ド1かつモード2の点として特定点モード(*)
として指定される。重複点でもなく特定点でもな
いその他の形態の線分の接続点D3,D8,D1
0,D11,D13,D16は中継点であるので
それぞれの線分より、その接点をモード1の点又
はモード2の点として指定しない様にする。この
情報は重複点の場合と同様同一図形での線分のモ
ードを指定する時に併せて決定しておく(モード
情報を与える処理(b))。
上記モード情報を与える処理(b)をされ多角形の
線分ごとに与えた座標データと、モード情報は、
第1図において多角形ごとに副走査順次で片方の
RAM4aに書き込まれる。
線分ごとに与えた座標データと、モード情報は、
第1図において多角形ごとに副走査順次で片方の
RAM4aに書き込まれる。
第3−1図、第3−2図、第5図に示した図形
では複雑なので、簡単な図形で説明する。
では複雑なので、簡単な図形で説明する。
例えば第8図に示す九角形ABCDEFGHIは
ΔAEFとΔHCJとの重ね合せ図形でΔAEFが第3
−1図、第5図Aの多角形に、ΔHCJが第3−1
図、第5図Bの多角形に相当するものとして説明
する。
ΔAEFとΔHCJとの重ね合せ図形でΔAEFが第3
−1図、第5図Aの多角形に、ΔHCJが第3−1
図、第5図Bの多角形に相当するものとして説明
する。
まずΔAEFおよびΔHCJについて上記のように
処理(b)がなされる。ΔAEFの線分AE上の各点は
ラスター開始点、線分AF,FE上の各点はラスタ
ー終了点であり、具体的には第10図に示す座標
系において各点に座標とモードデータを与えると
線分AE上の各点は〔1,9,M1〕〔2,9,
M1〕…〔17,9,M1〕、線分AF上の各点は
〔1,9,M2〕〔2,10,M2〕…〔9,17,
M2〕、点(1,9)は最終的に〔1、9、*〕、
線分FE上の各点はモード2、重複点(9,17)
については線分AFで〔9,17,M2〕と与えてい
るので指定せず(最終的に〔9,17,M2〕と1
回の指定)、〔10,16,M2〕〔11,15,M2〕…
〔17,9,M2〕、点(17,9)は最終的に〔17,
9,*〕となる。ΔHCJも同様に座標とモードデ
ータを与えられる。
処理(b)がなされる。ΔAEFの線分AE上の各点は
ラスター開始点、線分AF,FE上の各点はラスタ
ー終了点であり、具体的には第10図に示す座標
系において各点に座標とモードデータを与えると
線分AE上の各点は〔1,9,M1〕〔2,9,
M1〕…〔17,9,M1〕、線分AF上の各点は
〔1,9,M2〕〔2,10,M2〕…〔9,17,
M2〕、点(1,9)は最終的に〔1、9、*〕、
線分FE上の各点はモード2、重複点(9,17)
については線分AFで〔9,17,M2〕と与えてい
るので指定せず(最終的に〔9,17,M2〕と1
回の指定)、〔10,16,M2〕〔11,15,M2〕…
〔17,9,M2〕、点(17,9)は最終的に〔17,
9,*〕となる。ΔHCJも同様に座標とモードデ
ータを与えられる。
これら各データを1画素3ビツトRAM4aに
書き込むについて先ずRAM4aをクリアする
(クリア処理(a))(RAM4aの全画素に初期値レ
ジスタ2からライトデータセレクタ15aを介し
て「000」を書き込む)。次に多角形を順次書き込
む際に同一アドレスにおいてデータを書き込む場
合が生じる(RAMに演算モードを記憶させる処
理(c))。この場合は図形の重なる交点としてデー
タを書き込む必要があり、重なりの態様として数
値データで表現できるように下記の2の補数表現
を用いてRAMのライトデータを作成する。開始
点は(+)で終了点は(−)で示し、開始点の登
録はモード1で、終了点の登録はモード2で登録
するようにし、同一アドレスにおける開始点の個
数と終了点の個数とが相違するときはいずれが何
個多いかを示すように、同数のときは開始点でか
つ終了点である特定点(*)であることを示すよ
うに表現する。特定点であることを示す特定コー
ド(*)を「100」とする。
書き込むについて先ずRAM4aをクリアする
(クリア処理(a))(RAM4aの全画素に初期値レ
ジスタ2からライトデータセレクタ15aを介し
て「000」を書き込む)。次に多角形を順次書き込
む際に同一アドレスにおいてデータを書き込む場
合が生じる(RAMに演算モードを記憶させる処
理(c))。この場合は図形の重なる交点としてデー
タを書き込む必要があり、重なりの態様として数
値データで表現できるように下記の2の補数表現
を用いてRAMのライトデータを作成する。開始
点は(+)で終了点は(−)で示し、開始点の登
録はモード1で、終了点の登録はモード2で登録
するようにし、同一アドレスにおける開始点の個
数と終了点の個数とが相違するときはいずれが何
個多いかを示すように、同数のときは開始点でか
つ終了点である特定点(*)であることを示すよ
うに表現する。特定点であることを示す特定コー
ド(*)を「100」とする。
表 1
〔モード1〕
(000)→(001)、(001)→(010)、
(010)→(011)、(100)→(001)、
(101)→(110)、(110)→(111)、
(111)→(100)
〔モード2〕
(000)→(111)、(001)→(100)、
(010)→(001)、(011)→(010)、
(100)→(111)、(110)→(101)、
(111)→(110)
3ビツトで表現するときは+3〜−3(+3;
「001」、+2;「010」、+1;「001」、0;「000」
、−
1;「111」、−2;「110」、−3;「101」)の範囲
の
数値データの範囲が表現可能で、4;「100」を特
定コード(*)に割り当てている。すなわち開始
点、終了点の重なりについて最大3個まで表現で
きることになり、重なり図形が3個までの時は3
ビツトでよいことになる。重なり図形が多い時に
ついては特定コードの数を1個とする限り、nビ
ツト拡張時に(2n-1−1)〜−(2n-1−1)の範
囲について表現でき、特定コードには数値データ
の−2n-1が割り当てられることになる。重なり図
形は(2n-1−1)個まで扱えることになる。1つ
の図形ごとに開始点が終了点かを示す1ビツトの
メモリを複数使用する場合に比べ重なり図形が多
い程、重なりを記述できる効率がよくなる。
「001」、+2;「010」、+1;「001」、0;「000」
、−
1;「111」、−2;「110」、−3;「101」)の範囲
の
数値データの範囲が表現可能で、4;「100」を特
定コード(*)に割り当てている。すなわち開始
点、終了点の重なりについて最大3個まで表現で
きることになり、重なり図形が3個までの時は3
ビツトでよいことになる。重なり図形が多い時に
ついては特定コードの数を1個とする限り、nビ
ツト拡張時に(2n-1−1)〜−(2n-1−1)の範
囲について表現でき、特定コードには数値データ
の−2n-1が割り当てられることになる。重なり図
形は(2n-1−1)個まで扱えることになる。1つ
の図形ごとに開始点が終了点かを示す1ビツトの
メモリを複数使用する場合に比べ重なり図形が多
い程、重なりを記述できる効率がよくなる。
このような同一アドレスにおけるデータの書き
込み変換をモード1とモード2の場合についてあ
らかじめ表1のように定めておき、アドレスセレ
クタ5aを介してランダムアクセス信号101に
より各図形ごとに各データを副走査順次に、主走
査線はランダムに入力する。
込み変換をモード1とモード2の場合についてあ
らかじめ表1のように定めておき、アドレスセレ
クタ5aを介してランダムアクセス信号101に
より各図形ごとに各データを副走査順次に、主走
査線はランダムに入力する。
例えば第8図に示すΔAEFをまずRAM4aに
登録する。RAM上に開始点を登録するにはモー
ド1で、終了点を登録するにはモード2で登録す
る様に書き込み制御信号120により行なう。次
にデータ登録時には、ライトデータ作成部3を介
して行なう。ライトデータ作成部3は、RAM4
aからのリードデータ105aをリードデータセ
レクタ16aを介してとり込むが、第13図に示
すような回路により構成されている。第8図の走
査線l上の点l1は開始点であるので、書き込み制
御信号120によりモード1が指定され、ライト
データ作成部3によりRAM4aからのリードデ
ータの初期値「000」から「001」に変換されて、
ライトデータ104aとしてライトデータセレク
タ15aを介してRAM4aに書き込まれる。ま
たl上の点l2は終了点であるので初期値「000」
から「111」に書き換えられる。以下同様にして
ΔAEF上の各開始点及び終了点を登録する。頂点
Aについては線分AE上では「000」から点Aを頂
点「100」として登録する。点Fは前述した如く、
モード2「111」を登録、点Eは「100」として登
録する。次にΔHCJを同様に登録する。この時線
分HCと走査線mとの交点m2は、線分AF上の点
としてはすでに終了点として「111」が登録され
ているが、線分HCについて登録する際には開始
点であり、モード1のコード変換により「111」
から「100」に書き換えられ、ΔAEFとΔHCJの
合成図形ABCDEFGHIとしてみた場合頂点とな
ることを示す。また走査線n上の点n1は線分AE
上の点としては開始点ですでに「011」が登録さ
れている。線分HC上の点としてみた場合も開始
点であり、この同一アドレスにおいてモード1で
のコード変換により「001」から「010」に書き換
えられて登録される。これは点n1が数値として+
2、すなわち図形が2つ重なつた交点で、開始点
として2つあることを示し、点n1の後方で走査線
n上に2つの開始点に対応するそれぞれの終了点
が1つずつ存在することを示している。このよう
にしてΔAEFとΔHCJを登録した後の各走査線
l,m,n上の各点l1,l2,l3,m1,m2,m3,
n1,n2,n3は第9図に示す値で登録されることに
なる。第11図に第10図で示した座標系の各点
について、登録された実際の状態を示す。コード
信号でなく開始点として(+)、終了点として
(−)、数値は重なりの数、特定点としての頂点は
(*)で表わしている(RAMに演算モードを記
憶させる処理(c))。
登録する。RAM上に開始点を登録するにはモー
ド1で、終了点を登録するにはモード2で登録す
る様に書き込み制御信号120により行なう。次
にデータ登録時には、ライトデータ作成部3を介
して行なう。ライトデータ作成部3は、RAM4
aからのリードデータ105aをリードデータセ
レクタ16aを介してとり込むが、第13図に示
すような回路により構成されている。第8図の走
査線l上の点l1は開始点であるので、書き込み制
御信号120によりモード1が指定され、ライト
データ作成部3によりRAM4aからのリードデ
ータの初期値「000」から「001」に変換されて、
ライトデータ104aとしてライトデータセレク
タ15aを介してRAM4aに書き込まれる。ま
たl上の点l2は終了点であるので初期値「000」
から「111」に書き換えられる。以下同様にして
ΔAEF上の各開始点及び終了点を登録する。頂点
Aについては線分AE上では「000」から点Aを頂
点「100」として登録する。点Fは前述した如く、
モード2「111」を登録、点Eは「100」として登
録する。次にΔHCJを同様に登録する。この時線
分HCと走査線mとの交点m2は、線分AF上の点
としてはすでに終了点として「111」が登録され
ているが、線分HCについて登録する際には開始
点であり、モード1のコード変換により「111」
から「100」に書き換えられ、ΔAEFとΔHCJの
合成図形ABCDEFGHIとしてみた場合頂点とな
ることを示す。また走査線n上の点n1は線分AE
上の点としては開始点ですでに「011」が登録さ
れている。線分HC上の点としてみた場合も開始
点であり、この同一アドレスにおいてモード1で
のコード変換により「001」から「010」に書き換
えられて登録される。これは点n1が数値として+
2、すなわち図形が2つ重なつた交点で、開始点
として2つあることを示し、点n1の後方で走査線
n上に2つの開始点に対応するそれぞれの終了点
が1つずつ存在することを示している。このよう
にしてΔAEFとΔHCJを登録した後の各走査線
l,m,n上の各点l1,l2,l3,m1,m2,m3,
n1,n2,n3は第9図に示す値で登録されることに
なる。第11図に第10図で示した座標系の各点
について、登録された実際の状態を示す。コード
信号でなく開始点として(+)、終了点として
(−)、数値は重なりの数、特定点としての頂点は
(*)で表わしている(RAMに演算モードを記
憶させる処理(c))。
上記説明では3ビツトデータについて例示した
が、重なり図形が多く重なりの扱いがふえるとき
は数値データのビツト数を多くすることで対応で
きるのは前述の通りであるが、ライトデータ作成
は上記の登録する図形の順序に関係なく、ランダ
ムに処理できる点も同様である。
が、重なり図形が多く重なりの扱いがふえるとき
は数値データのビツト数を多くすることで対応で
きるのは前述の通りであるが、ライトデータ作成
は上記の登録する図形の順序に関係なく、ランダ
ムに処理できる点も同様である。
このようにRAM4aに登録されたデータをア
ドレスセレクタ5aを働かせて、シーケンシヤル
アドレス信号103によりシーケンシヤルに読み
出して(RAMから読み出す処理(d))ラスターイ
メージデータを作成する(モードを判別して走査
線順次記録データを得る工程(e))。ラスターイメ
ージデータは第1図の出力信号作成部11により
作成される。出力信号作成部11については第1
4図にて詳述する。
ドレスセレクタ5aを働かせて、シーケンシヤル
アドレス信号103によりシーケンシヤルに読み
出して(RAMから読み出す処理(d))ラスターイ
メージデータを作成する(モードを判別して走査
線順次記録データを得る工程(e))。ラスターイメ
ージデータは第1図の出力信号作成部11により
作成される。出力信号作成部11については第1
4図にて詳述する。
そして比較器9は扱う図形の重なり数に応じて
内部に複数の比較器を持つ。基準レジスタ8も比
較器内部の複数の比較器のそれぞれに基準値を与
えるようにしてある。
内部に複数の比較器を持つ。基準レジスタ8も比
較器内部の複数の比較器のそれぞれに基準値を与
えるようにしてある。
比較器9からは累算器7出力値が基準値「001」
以上(≧「001」)のとき「1」を出力する信号1
08と基準値「000」以上(≧「000」)のとき
「1」を出力する信号140が出力されるように
なつている。
以上(≧「001」)のとき「1」を出力する信号1
08と基準値「000」以上(≧「000」)のとき
「1」を出力する信号140が出力されるように
なつている。
各主走査開始に先立つて、コード検出器6、累
算器7をリセツトしておく。第8図に示す走査線
lを例にして説明する。累算器7はリードデータ
セレクタ16bを介して順次読み出されるRAM
4aのデータを累算するが、点l1に達するまで
RAM4aのデータは初期値「000」であるから
累算結果は「000」である。したがつて、コード
検出器6及び比較器9からの出力信号107,1
08は共に「0」で信号140は「1」で出力1
30は「0」である。l1に達するとl1のRAMデー
タ「001」が読み出され、累算結果は「001」とな
り、比較器9は基準レジスタ8の値「001」と比
較して出力信号108が「1」になり、出力13
0が「1」となる。以後l2に達するまでRAM4
aからのデータは「000」であるので、この状態
が維持される。l2の値「111」を読み出すと累算
結果は「000」となり、出力信号108が「0」
になり、出力130が「0」になる。以後にl3に
達するまでこの状態が維持される。次にl3の値を
読み出すと「100」で、特定コードを検出するコ
ード検出器6からの出力信号107が「1」にな
り、累算器7をいままでの値を保持するように制
御するとともに、出力信号を頂点を示す出力とし
て1ドツト分ONさせる。l3以後、走査laの終了
までRAMのデータは「000」であるので、出力
信号107,108は「0」であり、出力130
も「0」のままである。出力信号作成部11の回
路例を第14図に示す。信号107と信号140
の論理積を用いるのは、後に説明するように、重
なり数によつて塗りつぶしを行なうとき、重なり
数の不足する特定点の塗りつぶしを行なわないよ
うにするときに動作する。この出力信号作成部1
1における上記動作のタイムチヤートを第15図
に示す。信号140は常に「1」である。第14
図の信号180′が信号109として再度使われ
ているのは出力130において1ドツト分不足す
るのを補なうように動作するものである。このよ
うにして図形ABCDEFGHIとして作成された走
査線順次記録データを第12図Aに示す。
算器7をリセツトしておく。第8図に示す走査線
lを例にして説明する。累算器7はリードデータ
セレクタ16bを介して順次読み出されるRAM
4aのデータを累算するが、点l1に達するまで
RAM4aのデータは初期値「000」であるから
累算結果は「000」である。したがつて、コード
検出器6及び比較器9からの出力信号107,1
08は共に「0」で信号140は「1」で出力1
30は「0」である。l1に達するとl1のRAMデー
タ「001」が読み出され、累算結果は「001」とな
り、比較器9は基準レジスタ8の値「001」と比
較して出力信号108が「1」になり、出力13
0が「1」となる。以後l2に達するまでRAM4
aからのデータは「000」であるので、この状態
が維持される。l2の値「111」を読み出すと累算
結果は「000」となり、出力信号108が「0」
になり、出力130が「0」になる。以後にl3に
達するまでこの状態が維持される。次にl3の値を
読み出すと「100」で、特定コードを検出するコ
ード検出器6からの出力信号107が「1」にな
り、累算器7をいままでの値を保持するように制
御するとともに、出力信号を頂点を示す出力とし
て1ドツト分ONさせる。l3以後、走査laの終了
までRAMのデータは「000」であるので、出力
信号107,108は「0」であり、出力130
も「0」のままである。出力信号作成部11の回
路例を第14図に示す。信号107と信号140
の論理積を用いるのは、後に説明するように、重
なり数によつて塗りつぶしを行なうとき、重なり
数の不足する特定点の塗りつぶしを行なわないよ
うにするときに動作する。この出力信号作成部1
1における上記動作のタイムチヤートを第15図
に示す。信号140は常に「1」である。第14
図の信号180′が信号109として再度使われ
ているのは出力130において1ドツト分不足す
るのを補なうように動作するものである。このよ
うにして図形ABCDEFGHIとして作成された走
査線順次記録データを第12図Aに示す。
このようにして、RAM4aに副走査方向順
次、主走査方向ランダムにデータを書き込み、
RAM4aのもつ容量に全書き込みが終つたの
ち、RAM4aからデータを副走査線順次、主走
査線順次にデータを読み出し、出力信号作成部1
1から走査線順次の記録データ130が出力され
るのである。
次、主走査方向ランダムにデータを書き込み、
RAM4aのもつ容量に全書き込みが終つたの
ち、RAM4aからデータを副走査線順次、主走
査線順次にデータを読み出し、出力信号作成部1
1から走査線順次の記録データ130が出力され
るのである。
そしてRAM4aからデータを読み出している
時、次に主走査線について、RAM4bに副走査
方向順次、主走査方向順次ランダムにデータを書
き込むようにしている。RAM4aからのデータ
の読み出しが終つたら、RAM4bからデータを
副走査方向順次、主走査方向順次にデータを読み
出し、出力信号作成部11から走査線順次の記録
データ130が出力される((e)の処理)。
時、次に主走査線について、RAM4bに副走査
方向順次、主走査方向順次ランダムにデータを書
き込むようにしている。RAM4aからのデータ
の読み出しが終つたら、RAM4bからデータを
副走査方向順次、主走査方向順次にデータを読み
出し、出力信号作成部11から走査線順次の記録
データ130が出力される((e)の処理)。
このようにして、RAM4a,RAM4bの書
き込みと読み出し動作は交互に行われる((a)〜(e)
の処理を繰越し処理する処理(f))。RAM4をさ
らに増設してもよいのはいうまでもない。
き込みと読み出し動作は交互に行われる((a)〜(e)
の処理を繰越し処理する処理(f))。RAM4をさ
らに増設してもよいのはいうまでもない。
このようにして、重なり図形に対しても、塗り
つぶしが行われる。次に重なり数に応じて塗りつ
ぶしを行うことを説明する。
つぶしが行われる。次に重なり数に応じて塗りつ
ぶしを行うことを説明する。
上記実施例において、基準レジスタ8の値を変
更し、比較器9からの出力信号108が累算器7
の出力が基準値「010」以上の時に「1」となる
ように、又出力信号140が基準値「001」以上
の時に「1」となるように設定すれば、図形
IBDJGについての走査線順次記録データを得る
ことができる(第12図B)。
更し、比較器9からの出力信号108が累算器7
の出力が基準値「010」以上の時に「1」となる
ように、又出力信号140が基準値「001」以上
の時に「1」となるように設定すれば、図形
IBDJGについての走査線順次記録データを得る
ことができる(第12図B)。
又基準レジスタ8の値を変更し比較器9からの
出力信号108が累算器7の出力が「001」を出
力したとき「1」を出力(等号出力端子を用い
る)し、信号140が累算器7の出力が「000」
以上のとき「1」を出力すると第12図Cの走査
線順次記録データが得られる。
出力信号108が累算器7の出力が「001」を出
力したとき「1」を出力(等号出力端子を用い
る)し、信号140が累算器7の出力が「000」
以上のとき「1」を出力すると第12図Cの走査
線順次記録データが得られる。
これを第3−2図の図形にあてはめると、第1
2図A,B,Cは各々D,E,Fに相当する。図
形の重なりがない場合は第3−2図Gのように記
録されているのは当然である。第3−2図Gはモ
ード化することにより、従来よりも扱い易いもの
になつていることが判る。
2図A,B,Cは各々D,E,Fに相当する。図
形の重なりがない場合は第3−2図Gのように記
録されているのは当然である。第3−2図Gはモ
ード化することにより、従来よりも扱い易いもの
になつていることが判る。
例えば840mm×600mmのサイズ図形を25μm×
25μmの画素単位で処理する場合を考えると、こ
れを全画面を1画素ごとにメモリに展開すると
(8.4×102×40×6×102×40=)約8×108画素相
当のメモリが必要となる。一方第1図のRAM4
a,4bの1走査線分の容量は約3.4×104画素相
当でよく、全画面を1画素ごとにメモリにデータ
を展開して処理する場合よりはるかに少なくてす
む。
25μmの画素単位で処理する場合を考えると、こ
れを全画面を1画素ごとにメモリに展開すると
(8.4×102×40×6×102×40=)約8×108画素相
当のメモリが必要となる。一方第1図のRAM4
a,4bの1走査線分の容量は約3.4×104画素相
当でよく、全画面を1画素ごとにメモリにデータ
を展開して処理する場合よりはるかに少なくてす
む。
また第3図における文字データ等は例えば1文
字について480×480ドツトで表示されるものを標
準サイズとし、それを多角形として取り扱つた頂
点座標をあらかじめ記憶装置内に文字コードによ
り累算出来る形で蓄積しておく。標準データを拡
大又は縮小さらには長体、平体、斜体及び回転等
の処理を施したものを出力する際には、文字コー
ドにより標準データを読み出し標準データに対し
上記処理に対する演算を行なつた結果の頂点座標
値を取り扱えばよい。
字について480×480ドツトで表示されるものを標
準サイズとし、それを多角形として取り扱つた頂
点座標をあらかじめ記憶装置内に文字コードによ
り累算出来る形で蓄積しておく。標準データを拡
大又は縮小さらには長体、平体、斜体及び回転等
の処理を施したものを出力する際には、文字コー
ドにより標準データを読み出し標準データに対し
上記処理に対する演算を行なつた結果の頂点座標
値を取り扱えばよい。
この発明に係る多角形内部の領域を塗りつぶし
処理する方法によれば上記のように多角形の画像
データを、各頂点座標を与えるだけで複雑な計算
なしで得られるため高速処理を行なうことができ
る。また例えば第3−2図Eの図形を得る場合
に、従来の交点座標を算出する方法による場合に
は、第5図A,Bに示す両図形の座標が与えられ
て始めて処理が可能であつたが、本処理方法では
両図形が同時に与えられる必要はなく、到着した
データ順に処理を行なえばよい。よつてこの発明
による処理方法によれば、データの到着処理待ち
時間を短縮することが出来る。
処理する方法によれば上記のように多角形の画像
データを、各頂点座標を与えるだけで複雑な計算
なしで得られるため高速処理を行なうことができ
る。また例えば第3−2図Eの図形を得る場合
に、従来の交点座標を算出する方法による場合に
は、第5図A,Bに示す両図形の座標が与えられ
て始めて処理が可能であつたが、本処理方法では
両図形が同時に与えられる必要はなく、到着した
データ順に処理を行なえばよい。よつてこの発明
による処理方法によれば、データの到着処理待ち
時間を短縮することが出来る。
これら処理を行なう構成要素を、比較器、累算
器、検出器等の単純な機器を用いて構成できるの
で、回路自体の高速化を図ることもできる。ま
た、レジスタの値や、比較器、ライトデータ部の
仕様、特定コード等を変更するだけで図形の重な
りで表現できる任意の部分の走査線順次記録デー
タも容易に得ることができる。
器、検出器等の単純な機器を用いて構成できるの
で、回路自体の高速化を図ることもできる。ま
た、レジスタの値や、比較器、ライトデータ部の
仕様、特定コード等を変更するだけで図形の重な
りで表現できる任意の部分の走査線順次記録デー
タも容易に得ることができる。
nビツトの数値データで2n-1−1以下の重なり
図形の処理ができ、RAMのビツト数に対して重
なりの態様を記述する効率がよく、メモリ容量の
有効な活用が図られる。
図形の処理ができ、RAMのビツト数に対して重
なりの態様を記述する効率がよく、メモリ容量の
有効な活用が図られる。
上記した諸効果は多角形としての文字の取扱い
まで拡張できるものであり、任意の多角形の塗り
つぶし処理が高速に行なえる点、漢字の偏や旁を
登録しておき、漢字のラスター出力を任意に得る
ことができる等の汎用性も有するものである。
まで拡張できるものであり、任意の多角形の塗り
つぶし処理が高速に行なえる点、漢字の偏や旁を
登録しておき、漢字のラスター出力を任意に得る
ことができる等の汎用性も有するものである。
第1図はこの発明の実施例である多角形内部の
領域を塗りつぶし処理する方法を説明するための
ブロツク図、第2図は前処理としての多角形の処
理過程を示すフローチヤート、第3−1図、第3
−2図、第4図、第5図、第6図、第7図は第2
図における処理の内容を説明する図、第8図は第
1図に示すブロツク図により処理される具体的な
多角形の例示と走査線を示す図、第9図は第8図
に示す走査線上の点がRAMに書き込まれる際に
ライトデータ作成部でコード変換されることを説
明する図、第10図、第11図、第12図は、多
角形が具体的にどのような処理を受けるかを説明
する図、第13図は第1図におけるライトデータ
作成部の回路例を示す図、第14図は第1図にお
ける出力信号作成部の回路例を示す図、第15図
は出力信号作成部の動作を示すタイムチヤート、
第16図は直線補間により走査線と図形との交点
を求めることを説明する図、第17図は第16図
で求めた交点に基づきラスター開始点と終了点を
求めることを説明する図。第18図は従来の方法
による閉線図形塗りつぶしのラスターイメージデ
ータを得る処理手順の構成を示すブロツク図、第
19図は第18図における出力データ生成部の回
路例を示す図。第20図は出力データ生成部の動
作を示すタイムチヤートである。 1……図形並びに座標データ・モード情報付与
処理部、2……初期値レジスタ、3……ライトデ
ータ作成部、4a,4b……RAM、5a,5b
……アドレスセレクタ、6……コード検出器、7
……累算器、8……基準レジスタ、9……比較
器、11……出力信号作成部。
領域を塗りつぶし処理する方法を説明するための
ブロツク図、第2図は前処理としての多角形の処
理過程を示すフローチヤート、第3−1図、第3
−2図、第4図、第5図、第6図、第7図は第2
図における処理の内容を説明する図、第8図は第
1図に示すブロツク図により処理される具体的な
多角形の例示と走査線を示す図、第9図は第8図
に示す走査線上の点がRAMに書き込まれる際に
ライトデータ作成部でコード変換されることを説
明する図、第10図、第11図、第12図は、多
角形が具体的にどのような処理を受けるかを説明
する図、第13図は第1図におけるライトデータ
作成部の回路例を示す図、第14図は第1図にお
ける出力信号作成部の回路例を示す図、第15図
は出力信号作成部の動作を示すタイムチヤート、
第16図は直線補間により走査線と図形との交点
を求めることを説明する図、第17図は第16図
で求めた交点に基づきラスター開始点と終了点を
求めることを説明する図。第18図は従来の方法
による閉線図形塗りつぶしのラスターイメージデ
ータを得る処理手順の構成を示すブロツク図、第
19図は第18図における出力データ生成部の回
路例を示す図。第20図は出力データ生成部の動
作を示すタイムチヤートである。 1……図形並びに座標データ・モード情報付与
処理部、2……初期値レジスタ、3……ライトデ
ータ作成部、4a,4b……RAM、5a,5b
……アドレスセレクタ、6……コード検出器、7
……累算器、8……基準レジスタ、9……比較
器、11……出力信号作成部。
Claims (1)
- 【特許請求の範囲】 1 a 1以上の走査線容量をもつ1画素2ビツ
ト以上のRAMをクリアする処理工程。 b 1以上の多角形の各辺をなす線分ごとに、そ
の線分の座標データと、走査線に対してラスタ
ー開始点モードとなるかラスター終了点モード
となるか、ラスター開始点かつ終了点モードと
なるかを示すモード情報を与える処理工程。 c b)の処理工程で与えられた各多角形の線分
ごとのモード情報を各走査線に対応するRAM
領域に記憶するとともに、その際に多角形間で
モード情報の記憶位置が重なるときは、先に書
き込まれているモード情報と新たに書き込もう
とするモード情報とについて加減算を行なうこ
とにより、いずれのモード情報が何個多いかを
示すモード情報、もしくは両モード情報が同数
であることを示すモード情報に変換して記憶す
る処理工程。 d c)の処理工程を経てRAMに記憶したデー
タを走査線順次に読み出す処理工程。 e RAMから走査線順次に読み出されるデータ
のモード情報を累算することにより、1以上の
多角形を重ね合わせた多角形全体としてのラス
ター開始点及びラスター終了点を判別し、走査
線順次記録データを得る処理工程。 f a)からe)を適宜繰返して行なう処理工
程。 を備えることを特徴とする多角形内部の領域を塗
りつぶし処理する方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60055503A JPS61212895A (ja) | 1985-03-18 | 1985-03-18 | 多角形内部の領域を塗りつぶし処理する方法 |
US06/838,553 US4853971A (en) | 1985-03-18 | 1986-03-11 | Method and apparatus for processing image data |
DE3650332T DE3650332T2 (de) | 1985-03-18 | 1986-03-12 | Verfahren und Gerät zur Bilddatenverarbeitung. |
EP86103290A EP0200885B1 (en) | 1985-03-18 | 1986-03-12 | Method and apparatus for processing image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60055503A JPS61212895A (ja) | 1985-03-18 | 1985-03-18 | 多角形内部の領域を塗りつぶし処理する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61212895A JPS61212895A (ja) | 1986-09-20 |
JPH0431399B2 true JPH0431399B2 (ja) | 1992-05-26 |
Family
ID=13000463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60055503A Granted JPS61212895A (ja) | 1985-03-18 | 1985-03-18 | 多角形内部の領域を塗りつぶし処理する方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61212895A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6423372A (en) * | 1987-07-20 | 1989-01-26 | Dainippon Screen Mfg | Picture signal processor |
JP2617573B2 (ja) * | 1989-05-31 | 1997-06-04 | 大日本スクリーン製造株式会社 | 短冊状描画のための画像データ処理方法 |
JPH04684A (ja) * | 1990-04-18 | 1992-01-06 | Yamaha Corp | 図形塗り潰し方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55103636A (en) * | 1979-02-02 | 1980-08-08 | Hitachi Ltd | Display unit |
-
1985
- 1985-03-18 JP JP60055503A patent/JPS61212895A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55103636A (en) * | 1979-02-02 | 1980-08-08 | Hitachi Ltd | Display unit |
Also Published As
Publication number | Publication date |
---|---|
JPS61212895A (ja) | 1986-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0360155B1 (en) | Image transformation method and device | |
JPS62500126A (ja) | 実時間計算および立体画面の透視図表示のコンピュ−タ図形処理システム | |
JPH0154752B2 (ja) | ||
US4853971A (en) | Method and apparatus for processing image data | |
JP3586991B2 (ja) | テクスチャ・データ読出装置およびレンダリング装置 | |
JPH0431399B2 (ja) | ||
JPH03119387A (ja) | デジタル活字面の輪郭を形成する方法およびその装置 | |
JP2634851B2 (ja) | 画像処理装置 | |
JP2770582B2 (ja) | 図形塗潰し装置 | |
JPS63305478A (ja) | パタ−ン情報復元装置 | |
US5680153A (en) | Image Processing apparatus | |
JPH0544063B2 (ja) | ||
JP3092154B2 (ja) | ディジタル描画装置 | |
JP4320604B2 (ja) | 画像処理方法および画像処理装置 | |
JPS58163993A (ja) | カラ−画像表示方式 | |
JP2787497B2 (ja) | 図形描画方法及び装置 | |
JP2575047B2 (ja) | ディジタル画像の復元装置 | |
JP2794446B2 (ja) | エレメント別に文字を構成したアウトラインフォントの塗りつぶし方法および装置 | |
JP2551322B2 (ja) | 画像再生方法および装置 | |
JP2635779B2 (ja) | 図面の特徴抽出装置 | |
JP2001209813A (ja) | 2次元パターン生成方法及び装置 | |
JPH0535912B2 (ja) | ||
JPH02281386A (ja) | 画像表示方法 | |
JPH0259871A (ja) | 画像処理装置および画像処理方法 | |
JPH10261095A (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |