JPH04153786A - 四辺形塗りつぶし装置 - Google Patents
四辺形塗りつぶし装置Info
- Publication number
- JPH04153786A JPH04153786A JP2278275A JP27827590A JPH04153786A JP H04153786 A JPH04153786 A JP H04153786A JP 2278275 A JP2278275 A JP 2278275A JP 27827590 A JP27827590 A JP 27827590A JP H04153786 A JPH04153786 A JP H04153786A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate
- line
- quadrilateral
- filling
- dda
- 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
Links
- 238000004458 analytical method Methods 0.000 abstract description 2
- 239000000284 extract Substances 0.000 abstract description 2
- 238000010276 construction Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 17
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005429 filling process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンピュータ・デイスプレィやプリンタに図
形を描画する装置に関し、特に任意の4頂点で定義され
る四辺形内を塗りつぶす四辺形塗りつぶし装置に関する
。
形を描画する装置に関し、特に任意の4頂点で定義され
る四辺形内を塗りつぶす四辺形塗りつぶし装置に関する
。
コンピュータを使用して文書を作成する技術は、当初文
字だけを扱うワードプロセッサとして市場に広まったが
、最近ではテスクトップ・パブリッシング(DTP)と
呼ばれるように、パソコンやワープロを使用した図形や
文字を含んだ高級な品質の文書をプリンタに出力できる
までにいたっている。このように文書出力の品質が向上
したのは、プリンタの解像度が格段に向上したからであ
る。
字だけを扱うワードプロセッサとして市場に広まったが
、最近ではテスクトップ・パブリッシング(DTP)と
呼ばれるように、パソコンやワープロを使用した図形や
文字を含んだ高級な品質の文書をプリンタに出力できる
までにいたっている。このように文書出力の品質が向上
したのは、プリンタの解像度が格段に向上したからであ
る。
プリンタの解像度とは、d p i (dot per
1nch)という単位で表され、単位長さあたり印刷
できるドツトの数を示している。例えば400dpiは
1mmあたり約16ドツトの画素を印刷できる解像度で
ある。
1nch)という単位で表され、単位長さあたり印刷
できるドツトの数を示している。例えば400dpiは
1mmあたり約16ドツトの画素を印刷できる解像度で
ある。
さて、このように解像度が向上すると1ドツト幅の図形
、いわゆる単線は非常に細い線となり実用的でなくなっ
てきた。従来、グラフィックス処理を高速化するために
開発されたグラフィックス・コントローラLSIに基本
的に備えられてきた単線描画機能は、この分野では有効
ではなくなった。つまり、DTP処理においては2ドツ
ト幅以上の太線が基本プリミティブとなる。
、いわゆる単線は非常に細い線となり実用的でなくなっ
てきた。従来、グラフィックス処理を高速化するために
開発されたグラフィックス・コントローラLSIに基本
的に備えられてきた単線描画機能は、この分野では有効
ではなくなった。つまり、DTP処理においては2ドツ
ト幅以上の太線が基本プリミティブとなる。
太線を描画する際には従来法の様なソフトウェア手法が
採用されていた。太線は4頂点のXX座標で定義される
四辺形を塗りつぶした図形である。
採用されていた。太線は4頂点のXX座標で定義される
四辺形を塗りつぶした図形である。
まず、4頂点のうち最小のX座標を有するものを選択す
る。この頂点を端点とする2つの線分を選びだす。2つ
の線分の終点のX座標を比較し大きい方のX座標を選択
し、始点のX座標との差をもとめると、これが第1の塗
りつぶしを行う部分のライン数となる。つぎに、2つの
線分の傾き(Yがまたけ変化したときのXの増分)を求
め、それぞれの線分のX座標にその傾きを加えて新しい
X座標を求める。これを1ラインごとに行い、もとめた
2つの線分のX座標からそのラインの塗りつぶす領域を
決定しその領域を塗りつぶす。
る。この頂点を端点とする2つの線分を選びだす。2つ
の線分の終点のX座標を比較し大きい方のX座標を選択
し、始点のX座標との差をもとめると、これが第1の塗
りつぶしを行う部分のライン数となる。つぎに、2つの
線分の傾き(Yがまたけ変化したときのXの増分)を求
め、それぞれの線分のX座標にその傾きを加えて新しい
X座標を求める。これを1ラインごとに行い、もとめた
2つの線分のX座標からそのラインの塗りつぶす領域を
決定しその領域を塗りつぶす。
こうして、第1に塗りつぶす領域の処理を終了すると、
終了した線分の端点を始点とする残りの線分をとりだし
傾きを求める。この線分の終点と、まだ処理中の線分の
終点のX座標を比較し、大きい方のX座標を選択し、こ
のX座標までの領域を第2の塗りつぶし領域とする。上
述した方法と同様にこの領域の内部を塗りつぶしていき
、終了したら最後に残った線分を参照して第3の塗りつ
ぶし領域に対して塗りつぶし処理を行う。
終了した線分の端点を始点とする残りの線分をとりだし
傾きを求める。この線分の終点と、まだ処理中の線分の
終点のX座標を比較し、大きい方のX座標を選択し、こ
のX座標までの領域を第2の塗りつぶし領域とする。上
述した方法と同様にこの領域の内部を塗りつぶしていき
、終了したら最後に残った線分を参照して第3の塗りつ
ぶし領域に対して塗りつぶし処理を行う。
一方、アウトライン・フォントの普及に伴い、その処理
の基本プリミティブである任意多角形内塗りつぶし、い
わゆるポリゴンフィルを高速処理できるハードウェアが
開発された。太線すなわち四辺形塗りつぶしは、ポリゴ
ンフィルのひとつの形態であるので、この種のハードウ
ェアで処理することができる。ポリゴンフィルのハード
ウェア・アルゴリズムはエツジフラグ・アルゴリズムと
呼ばれている。これは、まず塗りつぶすべき領域と同じ
サイズの領域をワークエリアとして確保し、この領域に
一旦ボリゴンの外形を描画する。そして、この外形を含
んだ外接矩形領域を1ラインごとリードし、外形データ
の有無をサーチし、その結果ポリゴンの内外判定を加え
て塗りつぶすという方式である。
の基本プリミティブである任意多角形内塗りつぶし、い
わゆるポリゴンフィルを高速処理できるハードウェアが
開発された。太線すなわち四辺形塗りつぶしは、ポリゴ
ンフィルのひとつの形態であるので、この種のハードウ
ェアで処理することができる。ポリゴンフィルのハード
ウェア・アルゴリズムはエツジフラグ・アルゴリズムと
呼ばれている。これは、まず塗りつぶすべき領域と同じ
サイズの領域をワークエリアとして確保し、この領域に
一旦ボリゴンの外形を描画する。そして、この外形を含
んだ外接矩形領域を1ラインごとリードし、外形データ
の有無をサーチし、その結果ポリゴンの内外判定を加え
て塗りつぶすという方式である。
最近になってDTP処理はプリンタと同様にデイスプレ
ィ上でも行われるようになった。プリンタとデイスプレ
ィの処理上の相違はないが処理速度に対する要求はデイ
スプレィが格段に厳しい。
ィ上でも行われるようになった。プリンタとデイスプレ
ィの処理上の相違はないが処理速度に対する要求はデイ
スプレィが格段に厳しい。
これは、デイスプレィは人間とのマンマシンインターフ
ェースであり、その応答速度は十分に高速でなければい
けない。また、プリンタの解像度も向上しており、それ
に従って処理すべきデータ量が増加している。さらに、
プリンタの印字メカニズムも改良され印字スピードも高
速化できている。
ェースであり、その応答速度は十分に高速でなければい
けない。また、プリンタの解像度も向上しており、それ
に従って処理すべきデータ量が増加している。さらに、
プリンタの印字メカニズムも改良され印字スピードも高
速化できている。
したがって、処理速度が遅いと印字速度に追い付かない
。このように、プリンタ2デイスプレイいずれに関して
も、処理量の増大と要求処理時間の短縮ということで2
重の性能アップを強いられているのにもかかわらず、従
来のソフトウェア手法では十分な性能を得ることができ
なかった。
。このように、プリンタ2デイスプレイいずれに関して
も、処理量の増大と要求処理時間の短縮ということで2
重の性能アップを強いられているのにもかかわらず、従
来のソフトウェア手法では十分な性能を得ることができ
なかった。
前述したように、直線発生、ポリゴンのそれぞれの処理
は、従来からハードウェア化されており、ソフトウェア
処理との性能差は1桁以上あった。
は、従来からハードウェア化されており、ソフトウェア
処理との性能差は1桁以上あった。
ソフトウェア手法で速度がでない原因のひとつは、ハー
ドウェアに比べて並列処理ができないこと、専用命令が
ないために頻繁に行われる処理に関しても、通常の命令
をプログラムする必要があるからである。また、直線の
傾きを計算するときに除算を使用するため、性能を劣化
させているという点も無視できない。除算は加減乗算に
比べて一般に1桁程度低速である。
ドウェアに比べて並列処理ができないこと、専用命令が
ないために頻繁に行われる処理に関しても、通常の命令
をプログラムする必要があるからである。また、直線の
傾きを計算するときに除算を使用するため、性能を劣化
させているという点も無視できない。除算は加減乗算に
比べて一般に1桁程度低速である。
一方、ポリゴンフィルによる方法には次の様な欠点があ
った。まず、大きな図形、すなわち長い太線を描画する
ような場合、それだけ大きなワークエリアを確保する必
要があることである。例として、XX座標が(0,O)
の点と(1000゜1000)の点を太さ2で描画する
場合を考える。
った。まず、大きな図形、すなわち長い太線を描画する
ような場合、それだけ大きなワークエリアを確保する必
要があることである。例として、XX座標が(0,O)
の点と(1000゜1000)の点を太さ2で描画する
場合を考える。
ポリゴンフィルのためのワークエリアは1000×10
00ドツトすなわち1Mビット必要である。
00ドツトすなわち1Mビット必要である。
システムが高価格になる。さらに外形を描画したあとに
、100OX100Oドツトの領域を全てサーチする必
要があるために、処理速度は著しく沈動率的になる。つ
まり、単純に四辺形内だけを処理する方式に比べて、無
駄な領域を大量にアクセスしなければならない。また、
従来のノ・−ドウエアの方法によると、外形上の画素を
含んで塗りつぶすかどうかは、ハードウェアに依存して
決ってしまい、ハードウェアの定義にあった外形形状と
マツチした特定の応用では高速化できるが、定義にあわ
ない応用では使用できないという欠点もあった。
、100OX100Oドツトの領域を全てサーチする必
要があるために、処理速度は著しく沈動率的になる。つ
まり、単純に四辺形内だけを処理する方式に比べて、無
駄な領域を大量にアクセスしなければならない。また、
従来のノ・−ドウエアの方法によると、外形上の画素を
含んで塗りつぶすかどうかは、ハードウェアに依存して
決ってしまい、ハードウェアの定義にあった外形形状と
マツチした特定の応用では高速化できるが、定義にあわ
ない応用では使用できないという欠点もあった。
また、従来の方式では、グラフィックス・コントローラ
などのハードウェアによって単線を高速化できたとして
も、単線の軌跡とソフトウェアによる太線の外形とがく
いちがい、結局ノ・−トウエアを使用できない例も少な
くなかった。
などのハードウェアによって単線を高速化できたとして
も、単線の軌跡とソフトウェアによる太線の外形とがく
いちがい、結局ノ・−トウエアを使用できない例も少な
くなかった。
本発明は、四辺形塗りつぶしに限定したノ・−ドウエア
向きの処理アルゴリズムを考案したものであり、ワーク
エリアを不要にし、メモリ・アクセス回数も必要最小限
で済むように工夫したものである。さらに、外形上の画
素の塗りつぶしの定義についても、複数のモードをサポ
ートできるようにし柔軟性を高めた。また、1ドツト幅
の単線との整合性を得るために、太線の外形直線を、一
般によく知られているディジタル微分解析法(DDA)
発生によって計算するようにした。つまり、太線の外形
直線上を単線で描画すると、軌跡が完全に一致するので
ある。これは応用の柔軟性を高める意味で本発明の効果
のひとつになっている。
向きの処理アルゴリズムを考案したものであり、ワーク
エリアを不要にし、メモリ・アクセス回数も必要最小限
で済むように工夫したものである。さらに、外形上の画
素の塗りつぶしの定義についても、複数のモードをサポ
ートできるようにし柔軟性を高めた。また、1ドツト幅
の単線との整合性を得るために、太線の外形直線を、一
般によく知られているディジタル微分解析法(DDA)
発生によって計算するようにした。つまり、太線の外形
直線上を単線で描画すると、軌跡が完全に一致するので
ある。これは応用の柔軟性を高める意味で本発明の効果
のひとつになっている。
以上の説明したような従来の太線描画の欠点を除去し、
太線描画を高速化するために本発明は、XX座標で定義
されたメモリ上に、四辺形を描画する図形描画装置であ
って、同一のX座標に対応する2本の線分上の点のX座
標をそれぞれ1画素ごとに算出する直線発生手段と、前
記2本の線分上の画素の間を水平直線で塗りつぶすファ
イル手段と、前記2分の線分のうち、少なくとも1本の
線分の終了点を検出した場合には、前記終了点を始点と
する別の線分に切換えて前記直線発生を継続する線分更
新手段とを含んで構成される。
太線描画を高速化するために本発明は、XX座標で定義
されたメモリ上に、四辺形を描画する図形描画装置であ
って、同一のX座標に対応する2本の線分上の点のX座
標をそれぞれ1画素ごとに算出する直線発生手段と、前
記2本の線分上の画素の間を水平直線で塗りつぶすファ
イル手段と、前記2分の線分のうち、少なくとも1本の
線分の終了点を検出した場合には、前記終了点を始点と
する別の線分に切換えて前記直線発生を継続する線分更
新手段とを含んで構成される。
前記フィル手段は、好ましくは、線分上の画素を含んで
塗りつぶす第1の手段と、線分上の画素の一部を含んで
塗りつぶす第2の手段と、前記第1あるいは第2の手段
の(Cずれかを選択する手段とを含んで構成される。
塗りつぶす第1の手段と、線分上の画素の一部を含んで
塗りつぶす第2の手段と、前記第1あるいは第2の手段
の(Cずれかを選択する手段とを含んで構成される。
次に本発明の実施例について図面を参照しながら詳細に
説明する。
説明する。
第1図は本発明一実施例による四辺形塗りつぶし装置の
ブロック図、第2図は塗りつぶしモードの説明図、第3
図は処理のフローチャート、第4図は境界判定条件の説
明図、第5図は動作タイミングを示す図である。
ブロック図、第2図は塗りつぶしモードの説明図、第3
図は処理のフローチャート、第4図は境界判定条件の説
明図、第5図は動作タイミングを示す図である。
本実施例は、四辺形内を塗りつぶす際に、4辺の真の直
線で完全に囲まれた画素だけを塗りつぶす装置である。
線で完全に囲まれた画素だけを塗りつぶす装置である。
第2図は、塗りつぶしのモードを説明したものである。
格子が交わる交点がいわゆる画素の格子点であり、各格
子点がビットマツプ・メモリの各ビットに相当する。こ
のように画素はXX座標平面上に離散的に配置されてい
る。第2図(A)は、四辺形の外形を直線発生させた場
合の軌跡であり、黒丸がDDAによって発生させた直線
上の点である。なお、第2図(A)は概念を説明するも
ので、実際に外形だけを描画することはない。塗りつぶ
しには2種類あり、第2図(B)および(C)の白丸に
相当する画素を塗りつぶす。第2図(B)の塗りつぶし
モード1が、本実施例の塗りつぶし規則を示したもので
、真の外形直線で囲まれた内側部分だけを塗りつぶす。
子点がビットマツプ・メモリの各ビットに相当する。こ
のように画素はXX座標平面上に離散的に配置されてい
る。第2図(A)は、四辺形の外形を直線発生させた場
合の軌跡であり、黒丸がDDAによって発生させた直線
上の点である。なお、第2図(A)は概念を説明するも
ので、実際に外形だけを描画することはない。塗りつぶ
しには2種類あり、第2図(B)および(C)の白丸に
相当する画素を塗りつぶす。第2図(B)の塗りつぶし
モード1が、本実施例の塗りつぶし規則を示したもので
、真の外形直線で囲まれた内側部分だけを塗りつぶす。
DDAで発生した線分は、真の直線に最も近い格子点を
選んで描画するために、真の直線の左右に分散する。
選んで描画するために、真の直線の左右に分散する。
従って、内側部分だけを抽出するのは従来の方法ではで
きないことがわかる。内側部分の抽出方法については後
述する。ちなみに、第2図(C)の塗りつぶしモード2
は、DDAで発生させた外形直線上の全ての点を含んで
塗りつぶすもので、後述する第2の実施例で詳細に説明
する。
きないことがわかる。内側部分の抽出方法については後
述する。ちなみに、第2図(C)の塗りつぶしモード2
は、DDAで発生させた外形直線上の全ての点を含んで
塗りつぶすもので、後述する第2の実施例で詳細に説明
する。
まず、第3図を用いて処理の流れについて説明する。本
実施例の四辺形塗りつぶし装置の入力は、四辺形を定義
する4点のXX座標である。この4点のX座標を比較し
最小のものをピックアップする。次に、このX座標を有
する2本の線分について、DDAパラメータを生成する
。ここで、左右2本の線分についてX座標を1ずつイン
クリメン)LDDA処理により各線分のX座標を求める
。
実施例の四辺形塗りつぶし装置の入力は、四辺形を定義
する4点のXX座標である。この4点のX座標を比較し
最小のものをピックアップする。次に、このX座標を有
する2本の線分について、DDAパラメータを生成する
。ここで、左右2本の線分についてX座標を1ずつイン
クリメン)LDDA処理により各線分のX座標を求める
。
求めたX座標にしたがって左ラインの実アドレス、左右
ライン間の距離(画素数)、さらに左端のビット位置か
ら左ワード・マスク、右端のビット位置から右ワード・
マスクを生成する。ここまでが座標演算処理である。
ライン間の距離(画素数)、さらに左端のビット位置か
ら左ワード・マスク、右端のビット位置から右ワード・
マスクを生成する。ここまでが座標演算処理である。
塗りつぶし処理は、DDA処理において発生された真の
外形四辺形内に含まれる画素の座標に基づいて行われる
。ただし、四辺形内であるか否かの判定は、外形線分が
左辺であるか右辺であるかによって判定方法が異なる。
外形四辺形内に含まれる画素の座標に基づいて行われる
。ただし、四辺形内であるか否かの判定は、外形線分が
左辺であるか右辺であるかによって判定方法が異なる。
これを示したのが第4図である。外形直線の方向によっ
て、境界点の座標を求める方法が異なっている。このよ
うな判定は、DDAパラメータの一部を0.5ずらして
おくことによって容易に求めることができる。
て、境界点の座標を求める方法が異なっている。このよ
うな判定は、DDAパラメータの一部を0.5ずらして
おくことによって容易に求めることができる。
このように座標演算処理結果にもとづき、塗りつぶし処
理を開始し、しかもそれらの処理が並列の行えるように
なっているのが本実施例の特徴である。
理を開始し、しかもそれらの処理が並列の行えるように
なっているのが本実施例の特徴である。
処理の流れについて、第2図を用いてもう少し具体的に
説明する。第1ラインについては、頂点だけで塗りつぶ
しの対象となる。第2ラインについては、第2図(B)
の左辺直線はすぐに計算できる。なぜなら、Y軸に対し
て45度以下の角度を有しているので、通常のDDA処
理もX座標を1ずつインクリメントすれば対応するX座
標も直ちに求められるからである。また、塗りつぶし規
則はXの小数点以下切上げなので、1ライン目の頂点の
直下に境界点が得られる。これに対して右辺はX軸に対
して45度以下の角度なので、X座標を1ずつインクリ
メントしながら対応するX座標を求め、Yが変化するま
でDDA処理を続ける。
説明する。第1ラインについては、頂点だけで塗りつぶ
しの対象となる。第2ラインについては、第2図(B)
の左辺直線はすぐに計算できる。なぜなら、Y軸に対し
て45度以下の角度を有しているので、通常のDDA処
理もX座標を1ずつインクリメントすれば対応するX座
標も直ちに求められるからである。また、塗りつぶし規
則はXの小数点以下切上げなので、1ライン目の頂点の
直下に境界点が得られる。これに対して右辺はX軸に対
して45度以下の角度なので、X座標を1ずつインクリ
メントしながら対応するX座標を求め、Yが変化するま
でDDA処理を続ける。
第2図(A)では、第2ラインの右端の黒丸点までをD
DAで発生し求めることになる。ここで注意すべきこと
は、単に右端を求めるのではなく、途中の点がこの四辺
形内に含まれるか否かをチエツクする処理を行う点であ
る。このチエツクを行うために、わざわざ一画素ごとに
座標計算をしているのである。右辺の境界点は前述した
第4図にしたがって、X座標の小数a以下を切り上げて
得られるX座標が変化した点の直前のX座標である。
DAで発生し求めることになる。ここで注意すべきこと
は、単に右端を求めるのではなく、途中の点がこの四辺
形内に含まれるか否かをチエツクする処理を行う点であ
る。このチエツクを行うために、わざわざ一画素ごとに
座標計算をしているのである。右辺の境界点は前述した
第4図にしたがって、X座標の小数a以下を切り上げて
得られるX座標が変化した点の直前のX座標である。
このようにして、第2図(A)の第1ラインの右の2点
の画素は塗りつぶしの対象からはずすことができる。
の画素は塗りつぶしの対象からはずすことができる。
以上のようにして、第2図(B)のような塗りつぶし図
形が得られる。ここで、本実施例のノ・−ドウエアの動
作について、第1図を使用して説明する。
形が得られる。ここで、本実施例のノ・−ドウエアの動
作について、第1図を使用して説明する。
第1図において、1は座標レジスタ・ファイル、2は座
標シーケンサ、3は左辺DDA発生部、4は右辺DDA
発生部、5は塗りつぶしシーケンサ、6はアドレス計算
部、7はワード数計数部、8は線分計数部、9はマスク
生成部、10はラスタ演算L20はフレーム・メモリ、
21はフレーム・メモリ・バス、22はアドレス・バス
、30は入力バス、31〜42は内部バス、50〜54
は制御信号である。これらのブロックは大きくふたつに
分けることができる。座標演算を行うための座標シーケ
ンサ2を中心とするグループ、1ライン上の塗りつぶし
を行うための塗りつぶしシーケンサ5を中心とするグル
ープである。
標シーケンサ、3は左辺DDA発生部、4は右辺DDA
発生部、5は塗りつぶしシーケンサ、6はアドレス計算
部、7はワード数計数部、8は線分計数部、9はマスク
生成部、10はラスタ演算L20はフレーム・メモリ、
21はフレーム・メモリ・バス、22はアドレス・バス
、30は入力バス、31〜42は内部バス、50〜54
は制御信号である。これらのブロックは大きくふたつに
分けることができる。座標演算を行うための座標シーケ
ンサ2を中心とするグループ、1ライン上の塗りつぶし
を行うための塗りつぶしシーケンサ5を中心とするグル
ープである。
処理の流れは、まず4頂点の座標データを入力バス30
を介して座標レジスタ・ファイル1に入力する。座標シ
ーケンサ2は、座標レジスタ・ファイル1に格納された
座標データからの最小のX座標を検出し、その点を端点
とする2本の線分を抽出し、DDAパラメータを生成し
て左辺DDA発生部3と右辺DDA発生部4にそれぞれ
転送する。さらに、座標シーケンサは短い方の線分の描
画ドツト数を計数させるために、線分計数部8に対して
線分長をデータとしてセットする。また、塗りつぶしシ
ーケンサ5に対しては、X座標が最小の頂点座標に対応
する物理アドレスを計算した結果をセットする。以上の
処理が終了すると、座標シーケンサ2は、塗りつぶしシ
ーケンサ5を起動すると同時に、つぎのラインの塗りつ
ぶしの準備を開始する。つまり、左右のDDA発生発生
色3に対して、つぎのラインのX座標を求めさせる。
を介して座標レジスタ・ファイル1に入力する。座標シ
ーケンサ2は、座標レジスタ・ファイル1に格納された
座標データからの最小のX座標を検出し、その点を端点
とする2本の線分を抽出し、DDAパラメータを生成し
て左辺DDA発生部3と右辺DDA発生部4にそれぞれ
転送する。さらに、座標シーケンサは短い方の線分の描
画ドツト数を計数させるために、線分計数部8に対して
線分長をデータとしてセットする。また、塗りつぶしシ
ーケンサ5に対しては、X座標が最小の頂点座標に対応
する物理アドレスを計算した結果をセットする。以上の
処理が終了すると、座標シーケンサ2は、塗りつぶしシ
ーケンサ5を起動すると同時に、つぎのラインの塗りつ
ぶしの準備を開始する。つまり、左右のDDA発生発生
色3に対して、つぎのラインのX座標を求めさせる。
もし、線分計数部8が制御信号50をアクティブにする
と、ひとつの線分が処理を完了したことになり、座標シ
ーケンサ2はつぎの頂点情報を座標レジスタ・ファイル
1からピックアップし、上述したような処理を繰り返す
。最終的に4本の線分を処理完了した時点で全ての処理
を終了する。
と、ひとつの線分が処理を完了したことになり、座標シ
ーケンサ2はつぎの頂点情報を座標レジスタ・ファイル
1からピックアップし、上述したような処理を繰り返す
。最終的に4本の線分を処理完了した時点で全ての処理
を終了する。
さて、塗りつぶしシーケンサ5は、左右辺のDDAの結
果から得られた座標変位をもとに、アドレス計算部6.
ワード数計数部7.マスク計数部9に対して1ライン上
の塗りつぶし情報をセットする。具体的には、アドレス
計算部6に対してラインの先頭アドレス、ワード数計数
部7に対しては塗りつぶしワード数、マスク計数部9に
対しては、左端および右端のX座標をそれぞれ内部バス
38〜40を介してセットする。そうしてから斉に処理
を開始させる。つまり、与えられた先頭アドレスに格納
されたデータをフレーム・、メモリ20からリードして
ラスタ演算部10に格納し、さらにマスク計算部9で生
成されたマスク情報を内部バス42を介して入力し、ラ
スタ演算部10でラスタ演算を行う。ラスタ演算とは、
フレーム・メモリ上にもともと格納されていたデータに
対し、マスク情報がONのビット位置だけを所定の塗り
つぶしデータで置き換える演算をいう。マスク計算部で
は、■ライン上の1ワード目は始点のX座標から生成し
、途中のワードのマスクはすべてONとし、最終ワード
は終点のX座標から生成する。1ワード目かどうかは最
初に起動されたタイミングで判断し、最終ワードかどう
かはワード数計数部が制御信号52をアクティブにする
ので、これによって知ることができる。
果から得られた座標変位をもとに、アドレス計算部6.
ワード数計数部7.マスク計数部9に対して1ライン上
の塗りつぶし情報をセットする。具体的には、アドレス
計算部6に対してラインの先頭アドレス、ワード数計数
部7に対しては塗りつぶしワード数、マスク計数部9に
対しては、左端および右端のX座標をそれぞれ内部バス
38〜40を介してセットする。そうしてから斉に処理
を開始させる。つまり、与えられた先頭アドレスに格納
されたデータをフレーム・、メモリ20からリードして
ラスタ演算部10に格納し、さらにマスク計算部9で生
成されたマスク情報を内部バス42を介して入力し、ラ
スタ演算部10でラスタ演算を行う。ラスタ演算とは、
フレーム・メモリ上にもともと格納されていたデータに
対し、マスク情報がONのビット位置だけを所定の塗り
つぶしデータで置き換える演算をいう。マスク計算部で
は、■ライン上の1ワード目は始点のX座標から生成し
、途中のワードのマスクはすべてONとし、最終ワード
は終点のX座標から生成する。1ワード目かどうかは最
初に起動されたタイミングで判断し、最終ワードかどう
かはワード数計数部が制御信号52をアクティブにする
ので、これによって知ることができる。
以上説明した処理のタイミングを第5図に示した。DD
A計算、マスク計算など、ラスタ演算の3つのフェース
が3段のパイプライン構成で動作するようになっている
。したがって、水平線に近い直線を外形にもつ四辺形の
場合にも、ラスタ演算と平行して次のラインの座標演算
が行うことができるので処理の高速化を図れる。
A計算、マスク計算など、ラスタ演算の3つのフェース
が3段のパイプライン構成で動作するようになっている
。したがって、水平線に近い直線を外形にもつ四辺形の
場合にも、ラスタ演算と平行して次のラインの座標演算
が行うことができるので処理の高速化を図れる。
次に、本発明の第2の実施例について図面を参照して説
明する。第6図は本実施例の四辺形塗りつぶし装置のブ
四ツク図、第2図は塗りつぶしモードの説明図、第4図
ば境界判定条件の説明図である。
明する。第6図は本実施例の四辺形塗りつぶし装置のブ
四ツク図、第2図は塗りつぶしモードの説明図、第4図
ば境界判定条件の説明図である。
本実施例は、第2図(C)に示したような境界上を塗り
つぶすモードをも選択できるようにした四辺形塗りつぶ
し装置である。ノ・−ドウエア構成は第1の実施例と基
本的には共通であり、第6図に示したようにモード・レ
ジスタ11が追加されたところが異なる。また動作フロ
ーチャート、動作タイミングについても概念は第1の実
施例と共通である。大きく異なるのは、境界判定条件で
ある。
つぶすモードをも選択できるようにした四辺形塗りつぶ
し装置である。ノ・−ドウエア構成は第1の実施例と基
本的には共通であり、第6図に示したようにモード・レ
ジスタ11が追加されたところが異なる。また動作フロ
ーチャート、動作タイミングについても概念は第1の実
施例と共通である。大きく異なるのは、境界判定条件で
ある。
本実施例における境界判定条件を第4図の右欄「モード
2」に示した。第1の実施例とことなるのは、左辺/右
辺の直線発生に関して、すべてのケースでXあるいはX
座標の小数点以下を四捨五入すること、X軸との角度が
45度以下の直線では、Yが変化した直後のX座標にな
ることがある、という点である。これは、第2図(A)
の黒丸で示した全ての画素を含んで塗りつぶすための変
更点である。つまり、第4図の規則にしたがえば、第2
図(A)の各ラインの最左点と最左点が左右のDDA発
生部で算出されるのである。
2」に示した。第1の実施例とことなるのは、左辺/右
辺の直線発生に関して、すべてのケースでXあるいはX
座標の小数点以下を四捨五入すること、X軸との角度が
45度以下の直線では、Yが変化した直後のX座標にな
ることがある、という点である。これは、第2図(A)
の黒丸で示した全ての画素を含んで塗りつぶすための変
更点である。つまり、第4図の規則にしたがえば、第2
図(A)の各ラインの最左点と最左点が左右のDDA発
生部で算出されるのである。
さて、塗りつぶしモード2に設定するには上述したモー
ド・レジスタ11をセットすればよい。
ド・レジスタ11をセットすればよい。
このモードを制御信号43として入力することにより座
標シーケンサ2は上述したような座標発生をおこなう。
標シーケンサ2は上述したような座標発生をおこなう。
以上説明したように、本発明によればDTP処理などの
今後のグラフィックスにとって不可欠な太線を高速に描
画することができた。ハードウェアの並列動作性、専用
ハードウェアの搭載により、従来のソフトウェア手法に
比べて数倍から数十倍の性能アップを実現できた。しか
も、種々の太線描画アルゴリズムに合わせられるように
、外形線分上を含んで塗りつぶすか、真の外形四辺形内
だけを塗りつぶすかどうかも選択できるようになってい
る。このことは、システムを構築する上での融通性を増
し、より広い応用分野に対応することができる。
今後のグラフィックスにとって不可欠な太線を高速に描
画することができた。ハードウェアの並列動作性、専用
ハードウェアの搭載により、従来のソフトウェア手法に
比べて数倍から数十倍の性能アップを実現できた。しか
も、種々の太線描画アルゴリズムに合わせられるように
、外形線分上を含んで塗りつぶすか、真の外形四辺形内
だけを塗りつぶすかどうかも選択できるようになってい
る。このことは、システムを構築する上での融通性を増
し、より広い応用分野に対応することができる。
なお、本発明は四辺形を対象としたが、三角形について
も本発明の部分的な構成で塗りつぶしを実現できること
は容易に類推することができる。
も本発明の部分的な構成で塗りつぶしを実現できること
は容易に類推することができる。
また、本発明の塗りつぶしパターンについテハ、同一の
ワード・−データで図形内を塗りつぶす、いわゆるソリ
ッド・パターンとしたが、任意の大きさの矩形領域に格
納されたパターンを繰り返し参照して塗りつぶしパター
ンを生成する、いわゆるタイリング・パターンをサポー
トする場合にも、この種のハードウェアを組合せること
により、より多彩な塗りつぶし装置を実現することがで
きる。
ワード・−データで図形内を塗りつぶす、いわゆるソリ
ッド・パターンとしたが、任意の大きさの矩形領域に格
納されたパターンを繰り返し参照して塗りつぶしパター
ンを生成する、いわゆるタイリング・パターンをサポー
トする場合にも、この種のハードウェアを組合せること
により、より多彩な塗りつぶし装置を実現することがで
きる。
また、外形直線上を発生するDDA手段につり・て、座
標計算の四捨五入による桁上がりに関して、ちょうど0
.5のときを桁上がりとするか否かを選択できるモード
を備えることにより、同じ2点の直線をいずれの方向か
ら描画しても同じ軌跡を得られるという方向性に依存し
ない直線描画が可能となる。この機能は本願に若干の回
路を追加することによって容易に実現可能である。なお
、本実施例ではXY座標軸方向をY軸が右、Y軸を下に
とったが、本願の主旨によればいずれの方向に対しても
適用できることは明らかである。
標計算の四捨五入による桁上がりに関して、ちょうど0
.5のときを桁上がりとするか否かを選択できるモード
を備えることにより、同じ2点の直線をいずれの方向か
ら描画しても同じ軌跡を得られるという方向性に依存し
ない直線描画が可能となる。この機能は本願に若干の回
路を追加することによって容易に実現可能である。なお
、本実施例ではXY座標軸方向をY軸が右、Y軸を下に
とったが、本願の主旨によればいずれの方向に対しても
適用できることは明らかである。
【図面の簡単な説明】
第1図は第1の実施例における四辺形塗りつぶし装置の
ブロック図、第2図は塗りつぶしモードの説明図、第3
図は処理のフローチャート、第4図は境界判定条件の説
明図、第5図は動作タイミングを示す図、第6図は第2
の実施例における四辺形塗りつぶし装置のブロック図で
ある。 l・・・・・・座標レジスタ・ファイル、2・・・・・
・座標シーケンサ、3・・・・・・左辺DDA発生部、
4・・・・・・右辺DDA発生部、5・・・・・・塗り
つぶしシーケンサ、6・・・・・アドレス計算部、7・
・・・・ワード′数計敷部、8・・・・・・線分計数部
、9・・・・・・マスク生成部、10・・・・・ラスタ
演算部、20・・団・フレーム・メモリ、21・・・・
・フレーム・メモリ・バス、22・・山・アドレス・バ
ス、30・・・・・・入力バス、31〜42・・・・・
内部バス、50〜54・・・・・・制御信号。 代理人 弁理士 内 原 晋 第 図 卒 図 箒 閉 第 閏 箒 圏 堡リフさし ヒ色村山5回 牟 す 閏
ブロック図、第2図は塗りつぶしモードの説明図、第3
図は処理のフローチャート、第4図は境界判定条件の説
明図、第5図は動作タイミングを示す図、第6図は第2
の実施例における四辺形塗りつぶし装置のブロック図で
ある。 l・・・・・・座標レジスタ・ファイル、2・・・・・
・座標シーケンサ、3・・・・・・左辺DDA発生部、
4・・・・・・右辺DDA発生部、5・・・・・・塗り
つぶしシーケンサ、6・・・・・アドレス計算部、7・
・・・・ワード′数計敷部、8・・・・・・線分計数部
、9・・・・・・マスク生成部、10・・・・・ラスタ
演算部、20・・団・フレーム・メモリ、21・・・・
・フレーム・メモリ・バス、22・・山・アドレス・バ
ス、30・・・・・・入力バス、31〜42・・・・・
内部バス、50〜54・・・・・・制御信号。 代理人 弁理士 内 原 晋 第 図 卒 図 箒 閉 第 閏 箒 圏 堡リフさし ヒ色村山5回 牟 す 閏
Claims (1)
- 【特許請求の範囲】 1、XY座標で定義されたメモリ上に、四辺形を描画す
る図形描画装置であって、同一のY座標に対応する2本
の線分上の点のX座標をそれぞれ1画素ごとに算出する
直線発生手段と、前記2本の線分上の画素の間を水平直
線で塗りつぶすファイル手段と、前記2本の線分のうち
、少なくとも1本の線分の終了点を検出した場合には、
前記終了点を始点とする別の線分に切換えて前記直線発
生を継続する線分更新手段とを含んで構成される四辺形
塗りつぶし装置。 2、前記ファイル手段は、線分上の画素を含んで塗りつ
ぶす第1の手段と、線分上の画素の一部を含んで塗りつ
ぶす第2の手段と、前記第1あるいは第2の手段のいず
れかを選択する手段とを含んで構成されることを特徴と
する請求項1記載の四辺形塗りつぶし装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2278275A JPH04153786A (ja) | 1990-10-17 | 1990-10-17 | 四辺形塗りつぶし装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2278275A JPH04153786A (ja) | 1990-10-17 | 1990-10-17 | 四辺形塗りつぶし装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04153786A true JPH04153786A (ja) | 1992-05-27 |
Family
ID=17595082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2278275A Pending JPH04153786A (ja) | 1990-10-17 | 1990-10-17 | 四辺形塗りつぶし装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04153786A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234946A (ja) * | 1993-12-28 | 1995-09-05 | Matsushita Electric Ind Co Ltd | 多角形描画方法及び多角形描画装置 |
-
1990
- 1990-10-17 JP JP2278275A patent/JPH04153786A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234946A (ja) * | 1993-12-28 | 1995-09-05 | Matsushita Electric Ind Co Ltd | 多角形描画方法及び多角形描画装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5973705A (en) | Geometry pipeline implemented on a SIMD machine | |
US20110285719A1 (en) | Approximation of stroked higher-order curved segments by quadratic bèzier curve segments | |
JP2541539B2 (ja) | 図形処理装置 | |
JP2008176788A (ja) | 3次元グラフィック加速器及びそのピクセル分配方法 | |
JPH01196675A (ja) | パターンデータ生成方式 | |
CN112100795A (zh) | 一种计算机辅助设计图纸的对比方法及装置 | |
JPH08297737A (ja) | 任意図形クリッピング方法および装置 | |
JPH04246790A (ja) | ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ | |
JP3791259B2 (ja) | アウトラインスムージング処理方法 | |
JP3037854B2 (ja) | 文字生成方法及びその装置 | |
JP2757614B2 (ja) | 図形塗りつぶし装置 | |
JPH04153786A (ja) | 四辺形塗りつぶし装置 | |
JPH02270019A (ja) | 高品質文字パターン発生方式 | |
JPH09120278A (ja) | コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法 | |
JPS63137378A (ja) | グラフイツクス処理システム | |
JP3517982B2 (ja) | 図形描画装置 | |
JP2787487B2 (ja) | コンピュータシステムに表示され且つ操作される線分の位置を決定する回路 | |
JP2836617B2 (ja) | レンダリングプロセッサ | |
JP2538631B2 (ja) | ベクトル文字の処理方法 | |
JPH03278190A (ja) | 多角形塗りつぶし方式 | |
JP5661133B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2605609B2 (ja) | ドット表示処理装置 | |
JP2002042160A (ja) | 3次元形状処理装置、3次元形状処理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 | |
JP2000242802A (ja) | 図形処理装置 | |
JP2009265329A (ja) | フォント描画装置および情報処理装置 |