(57)【特許請求の範囲】
【請求項１】
塗りつぶし処理された対象図形の画像データが記憶されるメモリと、
前記塗りつぶし処理される対象図形を構成するベクトルを入力し、前記各ベクトルと各走査ラインとの交点を計算すると共に、算出された各交点と前記対象図形の塗りつぶし領域の走査ライン上に設定されたそれぞれが直線上に並びその直線が前記対象図形の少なくとも一点で交わるような基準点との間の塗りつぶし処理すべきスパンを算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転して再描画する描画処理手段と
を備え、
前記描画処理手段は、前記対象図形の頂点であって、その頂点によって連結される２つのベクトルがその頂点を通る走査ラインを境としてそれぞれ異なる側に存在する場合、先のベクトルの終点について当該走査ライン上で行った描画処理を、次のベクトルの始点について当該走査ライン上では行わないものであること
を特徴とする２次元パターン生成装置。
【請求項２】
塗りつぶし処理された対象図形の画像データが記憶されるメモリと、
前記塗りつぶし処理される対象図形を構成するベクトルを入力し、前記各ベクトルと各走査ラインとの交点を計算すると共に、算出された各交点と前記対象図形の塗りつぶし領域の走査ライン方向の中心付近に設定された基準点との間の塗りつぶし処理すべきスパンを算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転して再描画する描画処理手段と
を備え、
前記描画処理手段は、前記対象図形の頂点であって、その頂点によって連結される２つのベクトルがその頂点を通る走査ラインを境としてそれぞれ異なる側に存在する場合、先のベクトルの終点について当該走査ライン上で行った描画処理を、次のベクトルの始点について当該走査ライン上では行わないものであること
を特徴とする２次元パターン生成装置。
【請求項３】
前記描画処理手段は、前記ベクトルから前記走査ラインと平行はベクトルを取り除いて処理するものである
ことを特徴とする請求項１または２記載の２次元パターン生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＲＴ（cathode ray tube）等のラスタースキャン型表示装置において、平面上に表現された図形の塗りつぶしの２次元パターン生成方法及び装置に関し、特にベクトルデータ形式で構成された図形等の塗りつぶしの２次元パターン生成方法及び装置に関する。
【０００２】
【従来の技術】
従来より、ＣＲＴ等のラスタースキャン型表示装置を使用した２次元パターン生成装置での図形の塗りつぶし方法は、その表示装置のディスプレイに向かって、常に水平走査ライン（以下、スキャンラインと呼ぶ。）の左側から右側に塗りつぶしをかけるものである。即ち、スキャンラインの両端点間にある塗りつぶすべき画素を読み出した後、その間の画素を反転して同じ所に書き込む処理を繰り返すことにより、塗りつぶしを行っている。以下、その方法を説明する。
【０００３】
図２０は、従来装置により塗りつぶされた２次元パターン領域を説明するための図である。
【０００４】
図２０に示すように、スキャンラインＹｎは、ベクトルＶ０，Ｖ１，Ｖ２，Ｖ３とそれぞれ交点Ｘｎ０，Ｘｎ１，Ｘｎ２，Ｘｎ３で交わっている。この場合、先ず始めに図２１（ａ）に示すように、スキャンラインＹｎと各交点Ｘｎ０，Ｘｎ１，Ｘｎ２，Ｘｎ３との描画情報を初期化する。このとき、例えば塗りつぶし有りが１、塗りつぶし無しが０とすると、初期化された部分は０になり、塗りつぶされていない状態になる。次に、同図（ｂ）に示すように、スキャンラインＹｎの開始位置Ｘ０から交点Ｘｎ０までの区間（以下、スパンと呼ぶ。）を読み出し、読み出された０を反転して書き込むことで塗りつぶしを行っている。このときの反転は、既に書き込まれた部分の情報と、新たに書き込む部分の情報とをＥＸ−ＯＲ（Exclusive−OR）論理演算を行うことで実現している。このような処理を同図（ｃ），（ｄ），（ｅ）に示すようにＸｎ１〜Ｘｎ３についても同様に行うことで、結果として塗りつぶし処理を実行している。
【０００５】
上記の塗りつぶしを領域的な面から見た例を図２２に示すと、先ず同図に四角い枠で表されている設定された２次元パターン領域が初期化され、次に同図（ａ）に示すように、ベクトルＶ０が与えられると、そのベクトルの始点（Ｘ０，Ｙ０）から終点（Ｘ１，Ｙ１）に向かって図示しないスキャンラインとベクトルＶ０との各交点が計算され、その計算結果に基づき、２次元パターン領域上の、この場合スキャンラインの左端部分からベクトルＶ０との交点部分までの間の、領域Ｒ０が塗りつぶされる。この領域Ｒ０の塗りつぶしは、上述の通り既に書き込まれた部分と新たに書き込まれる部分とをＥＸ−ＯＲ論理演算することにより行っている。同図（ｂ）はベクトルＶ１について、同図（ｃ）はベクトルＶ２について、同図（ｄ）はベクトルＶ３についてそれぞれその始点（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）から終点（Ｘ２，Ｙ２），（Ｘ３，Ｙ３），（Ｘ０，Ｙ０）に向かってスキャンラインとの各交点が計算され、それら交点部分とスキャンラインの左端部分との間の領域Ｒ１，Ｒ２，Ｒ３が同図に示すように塗りつぶされることを示しており、同図（ｅ），（ｆ），（ｇ）は、これらの塗りつぶし処理によりそれぞれ生成されるパターンを示している。最終的にはこうして塗りつぶされた各領域Ｒ０〜Ｒ３のＥＸ−ＯＲ論理演算をすることによってベクトルＶ０〜Ｖ３で囲まれた領域を塗りつぶしている。この場合、同図（ｈ）に示すように塗りつぶしの処理回数を見てみると、少なくとも４回は塗りつぶしをしており、奇数回のときに塗りつぶし、偶数回のときには塗りつぶさないという規則が成り立っている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した２次元パターン生成装置での図形の塗りつぶしは、常に２次元パターン領域の一端部から各ベクトルと走査ラインとの交点（例えば左端部から右端部）に向かって行っているため、塗りつぶす平均の画素数が多くなり塗りつぶし回数も増え処理速度が遅いという問題がある。また、その多くなった画素数に対応したメモリ等を使用するといった２次元パターン生成装置の部品構成が必要となり、コストの上昇を招くおそれがあるという問題もある。
【０００７】
この発明は、このような問題点に鑑みなされたもので、ベクトルで構成された図形等の領域の塗りつぶしの効率を向上させることができる２次元パターン生成方法及び装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る２次元パターン生成方法は、塗りつぶしの対象となる対象図形を構成するベクトルを入力すると共に、前記対象図形の塗りつぶし領域の走査ライン上に塗りつぶしの基準点を設定し、前記走査ライン上に設定された前記基準点の各々は一直線上にあり、その直線と前記対象図形とは少なくとも一点で交わり、前記各ベクトルと各走査ラインとの交点から走査ライン上の前記基準点までの間の画素を反転する処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形を塗りつぶすことを特徴とする。
【０００９】
この発明に係る２次元パターン生成方法としては、塗りつぶしの対象となる対象図形を構成するベクトルを入力すると共に、前記対象図形の塗りつぶし領域の走査ライン方向の中心付近に塗りつぶしの基準点を設定し、前記各ベクトルと各走査ラインとの交点から走査ライン上の前記基準点までの間の画素を反転する処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形を塗りつぶすものなどが考えられる。
【００１０】
本発明に係る２次元パターン生成装置は、塗りつぶし処理された対象図形の画像データが記憶されるメモリと、前記塗りつぶし処理される対象図形を構成するベクトルを入力し、前記各ベクトルと各走査ラインとの交点を計算すると共に、算出された各交点と、前記対象図形の塗りつぶし領域の走査ライン上に設定された、それぞれが直線上に並びその直線が前記対象図形と少なくとも一点で交わるような基準点との間の塗りつぶし処理すべきスパンを算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転して再描画する描画処理手段とを備えたことを特徴とする。
【００１１】
この発明に係る２次元パターン生成装置としては、塗りつぶし処理された対象図形の画像データが記憶されるメモリと、前記塗りつぶし処理される対象図形を構成するベクトルを入力し、前記各ベクトルと各走査ラインとの交点を計算すると共に、算出された各交点と前記対象図形の塗りつぶし領域の走査ライン方向の中心付近に設定された基準点との間の塗りつぶし処理すべきスパンを算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転して再描画する描画処理手段とを備えたものなどが考えられる。
【００１２】
この発明によれば、塗りつぶしの対象となる図形を構成するベクトルで囲まれた領域を塗りつぶすために、例えばその塗りつぶす領域の中心付近に各走査ライン上の基準点を設定し、その設定された基準点から各ベクトルと走査ラインとの交点までを塗りつぶすようにしている。このため、領域の端点から各ベクトルと走査ラインとの交点までを塗り潰す従来の方法に比べ、塗りつぶす平均の画素数が少なくなり塗りつぶし回数も減少するので、塗りつぶしに掛かる処理速度が速くなり、且つ塗りつぶしの処理能力が向上する。また、塗りつぶしを中心の基準点で半分に分けて行うので、一度に塗りつぶす平均の画素数等の処理データが軽減され、結果としてメモリやＣＰＵ等の増設・変更などに伴うコストを抑えることが可能になる。
【００１３】
なお、この発明における前記描画処理手段は、好ましくは前記対象図形の頂点であって、その頂点によって連結される２つのベクトルがその頂点を通る走査ラインを境としてそれぞれ異なる側に存在する場合、先のベクトルの終点について当該走査ライン上で行った描画処理を、次のベクトルの始点について当該走査ライン上では行わないものである。
【００１４】
また、前記描画処理手段は、前記ベクトルから前記走査ラインと平行なベクトルを取り除いて処理するものであることが望ましい。
【００１５】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図１は、この発明の一実施例に係る２次元パターン生成装置の基本構成を説明するためのブロック図である。
【００１６】
ＣＰＵ１は、水平方向をＸ方向、垂直方向をＹ方向として塗りつぶしの対象図形を構成するベクトルの各始点，終点、例えば（Ｘ０，Ｙ０），（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），．．．，（Ｘｎ，Ｙｎ）等のデータを出力する。ＣＰＵ１から出力される図形データとしてのベクトルは、インターフェイス２を介して２次元パターン計算部３に供給されている。２次元パターン計算部３では、ＣＰＵ１から供給されたベクトルに基づき塗りつぶす領域を論理演算により算出する。算出された塗りつぶし領域は、２次元描画部４に入力され、そこで例えばビデオＲＡＭ（ＶＲＡＭ）等のローカルメモリ５に描画され塗りつぶし処理が施される。２次元描画部４は、塗りつぶし処理を実行する際に逐次ローカルメモリ５に２次元パターン計算部３から送られてきたデータを書き込み保存し、書き込みの際には、既に書き込まれているデータと新しく書き込まれるデータとの論理演算を行っている。ローカルメモリ５は、２次元描画部４からのデータを保存・出力し、そのデータは１バイト毎の単位でアクセスされるようローカルメモリ５内の記憶領域に構築されている。なお、２次元パターン計算部３と２次元描画部４とで、この発明における描画処理手段が構成されている。
【００１７】
次に、上記の２次元パターン計算部３を詳しく説明する。
図２は、２次元パターン計算部３内の基本構成を示す図である。
【００１８】
ＣＰＵ１から出力され２次元パターン計算部３に入力されたベクトルは、先ず交点計算部６に入力され、ベクトルとスキャンラインとの交点座標等が計算される。計算された交点座標等のデータは、スパン計算部７に出力され、スパン計算部７は、入力された交点座標等のデータに基づき塗りつぶす領域の画素数等を表すスパンデータを算出する。算出されたスパンデータは、スパンモノクローム変換部８に出力され、スパンモノクローム変換部８は、入力されたスパンデータを後段の２次元描画部４で使用されるモノクロームデータ（ローカルメモリ５のアクセスに適したデータ）に変換し、２次元描画部４に出力する。
【００１９】
このように構成された２次元パターン計算部３について更に詳しく説明する。図３は、交点計算部６の処理を示す図である。なお、本実施例ではベクトルは反時計回りの方向性を持って定義されているものとする。
【００２０】
まず、図３（ａ）に示すように、入力されたベクトルデータに基づき交点計算部６は、ベクトルＶ０，Ｖ１，Ｖ２，Ｖ３とスキャンラインＹｎとの頂点座標（Ｘ０，Ｙ０），（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）を取得する。この交点計算部６で取得されるデータは、同図（ｂ）に示すように、上記ベクトルとスキャンラインとの交点のＸ座標値（Ｘ），Ｙ座標値（Ｙ）の他、ベクトルが最初にスキャンラインと交わる点の有無を表すエッジスタートフラグ（ＥＳＦ）、ベクトルが最後にスキャンラインと交わる点の有無を表すエッジエンドフラグ（ＥＥＦ）、２次元パターンを構成する最初のベクトルと最初のスキャンラインとの交点を表すプレーンスタートフラグ（ＰＳＦ）、２次元パターンを構成する最後のベクトルと最後のスキャンラインとの交点を表すプレーンエンドフラグ（ＰＥＦ）、下向きのベクトルを表すダウンフラグ（ＤＷＦ）等がある。このうち、ＤＷＦは、ベクトルの始点のＹ座標値が終点のＹ座標値よりも小さいときに付与される。すなわち、同図（ａ）のベクトルＶ０を例にとると、Ｙ０＜Ｙ１であるからＤＷＦ＝１となっていることが分かる。また、同図（ｃ）は、取得されたデータのうちベクトルＶ０〜Ｖ３に設けられたスキャンラインとの交点ａ〜ｈのフラグの状態を示している。
【００２１】
更に、この交点計算部６は、入力されたベクトルが例えば図４に示すようなスキャンラインＹｎと水平なベクトルＶｈ１，Ｖｈ２であることを検出した場合には、そのベクトルデータを除去して、後段のスパン計算部７には出力しないようにする。スキャンラインと水平なベクトル成分は、塗りつぶしのために演算処理する必要が無く、除去することで演算処理量を軽減し全体としての演算速度を速めることができるので、その分処理能力の向上が見込まれるからである。
【００２２】
上記の処理により、交点計算部６で取得されたデータは、次にスパン計算部７に入力される。図５は、スパン計算部７の基本構成を示すブロック図である。
【００２３】
スパン計算部７に入力されたデータのうち、ベクトルとスキャンラインとの交点の座標値Ｘ，Ｙは、それぞれＸＣレジスタ１０及びＹＣレジスタ１２に格納される。また、ＸＭレジスタ１１は、予め２次元パターン計算部３で設定され、図示しない表示装置の画面上の中心付近に設けられた基準点から構成される中心線のＸ座標値ＸＭを格納する。更に、各種フラグデータＥＳＦ，ＰＳＦ，ＥＥＦ，ＰＥＦ，ＤＷＦは、それぞれＥＳＦレジスタ１４，ＰＳＦレジスタ１５，ＥＥＦレジスタ１６，ＰＥＦレジスタ１７，ＤＷＦＣレジスタ１３に格納される。ＸＣレジスタ１０，ＸＭレジスタ１１から出力されたデータ及びＤＷＦＣレジスタ１３から出力されたデータのうちの一部を算術論理ユニット（ＡＬＵ）２２は入力し、演算処理によって塗りつぶしの始まるＸ座標値ＸＳ、塗りつぶしの終わるＸ座標値ＸＥを算出し後段へ出力すると共に、塗りつぶし処理を実行するか否かを決定するフラグデータＦＬＥＮを算出し制御部（ＣＮＴＬ）２３に出力する。
【００２４】
この算術論理ユニット２２は、先ず入力されたＸＣとＸＭとの値を比較し、次にＤＷＦ値が１か０か（下向きか上向きか）を認定して塗りつぶしパターンを決定する。この塗りつぶしパターンは、図６に示すように全部で６通りのパターンがある。例えば、ＸＣ＜ＸＭでＤＷＦ値が１（下向き）のときは、塗りつぶしパターンＮｏ．１が採用されＸ及びＸＭを含むスキャンラインに沿った方向の画素が塗りつぶされるという具合である。また、この塗りつぶしパターンは、ベクトルのもつ方向性によって変化する。即ち、本実施例のようにベクトルが反時計回りの方向性に定義されているときは図６の通りだが、ベクトルが時計回りの方向性に定義されているときは塗りつぶしパターン１，２，３と４，５，６とが入れ替わった塗りつぶしパターンが採用されるのである。
【００２５】
ＹＣレジスタ１２から出力されたデータは、ＹＰレジスタ１８、比較器（Ｙ＿ＣＯＭＰ）２０に入力されると共に、そのデータのうちの一部はそのまま後段へ出力される。ＹＰレジスタ１８は、現在のベクトルとスキャンラインとの交点よりも一つ前に処理されたベクトルとスキャンラインとの交点のＹ座標値を格納するものであり、比較器２０は、ＹＣレジスタ１２及びＹＰレジスタ１８からの出力を取り込み、現在のベクトルとスキャンラインとの交点のＹ座標値と、その一つ前に処理されたベクトルとスキャンラインとの交点のＹ座標値とを比較し、その結果ＹＥＱを制御部（ＣＮＴＬ）２３に出力する。
【００２６】
ＤＷＦＣレジスタ１３から出力されたデータは、ＤＷＦＰレジスタ１９、比較器（ＤＷＦ＿ＣＯＭＰ）２１及び前述のように算術論理ユニット２２に入力される。ＤＷＦＰレジスタ１９は、現在のベクトルとスキャンラインとの交点よりも一つ前に処理されたベクトルとスキャンラインとの交点のＤＷＦフラグデータを格納するものであり、比較器２１は、ＤＷＦＣレジスタ１３及びＤＷＦＰレジスタ１９からの出力を取り込み、現在のベクトルとスキャンラインとの交点のＤＷＦフラグデータと、その一つ前に処理されたベクトルとスキャンラインとの交点のＤＷＦフラグデータとを比較し、その結果ＤＷＦＥＱを制御部（ＣＮＴＬ）２３に出力する。
【００２７】
比較器（Ｙ＿ＣＯＭＰ）２０及び比較器（ＤＷＦ＿ＣＯＭＰ）２１から出力される結果ＹＥＱ及びＤＷＦＥＱは、図７に示すように、比較対象同士が等しいときは１になり、等しくないときは０になる。制御部２３は、レジスタ１４〜１７の出力データと算術論理ユニット２２からの出力データ（ＦＬＥＮ）及び比較器２０，２１からの出力データ（ＹＥＱ，ＤＷＦＥＱ）を入力し、ベクトルとスキャンラインとの現在の交点から算出されたスパンの塗りつぶしを行うかどうかを示すフラグＷＥＮを計算する。
【００２８】
図８は、制御部２３に入力された各データとこのようにして計算されたフラグＷＥＮとの関係を示す図であり、どのような条件でフラグＷＥＮをオン／オフ状態に切替えているのかを表している。同図によると、例えば図９（ａ），（ｂ）に示すように、先行するベクトルＶａと次のベクトルＶｂとを連結する頂点ｄがスキャンラインＹｎと交わり、且つベクトルＶａ，ＶｂがスキャンラインＹｎを境として互いに異なる側に存在する場合、ＦＬＥＮはオンでＰＥＦ，ＰＳＦ，ＥＥＦは０に、ＥＳＦ，ＹＥＱ，ＤＷＦＥＱは１になり、ＦＬＥＮはオンであるがスパンの塗りつぶしを実施するフラグＷＥＮはオフ状態に選択されていることが分かる。これは、ベクトルＶａ側での描画によって得られたパターンをベクトルＶｂ側の描画によって反転させてしまうのを防止するためである。
【００２９】
このようにしてスパン計算部７で計算され、結果として後段に出力されるデータは、図１０に示すように、スパンの始まりを示すＸ座標値ＸＳ、スパンの終わりを示すＸ座標値ＸＥ、スパンのＹ座標値Ｙ、２次元描画部４にスパンを書き込むかどうかを示すフラグＷＥＮである。
【００３０】
スパン計算部７で計算されたデータは、次にスパンモノクローム変換部８に入力される。スパンモノクローム変換部８は、入力されたスパンデータを後段の２次元描画部４で使用されるモノクロームデータに変換して出力する役割を担っており、ここで変換され出力されるデータはモノクロームデータといい、図１１に示すようにローカルメモリ５のアドレスを示すデータ（ＡＤＲ）とアドレスに対応したモノクロームパターンを示すデータ（ＤＡＴＡ）とがある。このモノクロームデータは、１画素をローカルメモリ５の１ビットに対応させたデータであり、２次元描画部４を経てローカルメモリ５に保存される。例えば、図１２に示すように、２次元描画部４のメモリ内で１６×１６のパターンで構成された領域では、ローカルメモリ５は１バイト単位毎にアクセスされるものとすると、モノクロームデータは、その１バイト内の各ビットを１画素に対応させたものである。即ち、塗りつぶされている領域Ｒ０は、アドレスＡＤＲ（ｎ+６）のＤＡＴＡ［７：０］の範囲ではＤＡＴＡ＝ＦＥとあるのでＤＡＴＡ［７：１］の範囲を反転する。このように、スパンモノクローム変換部８では、２次元描画部４及びローカルメモリ５でスパン計算部７からのデータを利用できるようにして整合をとっている。
【００３１】
次に、このようにして構成された本実施例の２次元パターン生成装置の動作について説明する。
【００３２】
図１３（ａ）は、１６×１６のパターン領域にあるベクトルＶ０〜Ｖ３からなる２次元パターンを視覚的に表現した図であり、同図（ｂ）は、ベクトルＶ０〜Ｖ３とスキャンラインＹ０〜Ｙ４との交点をまとめたものである。
【００３３】
先ず、スキャンラインＹ０において、スキャンラインＹ０がベクトルＶ０及びＶ３と交わったときの交点Ｘ００，Ｘ０１についてみると、交点Ｘ００ではスパン計算部７で算出された図６に示す塗りつぶしパターンのうちのＮｏ．２が採用されＸＭの領域が塗りつぶされる。また、交点Ｘ０１では、塗りつぶしパターンＮｏ．５が採用されＸＭの領域は塗りつぶされない。従って、これらの塗りつぶしパターンをＥＸ−ＯＲ論理演算することにより導出された塗りつぶし動作の結果は、図１４に示すようにＸＭ領域を塗りつぶすということになる。
【００３４】
スキャンラインＹ１とベクトルＶ０及びＶ３との交点Ｘ１０，Ｘ１１では、塗りつぶしパターンＮｏ．１及びＮｏ．６が採用されＸ１０からＸＭまでの領域が塗りつぶされると共にＸＭを除いたＸＭからＸ１１までの領域が塗りつぶされる。従って、演算による結果は、図１５に示すようにＸ１０からＸ１１までの領域が塗りつぶされることとなる。
【００３５】
また、スキャンラインＹ２では、ベクトルＶ０，Ｖ１，Ｖ２，Ｖ３との交点Ｘ２０，Ｘ２１，Ｘ２２，Ｘ２３においてそれぞれ塗りつぶしパターンＮｏ．１，Ｎｏ．５，Ｎｏ．２，Ｎｏ．６が採用される。塗りつぶしパターンＮｏ．１のときは、Ｘ２０からＸＭまでの範囲が塗りつぶされ、Ｎｏ．５のときは塗りつぶしは行われない。また、Ｎｏ．２のときは、Ｘ２２（ＸＭ座標値と同一）が塗りつぶされ、Ｎｏ．６のときは、ＸＭを除くＸＭからＸ２３までの範囲が塗りつぶされる。これらの演算による結果は、図１６に示すようにＸＭを除くＸ２０からＸ２３までの範囲が塗りつぶされることとなる。
【００３６】
スキャンラインＹ３では、図１７に示すようにベクトルＶ０〜Ｖ３との交点Ｘ３０，Ｘ３１，Ｘ３２，Ｘ３３においてそれぞれ塗りつぶしパターンＮｏ．１，Ｎｏ．４，Ｎｏ．３，Ｎｏ．６が採用され、Ｘ３０ではＸ３０からＸＭまでの範囲が塗りつぶされ、Ｘ３１ではＸ３１を除くＸ３１からＸＭまでの範囲が塗りつぶされる。Ｘ３２では、ＸＭ及びＸ３２を除くＸＭからＸ３２までの範囲が塗りつぶされ、Ｘ３３ではＸＭを除くＸＭからＸ３３までの範囲が塗りつぶされる。従って、演算の結果により得られる塗りつぶしはＸ３０からＸ３１までの範囲とＸ３２からＸ３３までの範囲となる。
【００３７】
また、スキャンラインＹ４では、ベクトルＶ０〜Ｖ３との交点Ｘ４０，Ｘ４１，Ｘ４２，Ｘ４３においてそれぞれ塗りつぶしパターンＮｏ．１，Ｎｏ．４，Ｎｏ．３，Ｎｏ．６が採用される。Ｘ４０ではＸ４０からＸＭまでの範囲が、また、Ｘ４１ではＸ４１を除くＸ４１からＸＭまでの範囲が塗りつぶされ、Ｘ４２ではＸＭ及びＸ４２を除くＸＭからＸ４２までの範囲が、Ｘ４３ではＸＭを除くＸＭからＸ４３までの範囲が塗りつぶされる。これらを演算し得られた結果は、図１８に示すようにＸ４０及びＸ４１（Ｘ４０，Ｘ４１は同一Ｘ座標値）の範囲とＸ４２及びＸ４３（Ｘ４２，Ｘ４３は同一Ｘ座標値）の範囲とが塗りつぶされることとなる。このような塗りつぶし動作が行われることにより、塗りつぶし処理量が軽減され処理速度が向上する。
【００３８】
このような塗りつぶしを全体的に表してみると、例えば図１９Ａに示すようにスキャンラインＹｎ（＝Ｙ３）について見た場合、確かに演算の結果により得られる塗りつぶしはＸ３０からＸ３１までの範囲とＸ３２からＸ３３までの範囲となっていることがわかる。また、同図は、中心付近に設定した点ＸＭで塗りつぶし領域を２つに分け、それぞれについて塗りつぶし処理を行っていることも表している。
【００３９】
上述した塗りつぶし動作を視覚的に分かるように従来装置によるものと比較してみると、図１９Ｂに示すように、塗りつぶす領域（処理するデータ量）を全体的に考えた場合、本発明の装置による塗りつぶし領域は従来装置によるものより遥かに少ないことが分かる。一般的に塗りつぶし対象図形の塗りつぶし領域は、全体の領域の中心付近部分に位置するので、本発明の塗りつぶしのように全領域の中心付近に設けた基準点で塗りつぶし領域を分け、ピクセル毎を論理演算により判断して、ベクトルで構成された領域を効果的に塗りつぶすことにより、処理データ量の軽減を図ることができるので、塗りつぶし処理の速度が速くなり、処理能力が向上する。
【００４０】
なお、上記実施例では、ベクトルの方向性を反時計回りと定義したが、本発明はこれに限定されるものではなく、例えば時計回りの方向性をもっているものとすれば、図６で示した塗りつぶしパターンＮｏ．１，Ｎｏ．２，Ｎｏ．３とＮｏ．４，Ｎｏ．５，Ｎｏ．６とを入れ替えて採用すれば良いので、ベクトルの方向性にとらわれることなく種々の図形を塗りつぶすことが可能である。
【００４１】
また、上記実施例での塗りつぶしの基準点の位置は、処理速度及び処理能力の面で塗りつぶす領域の中心付近に位置することが望ましいが、本発明の要旨によれば必ずしも塗りつぶす領域の中心付近でなくともよく、基準点を結んだ直線と前記対象図形とが少なくとも一点で交わるような位置に基準点が設けられるのであれば、従来の塗りつぶし方法に比べ、処理速度及び処理能力の面で効果が得られることは明らかである。
【００４２】
【発明の効果】
以上述べたように、この発明によれば、例えば塗りつぶす領域の中心付近に設けられた基準点から各ベクトルと走査ラインとの交点までを塗りつぶすようにしているので、余計な領域を塗りつぶす処理が不要となり、塗りつぶしデータ処理量及び塗りつぶし動作回数等を減らすことができ、処理の高速化が図れ処理能力が向上するという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例に係る２次元パターン生成装置の基本構成を示すブロック図である。
【図２】  同装置における２次元パターン計算部の基本構成を示すブロック図である。
【図３】  同部内の交点計算部の処理を説明するための図である。
【図４】  同処理を説明するための図である。
【図５】  同装置における２次元パターン計算部内のスパン計算部の基本構成を示すブロック図である。
【図６】  同部内の算術論理ユニットで得られる塗りつぶしパターンを示す図である。
【図７】  同部内の比較器の出力結果を説明するための図である。
【図８】  同部内の制御部に入力されたデータとフラグＷＥＮとの関係を示す図である。
【図９】  同関係の一例をベクトルとスキャンラインとで表した図である。
【図１０】  同装置における２次元パターン計算部内のスパン計算部からの出力結果を説明するための図である。
【図１１】  同装置における２次元パターン計算部内のスパンモノクローム変換部からの出力結果を説明するための図である。
【図１２】  同装置における２次元描画部内のメモリ上に構築されたパターン領域を示す図である。
【図１３】  同パターン領域でのベクトル及びスキャンラインの交点を説明するための図である。
【図１４】  同パターン領域での塗りつぶしと塗りつぶしパターンとの関係を示す図である。
【図１５】  同関係を示す図である。
【図１６】  同関係を示す図である。
【図１７】  同関係を示す図である。
【図１８】  同関係を示す図である。
【図１９Ａ】  同関係を全体的に表した図である。
【図１９Ｂ】  本発明の一実施例に係る２次元パターン生成装置による塗りつぶしと従来装置による塗りつぶしを示す図である。
【図２０】  従来装置により塗りつぶされた２次元パターン領域を示す図である。
【図２１】  同装置による塗りつぶし処理を説明するための図である。
【図２２】  同処理を説明するための図である。
【符号の説明】
１…ＣＰＵ、２…インターフェイス、３…２次元パターン計算部、４…２次元描画部、５…ローカルメモリ、６…交点計算部、７…スパン計算部、８…スパンモノクローム変換部、１０〜１９…レジスタ、２０，２１…比較器、２２…算術論理ユニット、２３…制御部。
【図１】
0004214644.tif 000002
【図２】
0004214644.tif 000003
【図３】
0004214644.tif 000004
【図４】
0004214644.tif 000005
【図５】
0004214644.tif 000006
【図６】
0004214644.tif 000007
【図７】
0004214644.tif 000008
【図８】
0004214644.tif 000009
【図９】
0004214644.tif 000010
【図１０】
0004214644.tif 000011
【図１１】
0004214644.tif 000012
【図１２】
0004214644.tif 000013
【図１３】
0004214644.tif 000014
【図１４】
0004214644.tif 000015
【図１５】
0004214644.tif 000016
【図１６】
0004214644.tif 000017
【図１７】
0004214644.tif 000018
【図１８】
0004214644.tif 000019
【図１９Ａ】
0004214644.tif 000020
【図１９Ｂ】
0004214644.tif 000021
【図２０】
0004214644.tif 000022
【図２１】
0004214644.tif 000023
【図２２】
0004214644.tif 000024