[go: up one dir, main page]

JP3493745B2 - 図形描画装置 - Google Patents

図形描画装置

Info

Publication number
JP3493745B2
JP3493745B2 JP22978294A JP22978294A JP3493745B2 JP 3493745 B2 JP3493745 B2 JP 3493745B2 JP 22978294 A JP22978294 A JP 22978294A JP 22978294 A JP22978294 A JP 22978294A JP 3493745 B2 JP3493745 B2 JP 3493745B2
Authority
JP
Japan
Prior art keywords
color code
contour line
display position
point
processing target
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
JP22978294A
Other languages
English (en)
Other versions
JPH0896149A (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 JP22978294A priority Critical patent/JP3493745B2/ja
Publication of JPH0896149A publication Critical patent/JPH0896149A/ja
Application granted granted Critical
Publication of JP3493745B2 publication Critical patent/JP3493745B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、閉じた輪郭線内の塗り
潰し機能を有する図形描画装置に関する。
【0002】
【従来の技術および発明が解決しようとする課題】パソ
コンやTVゲームなどの、CRTやLCDなどの表示装
置に画像を出力する装置や、ワープロなどの紙に画像を
出力する装置においては、データ量を圧縮する等の目的
から、グラフィックデータは、その輪郭線を描画する処
理とその輪郭線で囲まれた範囲内を所定の色で塗り潰す
処理とによって、描画される場合が多い。
【0003】この場合、閉じた輪郭によって囲まれた範
囲内を塗り潰す処理に関して、従来から知られている一
般的な手法として、シードフィルとスキャンコンバージ
ョンと呼ばれる大きな2つのカテゴリーに分類されるも
のがある。以下に両者の基本的な考え方を説明する。
【0004】始めに、シードフィルにおいては、閉じた
輪郭線内に存在する1つの点(シード)が与えられ、そ
の点に隣接する点が輪郭線内にあるか否かが判定され、
その点が輪郭線内にあれば新しいシードとして更に隣接
する点が調べられる。この操作が繰り返されることによ
って、輪郭線内の全ての点について塗り潰すべき点か否
かが判定され、塗り潰し処理が実行される。
【0005】しかし、この方法では、塗り潰しが行われ
るべき全ての輪郭線内にシードが予めセットされなけれ
ばならず、また、広い領域が塗り潰される場合には、そ
の輪郭線内の点に対するアクセス回数および判定回数が
膨大となり、表示画面の高速な書き換えが必要なTVゲ
ーム等で採用される図形の塗潰し手段としては不適当で
ある。
【0006】一方、スキャンコンバージョンにおいて
は、始めに輪郭線が描かれる。次に、その輪郭線が含ま
れる領域内のラスタに沿ってスキャンが実行され、輪郭
線の内側のピクセル(輪郭線と走査点との奇数番目の交
点から偶数番目の交点の間)に色が塗られ、外側のピク
セル(輪郭線と走査点との偶数番目の交点から奇数番目
の交点の間)には色が塗られないことによって、図形が
塗り潰されてゆく。例えば、図17に示される図形につ
いて、スキャンでは、最初の交点Aから次の交点Bま
での間が塗り潰される。
【0007】ところが、図17の例におけるスキャン
では、対策が施されていないアルゴリズムに従うと、交
点C、Dに続く交点Eの以降で塗り潰しが始まってしま
う。そこで、極大点や極小点などにおいては、その直前
までに実行されていた処理を継続させるという対策が必
要になる。具体的なアルゴリズムとしては、極大点や極
小点が予め抽出され、スキャン時に得られた交点と予め
抽出されている極点とが随時比較され、両者が一致する
場合は直前までに実行されていた処理が継続させれる。
即ち、直前までに実行されていた処理が塗り潰しを行わ
ない処理であれば、極点以降でも塗り潰しは行われず、
直前までに実行されていた処理が塗り潰し処理であれ
ば、極点以降でも塗り潰し処理が続行される。
【0008】このスキャンコンバージョン方式では、一
方向へのスキャン処理が採用されることによりメモリア
クセスを高速に行うことができる。しかし、輪郭線から
予め極大点・極小点を抽出する処理と、スキャンライン
と輪郭線との交点が極点であるか否かの判断を行う処理
が必要となる。このため、この方式が複雑な(極点が多
い)図形に適用される場合には、処理時間が増大してし
まうという問題点を有している。
【0009】上述の一般的なスキャンコンバージョン方
式が有する問題点を改良した方式として、特開昭62-192
878 に開示されている公知例がある。この公知例が開示
する技術では、表示用メモリに輪郭線が展開されなが
ら、同時に別途確保された同じサイズの作業用メモリエ
リアに色塗り制御情報が所定のルールに従って書き込ま
れ、全ての輪郭線が展開された後に作業用メモリエリア
が順次スキャンされて、色塗り制御情報が現れる毎に塗
り潰しを行う/行わないが切り替えられながら、表示用
メモリの対応するドットに色データが展開されてゆく。
従って、この方式は、輪郭線が展開された後の極点の抽
出やスキャン時の交点の判定などの処理を行う必要がな
いという利点を有する。
【0010】しかし、この方式では、色塗り制御情報を
設定するルールとして、直前に描画された輪郭線を示す
辺の傾きと今度描画されようとする輪郭線を示す辺の傾
きとでそれぞれの極性の変化が判定されるため、例えば
表示用メモリ上での輪郭線が図18(a) に示されるよう
な基絵に対応して、図18(b) のの箇所との箇所に
見られるような水平な辺を挟んで連続する辺の処理が行
われる場合において、水平な辺の次の辺について処理が
行われる場合に、その水平な辺の前に処理された辺との
繋がり方によって極性が異なる場合においてのみその水
平な辺の始点の処理をさかのぼって行うという例外処理
を行わなければならない。図18(b) の例ではの箇所
の処理において水平な辺を1つ戻るだけでよいが、この
図形が縦方向に圧縮されるような変形処理などにより水
平な辺が複数つながるような場合は、水平の辺の先頭ま
でさかのぼる処理が必要となる(図18(c) 参照) 。従
って、この方式では、描画しようとする形によって処理
の連続性がとぎれるため、処理時間が長くなったり、処
理アルゴリズムが複雑になったりしてプログラムを組む
上で不利であるという問題点を有している。
【0011】一方、例えばアニメ画を使った似顔絵など
のグラフィックデータが、その輪郭線を描画する処理と
その輪郭線で囲まれた範囲内を所定の色で塗り潰す処理
とによって描画される場合、人の顔を複数のパーツに分
割してバリエーションを増やすことなどが行われる。例
えば、図19に示されるように、前髪、髪、顔輪郭、
耳、目、鼻、口などのパーツに分割してグラフィックデ
ータが保持され、それらが適当な位置に配置されること
により、1つの顔が構成される。
【0012】しかし、このような方式において、個々の
パーツのうち例えば前髪のパーツの上側の髪との合わせ
目にそのパーツの下側と同じ黒い輪郭線が存在すると、
そのパーツが髪のパーツに接続された場合に、図20
(a) に示されるように、それら2つのパーツの境界が見
えてしまい、おかした絵ができてしまう。
【0013】このような不都合を回避するために、図2
0(b) に示されるように、前髪のパーツの上側の輪郭線
をなくすことが考えられる。しかし、この場合、輪郭線
が閉じていない図形の内部を塗り潰すことは不可能であ
るため、このような図形を前述した輪郭線のデータと内
部色コードという少ない情報だけで保持することはでき
ず、その図形はビットマップ形式による1ドット毎の色
コードで表現する必要が生じ、データ量の増大を招いて
しまうという問題点を有している。また、ビットマップ
形式のデータに対する拡大や縮小等のグラフィック演算
処理は、多くのデータ処理を必要とするため、描画速度
の点からも不利であるという問題点を有している。
【0014】本発明の課題は、例外のない簡単な処理に
よってあらゆる図形の描画を高速に実行可能とすること
にある。
【0015】
【課題を解決するための手段】本発明は、所定の走査方
向に沿って、表示手段(表示手段104)上の各表示位
置に対応する色コード切替え情報記憶手段(色コード設
定エリア)内の各記憶位置から色コード切替え情報(色
コード切替えフラグ)を読み出し、その色コード切替え
情報に従って表示手段上の各表示位置に所定の複数の色
コードを切り替えながら設定することにより、図形を描
画する図形描画装置を前提とする。
【0016】まず、輪郭線情報指定手段は、図形の輪郭
線上の各辺の位置を示す情報を指定する。この輪郭線情
報指定手段は、例えば、図形の輪郭線を構成する各辺の
始点の表示位置を記憶する始点表示位置記憶手段(始点
座標データを描画図形データとして記憶するROM10
3)と、その始点表示位置記憶手段から隣接する2つの
始点の表示位置を読み出して、その2つの始点を結ぶ辺
に対応する表示手段上の各補間点の表示位置を算出する
補間点表示位置算出手段(図5のステップ508を実行
するCPU101)を含む。そして、始点表示位置記憶
手段及び補間点表示位置算出手段から得られる各始点及
び補間点の表示位置が図形の輪郭線上の各辺の位置を示
す情報として出力される。
【0017】次に、辺方向記憶手段(方向記憶レジス
タ)は、辺の方向を記憶する。続いて、処理対象辺方向
判定手段(図5のステップ504を実行するCPU10
1)は、図形の輪郭線に沿って輪郭線情報指定手段によ
って順次指定される辺である処理対象辺の方向を判定す
る。
【0018】また、第1の色コード切替え情報設定手段
(図5のステップ506及び513を実行するCPU1
01)は、処理対象辺の始点の表示位置に関し、処理対
象辺方向判定手段により判定された処理対象辺の方向が
走査方向と平行ではなく、かつその処理対象辺の方向と
辺方向記憶手段に記憶された辺方向との関係が所定の辺
方向関係である場合に、処理対象辺の始点の表示位置に
対応する色コード切替え情報記憶手段内の記憶位置に色
コード切替え情報を設定する。所定の辺方向関係とは、
例えば、処理対象辺の始点をその終点とし辺方向記憶手
段に記憶された辺方向を有する線分を仮定した場合に、
その線分と処理対象辺とが、走査方向と平行の方向を有
し処理対象辺の始点を通過する直線により2分されるそ
れぞれの領域に存在する状態となる関係(図7〜図9)
をいう。
【0019】更に、第2の色コード切替え情報設定手段
(図5のステップ510を実行するCPU101)は、
処理対象辺上の各表示位置であって処理対象辺の両端の
表示位置以外の各表示位置に関し、処理対象辺方向判定
手段により判定された処理対象辺の方向が走査方向と平
行ではなく、かつ処理対象辺の両端の表示位置以外の各
表示位置が、前回に処理対象であった表示位置から走査
方向に直交する方向に変化している場合に、処理対象辺
の両端の表示位置以外の各表示位置に対応する色コード
切替え情報記憶手段内の記憶位置に色コード切替え情報
を設定する。
【0020】そして、辺方向記憶制御手段(図5のステ
ップ507を実行するCPU101)は、処理対象辺方
向判定手段によって判定された処理対象辺の方向が走査
方向と平行でない場合に、第1の色コード切替え情報設
定手段による処理の後に、辺方向記憶手段が記憶する辺
方向を処理対象辺の方向に変更する。
【0021】上述の発明の構成に加えて、次のような輪
郭線描画情報記憶手段と輪郭線描画手段とを有するよう
に構成することができる。すなわち、輪郭線描画情報記
憶手段は、始点表示位置記憶手段に記憶される各始点の
表示位置に対応させて図形の輪郭線の描画を行うか否か
を指定する輪郭線描画情報を記憶する。
【0022】また、輪郭線描画手段は、各始点毎に、そ
の各始点に対応する輪郭線描画情報記憶手段内の記憶位
置に図形の輪郭線の描画を行う旨を指定する輪郭線描画
情報が記憶されている場合に、その各始点から始まり辺
表示位置算出手段によって算出される辺の表示手段上の
各表示位置に所定の色コードを設定することにより、図
形の輪郭線の描画を行う。
【0023】上述の付加的な構成とは別に、次のような
輪郭線描画情報記憶手段と輪郭線描画手段とを有するよ
うに構成することもできる。すなわち、輪郭線描画情報
記憶手段は、始点表示位置記憶手段に記憶される各始点
の表示位置に対応させて輪郭線描画色コードを指定する
輪郭線描画情報を記憶する。
【0024】また、輪郭線描画手段は、各始点毎に、そ
の各始点に対応する輪郭線描画情報記憶手段内の記憶位
置に図形の輪郭線の描画を行う旨を指定する輪郭線描画
情報が記憶されている場合に、その各始点から始まり辺
表示位置算出手段によって算出される辺の表示手段上の
各表示位置にその各始点に対応する輪郭線描画情報によ
って指定される輪郭線描画色コードを設定することによ
り、図形の輪郭線の描画を行う。
【0025】
【作用】本発明では、辺方向記憶手段を設けると共に、
処理対象辺方向判定手段によって判定された処理対象辺
の方向が走査方向と平行でない場合に第1の色コード切
替え情報設定手段による処理の後に辺方向記憶手段が記
憶する辺方向を処理対象辺の方向に変更する処理を辺方
向記憶制御手段が実行することにより、例えば走査方向
と平行な水平な辺の次の辺について処理が行われる時点
において、その水平な辺の前に処理された辺の方向情報
が保存されているため、水平な辺の始点の処理をさかの
ぼるといった例外処理が必要なくなり、処理アルゴリズ
ムを簡単化することができる。
【0026】そして、第1の色コード切替え情報設定手
段は、処理対象辺の始点の表示位置に関して、処理対象
辺の方向と辺方向記憶手段に記憶された辺方向とで所定
の辺方向関係を判定することによって、色コード切替え
情報記憶手段に対して色コード切替え情報を適切に設定
することができ、描画される図形に対して適切な塗り潰
し処理が実行される。
【0027】これらの作用に加えて、輪郭線描画情報記
憶手段に図形の輪郭線の描画を行うか否かを指定する輪
郭線描画情報を記憶させ、この情報に基づいて、各始点
から始まり辺表示位置算出手段によって算出される辺の
表示手段上の各表示位置に所定の色コードを設定するこ
とによって、図形の輪郭線の描画を適切に制御すること
ができる。
【0028】更に、輪郭線描画情報記憶手段に輪郭線描
画色コードを指定する輪郭線描画情報を記憶させ、この
情報に基づいて、各始点から始まり辺表示位置算出手段
によって算出される辺の表示手段上の各表示位置に複数
色の色コードのうちの任意の1色を設定することによっ
て、図形の輪郭線の描画色を任意に制御することができ
る。
【0029】
【実施例】以下、図面を参照しながら本発明の2つの実
施例につき詳細に説明する。 <実施例の構成>図1は、第1及び第2の実施例に共通
の構成図である。
【0030】CPU101は、輪郭線情報として与えら
れた2点間を結ぶ輪郭線に対応する直線の座標の計算、
その直線の傾きの算出、及びRAM102への輪郭線描
画フラグと色コード切替えフラグの設定等を行う。
【0031】RAM102は、CPU101が各種処理
を実行する際のワークメモリとして使用される。また、
RAM102のフラグ設定エリアには、実際の描画図形
に対応する色コード切替えフラグと輪郭線描画フラグ
(後述する図4参照)が記憶される。更に、RAM10
2の色コード設定エリアには、例えば垂直ブランキング
期間において、同じRAM102上のフラグ設定エリア
に設定された輪郭線描画フラグと色コード切替えフラグ
の内容、及びROM103内の描画図形データの内容に
従って、色コードが設定される。
【0032】ROM103には、後述する動作フローチ
ャートに対応する制御プログラムのほか、描画図形デー
タ(後述する図2参照)が記憶される。表示手段104
は、例えばディスプレイによって構成されている。そし
て、表示手段104は、垂直ブランキング期間以外の走
査期間において、RAM102上の色コード設定エリア
に設定されている色コードをRGBデータ等に変換しな
がら、そのRGBデータをディスプレイに出力し、図形
を描画する。 <第1の実施例の動作説明>まず、上述の構成に基づく
第1の実施例の動作について詳細に説明する。フラグ設定処理 始めに、RAM102のフラグ設定エリアに色コード切
替えフラグ及び輪郭線描画フラグを設定する処理につい
て説明する。
【0033】まず、上述のフラグ設定処理において必要
なデータは、図1のROM103に描画図形データとし
て記憶されている。図2に、ROM103に記憶される
描画図形データを示す。
【0034】図2に示されるように、描画図形データ
は、図形(#0、#1、・・#α、・・)毎に記憶され
る。各図形の描画図形データのうち、輪郭線色コード
は、各図形の輪郭線の色を指定する。後述する色コード
設定処理によりRAM102の色コード設定エリアに色
コードが設定される場合に、後述するフラグ設定処理に
よりRAM102のフラグ設定エリアに後述する輪郭線
描画フラグが設定されているアドレスに対応する色コー
ド設定エリアのアドレス(画素)に、上述の輪郭線色コ
ードが設定される。
【0035】次に、各図形に対応する内部色コードは、
各図形の内部の塗り潰される色を指定する。後述する色
コード設定処理によりRAM102の色コード設定エリ
アに色コードが設定される場合に、後述するフラグ設定
処理によりRAM102のフラグ設定エリアに後述する
色コード切替えフラグが設定されているアドレスの直前
まで背景色の色コードが設定されている場合に、そのア
ドレス以降のアドレス(画素)に、上述の内部色コード
が設定される。
【0036】加えて、各図形に対応する始点座標データ
(P0.x座標、P0.y座標)、(P1.x座標、P1.y座標)、
(P2.x座標、P2.y座標)、・・・等は、各図形の輪郭線
の各始点(頂点)の表示座標を指定する。また、各図形
に対応する個数データは、各図形の輪郭線の始点の数を
指定する。後述するフラグ設定処理の一部である線分座
標発生処理においては、これらの座標データ及び個数デ
ータに基づいて、各図形の輪郭線を構成する線分の表示
座標が算出される。
【0037】続いて、ROM103に上述の描画図形デ
ータが設定されている任意の図形に対応するフラグ設定
処理について以下に説明する。ここでは、例として、図
2に示される図形#αが描画される場合のフラグ設定処
理について説明する。
【0038】まず、図1に示されるCPU101は、描
画図形に対応してROM103に記憶されている描画図
形データである座標データから、最小x座標x.min 、最
大x座標x.max 、最小y座標y.min 、最大y座標y.max
を検索して、これらのデータに対応する例えば図3(a)
に示されるようなフラグ設定エリアをRAM102に確
保する。確保されるフラグ設定エリアの各アドレスは、
描画図形の各表示座標(画素)に対応している。そし
て、図4に示されるように、各アドレスには、色コード
切替えフラグ及び輪郭線描画フラグが記憶される。
【0039】上述のようにしてRAM102にフラグ設
定エリアを確保した後、CPU101は、図5の動作フ
ローチャートとして示されるフラグ設定処理を実行する
ことにより、フラグ設定エリアに色コード切替えフラグ
及び輪郭線描画フラグを設定してゆく。
【0040】図5において、ステップ501では、RA
M102に確保されたフラグ設定エリアの全てのアドレ
スの色コード切替えフラグ及び輪郭線描画フラグの値が
0にリセットされる。
【0041】ステップ502では、RAM102内に確
保されている所定の変数(これをループカウンタと呼
ぶ)に、描画図形に対応してROM103に記憶されて
いる描画図形データである個数データの値が、輪郭線の
始点(頂点)の個数を示すデータとして設定される。図
2に示される図形#αの例では、ループカウンタの値と
して10が設定される。その後、ステップ512でルー
プカウンタの値がデクリメントされながらその値がなっ
たと判定されるまで、すなわち、描画図形の輪郭線を構
成する全ての辺についての処理が終了するまで、ステッ
プ503〜512の処理が繰り返し実行される。
【0042】即ち、まず、ステップ503では、始点に
対する輪郭線描画フラグ処理が実行される。このステッ
プ503が第n回目に実行される時点においては、RO
M103に記憶されている描画図形データである複数組
の始点座標データのうち、第n番目の始点座標データ
(Pn-1.x座標、Pn-1.y座標)が読み出され、その始点座
標データに対応するRAM102のフラグ設定エリアの
アドレスに、輪郭線描画フラグの値1が設定される。輪
郭線に含まれる全ての始点に対しては、後述する色コー
ド設定処理により輪郭線の色コードが設定できるように
するために、このステップ503において輪郭線描画フ
ラグが設定されることになる。例えばステップ503が
第1回目に実行される時点においては、ROM103に
記憶されている描画図形データである複数組の始点座標
データのうち、第1番目の始点座標データ(P0.x座標、
P0.y座標)が読み出され、その始点座標データに対応す
るRAM102のフラグ設定エリアのアドレスに、輪郭
線描画フラグの値1が設定される。
【0043】ステップ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となる。
【0044】ステップ505では、ステップ503でR
OM103から読み出された始点座標データが輪郭線で
囲まれる閉曲線の最初の開始点であるか否かが判定され
る。ステップ505が第1回目に実行される時点のみこ
の判定はNOとなってステップ506は実行されず、そ
れ以外の場合にはこの判定はYESとなってステップ5
06が実行される。
【0045】ステップ506においては、ステップ50
3においてROM103から読み出された第n(n≧
2)番目の始点Pn-1に対する色コード切替えフラグ処理
が実行される。
【0046】色コード切替えフラグとは、RAM102
上の後述する色コード設定エリアに塗り潰し用の色コー
ドである内部色コード(図2参照)を連続的に設定させ
るために、その内部色コードの連続的な設定を開始及び
終了させる境界画素を指示するためのフラグである。こ
の色コード切替えフラグが設定されるということは、そ
れが設定される画素が、描画図形の外部と内部を2分す
ることを意味する。
【0047】輪郭線の始点P については、「従来の技術
及び発明が解決しようとする課題」の項で説明したよう
に、その始点P が図形の極大点又は極小点である場合
は、その直前までに実行されていた色コードの設定処理
を継続させる必要があるため、その始点P に対応するR
AM102上のフラグ設定エリアに色コード切替えフラ
グは設定されるべきではなく、その始点P が極大点及び
極小点でない場合は、その始点P は図形の内部と外部を
2分するため、その始点P に対応するRAM102上の
フラグ設定エリアに色コード切替えフラグが設定される
べきである。
【0048】そこで、始点P について色コード切替えフ
ラグが設定される条件として、以下の条件が必要であ
る。 条件1−1:ステップ504で判定された処理対象辺の
方向が走査方向と平行でないこと。すなわち、本実施例
の場合、処理対象辺の方向が方向3又は7の何れでもな
いこと。
【0049】条件1−2:ステップ504で判定された
処理対象辺の方向と方向記憶レジスタが示す方向とが所
定の関係にあること。具体的には、処理対象辺の始点P
をその終点とし方向記憶レジスタが示す方向を有する線
分を仮定した場合、その線分と処理対象辺とが、走査方
向と平行の方向を有し処理対象辺の始点P を通過する直
線により2分されるそれぞれの領域に存在する状態とな
る関係にあること。
【0050】この条件1−2は、以下の条件1−2−1
又は条件1−2−2の何れかが満たされる場合に、満た
される。 条件1−2−1:ステップ504で判定された処理対象
辺の方向が図6に示される方向0、1、2の何れかであ
る場合には、方向記憶レジスタが示す方向も図6に示さ
れる方向0、1、2の何れかであること。
【0051】条件1−2−2:ステップ504で判定さ
れた処理対象辺の方向が図6に示される方向4、5、6
の何れかである場合には、方向記憶レジスタが示す方向
も図6に示される方向4、5、6の何れかであること。 例えば、前回の処理対象辺の方向が方向3及び7の何れ
でもなかった場合(走査方向と平行な方向でなかった場
合)に、処理対象辺の方向が図7(a) の細実線矢印で示
されるように方向0、1、2の何れかであって、かつ、
方向記憶レジスタが示す方向すなわち前回の処理対象辺
の方向も図7(a) の破線矢印で示されるように方向0、
1、2の何れかである場合には、図7(a) の太実線矢印
で示される走査線上の斜線領域Aと斜線領域Bは、始点
P により描画図形の内部と外部に2分されるため、条件
1−2−1を満たす。従って、始点P に対応するRAM
102のフラグ設定エリアのアドレスに、色コード切替
えフラグが設定される。図3(c) に示される図形#αの
例では、始点P1が該当する。一方、この場合において、
方向記憶レジスタが示す方向すなわち前回の処理対象辺
の方向が図7(c) の破線矢印で示されるように方向4、
5、6の何れかである場合には、図7(c) の太実線矢印
で示される走査線上の斜線領域Aと斜線領域Bは共に描
画図形の外部にあり、始点P は極大点となるため、条件
1−2−1を満たさない。従って、始点P に対応するR
AM102のフラグ設定エリアのアドレスには、色コー
ド切替えフラグは設定されず、そのアドレスの色コード
切替えフラグの値は初期設定値0のままである。図3
(c) に示される図形#αの例では、始点P4及びP8が該当
する。
【0052】また、例えば、前回の処理対象辺の方向が
方向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が該当する。
【0053】更に、例えば、前回の処理対象辺の方向が
図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のままである。
【0054】また、例えば、前回の処理対象辺の方向が
図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が該当する。
【0055】更に他の場合として、ステップ504で判
定された処理対象辺の方向が方向3又は7の何れかであ
る場合、すなわち処理対象辺の方向が走査方向と平行で
ある場合には、条件1−1を満たさないため、その処理
対象辺の始点P に対応するRAM102のフラグ設定エ
リアのアドレスには、色コード切替えフラグは設定され
ず、そのアドレスの色コード切替えフラグの値は初期設
定値0のままである。図3(c) に示される図形#αの例
では、始点P2及びP5が該当する。
【0056】なお、図9(a) 又は(c) に示される場合に
は、一点鎖線矢印で示される水平辺の左端に位置する処
理対象辺の始点P に対して色コード切替えフラグが設定
される。この場合には、後述する色コード設定処理にお
いては、色コード切替えフラグが検出された後に最初に
検出された輪郭線描画フラグが設定されていない画素に
対して色コードが切り替えられる。すなわち、色コード
切替えフラグが設定されている画素の直後に位置してい
る水平辺の右側で色コードが切り替えられる。この場
合、水平辺の右端に位置する当該水平辺の始点P 及び当
該水平辺上の補間点D (後述する)に対しては色コード
切替えフラグは設定されないため、問題は生じない。
【0057】以上のように更新される方向記憶レジスタ
を使用することにより、例えば走査方向と平行な水平な
辺の次の辺について処理が行われる時点において、その
水平な辺の前に処理された辺の方向情報が保存されてい
るため、水平な辺の始点の処理をさかのぼるといった例
外処理が必要なくなり、処理アルゴリズムを簡単化する
ことができる。
【0058】上述した条件1−1、条件1−2−1、及
び条件1−2−2がステップ506で判定され、処理対
象辺の始点P が、条件1−1かつ条件1−2−1を満た
している場合、又は条件1−1かつ条件1−2−2を満
たしている場合に、処理対象辺の始点P に対応するRA
M102のフラグ設定エリアのアドレスに、色コード切
替えフラグの値1が設定される。
【0059】次に、ステップ507では、方向記憶レジ
スタ処理が実行される。ここでは、ステップ504で判
定された処理対象辺の方向が、図6に示される8方向の
うち走査方向と平行な方向である方向3又は方向7では
ない場合に、RAM102上の変数である方向記憶レジ
スタが記憶する方向がステップ504で判定された処理
対象辺の方向に変更される。このように更新される方向
記憶レジスタを使用することにより、例えば走査方向と
平行な水平な辺の次の辺について処理が行われる時点に
おいて、その水平な辺の前に処理された辺の方向情報が
保存されることになる。
【0060】ステップ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
アルゴリズムに基づく処理が採用されるが、この詳細に
ついては後述する。
【0061】続いて、ステップ508で算出された補間
点D について、ステップ511でその終点まで処理され
たと判定されるまで、ステップ509とステップ510
が実行される。
【0062】まず、ステップ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のフ
ラグ設定エリアのアドレスに、輪郭線描画フラグの値1
が設定される。
【0063】次に、ステップ503〜508が第n回目
に実行された直後のステップ509〜511の繰り返し
において実行されるステップ510では、2つの始点Pn
-1とPnの間の処理対象辺を構成するステップ508で算
出された全ての補間点D に対する色コード切替えフラグ
処理が実行される。
【0064】補間点D に対して色コード切替えフラグが
設定される条件として、以下の2つの条件が必要であ
る。 条件2−1:ステップ504で判定された処理対象辺の
方向が走査方向と平行でないこと。すなわち、本実施例
の場合、処理対象辺の方向が方向3又は7の何れでもな
いこと。
【0065】条件2−2:補間点D の表示位置が前回に
処理対象であった始点P 又は補間点D の表示位置から走
査方向に直交する方向に変化していること。すなわち、
本実施例の場合、補間点D のy座標データが前回に処理
対象であった始点P又は補間点D のy座標データから変
化していること。 上述した条件2−1及び条件2−2がステップ510で
判定され、処理対象の補間点D が上述した2つの条件を
共に満たしている場合に、処理対象の補間点Dに対応す
るRAM102のフラグ設定エリアのアドレスに、色コ
ード切替えフラグの値1が設定される。
【0066】図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のフラグ設定エリアの
アドレスには、図3(c) に示されるように、色コード切
替えフラグの値1が設定される。
【0067】また、図3(c) に示される補間点Dcは、前
述の条件2−2を満たしていない。すなわち、補間点Dc
のy座標データは、その直前に処理対象であった補間点
Dbのy座標データから変化していない。従って、補間点
Dcに対応するRAM102のフラグ設定エリアのアドレ
スには、図3(c) に示されるように、色コード切替えフ
ラグの値1は設定されず、そのアドレスの色コード切替
えフラグの値は初期設定値0のままである。
【0068】更に、ステップ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のフラグ設定エリアのアドレスには、図3
(c) に示されるように、色コード切替えフラグの値1は
設定されずに、そのアドレスの色コード切替えフラグの
値は初期設定値0のままである。
【0069】以上説明したステップ509とステップ5
10の処理が、ステップ511においてステップ508
で算出された補間点D の終点まで処理がなされたと判定
されるまで実行される。
【0070】ステップ511でステップ508で算出さ
れた補間点D の終点まで処理がなされたと判定される
と、ステップ512で、ループカウンタの値がデクリメ
ントされ、その結果、ループカウンタの値が0になって
いなければ、すなわち、描画図形の輪郭線を構成する全
ての辺についての処理が終了していなければ、次の処理
対象辺の処理として、ステップ503〜511の処理が
再び実行される。
【0071】ステップ512で、ループカウンタの値が
デクリメントされた結果、ループカウンタの値が0にな
ったと判定されると、最後にステップ513で、輪郭線
で囲まれる閉曲線の最初の開始点である第1番目の始点
P0に対する色コード切替えフラグ処理が実行される。
【0072】ここでは、第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のままである。
【0073】例えば図3(c) に示される図形#αの例で
は、第1番目の始点P0を始点とする処理対象辺(始点P0
からP1に向かう辺)の方向は2であり、また、方向記憶
レジスタが示している始点P9からP0に向かう辺の方向は
4である(図6参照)。従って、この場合は条件1−2
−1及び条件1−2−2を共に満たさないため、始点P0
に対応するRAM102のフラグ設定エリアのアドレス
には、色コード切替えフラグの値1は設定されず、その
アドレスの色コード切替えフラグの値は初期設定値0の
ままである。
【0074】ステップ513までの処理が終了すると、
図5に示されるフラグ設定処理を終了する。上述したフ
ラグ設定処理により、例えば図形#αについて、図3
(c) に示されるように、RAM102のフラグ設定エリ
アに、輪郭線描画フラグと色コード切替えフラグが設定
される。
【0075】以上説明したフラグ設定処理は、ROM1
03に図2に示される描画図形データが設定されている
任意の図形が描画される毎に実行される。線分座標発生処理の詳細 本実施例のように、輪郭線を構成する各辺の端点の座標
データすなわち始点座標データによって輪郭線を表現
し、始点間の輪郭線の座標データは隣接する2つの始点
座標データに対して補間演算を実行して発生させること
によって、輪郭線を効率良く表現することができる。そ
の一方、表示画素の位置は量子化された位置であるた
め、始点間の輪郭線の座標データを発生させるための補
間処理のアルゴリズムとしては、隣接する2つの始点に
対して直線補間等の単純な補間演算を実行するだけでは
十分ではなく、隣接する2つの始点を結ぶ直線を最も良
く近似する表示画素上の補間点D を算出するための特別
なアルゴリズムが必要となる。そのようなアルゴリズム
の1つとして、コンピュータグラフィックスにおける直
線描画法として広く用いられている整数型Bresenham ア
ルゴリズムが知られている。
【0076】図10及び図11は、図5のステップ50
8の補間点座標発生処理の詳細を示す動作フローチャー
トであって、整数型Bresenham アルゴリズムに基づくも
のである。
【0077】今、第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よ
り大きいと仮定する。
【0078】この仮定のもとで、図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)となる。
【0079】続いて、直線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)となる。
【0080】一般的には、直線Aと直線x=Pn-1.x+i
との交点のy座標データEiは、Ei-1に直線Aの傾きdelt
ay/deltaxを加算することにより、次式で算出できる。
【0081】
【数1】Ei=Ei-1 +deltay/deltax 但し、E0=Pn-1.y ここで、
【0082】
【数2】deltax=Pn.x−Pn-1.x deltay=Pn.x−Pn-1.y である。また、
【0083】
【数3】1≦i≦deltax−1 である。そして、Eiの値が、前回の処理において算出さ
れた第i−1番目の補間点D i-1 のy座標データDy i-1
を基準としてDy i-1 +1/2 より小さいなら、すなわ
ち不等式、
【0084】
【数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を有する点、
【0085】
【数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 を有する点、
【0086】
【数6】 (Dx i , Dy i )=(Dx i-1 +1,Dy i-1 ) となる。なお、
【0087】
【数7】Dx 0 =Pn-1.x Dy 0 =Pn-1.y である。
【0088】以上の考察より、補間点D を算出するため
には、基本的には、変数iを1からdeltax−1まで変化
させながら(数3式参照)、数1式に基づいて誤差Eiを
順次計算し、その計算結果を用いて数4式の不等式が成
立するなら第i番目の補間点D i を数5式として算出
し、数4式の不等式が成立しないなら第i番目の補間点
D i を数6式として算出すればよい。
【0089】ここで、誤差演算の変形について考察す
る。数4式の両辺に、項(−Dy i-1−1/2 )を加算する
と、数4式は次式のように変形できる。
【0090】
【数8】Ei−Dy i-1 −1/2 ≧0 続いて、誤差Eiに項(−Dy i-1 −1/2 )を加算するこ
とにより新たに得られる誤差をeiと定義すると、数4式
を変形した数8式は、更に、次式のように変形できる。
【0091】
【数9】ei≧0 また、数1式及び数7式よりE0=Pn-1.y=Dy 0 であっ
て、数4式が成立する毎に数5式により演算 Dy i =Dy
i-1 +1 が実行されることに着目すると、数4式に
基づいて算出される上述の数9式の不等式で用いられる
誤差eiは、数1式を変形して得られる次式によって算出
することができる。
【0092】
【数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
式によって算出すればよい。
【0093】ここで、誤差演算の更なる変形について考
察する。数9式の両辺に2*deltax(*は乗算記号。ま
た、deltax≧0)を乗算しても数9式の不等式は成立す
る。そこで、誤差eiに項(2*deltax)を乗算すること
により新たに得られる誤差をerror(i)とすれば、まず、
数9式は次式のように変形される。
【0094】
【数11】error(i)≧0 また、数10式は、次式のように変形される。
【0095】
【数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式によって算出
すればよい。
【0096】図10及び図11に示される線分座標発生
処理の動作フローチャートのうち、上述のアルゴリズム
に基づく部分は図11のステップ1018〜1033の
部分である。
【0097】まず、ステップ1018及びステップ10
19は、数7式の演算に対応する。ここで、配列データ
Dx とDy 、及び変数pxとpyは、図1のRAM102に
確保される。
【0098】次に、ステップ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式に代入して得られる演
算に等しい。
【0099】ステップ1021、ステップ1033及び
ステップ1022のループ制御処理は、数3式の条件に
対応する。ここで、上述した仮定 deltax>deltay が
成立する場合には、main#delta=deltaxである。
【0100】ステップ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が実行
される場合については後述する。
【0101】ステップ1027は、ステップ1023で
実行される数11式の判定が成立する場合においてのみ
実行される数12式中の第1式に対応する。ここで、前
述した仮定deltax>deltay が成立する場合には、main
#delta=deltaxである。
【0102】ステップ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が実行される場合
については後述する。
【0103】ステップ1031は、数12式中の第2式
に対応する。ここで、前述した仮定deltax>deltay が
成立する場合には、sub#delta =deltayである。ステッ
プ1032は、ステップ1025、ステップ1026、
ステップ1029、又はステップ1030の演算の結果
得られる変数py及びpxの値をそれぞれ配列Dx i 及びDy
i に代入する処理である。
【0104】以上の説明は、第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座標空間内
の領域以外の他の領域〜に存在する場合の処理に
ついて、以下に説明する。
【0105】まず、ステップ1001では、第n番目の
始点Pn-1から第n+1番目の始点Pnまでのx座標データ
の増分gainx 及びy座標データの増分gainy が、次式に
基づいて計算される。
【0106】
【数13】gainx=Pn.x−Pn-1.x gainy=Pn.y−Pn-1.y この結果算出されるx座標増分gainx 及びy座標増分ga
iny は、図1のRAM102に記憶される。
【0107】続いて、図10のステップ1002では、
x座標増分gainx の絶対値deltax、及びy座標増分gain
y の絶対値deltayが、次式に基づいて計算される。ここ
で、abs(value)は、値value の絶対値を計算する関数で
ある。
【0108】
【数14】deltax=abs(gainx) deltay=abs(gainy) この結果算出されるx座標増分絶対値deltax及びy座標
増分絶対値deltayも、図1のRAM102に記憶され
る。これらの値deltax及びdeltayが、前述した数12式
等で使用される傾きデータとなる。
【0109】ここで、図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”
とされる。
【0110】一方、図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 だけインクリメント
される。
【0111】上述の領域におけるx座標データとy座
標データの入替え処理は、領域、、及びの場合も
全く同様に発生する。逆に、領域、、及びの場合
は、領域の場合と同様に上述したx座標データとy座
標データの入替え処理は発生しない。
【0112】次に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分が領域
に存在する場合は、領域に存在する場合と比較して、
x座標値が増加するのではなく減少することのみが異な
る。従って、この場合は、ステップ1003において
gainx<0 という判定がなされることにより、ステッ
プ1006においてx座標データに関する1増加単位ra
tex の値が−1とされる。この処理は、領域、、及
びの場合も全く同様に発生する。
【0113】逆に、領域、、、及びについて
は、ステップ1003で gainx>0という判定がなさ
れることにより、ステップ1004においてx座標デー
タに関する1増加単位ratex の値が+1とされる。
【0114】更に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分がy軸と
重なる場合には、ステップ1003において gainx=
0という判定がなされることにより、ステップ1005
においてx座標データに関する1増加単位ratex の値が
0とされる。
【0115】上述のステップ1004、1005、又は
1006の処理がなされた上で、前述した補間点座標発
生処理が適用される。続いて、図13に示されるxy座
標空間の原点に位置する始点Pn-1から始点Pnに伸びる線
分が領域に存在する場合は、領域に存在する場合と
比較して、y座標値が増加するのではなく減少すること
のみが異なる。従って、この場合は、ステップ1007
において gainy<0 という判定がなされることによ
り、ステップ1010においてy座標データに関する1
増加単位ratey の値が−1とされる。この処理は、領域
、、及びの場合も全く同様に発生する。
【0116】逆に、領域、、、及びについて
は、ステップ1007で gainy>0という判定がなさ
れることにより、ステップ1008においてy座標デー
タに関する1増加単位ratey の値が+1とされる。
【0117】更に、図13に示されるxy座標空間の原
点に位置する始点Pn-1から始点Pnに伸びる線分がx軸と
重なる場合には、ステップ1007において gainy=
0という判定がなされることにより、ステップ1009
においてy座標データに関する1増加単位ratey の値が
0とされる。
【0118】上述のステップ1008、1009、又は
1010の処理がなされた上で、前述した補間点座標発
生処理が適用される。以上説明した図10及び図11の
動作フローチャートとして、図5のステップ508の補
間点座標発生処理が実現される。色コード設定処理 CPU101が図5に示されるフラグ設定処理を実行す
ることによりRAM102のフラグ設定エリアに色コー
ド切替えフラグと輪郭線描画フラグが設定された後、R
AM102の色コード設定エリアに実際に色コードが設
定されて図形が描画される処理について説明する。
【0119】色コード設定処理においては、ROM10
3に記憶されている図2に示される描画図形データのう
ちの内部色コードと輪郭線色コードが使用される。な
お、RAM102上の色コード設定エリアはフラグ設定
エリアと共用されてもよい。この場合は、フラグ設定エ
リア上の各画素毎の色コード切替えフラグと輪郭線描画
フラグが順次色コードによって上書きされてゆくことに
なる。更に、色コード設定エリアは、RAM102では
なく、図1の表示手段104内の表示用メモリ領域に確
保されてもよい。以下の説明においては、RAM102
上にフラグ設定エリアとは別に色コード設定エリアが確
保される場合の処理について説明する。
【0120】まず、RAM102上の例えば図3(a) に
示されるフラグ設定エリアに対応する色コード設定エリ
アがRAM102上に確保される。次に、CPU101
又はRAM102内の塗潰し用色コードレジスタに、表
示時に透明となる色コード(00)が設定される。
【0121】続いて、フラグ設定エリアの表示イメージ
の左上隅(x.min,y.min) に対応するアドレスから表示イ
メージの右端(x.max,y.min) に対応するアドレスに向か
ってアドレスがインクリメントされながら、更に1行分
の処理が終了する毎に表示イメージの下方向(y方向)
にアドレスがインクリメントされながら、表示イメージ
の右下隅(x.max,y.max) に対応するアドレスまで、各画
素に対応するアドレスから色コード切替えフラグ及び輪
郭線描画フラグが順次読み出されてゆく。そして、輪郭
線描画フラグが設定されていないアドレスに対応する色
コード設定エリア上のアドレスに、塗潰し用色コードレ
ジスタに設定されている色コードが設定されてゆく。図
3(d) に示される図形#αの例では、最初は輪郭線上の
始点P0に対応するアドレスの内容が読み出されるまで、
透明に対応する色コード(00)が設定されてゆく。
【0122】次に、始点P0に対応するフラグ設定エリア
のアドレスから輪郭線描画フラグが最初に読み出される
と(図3(b) 参照)、ROM103上の図形#α用の描
画図形データから輪郭線色コードが読み出され(図2参
照)、色コード設定エリアの対応するアドレスに設定さ
れる。また、始点P0に対応Sるフラグ設定エリアのアド
レスからは色コード切替えフラグは読み出されないため
(図3(c) 参照)、塗潰し用色コードレジスタの内容は
変更されない。
【0123】最初のラインのスキャンでは、始点P8に対
応するフラグ設定エリアのアドレスから再び輪郭線描画
フラグが読み出されそれに対応する色コード設定エリア
のアドレスに再び輪郭線色コードが設定されるが、その
他の輪郭線描画フラグが設定されていないフラグ設定エ
リアのアドレスに対応する色コード設定エリアのアドレ
スには塗潰し用色コードレジスタに設定されている透明
の色コード(00)が設定されてゆく。
【0124】2本目のラインのスキャンでは、塗潰し用
色コードレジスタに透明に対応する色コード(00)が
再設定される。2ライン目では、最初の4画素に対応す
るフラグ設定エリアの各アドレスからは輪郭線描画フラ
グは読み出されず、5画素目に対応するフラグ設定エリ
アのアドレスから輪郭線描画フラグが読み出され(図3
(b) 参照)、それに対応する色コード設定エリアのアド
レスに輪郭線色コードが設定される。これと共に、5画
素目に対応するフラグ設定エリアのアドレスからは色コ
ード切替えフラグも読み出されるため(図3(c) 参
照)、ROM103上の図形#α用の描画図形データか
ら内部色コードが読み出され(図2参照)、塗潰し用色
コードレジスタに設定される。以後、輪郭線描画フラグ
のない画素に対応する色コード設定エリアのアドレスに
は、塗潰し用色コードとして内部色コードが設定され
る。従って、次の画素に対応する色コード設定エリアの
アドレスには内部色コードが設定される。その次の画素
(2ライン目の7画素目)に対応するフラグ設定エリア
のアドレスからは輪郭線描画フラグと色コード切替えフ
ラグが読み出されるため(図3(b) 、(c) 参照)、それ
に対応する色コード設定エリアのアドレスに輪郭線色コ
ードが設定されると共に、塗潰し用色コードレジスタに
透明の色コードが再設定される。従って、これ以降の輪
郭線描画フラグのない画素に対応する色コード設定エリ
アのアドレスには、透明の色コードが設定される。
【0125】それ以後の各ライン(ラスタ)のスキャン
では、上述と同様にして、塗潰し用色コードレジスタに
透明に対応する色コード(00)が再設定された後、フ
ラグ設定エリアから色コード切替えフラグが読み出され
る毎に塗潰し用色コードレジスタの内容が透明の色コー
ド(00)と内部色コードとで交互に入れ替えられ、輪
郭線描画フラグが読み出されなかったフラグ設定エリア
のアドレスに対応する色コード設定エリアのアドレスに
その塗潰し用色コードレジスタに記憶されている色コー
ドが設定されてゆく(図3(d) 参照)。
【0126】以上の色コード設定エリアに対する色コー
ド設定処理は、例えば垂直ブランキング期間において実
行される。これに対して、表示手段104は、垂直ブラ
ンキング期間以外の走査期間において、RAM102上
の色コード設定エリアに設定されている色コードをRG
Bデータ等に変換しながら、そのRGBデータをディス
プレイに出力し、図形を描画する。 <第2の実施例の動作説明>次に、図1の構成に基づく
第2の実施例の動作について説明する。
【0127】第2の実施例が第1の実施例と異なる点
は、図形(#0、#1、・・#α、・・)毎に記憶され
る描画図形データが、第1の実施例の図2に示されるよ
うに1色の輪郭線色コードのみではなく、図14に示さ
れるように例えば#1〜#7の8色の輪郭線色コードを
含み、各図形の輪郭線の各始点の表示座標を指定する始
点座標データ(P0.x座標、P0.y座標)、(P1.x座標、P
1.y座標)、(P2.x座標、P2.y座標)、・・・と共に、
各輪郭線について上述の複数の輪郭線色コードのうちの
1つを指定する色番号を含む点である。
【0128】これにより、例えば図19に示した顔の各
パーツを組合せて図形が合成されるような場合に、各パ
ーツの境界の輪郭線の色を適切に制御することができる
ようになる。
【0129】上述の機能を実現するために、第2の実施
例では、RAM102に確保されるフラグ設定エリアと
して、第1の実施例に対応する図4のデータフォーマッ
トの代わりに、図15に示されるデータフォーマットを
有する。すなわち、第2の実施例では、フラグ設定エリ
アの各画素に対応するアドレスには、第1の実施例にお
ける輪郭線描画フラグの代わりに、各図形毎に設定され
ている例えば8色の輪郭線色コードのうちの1色を指定
する3ビットの輪郭線描画データを書き込むことができ
る。
【0130】このようなフラグ設定エリアに色コード切
替えフラグと輪郭線描画データを設定してゆくフラグ設
定処理は、基本的には第1の実施例における図5の動作
フローチャートと同様であるが、ステップ503とステ
ップ509が、それぞれステップ503′とステップ5
09′に置き換えられる点が、第1の実施例の場合と異
なる。
【0131】即ち、ステップ503′では、始点に対す
る輪郭線描画データ処理が実行される。このステップ5
03′が第n回目に実行される時点においては、ROM
103に記憶されている描画図形データである複数組の
始点座標データのうち、第n番目の始点座標データ(Pn
-1.x座標、Pn-1.y座標)が読み出され、その始点座標デ
ータに対応するRAM102のフラグ設定エリアのアド
レスに、その始点座標データと共に描画図形データとし
て記憶されている色番号が、輪郭線描画データとして設
定される。
【0132】一方、ステップ503〜508が第n回目
に実行された直後におけるステップ509′〜511の
繰り返しにおいて実行されるステップ509′では、2
つの始点Pn-1とPnの間の処理対象辺を構成するステップ
508で算出された全ての補間点D に対する輪郭線描画
データ処理が実行される。ここでは、上記全ての補間点
D に対応するRAM102のフラグ設定エリアのアドレ
スに、ROM103に記憶されている第n番目の始点座
標データ(Pn-1.x座標、Pn-1.y座標)と共に描画図形デ
ータとして記憶されている色番号が、輪郭線描画データ
として設定される。
【0133】図16は、第2の実施例における図形#α
(図14)に対応するフラグ設定エリアと色コード設定
エリアの設定例を示した図であり、第1の実施例におけ
る図3に対応するものである。図16(b) から、図形#
αを構成する各輪郭線は、それぞれ8色のうちの任意の
色番号を設定できることがわかる。
【0134】最後に、第2の実施例における色コード設
定処理について説明する。第1の実施例では、前述した
ように、輪郭線描画フラグが読み出されたフラグ設定エ
リアのアドレスに対応する色コード設定エリアのアドレ
スに、輪郭線描画フラグに対応する1色の輪郭線色コー
ドが、ROM103の描画図形データのうちから読み出
されて設定された。
【0135】これに対して、第2の実施例では、輪郭線
描画データが読み出されたフラグ設定エリアのアドレス
に対応する色コード設定エリアのアドレスに、その輪郭
線描画データが示す色番号に対応する8色の輪郭線色コ
ードのうちの1つが、ROM103の描画図形データの
うちから読み出されて設定される。これにより、図形を
構成する各輪郭線の表示色を、その図形に描画図形デー
タとして設定されている8色の輪郭線色コードのうちの
任意の1色に設定することができる。 <他の実施例>以上説明した第1及び第2の実施例で
は、図5のフラグ設定処理のステップ508の補間点座
標発生処理として、図10及び図11の動作フローチャ
ートで示される整数型Bresenham アルゴリズムに基づく
方式が採用されているが、本発明はこれに限られるもの
ではなく、補間点座標を発生することのできる様々なア
ルゴリズムを採用することができる。また、上述の実施
例では、図形の輪郭線上の各辺の位置が、描画図形デー
タである始点座標データと補間点座標発生処理により発
生させられる補間点座標データとによって表現されてい
るが、他の表現方式が採用されてもよい。
【0136】
【発明の効果】本発明によれば、辺方向記憶手段を設け
ると共に、処理対象辺方向判定手段によって判定された
処理対象辺の方向が走査方向と平行でない場合に第1の
色コード切替え情報設定手段による処理の後に辺方向記
憶手段が記憶する辺方向を処理対象辺の方向に変更する
処理を辺方向記憶制御手段が実行することにより、例え
ば走査方向と平行な水平な辺の次の辺について処理が行
われる時点において、その水平な辺の前に処理された辺
の方向情報が保存されているため、水平な辺の始点の処
理をさかのぼるといった例外処理が必要なくなり、処理
アルゴリズムを簡単化することが可能となる。
【0137】そして、第1の色コード切替え情報設定手
段は、処理対象辺の始点の表示位置に関して、処理対象
辺の方向と辺方向記憶手段に記憶された辺方向とで所定
の辺方向関係を判定することによって、色コード切替え
情報記憶手段に対して色コード切替え情報を適切に設定
することができ、描画される図形に対して適切な塗り潰
し処理を実行することが可能となる。
【0138】これらの効果に加えて、輪郭線描画情報記
憶手段に図形の輪郭線の描画を行うか否かを指定する輪
郭線描画情報を記憶させ、この情報に基づいて、各始点
から始まり辺表示位置算出手段によって算出される辺の
表示手段上の各表示位置に所定の色コードを設定するこ
とによって、図形の輪郭線の描画を適切に制御すること
が可能となる。
【0139】更に、輪郭線描画情報記憶手段に輪郭線描
画色コードを指定する輪郭線描画情報を記憶させ、この
情報に基づいて、各始点から始まり辺表示位置算出手段
によって算出される辺の表示手段上の各表示位置に複数
色の色コードのうちの任意の1色を設定することによっ
て、図形の輪郭線の描画色を任意に制御することが可能
となる。
【図面の簡単な説明】
【図1】本発明の実施例の構成図である。
【図2】第1の実施例においてROM103に記憶され
る描画図形データを示した図である。
【図3】第1の実施例におけるフラグ設定エリアと色コ
ード設定エリアの設定例を示した図である。
【図4】第1の実施例におけるRAM102内のフラグ
設定エリアのデータフォーマットを示した図である。
【図5】フラグ設定処理の動作フローチャートである。
【図6】方向分類を示した図である。
【図7】色コード切替えフラグの設定動作の説明図(そ
の1)である。
【図8】色コード切替えフラグの設定動作の説明図(そ
の2)である。
【図9】色コード切替えフラグの設定動作の説明図(そ
の3)である。
【図10】線分座標発生処理の動作フローチャート(そ
の1)である。
【図11】線分座標発生処理の動作フローチャート(そ
の2)である。
【図12】線分座標発生処理の説明図(その1)であ
る。
【図13】線分座標発生処理の説明図(その2)であ
る。
【図14】第2の実施例においてROM103に記憶さ
れる描画図形データを示した図である。
【図15】第2の実施例におけるRAM102内のフラ
グ設定エリアのデータフォーマットを示した図である。
【図16】第2の実施例におけるフラグ設定エリアと色
コード設定エリアの設定例を示した図である。
【図17】スキャンコンバージョンの説明図(その1)
である。
【図18】スキャンコンバージョンの説明図(その2)
である。
【図19】複数のパーツに分割されたグラフィックデー
タの説明図である。
【図20】複数のパーツから合成されるグラフィックデ
ータの説明図である。
【符号の説明】
101 CPU 102 RAM 103 ROM 104 表示手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/40 G09G 5/02 G09G 5/36 CSDB(日本国特許庁)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定の走査方向に沿って、表示手段上の
    各表示位置に対応する色コード切替え情報記憶手段内の
    各記憶位置から色コード切替え情報を読み出し、該色コ
    ード切替え情報に従って前記表示手段上の各表示位置に
    所定の複数の色コードを切り替えながら設定することに
    より、図形を描画する図形描画装置において、 図形の輪郭線上の各辺の位置を示す情報を指定する輪郭
    線情報指定手段と、 辺の方向を記憶する辺方向記憶手段と、 図形の輪郭線に沿って前記輪郭線情報指定手段によって
    順次指定される辺である処理対象辺の方向を判定する処
    理対象辺方向判定手段と、 該処理対象辺方向判定手段により判定された前記処理対
    象辺の方向と前記辺方向記憶手段に記憶された辺方向と
    の関係を判定する辺方向関係判定手段と、 前記処理対象辺の始点の表示位置に関し、前記処理対象
    辺方向判定手段により判定された前記処理対象辺の方向
    が前記走査方向と平行ではなく、かつ該処理対象辺の方
    向と前記辺方向記憶手段に記憶された辺方向との関係が
    所定の辺方向関係である場合に、前記処理対象辺の始点
    の表示位置に対応する前記色コード切替え情報記憶手段
    内の記憶位置に前記色コード切替え情報を設定する第1
    の色コード切替え情報設定手段と、 前記処理対象辺上の各表示位置であって前記処理対象辺
    の両端の表示位置以外の各表示位置に関し、前記処理対
    象辺方向判定手段によって判定された前記処理対象辺の
    方向が前記走査方向と平行ではなく、かつ前記処理対象
    辺の両端の表示位置以外の各表示位置が、前回に処理対
    象であった表示位置から前記走査方向に直交する方向に
    変化している場合に、前記処理対象辺の両端の表示位置
    以外の各表示位置に対応する前記色コード切替え情報記
    憶手段内の記憶位置に前記色コード切替え情報を設定す
    る第2の色コード切替え情報設定手段と、 前記処理対象辺方向判定手段によって判定された前記処
    理対象辺の方向が前記走査方向と平行でない場合に、前
    記第1の色コード切替え情報設定手段による処理の後
    に、前記辺方向記憶手段が記憶する辺方向を前記処理対
    象辺の方向に変更する辺方向記憶制御手段と、 を有することを特徴とする図形描画装置。
  2. 【請求項2】 前記所定の辺方向関係は、前記処理対象
    辺の始点をその終点とし前記辺方向記憶手段に記憶され
    た辺方向を有する線分を仮定した場合に、該線分と前記
    処理対象辺とが、前記走査方向と平行の方向を有し前記
    処理対象辺の始点を通過する直線により2分されるそれ
    ぞれの領域に存在する状態となる関係である、 ことを特徴とする請求項1に記載の図形描画装置。
  3. 【請求項3】 前記輪郭線情報指定手段は、 図形の輪郭線を構成する各辺の始点の表示位置を記憶す
    る始点表示位置記憶手段と、 該始点表示位置記憶手段から隣接する2つの始点の表示
    位置を読み出して、該2つの始点を結ぶ辺に対応する前
    記表示手段上の各補間点の表示位置を算出する補間点表
    示位置算出手段と、 を含み、 前記始点表示位置記憶手段及び前記補間点表示位置算出
    手段から得られる前記各始点及び補間点の表示位置を前
    記図形の輪郭線上の各辺の位置を示す情報として出力す
    る、 ことを特徴とする請求項1又は2の何れか1項に記載の
    図形描画装置。
  4. 【請求項4】 前記始点表示位置記憶手段に記憶される
    前記各始点の表示位置に対応させて前記図形の輪郭線の
    描画を行うか否かを指定する輪郭線描画情報を記憶する
    輪郭線描画情報記憶手段と、 前記各始点毎に、該各始点に対応する前記輪郭線描画情
    報記憶手段内の記憶位置に前記図形の輪郭線の描画を行
    う旨を指定する輪郭線描画情報が記憶されている場合
    に、該各始点から始まり前記辺表示位置算出手段によっ
    て算出される辺の前記表示手段上の各表示位置に所定の
    色コードを設定することにより、前記図形の輪郭線の描
    画を行う輪郭線描画手段と、 を更に有することを特徴とする請求項3に記載の図形描
    画装置。
  5. 【請求項5】 前記始点表示位置記憶手段に記憶される
    前記各始点の表示位置に対応させて輪郭線描画色コード
    を指定する輪郭線描画情報を記憶する輪郭線描画情報記
    憶手段と、 前記各始点毎に、該各始点に対応する前記輪郭線描画情
    報記憶手段内の記憶位置に前記図形の輪郭線の描画を行
    う旨を指定する輪郭線描画情報が記憶されている場合
    に、該各始点から始まり前記辺表示位置算出手段によっ
    て算出される辺の前記表示手段上の各表示位置に該各頂
    点に対応する前記輪郭線描画情報によって指定される輪
    郭線描画色コードを設定することにより、前記図形の輪
    郭線の描画を行う輪郭線描画手段と、 を更に有することを特徴とする請求項3に記載の図形描
    画装置。
JP22978294A 1994-09-26 1994-09-26 図形描画装置 Expired - Fee Related JP3493745B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH0896149A JPH0896149A (ja) 1996-04-12
JP3493745B2 true JP3493745B2 (ja) 2004-02-03

Family

ID=16897595

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3493745B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130666C (zh) 1998-06-08 2003-12-10 松下电器产业株式会社 图形涂抹装置
JP4845043B2 (ja) * 2007-04-27 2011-12-28 シャープ株式会社 描画情報処理装置、描画情報処理方法、描画情報処理プログラム、および描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体

Also Published As

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

Similar Documents

Publication Publication Date Title
US4475104A (en) Three-dimensional display system
US4609917A (en) Three-dimensional display system
US7945114B2 (en) Image transform method for obtaining expanded image data, image processing apparatus and image display device therefore
US4620287A (en) Method and apparatus for representation of a curve of uniform width
US4674058A (en) Method and apparatus for flexigon representation of a two dimensional figure
EP1203351B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
JP3142550B2 (ja) 図形処理装置
JPH0322188A (ja) 図形イメージをラスタ化して表現する方法
JP3493745B2 (ja) 図形描画装置
JP2002519793A (ja) グラフィックエレメントをレンダリング処理する方法及びシステム
US6718072B1 (en) Image conversion method, image processing apparatus, and image display apparatus
EP0062669A1 (en) GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY.
JPH09311954A (ja) 3次元図形表示システムおよび3次元図形の表示方法
JPH05297861A (ja) グラフィックス用途向け1/nビット化位相合わせのための方法
US5371843A (en) Method and system for filling non-complex polygons using vertical spans
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
US6124863A (en) Object-based graphics system for displaying an image using explicit quadratic polynomial fragments
JPH07120427B2 (ja) グラフイツクス処理システム
JP2888270B2 (ja) 図形処理装置及びその方法
JPH0896148A (ja) 図形描画装置
JP3255549B2 (ja) 図形処理方法
US11216994B2 (en) Method and apparatus for rendering a visual representation of a font glyph
JP2782904B2 (ja) 多角形塗りつぶし方式
JP2794446B2 (ja) エレメント別に文字を構成したアウトラインフォントの塗りつぶし方法および装置
JPH0350686A (ja) 図形処理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees