JP3161372B2 - 多角形描画方法及び装置 - Google Patents

多角形描画方法及び装置

Info

Publication number
JP3161372B2
JP3161372B2 JP18558197A JP18558197A JP3161372B2 JP 3161372 B2 JP3161372 B2 JP 3161372B2 JP 18558197 A JP18558197 A JP 18558197A JP 18558197 A JP18558197 A JP 18558197A JP 3161372 B2 JP3161372 B2 JP 3161372B2
Authority
JP
Japan
Prior art keywords
intersection
scan line
edge
polygon
scan
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
JP18558197A
Other languages
English (en)
Other versions
JPH1131233A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP18558197A priority Critical patent/JP3161372B2/ja
Publication of JPH1131233A publication Critical patent/JPH1131233A/ja
Application granted granted Critical
Publication of JP3161372B2 publication Critical patent/JP3161372B2/ja
Priority to US09/932,810 priority patent/US7142224B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、図形をメモリ上
に描画し表示する画像表示装置等に適用され、エッジ部
分が滑らかになるように三角形等の多角形を描画する多
角形描画方法及び装置に関する。
【従来の技術】
【0002】図形をメモリ上に描画する場合、理想的な
線を縦横に等間隔で配置されたグリッド上の点によって
表現するため、図23に示すように、通常は直線がジャ
ギと呼ばれるギザギザの線となってしまう。このジャギ
を軽減するために、アンチエイリアシングの手法が提案
されている。図24は、この手法を説明するための図で
ある。この手法では、1ピクセルを1つの正方形と考え
た場合、同図(a)に示すように、直線が各ピクセルを
どの程度覆っているかによって、その輝度値が決定され
る。同図(b)は、そのような基準によって各ピクセル
の輝度を決定した例を示している。この例のように、1
本の直線を輝度差をもって表現することにより、直線を
滑らかに描画することができる。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
アンチエイリアシングの手法は、理想的な直線が各ピク
セルをどの程度覆っているかを計算しなければならない
ので、計算が複雑である。また、三角形のエッジにおい
ては、エッジの部分だけ特別な処理をしなければならな
いので、三角形の描画速度が遅くなってしまうという問
題もある。
【0004】この発明は、このような問題点に鑑みなさ
れたもので、エッジを滑らかに描画するアンチエイリア
シングの手法を使用しながら、通常の描画処理と同様に
スキャンラインに沿って順番に画素のデータを生成する
ことができ、高速描画が可能な多角形描画方法及び装置
を提供することを目的としている。
【0005】
【課題を解決するための手段】この発明の多角形描画装
置は、描画平面上の各グリッドを覆う面積に応じた輝度
値を与えることにより、多角形のエッジ部分を滑らかに
描画するようにした多角形描画装置において、前記描画
すべき多角形の各エッジとスキャンラインとの交差部に
関するデータであって、前記スキャンラインのスキャン
方向上流側エッジに対応する第1の外側交点及び内側交
点、前記スキャンラインのスキャン方向下流側エッジに
対応する第2の外側交点及び内側交点、前記第1の外側
交点から内側交点までの前記輝度値の増加率、並びに前
記第2の内側交点から外側交点までの前記輝度値の減少
率を含むライン交点データを各スキャンライン毎に求め
るエッジ計算手段と、このエッジ計算手段で求められた
前記各スキャンライン毎のライン交点データに基づい
て、各スキャンライン毎にスキャン方向に前記多角形の
内部の各輝度値をシーケンシャルに求めるスキャンライ
ン処理手段とを備え、前記エッジ計算手段は、前記描画
すべき多角形の頂点間を所定サイズのダイアモンドブロ
ックによってドラッグしたときに得られる所定幅を持っ
た各軌跡の両エッジとスキャンラインとの交点を求め、
前記スキャン方向上流側の前記軌跡の両エッジとスキャ
ンラインとの交点にそれぞれスキャン方向下流側で隣接
するグリッド上の位置をそれぞれ前記第1の外側交点及
び内側交点とし、前記スキャン方向下流側の前記軌跡の
両エッジとスキャンラインとの交点にそれぞれスキャン
方向上流側で隣接するグリッド上の位置をそれぞれ前記
第2の外側交点及び内側交点とするものであることを特
徴とする。
【0006】また、この発明に係る媒体に記憶される多
角形描画プログラムは、描画平面上の各グリッドを覆う
面積に応じた輝度値を与えることにより、多角形のエッ
ジ部分を滑らかに描画するようにしたものにおいて、前
記描画すべき多角形の各エッジとスキャンラインとの交
差部に関するデータであって、前記スキャンラインのス
キャン方向上流側エッジに対応する第1の外側交点及び
内側交点、前記スキャンラインのスキャン方向下流側エ
ッジに対応する第2の外側交点及び内側交点、前記第1
の外側交点から内側交点までの前記輝度値の増加率、並
びに前記第2の内側交点から外側交点までの前記輝度値
の減少率を含むライン交点データを各スキャンライン毎
に求めるエッジ計算ステップと、このエッジ計算ステッ
プで求められた前記各スキャンライン毎のライン交点デ
ータに基づいて、各スキャンライン毎にスキャン方向に
前記多角形の内部の各輝度値をシーケンシャルに求める
スキャンライン処理ステップとを備え、前記エッジ計算
ステップは、前記描画すべき多角形の頂点間を所定サイ
ズのダイアモンドブロックによってドラッグしたときに
得られる所定幅を持った各軌跡の両エッジとスキャンラ
インとの交点を求め、前記スキャン方向上流側の前記軌
跡の両エッジとスキャンラインとの交点にそれぞれスキ
ャン方向下流側で隣接するグリッド上の位置をそれぞれ
前記第1の外側交点及び内側交点とし、前記スキャン方
向下流側の前記軌跡の両エッジとスキャンラインとの交
点にそれぞれスキャン方向上流側で隣接するグリッド上
の位置をそれぞれ前記第2の外側交点及び内側交点と
る。
【0007】更に、この発明に係る多角形描画方法は、
描画平面上の各グリッドを覆う面積に応じた輝度値を与
えることにより、多角形のエッジ部分を滑らかに描画す
るようにした多角形描画方法において、前記描画すべき
多角形の各エッジとスキャンラインとの交差部に関する
データであって、前記スキャンラインのスキャン方向上
流側エッジに対応する第1の外側交点及び内側交点、前
記スキャンラインのスキャン方向下流側エッジに対応す
る第2の外側交点及び内側交点、前記第1の外側交点か
ら内側交点までの前記輝度値の増加率、並びに前記第2
の内側交点から外側交点までの前記輝度値の減少率を含
むライン交点データを各スキャンライン毎に求めると共
、この求められた前記各スキャンライン毎のライン交
点データに基づいて、各スキャンライン毎にスキャン方
向に前記多角形の内部の各輝度値をシーケンシャルに求
めるに際し、前記描画すべき多角形の頂点間を所定サイ
ズのダイアモンドブロックによってドラッグしたときに
得られる所定幅を持った各軌跡の両エッジとスキャンラ
インとの交点を求め、前記スキャン方向上流側の前記軌
跡の両エッジとスキャンラインとの交点にそれぞれスキ
ャン方向下流側で隣接するグリッド上の位置をそれぞれ
前記第1の外側交点及び内側交点とし、前記スキャン方
向下流側の前記軌跡の両エッジとスキャンラインとの交
点にそれぞれスキャン方向上流側で隣接するグリッド上
の位置をそれぞれ前記第2の外側交点及び内側交点とす
ようにしたことを特徴とする。
【0008】この発明によれば、エッジ計算によってス
キャンラインのスキャン方向上流側エッジに対応する第
1の外側交点及び内側交点、同じく下流側エッジに対応
する第2の外側交点及び内側交点、第1の外側交点から
内側交点までの輝度値の増加率、並びに第2の内側交点
から外側交点までの輝度値の減少率をそれぞれスキャン
ライン毎に求めているので、第1の外側交点から内側交
点まで前記増加率に基づいて徐々に輝度値を増加させ、
前記第2の内側交点から外側交点まで前記減少率に基づ
いて徐々に輝度値を減少させることにより、スキャンラ
インの上流側から下流側へかけて順番に輝度値を求めて
いくことができ、スキャンラインに沿ったシーケンシャ
ルな処理が可能になる。このため、高速描画処理が実現
できる。
【0009】前記エッジ計算手段が、前記第1の外側交
点における輝度値及び前記第2の内側交点とスキャン方
向下流側で隣接するグリッド上の点における輝度値をそ
れぞれ初期値として算出するものであると、全ての処理
がグリッド上の輝度値の算出処理となるので、更に高速
な処理が可能である。
【0010】
【0011】また、前記スキャンライン処理手段は、例
えば各スキャンライン毎に前記第1の外側交点から内側
交点まで前記増加率を累算して各輝度値を出力し、前記
第1の内側交点から前記第2の内側交点まで一定の輝度
値を出力し、且つ前記第2の内側交点から外側交点まで
前記減少率を累算して各輝度値を出力するというよう
に、加減算のみの処理で各スキャンライン上の輝度値を
算出していくことができるので、高速描画処理が可能に
なる。
【0012】
【発明の実施の形態】以下、図面を参照して、この発明
の好ましい実施の形態について説明する。図1は、この
発明の一実施例に係る三角形描画装置の構成を示すブロ
ック図である。この装置は、エッジ計算回路1、水平ラ
イン処理回路2、ピクセル処理回路3及びメモリ4を備
えて構成されている。エッジ計算回路1は、与えられた
三角形の頂点座標(XA,YA),(XB,YB),
(XC,YC)から上記三角形と各スキャンラインとの交
差部に関するライン交点データを算出する。このライン
交点データは、この例では、ラインNに対して、
(YN,XLe,XLi,XRi,XRe)という座標
値と、(I0L,ddIL,I0R,ddIR)という輝
度値の情報からなる。水平ライン処理回路2は、これら
のライン交点データから、各スキャンラインについて、
例えば左から順に1ピクセル毎の座標値(XP,YP
と、そのピクセルに対応する輝度値IPとを生成し、こ
れをピクセル処理回路3に供給する。ピクセル処理回路
3は、水平ライン処理部で求められたピクセル単位の座
標値(XP,YP)に対し、輝度値IPに対応するピクセ
ルデータを生成し、メモリ4に書き込む。なお、本願明
細書では、ピクセルの輝度値IPは、0〜1の値をとる
こととしている。これはそのまま輝度値としても良い
が、別途算出される輝度値を補正する輝度補正係数を、
ここで言う輝度値として処理しても良い。
【0013】図2は、エッジ計算回路1で求められる各
座標値を示す図である。ここでは、クヌースのアルゴリ
ズム(ダイアモンドルール)によって、各頂点A,B,
Cを、水平(X)、垂直(Y)方向にそれぞれグリッド
幅の±0.5の幅を持つダイアモンド状のボックスを、
各頂点A,B,C間でドラッグさせたときの図中破線で
示すボックスの軌跡を三角形のエッジとする。このエッ
ジと各水平(スキャン)ラインとの交点は、左右のエッ
ジそれぞれについて、その外側及び内側で、各ラインに
ついて4つずつ求められる。また、これらの交点は、実
際の交点ではなく、実際の交点のすぐ内側のグリッド上
の点が選択される。従って、ライン交点データに含まれ
る座標値をまとめると、次のようになる。
【0014】 YN :ラインNのY座標 XLe: 〃 の左側エッジ外側X座標(グリッド上) XLi: 〃 の左側エッジ内側X座標(グリッド上) XRi: 〃 の右側エッジ内側X座標(グリッド上) XRe: 〃 の右側エッジ外側X座標(グリッド上)
【0015】このようにして求められた各座標値に基づ
き、図3に示すように、XLeからXLiまで徐々に輝
度値Iが増加し、XRiからXReまで徐々に輝度値I
が減少していくように、三角形の内部の輝度値Iを決定
していくため、XLeでの輝度の初期値I0Lとその増
加率ddIL、XRiの次のX方向ピクセルでの輝度の
初期値I0Rとその減少率ddIRとが求められる。
【0016】図4及び図5は、これらの各座標値及び輝
度値を求める方法を説明するための図であり、図4は左
側のエッジを求めるときの方法、図5は右側のエッジを
求めるときの方法である。いずれのエッジについても、
各頂点間のY方向距離に対するX方向距離(Y座標が1
ライン分移動したときのX座標の移動量)をXD、X方
向距離に対するY方向距離(X座標が1画素分移動した
ときのY座標の移動量)をYDとしたとき、|YD|<
|XD|の場合(a)と、|YD|≧|XD|の場合
(b)とで求め方は多少異なってくる。
【0017】・左側エッジが|YD|<|XD|(水平
に近い)の場合 図4(a)において、ラインNと左側エッジとの真の交
点XLは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XLか
らXマイナス方向に|XD|/2だけ離れた点が真の外
側交点XLer、交点XLからXプラス方向に|XD|
/2だけ離れた点が真の内側交点XLirとなる。そし
て、真の外側交点XLer及び真の内側交点XLirの
小数点以下を切り上げた値がそれぞれグリッド上の外側
交点XLe及びグリッド上の内側交点XLiとなる。
【0018】また、真の外側交点XLerでの輝度値I
が0、真の内側交点XLirでの輝度値Iが1となるよ
うにXLe〜XLiまでの各ピクセルの輝度値Iを決定
するため、ddIL=|YD|として、
【0019】
【数1】I0L=(XLe−XLer)*ddIL InL=In-1L+ddIL (n≠0)
【0020】とする。XLi以降の輝度値Iは1とな
る。
【0021】・左側エッジが|YD|≧|XD|(垂直
に近い)の場合 図4(b)において、ラインNと左側エッジとの真の交
点XLは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XLか
らXマイナス方向に0.5だけ離れた点が真の外側交点
XLer、交点XLからXプラス方向に0.5だけ離れ
た点が真の内側交点XLirとなる。そして、真の外側
交点XLer及び真の内側交点XLirの小数点以下を
切り上げた値がそれぞれグリッド上の外側交点XLe及
びグリッド上の内側交点XLiとなる。この場合、XL
eとXLiとは、必然的にX方向に隣接したピクセル位
置となる。
【0022】また、真の外側交点XLerでの輝度値I
が0、真の内側交点XLirでの輝度値Iが1となるよ
うにXLeのピクセルの輝度値I0Lを、
【0023】
【数2】I0L=XLe−XLer
【0024】のように決定する。隣のXLiの輝度値I
は1となる。この場合、ddILは、特に求める必要は
ない。
【0025】・右側エッジが|YD|<|XD|(水平
に近い)の場合 図5(a)において、ラインNと右側エッジとの真の交
点XRは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XRか
らXマイナス方向に|XD|/2だけ離れた点が真の内
側交点XRir、交点XRからXプラス方向に|XD|
/2だけ離れた点が真の外側交点XRerとなる。そし
て、真の内側交点XRir及び真の外側交点XRerの
小数点以下を切り捨てた値がそれぞれグリッド上の内側
交点XRi及びグリッド上の外側交点XReとなる。
【0026】また、真の内側交点XRirでの輝度値I
が1、真の外側交点XRerでの輝度値Iが0となるよ
うにXRi+1〜XReまでの各ピクセルの輝度値Iを
決定するため、ddIR=|YD|として、
【0027】
【数3】I0R=(XRer−XRi−1)*ddIR InR=In-1R−ddIR (n≠0)
【0028】とする。XRe+1以降の輝度値Iは0と
なる。
【0029】・右側エッジが|YD|≧|XD|(垂直
に近い)の場合 図5(b)において、ラインNと右側エッジとの真の交
点XRは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XRか
らXマイナス方向に0.5だけ離れた点が真の内側交点
XRir、交点XRからXプラス方向に0.5だけ離れ
た点が真の外側交点XRerとなる。そして、真の内側
交点XRir及び真の外側交点XRerの小数点以下を
切り捨てた値がそれぞれグリッド上の内側交点XRi及
びグリッド上の外側交点XReとなる。この場合、XR
iとXReとは、必然的にX方向に隣接したピクセル位
置となる。
【0030】また、真の内側交点XRirでの輝度値I
が1、真の外側交点XRerでの輝度値Iが0となるよ
うにXReのピクセルの輝度値I0Rを、
【0031】
【数4】I0R=XRer−XRe
【0032】のように決定する。隣のXRiの輝度値I
は1となる。この場合、ddIRは、特に求める必要は
ない。
【0033】このようにライン交点データが求められれ
ば、図3に示すように、左側エッジの外側交点XLeか
ら輝度値I0Lを初期値とし、輝度の増分値をddIL
として、内側交点XLiにかけて輝度値を1まで徐々に
増加させ、右エッジの内側交点XRiの右隣りから輝度
値I0Rを初期値とし、輝度の増分値(減少値)をdd
IRとして、外側交点XReにかけて輝度値を0まで徐
々に減少させることにより、通常のスキャンラインに沿
ったシーケンシャルな処理に基づいて各ピクセルの輝度
値Iを求めることができる。なお、図6に示すように、
頂点付近では、左右のエッジが近接するために、左エッ
ジの外側交点XLeと右エッジの内側交点XRiとの関
係及び左エッジの内側交点XLiと右エッジの外側交点
XReとの関係がそれぞれX方向に逆転することがあ
る。このため、輝度値Iの描画は、XLeからXReま
でとし、この間にXLi及びXRiが現れなかったとき
には、これを無視するような処理が必要となる。
【0034】次に、エッジ計算回路1の詳細について説
明する。図7は、エッジ計算回路1の構成例を示すブロ
ック図である。まず、三角形の頂点座標(X1,Y1),
(X2,Y2),(X3,Y3)が与えられると、Y座標値
が最も小さい頂点をA(XA,YA)、残りの2つの頂点
のうち、頂点Aと接続されたときエッジが左側に位置す
る頂点をB(XB,YB)、頂点Aと接続されたときエッ
ジが右側に位置する頂点をC(XC,YC)とし、これが
エッジ傾き計算回路11に与えられる。エッジ傾き計算
回路11は、例えば図8に示すように構成され、セレク
タ21,22でX座標XA〜XCの一つをそれぞれ選択す
ると共に、セレクタ23,24でY座標YA〜YCの一つ
をそれぞれ選択し、セレクタ21,22の出力及びセレ
クタ23,24の出力をそれぞれ減算器25,26で減
算し、その減算結果を除算器27で除算することによ
り、頂点座標から、下記数1で示される直線AB,A
C,BCの傾きをそれぞれ算出する。
【0035】
【数5】XD1=(XB−XA)/(YB−YA) XD2=(XC−XA)/(YC−YA) XD3=(XC−XB)/(YC−YB) YD1=(YB−YA)/(XB−XA) YD2=(YC−YA)/(XC−XA) YD3=(YC−YB)/(XC−XB
【0036】これらの傾きデータは、レジスタ28にそ
れぞれ格納される。なお、セレクタ29は、分子分母の
選択を行い、セレクタ30は、計算結果をどのレジスタ
28に格納するかを選択する。そして、セレクタ21〜
24,29,30は、セレクタコントローラ31によっ
てコントロールされる。
【0037】傾きデータXD1〜XD3及び頂点データ
A,XB,XC,YAは、エッジ座標算出回路12に供給
され、ここで各スキャンラインについてのY座標値YN
と、真のエッジ位置XL,XRとが求められる。このエッ
ジ座標算出回路12は、例えば図9に示すように構成さ
れている。まず、Y座標値YNの初期値としてYAがセレ
クタ41によって選択され、YNレジスタ42に格納さ
れる。以後、Y座標値YNは、加算器43によって1ず
つ加算されて更新される。また、各ラインにおいて、セ
レクタ44,46でまず頂点XAが選択され、セレクタ
45,47でそれぞれ傾きXD1,XD2が選択され
る。そして、最初はセレクタ48,49によって頂点座
標XAがエッジ座標XL,XRとして選択されてXLレジス
タ50及びXRレジスタ51にそれぞれ格納され、以
後、加算器52,53によってこれらに傾きXD1,X
D2が順次加算されてエッジ座標XL,XRが求められ
る。
【0038】ここで、図7のコントローラ13は、YN
とYB,YCとの大小関係に基づいてYBが最初に現れた
ときにはコントロール信号S1を出力し、YCが最初に
現れたときにはコントロール信号S2を出力する。コン
トロール信号S1が出力された場合には、セレクタ4
4,45がそれぞれXB,XD3を選択し、コントロー
ル信号S2が出力された場合には、セレクタ46,47
がそれぞれXC,XD3を選択する。これにより、直線
の切替が行われる。
【0039】求められたエッジ座標XL,XRは、傾きX
D1〜XD3と共にエッジ範囲算出回路14に供給され
る。エッジ範囲算出回路14は、例えば図10に示すよ
うに構成されている。この回路のうち上側の回路は、左
側エッジの外側交点XLe,及び内側交点XLiを算出
するための回路、下側の回路は、右側エッジの内側交点
XRi及び外側交点XReを算出するための回路であ
る。まず、セレクタ61,62は、傾きデータXD1,
XD2を選択し、これを絶対値化回路63,64で絶対
値化すると共に、1/2回路65,66で1/2した値
を算出する。セレクタ67,68は、一方に1/2回路
65,66の出力を、また他方に“0.5”を導入し、
コントロール信号S3によっていずれか一方を選択す
る。このため、図7のコントローラ13は、傾きデータ
YD1〜YD3に基づいて、エッジの傾斜が緩い傾斜で
あるか(|YD|<|XD|)、急な傾斜であるか(|
YD|≧|XD|)を示すコントロール信号S3を出力
する。セレクタ67,68の出力は、減算器69,70
及び加算器71,72によってそれぞれエッジ座標
L,XRと加減算され、左側エッジの場合には、切り上
げ回路73,74によって演算結果が切り上げられ、右
側エッジの場合には、切り捨て回路75,76によって
演算結果が切り捨てられることにより、交点座標XL
e,XLi,XRi,XReがそれぞれ算出され、これ
らがレジスタ77,78,79,80にそれぞれ格納さ
れる。また、切り捨て及び切り上げ前の途中の演算結果
から、真の外側交点XLer,XRerが求められる。
新たなエッジに切り替わるときには、コントロール信号
S1,S2によってセレクタ61,62がいずれか一方
の傾きデータをXD3に切り替える。
【0040】求められた交点座標XLe,XLi,XR
i,XRe,XLer.XRerは、傾きデータYD1
〜YD3と共に輝度初期値・増分値算出回路15に供給
される。輝度初期値・増分値算出回路15は、例えば図
11に示すように構成されている。傾きデータYD1〜
YD3は、それぞれ絶対値化回路85〜88で絶対値化
されてセレクタ92,99にそれぞれ供給される。図1
1の回路のうち、上半分は左側エッジの輝度、下半分は
右側エッジの輝度を算出する回路である。即ち、左側エ
ッジの真の外側交点XLerとグリッド上の外側交点X
Leとの差分が減算器91で求められ、この差分がセレ
クタ92で選択された|YD1|又は|YD3|と乗算
器93において乗算される。セレクタ94は、左側エッ
ジの傾きが緩やかな場合にこの乗算結果を輝度の初期値
0Lとして選択するが、左側エッジの傾きが急な場合
には、乗算前の差分値を輝度の初期値I0Lとして選択
する。この初期値I0LがI0Lレジスタ95に格納さ
れ、セレクタ92で選択された|YD1|又は|YD3
|がddILレジスタ96に格納される。
【0041】また、右側エッジの真の外側交点XRer
とセレクタ97で選択されたグリッド上の外側交点XR
e又は内側交点XRi+1との差分が減算器98で求め
られ、この差分がセレクタ99で選択された|YD2|
又は|YD3|と乗算器100において乗算される。セ
レクタ101は、左側エッジの傾きが緩やかな場合にこ
の乗算結果を輝度の初期値I0Rとして選択するが、左
側エッジの傾きが急な場合には、乗算前の差分値を輝度
の初期値I0Rとして選択する。この初期値I0RがI0
Rレジスタ102に格納され、セレクタ99で選択され
た|YD2|又は|YD3|がddIRレジスタ103
に格納される。
【0042】次に水平ライン処理回路について説明す
る。図12は、水平ライン処理回路2の構成例を示すブ
ロック図である。この例では、YNの値はそのままピク
セルY座標YPとなる。1スキャンラインの処理の開始
時、XPレジスタ111には、スキャンライン上での最
初の処理ピクセルのX座標XPが格納される。このX座
標XPは、セレクタ112により選択され、初期値はX
Leである。また、XLe,XLi,XRi,XRe
は、それぞれ対応するレジスタ113,114,11
5,116にセットされる。X座標XPは、加算器11
0で“1”が順次加算されてスキャンラインに沿って1
つずつ右側に移動する。このX座標XPが比較器11
7,118,119,120においてそれぞれXLe,
XLi,XRi,XReと比較され、その比較結果に基
づいてコントローラ121が各部を制御する。
【0043】即ち、XPがXLeと等しいときには、セ
レクタ122でI0Lが選択され、これがIP1レジスタ
123に格納され、XPがXLeよりも大きくXLiよ
りも小さいときには、IP1レジスタ123の値に加算器
124で増分値ddILを累積加算した値が選択されて
P1レジスタ123に格納される。また、XPがXRi
を超えた場合には、セレクタ125でI0Rが選択さ
れ、これがIP2レジスタ126に格納される。XPがX
Ri+1よりも大きくXRe以下のときには、IP2レジ
スタ126の値に減算器127で増分値(減少値)dd
IRを順次減算した値が選択されてIP2レジスタ126
に格納される。レジスタ123,126の値及び“1”
がセレクタ128に供給され、XPがXLeからXLi
−1までの間はレジスタ123の出力、XPがXLiか
らXRiまでは“1”、XPがXRi+1からXReま
での間はレジスタ126の出力が輝度値IPとして選択
されることになる。また、コントローラ121は、前段
回路からのSTART信号によって1スキャンライン分
の動作を開始し、XPがXReを超えたことをもって前
段回路に処理終了を示すEND信号を出力する。
【0044】このように、この回路によれば、スキャン
ラインに沿って順次ピクセルの輝度値を求めていくこと
ができるので、高速処理が可能になる。
【0045】ところで、上記実施例では、頂点のY座標
はライン上に存在することを前提として説明したが、例
えば図13に示すように、各頂点A,B,Cの座標(X
A,YA),(XB,YB),(XC,YC)がライン上に存
在しない場合には、Y座標の小数部分(以下、YLSB
呼ぶ)を考慮することにより、更に滑らかな表現が可能
になる。この場合、図14に示すように、スキャンライ
ン間に頂点を含む場合、輝度値の基準となるΔYを次の
ように設定し、前述した輝度値にΔYを乗算した値をも
って輝度値IPとする。
【0046】 (a)スキャンライン間に上端の頂点を含む場合 ΔY=1−YLSB (b)スキャンライン間に頂点を含まない場合 ΔY=YLSB=1 (c)スキャンライン間に下端の頂点を含む場合 ΔY=YLSB
【0047】このため、この実施例では、図9に示した
エッジ座標算出回路12を、図15のように構成する。
この回路では、頂点A,B,CのY座標YA,YB,YC
をコントロール信号S1,S2によってセレクタ131
で選択し、このセレクタ131の出力とこれを切り捨て
回路132で切り捨てた値とを減算器133で減算する
ことにより、頂点でのYLSBを算出する。セレクタ13
4は、減算器133の出力と“1”とを切り換えること
により、YLSBレジスタ135に、頂点では1よりも小
さい値、その他の部分では“1”となるYLSBを格納す
る。また、切り捨て回路132の出力はセレクタ136
を介してYNレジスタ137に初期値として格納され
る。YNレジスタ137には、加算器138で“1”が
順次加算された値が更新値として格納されていく。Y
LSBレジスタ135に格納されたYLSBは、減算器139
によって“1”から減算される。セレクタ140は、上
述した(a),(b),(c)の各場合に応じたΔYの
値を出力する。
【0048】エッジ交点のX座標XL,XRを求めるため
の回路は、基本的には図9に示した回路と同様である
が、XD1,XD2,XD3は、乗算器150,15
1,152,153によってそれぞれΔYが乗算される
ので、頂点の次のラインにおけるXL,XRを決定する際
の増分値は、他のラインの増分値とは異なる値となる。
【0049】図16は、この実施例における水平ライン
処理回路2のブロック図であり、図12と同一部分には
同一符号を付して詳しい説明は割愛する。この実施例で
は、左側エッジの処理と右側エッジの処理とを別々に行
った結果IP1,IP2を減算器164で減算することによ
り、頂点を含む部分の処理を簡素化させている。セレク
タ162,163には、ΔYの値も与えられており、コ
ントローラ161は、XPがXLi以上になったときに
セレクタ162でΔYを選択し、XPがXReを超えた
ときにセレクタ163でΔYを選択する。I0L,dd
IL,I0R,ddIRは、予めΔYを基準とした値に
設定されている。また、この例では、I0R,ddIR
がそれぞれ右側エッジの内側からの輝度の減少値の初期
値及び増加値である点が先の実施例とは異なっている。
勿論、ΔYによる重み付けは、加算値IP1,IP2や最終
結果の輝度値IPに対して行うようにしてもよい。
【0050】この回路では、最初に上の頂点が存在する
スキャンラインを次のように処理する。即ち、上側の頂
点につながる2本のエッジは、それらの傾きにより、図
17に示すように3つのパターンに分けられる。同図
(a)は左右のエッジの傾きの符号が異なる場合、同図
(b)は左右のエッジが共に負である場合、同図(c)
は左右のエッジが共に正である場合である。各場合につ
いて、加算器124,127の出力IP1,IP2は、図1
8の各塗り潰し領域の面積で表される。従って、IP1
らIP2を減算器164で減算することにより、ライン間
に有する頂点部分の輝度IPを簡単に求めることができ
る。
【0051】スキャンライン内に頂点が存在しないとき
には、図19に示すように、ΔY=1となるが、上記と
全く同様の演算によって各ピクセルXPでの輝度IPを算
出することができる。
【0052】更に、図20に示すように、スキャンライ
ン間に端点Bが存在する場合には、スキャンラインを端
点Bの上側と下側とに分けて同様の処理を行う。まず、
図21(a)に示すように、上側の部分の輝度IPを計
算し、次に、同図(b)のように、下側の部分の輝度I
Pを計算する。このとき、Y座標値は同じである。そし
て、これらの演算結果は、加算・混合され、同一の画素
に対する輝度値IPとして求められる。
【0053】図22に示すように、スキャンライン間に
下側の頂点が存在する場合も、上記と全く同様の手順に
より、各ピクセルの輝度値IPを求めることができる。
【0054】なお、以上の実施例では、三角形のエッジ
処理について説明したが、これを応用することにより、
更に多角形のエッジ処理にも応用可能であることは言う
までもない。また、上記実施例では、グリッド上の点の
輝度値を求めるようにしているが、実際の点の輝度値か
ら水平ライン描画時に補正を加えていくようにしても良
い。
【0055】また、上述した実施例は、各部の処理をハ
ードウェアにて実現したが、各部の処理をソフトウェア
によって実現することもできる。この場合には、多角形
描画処理プログラムは、適当な記録媒体に記録して提供
可能である。
【0056】
【発明の効果】以上述べたようにこの発明によれば、エ
ッジ計算によってスキャンラインのスキャン方向上流側
エッジに対応する第1の外側交点及び内側交点、同じく
下流側エッジに対応する第2の外側交点及び内側交点、
第1の外側交点から内側交点までの輝度値の増加率、並
びに第2の内側交点から外側交点までの輝度値の減少率
をそれぞれスキャンライン毎に求めているので、第1の
外側交点から内側交点まで前記増加率に基づいて徐々に
輝度値を増加させ、前記第2の内側交点から外側交点ま
で前記減少率に基づいて徐々に輝度値を減少させること
により、スキャンラインの上流側から下流側へかけて順
番に輝度値を求めていくことができ、スキャンラインに
沿ったシーケンシャルな処理が可能になる。このため、
高速描画処理が実現できる。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る多角形描画装置の
ブロック図である。
【図2】 同装置におけるエッジ計算回路の処理内容を
説明するための図である。
【図3】 同装置における水平ライン処理回路の動作を
説明するための図である。
【図4】 エッジ計算回路での右側エッジの各種データ
の算出方法を説明するための図である。
【図5】 エッジ計算回路での左側エッジの各種データ
の算出方法を説明するための図である。
【図6】 水平ライン処理回路での頂点部の処理を説明
するための図である。
【図7】 エッジ計算回路の詳細ブロック図である。
【図8】 同回路におけるエッジ傾き計算回路のブロッ
ク図である。
【図9】 同回路におけるエッジ座標算出回路のブロッ
ク図である。
【図10】 同回路におけるエッジ範囲算出回路のブロ
ック図である。
【図11】 同回路における輝度初期値・増分値算出回
路のブロック図である。
【図12】 水平ライン処理回路の詳細ブロック図であ
る。
【図13】 この発明の他の実施例に適用される多角形
を示す図である。
【図14】 同多角形のライン間のパターンを示す図で
ある。
【図15】 同実施例のエッジ座標算出回路のブロック
図である。
【図16】 同実施例の水平ライン処理回路のブロック
図である。
【図17】 同多角形の頂点の態様を示す図である。
【図18】 同各態様に対応した水平ライン処理回路の
動作を説明するための図である。
【図19】 同多角形の中間部での水平ライン処理回路
の動作を説明するための図である。
【図20】 ライン間に多角形の端部を含む態様を示す
図である。
【図21】 図20の場合の水平ライン処理回路の動作
を説明するための図である。
【図22】 多角形の下端部の処理を説明するための図
である。
【図23】 従来の直線描画方法を示す図である。
【図24】 従来のアンチエイリアシング直線描画方法
を説明するための図である。
【符号の説明】
1…エッジ計算回路、2…水平ライン処理回路、3…ピ
クセル処理回路、4…メモリ。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/20 G06T 11/00 G06T 15/00

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 描画平面上の各グリッドを覆う面積に応
    じた輝度値を与えることにより、多角形のエッジ部分を
    滑らかに描画するようにした多角形描画装置において、 前記描画すべき多角形の各エッジとスキャンラインとの
    交差部に関するデータであって、前記スキャンラインの
    スキャン方向上流側エッジに対応する第1の外側交点及
    び内側交点、前記スキャンラインのスキャン方向下流側
    エッジに対応する第2の外側交点及び内側交点、前記第
    1の外側交点から内側交点までの前記輝度値の増加率、
    並びに前記第2の内側交点から外側交点までの前記輝度
    値の減少率を含むライン交点データを各スキャンライン
    毎に求めるエッジ計算手段と、 このエッジ計算手段で求められた前記各スキャンライン
    毎のライン交点データに基づいて、各スキャンライン毎
    にスキャン方向に前記多角形の内部の各輝度値をシーケ
    ンシャルに求めるスキャンライン処理手段とを備え 前記エッジ計算手段は、前記描画すべき多角形の頂点間
    を所定サイズのダイアモンドブロックによってドラッグ
    したときに得られる所定幅を持った各軌跡の両エッジと
    スキャンラインとの交点を求め、前記スキャン方向上流
    側の前記軌跡の両エッジとスキャンラインとの交点にそ
    れぞれスキャン方向下流側で隣接するグリッド上の位置
    をそれぞれ前記第1の外側交点及び内側交点とし、前記
    スキャン方向下流側の前記軌跡の両エッジとスキャンラ
    インとの交点にそれぞれスキャン方向上流側で隣接する
    グリッド上の位置をそれぞれ前記第2の外側交点及び内
    側交点とするものである ことを特徴とする多角形描画装
    置。
  2. 【請求項2】 前記エッジ計算手段は、前記第1の外側
    交点における輝度値及び前記第2の内側交点とスキャン
    方向下流側で隣接するグリッド上の点における輝度値を
    それぞれ初期値として算出するものであることを特徴と
    する請求項1記載の多角形描画装置。
  3. 【請求項3】 前記スキャンライン処理手段は、各スキ
    ャンライン毎に前記第1の外側交点から内側交点まで前
    記増加率を累算して各輝度値を出力し、前記第1の内側
    交点から前記第2の内側交点まで一定の輝度値を出力
    し、且つ前記第2の内側交点から外側交点まで前記減少
    率を累算して各輝度値を出力するものであることを特徴
    とする請求項1又は2記載の多角形描画装置。
  4. 【請求項4】 描画平面上の各グリッドを覆う面積に応
    じた輝度値を与えることにより、多角形のエッジ部分を
    滑らかに描画するようにした多角形描画プログラムを記
    憶した媒体において、 前記描画すべき多角形の各エッジとスキャンラインとの
    交差部に関するデータであって、前記スキャンラインの
    スキャン方向上流側エッジに対応する第1の外側交点及
    び内側交点、前記スキャンラインのスキャン方向下流側
    エッジに対応する第2の外側交点及び内側交点、前記第
    1の外側交点から内側交点までの前記輝度値の増加率、
    並びに前記第2の内側交点から外側交点までの前記輝度
    値の減少率を含むライン交点データを各スキャンライン
    毎に求めるエッジ計算ステップと、 このエッジ計算ステップで求められた前記各スキャンラ
    イン毎のライン交点データに基づいて、各スキャンライ
    ン毎にスキャン方向に前記多角形の内部の各輝度値をシ
    ーケンシャルに求めるスキャンライン処理ステップとを
    備え 前記エッジ計算ステップは、前記描画すべき多角形の頂
    点間を所定サイズのダイアモンドブロックによってドラ
    ッグしたときに得られる所定幅を持った各軌跡の両エッ
    ジとスキャンラインとの交点を求め、前記スキャン方向
    上流側の前記軌跡の両エッジとスキャンラインとの交点
    にそれぞれスキャン方向下流側で隣接するグリッド上の
    位置をそれぞれ前記第1の外側交点及び内側交点とし、
    前記スキャン方向下流側の前記軌跡の両エッジとスキャ
    ンラインとの交点にそれぞれスキャン方向上流側で隣接
    するグリッド上の位置をそれぞれ前記第2の外側交点及
    び内側交点と する多角形描画プログラムを記憶した媒
    体。
  5. 【請求項5】 描画平面上の各グリッドを覆う面積に応
    じた輝度値を与えることにより、多角形のエッジ部分を
    滑らかに描画するようにした多角形描画方法において、 前記描画すべき多角形の各エッジとスキャンラインとの
    交差部に関するデータであって、前記スキャンラインの
    スキャン方向上流側エッジに対応する第1の外側交点及
    び内側交点、前記スキャンラインのスキャン方向下流側
    エッジに対応する第2の外側交点及び内側交点、前記第
    1の外側交点から内側交点までの前記輝度値の増加率、
    並びに前記第2の内側交点から外側交点までの前記輝度
    値の減少率を含むライン交点データを各スキャンライン
    毎に求めると共に、この求められた前記各スキャンライ
    ン毎のライン交点データに基づいて、各スキャンライン
    毎にスキャン方向に前記多角形の内部の各輝度値をシー
    ケンシャルに求めるに際し、 前記描画すべき多角形の頂点間を所定サイズのダイアモ
    ンドブロックによってドラッグしたときに得られる所定
    幅を持った各軌跡の両エッジとスキャンラインとの交点
    を求め、前記スキャン方向上流側の前記軌跡の両エッジ
    とスキャンラインとの交点にそれぞれスキャン方向下流
    側で隣接するグリッド上の位置をそれぞれ前記第1の外
    側交点及び内側交点とし、前記スキャン方向下流側の前
    記軌跡の両エッジとスキャンラインとの交点にそれぞれ
    スキャン方向上流側で隣接するグリッド上の位置をそれ
    ぞれ前記第2の外側交点及び内側交点とする ようにした
    ことを特徴とする多角形描画方法。
JP18558197A 1997-07-10 1997-07-10 多角形描画方法及び装置 Expired - Fee Related JP3161372B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18558197A JP3161372B2 (ja) 1997-07-10 1997-07-10 多角形描画方法及び装置
US09/932,810 US7142224B2 (en) 1997-07-10 2001-08-20 Polygon drawing apparatus and method, and storage medium for implementing the same method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18558197A JP3161372B2 (ja) 1997-07-10 1997-07-10 多角形描画方法及び装置

Publications (2)

Publication Number Publication Date
JPH1131233A JPH1131233A (ja) 1999-02-02
JP3161372B2 true JP3161372B2 (ja) 2001-04-25

Family

ID=16173320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18558197A Expired - Fee Related JP3161372B2 (ja) 1997-07-10 1997-07-10 多角形描画方法及び装置

Country Status (1)

Country Link
JP (1) JP3161372B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520007B2 (en) 2008-01-15 2013-08-27 Mitsubishi Electronic Corporation Graphic drawing device and graphic drawing method
JP4998386B2 (ja) 2008-06-27 2012-08-15 富士通セミコンダクター株式会社 ライン描画方法
CN109389595B (zh) * 2018-10-11 2022-02-15 广东工业大学 一种表格线交点检测方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
JPH1131233A (ja) 1999-02-02

Similar Documents

Publication Publication Date Title
EP0677825A2 (en) An electronic graphic system
JPH1186007A (ja) プリミティブにより覆われるピクセルの割合を求める方法
JPH06203157A (ja) カラー画像処理方法および装置
JPH07302336A (ja) 画像の特徴を曖昧化する方法および装置
US20050052460A1 (en) Tangent balancing
EP0398810B1 (en) Apparatus for image transformation
US7142224B2 (en) Polygon drawing apparatus and method, and storage medium for implementing the same method
JP3161372B2 (ja) 多角形描画方法及び装置
JP2738588B2 (ja) 立体モデル描画方法
JP2837584B2 (ja) 地形データの作成方法
KR20190023846A (ko) 콘텐츠 기반 이미지 리사이징 방법 및 장치
JP3181877B2 (ja) 3次元画像作成装置
JPH1131232A (ja) 多角形描画方法及び装置
JP3394551B2 (ja) 画像変換処理方法及び画像変換処理装置
JP3066596B2 (ja) アドレス変換装置
JP3090409B2 (ja) コンピュータを用いた3次元形状のデザイン方法およびデザイン装置
JP3770840B2 (ja) 調和された点ネットワークを生成し、処理するための方法およびシステム
JP3191739B2 (ja) 多角形描画方法及び装置
KR100335502B1 (ko) 윤곽선 정보에 의한 2차원 비선형 보간 시스템 및 그 방법
JP2002260003A (ja) 映像表示装置
US6859911B1 (en) Graphically representing data values
EP0439332B1 (en) Electronic image creation tools
CN110264393B (zh) 一种信息处理方法、终端和存储介质
CN110299123B (zh) 音频处理器的自适应分辨率显示方法
JPH05204369A (ja) 画像の部分拡大法

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees