JP4214643B2 - 2次元パターン生成方法及び装置 - Google Patents
2次元パターン生成方法及び装置 Download PDFInfo
- Publication number
- JP4214643B2 JP4214643B2 JP35347899A JP35347899A JP4214643B2 JP 4214643 B2 JP4214643 B2 JP 4214643B2 JP 35347899 A JP35347899 A JP 35347899A JP 35347899 A JP35347899 A JP 35347899A JP 4214643 B2 JP4214643 B2 JP 4214643B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- intersection
- scanning line
- pixel
- reference point
- 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 - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
この発明は、CRT(cathode ray tube)等のラスタースキャン型表示装置において、平面上に表現された図形の塗りつぶしの2次元パターン生成方法及び装置に関し、特にベクトルデータ形式で構成された図形等の塗りつぶしの2次元パターン生成方法及び装置に関する。
【0002】
【従来の技術】
従来より、CRT等のラスタースキャン型表示装置を使用した2次元パターン生成装置での図形の塗りつぶし方法は、その表示装置のディスプレイに向かって、常に水平走査ライン(以下、スキャンラインと呼ぶ。)の左側から右側に塗りつぶしをかけるものである。即ち、スキャンラインの両端点間にある、塗りつぶすべき画素を読み出した後、その間の画素を反転して同じ所に書き込む処理を繰り返すことにより、塗りつぶしを行っている。以下、その方法を説明する。
【0003】
図22は、従来装置により塗りつぶされた2次元パターン領域を説明するための図である。
【0004】
同図に示すように、スキャンラインYnは、ベクトルV0,V1,V2,V3とそれぞれ交点Xn0,Xn1,Xn2,Xn3で交わっている。この場合、先ず始めに図23(a)に示すように、スキャンラインYnと各交点Xn0,Xn1,Xn2,Xn3との描画情報を初期化する。このとき、例えば塗りつぶし有りが1、塗りつぶし無しが0とすると、初期化された部分は0になり、塗りつぶされていない状態になる。次に、同図(b)に示すように、スキャンラインYnの開始位置X0から交点Xn0までの区間(以下、スパンと呼ぶ。)を読み出し、読み出された0を反転して書き込むことで塗りつぶしを行っている。このときの反転は、既に書き込まれた部分の情報と、新たに書き込む部分の情報とをEX−OR(Exclusive−OR)論理演算を行うことで実現している。このような処理を同図(c),(d),(e)に示すようにXn1〜Xn3についても同様に行うことで、結果として塗りつぶし処理を実行している。
【0005】
上記の塗りつぶしを領域的な面から見た例を図24に示すと、先ず同図に四角い枠で表されている設定された2次元パターン領域が初期化され、次に同図(a)に示すように、ベクトルV0が与えられると、そのベクトルの始点(X0,Y0)から終点(X1,Y1)に向かって図示しないスキャンラインとベクトルV0との各交点が計算され、その計算結果に基づき、2次元パターン領域上のこの場合スキャンラインの左端部分からベクトルV0との交点部分までの間の領域R0が塗りつぶされる。この領域R0の塗りつぶしは、上述の通り既に書き込まれた部分と新たに書き込まれる部分とをEX−OR論理演算することにより行っている。同図(b)はベクトルV1について、同図(c)はベクトルV2について、同図(d)はベクトルV3についてそれぞれその始点(X1,Y1),(X2,Y2),(X3,Y3)から終点(X2,Y2),(X3,Y3),(X0,Y0)に向かってスキャンラインとの各交点が計算され、それら交点部分とスキャンラインの左端部分との間の領域R1,R2,R3が同図に示すように塗りつぶされることを示しており、同図(e),(f),(g)は、これらの塗りつぶし処理によりそれぞれ生成されるパターンを示している。最終的にはこうして塗りつぶされた各領域R0〜R3のEX−OR論理演算をすることによってベクトルV0〜V3で囲まれた領域を塗りつぶしている。この場合、同図(h)に示すように塗りつぶしの処理回数を見てみると、少なくとも4回は塗りつぶしをしており、奇数回のときに塗りつぶし、偶数回のときには塗りつぶさないという規則が成り立っている。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した2次元パターン生成装置での図形の塗りつぶしは、図形を構成するベクトルの方向には無関係に、常に2次元パターン領域の一端部から各ベクトルと走査ラインとの交点(例えば左端部から右端部)に向かって行われているため、塗りつぶす平均の画素数が多くなり塗りつぶし回数が増え、ベクトルの向きによっては塗りつぶされない画素部分も生じるため、ばらつきが出て画像の仕上がり具合があまり良くないという問題がある。
【0007】
この発明は、このような問題点に鑑みなされたもので、ベクトルで構成された図形の塗りつぶしの精度を向上させることができる2次元パターン生成方法及び装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
この発明に係る2次元パターン生成方法は、塗り潰しの対象となる対象図形を構成するベクトルを入力すると共に、前記各ベクトルと走査ラインとの交点を算出し、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の画素を反転させる処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを生成する2次元パターン生成方法において、前記対象図形は特定方向回りのベクトルによって表現されたものであり、前記ベクトルの上下方向の向きに基づいて前記ベクトル上の画素を反転させるかどうかを決定し、前記対象図形の塗り潰しを制御するようにしたことを特徴とする。
【0009】
この発明に係る2次元パターン生成方法としては、塗り潰しの対象となる対象図形を構成するベクトルを入力すると共に、前記各ベクトルと走査ラインとの交点を算出し、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の画素を反転させる処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを生成する2次元パターン生成方法において、前記対象図形は特定方向回りのベクトルによって表現されたものであり、前記ベクトルの上下方向の向きに基づいて前記ベクトル上の画素を反転させるかどうかを決定し、前記対象図形の輪郭部分の塗り潰しを1画素単位で制御するようにしたものなどが考えられる。
【0010】
この発明に係る2次元パターン生成装置は、塗り潰し処理された対象図形の画像データが記憶されるメモリと、前記塗り潰し処理される対象図形を特定する特定方向回りのベクトルを入力し、各ベクトルと各走査ラインとの交点を計算すると共に、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の塗り潰し処理すべきスパンを、その始点及び/又は終点の画素を描画するかどうかを前記ベクトルの上下方向の向きによって決定しつつ算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転させて再描画する処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを前記メモリ上に生成する描画処理手段とを備えたことを特徴とする。
【0011】
この発明によれば、ベクトルと走査ラインとの交点座標成分データからベクトルの向きを検出し、その向きに応じて塗りわけ制御をかけることにより、その塗りつぶす領域上で塗りつぶされない部分が発生することをなくすことができ、きめの細かい塗りつぶし画像を作成することができる。ここでいう、ベクトルの向きに応じて塗りわけ制御をかけることとは、例えばベクトルが下向き(以下、ダウンエッジという。)の場合にはその向きに応じた塗りつぶしパターンが採用され、逆に上向き(以下、アップエッジという。)の場合には別の塗りつぶしパターンが採用されて、別々に塗りつぶし処理が行われるというようなことである。
【0012】
この発明に係る2次元パターン生成方法におけるベクトルとしては、次のようなものが考えられる。即ち、前記ベクトルが反時計回りで表現されている場合、前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は反転、前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は非反転、前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は反転とするものである。
【0013】
一方、前記ベクトルが時計回りで表現されている場合、前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は反転、前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は反転、前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は非反転とするものである。
【0014】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図1は、この発明の一実施例に係る2次元パターン生成装置の基本構成を説明するためのブロック図である。
【0015】
CPU1は、水平方向をX方向、垂直方向をY方向として塗りつぶしの対象図形を構成するベクトルの各始点,終点、例えば(X0,Y0),(X1,Y1),(X2,Y2),...,(Xn,Yn)等のデータを出力する。CPU1から出力される図形データとしてのベクトルは、インターフェイス2を介して2次元パターン計算部3に供給されている。2次元パターン計算部3では、CPU1から供給されたベクトルに基づき塗りつぶす領域を論理演算により算出する。算出された塗りつぶし領域は、2次元描画部4に入力され、そこで例えばビデオRAM(VRAM)等に描画され塗りつぶし処理が施される。2次元描画部4は、塗りつぶし処理を実行する際に逐次ローカルメモリ5に2次元パターン計算部3から送られてきたデータを書き込み保存し、書き込みの際には、既に書き込まれているデータと新しく書き込まれるデータとの論理演算を行っている。ローカルメモリ5は、2次元描画部4からのデータを保存・出力し、そのデータは1バイト毎の単位でアクセスされるようローカルメモリ5内の記憶領域に構築されている。なお、2次元パターン計算部3と2次元描画部4とでこの発明における描画処理手段が構成されている。
【0016】
次に、上記の2次元パターン計算部3を詳しく説明する。
図2は、2次元パターン計算部3内部の基本構成を示す図である。
【0017】
CPU1から出力され2次元パターン計算部3に入力されたベクトルは、先ず交点計算部6に入力され、ベクトルとスキャンラインとの交点座標等のデータが計算される。計算された交点座標等のデータは、スパン計算部7に出力され、スパン計算部7は、入力された交点座標等のデータに基づき塗りつぶす領域の画素数等を表すスパンデータを算出する。算出されたスパンデータは、スパンモノクローム変換部8に出力され、スパンモノクローム変換部8は、入力されたスパンデータを後段の2次元描画部4で使用されるモノクロームデータ(ローカルメモリ5のアクセスに適したデータ)に変換し、2次元描画部4に出力する。
【0018】
このように構成された2次元パターン計算部3について更に詳しく説明する。図3は、交点計算部6の処理を示す図である。なお、本実施例では、ベクトルは反時計回りの方向性を持って定義されているものとする。
【0019】
まず、図3(a)に示すように、入力されたベクトルに基づき交点計算部6は、ベクトルV0,V1,V2,V3とスキャンラインYnとの頂点座標、例えば(X0,Y0),(X1,Y1),(X2,Y2),(X3,Y3)を取得する。この交点計算部6で取得されるデータは、同図(b)に示すように、上記ベクトルとスキャンラインとの交点のX座標値(X),Y座標値(Y)の他、ベクトルが最初にスキャンラインと交わる点の有無を表すエッジスタートフラグ(ESF)、ベクトルが最後にスキャンラインと交わる点の有無を表すエッジエンドフラグ(EEF)、2次元パターンを構成する最初のベクトルと最初のスキャンラインとの交点を表すプレーンスタートフラグ(PSF)、2次元パターンを構成する最後のベクトルと最後のスキャンラインとの交点を表すプレーンエンドフラグ(PEF)、下向きのベクトルを表すダウンフラグ(DWF)等がある。このうち、DWFは、ベクトルの始点のY座標値が終点のY座標値よりも小さいときに付与される。すなわち、同図(a)のベクトルV0を例にとると、Y0<Y1であるからDWF=1となっているのが分かる。また、同図(c)は、取得されたデータのうちベクトルV0〜V3に設けられたスキャンラインとの交点a〜hのフラグの状態を示している。
【0020】
上記の処理により、交点計算部6で取得されたデータは、次にスパン計算部7に入力される。図4は、スパン計算部7の基本構成を示すブロック図である。
【0021】
スパン計算部7に入力されたデータのうち、ベクトルとスキャンラインとの交点の座標値X,Yは、それぞれXCレジスタ10及びYCレジスタ12に格納される。また、XMレジスタ11は、予め2次元パターン計算部3で設定され、図示しない表示装置画面上の所定の基準点のX座標値XMを格納する。なお、本実施例では、この基準点のX座標値XMでスキャンライン毎にXMに対してベクトルのX座標値の位置及びそのベクトルの方向を検出することにより、塗りつぶしパターンを適応的に変化させ塗りつぶし処理を行っている。そのため、以後この実施例の2次元パターン計算部3では、常にXM座標値を採用していることとする。
【0022】
次に、各種フラグデータESF,PSF,EEF,PEF,DWFは、それぞれESFレジスタ14,PSFレジスタ15,EEFレジスタ16,PEFレジスタ17,DWFCレジスタ13に格納される。XCレジスタ10,XMレジスタ11から出力されたデータ及びDWFCレジスタ13から出力されたデータのうちの一部を算術論理ユニット(ALU)22は入力し、演算処理によって塗りつぶしの始まるX座標値XS、塗りつぶしの終わるX座標値XEを算出し後段へ出力すると共に、塗りつぶし処理を実行するか否かを決定するフラグデータFLENを算出し制御部(CNTL)23に出力する。
【0023】
YCレジスタ12から出力されたデータは、YPレジスタ18、比較器(Y_COMP)20に入力されると共に、そのデータのうちの一部はそのまま後段へ出力される。YPレジスタ18は、現在のベクトルとスキャンラインとの交点よりも一つ前に処理されたベクトルとスキャンラインとの交点のY座標値を格納するものであり、比較器20は、YCレジスタ12及びYPレジスタ18からの出力を取り込み、現在のベクトルとスキャンラインとの交点のY座標値と、その一つ前に処理されたベクトルとスキャンラインとの交点のY座標値とを比較し、その結果YEQを制御部(CNTL)23に出力する。
【0024】
DWFCレジスタ13から出力されたデータは、DWFPレジスタ19、比較器(DWF_COMP)21及び前述のように算術論理ユニット22に入力される。DWFPレジスタ19は、現在のベクトルとスキャンラインとの交点よりも一つ前に処理されたベクトルとスキャンラインとの交点のDWFフラグデータを格納するものであり、比較器21は、DWFCレジスタ13及びDWFPレジスタ19からの出力を取り込み、現在のベクトルとスキャンラインとの交点のDWFフラグデータと、その一つ前に処理されたベクトルとスキャンラインとの交点のDWFフラグデータとを比較し、その結果DWFEQを制御部(CNTL)23に出力する。
【0025】
比較器(Y_COMP)20及び比較器(DWF_COMP)21から出力される結果YEQ及びDWFEQは、図5に示すように、比較対象同士が等しいときは1になり、等しくないときは0になる。制御部23は、レジスタ14〜17の出力データと算術論理ユニット22からの出力データ(FLEN)及び比較器20,21からの出力データ(YEQ,DWFEQ)を入力し、ベクトルとスキャンラインとの現在の交点から算出されたスパンの塗りつぶしを行うかどうかを示すフラグWENを計算する。
【0026】
図6は、制御部23に入力された各データとこのようにして計算されたフラグWENとの関係を示す図であり、どのような条件でフラグWENをオン/オフ状態に切替えているのかを表している。
【0027】
同図によると、例えば図7(a),(b)に示すように、先行するベクトルVaと次のベクトルVbとを連結する頂点dがスキャンラインYnと交わり且つベクトルVa,VbがスキャンラインYnを境として互いに異なる側に存在する場合、FLENはオンでPEF,PSF,EEFは0に、ESF,YEQ,DWFEQは1になり、FLENはオンであるがスパンの塗りつぶしを実施するフラグWENはオフ状態に選択されていることが分かる。これは、ベクトルVa側での描画によって得られたパターンをベクトルVb側の描画によって反転させてしまうのを防止するためである。
【0028】
このようにしてスパン計算部7で計算され、結果として後段に出力されるデータは、図8に示すように、スパンの始まりを示すX座標値XS、スパンの終わりを示すX座標値XE、スパンのY座標値Y、2次元描画部4にスパンを書き込むかどうかを示すフラグWENである。
【0029】
なお、上記の算術論理ユニット22は、先ず入力されたXCとXMとの値を比較し、次にDWF値が1か0か(下向きか上向きか)を認定して塗りつぶしパターンを決定する。この塗りつぶしパターンは、図9に示すように全部で6通りのパターンがある。例えば、XC<XMでDWF値が1(下向き)のときは、塗りつぶしパターンNo.1が採用されX及びXMを含むスキャンラインに沿った方向の画素が塗りつぶされるという具合である。即ち、ベクトルが下向き(ダウンエッジ)のときは、パターンNo.1〜No.3が採用され、ベクトルが上向き(アップエッジ)のときは、パターンNo.4〜No.6が採用される。また、この塗りつぶしパターンは、ベクトルのもつ方向性によって変化する。即ち、本実施例のようにベクトルが反時計回りの方向性に定義されているときは図9の通りだが、ベクトルが時計回りの方向性に定義されているときは塗りつぶしパターン1,2,3と4,5,6とが入れ替わった塗りつぶしパターンが採用されるのである。
【0030】
スパン計算部7で計算されたデータは、次にスパンモノクローム変換部8に入力される。スパンモノクローム変換部8は、入力されたスパンデータを後段の2次元描画部4で使用されるモノクロームデータに変換して出力する役割を担っており、ここで変換され出力されるデータはモノクロームデータといい、図10に示すようにローカルメモリ5のアドレスを示すデータ(ADR)とアドレスに対応したモノクロームパターンを示すデータ(DATA)とがある。このモノクロームデータは、1画素をローカルメモリ5の1ビットに対応させたデータであり、2次元描画部4を経てローカルメモリ5に保存される。例えば、図11に示すように、2次元描画部4のメモリ内で16×16のパターンで構成された領域では、ローカルメモリ5は1バイト単位毎にアクセスされるものとすると、モノクロームデータは、その1バイト内の各ビットを1画素に対応させたものである。即ち、塗りつぶされている領域R0は、アドレスADR(n+6)のDATA[7:0] の範囲ではDATA=FEとあるのでDATA[7:1]の範囲を反転する。このように、スパンモノクローム変換部8では、2次元描画部4及びローカルメモリ5でスパン計算部7からのデータを利用できるようにして整合をとっている。
【0031】
次に、このようにして構成された本実施例の2次元パターン生成装置の動作について説明する。
【0032】
図12(a)は、16×16のパターン領域にあるベクトルV0〜V3からなる2次元パターンを視覚的に表現した図であり、同図(b)は、ベクトルV0〜V3とスキャンラインY0〜Y4との交点をまとめたものである。
【0033】
先ず、スキャンラインY0において、スキャンラインY0がベクトルV0及びV3と交わったときの交点X00,X01についてみると、交点X00ではスパン計算部7で算出された図9に示す塗りつぶしパターンのうちのNo.2が採用されXMの領域が塗りつぶされる。また、交点X01では、塗りつぶしパターンNo.5が採用されXMの領域は塗りつぶされない。従って、これらの塗りつぶしパターンをEX−OR論理演算することにより導出された塗りつぶし動作の結果は、図13に示すようにXM領域を塗りつぶすということになる。
【0034】
スキャンラインY1とベクトルV0及びV3との交点X10,X11では、塗りつぶしパターンNo.1及びNo.6が採用されX10からXMまでの領域が塗りつぶされると共にXMを除いたXMからX11までの領域が塗りつぶされる。従って、演算による結果は、図14に示すようにX10からX11までの領域が塗りつぶされることとなる。
【0035】
また、スキャンラインY2では、ベクトルV0,V1,V2,V3との交点X20,X21,X22,X23においてそれぞれ塗りつぶしパターンNo.1,No.5,No.2,No.6が採用される。塗りつぶしパターンNo.1のときは、X20からXMまでの範囲が塗りつぶされ、No.5のときは塗りつぶしは行われない。また、No.2のときは、X22(XM座標値と同一)が塗りつぶされ、No.6のときは、XMを除くXMからX23までの範囲が塗りつぶされる。これらの演算による結果は、図15に示すようにXMを除くX20からX23までの範囲が塗りつぶされることとなる。
【0036】
スキャンラインY3では、図16に示すようにベクトルV0〜V3との交点X30,X31,X32,X33においてそれぞれ塗りつぶしパターンNo.1,No.4,No.3,No.6が採用され、X30ではX30からXMまでの範囲が塗りつぶされ、X31ではX31を除くX31からXMまでの範囲が塗りつぶされる。X32では、XM及びX32を除くXMからX32までの範囲が塗りつぶされ、X33ではXMを除くXMからX33までの範囲が塗りつぶされる。従って、演算の結果により得られる塗りつぶしはX30からX31までの範囲とX32からX33までの範囲となる。
【0037】
また、スキャンラインY4では、ベクトルV0〜V3との交点X40,X41,X42,X43においてそれぞれ塗りつぶしパターンNo.1,No.4,No.3,No.6が採用される。X40ではX40からXMまでの範囲が、また、X41ではX41を除くX41からXMまでの範囲が塗りつぶされ、X42ではXM及びX42を除くXMからX42までの範囲が、X43ではXMを除くXMからX43までの範囲が塗りつぶされる。これらを演算し得られた結果は、図17に示すようにX40及びX41(X40,X41は同一X座標値)の範囲とX42及びX43(X42,X43は同一X座標値)の範囲とが塗りつぶされることとなる。このような塗りつぶし動作が行われることにより、特に塗りつぶし対象領域の輪郭線上において、塗りつぶされたり塗りつぶされなかったりという塗りつぶし処理のばらつきが皆無となり、塗りつぶしの精度が向上する。
【0038】
図18は、このような塗りつぶし処理により塗りつぶされた2次元パターン領域を説明するための図である。
【0039】
同図のスキャンラインYnは、ベクトルV0〜V3と交点Xn0〜Xn3で交わっており、図16で説明したような実施形態の塗りつぶし処理になるため、最終的な塗りつぶしはXn0からXn1までの範囲とXn2からXn3までの範囲となる。この場合ダウンエッジとアップエッジとで塗りつぶしを分けて制御し実行するため、図22や図23の従来例で見られたように塗りつぶされない箇所(Xn0及びXn2がかかる画素)を作り出すことがなく、綺麗な塗りつぶしを得ることができる。また、図19に示すスキャンラインとベクトルとの交点Xn0〜Xn3についての塗りつぶしを図23で示した従来例と照らし合わせ、反転させる画素数(1枠を一画素)の合計で比較して見てみると、従来例では6+8+16+18=48画素であるのに対し、本実施例では、7+4+3+6=20画素で済むことになり、塗りつぶし処理量も同時に軽減されていることがわかる。従って、精細な塗りつぶしを従来例よりも素早く行うことが可能であるという利点もある。更に、図23ではXn0及びXn2を含む画素が最終的には塗りつぶされないこととなったが、図19では塗りつぶしパターンとEX−OR論理演算との併用により塗りつぶされることとなり、図20に示すような一画素内に入り込んでしまうような細いベクトルや多角形の頂点部分も塗りつぶしパターンと論理演算との併用により一画素として認識・表示されるので、きめ細かく良好な画像の塗りつぶし結果を得ることができる。
【0040】
なお、上記実施例では、ベクトルの方向性を反時計回りと定義したが、本発明はこれに限定されるものではなく、例えば時計回りの方向性をもっているものとすれば、図9で示した塗りつぶしパターンNo.1,No.2,No.3とNo.4,No.5,No.6とを入れ替えて採用すれば良いので、ベクトルの方向性にとらわれることなく種々の図形を塗りつぶすことが可能である。
【0041】
【発明の効果】
以上述べたように、この発明によれば、塗りつぶす領域の塗りつぶし対象図形を構成するベクトルの向きを判断してその向きに応じて塗りわけ制御をかけることにより、塗りつぶし処理のばらつきがない精細な塗りつぶし画像を得ることができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る2次元パターン生成装置の基本構成を示すブロック図である。
【図2】 同装置における2次元パターン計算部の基本構成を示すブロック図である。
【図3】 同部内の交点計算部の処理を説明するための図である。
【図4】 同部内のスパン計算部の基本構成を示すブロック図である。
【図5】 同部内の比較器の出力結果を説明するための図である。
【図6】 同部内の制御部に入力されたデータとフラグWENとの関係を示す図である。
【図7】 同関係の一実施例をベクトルとスキャンラインとで表した図である。
【図8】 同装置における2次元パターン計算部内のスパン計算部からの出力結果を説明するための図である。
【図9】 同部内の算術論理ユニットで得られる塗りつぶしパターンを説明するための図である。
【図10】 同装置における2次元パターン計算部内のスパンモノクローム変換部からの出力結果を説明するための図である。
【図11】 同装置における2次元描画部内のメモリ上に構築されたパターン領域を示す図である。
【図12】 同パターン領域でのベクトル及びスキャンラインの交点を説明するための図である。
【図13】 同パターン領域での塗りつぶしと塗りつぶしパターンとの関係を示す図である。
【図14】 同関係を示す図である。
【図15】 同関係を示す図である。
【図16】 同関係を示す図である。
【図17】 同関係を示す図である。
【図18】 本発明の他の実施例にかかる2次元パターン生成装置による塗りつぶし処理を説明するための図である。
【図19】 同装置による塗りつぶし処理を更に詳しく説明するための図である。
【図20】 同装置による塗りつぶし処理を更に詳しく説明するための図である。
【図21】 本発明の他の実施例に係る2次元パターン生成装置による塗りつぶしと従来装置による塗りつぶしとを示す図である。
【図22】 従来装置により塗りつぶされた2次元パターン領域を示す図である。
【図23】 同装置による塗りつぶし処理を説明するための図である。
【図24】 同装置による塗りつぶし処理を説明するための図である。
【符号の説明】
1…CPU、2…インターフェイス、3…2次元パターン計算部、4…2次元描画部、5…ローカルメモリ、6…交点計算部、7…スパン計算部、8…スパンモノクローム変換部、10〜19…レジスタ、20,21…比較器、22…算術論理ユニット、23…制御部。
Claims (4)
- 塗り潰しの対象となる対象図形を構成するベクトルを入力すると共に、前記各ベクトルと走査ラインとの交点を算出し、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の画素を反転させる処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを生成する2次元パターン生成方法において、
前記対象図形は特定方向回りのベクトルによって表現されたものであり、前記ベクトルの上下方向の向きに基づいて前記ベクトル上の画素を反転させるかどうかを決定し、
前記対象図形の輪郭部分の塗り潰しを1画素単位で制御し、
前記ベクトルが反時計回りで表現されている場合、
前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は反転
とするようにした
ことを特徴とする2次元パターン生成方法。 - 塗り潰しの対象となる対象図形を構成するベクトルを入力すると共に、前記各ベクトルと走査ラインとの交点を算出し、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の画素を反転させる処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを生成する2次元パターン生成方法において、
前記対象図形は特定方向回りのベクトルによって表現されたものであり、前記ベクトルの上下方向の向きに基づいて前記ベクトル上の画素を反転させるかどうかを決定し、
前記対象図形の輪郭部分の塗り潰しを1画素単位で制御し、
前記ベクトルが時計回りで表現されている場合、
前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は非反転
とするようにした
ことを特徴とする2次元パターン生成方法。 - 塗り潰し処理された対象図形の画像データが記憶されるメモリと、
前記塗り潰し処理される対象図形を特定する特定方向回りのベクトルを入力し、各ベクトルと各走査ラインとの交点を計算すると共に、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の塗り潰し処理すべきスパンを、その始点及び/又は終点の画素を描画するかどうかを前記ベクトルの上下方向の向きによって決定しつつ算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転させて再描画する処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを前記メモリ上に生成する描画処理手段と
を備え、
前記描画処理手段は、
前記ベクトルが反時計回りで表現されている場合、
前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は反転させることにより前記塗り潰し処理すべきスパンを算出するものである
ことを特徴とする2次元パターン生成装置。 - 塗り潰し処理された対象図形の画像データが記憶されるメモリと、
前記塗り潰し処理される対象図形を特定する特定方向回りのベクトルを入力し、各ベクトルと各走査ラインとの交点を計算すると共に、各走査ライン上の所定の基準点から当該走査ラインとベクトルとの交点までの間の塗り潰し処理すべきスパンを、その始点及び/又は終点の画素を描画するかどうかを前記ベクトルの上下方向の向きによって決定しつつ算出し、この算出されたスパンに相当する前記メモリ上の画像データを反転させて再描画する処理を、全てのベクトルと走査ラインとの交点について実行することにより前記対象図形の内部を塗り潰した2次元パターンを前記メモリ上に生成する描画処理手段と
を備え、
前記描画処理手段は、
前記ベクトルが時計回りで表現されている場合、
前記基準点よりも左側に位置する下向きベクトルと走査ラインとの交点の画素は非反転、
前記基準点よりも右側に位置する下向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも左側に位置する上向きベクトルと走査ラインとの交点の画素は反転、
前記基準点よりも右側に位置する上向きベクトルと走査ラインとの交点の画素は非反転させることにより前記塗り潰し処理すべきスパンを算出するものである
ことを特徴とする2次元パターン生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35347899A JP4214643B2 (ja) | 1999-11-18 | 1999-12-13 | 2次元パターン生成方法及び装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32759899 | 1999-11-18 | ||
JP11-327598 | 1999-11-18 | ||
JP35347899A JP4214643B2 (ja) | 1999-11-18 | 1999-12-13 | 2次元パターン生成方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001209812A JP2001209812A (ja) | 2001-08-03 |
JP4214643B2 true JP4214643B2 (ja) | 2009-01-28 |
Family
ID=26572566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35347899A Expired - Fee Related JP4214643B2 (ja) | 1999-11-18 | 1999-12-13 | 2次元パターン生成方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4214643B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5034806B2 (ja) | 2007-09-13 | 2012-09-26 | 富士通セミコンダクター株式会社 | 図形描画装置、図形描画方法、図形描画プログラム、および該プログラムを記録した記録媒体 |
-
1999
- 1999-12-13 JP JP35347899A patent/JP4214643B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001209812A (ja) | 2001-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101349171B1 (ko) | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 | |
TW548604B (en) | System and method for double buffering graphics image data with compressed frame buffers | |
JPH0916806A (ja) | 立体画像処理装置 | |
JPS6380375A (ja) | テクスチヤマツピング装置 | |
JP3089792B2 (ja) | 画像データの隠面判別方式 | |
US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
JP4214643B2 (ja) | 2次元パターン生成方法及び装置 | |
JP2634851B2 (ja) | 画像処理装置 | |
JP4214644B2 (ja) | 2次元パターン生成装置 | |
JPH03119387A (ja) | デジタル活字面の輪郭を形成する方法およびその装置 | |
JPS634380A (ja) | 計算機図形処理装置 | |
JPWO2010134124A1 (ja) | ベクトル図形描画装置 | |
JP3872056B2 (ja) | 描画方法 | |
JPH07105404A (ja) | 立体画像処理装置及びその処理方法 | |
JP3556517B2 (ja) | 3次元画像処理装置 | |
JP3129717B2 (ja) | 画像処理装置および画像処理方法 | |
JP2899838B2 (ja) | 記憶装置 | |
JP4106719B2 (ja) | 画像処理装置 | |
JPH0816822A (ja) | 3次元動画像生成方法 | |
JPH0350686A (ja) | 図形処理方式 | |
JP4408152B2 (ja) | テクスチャマッピング方法及びテクスチャマッピング装置 | |
KR100742155B1 (ko) | 스캔라인 형성 방법 및 장치 | |
JP3688765B2 (ja) | 描画方法およびグラフィックス装置 | |
US5305431A (en) | Method and system for rendering polygons on a raster display | |
JP3502901B2 (ja) | 3次元グラフィックス画像表示装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051025 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080912 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081014 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081027 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |