JPH01284986A - 高速dda変換方式 - Google Patents
高速dda変換方式Info
- Publication number
- JPH01284986A JPH01284986A JP11582488A JP11582488A JPH01284986A JP H01284986 A JPH01284986 A JP H01284986A JP 11582488 A JP11582488 A JP 11582488A JP 11582488 A JP11582488 A JP 11582488A JP H01284986 A JPH01284986 A JP H01284986A
- Authority
- JP
- Japan
- Prior art keywords
- distance
- address
- value
- point coordinates
- register
- 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
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 241000972773 Aulopiformes Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 235000019515 salmon Nutrition 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
始点座標から終点座標に向かう直線に対応するアドレス
を生成する高速DDA変換方式に関し、1回の加減算で
1つのアドレスを計算し、高速に図形等を表示すること
を目的とし、 与えれた始点座標と終点座標との間のX方向の距g1m
xおよびY方向の距離myのうち、小さい方の距離my
(あるいは距離m x )と、距離mXと距離myとの
間の距離差(−(mx〜my))とを求め、値mr(当
初初期値を代入)の符号に対応して、上記小さい方の距
離my(あるいは距離mx)あるいは距離差(−(mx
〜my))のいずれかを当該値mrに対して減算する処
理を繰り返し終点座標まで実行し、この際、当該mrの
値が正となった時に上記小さい方の距W’ltmy(あ
るいは距離mx)の方向のアドレスを+1し、処理の繰
り返しに対応して大きい方の距離mx(あるいは距W4
my)の方向のアドレスを+IL、始点座標から終点座
標に向かう直線に対応するアドレスを生成するように構
成する。
を生成する高速DDA変換方式に関し、1回の加減算で
1つのアドレスを計算し、高速に図形等を表示すること
を目的とし、 与えれた始点座標と終点座標との間のX方向の距g1m
xおよびY方向の距離myのうち、小さい方の距離my
(あるいは距離m x )と、距離mXと距離myとの
間の距離差(−(mx〜my))とを求め、値mr(当
初初期値を代入)の符号に対応して、上記小さい方の距
離my(あるいは距離mx)あるいは距離差(−(mx
〜my))のいずれかを当該値mrに対して減算する処
理を繰り返し終点座標まで実行し、この際、当該mrの
値が正となった時に上記小さい方の距W’ltmy(あ
るいは距離mx)の方向のアドレスを+1し、処理の繰
り返しに対応して大きい方の距離mx(あるいは距W4
my)の方向のアドレスを+IL、始点座標から終点座
標に向かう直線に対応するアドレスを生成するように構
成する。
本発明は、始点座標から終点座標に向かう直線に対応す
るアドレスを生成する高速DDA変換方式に関するもの
である。
るアドレスを生成する高速DDA変換方式に関するもの
である。
〔従来の技術と発明が解決しようとする課題〕テスク走
査型図形表示装置において、画面上の線画、曲線、図面
などの図形データを表示する場合、表示しようとするベ
クトルデータについて、D D A (111g1La
l Differential Analyzer)を
用いてアドレスを順次高速に計算し、ビットプレーンと
呼ばれるメモリアレイに展開して書き込んでいDDA方
弐としては、ブレノサム・アルゴリズムが知られている
。従来の装置は、第5図に示すように、このプレノサム
・アルゴリズムを回路化して装rに搭載していた。この
方式は、次の1点のアドレスを計算するのに、毎回2回
の加減算を必要とし、高速に点列のアドレスを発生させ
るためには高速素子を用いて1サイクルの時間を速くす
る必要があり、それ程、高速化し得ないと共に回路構成
が煩雑となってしまうという問題があった。
査型図形表示装置において、画面上の線画、曲線、図面
などの図形データを表示する場合、表示しようとするベ
クトルデータについて、D D A (111g1La
l Differential Analyzer)を
用いてアドレスを順次高速に計算し、ビットプレーンと
呼ばれるメモリアレイに展開して書き込んでいDDA方
弐としては、ブレノサム・アルゴリズムが知られている
。従来の装置は、第5図に示すように、このプレノサム
・アルゴリズムを回路化して装rに搭載していた。この
方式は、次の1点のアドレスを計算するのに、毎回2回
の加減算を必要とし、高速に点列のアドレスを発生させ
るためには高速素子を用いて1サイクルの時間を速くす
る必要があり、それ程、高速化し得ないと共に回路構成
が煩雑となってしまうという問題があった。
以下第5図および第6図を用いて従来の回路およびアル
ゴリズムを簡単に説明する。
ゴリズムを簡単に説明する。
第6図において、第7行目で、■誤差計算する際に■減
算を1回、■加算を1回を行うようにしている。このた
め、第5図回路で、当該■加算に対してALU (加算
器)23および■減算に対してALU(id算器)24
の2つが必要となると共に、1つのアドレスを生成する
のに、加減算を合計2回実行する必要があった。
算を1回、■加算を1回を行うようにしている。このた
め、第5図回路で、当該■加算に対してALU (加算
器)23および■減算に対してALU(id算器)24
の2つが必要となると共に、1つのアドレスを生成する
のに、加減算を合計2回実行する必要があった。
尚、第5図において、与えられた始点座標と終点座標と
の間のX方向の距離Δx、Y方向の距離Δyとし、大き
い方をbaseレジスタ21にセントし、小さい方を非
baseレジスタにセット22し、ALU (加算器)
23、ALU (減算器)24に対して図示のように入
力する。そして、第6図アルゴリズムに従って、X、Y
アドレスカウンタIIP/DOWN制御回路25によっ
てアドレスを順次計数し、所望のアドレスを生成する。
の間のX方向の距離Δx、Y方向の距離Δyとし、大き
い方をbaseレジスタ21にセントし、小さい方を非
baseレジスタにセット22し、ALU (加算器)
23、ALU (減算器)24に対して図示のように入
力する。そして、第6図アルゴリズムに従って、X、Y
アドレスカウンタIIP/DOWN制御回路25によっ
てアドレスを順次計数し、所望のアドレスを生成する。
本発明は、1回の加減算で1つのアドレスを計算し、高
速に図形等を表示することを目的としている。
速に図形等を表示することを目的としている。
第1図は本発明の原理構成図を示す。
第1図(イ)において、ALU (加′fjt算器)1
は、加減算を行うものである。
は、加減算を行うものである。
レジスタd1は、距離mXあるいは距離+nyのうちの
小さい方を格納するものである。
小さい方を格納するものである。
レジスタd2は、距離差(−(mx −my))を格納
するものである。
するものである。
MPX4.5は、マルチプレクサであって、図示入力の
うちのいずれかを選択してALU lに入力するもので
ある。
うちのいずれかを選択してALU lに入力するもので
ある。
距離Ilx、距離myは、与えられた始点座標から終点
座標に向かうX方向およびX方向の距離である。
座標に向かうX方向およびX方向の距離である。
第1図(ロ)において、第1行から第5行が初期設定を
示す。
示す。
第10行が1回の減算処理で1つのアドレスを算出する
処理を示す。
処理を示す。
本発明は、第1図(イ)構成例に示すように1つのAL
Lllを設け、第1図(ロ)アルゴリズムに示すように
、第1に、例えば距離mxが距離myよりも大きい場合
に、第7行の前処理によって、レジスタd1に小さい方
の距離myを設定し、レジスタd2に距離差(my−m
x)を設定する。第2に、第9行の処理で値mrに対し
て初期値(mx/2−1)を代入する。第3に、第10
行の処理で値m「が負のときに当該値mrを(mr−d
2) とし、一方、値mrが負でないときに当3亥(直
mrを(mr−di) とする。この際、(mr−d
2)あるいは(mr−dl)という1回の減算を第1図
(イ)ALtJlを用いて行うようにしている。そして
、以降第3のステップを繰り返し、終点座標まで実行す
る。この際、この繰り返し毎に例えばX方向のアドレス
を+1し、値mrが正のときにX方向のアドレスを+1
するようにしている。この+1したX方向およびX方向
のアドレスが求めるアドレスである。
Lllを設け、第1図(ロ)アルゴリズムに示すように
、第1に、例えば距離mxが距離myよりも大きい場合
に、第7行の前処理によって、レジスタd1に小さい方
の距離myを設定し、レジスタd2に距離差(my−m
x)を設定する。第2に、第9行の処理で値mrに対し
て初期値(mx/2−1)を代入する。第3に、第10
行の処理で値m「が負のときに当該値mrを(mr−d
2) とし、一方、値mrが負でないときに当3亥(直
mrを(mr−di) とする。この際、(mr−d
2)あるいは(mr−dl)という1回の減算を第1図
(イ)ALtJlを用いて行うようにしている。そして
、以降第3のステップを繰り返し、終点座標まで実行す
る。この際、この繰り返し毎に例えばX方向のアドレス
を+1し、値mrが正のときにX方向のアドレスを+1
するようにしている。この+1したX方向およびX方向
のアドレスが求めるアドレスである。
従って、与えられた始点座標から終点座標に向かう直線
に沿ったアドレスを生成するのに、1回の減算処理(第
1図(ロ)■、■、■°、■”のうちの1つの減算処理
)によって1アドレスを順次生成することが可能となり
、高速に図形表示を行うことができる。
に沿ったアドレスを生成するのに、1回の減算処理(第
1図(ロ)■、■、■°、■”のうちの1つの減算処理
)によって1アドレスを順次生成することが可能となり
、高速に図形表示を行うことができる。
次に、第2図から第4図を用いて、本発明の1実施例の
構成および動作を順次詳細に説明する。
構成および動作を順次詳細に説明する。
第2図において、3−■ないし3−■を用いて、第3図
(イ)回路による初期設定の動作について詳細に説明す
る。
(イ)回路による初期設定の動作について詳細に説明す
る。
3−■は、レジスタxn(9点座標のXの値が格納され
ている)の値xnから、レジスタxi (始点座標のX
の値が格納されている)の値x1を、第3図(イ)AL
UI−1によって減算するようにMPX2.3を接続し
、その結果(xn−に1)の符号(1が負、0が正)を
s (x)として出力する。
ている)の値xnから、レジスタxi (始点座標のX
の値が格納されている)の値x1を、第3図(イ)AL
UI−1によって減算するようにMPX2.3を接続し
、その結果(xn−に1)の符号(1が負、0が正)を
s (x)として出力する。
3−■は、同様にyについて実行し、その結果(yn−
yl)をs <y>とじて出力する。
yl)をs <y>とじて出力する。
3−■は、5(x)=O(正、零)の場合に距離mx=
xn−xiとし、それ以外(負)の場合に距離mx=x
l−xnとする。
xn−xiとし、それ以外(負)の場合に距離mx=x
l−xnとする。
3−■は、同様にyについも実行し、s (y)・O(
正、零)の場合に距離my=yn−ylとし、それ以外
(負)の場合に距離my=yl−ynとする。
正、零)の場合に距離my=yn−ylとし、それ以外
(負)の場合に距離my=yl−ynとする。
以上の処理によって、距離−X% IRyが共に正の値
として設定される。
として設定される。
次に、第2図において、4−■から4−■を用いて、第
3図(ロ)から第3図(へ)に示す回路による動作を詳
細に説明する。
3図(ロ)から第3図(へ)に示す回路による動作を詳
細に説明する。
4−■は、第3図(ロ)において、レジスタtexに格
納されている距離IIIXから、レジスタmyに格納さ
れている距離myを、ALU (減算器)lによって減
算するようにMPX4.5によって接続し、その結果(
n+x−my)の符号(1が負、0が正)をxaajと
して出力する。
納されている距離IIIXから、レジスタmyに格納さ
れている距離myを、ALU (減算器)lによって減
算するようにMPX4.5によって接続し、その結果(
n+x−my)の符号(1が負、0が正)をxaajと
して出力する。
4−■は、xn+a jが0(正)の場合、第7行のt
hen以下に示す処理を行う。これは、第3図(ハ)に
(1)から(3)に示すように処理する。例えば(1ル
ジスクIHKに格納されている距離axを、MPX 5
を介してレジスタIluに格納などする。そして、最終
的にレジスタ+myに格納されている距離ll1yから
レジスタIにに格納されている距離mxを、ALUIに
よって減算し、その結果(Ily−mx)をレジスタd
2に格納する。一方、xma jが1 (負)の場合、
第8行のelse以下に示す処理を行い、最終的にその
結果(mx〜my)をレジスタd2に格納する。
hen以下に示す処理を行う。これは、第3図(ハ)に
(1)から(3)に示すように処理する。例えば(1ル
ジスクIHKに格納されている距離axを、MPX 5
を介してレジスタIluに格納などする。そして、最終
的にレジスタ+myに格納されている距離ll1yから
レジスタIにに格納されている距離mxを、ALUIに
よって減算し、その結果(Ily−mx)をレジスタd
2に格納する。一方、xma jが1 (負)の場合、
第8行のelse以下に示す処理を行い、最終的にその
結果(mx〜my)をレジスタd2に格納する。
4−〇は、第3図(ニ)に示すように、レジスタ+mu
に格納されている値muを1ビツト下位にシフトしてm
u/2の値にし、MPX4を介してALUIに入力する
と共に、レジスターyから距離−yを入力して減算し、
その結果(mu/2一端v)である例えば(距離mx/
2−距離+my)をレジスタ鮭に初期値として格納する
。
に格納されている値muを1ビツト下位にシフトしてm
u/2の値にし、MPX4を介してALUIに入力する
と共に、レジスターyから距離−yを入力して減算し、
その結果(mu/2一端v)である例えば(距離mx/
2−距離+my)をレジスタ鮭に初期値として格納する
。
以上の処理によって、例えば初期値(距離mx/2=距
離my)が値紅に代入され、レジスタdiに距離m×お
よび距離myのうちの小さい方の距離ax、およびレジ
スタd2に小さい方の距離+wyから大きい方の距離…
Xを減算した(my−mx)が格納され、前処理が完了
したこととなる。
離my)が値紅に代入され、レジスタdiに距離m×お
よび距離myのうちの小さい方の距離ax、およびレジ
スタd2に小さい方の距離+wyから大きい方の距離…
Xを減算した(my−mx)が格納され、前処理が完了
したこととなる。
次に、アドレス生成について説明する。
4−■は、値srが負の場合、第3図(ホ)に示すよう
に、レジスタmrから取り出した値Ilrから、レジス
タd2から取り出した値d2<例えば−y−ax)を、
ALU iによって減算し、その結果をレジスタ釘に格
納する。一方、値Ilrが負でない場合、第3図(へ)
に示すように、レジスタtarから取り出した値+wr
から、レジスタd1から取り出した値dH例えばす)を
、ALU lによって減算し、その結果をレジスタmr
に格納する。そして、この4−■の処理を、ベクトルの
レングスカウンタが終了を知らせるまで(始点座標から
終点座標に行き着くまで)、繰り返し実行する。この際
、値訂が負でない場合に、小さい距H#y(あるいは距
81 a x )の方向のアドレスを+1し、繰り返し
によって大きい距離mx(あるいは距離my)の方向の
アドレスを+1し、これにより所望のアドレスを算出す
る。
に、レジスタmrから取り出した値Ilrから、レジス
タd2から取り出した値d2<例えば−y−ax)を、
ALU iによって減算し、その結果をレジスタ釘に格
納する。一方、値Ilrが負でない場合、第3図(へ)
に示すように、レジスタtarから取り出した値+wr
から、レジスタd1から取り出した値dH例えばす)を
、ALU lによって減算し、その結果をレジスタmr
に格納する。そして、この4−■の処理を、ベクトルの
レングスカウンタが終了を知らせるまで(始点座標から
終点座標に行き着くまで)、繰り返し実行する。この際
、値訂が負でない場合に、小さい距H#y(あるいは距
81 a x )の方向のアドレスを+1し、繰り返し
によって大きい距離mx(あるいは距離my)の方向の
アドレスを+1し、これにより所望のアドレスを算出す
る。
従って、この4−■の処理で1回の減算処理によって始
点座標から終点座標に向かうアドレスを順次高速に生成
することが可能となる。尚、この1回の減算処理の代わ
りに、減算対象の値の符号を反転させて、1回の加算処
理で行うようにしてもよい。
点座標から終点座標に向かうアドレスを順次高速に生成
することが可能となる。尚、この1回の減算処理の代わ
りに、減算対象の値の符号を反転させて、1回の加算処
理で行うようにしてもよい。
次に、第4図(イ)に示す始点から終点に向かうアドレ
スの生成について具体的に説明する。第4図(ロ)は、
第2図記述に対して、第4図(イ)に示すデータを適用
した場合の計算例を示す。
スの生成について具体的に説明する。第4図(ロ)は、
第2図記述に対して、第4図(イ)に示すデータを適用
した場合の計算例を示す。
第4図(ハ)は、第2図4−■の処理を繰り返し実行し
た場合の時刻t (Xアドレス)、yアドレス、およ
び値ntrの値を夫々示す。この時刻tの値をXアドレ
ス、およびyアドレスを図示変化分を積算する態様で加
算して表示すると、第4図(イ)黒丸を用いて示すよう
なアドレスが得られる。
た場合の時刻t (Xアドレス)、yアドレス、およ
び値ntrの値を夫々示す。この時刻tの値をXアドレ
ス、およびyアドレスを図示変化分を積算する態様で加
算して表示すると、第4図(イ)黒丸を用いて示すよう
なアドレスが得られる。
以上説明したように、本発明によれば、与えられた始点
座標と終点座標との間のX方向の距離mXおよびY方向
の距Nmyのうち、小さい方の距離my(あるいは距!
mx)と、距離mxと距離myとの間の距離差(−(m
x〜my))とを予め求め、値mr(当初初期値を代入
)の符号に対応して、上記小さい方の距離my(あるい
は距離mx)あるいは距離差(−(mx〜my))のい
ずれかを当該値mrに対して減算する処理を操り返し終
点座標まで実行し、この際、当該rn rの値が正、零
となった時に上記小さい方の距離my(あるいは距離m
x)の方向のアドレスを+1し、処理の繰り返しに対応
して大きい方の距離mx(あるいは距離my)の方向の
アドレスを+1してアドレスを生成する構成を採用して
いるため、始点座標から終点座標に向かう直線に対応す
る1アドレスを1回の加減算処理によって順次生成する
ことができる。これにより、ベクトル図形などを掻めて
高速に表示することが可能となる。
座標と終点座標との間のX方向の距離mXおよびY方向
の距Nmyのうち、小さい方の距離my(あるいは距!
mx)と、距離mxと距離myとの間の距離差(−(m
x〜my))とを予め求め、値mr(当初初期値を代入
)の符号に対応して、上記小さい方の距離my(あるい
は距離mx)あるいは距離差(−(mx〜my))のい
ずれかを当該値mrに対して減算する処理を操り返し終
点座標まで実行し、この際、当該rn rの値が正、零
となった時に上記小さい方の距離my(あるいは距離m
x)の方向のアドレスを+1し、処理の繰り返しに対応
して大きい方の距離mx(あるいは距離my)の方向の
アドレスを+1してアドレスを生成する構成を採用して
いるため、始点座標から終点座標に向かう直線に対応す
る1アドレスを1回の加減算処理によって順次生成する
ことができる。これにより、ベクトル図形などを掻めて
高速に表示することが可能となる。
第1図は本発明の原理構成回、第2図、第3図は本発明
の動作説明図、第4図は本発明の具体的動作説明図、第
5図は従来のDDA方式、第6図は従来のアルゴリズム
を示す。 図中、1.1−1はALU (加減算器)、2.3.4
.5はMPX (マルチプレクサ)を表す。
の動作説明図、第4図は本発明の具体的動作説明図、第
5図は従来のDDA方式、第6図は従来のアルゴリズム
を示す。 図中、1.1−1はALU (加減算器)、2.3.4
.5はMPX (マルチプレクサ)を表す。
Claims (1)
- 【特許請求の範囲】 始点座標から終点座標に向かう直線に対応するアドレス
を生成する高速DDA変換方式において、与えれた始点
座標と終点座標との間のX方向の距離mxおよびY方向
の距離myのうち、小さい方の距離my(あるいは距離
mx)と、距離mxと距離myとの間の距離差(−(m
x〜my))とを求め、 値mr(当初初期値を代入)の符号に対応して、上記小
さい方の距離my(あるいは距離mx)あるいは距離差
(−(mx〜my))のいずれかを当該値mrに対して
減算する処理を繰り返し終点座標まで実行し、この際、
当該mrの値が正となった時に上記小さい方の距離my
(あるいは距離mx)の方向のアドレスを+1し、処理
の繰り返しに対応して大きい方の距離mx(あるいは距
離my)の方向のアドレスを+1し、始点座標から終点
座標に向かう直線に対応するアドレスを生成するように
構成したことを特徴とする高速DDA変換方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11582488A JPH01284986A (ja) | 1988-05-12 | 1988-05-12 | 高速dda変換方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11582488A JPH01284986A (ja) | 1988-05-12 | 1988-05-12 | 高速dda変換方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01284986A true JPH01284986A (ja) | 1989-11-16 |
Family
ID=14672018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11582488A Pending JPH01284986A (ja) | 1988-05-12 | 1988-05-12 | 高速dda変換方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01284986A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60252950A (ja) * | 1984-05-29 | 1985-12-13 | Yokogawa Hokushin Electric Corp | デイジタル線分信号発生方法 |
-
1988
- 1988-05-12 JP JP11582488A patent/JPH01284986A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60252950A (ja) * | 1984-05-29 | 1985-12-13 | Yokogawa Hokushin Electric Corp | デイジタル線分信号発生方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5029106A (en) | Pattern data generating system | |
GB2226481A (en) | Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system | |
JPH04291685A (ja) | クリップ・テスタ回路及びクリップ・テスト方法 | |
JPH01284986A (ja) | 高速dda変換方式 | |
JP2747822B2 (ja) | 図形表示装置 | |
JPH0368086A (ja) | 直線補間回路 | |
JP2611098B2 (ja) | ベクタ・ラスタ変換方式 | |
JPS642953B2 (ja) | ||
US5680153A (en) | Image Processing apparatus | |
JPH0315193B2 (ja) | ||
JP2787487B2 (ja) | コンピュータシステムに表示され且つ操作される線分の位置を決定する回路 | |
JP2889244B2 (ja) | 画像処理装置 | |
JPS6045287A (ja) | クリツピング処理装置 | |
JPS60262277A (ja) | 画像処理プロセツサ | |
JP2561521B2 (ja) | スポークレジスタ生成回路 | |
JP2000242802A (ja) | 図形処理装置 | |
JPS62154177A (ja) | 画像変換装置 | |
JPH05181646A (ja) | 演算装置 | |
JPH0535912B2 (ja) | ||
JPH0261779A (ja) | 座標データ処理装置 | |
JPS62271187A (ja) | ベクトル描画方式 | |
JPS63115227A (ja) | 画面表示アドレス変換装置 | |
JPS6373486A (ja) | 図形塗潰し方式 | |
JPH06162213A (ja) | 長方形面塗り方式 | |
JPH01189773A (ja) | 表示情報ピッキング方式 |