JPH0248780A - 直線発生装置 - Google Patents
直線発生装置Info
- Publication number
- JPH0248780A JPH0248780A JP20052088A JP20052088A JPH0248780A JP H0248780 A JPH0248780 A JP H0248780A JP 20052088 A JP20052088 A JP 20052088A JP 20052088 A JP20052088 A JP 20052088A JP H0248780 A JPH0248780 A JP H0248780A
- Authority
- JP
- Japan
- Prior art keywords
- point
- coordinate axis
- data
- coordinates
- difference
- 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.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は直線発生装置に関し、特に図形を生成・表示す
る情報処理装置等における3次元座標上の直線の発生や
直線上のカラー情報をスムーズに変化させることによっ
て3次元物体を表現することのできる直線発生装置に関
する。
る情報処理装置等における3次元座標上の直線の発生や
直線上のカラー情報をスムーズに変化させることによっ
て3次元物体を表現することのできる直線発生装置に関
する。
コンピュータ・デイスプレィ上に3次元的な物体を表示
するための技術、いわゆる3次元グラフィックスは昨今
急速に普及してきている。
するための技術、いわゆる3次元グラフィックスは昨今
急速に普及してきている。
2次元平面のデイスプレィに3次元物体をそれらしく表
現するために、手前にある物体によって隠される面を表
示しないようにする隠面消去、曲面をもった物体をそれ
らしく表示するシェーディングをおこなう方式などが考
えられてきた。
現するために、手前にある物体によって隠される面を表
示しないようにする隠面消去、曲面をもった物体をそれ
らしく表示するシェーディングをおこなう方式などが考
えられてきた。
種々の方式の内、もっともアルゴリズムが単純で高速化
に適した方法としては、隠面消去法に関してはZバッフ
ァ・アルゴリズム、シェーディング方式に関してはグー
ローの方法と呼ばれる手法がある。
に適した方法としては、隠面消去法に関してはZバッフ
ァ・アルゴリズム、シェーディング方式に関してはグー
ローの方法と呼ばれる手法がある。
Zバッファ・アルゴリズムは、通常の表示データを格納
しておくメモリの他に、それらのデータに1対1に対応
するZバッファと呼ばれるメモリを備えておき、表示し
ようのするデータの奥行きをしめすZ値を計算し、Zバ
ッファにすでに書かれたZ。値を読出してこれと比較し
、手前にあった時だけ(Z <Zo )データおよびZ
値を書き換えるという方法である。これを繰り返してい
くことによって、隠面消去が実現できる。
しておくメモリの他に、それらのデータに1対1に対応
するZバッファと呼ばれるメモリを備えておき、表示し
ようのするデータの奥行きをしめすZ値を計算し、Zバ
ッファにすでに書かれたZ。値を読出してこれと比較し
、手前にあった時だけ(Z <Zo )データおよびZ
値を書き換えるという方法である。これを繰り返してい
くことによって、隠面消去が実現できる。
グーローの方法は、書込むデータのカラー情報そのもの
をスムーズに変化させることによって曲面を滑らかに見
せようとするものである。カラー値の生成は上述したZ
値の生成方法と、直線発生の面からみると原理的に同じ
であり、発生した値を奥行き情報に用いるのでなく、直
接カラー値として用いるというように利用法が異なるだ
けである。
をスムーズに変化させることによって曲面を滑らかに見
せようとするものである。カラー値の生成は上述したZ
値の生成方法と、直線発生の面からみると原理的に同じ
であり、発生した値を奥行き情報に用いるのでなく、直
接カラー値として用いるというように利用法が異なるだ
けである。
さて、両方式はともに直線の発生に伴って利用すること
が基本となる。2次元の直線発生方法の、周知の技術と
してディジタル微分解析法(以下DDAと呼ぶ)がある
。これは、直線の点列のX、Y座標を正確にかつ乗算、
除算を行わないで求めることができるので、多くのグラ
フィックス・デイスプレィ装置に応用され広く普及して
いる技術である。
が基本となる。2次元の直線発生方法の、周知の技術と
してディジタル微分解析法(以下DDAと呼ぶ)がある
。これは、直線の点列のX、Y座標を正確にかつ乗算、
除算を行わないで求めることができるので、多くのグラ
フィックス・デイスプレィ装置に応用され広く普及して
いる技術である。
次に、DDAについて簡単に説明する。
まず、直線の始点、終点座標からX座標軸方向の差分D
X、Y座標軸方向の差分DYを求める。
X、Y座標軸方向の差分DYを求める。
そして、これら差分DX、DYの絶対値の大きいほうを
基準座標軸として、その基準座標軸の始点の座標値を初
期値にして単位座標値“1”を加算(又は減算)して行
く。
基準座標軸として、その基準座標軸の始点の座標値を初
期値にして単位座標値“1”を加算(又は減算)して行
く。
一方、基準座標軸にならなかった座標軸の座標値は基準
座標軸の増減に同期して、原理的にはDX/DY(又は
D Y/D X )の傾きを加えて行き、1を越えたか
否かで増減させる代わりに、D X/D Yを直接加算
又は減算しないですむように変形した式をもとに増減を
判定する。
座標軸の増減に同期して、原理的にはDX/DY(又は
D Y/D X )の傾きを加えて行き、1を越えたか
否かで増減させる代わりに、D X/D Yを直接加算
又は減算しないですむように変形した式をもとに増減を
判定する。
3次元直線に関しては、X−Y平面上の直線はDDAで
発生するが、3次元目のZ値、カラー値は、X−Z平面
あるいはY−Z平面上の直線の傾き計算しこれを直接加
えて求めるというような手法を採っていた。なぜならば
、DDAの基本は差分の大きい座標軸を基準とすること
であるが、互いに独立なXYZ座標系上の直線の始点、
終点座標の差分の大小はさまざまであるので、直接的に
はZ値をDDAで求められなかったためである。
発生するが、3次元目のZ値、カラー値は、X−Z平面
あるいはY−Z平面上の直線の傾き計算しこれを直接加
えて求めるというような手法を採っていた。なぜならば
、DDAの基本は差分の大きい座標軸を基準とすること
であるが、互いに独立なXYZ座標系上の直線の始点、
終点座標の差分の大小はさまざまであるので、直接的に
はZ値をDDAで求められなかったためである。
上述した従来の直線発生装置は、X−Y平面上の直線は
DDAにより発生するが、3次元目の値はDDAにより
発生することができないために、始点、終点間の傾きを
直接加算して行く構成となっているので、傾きD Z/
D X又はD Z/D Yを除算で求める場合、これを
求めるビット数で精度が決り、順次加算されるので誤差
が増大するという欠点があった。逆に、精度を上げるた
めに小数点以下のビット数を多くすると除算に要する計
算時間が長くなり、性能が劣化するという欠点がある。
DDAにより発生するが、3次元目の値はDDAにより
発生することができないために、始点、終点間の傾きを
直接加算して行く構成となっているので、傾きD Z/
D X又はD Z/D Yを除算で求める場合、これを
求めるビット数で精度が決り、順次加算されるので誤差
が増大するという欠点があった。逆に、精度を上げるた
めに小数点以下のビット数を多くすると除算に要する計
算時間が長くなり、性能が劣化するという欠点がある。
本発明の目的は、誤差が増大するのを防止して所定の精
度が得られ、かつ計算時間を短縮することができる直線
発生装置を提供することにある。
度が得られ、かつ計算時間を短縮することができる直線
発生装置を提供することにある。
本発明の直線発生装置は、始点及び終点のX。
Y座標とこれらX、Y座標に対する第3の座標及び付属
データの少なくとも一方を含む第3のデータとを格納す
る入力レジスタ群と、この入力レジスタ群に格納されて
いるX、Y座標からX、X座標軸方向の前記始点、終点
間の差分を求め、これら差分の絶対値の大きい方の座標
軸を基準座標軸としてこれら差分からX−Y平面上の前
記始点。
データの少なくとも一方を含む第3のデータとを格納す
る入力レジスタ群と、この入力レジスタ群に格納されて
いるX、Y座標からX、X座標軸方向の前記始点、終点
間の差分を求め、これら差分の絶対値の大きい方の座標
軸を基準座標軸としてこれら差分からX−Y平面上の前
記始点。
終点間の中間の直線座標を算出するためのパラメータを
発生し格納する手段と、前記入力レジスタ群に格納され
ている第3のデータの始点、終点間の差分を求め、この
差分を前記基準座標軸方向の差分て除算した値の整数部
及び小数部を求め、これら整数部及び小数部並びに前記
基準座標軸方向の差分から前記第3のデータの始点、終
点間の中間の値を算出するためのパラメータを発生し格
納する手段と、前記X−Y平面上の始点から基準座標軸
方向に所定の単位座標値づつ順次単調増加(又は減少)
させて行くと共にこの単位座標値の単調増加(又は減少
)に同期して前記X−Y平面に対するパラメータをもと
に所定の演算を行い前記基準座標軸と対をなす座標軸方
向の各座標を求め、前記X−Y平面上の始点、終点間の
中間の各直線座標を算出する手段と、前記基準座標軸方
向の単調増加(又は減少)に同期して前記第3のデータ
に対するパラメータをもとに所定の演算を行い、前記第
3のデータの始点、終点間の各中間の値を算出する手段
とを有している。
発生し格納する手段と、前記入力レジスタ群に格納され
ている第3のデータの始点、終点間の差分を求め、この
差分を前記基準座標軸方向の差分て除算した値の整数部
及び小数部を求め、これら整数部及び小数部並びに前記
基準座標軸方向の差分から前記第3のデータの始点、終
点間の中間の値を算出するためのパラメータを発生し格
納する手段と、前記X−Y平面上の始点から基準座標軸
方向に所定の単位座標値づつ順次単調増加(又は減少)
させて行くと共にこの単位座標値の単調増加(又は減少
)に同期して前記X−Y平面に対するパラメータをもと
に所定の演算を行い前記基準座標軸と対をなす座標軸方
向の各座標を求め、前記X−Y平面上の始点、終点間の
中間の各直線座標を算出する手段と、前記基準座標軸方
向の単調増加(又は減少)に同期して前記第3のデータ
に対するパラメータをもとに所定の演算を行い、前記第
3のデータの始点、終点間の各中間の値を算出する手段
とを有している。
本発明は、正確な3次元目のZ値を高速に計算するため
に、次のような考え方を導入した。
に、次のような考え方を導入した。
まず、Z値の発生をDDAでおこなうことを基本とする
。そのために、X−Z平面又はY−Z平面の直線の傾き
を整数部と1未満の小数部に分離する。
。そのために、X−Z平面又はY−Z平面の直線の傾き
を整数部と1未満の小数部に分離する。
たとえば、始点(0,O,O)と終点(1o。
7.23>を直線で補間するとする。
基準座標軸は、差分の大きいX座標軸になる。
X−Y平面上では、X座標軸方向に単位座標値“1“を
順次加算しながらX座標軸方向の座標値を計算していく
。
順次加算しながらX座標軸方向の座標値を計算していく
。
一方Z値は、X−Z平面上の直線を発生して求める。こ
の場合、傾きは、23/10であるので、整数部は2、
小数部は3/10となる。
の場合、傾きは、23/10であるので、整数部は2、
小数部は3/10となる。
これらの値から、Z値の直線、Z=(23/10)・X
は、Z=2・X+(3/10)・Xで表現されることに
なる。すなわち、Z値を求めるにあたって、2・Xにつ
いてはXの゛+1パの増加に対して“+2″させていけ
ばよく、(3/10)・Xについては従来のDDAを適
用することができる。
は、Z=2・X+(3/10)・Xで表現されることに
なる。すなわち、Z値を求めるにあたって、2・Xにつ
いてはXの゛+1パの増加に対して“+2″させていけ
ばよく、(3/10)・Xについては従来のDDAを適
用することができる。
この方法は、X、Y座環値の計算と全く同期してZ値を
求めることができるため、処理が単純であり、またDD
Aを利用しているので正確なZ値を算出できる上、除算
をした結果の整数部と小数部とを求めるだけに簡略化で
きるという特徴を有している。
求めることができるため、処理が単純であり、またDD
Aを利用しているので正確なZ値を算出できる上、除算
をした結果の整数部と小数部とを求めるだけに簡略化で
きるという特徴を有している。
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の一実施例を示すブロック図である。こ
の実施例は、始点(Xs 、 Ys 、 Zs )と終
点(XE 、 YE 、 ZE )を結ぶ直線を発生す
る機能を有するものでカラー・データは固定したときの
例を示すものである。
の実施例は、始点(Xs 、 Ys 、 Zs )と終
点(XE 、 YE 、 ZE )を結ぶ直線を発生す
る機能を有するものでカラー・データは固定したときの
例を示すものである。
この第1図に示された実施例を説明する前に、まず、第
2図に示されたフローチャートをもとに処理全体のフロ
ーについて概要を説明する。
2図に示されたフローチャートをもとに処理全体のフロ
ーについて概要を説明する。
与えられた始点、終点座標をもとにX、Y、X座標軸方
向のそれぞれの変化量すなわち差分DX、DY、DZを
もとめる。X、X座標軸方向の差分DX、DYをもとに
DDAに必要なパラメータを計算する。
向のそれぞれの変化量すなわち差分DX、DY、DZを
もとめる。X、X座標軸方向の差分DX、DYをもとに
DDAに必要なパラメータを計算する。
一方、X座標軸方向については、X座標軸あるいはX座
標軸方向の差分の大きいほうの値でX座標軸方向の差分
を割った整数部と小数部とを求める。その小数部をもと
にZ値発生のためのDDAに必要なパラメータを計算す
る。ここまで(手順P1〜P4)がいわゆる前処理であ
る。
標軸方向の差分の大きいほうの値でX座標軸方向の差分
を割った整数部と小数部とを求める。その小数部をもと
にZ値発生のためのDDAに必要なパラメータを計算す
る。ここまで(手順P1〜P4)がいわゆる前処理であ
る。
次に、実際の描画処理すなわち直線発生を行う。
まず、X−Y平面上の直線と対応する点くX。
Y)からZバッファにすでに書かれているカラー・デー
タとZ。値とを読出し、計算で求めたz値とZe値とを
比較し、Z (Zoであれば新しいカラー・データとz
値とをZバッファ等の表示メモリの点(X、Y)に書き
戻す。Z≧Zoであれば何も行わない(手順P5〜P7
)。
タとZ。値とを読出し、計算で求めたz値とZe値とを
比較し、Z (Zoであれば新しいカラー・データとz
値とをZバッファ等の表示メモリの点(X、Y)に書き
戻す。Z≧Zoであれば何も行わない(手順P5〜P7
)。
つづいて、x、y、z値の更新を行う。これは前処理で
生成したDDA用のパラメータをもとにDDAにより計
算する(手順P8)。
生成したDDA用のパラメータをもとにDDAにより計
算する(手順P8)。
最後に、終点座標まで描画したかどうかをチエツクして
終点座標まで以上の動作を繰り返す(手順p9.p弓〜
P9)。
終点座標まで以上の動作を繰り返す(手順p9.p弓〜
P9)。
次に、この実施例のハードウェアについて説明する。
第1図において、1は直線発生に必要な始点及び終点の
各データを格納する入力レジスタ群、2は入力レジスタ
群1のリード・ライト制御などを行う入力制御部、3は
処理の流れを制御するシーケンサ、4は入力データを描
画演算に適した形式に変換するパラメータ処理部、5は
描画レジスタ群、6,7は描画レジスタ群5の内容を演
算処理する演算回路、8はカラー・データと2値を処理
するデータ選択部、9は外部のZバッファ等の表示メモ
リの対するアドレスを出力するアドレス出力部、R1へ
R18はそれぞれ16ビツトのレジスタ、D1〜Dll
はデータ、S、〜sitは制御信号である。
各データを格納する入力レジスタ群、2は入力レジスタ
群1のリード・ライト制御などを行う入力制御部、3は
処理の流れを制御するシーケンサ、4は入力データを描
画演算に適した形式に変換するパラメータ処理部、5は
描画レジスタ群、6,7は描画レジスタ群5の内容を演
算処理する演算回路、8はカラー・データと2値を処理
するデータ選択部、9は外部のZバッファ等の表示メモ
リの対するアドレスを出力するアドレス出力部、R1へ
R18はそれぞれ16ビツトのレジスタ、D1〜Dll
はデータ、S、〜sitは制御信号である。
まず、入力レジスタ群1の各レジスタR1〜R7に、上
位に位置付けられるホスト・システムから、始点、終点
の座標(Xs 、 Ys 、 Zs ) 。
位に位置付けられるホスト・システムから、始点、終点
の座標(Xs 、 Ys 、 Zs ) 。
(Xi 、 Yt 、 Ze )及び付属データである
直線のカラー・データCRLを格納する。これらレジス
タR1〜R7の選択は、制御信号S1をもとに入力制御
部2によりデコードされた制御信号SKIによっておこ
なわれる。ホスト・システムは必要なデータを格納した
後、制御信号S1によってシーケンサ3の動作を開始さ
せる。
直線のカラー・データCRLを格納する。これらレジス
タR1〜R7の選択は、制御信号S1をもとに入力制御
部2によりデコードされた制御信号SKIによっておこ
なわれる。ホスト・システムは必要なデータを格納した
後、制御信号S1によってシーケンサ3の動作を開始さ
せる。
パラメータ処理部4は、演算回路6.7と共に描画レジ
スタ群5の各レジスタR8〜R14を使用してシーケン
サ3からの制御信号S4〜S7のもとに、入力レジスタ
群1に格納されている始点及び終点の座標(Xs 、
Ys 、 Zs ) 、 (Xi 。
スタ群5の各レジスタR8〜R14を使用してシーケン
サ3からの制御信号S4〜S7のもとに、入力レジスタ
群1に格納されている始点及び終点の座標(Xs 、
Ys 、 Zs ) 、 (Xi 。
YE、Zs)からx、y、z座標軸方向の始点。
終点間の各差分DX、DY、DZを求め、差分DX、D
Yの絶対値の大きい方の座標軸を基準座標軸としてこれ
ら差分DX、DY、DZから、X−Y平面上の始点、終
点間の中間の直線座標を算出するためのDDAパラメー
タを発生し、また、差分DZを基準座標軸方向の差分(
仮にDXとする)で除算したDZ/DXの値の整数部及
び小数部を求め、これら整数部、小数部及び基準座標軸
方向の差分DXからZ座標軸方向の始点、終点間の中間
の座標を算出するためのDDAパラメータを発生する。
Yの絶対値の大きい方の座標軸を基準座標軸としてこれ
ら差分DX、DY、DZから、X−Y平面上の始点、終
点間の中間の直線座標を算出するためのDDAパラメー
タを発生し、また、差分DZを基準座標軸方向の差分(
仮にDXとする)で除算したDZ/DXの値の整数部及
び小数部を求め、これら整数部、小数部及び基準座標軸
方向の差分DXからZ座標軸方向の始点、終点間の中間
の座標を算出するためのDDAパラメータを発生する。
描画レジスタ群5は、パラメータ処理部4及び演算回路
6,7により発生した各DDAパラメータをレジスタR
8〜R14にそれぞれ格納すると共に、レジスタR15
〜R18にまずはじめにX、Y。
6,7により発生した各DDAパラメータをレジスタR
8〜R14にそれぞれ格納すると共に、レジスタR15
〜R18にまずはじめにX、Y。
Z及びカラー・データの初期値(始点の値)を格納して
おく。
おく。
演算回路6.7は、上述のDDAパラメータ発生後、描
画レジスタ群5の各レジスタR8〜R17を使用してシ
ーケンサ3からの制御信号S、〜S7のもとに、X−Y
平面上の始点から基準座標軸〈X座標軸)方向に、単位
M標値“1″づつを順次単調増加(又は減少)させて行
くと共にこの単調増加(又は減少)に同期してX−Y平
面に対するDDAパラメータをもとにDDA演算を行い
基準座標軸と対をなす座標軸(Y座標軸)方向の各座標
を求め、X−Y平面上の始点、終点間の中間の各直線座
標を算出しその結果を順次レジスタR,6,R,,に格
納し、基準座標軸方向の単調増加(又は減少)と同期し
て、Z座標軸方向に対するDDAパラメータをもとにD
DA演算を行いZ座標軸方向の始点、終点間の中間の各
座標を算出してその結果を順次レジスタR15に格納す
る。
画レジスタ群5の各レジスタR8〜R17を使用してシ
ーケンサ3からの制御信号S、〜S7のもとに、X−Y
平面上の始点から基準座標軸〈X座標軸)方向に、単位
M標値“1″づつを順次単調増加(又は減少)させて行
くと共にこの単調増加(又は減少)に同期してX−Y平
面に対するDDAパラメータをもとにDDA演算を行い
基準座標軸と対をなす座標軸(Y座標軸)方向の各座標
を求め、X−Y平面上の始点、終点間の中間の各直線座
標を算出しその結果を順次レジスタR,6,R,,に格
納し、基準座標軸方向の単調増加(又は減少)と同期し
て、Z座標軸方向に対するDDAパラメータをもとにD
DA演算を行いZ座標軸方向の始点、終点間の中間の各
座標を算出してその結果を順次レジスタR15に格納す
る。
アドレス出力部9は、基準座標軸方向の単調増加(又は
減少〉に同期して、すなわちX、Y座標が更新される都
度、レジスタR16,R17からX。
減少〉に同期して、すなわちX、Y座標が更新される都
度、レジスタR16,R17からX。
Y座標を読出し出力する。
データ選択部8は、Zバッファ等の表示メモリの、アド
レス出力部9からのX、Y座標と対応するアドレスから
読出されたZo値及びカラー・データを入力し、レジス
タR15の値ZとZo値とを比較してZ<Zoであれば
表示メモリにレジスタR,4,R18の値を書き戻し、
Z≧Zoであれば何も行なわないで次へと進む。
レス出力部9からのX、Y座標と対応するアドレスから
読出されたZo値及びカラー・データを入力し、レジス
タR15の値ZとZo値とを比較してZ<Zoであれば
表示メモリにレジスタR,4,R18の値を書き戻し、
Z≧Zoであれば何も行なわないで次へと進む。
このようにして、XYZ座標系における始点。
終点間を結ぶ直線の発生と、Z座標軸方向及びカラー・
データの隠面消去処理が行なわれる。
データの隠面消去処理が行なわれる。
第3図は第2図に示されたフローチャートの手順P、〜
P4の詳細な流れを示すフローチャートである。
P4の詳細な流れを示すフローチャートである。
第3図において、DXYI〜DXY3がX−Y平面に対
するDDAパラメータであり、描画レジスタ群5のレジ
スタR8〜R1oにそれぞれ格納される。また、DZ1
〜DZ3及びSがZ座標軸方向に対するDDAパラメー
タであり、描画レジスタ群5のレジスタRI4〜R1フ
にそれぞれ格納される。
するDDAパラメータであり、描画レジスタ群5のレジ
スタR8〜R1oにそれぞれ格納される。また、DZ1
〜DZ3及びSがZ座標軸方向に対するDDAパラメー
タであり、描画レジスタ群5のレジスタRI4〜R1フ
にそれぞれ格納される。
第4図は第2図に示されたフローチャートの手順P8の
詳細な流れを示すフローチャートである。
詳細な流れを示すフローチャートである。
X−Y平面及びZ座標軸方向に対するDDAパラメータ
DX¥1〜DxY3.DZ1〜DZ3及びSを使用して
DDA演算が行なわれ、レジスタR15〜R17に格納
されているX、Y、Z座標が順次更新される。
DX¥1〜DxY3.DZ1〜DZ3及びSを使用して
DDA演算が行なわれ、レジスタR15〜R17に格納
されているX、Y、Z座標が順次更新される。
なお、演算回路を2系統備えたのは、性能を向上させる
ためであり、また、第4図のフローチャートの手順P
19+ R21の正負の判定によるシーケンサ3におけ
る処理の分岐は、演算回路6から出力される制御信号S
IOにもとづいて実行される。
ためであり、また、第4図のフローチャートの手順P
19+ R21の正負の判定によるシーケンサ3におけ
る処理の分岐は、演算回路6から出力される制御信号S
IOにもとづいて実行される。
上記実施例においては、カラー・データを固定しXYZ
座標系における直線を発生する場合について述べたが、
始点(Xs 、 Ys )と終点(XE 、 Yv、
)とを結ぶ2次元の直線に対し、始点、終点それぞれに
カラー・データを定義し、始点、終点間の中間点のカラ
ー・データを直線補間により求めることもできる。これ
は、グーローの方法によるシェーディングを実現するの
に必要な機能である。
座標系における直線を発生する場合について述べたが、
始点(Xs 、 Ys )と終点(XE 、 Yv、
)とを結ぶ2次元の直線に対し、始点、終点それぞれに
カラー・データを定義し、始点、終点間の中間点のカラ
ー・データを直線補間により求めることもできる。これ
は、グーローの方法によるシェーディングを実現するの
に必要な機能である。
この処理は、上記実施例のハードウェアを用いて容易に
実現できる。
実現できる。
まず、第2図を参照して処理のフローを説明する。
この処理では、第2図の“Z“をカラー・データに置換
えるとともに手順P5〜P7の部分を次のように変更す
る。
えるとともに手順P5〜P7の部分を次のように変更す
る。
メモリ上の点(X、Y)からデータを読出したり、Z値
を比較する必要はなく、単に求めたZ値(カラー値)を
点(x、y)に書込めばよい。
を比較する必要はなく、単に求めたZ値(カラー値)を
点(x、y)に書込めばよい。
従って、第1図に示されたデータ選択部8の動作が単純
になり、レジスタR15から入力したZ値をデータDI
Oとして出力すればよい。上述したデータ選択部8への
動作指示は制御信号S8によって行うことができる。
になり、レジスタR15から入力したZ値をデータDI
Oとして出力すればよい。上述したデータ選択部8への
動作指示は制御信号S8によって行うことができる。
なお、上記実施例の表示メモリに対するアドレス発生は
、X座標値、Y座標値を結合したものであったが、X、
Y座標の計算とは独立に発生させたり、データ選択部8
において表示メモリから読出したデータと新たに書込む
カラー・データを演算した結果を書込むハードウェアを
追加したとしても本発明の主旨から逸脱するものではな
い。
、X座標値、Y座標値を結合したものであったが、X、
Y座標の計算とは独立に発生させたり、データ選択部8
において表示メモリから読出したデータと新たに書込む
カラー・データを演算した結果を書込むハードウェアを
追加したとしても本発明の主旨から逸脱するものではな
い。
さらに、本発明の実施例は3次元直線発生とシェーディ
ング直線発生とを個別に実現するものを示したが、これ
らを複合させて3次元直線をシェーディングを行いなが
ら発生させることも容易に実現できる。また、1種類の
カラー・データだけでなく、複数のカラー・データ処理
を行わせることによって、いわゆるR G B (RE
D、GREEN。
ング直線発生とを個別に実現するものを示したが、これ
らを複合させて3次元直線をシェーディングを行いなが
ら発生させることも容易に実現できる。また、1種類の
カラー・データだけでなく、複数のカラー・データ処理
を行わせることによって、いわゆるR G B (RE
D、GREEN。
BLLE)の三原色に対応させてシューディング処理を
実現させることもできる。
実現させることもできる。
以上説明したように本発明は、始点及び終点のX、Y座
標に対する第3のデータの始点、終点間の差分を、X、
Y座標軸方向の差分の絶対値の大きい方の差分て除算し
て整数部と小数部とに分け、第3のデータの始点、終点
間の中間の値を整数部の加算(又は減算)と小数部側の
DDA演算とにより求める構成とすることにより、従来
のように第3のデータの傾きをそのまま直接加算(又は
減算)するのでなく、整数の加算(又は減算)とDDA
とにより処理されるので、誤差が増大するのを防止して
所定の精度を得ることができ、また、従来の方法では傾
きの演算精度を上げるためには演算処理のビット数を多
くする必要があったが本発明においてはその必要がない
ので、計算時間を短縮することができる効果がある。
標に対する第3のデータの始点、終点間の差分を、X、
Y座標軸方向の差分の絶対値の大きい方の差分て除算し
て整数部と小数部とに分け、第3のデータの始点、終点
間の中間の値を整数部の加算(又は減算)と小数部側の
DDA演算とにより求める構成とすることにより、従来
のように第3のデータの傾きをそのまま直接加算(又は
減算)するのでなく、整数の加算(又は減算)とDDA
とにより処理されるので、誤差が増大するのを防止して
所定の精度を得ることができ、また、従来の方法では傾
きの演算精度を上げるためには演算処理のビット数を多
くする必要があったが本発明においてはその必要がない
ので、計算時間を短縮することができる効果がある。
ジスタ群、6,7・・・演算回路、8・・・データ選択
部、9・・・アドレス出力部、P1〜P24・・・手順
、R1〜R18・・・レジスタ。
部、9・・・アドレス出力部、P1〜P24・・・手順
、R1〜R18・・・レジスタ。
第1図は本発明のτ実施例を示すブロック図、ぞれ第2
図に示されたフローチャートの手順の一部を詳細な流れ
で示したフローチャートである。
図に示されたフローチャートの手順の一部を詳細な流れ
で示したフローチャートである。
Claims (1)
- 始点及び終点のX、Y座標とこれらX、Y座標に対す
る第3の座標及び付属データの少なくとも一方を含む第
3のデータとを格納する入力レジスタ群と、この入力レ
ジスタ群に格納されているX、Y座標からX、Y座標軸
方向の前記始点、終点間の差分を求め、これら差分の絶
対値の大きい方の座標軸を基準座標軸としてこれら差分
からX−Y平面上の前記始点、終点間の中間の直線座標
を算出するためのパラメータを発生し格納する手段と、
前記入力レジスタ群に格納されている第3のデータの始
点、終点間の差分を求め、この差分を前記基準座標軸方
向の差分で除算した値の整数部及び小数部を求め、これ
ら整数部及び小数部並びに前記基準座標軸方向の差分か
ら前記第3のデータの始点、終点間の中間の値を算出す
るためのパラメータを発生し格納する手段と、前記X−
Y平面上の始点から基準座標軸方向に所定の単位座標値
づつ順次単調増加(又は減少)させて行くと共にこの単
位座標値の単調増加(又は減少)に同期して前記X−Y
平面に対するパラメータをもとに所定の演算を行い前記
基準座標軸と対をなす座標軸方向の各座標を求め、前記
X−Y平面上の始点、終点間の中間の各直線座標を算出
する手段と、前記基準座標軸方向の単調増加(又は減少
)に同期して前記第3のデータに対するパラメータをも
とに所定の演算を行い、第3のデータの始点、終点間の
各中間の値を算出する手段とを有することを特徴とする
直線発生装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20052088A JPH0248780A (ja) | 1988-08-10 | 1988-08-10 | 直線発生装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20052088A JPH0248780A (ja) | 1988-08-10 | 1988-08-10 | 直線発生装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0248780A true JPH0248780A (ja) | 1990-02-19 |
Family
ID=16425677
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20052088A Pending JPH0248780A (ja) | 1988-08-10 | 1988-08-10 | 直線発生装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0248780A (ja) |
-
1988
- 1988-08-10 JP JP20052088A patent/JPH0248780A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4148560B2 (ja) | 浮動小数点除算演算装置 | |
| JP2501580B2 (ja) | 曲線イメ−ジの可視表示発生装置 | |
| US6377265B1 (en) | Digital differential analyzer | |
| JPH09167255A (ja) | バンプマッピングとポンシェーディングを選択的に行う実時間レンダリング方法及び装置 | |
| JPH0935075A (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
| JPH0916806A (ja) | 立体画像処理装置 | |
| WO1996028794A1 (en) | Three-dimensional graphic display device | |
| US5179647A (en) | Method and apparatus for implementing adaptive forward differencing using integer arithmetic | |
| US20050024385A1 (en) | Method and apparatus for interpolating pixel parameters based on a plurality of vertex values | |
| JPH09134452A (ja) | コンピュータ・グラフィックス・ディスプレイ・システムにおける奥行きバッファ値の高速補間方法及びグラフィックス・システム | |
| JPH0248780A (ja) | 直線発生装置 | |
| JPH09120278A (ja) | コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法 | |
| JPH11185052A (ja) | 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法 | |
| JPH03144782A (ja) | 三次元図形処理装置 | |
| US6693634B1 (en) | Reduction rate processing circuit and method with logarithmic operation and image processor employing same | |
| CA2261245C (en) | Division circuit and graphic display processing apparatus | |
| KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
| JP3059739B2 (ja) | 曲線描画機能を備えた情報処理装置および処理方法 | |
| JP3268484B2 (ja) | シェーディング方法およびシェーディング装置 | |
| JP4244444B2 (ja) | データ処理装置、除算回路および画像処理装置 | |
| EP0256488B1 (en) | Method of interpolating pixel values | |
| JP3358891B2 (ja) | Z値の透視変換処理方法及び画像処理装置 | |
| RU2109350C1 (ru) | Устройство отображения графической информации | |
| JP4224887B2 (ja) | 信号処理装置および画像処理装置 | |
| JPH01288977A (ja) | 画像表示装置 |