JP3517982B2 - 図形描画装置 - Google Patents

図形描画装置

Info

Publication number
JP3517982B2
JP3517982B2 JP22918594A JP22918594A JP3517982B2 JP 3517982 B2 JP3517982 B2 JP 3517982B2 JP 22918594 A JP22918594 A JP 22918594A JP 22918594 A JP22918594 A JP 22918594A JP 3517982 B2 JP3517982 B2 JP 3517982B2
Authority
JP
Japan
Prior art keywords
color code
flag
color
coordinate
value
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
Application number
JP22918594A
Other languages
English (en)
Other versions
JPH0896148A (ja
Inventor
邦裕 松原
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP22918594A priority Critical patent/JP3517982B2/ja
Publication of JPH0896148A publication Critical patent/JPH0896148A/ja
Application granted granted Critical
Publication of JP3517982B2 publication Critical patent/JP3517982B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、閉じた輪郭線内の塗り
潰し機能を有する図形描画装置に関する。 【0002】 【従来の技術および発明が解決しようとする課題】パソ
コンやTVゲームなどの、CRTやLCDなどの表示装
置に画像を出力する装置や、ワープロなどの紙に画像を
出力する装置においては、データ量を圧縮する等の目的
から、グラフィックデータは、その輪郭線を描画する処
理とその輪郭線で囲まれた範囲内を所定の色で塗り潰す
処理とによって、描画される場合が多い。 【0003】ここで、ゲーム機等で使用される画像処理
用の専用ハードウエアとしてVDP(Video Displey Pr
ocessor )がある。VDPは、一般に複数の表示データ
メモリエリアを有する。そして、VDPでは、個々のエ
リアに図形が配置させられそれらの配置状態又は配置の
優先順位が制御されることにより、それぞれのエリアの
図形が重ねられ、1枚の表示画面が構成される。この場
合、複数の表示データメモリエリアに対する描画処理速
度及び各エリアの合成処理速度が、そのVDPを採用す
るシステム全体の画像処理性能に大きな影響を及ぼす。 【0004】しかし、表示データメモリエリアの数に
は、技術・コストの両面から限界があり、このエリアを
無制限に増やすことはできない。このようなハードウエ
ア的な制限を回避するために、1つの表示データメモリ
エリア上に、ソフトウエア処理により図形を重ねてゆく
技術もある。この場合、従来は、描画されるそれぞれの
図形が1つずつ直接に、又は別のメモリエリアに予め描
画された後に、予め設定された優先順位の低い順に表示
データメモリエリア上に重ね描きされてゆく方式が採用
されている。 【0005】しかし、このような従来技術では、表示画
面中の1つの図形を消去・変形・又は新たな図形を追加
する処理が実行される場合に、いったん描画されたデー
タを再利用することができず、再度優先順位の低い図形
から順番に重ね描きし直すという処理が必要であり、効
率的な描画方式とはいえないという問題点を有してい
る。 【0006】本発明の課題は、1つの表示データメモリ
エリアに描画された複数の図形の操作に対して、簡単な
処理で効率よく高速に再描画処理を実行可能とすること
にある。 【0007】 【課題を解決するための手段】本発明は、まず、表示手
段(表示手段104)に表示すべき優先順位の付加され
た複数の図形(図形1〜図形4)それぞれに対応して輪
郭線色コード、塗り潰し色コード及び前記複数の図形の
輪郭線を表示手段に表示すべき表示位置を記憶する図形
情報記憶手段(ROM103)を有する。次に、この図
形情報記憶手段に記憶された情報に基づき、表示手段上
の各表示位置に対応する記憶位置を有し、当該位置が色
コードを切替える位置の場合は色コード切替え情報を、
及び各図形の輪郭線の描画を行う位置にある場合は輪郭
線描画情報を、図形毎に生成して記憶する生成記憶手段
(例えば図5の動作フローチャートを実行するCPU1
01、これによって設定される色コード切替えフラグと
輪郭線描画フラグを記憶する図4のフォーマットを有す
るRAM102内のフラグ設定エリア)を有する。 【0008】そして、表示手段の各表示位置に対応する
記憶手段の記憶位置を所定の方向に走査し、当該記憶位
置に色コード切替え情報あるいは輪郭線描画情報が記憶
されているか否かを検出する走査手段(例えば図14及
び15の動作フローチャートを実行するCPU101)
を有する。 【0009】次にこの走査手段により色コード切替え情
報が検出される毎に、当該情報に対応する図形の塗り潰
し色コードを記憶する塗り潰し色記憶手段(例えば図1
4の動作フローチャートを実行するCPU101、RA
M102内の塗潰し用色コードレジスタ)と、記走査手
段により輪郭線情報が検出される毎に、当該情報に対応
する図形の中で最も優先順位の高い図形の輪郭線色コー
ドを記憶する輪郭線色記憶手段(例えば図14の動作フ
ローチャートを実行するCPU101、RAM102内
の変数である輪郭線色コード#)と、を有する。 【0010】さらに、走査手段により検出された輪郭線
情報に対応する図形の優先順位が、塗り潰し色記憶手段
に記憶された塗り潰し色コードに対応する図形の優先順
位より高い場合には表示手段の対応する表示位置に輪郭
線色コードを設定するとともに、低い場合は塗り潰し色
記憶手段に記憶された塗り潰し色コードのうち、最も優
先順位の高い図形に対応する塗り潰し色コードを前記表
示手段の対応する表示位置に設定する色コード設定手段
(例えば図15の動作フローチャートを実行するCPU
101)を有する。 【0011】 【作用】本発明では、記憶制御手段が、優先順位が付加
された複数の図形のそれぞれに対応させて色コード切替
え情報を生成して記憶する。そして、色コード設定手段
が、上述の優先順位を考慮しながら色コード切替え情報
に基づいて表示手段上の各表示位置に所定の複数の色コ
ードを切り替えながら設定することにより、各図形の背
景又は内部の描画を効率良く実行することができる。 【0012】同様に、記憶制御手段が、優先順位が付加
された複数の図形のそれぞれに対応させて輪郭線描画情
報を生成して記憶する。そして、色コード設定手段が、
上述の優先順位を考慮しながら輪郭線描画情報に基づい
て表示手段上の各表示位置に所定の複数の色コードを切
り替えながら設定することにより、各図形の輪郭線を効
率良く描画することができる。 【0013】そして、本発明では、特定の図形のみに対
して移動又は変形などを実行したい場合には、その図形
に対応する図形情報記憶手段内の表示位置情報を設定し
直すだけで、簡単に特定の図形に対する移動又は変形な
どを実行することができる。 【0014】 【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。 <実施例の構成>図1は、本発明の実施例の構成図であ
る。 【0015】CPU101は、輪郭線情報として与えら
れた2点間を結ぶ輪郭線に対応する直線の座標の計算、
その直線の傾きの算出、及びRAM102への輪郭線描
画フラグと色コード切替えフラグの設定等を行う。 【0016】RAM102は、CPU101が各種処理
を実行する際のワークメモリとして使用される。また、
RAM102のフラグ設定エリアには、実際の描画図形
に対応する色コード切替えフラグと輪郭線描画フラグ
(後述する図4参照)が記憶される。更に、RAM10
2の色コード設定エリアには、例えば垂直ブランキング
期間において、同じRAM102上のフラグ設定エリア
に設定された輪郭線描画フラグと色コード切替えフラグ
の内容、及びROM103内の描画図形データの内容に
従って、色コードが設定される。 【0017】ROM103には、後述する動作フローチ
ャートに対応する制御プログラムのほか、描画図形デー
タ(後述する図2参照)が記憶される。表示手段104
は、例えばディスプレイによって構成されている。そし
て、表示手段104は、垂直ブランキング期間以外の走
査期間において、RAM102上の色コード設定エリア
に設定されている色コードをRGBデータ等に変換しな
がら、そのRGBデータをディスプレイに出力し、図形
を描画する。 <実施例の動作説明>まず、上述の構成に基づく実施例
の動作について詳細に説明する。 フラグ設定処理 始めに、RAM102のフラグ設定エリアに色コード切
替えフラグ及び輪郭線描画フラグを設定する処理につい
て説明する。 【0018】まず、上述のフラグ設定処理において必要
なデータは、図1のROM103に描画図形データとし
て記憶されている。図2に、ROM103に記憶される
描画図形データを示す。 【0019】図2に示されるように、描画図形データ
は、図形(#0、#1、・・#α、・・)毎に記憶され
る。各図形の描画図形データのうち、輪郭線色コード
は、各図形の輪郭線の色を指定する。後述する色コード
設定処理によりRAM102の色コード設定エリアに色
コードが設定される場合に、後述するフラグ設定処理に
よりRAM102のフラグ設定エリアに後述する輪郭線
描画フラグが設定されているアドレスに対応する色コー
ド設定エリアのアドレス(画素)に、上述の輪郭線色コ
ードが設定される。 【0020】次に、各図形に対応する内部色コードは、
各図形の内部の塗り潰される色を指定する。後述する色
コード設定処理によりRAM102の色コード設定エリ
アに色コードが設定される場合に、後述するフラグ設定
処理によりRAM102のフラグ設定エリアに後述する
色コード切替えフラグが設定されているアドレスの直前
まで背景色の色コードが設定されている場合に、そのア
ドレス以降のアドレス(画素)に、上述の内部色コード
が設定される。 【0021】加えて、各図形に対応する始点座標データ
(P0.x座標、P0.y座標)、(P1.x座標、P1.y座標)、
(P2.x座標、P2.y座標)、・・・等は、各図形の輪郭線
の各始点(頂点)の表示座標を指定する。また、各図形
に対応する個数データは、各図形の輪郭線の始点の数を
指定する。後述するフラグ設定処理の一部である線分座
標発生処理においては、これらの座標データ及び個数デ
ータに基づいて、各図形の輪郭線を構成する線分の表示
座標が算出される。 【0022】続いて、ROM103に上述の描画図形デ
ータが設定されている任意の図形に対応するフラグ設定
処理について以下に説明する。ここでは、例として、図
2に示される図形#αが描画される場合のフラグ設定処
理について説明する。 【0023】まず、図1に示されるCPU101は、描
画図形に対応してROM103に記憶されている描画図
形データである座標データから、最小x座標x.min 、最
大x座標x.max 、最小y座標y.min 、最大y座標y.max
を検索して、これらのデータに対応する例えば図3(a)
に示されるようなフラグ設定エリアをRAM102に確
保する。確保されるフラグ設定エリアの各アドレスは、
描画図形の各表示座標(画素)に対応している。そし
て、図4に示されるように、各アドレスには、プライオ
リティの異なる4つの図形のそれぞれに対応させて、色
コード切替えフラグ及び輪郭線描画フラグが記憶され
る。この構成により、本実施例では、表示データメモリ
エリアである1つの色コード設定エリア(後述する)
に、最大で4つの図形を重ねて表示することができる。
また、これら最大で4つの図形には、同一の位置にこれ
らの図形が重ねられるときにどの図形が前に重ねられる
かを示すプライオリティが設定されており、図4のデー
タフォーマットでは、図形1のデータが最もプライオリ
ティが高く(最も前に重ねられ)、図形4のデータが最
もプライオリティが低い(最も後ろに重ねられる)。す
なわち、同時に描画したい最大で4つの図形のうち、最
も前面に描画させたいものに対応する色コード切替えフ
ラグ及び輪郭線描画フラグを図形1に対応するビット位
置に、また、最も後ろに描画させたいものに対応する色
コード切替えフラグ及び輪郭線描画フラグを図形4に対
応するビット位置に設定すればよい。なお、1つのアド
レスを指定することにより、上述の4組のフラグ対を一
度にアクセスすることができる。 【0024】上述のようにしてRAM102にフラグ設
定エリアを確保した後、CPU101は、図5の動作フ
ローチャートとして示されるフラグ設定処理を実行する
ことにより、フラグ設定エリアに色コード切替えフラグ
及び輪郭線描画フラグを設定してゆく。以下の説明で
は、図形#αに対応する色コード切替えフラグ及び輪郭
線描画フラグが、フラグ設定エリアの各アドレスの図形
4に対応するビット位置に設定される場合を例にとって
説明する。 【0025】図5において、ステップ501では、RA
M102に確保されたフラグ設定エリアの全てのアドレ
スの図形1〜図形4のそれぞれの色コード切替えフラグ
及び輪郭線描画フラグの値が0にリセットされる。 【0026】ステップ502では、RAM102内に確
保されている所定の変数(これをループカウンタと呼
ぶ)に、描画図形に対応してROM103に記憶されて
いる描画図形データである個数データの値が、輪郭線の
始点(頂点)の個数を示すデータとして設定される。図
2に示される図形#αの例では、ループカウンタの値と
して10が設定される。その後、ステップ512でルー
プカウンタの値がデクリメントされながらその値が0に
なったと判定されるまで、すなわち、描画図形の輪郭線
を構成する全ての辺についての処理が終了するまで、ス
テップ503〜512の処理が繰り返し実行される。 【0027】即ち、まず、ステップ503では、始点に
対する輪郭線描画フラグ処理が実行される。このステッ
プ503が第n回目に実行される時点においては、RO
M103に記憶されている描画図形データである複数組
の始点座標データのうち、第n番目の始点座標データ
(Pn-1.x座標、Pn-1.y座標)が読み出され、その始点座
標データに対応するRAM102のフラグ設定エリアの
アドレスに、輪郭線描画フラグの値1が設定される。輪
郭線に含まれる全ての始点に対しては、後述する色コー
ド設定処理により輪郭線の色コードが設定できるように
するために、このステップ503において輪郭線描画フ
ラグが設定されることになる。例えばステップ503が
第1回目に実行される時点においては、ROM103に
記憶されている描画図形データである複数組の始点座標
データのうち、第1番目の始点座標データ(P0.x座標、
P0.y座標)が読み出され、その始点座標データに対応す
るRAM102のフラグ設定エリアのアドレスの図形4
に対応するビット位置に、輪郭線描画フラグの値1が設
定される。 【0028】ステップ504では、辺方向判定処理が実
行される。このステップ504が第n回目に実行される
時点においては、ROM103に記憶されている描画図
形データである複数組の始点座標データのうち、第n番
目の始点座標データ(Pn-1.x座標、Pn-1.y座標)と第n
+1番目の始点座標データ(Pn.x座標、Pn.y座標)が読
み出される。そして、第n番目の始点Pn-1から第n+1
番目の始点Pnに向かう輪郭線を構成する辺(以後、処理
対象辺という)の傾きが算出され、その傾きが示す方向
が図6に示される8方向に量子化されることによって、
処理対象辺の方向が、図6に示される方向0〜方向7の
何れかとして判定される。ここで、処理対象辺の方向が
図6に示される8方向に量子化される処理は、図6に示
される8方向のうち処理対象辺の方向に最も近い方向を
選択する処理として実現される。例えばステップ504
が第1回目に実行される時点においては、ROM103
に記憶されている描画図形データである複数組の始点座
標データのうち、第1番目の始点座標データ(P0.x座
標、P0.y座標)と第2番目の始点座標データ(P1.x座
標、P1.y座標)が読み出される。そして、第1番目の始
点P0から第2番目の始点P1に向かう輪郭線を構成する処
理対象辺の傾きが算出され、その傾き示す方向が図6に
示される8方向に量子化されることによって、処理対象
辺の方向が、図6に示される方向0〜方向7の何れかと
して判定される。図3に示される図形#αの例において
は、第1番目の始点P0から第2番目の始点P1へ向かう処
理対象辺の方向は2となる。 【0029】ステップ505では、ステップ503でR
OM103から読み出された始点座標データが輪郭線で
囲まれる閉曲線の最初の開始点であるか否かが判定され
る。ステップ505が第1回目に実行される時点のみこ
の判定はNOとなってステップ506は実行されず、そ
れ以外の場合にはこの判定はYESとなってステップ5
06が実行される。 【0030】ステップ506においては、ステップ50
3においてROM103から読み出された第n(n≧
2)番目の始点Pn-1に対する色コード切替えフラグ処理
が実行される。 【0031】色コード切替えフラグとは、RAM102
上の後述する色コード設定エリアに塗り潰し用の色コー
ドである内部色コード(図2参照)を連続的に設定させ
るために、その内部色コードの連続的な設定を開始及び
終了させる境界画素を指示するためのフラグである。こ
の色コード切替えフラグが設定されるということは、そ
れが設定される画素が、描画図形の外部と内部を2分す
ることを意味する。 【0032】輪郭線の始点P については、「従来の技術
及び発明が解決しようとする課題」の項で説明したよう
に、その始点P が図形の極大点又は極小点である場合
は、その直前までに実行されていた色コードの設定処理
を継続させる必要があるため、その始点P に対応するR
AM102上のフラグ設定エリアに色コード切替えフラ
グは設定されるべきではなく、その始点P が極大点及び
極小点でない場合は、その始点P は図形の内部と外部を
2分するため、その始点P に対応するRAM102上の
フラグ設定エリアに色コード切替えフラグが設定される
べきである。 【0033】そこで、始点P について色コード切替えフ
ラグが設定される条件として、以下の条件が必要であ
る。 条件1−1:ステップ504で判定された処理対象辺の
方向が走査方向と平行でないこと。すなわち、本実施例
の場合、処理対象辺の方向が方向3又は7の何れでもな
いこと。 【0034】条件1−2:ステップ504で判定された
処理対象辺の方向と方向記憶レジスタが示す方向とが所
定の関係にあること。具体的には、処理対象辺の始点P
をその終点とし方向記憶レジスタが示す方向を有する線
分を仮定した場合、その線分と処理対象辺とが、走査方
向と平行の方向を有し処理対象辺の始点P を通過する直
線により2分されるそれぞれの領域に存在する状態とな
る関係にあること。 【0035】この条件1−2は、以下の条件1−2−1
又は条件1−2−2の何れかが満たされる場合に、満た
される。 条件1−2−1:ステップ504で判定された処理対象
辺の方向が図6に示される方向0、1、2の何れかであ
る場合には、方向記憶レジスタが示す方向も図6に示さ
れる方向0、1、2の何れかであること。 【0036】条件1−2−2:ステップ504で判定さ
れた処理対象辺の方向が図6に示される方向4、5、6
の何れかである場合には、方向記憶レジスタが示す方向
も図6に示される方向4、5、6の何れかであること。 【0037】例えば、前回の処理対象辺の方向が方向3
及び7の何れでもなかった場合(走査方向と平行な方向
でなかった場合)に、処理対象辺の方向が図7(a) の細
実線矢印で示されるように方向0、1、2の何れかであ
って、かつ、方向記憶レジスタが示す方向すなわち前回
の処理対象辺の方向も図7(a) の破線矢印で示されるよ
うに方向0、1、2の何れかである場合には、図7(a)
の太実線矢印で示される走査線上の斜線領域Aと斜線領
域Bは、始点P により描画図形の内部と外部に2分され
るため、条件1−2−1を満たす。従って、始点P に対
応するRAM102のフラグ設定エリアのアドレスに、
色コード切替えフラグが設定される。図3(c) に示され
る図形#αの例では、始点P1が該当する。一方、この場
合において、方向記憶レジスタが示す方向すなわち前回
の処理対象辺の方向が図7(c) の破線矢印で示されるよ
うに方向4、5、6の何れかである場合には、図7(c)
の太実線矢印で示される走査線上の斜線領域Aと斜線領
域Bは共に描画図形の外部にあり、始点P は極大点とな
るため、条件1−2−1を満たさない。従って、始点P
に対応するRAM102のフラグ設定エリアのアドレス
には、色コード切替えフラグは設定されず、そのアドレ
スの色コード切替えフラグの値は初期設定値0のままで
ある。図3(c) に示される図形#αの例では、始点P4及
びP8が該当する。 【0038】また、例えば、前回の処理対象辺の方向が
方向3及び7の何れでもなかった場合(走査方向と平行
な方向でなかった場合)に、処理対象辺の方向が図7
(d) の細実線矢印で示されるように方向4、5、6の何
れかであって、かつ、方向記憶レジスタが示す方向すな
わち前回の処理対象辺の方向も図7(d) の破線矢印で示
されるように方向4、5、6の何れかである場合には、
図7(d) の太実線矢印で示される走査線上の斜線領域A
と斜線領域Bは、始点P により描画図形の内部と外部に
2分されるため、条件1−2−2を満たす。従って、始
点P に対応するRAM102のフラグ設定エリアのアド
レスに、色コード切替えフラグが設定される。図3(c)
に示される図形#αの例では、始点P7が該当する。一
方、この場合において、方向記憶レジスタが示す方向す
なわち前回の処理対象辺の方向が図7(b) の破線矢印で
示されるように方向0、1、2の何れかである場合に
は、図7(b) の太実線矢印で示される走査線上の斜線領
域Aと斜線領域Bは共に描画図形の外部にあり、始点P
は極小点となるため、条件1−2−2を満たさない。従
って、始点P に対応するRAM102のフラグ設定エリ
アのアドレスには、色コード切替えフラグは設定され
ず、そのアドレスの色コード切替えフラグの値は初期設
定値0のままである。図3(c) に示される図形#αの例
では、始点P9が該当する。 【0039】更に、例えば、前回の処理対象辺の方向が
図8(a) 又は図9(a) の一点鎖線矢印で示されるよう
に、方向3又は7の何れである場合(走査方向と平行な
方向であった場合)に、処理対象辺の方向が図8(a) 又
は図9(a) の細実線矢印で示されるように方向0、1、
2の何れかであって、かつ、方向記憶レジスタが示す方
向すなわち一点鎖線矢印で示される水平辺をはさんで処
理対象辺と逆側にある辺の方向も図8(a) 又は図9(a)
の破線矢印で示されるように方向0、1、2の何れかで
ある場合には、図8(a) 又は図9(a) の太実線矢印で示
される走査線上の斜線領域Aと斜線領域Bは、始点P に
よって描画図形の内部と外部に2分されるため、条件1
−2−1を満たす。従って、始点P に対応するRAM1
02のフラグ設定エリアのアドレスに、色コード切替え
フラグが設定される。一方、この場合において、方向記
憶レジスタが示す方向すなわち一点鎖線矢印で示される
水平辺をはさんで処理対象辺と逆側にある辺の方向が図
8(c) 又は図9(c) の破線矢印で示されるように方向
4、5、6の何れかである場合は、図8(c) 又は図9
(c) の太実線矢印で示される走査線上の斜線領域Aと斜
線領域Bは共に描画図形の外部にあるため、条件1−2
−1を満たさない。従って、始点P に対応するRAM1
02のフラグ設定エリアのアドレスには、色コード切替
えフラグは設定されず、そのアドレスの色コード切替え
フラグの値は初期設定値0のままである。 【0040】また、例えば、前回の処理対象辺の方向が
図8(d) 又は図9(d) の一点鎖線矢印で示されるよう
に、方向3又は7の何れである場合(走査方向と平行な
方向であった場合)に、処理対象辺の方向が図8(d) 又
は図9(d) の細実線矢印で示されるように方向4、5、
6の何れかであって、かつ、方向記憶レジスタが示す方
向すなわち一点鎖線矢印で示される水平辺をはさんで処
理対象辺と逆側にある辺の方向も図8(d) 又は図9(d)
の破線矢印で示されるように方向4、5、6の何れかで
ある場合には、図8(d) 又は図9(d) の太実線矢印で示
される走査線上の斜線領域Aと斜線領域Bは、始点P に
よって描画図形の内部と外部に2分されるため、条件1
−2−2を満たす。従って、始点P に対応するRAM1
02のフラグ設定エリアのアドレスに、色コード切替え
フラグが設定される。一方、この場合において、方向記
憶レジスタが示す方向すなわち一点鎖線矢印で示される
水平辺をはさんで処理対象辺と逆側にある辺の方向が図
8(b) 又は図9(b) の破線矢印で示されるように方向
0、1、2の何れかである場合は、図8(b) 又は図9
(b) の太実線矢印で示される走査線上の斜線領域Aと斜
線領域Bは共に描画図形の外部にあるため、条件1−2
−2を満たさない。従って、始点P に対応するRAM1
02のフラグ設定エリアのアドレスには、色コード切替
えフラグは設定されず、そのアドレスの色コード切替え
フラグの値は初期設定値0のままである。図3(c) に示
される図形#αの例では、始点P3及びP6が該当する。 【0041】更に他の場合として、ステップ504で判
定された処理対象辺の方向が方向3又は7の何れかであ
る場合、すなわち処理対象辺の方向が走査方向と平行で
ある場合には、条件1−1を満たさないため、その処理
対象辺の始点P に対応するRAM102のフラグ設定エ
リアのアドレスには、色コード切替えフラグは設定され
ず、そのアドレスの色コード切替えフラグの値は初期設
定値0のままである。図3(c) に示される図形#αの例
では、始点P2及びP5が該当する。 【0042】なお、図9(a) 又は(c) に示される場合に
は、一点鎖線矢印で示される水平辺の左端に位置する処
理対象辺の始点P に対して色コード切替えフラグが設定
される。この場合には、後述する色コード設定処理にお
いては、色コード切替えフラグが検出された後に最初に
検出された輪郭線描画フラグが設定されていない画素に
対して色コードが切り替えられる。すなわち、色コード
切替えフラグが設定されている画素の直後に位置してい
る水平辺の右側で色コードが切り替えられる。この場
合、水平辺の右端に位置する当該水平辺の始点P 及び当
該水平辺上の補間点D (後述する)に対しては色コード
切替えフラグは設定されないため、問題は生じない。 【0043】以上のように更新される方向記憶レジスタ
を使用することにより、例えば走査方向と平行な水平な
辺の次の辺について処理が行われる時点において、その
水平な辺の前に処理された辺の方向情報が保存されてい
るため、水平な辺の始点の処理をさかのぼるといった例
外処理が必要なくなり、処理アルゴリズムを簡単化する
ことができる。 【0044】上述した条件1−1、条件1−2−1、及
び条件1−2−2がステップ506で判定され、処理対
象辺の始点P が、条件1−1かつ条件1−2−1を満た
している場合、又は条件1−1かつ条件1−2−2を満
たしている場合に、処理対象辺の始点P に対応するRA
M102のフラグ設定エリアのアドレスに、色コード切
替えフラグの値1が設定される。 【0045】次に、ステップ507では、方向記憶レジ
スタ処理が実行される。ここでは、ステップ504で判
定された処理対象辺の方向が、図6に示される8方向の
うち走査方向と平行な方向である方向3又は方向7では
ない場合に、RAM102上の変数である方向記憶レジ
スタが記憶する方向がステップ504で判定された処理
対象辺の方向に変更される。このように更新される方向
記憶レジスタを使用することにより、例えば走査方向と
平行な水平な辺の次の辺について処理が行われる時点に
おいて、その水平な辺の前に処理された辺の方向情報が
保存されることになる。 【0046】ステップ508では、補間点座標発生処理
が実行される。このステップ508が第n回目に実行さ
れる時点においては、ステップ504でROM103か
ら読み出された第n番目の始点座標データ(Pn-1.x座
標、Pn-1.y座標)と第n+1番目の始点座標データ(P
n.x座標、Pn.y座標)とに基づき、それら2つの始点Pn-
1とPnを結ぶ処理対象辺を最も良く近似する表示画素上
の点(以下、補間点D という)の座標データが算出され
る。例えばステップ504が第1回目に実行される時点
においては、第1番目の始点座標データ(P0.x座標、P
0.y座標)と第2番目の始点座標データ(P1.x座標、P1.
y座標)とに基づいて、それら2つの始点P0とP1の間の
補間点D の座標データが算出される(図3(b) 参照)。
上述の補間点座標発生処理としては、整数型Bresenham
アルゴリズムに基づく処理が採用されるが、この詳細に
ついては後述する。 【0047】続いて、ステップ508で算出された補間
点D について、ステップ511でその終点まで処理され
たと判定されるまで、ステップ509とステップ510
が実行される。 【0048】まず、ステップ503〜508が第n回目
に実行された直後のステップ509〜511の繰り返し
において実行されるステップ509では、2つの始点Pn
-1とPnの間の処理対象辺を構成するステップ508で算
出された全ての補間点D に対する輪郭線描画フラグ処理
が実行される。ここで、全ての補間点D は輪郭線を構成
する。従って、補間点D に対して後述する色コード設定
処理によって輪郭線の色コードが設定できるようにする
ために、このステップ509では、上記全ての補間点D
に対応するRAM102のフラグ設定エリアのアドレス
に、輪郭線描画フラグの値1が設定される。例えばステ
ップ503〜508が第1回目に実行された直後のステ
ップ509〜511の繰り返しにおいて実行されるステ
ップ509では、図3(b) に示されるように、2つの始
点P0とP1の間の処理対象辺を構成するステップ508で
算出された全ての補間点D に対応するRAM102のフ
ラグ設定エリアのアドレスの図形4に対応するビット位
置に、輪郭線描画フラグの値1が設定される。 【0049】次に、ステップ503〜508が第n回目
に実行された直後のステップ509〜511の繰り返し
において実行されるステップ510では、2つの始点Pn
-1とPnの間の処理対象辺を構成するステップ508で算
出された全ての補間点D に対する色コード切替えフラグ
処理が実行される。 【0050】補間点D に対して色コード切替えフラグが
設定される条件として、以下の2つの条件が必要であ
る。 条件2−1:ステップ504で判定された処理対象辺の
方向が走査方向と平行でないこと。すなわち、本実施例
の場合、処理対象辺の方向が方向3又は7の何れでもな
いこと。 【0051】条件2−2:補間点D の表示位置が前回に
処理対象であった始点P 又は補間点D の表示位置から走
査方向に直交する方向に変化していること。すなわち、
本実施例の場合、補間点D のy座標データが前回に処理
対象であった始点P又は補間点D のy座標データから変
化していること。 【0052】上述した条件2−1及び条件2−2がステ
ップ510で判定され、処理対象の補間点D が上述した
2つの条件を共に満たしている場合に、処理対象の補間
点Dに対応するRAM102のフラグ設定エリアのアド
レスに、色コード切替えフラグの値1が設定される。 【0053】図3(c) に示される図形#αの例において
は、ステップ503〜508が第1回目に実行された直
後のステップ509〜511の繰り返しにおいて実行さ
れるステップ510において、2つの始点P0とP1の間の
処理対象辺を構成するステップ508で算出された補間
点D のうち、図3(c) に示される補間点Da及びDbは、前
述した条件2−1及び2−2を共に満たしている。すな
わち、2つの始点P0とP1の間の処理対象辺の方向は2で
ある(図6参照)。また、補間点Da又はDbのy座標デー
タは、それらの直前に処理対象であった始点P0又は補間
点Daのy座標データから変化している。従って、補間点
Da及びDbに対応するRAM102のフラグ設定エリアの
アドレスの図形4に対応するビット位置には、図3(c)
に示されるように、色コード切替えフラグの値1が設定
される。 【0054】また、図3(c) に示される補間点Dcは、前
述の条件2−2を満たしていない。すなわち、補間点Dc
のy座標データは、その直前に処理対象であった補間点
Dbのy座標データから変化していない。従って、補間点
Dcに対応するRAM102のフラグ設定エリアのアドレ
スの図形4に対応するビット位置には、図3(c) に示さ
れるように、色コード切替えフラグの値1は設定され
ず、そのアドレスのそのビット位置の色コード切替えフ
ラグの値は初期設定値0のままである。 【0055】更に、ステップ503〜508が第3回目
に実行された直後のステップ509〜511の繰り返し
において実行されるステップ510において、2つの始
点P2とP3の間の処理対象辺を構成するステップ508で
算出された図3(c) に示される2つの(全ての)補間点
DdとDeは、前述した条件2−1を満たしていない。すな
わち、2つの始点P2とP3の間の処理対象辺の方向は7で
ある(図6参照)。従って、補間点Dd及びDeに対応する
RAM102のフラグ設定エリアのアドレスの図形4に
対応するビット位置には、図3(c) に示されるように、
色コード切替えフラグの値1は設定されずに、そのアド
レスのそのビット位置の色コード切替えフラグの値は初
期設定値0のままである。 【0056】以上説明したステップ509とステップ5
10の処理が、ステップ511においてステップ508
で算出された補間点D の終点まで処理がなされたと判定
されるまで実行される。 【0057】ステップ511でステップ508で算出さ
れた補間点D の終点まで処理がなされたと判定される
と、ステップ512で、ループカウンタの値がデクリメ
ントされ、その結果、ループカウンタの値が0になって
いなければ、すなわち、描画図形の輪郭線を構成する全
ての辺についての処理が終了していなければ、次の処理
対象辺の処理として、ステップ503〜511の処理が
再び実行される。 【0058】ステップ512で、ループカウンタの値が
デクリメントされた結果、ループカウンタの値が0にな
ったと判定されると、最後にステップ513で、輪郭線
で囲まれる閉曲線の最初の開始点である第1番目の始点
P0に対する色コード切替えフラグ処理が実行される。 【0059】ここでは、第1番目の始点P0を始点とする
処理対象辺(始点P0からP1に向かう辺)についてステッ
プ504で判定されている方向(ステップ504が第1
回目に実行されるときに得られている)と、ステップ5
13が実行される時点における方向記憶レジスタが示す
方向(図3(c) の図形#αの例では始点P9からP0に向か
う辺の方向)とについて、前述の条件1−1、条件1−
2−1、及び条件1−2−2がステップ506の場合と
同様に判定される。そして、始点P0が、条件1−1かつ
条件1−2−1を満たしている場合、又は条件1−1か
つ条件1−2−2を満たしている場合に、始点P0に対応
するRAM102のフラグ設定エリアのアドレスに、色
コード切替えフラグの値1が設定される。それ以外の場
合には、始点P0に対応するRAM102のフラグ設定エ
リアのアドレスには、色コード切替えフラグの値1が設
定されず、そのアドレスの色コード切替えフラグの値は
初期設定値0のままである。 【0060】例えば図3(c) に示される図形#αの例で
は、第1番目の始点P0を始点とする処理対象辺(始点P0
からP1に向かう辺)の方向は2であり、また、方向記憶
レジスタが示している始点P9からP0に向かう辺の方向は
4である(図6参照)。従って、この場合は条件1−2
−1及び条件1−2−2を共に満たさないため、始点P0
に対応するRAM102のフラグ設定エリアのアドレス
の図形4に対応するビット位置には、色コード切替えフ
ラグの値1は設定されず、そのアドレスのそのビット位
置の色コード切替えフラグの値は初期設定値0のままで
ある。 【0061】ステップ513までの処理が終了すると、
図5に示されるフラグ設定処理を終了する。上述したフ
ラグ設定処理により、例えば図形#αについて、図3
(c) に示されるように、RAM102のフラグ設定エリ
アの図形4に対応するビット位置に、輪郭線描画フラグ
と色コード切替えフラグが設定される。 【0062】以上説明したフラグ設定処理は、ROM1
03に図2に示される描画図形データが設定されている
任意の図形が描画される毎に実行される。各図形に対応
する色コード切替えフラグ及び輪郭線描画フラグは、フ
ラグ設定エリアの各アドレスのそれぞれに設定されたプ
ライオリティに対応するビット位置に設定される。 線分座標発生処理の詳細 本実施例のように、輪郭線を構成する各辺の端点の座標
データすなわち始点座標データによって輪郭線を表現
し、始点間の輪郭線の座標データは隣接する2つの始点
座標データに対して補間演算を実行して発生させること
によって、輪郭線を効率良く表現することができる。そ
の一方、表示画素の位置は量子化された位置であるた
め、始点間の輪郭線の座標データを発生させるための補
間処理のアルゴリズムとしては、隣接する2つの始点に
対して直線補間等の単純な補間演算を実行するだけでは
十分ではなく、隣接する2つの始点を結ぶ直線を最も良
く近似する表示画素上の補間点D を算出するための特別
なアルゴリズムが必要となる。そのようなアルゴリズム
の1つとして、コンピュータグラフィックスにおける直
線描画法として広く用いられている整数型Bresenham ア
ルゴリズムが知られている。 【0063】図10及び図11は、図5のステップ50
8の補間点座標発生処理の詳細を示す動作フローチャー
トであって、整数型Bresenham アルゴリズムに基づくも
のである。 【0064】今、第n番目の始点Pn-1から第n+1番目
の始点Pnへ向かう処理対象辺の傾きが1よりも小さく、
かつ、符号を含めて、第n+1番目の始点Pnのx座標デ
ータPn.x及びy座標データPn.yがそれぞれ第n番目の始
点Pn-1のx座標データPn-1.x及びy座標データPn-1.yよ
り大きいと仮定する。 【0065】この仮定のもとで、図12において、第n
番目の始点Pn-1(Pn-1.x, Pn-1.y)と特には図示しない
第n+1番目の始点Pn(Pn.x, Pn.y)とを結ぶ直線Aと
y座標軸に平行な直線x=Pn-1.x+1との交点のy座標
データE1は、第n番目の始点Pn-1のy座標データPn-1.y
に直線Aの傾きmを加算することにより、 E1=Pn-1.y+m として得られる。そして、E1の値が第n番目の始点Pn-1
のy座標データPn-1.yを基準としてPn-1.y+1/2 以上な
ら、x座標データDx 1 の値がPn-1.x+1で直線Aを最
良に近似する第1番目の補間点D 1 は、第n番目の始点
Pn-1のy座標データPn-1.yに+1を加算して得られるy
座標データDy 1 =Pn-1.y+1を有する点(Dx 1 , Dy
1 )=(Pn-1.x+1, Pn-1.y+1)となる。逆に、E1の
値が第n番目の始点Pn-1のy座標データPn-1.yを基準と
してPn-1.y+1/2 よりも小さいならば、x座標データDx
1 の値がPn-1.x+1で直線Aを最も良く近似する第1
番目の補間点D 1 は、第n番目の始点Pn-1のy座標デー
タPn-1.yと同じy座標データDy 1 =Pn-1.yを有する点
(Dx 1 ,Dy 1 )=(Pn-1.x+1, Pn-1.y)となる。図
12の例においては、E1<Pn-1.y+1/2 であるため、第
1番目の補間点D1の座標は(Dx 1 , Dy 1 )=(Pn-1.x
+1, Pn-1.y)となる。 【0066】続いて、直線Aと直線x=Pn-1.x+2との
交点のy座標データE2は、E1に直線Aの傾きmを加算す
ることにより、 E2=E1+m として得られる。そして、E2の値が前回の処理において
算出された第1番目の補間点D 1 のy座標データDy 1
を基準にDy 1 +1/2 以上であるならば、x座標データ
Dx 2 の値がPn-1.x+2で直線Aを最も良く近似する画
素は、前回の処理で算出された画素のy座標データDy 1
に+1を加算して得られるy座標データDy 2 =Dy 1
+1を有する画素(Dx 2 , Dy 2 )=(Pn-1.x+2,D
y 1 +1)となる。逆に、E2の値が前回の処理において
算出された第1番目の補間点D 1 のy座標データDy 1
を基準としてDy 1 +1/2 より小さいならば、x座標デ
ータDx 2 の値がPn-1.x+2で直線Aを最も良く近似す
る第2番目の補間点D 2 は、前回の処理で算出されたy
座標データDy 1 と同じy座標データDy 2 =Dy 1を有
する点(Dx 2 , Dy 2 )=(Pn-1.x+2,Dy 1 )とな
る。図12の例では、E2>Dy 1 +1/2 =Pn-1.y+1/2
であるため、(Dx 2 , Dy 2 )=(Pn-1.x+2,Dy 1 +
1)=(Pn-1.x+2, Pn-1.y+1)となる。 【0067】一般的には、直線Aと直線x=Pn-1.x+i
との交点のy座標データEiは、Ei-1に直線Aの傾きdelt
ay/deltaxを加算することにより、次式で算出できる。 【0068】 【数1】Ei=Ei-1 +deltay/deltax 但し、E0=Pn-1.y ここで、 【0069】 【数2】deltax=Pn.x−Pn-1.x deltay=Pn.x−Pn-1.y である。また、 【0070】 【数3】1≦i≦deltax−1 である。そして、Eiの値が、前回の処理において算出さ
れた第i−1番目の補間点D i-1 のy座標データDy i-1
を基準としてDy i-1 +1/2 より小さいなら、すなわ
ち不等式、 【0071】 【数4】Ei≧Dy i-1 +1/2 が成立するならば、x座標データDx i の値がPn-1.x+
iで直線Aを最も良く近似する第i番目の補間点D i
は、前回の処理で算出された第i−1番目の補間点D i-
1 のy座標データDy i-1 に+1を加算して得られるy
座標データDy i =Dy i-1 +1を有する点、 【0072】 【数5】 (Dx i , Dy i )=(Pn-1.x+i,Dy i-1 +1) =(Dx i-1 +1,Dy i-1 +1) となる。逆に、数4式が成立しないなら、x座標データ
Dx i の値がPn-1.x+iで直線Aを最も良く近似する第
i番目の補間点D i は、前回の処理で算出された第i−
1番目の補間点D i-1 のY座標データDy i-1 と同じy
座標データDy i=Dy i-1 を有する点、 【0073】 【数6】 (Dx i , Dy i )=(Dx i-1 +1,Dy i-1 ) となる。なお、 【0074】 【数7】Dx 0 =Pn-1.x Dy 0 =Pn-1.y である。 【0075】以上の考察より、補間点D を算出するため
には、基本的には、変数iを1からdeltax−1まで変化
させながら(数3式参照)、数1式に基づいて誤差Eiを
順次計算し、その計算結果を用いて数4式の不等式が成
立するなら第i番目の補間点D i を数5式として算出
し、数4式の不等式が成立しないなら第i番目の補間点
D i を数6式として算出すればよい。 【0076】ここで、誤差演算の変形について考察す
る。数4式の両辺に、項(−Dy i-1−1/2 )を加算する
と、数4式は次式のように変形できる。 【0077】 【数8】Ei−Dy i-1 −1/2 ≧0 続いて、誤差Eiに項(−Dy i-1 −1/2 )を加算するこ
とにより新たに得られる誤差をeiと定義すると、数4式
を変形した数8式は、更に、次式のように変形できる。 【0078】 【数9】ei≧0 また、数1式及び数7式よりE0=Pn-1.y=Dy 0 であっ
て、数4式が成立する毎に数5式により演算 Dy i =Dy
i-1 +1 が実行されることに着目すると、数4式に
基づいて算出される上述の数9式の不等式で用いられる
誤差eiは、数1式を変形して得られる次式によって算出
することができる。 【0079】 【数10】ei-1=ei-1−1 (第i-1 回目に数9式が成
立する場合のみ) ei =ei-1+deltay/deltax 但し、 e0=E0+(−Pn-1.y−1/2 )=Pn-1.y−Pn-1.y−1/2 =
−1/2 このような誤差演算の変形により、数9式で示される誤
差の符号の判定のみを行うことによって、補間点D を算
出することができる。すなわち、補間点D を算出するた
めには、変数iを1からdeltax−1まで変化させなが
ら、数10式に基づき誤差eiを順次計算し、その誤差ei
の符号が正なら第i番目の補間点D i を数5式によって
算出し、その符号が負なら第i番目の補間点D i を数6
式によって算出すればよい。 【0080】ここで、誤差演算の更なる変形について考
察する。数9式の両辺に2*deltax(*は乗算記号。ま
た、deltax≧0)を乗算しても数9式の不等式は成立す
る。そこで、誤差eiに項(2*deltax)を乗算すること
により新たに得られる誤差をerror(i)とすれば、まず、
数9式は次式のように変形される。 【0081】 【数11】error(i)≧0 また、数10式は、次式のように変形される。 【0082】 【数12】error(i-1)=error(i-1) −2*deltax (第i-1 回目に数11式が成立する場合
のみ) error(i) =error(i-1)+2*deltay 但し、 error(0)=2*deltax*e0=−deltax このような誤差演算の変形により、数10式の演算のと
きに必要であった浮動小数点演算deltay/deltaxが不要
となり、シフト演算が利用できる2倍の乗算と加減算の
みによって、誤差を演算することが可能となり、更に、
数11で示される誤差の符号の判定のみを行うことによ
り、補間点D を算出することができる。すなわち、補間
点D を算出するためには、変数iを1からdeltax−1ま
で変化させながら、数12式の整数演算とシフト演算に
基づいて誤差error(i)を順次計算し、その符号が正なら
第i番目の補間点D i を数5式によって算出し、その符
号が負なら第i番目の補間点D i を数6式によって算出
すればよい。 【0083】図10及び図11に示される線分座標発生
処理の動作フローチャートのうち、上述のアルゴリズム
に基づく部分は図11のステップ1018〜1033の
部分である。 【0084】まず、ステップ1018及びステップ10
19は、数7式の演算に対応する。ここで、配列データ
Dx とDy 、及び変数pxとpyは、図1のRAM102に
確保される。 【0085】次に、ステップ1020において、上述の
説明においてした最初の仮定「第n番目の始点Pn-1から
第n+1番目の始点Pnへ向かう処理対象辺の傾きが1よ
りも小さい」 すなわち仮定 deltax>deltay が成立
する場合には、後述する図10のステップ1011〜1
017によって、sub#delta =deltay、main#delta=de
ltaxとされる。従って、ステップ1020の演算 erro
r =2*sub#delta −main#delta は、i=1である場
合に数12式中の第3式を第2式に代入して得られる演
算に等しい。 【0086】ステップ1021、ステップ1033及び
ステップ1022のループ制御処理は、数3式の条件に
対応する。ここで、上述した仮定 deltax>deltay が
成立する場合には、main#delta=deltaxである。 【0087】ステップ1023は、数11式の不等式の
判定処理に対応する。ステップ1024〜1026は、
数5式における演算 Dy i =Dy i-1 +1に対応する。
すなわち、前述した仮定 deltax>deltay が成立する
場合は、後述するステップ1014において flag=TR
UE とされるため、ステップ1024に続いてステップ
1025が実行されることにより、変数pyの値が1増加
単位分ratey だけインクリメントされる。そして、この
インクリメントされた変数pyがステップ1032で配列
Dy i に代入されることにより、数5式における演算 D
y i =Dy i-1 +1 に対応する演算が実現される。一
方、ステップ1023の判定がNOとなる場合は、ステ
ップ1025の演算は実行されず、変数pyの値は前回に
実行されたときの値と同じのままであるため、ステップ
1032が実行される時点で数6式における演算 Dy i
=Dy i-1 に対応する演算が成立することになる。な
お、ステップ1024に続いてステップ1026が実行
される場合については後述する。 【0088】ステップ1027は、ステップ1023で
実行される数11式の判定が成立する場合においてのみ
実行される数12式中の第1式に対応する。ここで、前
述した仮定deltax>deltay が成立する場合には、main
#delta=deltaxである。 【0089】ステップ1028、ステップ1029、及
びステップ1030は、数5式又は数6式における演算
Dx i =Dx i-1 +1に対応する。すなわち、前述した
仮定deltax>deltay が成立する場合は、後述するステ
ップ1014において flag=TRUE とされるため、ス
テップ1028に続いてステップ1029が実行される
ことにより、変数pxの値が1増加単位分ratex だけイン
クリメントされる。そして、このインクリメントされた
変数pxがステップ1032で配列Dx i に代入されるこ
とにより、数5式又は数6式における演算 Dx i =Dx i
-1 +1 に対応する演算が実現される。なお、ステッ
プ1028に続いてステップ1030が実行される場合
については後述する。 【0090】ステップ1031は、数12式中の第2式
に対応する。ここで、前述した仮定deltax>deltay が
成立する場合には、sub#delta =deltayである。ステッ
プ1032は、ステップ1025、ステップ1026、
ステップ1029、又はステップ1030の演算の結果
得られる変数py及びpxの値をそれぞれ配列Dx i 及びDy
i に代入する処理である。 【0091】以上の説明は、第n番目の始点Pn-1から第
n+1番目の始点Pnへ向かう処理対象辺の傾きが1より
も小さく(deltax>deltay)、かつ、符号を含めて、第
n+1番目の始点Pnのx座標データPn.x及びy座標デー
タPn.yがそれぞれ第n番目の始点Pn-1のx座標データPn
-1.x及びy座標データPn-1.yより大きいと仮定した場合
の補間点座標発生処理の説明である。この場合は、図1
3に示されるxy座標空間において、第n番目の始点Pn
-1(Pn-1.x,Pn-1.y)が原点Oに位置するとした場合
に、この原点から第n+1番目の始点Pn(Pn.x,Pn.y)
に伸びる線分が図13に示される領域内に存在する場
合に相当する。そこで、原点に位置する始点Pn-1から始
点Pnに伸びる線分が、図13に示されるxy座標空間内
の領域以外の他の領域〜に存在する場合の処理に
ついて、以下に説明する。 【0092】まず、ステップ1001では、第n番目の
始点Pn-1から第n+1番目の始点Pnまでのx座標データ
の増分gainx 及びy座標データの増分gainy が、次式に
基づいて計算される。 【0093】 【数13】gainx=Pn.x−Pn-1.x gainy=Pn.y−Pn-1.y この結果算出されるx座標増分gainx 及びy座標増分ga
iny は、図1のRAM102に記憶される。 【0094】続いて、図10のステップ1002では、
x座標増分gainx の絶対値deltax、及びy座標増分gain
y の絶対値deltayが、次式に基づいて計算される。ここ
で、abs(value)は、値value の絶対値を計算する関数で
ある。 【0095】 【数14】deltax=abs(gainx) deltay=abs(gainy) この結果算出されるx座標増分絶対値deltax及びy座標
増分絶対値deltayも、図1のRAM102に記憶され
る。これらの値deltax及びdeltayが、前述した数12式
等で使用される傾きデータとなる。 【0096】ここで、図13に示されるxy座標空間の
原点に位置する始点Pn-1から始点Pnに伸びる線分が領域
に存在する場合には、ステップ1011の不等式 de
ltax>deltay が成立するため、前述したように、ステ
ップ1012でRAM102に記憶される変数main#del
taに変数deltaxの値が代入され、ステップ1013で同
じくRAM102に記憶される変数sub#delta に変数de
ltayの値が代入され、前述した補間点座標発生処理がそ
のまま適用されればよい。この場合、ステップ1014
でRAM102に記憶されるフラグflagの値が“TRUE”
とされる。 【0097】一方、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分が領域
に存在する場合は、領域に存在する場合と比較して、
傾きデータdeltaxとdeltayの大小関係が逆であることの
みが異なる。従って、この場合は、x座標データとy座
標データが完全に入れ替えられた上で前述した補間点座
標発生処理が適用されればよい。すなわち、ステップ1
011の不等式deltax>deltay が成立しないことによ
り、領域の場合とは逆に、ステップ1015で変数ma
in#deltaに変数deltayの値が代入され、ステップ101
6で変数sub#delta に変数deltaxの値が代入された上
で、前述した補間点座標発生処理が適用されればよい。
この場合、ステップ1017でRAM102に記憶され
るフラグflagの値が“FALSE ”とされる。そして、これ
に対応して、ステップ1024に続いて、前述したステ
ップ1025の代わりにステップ1026が実行される
ことにより変数pyの代わりに変数pxの値が1増加単位分
ratex だけインクリメントされる。また、ステップ10
28に続いて、前述したステップ1029の代わりにス
テップ1030が実行されることにより変数pxの代わり
に変数pyの値が1増加単位分ratey だけインクリメント
される。 【0098】上述の領域におけるx座標データとy座
標データの入替え処理は、領域、、及びの場合も
全く同様に発生する。逆に、領域、、及びの場合
は、領域の場合と同様に上述したx座標データとy座
標データの入替え処理は発生しない。 【0099】次に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分が領域
に存在する場合は、領域に存在する場合と比較して、
x座標値が増加するのではなく減少することのみが異な
る。従って、この場合は、ステップ1003において
gainx<0 という判定がなされることにより、ステッ
プ1006においてx座標データに関する1増加単位ra
tex の値が−1とされる。この処理は、領域、、及
びの場合も全く同様に発生する。 【0100】逆に、領域、、、及びについて
は、ステップ1003で gainx>0という判定がなさ
れることにより、ステップ1004においてx座標デー
タに関する1増加単位ratex の値が+1とされる。 【0101】更に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分がy軸と
重なる場合には、ステップ1003において gainx=
0という判定がなされることにより、ステップ1005
においてx座標データに関する1増加単位ratex の値が
0とされる。 【0102】上述のステップ1004、1005、又は
1006の処理がなされた上で、前述した補間点座標発
生処理が適用される。続いて、図13に示されるxy座
標空間の原点に位置する始点Pn-1から始点Pnに伸びる線
分が領域に存在する場合は、領域に存在する場合と
比較して、y座標値が増加するのではなく減少すること
のみが異なる。従って、この場合は、ステップ1007
において gainy<0 という判定がなされることによ
り、ステップ1010においてy座標データに関する1
増加単位ratey の値が−1とされる。この処理は、領域
、、及びの場合も全く同様に発生する。 【0103】逆に、領域、、、及びについて
は、ステップ1007で gainy>0という判定がなさ
れることにより、ステップ1008においてy座標デー
タに関する1増加単位ratey の値が+1とされる。 【0104】更に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分がx軸と
重なる場合には、ステップ1007において gainy=
0という判定がなされることにより、ステップ1009
においてy座標データに関する1増加単位ratey の値が
0とされる。 【0105】上述のステップ1008、1009、又は
1010の処理がなされた上で、前述した補間点座標発
生処理が適用される。以上説明した図10及び図11の
動作フローチャートとして、図5のステップ508の補
間点座標発生処理が実現される。色コード設定処理CP
U101が図5に示されるフラグ設定処理を実行するこ
とによりRAM102のフラグ設定エリアの各アドレス
の各プライオリティに対応するビット位置に色コード切
替えフラグと輪郭線描画フラグが設定された後、RAM
102の色コード設定エリアに実際に色コードが設定さ
れて図形が描画される処理につき、図14及び図15の
動作フローチャートに基づいて説明する。 【0106】色コード設定処理においては、ROM10
3に記憶されている図2に示される描画図形データのう
ちの内部色コードと輪郭線色コードが使用される。な
お、RAM102上の色コード設定エリアはフラグ設定
エリアと共用されてもよい。この場合は、フラグ設定エ
リア上の各画素毎の色コード切替えフラグと輪郭線描画
フラグが順次色コードによって上書きされてゆくことに
なる。更に、色コード設定エリアは、RAM102では
なく、図1の表示手段104内の表示用メモリ領域に確
保されてもよい。以下の説明においては、RAM102
上にフラグ設定エリアとは別に色コード設定エリアが確
保される場合の処理について説明する。 【0107】図14及び図15の動作フローチャートに
おいて、まず、ステップ1401では、RAM102上
の例えば図3(a) に示されるフラグ設定エリアに対応す
る色コード設定エリアがRAM102上に確保される。 【0108】次に、ステップ1402で、CPU101
又はRAM102内の塗潰し用色コードレジスタに、表
示時に透明となる背景の色コード(00)が設定され
る。塗潰し用色コードレジスタは、色コード設定エリア
内の各画素(以下、ドットという)に設定される色コー
ドを決定するために、ROM103に記憶されている各
図形の描画図形データである内部色コード(図2参照)
を色コード切替えフラグに従って格納するレジスタであ
って、図16に示されるデータフォーマットを有する。
この図からわかるように、塗潰し用色コードレジスタに
は、フラグ設定エリアの各アドレスに割り当てられ相互
に重ねて表示することのできる4つの図形(図4参照)
に対応する内部色コードと、背景の色コードを設定する
ことができる。初期状態では、4つの図形に対応する記
憶位置には内部色コードが設定されていないことを示す
値−1が記憶され、ステップ1402において、背景の
色コード(00:透明)のみが設定される。 【0109】続いて、ステップ1403と1404で、
RAM102に設けられている処理カウンタであるラス
タ#とドット#に、それぞれy.min とx.min が設定され
る。ラスタ#は表示画面の縦方向の走査ラインの位置
(行番号)を示す処理カウンタであり、ドット#は1ラ
スタ内の表示画面の水平方向の位置を示す処理カウンタ
である。そして、値y.min は表示画面の縦方向(y軸方
向)の上端の座標位置を示し、値x.min は表示画面の水
平方向(x軸方向)の左端の座標位置を示す。 【0110】そして、フラグ設定エリアの図3(a) の表
示イメージの左上隅(x.min,y.min)に対応するアドレス
から表示イメージの右端(x.max,y.min) に対応するアド
レスに向かって図15のステップ1414でドット#が
インクリメントされながら、更に図15のステップ14
16で1行分の処理が終了する毎に表示イメージの下方
向(y方向)にラスタ#がインクリメントされると共
に、図15のステップ1417に続いて実行される図1
4のステップ1404でドット#がx.min にリセットさ
れ、図15のステップ1415及び1417において表
示イメージの右下隅(x.max,y.max) に対応する位置まで
処理したと判定されるまで、図14のステップ1405
〜図15のステップ群1413において、ドット#及び
ラスタ#に対応するフラグ設定エリアのアドレスから色
コード切替えフラグ及び輪郭線描画フラグが順次読み出
され、それらに基づいて色コード設定処理が実行され
る。すなわち、ステップ1405〜ステップ群1413
の一連の処理は、ドット毎に実行されることになる。 【0111】まず、ステップ1405では、RAM10
2内の変数である輪郭線描画図形#に、図形の番号が設
定されていないことを示す値−1が設定される。この輪
郭線描画図形#については後述する。 【0112】次に、ステップ1406では、RAM10
2内の変数である輪郭線色コード#に、輪郭線色コード
が設定されていないことを示す値−1が設定される。こ
の輪郭線色コード#については後述する。 【0113】続いて、ステップ1407では、現在のド
ット#とラスタ#に対応するRAM102のフラグ設定
エリアのアドレスのデータ(図4参照)の内容が読み出
される。 【0114】ステップ1408では、ステップ1407
で読み出されたデータ中の4つの図形に対応するいずれ
かのビット位置に、色コード切替えフラグが設定されて
いるか否かが判定される。 【0115】ステップ1408の判定がYESなら、ス
テップ1409で、ステップ1407において読み出さ
れたデータ中の色コード切替えフラグが設定されている
各図形に対応する塗潰し用色コードレジスタ内の各ビッ
ト位置(図16参照)の内容が更新される。具体的に
は、色コード切替えフラグが設定されている図形毎に、
その図形に対応する塗潰し用色コードレジスタ内のビッ
ト位置の値が−1であれば、そのビット位置に、その図
形に対応する内部色コードが、ROM103内のその図
形に対応する描画図形データ(図2参照)中から読み出
されて設定され、逆に、その図形に対応する塗潰し用色
コードレジスタ内のビット位置に既に内部色コードが設
定されているならば、そのビット位置の値が−1に戻さ
れる。その後、ステップ1410が実行される。 【0116】ステップ1408の判定がNOなら、ステ
ップ1409は実行されずにステップ1410が実行さ
れる。ステップ1410では、ステップ1407で読み
出されたデータ中の4つの図形に対応するいずれかのビ
ット位置に、輪郭線描画フラグが設定されているか否か
が判定される。 【0117】ステップ1410の判定がYESなら、ま
ず、ステップ1411で、ステップ1407において読
み出されたデータ中で輪郭線描画フラグが設定されてい
る図形のうち最もプライオリティが高い図形の番号が、
輪郭線描画図形#に設定される。次に、ステップ141
2では、上述の輪郭線描画図形#に設定された番号に対
応する図形の輪郭線色コードが、ROM103内のその
図形に対応する描画図形データ(図2参照)中から読み
出されて、輪郭線色コード#に設定される。その後、ス
テップ群1413が実行される。 【0118】ステップ1410の判定がNOなら、ステ
ップ1411と1412は実行されずにステップ群14
13が実行される。ステップ群1413では、現在のド
ット#及びラスタ#に対応するRAM102の色コード
設定エリアのアドレスに、輪郭線色コード又は内部色コ
ードが描画されるべき図形のうち最もプライオリティが
高い図形の当該輪郭線色コード又は内部色コード、或い
は、そのような図形が存在しない場合には背景の色コー
ドが描画される。 【0119】まず、ステップ1413−1〜1413−
5では、現在のドット#及びラスタ#に対応して塗潰し
用色コードレジスタに設定されている内部色コードのう
ち最もプライオリティの高い図形のものが検索される。 【0120】具体的には、図形の番号をカウントするR
AM102に設けられるカウンタiの値が、ステップ1
413−1で最もプライオリティの高い図形の番号1に
初期設定された後、ステップ1413−4で+1ずつイ
ンクリメントされながら、ステップ1413−5で値4
を超えたと判定されるまで、ステップ1413−2で塗
潰し用色コードレジスタの図形iの内部色コードが設定
されるビット位置のデータが読み出され、ステップ14
13−3でその読み出されたデータの値が−1であるか
否かが判定される。 【0121】ステップ1413−1〜1413−5の処
理の繰り返しの結果、塗潰し用色コードレジスタにどの
図形の内部色コードも設定されておらず、ステップ14
13−5の判定がYESとなった場合には、ステップ1
413−6で、輪郭線描画図形#の値が−1であるか否
か、すなわち現在のドット#及びラスタ#に対応するR
AM102のフラグ設定エリアのアドレスに輪郭線色コ
ードが設定されていないか否かが判定される(ステップ
1410参照)。 【0122】現在のドット#及びラスタ#に対応するR
AM102のフラグ設定エリアのアドレスにどの図形の
輪郭線色コードも設定されておらず、ステップ1413
−6の判定がYESの場合には、ステップ1413−1
0で、現在のドット#及びラスタ#に対応するRAM1
02の色コード設定エリアのアドレスに、ドットデータ
として塗潰し用色コードレジスタに設定されている背景
の色コード(図16及びステップ1402参照)が設定
される。このように、塗潰し用色コードレジスタにどの
図形の内部色コードも設定されておらず、かつ現在のド
ット#及びラスタ#に対応するRAM102のフラグ設
定エリアのアドレスにどの図形の輪郭線色コードも設定
されていない場合(ステップ1410の判定もNOの場
合)は、背景の色コードが、現在のドット#及びラスタ
#に対応するRAM102の色コード設定エリアのアド
レスに設定され、そのドットに背景が描画されることに
なる。 【0123】一方、現在のドット#及びラスタ#に対応
するRAM102のフラグ設定エリアのアドレスに輪郭
線色コードが設定されており、ステップ1413−6の
判定がNOの場合には、ステップ1413−9で、現在
のドット#及びラスタ#に対応するRAM102の色コ
ード設定エリアのアドレスに、ドットデータとして輪郭
線色コード#に設定されている輪郭線色コード(ステッ
プ1412参照)が設定される。このように、塗潰し用
色コードレジスタにどの図形の内部色コードも設定され
ておらず、かつ現在のドット#及びラスタ#に対応する
RAM102のフラグ設定エリアのアドレスに何れかの
図形の輪郭線色コードが設定されている場合(ステップ
1410の判定がYESの場合)には、輪郭線色コード
が設定されている図形のうち最もプライオリティが高い
図形の輪郭線色コードが、現在のドット#及びラスタ#
に対応するRAM102の色コード設定エリアのアドレ
スに設定され、そのドットに輪郭線が描画されることに
なる。 【0124】また、ステップ1413−1〜1413−
5の処理の繰り返しにおいて、塗潰し用色コードレジス
タに何れかの図形の内部色コードが設定されており、カ
ウンタiの値が4を超える前にステップ1413−3の
判定がYESとなった場合には、ステップ1413−7
で、輪郭線描画図形#の値が−1であるか否か、すなわ
ち現在のドット#及びラスタ#に対応するRAM102
のフラグ設定エリアのアドレスに輪郭線色コードが設定
されていないか否かが判定される(ステップ1410参
照)。 【0125】現在のドット#及びラスタ#に対応するR
AM102のフラグ設定エリアのアドレスにどの図形の
輪郭線色コードも設定されておらず、ステップ1413
−7の判定がYESの場合には、ステップ1413−1
1で、現在のドット#及びラスタ#に対応するRAM1
02の色コード設定エリアのアドレスに、ドットデータ
として塗潰し用色コードレジスタに設定されている図形
iの内部色コードが設定される。このように、塗潰し用
色コードレジスタに何れかの図形の内部色コードも設定
されており、かつ現在のドット#及びラスタ#に対応す
るRAM102のフラグ設定エリアのアドレスにどの図
形の輪郭線色コードも設定されていない場合(ステップ
1410の判定もNOの場合)には、最もプライオリテ
ィの高い図形の内部色コードが塗潰し用色コードレジス
タから読み出され、現在のドット#及びラスタ#に対応
するRAM102の色コード設定エリアのアドレスに設
定され、そのドットが図形iの内部色コードで塗り潰さ
れることになる。 【0126】現在のドット#及びラスタ#に対応するR
AM102のフラグ設定エリアのアドレスに何れかの図
形の輪郭線色コードが設定されており、ステップ141
3−7の判定がNOの場合には、更にステップ1413
−8で、輪郭線描画図形#の値がカウンタiの値以下で
あるか否か、すなわち、現在のドット#及びラスタ#に
対応するRAM102のフラグ設定エリアのアドレスに
設定されている輪郭線色コードに対応する図形のうち最
もプライオリティが高い図形の当該プライオリティが、
塗潰し用色コードレジスタに内部色コードが設定されて
いる図形のうち最もプライオリティが高い図形の当該プ
ライオリティ以上であるか否かが判定される。 【0127】ステップ1413−8の判定がYESの場
合には、ステップ1413−9で、現在のドット#及び
ラスタ#に対応するRAM102の色コード設定エリア
のアドレスに、ドットデータとして輪郭線色コード#に
設定されている輪郭線色コード(ステップ1412参
照)が設定される。このように、現在のドット#及びラ
スタ#に対応するRAM102のフラグ設定エリアのア
ドレスに設定されている輪郭線色コードに対応する図形
のうち最もプライオリティの高い図形の当該プライオリ
ティが、塗潰し用色コードレジスタに内部色コードが設
定されている図形のうち最もプライオリティの高い図形
の当該プライオリティ以上である場合は、輪郭線色コー
ドの方が、現在のドット#及びラスタ#に対応するRA
M102の色コード設定エリアのアドレスに設定され、
そのドットに輪郭線が描画されることになる。 【0128】一方、ステップ1413−8の判定がNO
の場合には、ステップ1413−11で、現在のドット
#及びラスタ#に対応するRAM102の色コード設定
エリアのアドレスに、ドットデータとして塗潰し用色コ
ードレジスタに設定されている図形iの内部色コードが
設定される。このように、現在のドット#及びラスタ#
に対応するRAM102のフラグ設定エリアのアドレス
に設定されている輪郭線色コードに対応する図形のうち
最もプライオリティの高い図形の当該プライオリティ
が、塗潰し用色コードレジスタに内部色コードが設定さ
れている図形のうち最もプライオリティの高い図形の当
該プライオリティより小さい場合は、内部色コードの方
が、現在のドット#及びラスタ#に対応するRAM10
2の色コード設定エリアのアドレスに設定され、そのド
ットが図形iの内部色コードで塗り潰されることにな
る。 【0129】以上説明した図14及び図15の動作フロ
ーチャートの一連の処理が実行されることにより、1画
面分の表示画面用の色コード設定処理が終了する。続い
て、図17の例を用いて、実際の図形における色コード
設定処理の例を示す。 【0130】図17で、1ラスタ目(最上端のラスタ)
の5ドット目までは輪郭線描画フラグも色コード切替え
フラグもないため、塗潰し用色コードレジスタに設定さ
れている背景の色コードが、各ドットに対応する色コー
ド設定エリアのアドレスに設定される。 【0131】次に、1ラスタ目の6ドット目で、図形4
のみの輪郭線描画フラグが現れるため、図14のステッ
プ1408→1410→1411→1412と進んで、
輪郭線描画図形#に値4が、また、輪郭線色コード#に
図形4の輪郭線色コードが設定される。また、6ドット
目には色コード切替えフラグは存在しないので塗潰し用
色コードレジスタの各図形のビット位置の値は−1であ
り、従って、図15のステップ1413−6が実行され
る。ここで、輪郭線描画図形#には上述のように値4が
設定されているため、ステップ1413−9が実行され
る。この結果、1ラスタ目の6ドット目に対応する色コ
ード設定エリアのアドレスには、図形4の輪郭線色コー
ドが設定される。 【0132】同様に、1ラスタ目の10ドット目に対応
する色コード設定エリアのアドレスにも、図形4の輪郭
線色コードが設定される。2ラスタ目では、4ドット目
までに対応する色コード設定エリアの各アドレスに、背
景の色コードが設定される。 【0133】5ドット目で図形4の色コード切替えフラ
グが始めて現れるため、塗潰し用色コードレジスタの図
形4のビット位置に図形4の内部色コードが設定される
(図14のステップ1409)。次に、5ドット目には
図形4の輪郭線描画フラグが存在するため、輪郭線描画
図形#に値4が、輪郭線色コード#に図形4の輪郭線色
コードが設定される(図14のステップ1411、14
12)。そして、図15のステップ1413−3で塗潰
し用色コードレジスタから図形4の内部色コードが検出
され、更にステップ1413−8でこの図形番号4と輪
郭線描画図形#の値4とが等しいと判定されるため、ス
テップ1413−9で、2ラスタ目の5ドット目に対応
する色コード設定エリアのアドレスに、図形4の輪郭線
色コードが設定される。 【0134】2ラスタ目の6ドット目では、その図形の
色コード切替えフラグ及び輪郭線描画フラグも検出され
ないため、輪郭線描画図形#及び輪郭線色コード#の値
は共に−1となる。ここで、塗潰し用色コードレジスタ
には既に図形4の内部色コードが設定されており、上述
のように輪郭線描画図形#の値は−1であるため、2ラ
スタ目の6ドット目に対応する色コード設定エリアのア
ドレスには、図形4の内部色コードが設定される(図1
5のステップ1413−11)。 【0135】2ラスタ目の7ドット目では、フラグ設定
エリアに図形3と図形4の色コード切替えフラグが設定
されているため、塗潰し用色コードレジスタの図形3に
対応するビット位置には内部色コードが設定され、図形
4に対応するビット位置には既に内部色コードが設定さ
れているためその値が−1に戻される。一方、フラグ設
定エリア中の輪郭線描画フラグについても、図形3と図
形4のが共に存在するが、図形3の方がプライオリティ
が高いので輪郭線描画図形#には値3が設定され、輪郭
線色コード#には図形3の輪郭線色コードが設定され
る。そして、図15のステップ1413−3で塗潰し用
色コードレジスタから図形3の内部色コードが検出さ
れ、更にステップ1413−8でこの図形番号3と輪郭
線描画図形#の値3とが等しいと判定されるため、ステ
ップ1413−9で、2ラスタ目の7ドット目に対応す
る色コード設定エリアのアドレスに、図形3の輪郭線色
コードが設定される。 【0136】3ラスタ目では、最初の2ドットまでに対
応する色コード設定エリアの各アドレスに、背景の色コ
ードが設定される。続く2ドット分(3及び4ドット
目)に対応する色コード設定エリアの各アドレスには図
形4の輪郭線色コードが設定され、更に続く2ドット分
(5及び6ドット目)に対応する色コード設定エリアの
各アドレスには図形4の内部色コードが設定される。 【0137】次に、3ラスタ目の7ドット目では、図形
2、3、4に対応する色コード切替えフラグがフラグ設
定エリアに設定されており、塗潰し用色コードレジスタ
の図形2と3に対応するビット位置には図形2と3の内
部色コードが設定され、既に内部色コードが設定されて
いる図形4に対応するビット位置の値は−1に戻され
る。そして、2ラスタ目と同様にして、輪郭線描画図形
#と輪郭線色コード#には最もプライオリティの高い図
形2の番号値と図形2の輪郭線色コードが設定される。
従って、3ラスタ目の7ドット目に対応する色コード設
定エリアのアドレスには、図形2の輪郭線色コードが設
定される。 【0138】3ラスタ目の8ドット目には、フラグ設定
エリアに図形2に対応する色コード切替えフラグと輪郭
線描画フラグが設定されているため、塗潰し用色コード
レジスタの図形2に対応するビット位置の値は−1に戻
されて、このドット位置に対応する色コード設定エリア
のアドレスには、図形2の輪郭線色コードが設定され
る。 【0139】3ラスタ目の9ドット目以降では、フラグ
設定エリアに図形4に対応する色コード切替えフラグと
輪郭線描画フラグが現れるが、塗潰し用色コードレジス
タの図形3に対応するビット位置に図形3の内部色コー
ドが設定されているため、3ラスタ目の12ドット目ま
では色コード設定エリアの対応する各アドレスに図形3
の内部色コードが設定され、13ドット目に対応する色
コード設定エリアのアドレスに図形3の輪郭線色コード
が、また、14ドット目に対応する色コード設定エリア
のアドレスに背景の色コードが、それぞれ設定される。 【0140】以後、最終ラスタまで同様の処理が繰り返
されることにより、色コード設定エリア全体に対する色
コードの設定が終了する。以上の色コード設定エリアに
対する色コード設定処理は、例えば垂直ブランキング期
間において実行される。これに対して、表示手段104
は、垂直ブランキング期間以外の走査期間において、R
AM102上の色コード設定エリアに設定されている色
コードをRGBデータ等に変換しながら、そのRGBデ
ータをディスプレイに出力し、図形を描画する。 【0141】次に、図17(a) に示されるように、色コ
ード設定エリアへの色コードの設定が完成して表示手段
104による各色コードに対応する各画素の表示が行わ
れている状態において、図形3のみが図17(b) に示さ
れるように、表示画面上で左方に移動させられたとす
る。 【0142】この場合、CPU101は、図18の動作
フローチャートとして示される図形移動処理を実行す
る。まず、ステップ1801で、RAM102内に確保
されている変数であるループカウンタに、図形移動させ
られる描画図形に対応してROM103に記憶されてい
る描画図形データである個数データの値が、輪郭線の始
点(頂点)の個数を示すデータとして設定される。図2
に示される図形#αの例では、ループカウンタの値とし
て10が設定される。その後、ステップ1806でルー
プカウンタの値がデクリメントされながらその値が0に
なったと判定されるまで、すなわち、描画図形の輪郭線
を構成する全ての辺についての処理が終了するまで、ス
テップ1802〜1806の処理が繰り返し実行され
る。 【0143】即ち、まず、ステップ1802では、始点
に対応するフラグ設定エリア上のフラグの削除処理が実
行される。このステップ1802が第n回目に実行され
る時点においては、移動させられるべき図形に対応する
ROM103に記憶されている描画図形データである複
数組の始点座標データのうち、第n番目の始点座標デー
タ(Pn-1.x座標、Pn-1.y座標)が読み出され、その始点
座標データに対応するRAM102のフラグ設定エリア
のアドレスの移動させられるべき図形に対応するビット
位置の色コード切替えフラグ(設定されている場合)と
輪郭線描画フラグが削除される。 【0144】ステップ1803では、補間点座標発生処
理が実行される。このステップ508が第n回目に実行
される時点においては、ステップ1802でROM10
3から読み出された第n番目の始点座標データ(Pn-1.x
座標、Pn-1.y座標)と第n+1番目の始点座標データ
(Pn.x座標、Pn.y座標)とに基づき、それら2つの始点
Pn-1とPnを結ぶ処理対象辺を最も良く近似する表示画素
上の点(以下、補間点Dという)の座標データが算出さ
れる。補間点座標発生処理は、既に説明した図10及び
図11の動作フローチャートによって実現される。この
結果、移動させられるべき図形に対応するフラグ設定処
理時と全く同様の補間点D の座標データが算出される。 【0145】続いて、ステップ1803で算出された補
間点D について、ステップ1805でその終点まで処理
されたと判定されるまで、ステップ1804で、各補間
点Dに対応するフラグ設定エリアのアドレスの移動させ
られるべき図形に対応するビット位置の色コード切替え
フラグ(設定されている場合)と輪郭線描画フラグが削
除される。 【0146】ステップ1805においてステップ180
3で算出された補間点D の終点まで処理がなされたと判
定されると、ステップ1806で、ループカウンタの値
がデクリメントされ、その結果、ループカウンタの値が
0になっていなければ、すなわち、描画図形の輪郭線を
構成する全ての辺についての処理が終了していなけれ
ば、次の処理対象辺の処理として、ステップ1802〜
1805の処理が再び実行される。 【0147】以上のステップ1801〜1806の一連
の処理により、移動させられるべき図形に対応してフラ
グ設定エリアに設定されている全ての色コード切替えフ
ラグと輪郭線描画フラグが削除される。 【0148】次に、ステップ1807で、RAM102
内のループカウンタに、図形移動させられる描画図形に
対応してROM103に記憶されている描画図形データ
である個数データの値が、再び設定される。その後再
び、ステップ1809でループカウンタの値がデクリメ
ントされながらその値が0になったと判定されるまで、
ステップ1808の処理が繰り返し実行される。 【0149】即ち、ステップ1808では、移動させら
れるべき図形に対応するROM103に記憶されている
描画図形データである各始点座標データの値が読み出さ
れ、指定された移動方向及び移動量に対応して、各x座
標値及びy座標値に指定されたオフセット量が加算(減
算を含む)され、その結果得られる各始点座標データの
値がRAM102の所定の記憶エリアに記憶させられ
る。 【0150】その後、ステップ1809で、ループカウ
ンタの値がデクリメントされ、その結果、ループカウン
タの値が0になっていなければ、すなわち、描画図形の
輪郭線を構成する全ての始点座標データについての処理
が終了していなければ、再びステップ1808が実行さ
れる。 【0151】以上のステップ1807〜1809の一連
の処理により、移動させられるべき図形に対応する新た
な始点座標データが算出される。最後に、ステップ18
10で、図5の動作フローチャートで示されるフラグ設
定処理が再び読み出され、上述の新たな始点座標データ
を使用して、移動図形に対応する色コード切替えフラグ
及び輪郭線描画フラグがRAM102のフラグ設定エリ
アに設定される。 【0152】以上のように、本実施例では、他の図形の
データを操作することなく、簡単に図形移動を実現する
ことができる。また、図形の拡大又は縮小も、全く同様
の原理で始点座標データを算出し直しフラグを設定し直
すだけで対応できる。 【0153】以上説明した実施例は、輪郭線描画フラグ
に従って図形毎に1色ずつの輪郭線が描画される構成を
有しているが、各図形の輪郭線毎に任意の輪郭線色コー
ドが指定できるように構成されてもよい。 【0154】 【発明の効果】本発明によれば、図形間の優先順位を考
慮しながら色コード切替え情報に基づいて表示手段上の
各表示位置に所定の複数の色コードを切り替えながら設
定することにより、各図形の背景又は内部の描画を効率
良く実行することが可能となる。 【0155】同様に、上述の優先順位を考慮しながら
郭線描画情報に基づいて表示手段上の各表示位置に所定
の複数の色コードを切り替えながら設定することによっ
て、各図形の輪郭線を効率良く描画することが可能とな
る。 【0156】そして、本発明では、特定の図形のみに対
して移動又は変形などを実行したい場合には、その図形
に対応する図形情報記憶手段内の表示位置を設定し直す
だけで、簡単に特定の図形に対する移動又は変形などを
実行することが可能となる。 【0157】この結果、1つの表示データメモリエリア
に描画された複数の図形の操作に対して、簡単な処理で
効率よく高速に再描画処理を実行することが可能とな
る。
【図面の簡単な説明】 【図1】本発明の実施例の構成図である。 【図2】ROM103に記憶される描画図形データを示
した図である。 【図3】フラグ設定エリアと色コード設定エリアの設定
例を示した図である。 【図4】RAM102のフラグ設定エリアのデータフォ
ーマットを示した図である。 【図5】フラグ設定処理の動作フローチャートである。 【図6】方向分類を示した図である。 【図7】色コード切替えフラグの設定動作の説明図(そ
の1)である。 【図8】色コード切替えフラグの設定動作の説明図(そ
の2)である。 【図9】色コード切替えフラグの設定動作の説明図(そ
の3)である。 【図10】線分座標発生処理の動作フローチャート(そ
の1)である。 【図11】線分座標発生処理の動作フローチャート(そ
の2)である。 【図12】線分座標発生処理の説明図(その1)であ
る。 【図13】線分座標発生処理の説明図(その2)であ
る。 【図14】色コード設定処理の動作フローチャート(そ
の1)である。 【図15】色コード設定処理の動作フローチャート(そ
の2)である。 【図16】塗潰し用色コードレジスタのデータフォーマ
ットを示した図である。 【図17】色コード設定処理例を示した図である。 【図18】図形移動処理の動作フローチャートである。 【符号の説明】 101 CPU 102 RAM 103 ROM 104 表示手段
フロントページの続き (56)参考文献 特開 昭59−67587(JP,A) 特開 平3−149678(JP,A) 特開 昭59−49587(JP,A) 特開 昭51−5926(JP,A) 特開 平4−45967(JP,A) 特開 昭63−73378(JP,A) 特開 平4−282785(JP,A) 特開 昭63−15288(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/40 G09G 5/36 G06T 11/60

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 表示手段に表示すべき優先順位の付加さ
    れた複数の図形それぞれに対応して輪郭線色コード、塗
    り潰し色コード及び前記複数の図形の輪郭線を前記表示
    手段に表示すべき表示位置を記憶する図形情報記憶手段
    と、 この図形情報記憶手段に記憶された内容に基づき、前記
    表示手段上の各表示位置に対応する記憶位置を有し、当
    該位置が色コードを切替える位置の場合は色コード切替
    え情報を 、及び前記各図形の輪郭線の描画を行う位置にある場合
    は輪郭線描画情報を、前記図形毎に生成して記憶させる
    記憶制御手段と、 前記表示手段の各表示位置に対応する前記記憶手段の記
    憶位置を所定の方向に走査し、当該記憶位置に色コード
    切替え情報あるいは輪郭線描画情報が記憶されているか
    否かを検出する走査手段と、 この走査手段により色コード切替え情報が検出される毎
    に、当該情報に対応する図形の塗り潰し色コードを記憶
    する塗り潰し色記憶手段と、 前記走査手段により輪郭線情報が検出される毎に、当該
    情報に対応する図形の中で最も優先順位の高い図形の輪
    郭線色コードを記憶する輪郭線色記憶手段と、 前記走査手段により検出された輪郭線情報に対応する図
    形の優先順位が、前記塗り潰し色記憶手段に記憶された
    塗り潰し色コードに対応する図形の優先順位より高い場
    合には前記表示手段の対応する表示位置に輪郭線色コー
    ドを設定するとともに、低い場合は前記塗り潰し色記憶
    手段に記憶された塗り潰し色コードのうち、最も優先順
    位の高い図形に対応する塗り潰し色コードを前記表示手
    段の対応する表示位置に設定する色コード設定手段と、 を有することを特徴とする図形描画装置。
JP22918594A 1994-09-26 1994-09-26 図形描画装置 Expired - Fee Related JP3517982B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22918594A JP3517982B2 (ja) 1994-09-26 1994-09-26 図形描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22918594A JP3517982B2 (ja) 1994-09-26 1994-09-26 図形描画装置

Publications (2)

Publication Number Publication Date
JPH0896148A JPH0896148A (ja) 1996-04-12
JP3517982B2 true JP3517982B2 (ja) 2004-04-12

Family

ID=16888141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22918594A Expired - Fee Related JP3517982B2 (ja) 1994-09-26 1994-09-26 図形描画装置

Country Status (1)

Country Link
JP (1) JP3517982B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130666C (zh) 1998-06-08 2003-12-10 松下电器产业株式会社 图形涂抹装置

Also Published As

Publication number Publication date
JPH0896148A (ja) 1996-04-12

Similar Documents

Publication Publication Date Title
EP0360155B1 (en) Image transformation method and device
US4648045A (en) High speed memory and processor system for raster display
US6747660B1 (en) Method and system for accelerating noise
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US5673376A (en) Method and apparatus for graphically generating images of arbitrary size
US6360029B1 (en) Method and apparatus for variable magnification of an image
JP2003271987A (ja) プリミティブにより覆われるピクセルの割合を求める方法
JP2006209223A (ja) 描画方法、画像生成装置、および電子情報機器
US6437793B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
US5491769A (en) Method and apparatus for variable minification of an image
US5287442A (en) Serpentine rendering of antialiased vectors in a computer graphics system
EP0574245A2 (en) Method and apparatus for variable expansion and variable shrinkage of an image
JP3517982B2 (ja) 図形描画装置
US5299299A (en) Scan line full figure filling device for display units and printers
EP0062669A1 (en) GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY.
US5627956A (en) Run slice line draw engine with stretching capabilities
JP2007122188A (ja) 画像形成装置及び画像処理方法、並びにプログラム
US5611029A (en) Run slice line draw engine with non-linear shading capabilities
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
US5657435A (en) Run slice line draw engine with non-linear scaling capabilities
JP3493745B2 (ja) 図形描画装置
JP2642374B2 (ja) 図形クリツピング方法
JP3358891B2 (ja) Z値の透視変換処理方法及び画像処理装置
US5305431A (en) Method and system for rendering polygons on a raster display
JPH09326920A (ja) サブピクセル単位でのデジタル画像処理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees