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
Links
Landscapes
- Image Generation (AREA)
Description
に描画し表示する画像表示装置等に適用され、エッジ部
分が滑らかになるように三角形等の多角形を描画する多
角形描画方法及び装置に関する。
線を縦横に等間隔で配置されたグリッド上の点によって
表現するため、図23に示すように、通常は直線がジャ
ギと呼ばれるギザギザの線となってしまう。このジャギ
を軽減するために、アンチエイリアシングの手法が提案
されている。図24は、この手法を説明するための図で
ある。この手法では、1ピクセルを1つの正方形と考え
た場合、同図(a)に示すように、直線が各ピクセルを
どの程度覆っているかによって、その輝度値が決定され
る。同図(b)は、そのような基準によって各ピクセル
の輝度を決定した例を示している。この例のように、1
本の直線を輝度差をもって表現することにより、直線を
滑らかに描画することができる。
アンチエイリアシングの手法は、理想的な直線が各ピク
セルをどの程度覆っているかを計算しなければならない
ので、計算が複雑である。また、三角形のエッジにおい
ては、エッジの部分だけ特別な処理をしなければならな
いので、三角形の描画速度が遅くなってしまうという問
題もある。
れたもので、エッジを滑らかに描画するアンチエイリア
シングの手法を使用しながら、通常の描画処理と同様に
スキャンラインに沿って順番に画素のデータを生成する
ことができ、高速描画が可能な多角形描画方法及び装置
を提供することを目的としている。
置は、描画平面上の各グリッドを覆う面積に応じた輝度
値を与えることにより、多角形のエッジ部分を滑らかに
描画するようにした多角形描画装置において、前記描画
すべき多角形の各エッジとスキャンラインとの交差部に
関するデータであって、前記スキャンラインのスキャン
方向上流側エッジに対応する第1の外側交点及び内側交
点、前記スキャンラインのスキャン方向下流側エッジに
対応する第2の外側交点及び内側交点、前記第1の外側
交点から内側交点までの前記輝度値の増加率、並びに前
記第2の内側交点から外側交点までの前記輝度値の減少
率を含むライン交点データを各スキャンライン毎に求め
るエッジ計算手段と、このエッジ計算手段で求められた
前記各スキャンライン毎のライン交点データに基づい
て、各スキャンライン毎にスキャン方向に前記多角形の
内部の各輝度値をシーケンシャルに求めるスキャンライ
ン処理手段とを備え、前記エッジ計算手段は、前記描画
すべき多角形の頂点間を所定サイズのダイアモンドブロ
ックによってドラッグしたときに得られる所定幅を持っ
た各軌跡の両エッジとスキャンラインとの交点を求め、
前記スキャン方向上流側の前記軌跡の両エッジとスキャ
ンラインとの交点にそれぞれスキャン方向下流側で隣接
するグリッド上の位置をそれぞれ前記第1の外側交点及
び内側交点とし、前記スキャン方向下流側の前記軌跡の
両エッジとスキャンラインとの交点にそれぞれスキャン
方向上流側で隣接するグリッド上の位置をそれぞれ前記
第2の外側交点及び内側交点とするものであることを特
徴とする。
角形描画プログラムは、描画平面上の各グリッドを覆う
面積に応じた輝度値を与えることにより、多角形のエッ
ジ部分を滑らかに描画するようにしたものにおいて、前
記描画すべき多角形の各エッジとスキャンラインとの交
差部に関するデータであって、前記スキャンラインのス
キャン方向上流側エッジに対応する第1の外側交点及び
内側交点、前記スキャンラインのスキャン方向下流側エ
ッジに対応する第2の外側交点及び内側交点、前記第1
の外側交点から内側交点までの前記輝度値の増加率、並
びに前記第2の内側交点から外側交点までの前記輝度値
の減少率を含むライン交点データを各スキャンライン毎
に求めるエッジ計算ステップと、このエッジ計算ステッ
プで求められた前記各スキャンライン毎のライン交点デ
ータに基づいて、各スキャンライン毎にスキャン方向に
前記多角形の内部の各輝度値をシーケンシャルに求める
スキャンライン処理ステップとを備え、前記エッジ計算
ステップは、前記描画すべき多角形の頂点間を所定サイ
ズのダイアモンドブロックによってドラッグしたときに
得られる所定幅を持った各軌跡の両エッジとスキャンラ
インとの交点を求め、前記スキャン方向上流側の前記軌
跡の両エッジとスキャンラインとの交点にそれぞれスキ
ャン方向下流側で隣接するグリッド上の位置をそれぞれ
前記第1の外側交点及び内側交点とし、前記スキャン方
向下流側の前記軌跡の両エッジとスキャンラインとの交
点にそれぞれスキャン方向上流側で隣接するグリッド上
の位置をそれぞれ前記第2の外側交点及び内側交点とす
る。
描画平面上の各グリッドを覆う面積に応じた輝度値を与
えることにより、多角形のエッジ部分を滑らかに描画す
るようにした多角形描画方法において、前記描画すべき
多角形の各エッジとスキャンラインとの交差部に関する
データであって、前記スキャンラインのスキャン方向上
流側エッジに対応する第1の外側交点及び内側交点、前
記スキャンラインのスキャン方向下流側エッジに対応す
る第2の外側交点及び内側交点、前記第1の外側交点か
ら内側交点までの前記輝度値の増加率、並びに前記第2
の内側交点から外側交点までの前記輝度値の減少率を含
むライン交点データを各スキャンライン毎に求めると共
に、この求められた前記各スキャンライン毎のライン交
点データに基づいて、各スキャンライン毎にスキャン方
向に前記多角形の内部の各輝度値をシーケンシャルに求
めるに際し、前記描画すべき多角形の頂点間を所定サイ
ズのダイアモンドブロックによってドラッグしたときに
得られる所定幅を持った各軌跡の両エッジとスキャンラ
インとの交点を求め、前記スキャン方向上流側の前記軌
跡の両エッジとスキャンラインとの交点にそれぞれスキ
ャン方向下流側で隣接するグリッド上の位置をそれぞれ
前記第1の外側交点及び内側交点とし、前記スキャン方
向下流側の前記軌跡の両エッジとスキャンラインとの交
点にそれぞれスキャン方向上流側で隣接するグリッド上
の位置をそれぞれ前記第2の外側交点及び内側交点とす
るようにしたことを特徴とする。
キャンラインのスキャン方向上流側エッジに対応する第
1の外側交点及び内側交点、同じく下流側エッジに対応
する第2の外側交点及び内側交点、第1の外側交点から
内側交点までの輝度値の増加率、並びに第2の内側交点
から外側交点までの輝度値の減少率をそれぞれスキャン
ライン毎に求めているので、第1の外側交点から内側交
点まで前記増加率に基づいて徐々に輝度値を増加させ、
前記第2の内側交点から外側交点まで前記減少率に基づ
いて徐々に輝度値を減少させることにより、スキャンラ
インの上流側から下流側へかけて順番に輝度値を求めて
いくことができ、スキャンラインに沿ったシーケンシャ
ルな処理が可能になる。このため、高速描画処理が実現
できる。
点における輝度値及び前記第2の内側交点とスキャン方
向下流側で隣接するグリッド上の点における輝度値をそ
れぞれ初期値として算出するものであると、全ての処理
がグリッド上の輝度値の算出処理となるので、更に高速
な処理が可能である。
えば各スキャンライン毎に前記第1の外側交点から内側
交点まで前記増加率を累算して各輝度値を出力し、前記
第1の内側交点から前記第2の内側交点まで一定の輝度
値を出力し、且つ前記第2の内側交点から外側交点まで
前記減少率を累算して各輝度値を出力するというよう
に、加減算のみの処理で各スキャンライン上の輝度値を
算出していくことができるので、高速描画処理が可能に
なる。
の好ましい実施の形態について説明する。図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の値をとる
こととしている。これはそのまま輝度値としても良い
が、別途算出される輝度値を補正する輝度補正係数を、
ここで言う輝度値として処理しても良い。
座標値を示す図である。ここでは、クヌースのアルゴリ
ズム(ダイアモンドルール)によって、各頂点A,B,
Cを、水平(X)、垂直(Y)方向にそれぞれグリッド
幅の±0.5の幅を持つダイアモンド状のボックスを、
各頂点A,B,C間でドラッグさせたときの図中破線で
示すボックスの軌跡を三角形のエッジとする。このエッ
ジと各水平(スキャン)ラインとの交点は、左右のエッ
ジそれぞれについて、その外側及び内側で、各ラインに
ついて4つずつ求められる。また、これらの交点は、実
際の交点ではなく、実際の交点のすぐ内側のグリッド上
の点が選択される。従って、ライン交点データに含まれ
る座標値をまとめると、次のようになる。
き、図3に示すように、XLeからXLiまで徐々に輝
度値Iが増加し、XRiからXReまで徐々に輝度値I
が減少していくように、三角形の内部の輝度値Iを決定
していくため、XLeでの輝度の初期値I0Lとその増
加率ddIL、XRiの次のX方向ピクセルでの輝度の
初期値I0Rとその減少率ddIRとが求められる。
度値を求める方法を説明するための図であり、図4は左
側のエッジを求めるときの方法、図5は右側のエッジを
求めるときの方法である。いずれのエッジについても、
各頂点間のY方向距離に対するX方向距離(Y座標が1
ライン分移動したときのX座標の移動量)をXD、X方
向距離に対するY方向距離(X座標が1画素分移動した
ときのY座標の移動量)をYDとしたとき、|YD|<
|XD|の場合(a)と、|YD|≧|XD|の場合
(b)とで求め方は多少異なってくる。
に近い)の場合 図4(a)において、ラインNと左側エッジとの真の交
点XLは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XLか
らXマイナス方向に|XD|/2だけ離れた点が真の外
側交点XLer、交点XLからXプラス方向に|XD|
/2だけ離れた点が真の内側交点XLirとなる。そし
て、真の外側交点XLer及び真の内側交点XLirの
小数点以下を切り上げた値がそれぞれグリッド上の外側
交点XLe及びグリッド上の内側交点XLiとなる。
が0、真の内側交点XLirでの輝度値Iが1となるよ
うにXLe〜XLiまでの各ピクセルの輝度値Iを決定
するため、ddIL=|YD|として、
る。
に近い)の場合 図4(b)において、ラインNと左側エッジとの真の交
点XLは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XLか
らXマイナス方向に0.5だけ離れた点が真の外側交点
XLer、交点XLからXプラス方向に0.5だけ離れ
た点が真の内側交点XLirとなる。そして、真の外側
交点XLer及び真の内側交点XLirの小数点以下を
切り上げた値がそれぞれグリッド上の外側交点XLe及
びグリッド上の内側交点XLiとなる。この場合、XL
eとXLiとは、必然的にX方向に隣接したピクセル位
置となる。
が0、真の内側交点XLirでの輝度値Iが1となるよ
うにXLeのピクセルの輝度値I0Lを、
は1となる。この場合、ddILは、特に求める必要は
ない。
に近い)の場合 図5(a)において、ラインNと右側エッジとの真の交
点XRは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XRか
らXマイナス方向に|XD|/2だけ離れた点が真の内
側交点XRir、交点XRからXプラス方向に|XD|
/2だけ離れた点が真の外側交点XRerとなる。そし
て、真の内側交点XRir及び真の外側交点XRerの
小数点以下を切り捨てた値がそれぞれグリッド上の内側
交点XRi及びグリッド上の外側交点XReとなる。
が1、真の外側交点XRerでの輝度値Iが0となるよ
うにXRi+1〜XReまでの各ピクセルの輝度値Iを
決定するため、ddIR=|YD|として、
なる。
に近い)の場合 図5(b)において、ラインNと右側エッジとの真の交
点XRは、このエッジの上側の頂点から傾きXDをライ
ン分だけ加算していくことにより求められ、交点XRか
らXマイナス方向に0.5だけ離れた点が真の内側交点
XRir、交点XRからXプラス方向に0.5だけ離れ
た点が真の外側交点XRerとなる。そして、真の内側
交点XRir及び真の外側交点XRerの小数点以下を
切り捨てた値がそれぞれグリッド上の内側交点XRi及
びグリッド上の外側交点XReとなる。この場合、XR
iとXReとは、必然的にX方向に隣接したピクセル位
置となる。
が1、真の外側交点XRerでの輝度値Iが0となるよ
うにXReのピクセルの輝度値I0Rを、
は1となる。この場合、ddIRは、特に求める必要は
ない。
ば、図3に示すように、左側エッジの外側交点XLeか
ら輝度値I0Lを初期値とし、輝度の増分値をddIL
として、内側交点XLiにかけて輝度値を1まで徐々に
増加させ、右エッジの内側交点XRiの右隣りから輝度
値I0Rを初期値とし、輝度の増分値(減少値)をdd
IRとして、外側交点XReにかけて輝度値を0まで徐
々に減少させることにより、通常のスキャンラインに沿
ったシーケンシャルな処理に基づいて各ピクセルの輝度
値Iを求めることができる。なお、図6に示すように、
頂点付近では、左右のエッジが近接するために、左エッ
ジの外側交点XLeと右エッジの内側交点XRiとの関
係及び左エッジの内側交点XLiと右エッジの外側交点
XReとの関係がそれぞれX方向に逆転することがあ
る。このため、輝度値Iの描画は、XLeからXReま
でとし、この間にXLi及びXRiが現れなかったとき
には、これを無視するような処理が必要となる。
明する。図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の傾きをそれぞれ算出する。
れぞれ格納される。なお、セレクタ29は、分子分母の
選択を行い、セレクタ30は、計算結果をどのレジスタ
28に格納するかを選択する。そして、セレクタ21〜
24,29,30は、セレクタコントローラ31によっ
てコントロールされる。
XA,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が求められ
る。
とYB,YCとの大小関係に基づいてYBが最初に現れた
ときにはコントロール信号S1を出力し、YCが最初に
現れたときにはコントロール信号S2を出力する。コン
トロール信号S1が出力された場合には、セレクタ4
4,45がそれぞれXB,XD3を選択し、コントロー
ル信号S2が出力された場合には、セレクタ46,47
がそれぞれXC,XD3を選択する。これにより、直線
の切替が行われる。
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によってそれぞれエッジ座標
XL,XRと加減算され、左側エッジの場合には、切り上
げ回路73,74によって演算結果が切り上げられ、右
側エッジの場合には、切り捨て回路75,76によって
演算結果が切り捨てられることにより、交点座標XL
e,XLi,XRi,XReがそれぞれ算出され、これ
らがレジスタ77,78,79,80にそれぞれ格納さ
れる。また、切り捨て及び切り上げ前の途中の演算結果
から、真の外側交点XLer,XRerが求められる。
新たなエッジに切り替わるときには、コントロール信号
S1,S2によってセレクタ61,62がいずれか一方
の傾きデータをXD3に切り替える。
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は、左側エッ
ジの傾きが緩やかな場合にこの乗算結果を輝度の初期値
I0Lとして選択するが、左側エッジの傾きが急な場合
には、乗算前の差分値を輝度の初期値I0Lとして選択
する。この初期値I0LがI0Lレジスタ95に格納さ
れ、セレクタ92で選択された|YD1|又は|YD3
|がddILレジスタ96に格納される。
とセレクタ97で選択されたグリッド上の外側交点XR
e又は内側交点XRi+1との差分が減算器98で求め
られ、この差分がセレクタ99で選択された|YD2|
又は|YD3|と乗算器100において乗算される。セ
レクタ101は、左側エッジの傾きが緩やかな場合にこ
の乗算結果を輝度の初期値I0Rとして選択するが、左
側エッジの傾きが急な場合には、乗算前の差分値を輝度
の初期値I0Rとして選択する。この初期値I0RがI0
Rレジスタ102に格納され、セレクタ99で選択され
た|YD2|又は|YD3|がddIRレジスタ103
に格納される。
る。図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が各部を制御する。
レクタ122でI0Lが選択され、これがIP1レジスタ
123に格納され、XPがXLeよりも大きくXLiよ
りも小さいときには、IP1レジスタ123の値に加算器
124で増分値ddILを累積加算した値が選択されて
IP1レジスタ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信号を出力する。
ラインに沿って順次ピクセルの輝度値を求めていくこと
ができるので、高速処理が可能になる。
はライン上に存在することを前提として説明したが、例
えば図13に示すように、各頂点A,B,Cの座標(X
A,YA),(XB,YB),(XC,YC)がライン上に存
在しない場合には、Y座標の小数部分(以下、YLSBと
呼ぶ)を考慮することにより、更に滑らかな表現が可能
になる。この場合、図14に示すように、スキャンライ
ン間に頂点を含む場合、輝度値の基準となるΔYを次の
ように設定し、前述した輝度値にΔYを乗算した値をも
って輝度値IPとする。
エッジ座標算出回路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の
値を出力する。
の回路は、基本的には図9に示した回路と同様である
が、XD1,XD2,XD3は、乗算器150,15
1,152,153によってそれぞれΔYが乗算される
ので、頂点の次のラインにおけるXL,XRを決定する際
の増分値は、他のラインの増分値とは異なる値となる。
処理回路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に対して行うようにしてもよい。
スキャンラインを次のように処理する。即ち、上側の頂
点につながる2本のエッジは、それらの傾きにより、図
17に示すように3つのパターンに分けられる。同図
(a)は左右のエッジの傾きの符号が異なる場合、同図
(b)は左右のエッジが共に負である場合、同図(c)
は左右のエッジが共に正である場合である。各場合につ
いて、加算器124,127の出力IP1,IP2は、図1
8の各塗り潰し領域の面積で表される。従って、IP1か
らIP2を減算器164で減算することにより、ライン間
に有する頂点部分の輝度IPを簡単に求めることができ
る。
には、図19に示すように、ΔY=1となるが、上記と
全く同様の演算によって各ピクセルXPでの輝度IPを算
出することができる。
ン間に端点Bが存在する場合には、スキャンラインを端
点Bの上側と下側とに分けて同様の処理を行う。まず、
図21(a)に示すように、上側の部分の輝度IPを計
算し、次に、同図(b)のように、下側の部分の輝度I
Pを計算する。このとき、Y座標値は同じである。そし
て、これらの演算結果は、加算・混合され、同一の画素
に対する輝度値IPとして求められる。
下側の頂点が存在する場合も、上記と全く同様の手順に
より、各ピクセルの輝度値IPを求めることができる。
処理について説明したが、これを応用することにより、
更に多角形のエッジ処理にも応用可能であることは言う
までもない。また、上記実施例では、グリッド上の点の
輝度値を求めるようにしているが、実際の点の輝度値か
ら水平ライン描画時に補正を加えていくようにしても良
い。
ードウェアにて実現したが、各部の処理をソフトウェア
によって実現することもできる。この場合には、多角形
描画処理プログラムは、適当な記録媒体に記録して提供
可能である。
ッジ計算によってスキャンラインのスキャン方向上流側
エッジに対応する第1の外側交点及び内側交点、同じく
下流側エッジに対応する第2の外側交点及び内側交点、
第1の外側交点から内側交点までの輝度値の増加率、並
びに第2の内側交点から外側交点までの輝度値の減少率
をそれぞれスキャンライン毎に求めているので、第1の
外側交点から内側交点まで前記増加率に基づいて徐々に
輝度値を増加させ、前記第2の内側交点から外側交点ま
で前記減少率に基づいて徐々に輝度値を減少させること
により、スキャンラインの上流側から下流側へかけて順
番に輝度値を求めていくことができ、スキャンラインに
沿ったシーケンシャルな処理が可能になる。このため、
高速描画処理が実現できる。
ブロック図である。
説明するための図である。
説明するための図である。
の算出方法を説明するための図である。
の算出方法を説明するための図である。
するための図である。
ク図である。
ク図である。
ック図である。
路のブロック図である。
る。
を示す図である。
ある。
図である。
図である。
動作を説明するための図である。
の動作を説明するための図である。
図である。
を説明するための図である。
である。
を説明するための図である。
クセル処理回路、4…メモリ。
Claims (5)
- 【請求項1】 描画平面上の各グリッドを覆う面積に応
じた輝度値を与えることにより、多角形のエッジ部分を
滑らかに描画するようにした多角形描画装置において、 前記描画すべき多角形の各エッジとスキャンラインとの
交差部に関するデータであって、前記スキャンラインの
スキャン方向上流側エッジに対応する第1の外側交点及
び内側交点、前記スキャンラインのスキャン方向下流側
エッジに対応する第2の外側交点及び内側交点、前記第
1の外側交点から内側交点までの前記輝度値の増加率、
並びに前記第2の内側交点から外側交点までの前記輝度
値の減少率を含むライン交点データを各スキャンライン
毎に求めるエッジ計算手段と、 このエッジ計算手段で求められた前記各スキャンライン
毎のライン交点データに基づいて、各スキャンライン毎
にスキャン方向に前記多角形の内部の各輝度値をシーケ
ンシャルに求めるスキャンライン処理手段とを備え、 前記エッジ計算手段は、前記描画すべき多角形の頂点間
を所定サイズのダイアモンドブロックによってドラッグ
したときに得られる所定幅を持った各軌跡の両エッジと
スキャンラインとの交点を求め、前記スキャン方向上流
側の前記軌跡の両エッジとスキャンラインとの交点にそ
れぞれスキャン方向下流側で隣接するグリッド上の位置
をそれぞれ前記第1の外側交点及び内側交点とし、前記
スキャン方向下流側の前記軌跡の両エッジとスキャンラ
インとの交点にそれぞれスキャン方向上流側で隣接する
グリッド上の位置をそれぞれ前記第2の外側交点及び内
側交点とするものである ことを特徴とする多角形描画装
置。 - 【請求項2】 前記エッジ計算手段は、前記第1の外側
交点における輝度値及び前記第2の内側交点とスキャン
方向下流側で隣接するグリッド上の点における輝度値を
それぞれ初期値として算出するものであることを特徴と
する請求項1記載の多角形描画装置。 - 【請求項3】 前記スキャンライン処理手段は、各スキ
ャンライン毎に前記第1の外側交点から内側交点まで前
記増加率を累算して各輝度値を出力し、前記第1の内側
交点から前記第2の内側交点まで一定の輝度値を出力
し、且つ前記第2の内側交点から外側交点まで前記減少
率を累算して各輝度値を出力するものであることを特徴
とする請求項1又は2記載の多角形描画装置。 - 【請求項4】 描画平面上の各グリッドを覆う面積に応
じた輝度値を与えることにより、多角形のエッジ部分を
滑らかに描画するようにした多角形描画プログラムを記
憶した媒体において、 前記描画すべき多角形の各エッジとスキャンラインとの
交差部に関するデータであって、前記スキャンラインの
スキャン方向上流側エッジに対応する第1の外側交点及
び内側交点、前記スキャンラインのスキャン方向下流側
エッジに対応する第2の外側交点及び内側交点、前記第
1の外側交点から内側交点までの前記輝度値の増加率、
並びに前記第2の内側交点から外側交点までの前記輝度
値の減少率を含むライン交点データを各スキャンライン
毎に求めるエッジ計算ステップと、 このエッジ計算ステップで求められた前記各スキャンラ
イン毎のライン交点データに基づいて、各スキャンライ
ン毎にスキャン方向に前記多角形の内部の各輝度値をシ
ーケンシャルに求めるスキャンライン処理ステップとを
備え、 前記エッジ計算ステップは、前記描画すべき多角形の頂
点間を所定サイズのダイアモンドブロックによってドラ
ッグしたときに得られる所定幅を持った各軌跡の両エッ
ジとスキャンラインとの交点を求め、前記スキャン方向
上流側の前記軌跡の両エッジとスキャンラインとの交点
にそれぞれスキャン方向下流側で隣接するグリッド上の
位置をそれぞれ前記第1の外側交点及び内側交点とし、
前記スキャン方向下流側の前記軌跡の両エッジとスキャ
ンラインとの交点にそれぞれスキャン方向上流側で隣接
するグリッド上の位置をそれぞれ前記第2の外側交点及
び内側交点と する多角形描画プログラムを記憶した媒
体。 - 【請求項5】 描画平面上の各グリッドを覆う面積に応
じた輝度値を与えることにより、多角形のエッジ部分を
滑らかに描画するようにした多角形描画方法において、 前記描画すべき多角形の各エッジとスキャンラインとの
交差部に関するデータであって、前記スキャンラインの
スキャン方向上流側エッジに対応する第1の外側交点及
び内側交点、前記スキャンラインのスキャン方向下流側
エッジに対応する第2の外側交点及び内側交点、前記第
1の外側交点から内側交点までの前記輝度値の増加率、
並びに前記第2の内側交点から外側交点までの前記輝度
値の減少率を含むライン交点データを各スキャンライン
毎に求めると共に、この求められた前記各スキャンライ
ン毎のライン交点データに基づいて、各スキャンライン
毎にスキャン方向に前記多角形の内部の各輝度値をシー
ケンシャルに求めるに際し、 前記描画すべき多角形の頂点間を所定サイズのダイアモ
ンドブロックによってドラッグしたときに得られる所定
幅を持った各軌跡の両エッジとスキャンラインとの交点
を求め、前記スキャン方向上流側の前記軌跡の両エッジ
とスキャンラインとの交点にそれぞれスキャン方向下流
側で隣接するグリッド上の位置をそれぞれ前記第1の外
側交点及び内側交点とし、前記スキャン方向下流側の前
記軌跡の両エッジとスキャンラインとの交点にそれぞれ
スキャン方向上流側で隣接するグリッド上の位置をそれ
ぞれ前記第2の外側交点及び内側交点とする ようにした
ことを特徴とする多角形描画方法。
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)
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 | 广东工业大学 | 一种表格线交点检测方法、电子设备及可读存储介质 |
-
1997
- 1997-07-10 JP JP18558197A patent/JP3161372B2/ja not_active Expired - Fee Related
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 |