JPS642953B2 - - Google Patents

Info

Publication number
JPS642953B2
JPS642953B2 JP7601180A JP7601180A JPS642953B2 JP S642953 B2 JPS642953 B2 JP S642953B2 JP 7601180 A JP7601180 A JP 7601180A JP 7601180 A JP7601180 A JP 7601180A JP S642953 B2 JPS642953 B2 JP S642953B2
Authority
JP
Japan
Prior art keywords
microprogram
address
discriminant
graphic
straight line
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
Application number
JP7601180A
Other languages
English (en)
Other versions
JPS572085A (en
Inventor
Yoshiki Kobayashi
Nagaharu Hamada
Yoshuki Okuyama
Juji Kakizume
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi 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 Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP7601180A priority Critical patent/JPS572085A/ja
Publication of JPS572085A publication Critical patent/JPS572085A/ja
Publication of JPS642953B2 publication Critical patent/JPS642953B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 本発明はラスタ走査形CRTにおける図形発生
装置に係り、特に高速に図形を処理するに好適な
マイクロプログラム制御の図形発生装置に関する
ものである。
図形を表示するグラフイツクデイスプレイには
ランダムスキヤン形CRT、ラスタスキヤン形
CRT、ストレージ形CRT等の各種のタイプの
CRTが用いられているが、色彩図形の表示が可
能であり、面や任意画像の表示が可能なことか
ら、近年ラスタスキヤン形CRTを用いたグラフ
イツクデイスプレイが多くなつてきている。
第1図に示すように、ラスタスキヤン形CRT
3を用い、各ドツトの点座標に対応した色情報を
記憶する画面メモリ2を持つようにしたグラフイ
ツクデイスプレイ4では、計算機5から与えられ
る図形コマンドを解釈してドツト毎にその座標を
Xi,Yiを画面メモリ2に書き込む図形発生装置
1が必要となる。この図形発生装置1では、直線
等の図形コマンドをその図形にあつたドツトの点
列の座標Xi,Yiを求める処理を行う。図形には
直線、円、曲線等があるが、微小な直線に分解し
て表示する例が多い。つまり直線の組合せにより
任意の図形を表示できる。従つて、以下の説明は
図形として直線に限ることにする。
直線を点座標Xi,Yi列にドツト展開するアル
ゴリズムは、J.E.Bresenham:Algorithm for
computer control of a digital plotter:IBM
SYSTEM JOURNAL,vol.4,No.1(1965)や
Y.Suenaga,et.al.:High Speed Algorithm
for the Generation of Straight Lines and
Circular Arcs:IE3 Computer,Vol.C−28,No.
10(1979)等がある。例えば第2図Aに示すよう
に直線AB(方向は0゜〜45゜の範囲とする)をドツ
ト展開する場合、A点の次の点は右上か右横のい
ずれかの点であり、これは勾配ΔY/ΔXと格子
の中点(1/2)とを比較することにより判定で
きる。即ち判別式Dを導入して D1=ΔY/ΔX−1/2 ……D1≧0ならば右上 D1<0ならば右横 の点を選択する。これを第i−1点から第i点に
ついて適用すると、 Di-1≧0のとき Di=Di-1+ΔY/ΔX−1 (第2図Bを参照のこと。) Di-1<0のとき Di=Di-1+ΔY/ΔX (第2図Cを参照のこと。) が第i点の判別式Dで、この符号により D1≧0ならば右上 D1<0ならば右横 の点を選択する。
このような直線のドツト展開アルゴリズムを、
マイクロコンピユータ(即ち図形発生装置1をマ
イクロコンピユータ制御とする)で実行する例も
あるが、これだと例えば特開昭51−25934号等で
公知の直線発生ハードウエアより100倍程度処理
時間が増大する。しかし一方直線発生ハードウエ
アでは機能が限定されてしまう問題があり、機能
の柔軟性を持ちかつ高速化を図るため、ハードウ
エアとソフトウエアの中間のフオームウエア(即
ちマイクロプログラム制御)で直線を点座標Xi,
Yi列に展開するようにした例もある。
しかし、マイクロプログラム制御としても、前
述のアルゴリズムのように、判別式の判定や各ド
ツト毎の繰返しループ処理等に多くのステツプを
要する。第3図に直線ドツト展開のループ処理部
(前処理等は省略した)のフローチヤートを示す。
この図のように通常のマイクロプログラム制御で
は、 (1) 判別式Diの符号を判定し、正ならば(2)へ負
ならば(7)へ分岐する。
(2) 判別式Di≧0の場合のx座標値の更新計算
を行う(0゜〜45゜ならばδx1=1)。
(3) 判別式Di≧0の場合のy座標値の更新計算
を行う(0゜〜45゜ならばδy1=1)。
(4) 判別式Di≧0の場合の次のi+1点の判別
式Di+1を求める計算を行う(0゜〜45゜ならばD1
=ΔY−ΔX)。
(5) 直線の1点表示処理が終了したので、直線の
長さ0゜〜45゜ならばLC=ΔX)を−1する処理を
行う。
(6) 直線の長さだけドツト展開したか否かを判定
するもので、LC≠0ならば(1)に戻り、LC=0
ならばループ処理から抜ける。
(7) 判別式Di<0の場合のx座標値の更新計算
を行う(0゜〜45゜ならばδx=1)。
(8) 判別式Di<0の場合のy座標値の更新計算
を行う(0゜〜45゜ならばδy1=0)。
(9) 判別式Di<0の場合の次のi+1点の判別
式Di+ 1を求める計算を行う(0゜〜45゜ならばD2
=ΔY)。この後(5)にジヤンプする。
のように1ループ、即ち1ドツトの展開処理に最
低6ステツプを要する。尚上記の説明での判別式
Dは、第2図での判別式DにΔXを乗じたものに
置換している。このように直線ドツト展開アルゴ
リズムをマイクロプログラムで実行してもなお6
ステツプを要し、しかもこのループ部分がグラフ
イツクデイスプレイの表示速度の核となる部分で
あるため、処理性が問題になることもある。
本発明の目的は、マイクロプログラム制御の図
形発生装置に直線発生のための簡単な回路を付加
することにより、高速な直線発生能力を持つマイ
クロプログラム制御の図形発生装置を提供するに
ある。
本発明は、 演算器のデータレジスタを指定するアドレスを
修飾するアドレス修飾フラグを設け、前記演算器
による演算結果の正、負のステータスを前記アド
レス修飾フラグに設定するか否かを制御する。
ようにして、マイクロプログラム制御による直線
のドツト展開処理を高速化したものである。
本発明になる図形発生装置の一実施例を第4図
〜第6図を用いて説明する。
第4図に図形発生装置1の回路構成を示す。デ
ータ処理部は、 (1) 計算機アダプタ……計算機5からの図形コマ
ンドを受けるFIFOバツフア11及び図形発生
装置1から計算機5への応答情報を入れる
FIFOバツフア12から構成される。
(2) データメモリ部20…図形制御情報、文字フ
オント、面のパターン等を記憶する図形発生装
置1内部RAM/ROM21を有する。アクセ
スは、マイクロプログラムからの直接アクセス
手段と、アドレスカウンタ23によるアクセス
手段とがセレクタ22により選択できる。
(3) 論理演算部30…小容量の2ポートレジスタ
フアイル31、Qレジスタ32、シフタ33,
34、論理演算回路35及びこれに対する入力
セレクタ36,37から構成される。出力はセ
レクタ38により、演算結果あるいはレジスタ
フアイル31のどちらかが選択できる。本演算
ユニツト30により第2図の直線ドツト展開ア
ルゴリズムのデータ処理が行われる。
(4) 画面メモリアダプタ40…画面メモリ2に対
する書込色情報レジスタ41、書込X及びY座
標レジスタ42,43を有し、かつ図形発生装
置1の処理と画面メモリ2への書込動作がパイ
プラインで実行できるようにするためのレジス
タ44を有する。
から構成される。
一方制御部は、マイクロプログラムの実行順序
を制御するマイクロプログラムシーケンサ50、
及びシーケンサ50からの番地情報を受けマイク
ロプログラムデータを出力するマイクロプログラ
ムROM51及び実行すべきマイクロプログラム
命令を格納するマイクロプログラムレジスタ52
から構成される。
図形コマンドはFIFOバツフア11から取り込
まれフアンクシヨンレジスタ60にセツトされマ
ツピングジヤンプROM61によりその図形コマ
ンドを実行するマイクロプログラムの先頭番地が
マイクロプログラムシーケンサ50に与えられて
図形コマンド処理が行われる。
さてマイクロプログラムシーケンサ50には、
マイクロプログラムレジスタ52からの順序制御
命令92が与えられ、この命令として (a) マツプROMによるJump(MAPJ) (b) 無条件Jump(JUMP) (c) 条件付Jump(CJUMP) (d) SubroutineCall(CALL) (e) Retnrn(RTN) (f) Repeat(RPT) (g) Continue(CNT) がある。条件付Jumpの条件として論理演算ユニ
ツト30からの正/負、ゼロ、奇/偶、キヤリ
ー、オーバーフロー、シフトアウト情報90等が
与えられる。また、Repeatの制御のためカウン
タ23から“0”情報91が与えられる。即ちカ
ウンタ23はデータRAM/ROM21のアドレ
スの他にループカウントとして用いられる。そし
てRepeat命令時に、もしカウンタ23が“0”
ならば次のマイクロプログラムに進み、“0”で
なければあらかじめ登録されているループ先頭ア
ドレスへJumpする制御をシーケンサ50で行う。
ループ先頭アドレスの登録はJump命令のときそ
のJump先アドレス93が記憶される。
マイクロプログラムの命令には、論理演算ユニ
ツト30に対する指令94、2ポートのレジスタ
フアイル31に対する2つのアドレスA96、ア
ドレスB97及びその他カウンタ23、セレクタ
22、RAM/ROM21、FIFO11,12、画
面メモリレジスタ41〜43等に対する指令97
が含まれる。
また、レジスタフアイル31のアドレスA96
は、条件フラグ80の内容によりアドレス修飾回
路70により修飾される。この回路70では、フ
ラグ80がオフの場合にはアドレスA96がその
ままレジスタフアイル31のAアドレス98とな
り、フラグ80がオンの場合にはアドレスA96
の値が+1されてAアドレス98に出力する。即
ち通常はフラグ80はリセツトされており、直線
ドツト展開処理の時に判別式Dの符号がフラグ8
0にセツトされアドレスA96が修飾される。
さて条件フラグ80及びアドレス修飾回路70
の回路構成は以上の説明により容易に実現できる
ので省略する。第5図にマイクロプログラムシー
ケンサ50の回路構成を示す。順次アドレスを更
新するマイクロプログラムアドレスカウンタ5
7、サブルーチンCali時の戻りアドレス記憶用ス
タツク58、ループ先頭アドレスレジスタ55か
らなり、順序命令92及び条件情報90,91を
受けてコントロール回路54が前述したような動
作を実行する。マイクロプログラムROM51に
対するアドレスとして、セレクタ56を介してア
ドレスカウンタ57、スタツク58、ループ先頭
アドレスレジスタ55、Jumpアドレス93のい
ずれかが選択されて与えられる。
さて以上の構成のマイクロプログラム制御によ
る直線のドツト展開処理を第6図により説明す
る。直線コマンド処理では前処理として (1) コマンドにより指定された書込カラーを色レ
ジスタ41にセツトする。
(2) 直線の点A及びBの座標から、第7図に
示すようにレジスタフアイル31に判別式D、
判別式D≧0のときの加算値D1,D<0のと
きの加算値D2、同様にx、δx1,δx2,y,
δy1,δx2をセツトする。そして最初の点A
をアダプタのx,yレジスタ42,43を介し
て画面メモリ2に書き込み、1点目の判別式
D1(0゜〜45゜の方向の場合は、ΔY−1/2X)を計 算し、この符号を条件フラグ80にセツトす
る。即ち判別式D1が正の場合は条件フラグは
リセツトされ、負の場合は条件フラグはセツト
される。
(3) 直線の長さ(0゜〜45゜の方向の場合には
ΔX=XB−XA)をループカウンタ23にセツ
トする。
(4) 直線ドツト展開処理のループ先頭アドレスを
登録するため(5)へのJumpをする。
が行われ、直像ドツト展開処理ループとしては、 (5) 第iドツトのx座標値の更新を行う。マイク
ロプログラム上は、xi-1とδx1の加算を行う
が、D≧0の場合は条件フラグがセツトされな
いためxi←xi-1+δx1が演算され、D<0の場
合は条件フラグがセツトされているため、δx
1のレジスタアドレスが+1されてδx2を指
し、xi←xi-1+δx2が演算される。そしてその
結果がx座標レジスタ42にセツトされる。
(6) 第iドツトのy座標値の更新を行う。処理は
上記(4)と同様にD≧0ならばyi←yi-1+δy1、D
<0ならばyi←yi-1+δy2が演算される。
(7) ここでは、次の処理が同時に行われる。
ループカウンタのカウントダウン及びその
結果によるRepeat処理。これにより(4)〜(6)
の処理を指定の長さだけループする。
次の第i+1ドツトの判別式の計算を行
う。ここでも元のDi≧0ならばDi+1←Di
D1,Di<0ならばDi+1←Di+D2が演算され
る。そしてDi+1の符号が条件フラグ80にセ
ツトされる。
前記(4),(5)でセツトされたx,y座標レジ
スタ42,43の値をアドレスとして画面メ
モリ2に書込指令を出す。
が行われる。以上のように本実施例によれば、従
来のマイクロプログラム制御では6ステツプかか
つていた直線ドツト展開処理ループが3ステツプ
に短縮され、直線の表示速度の高速化が達成でき
る。
なお本実施例ではアドレス修飾を+1するとい
う方法をとつたが、別な方式、例えばアドレスの
最下位を反転する等といつたことでもよい。また
ループ先頭アドレスの登録方法やループカウンタ
の持ち方についても本実施例にとらわれない。
以上詳細に説明したように本発明によれば、簡
単な回路を付加することにより高速の直線を発生
させることができ、高速で任意図形の表示をする
ことができる。
【図面の簡単な説明】
第1図はラスタスキヤン形CRTを用いたグラ
フイツクデイスプレイのシステム構成図、第2図
A〜Cは直線のドツト展開アルゴリズムを説明す
る図、第3図はそれを従来のマイクロプログラム
制御の図形発生装置で実行したフローチヤート
図、第4図は本発明になる図形発生装置のブロツ
ク図、第5図は前図の図形発生装置のマイクロプ
ログラムシーケンサの内部回路図、第6図は本発
明になる図形発生装置による直線ドツト展開処理
のフローチヤート図、第7図はレジスタフアイル
への変数割当ての一例を示すテーブルである。 1……図形発生装置、2……画面メモリ、3…
…ラスタスキヤン形CRT、4……グラフイツク
デイスプレイ、5……計算機、23……ループカ
ウンタ、70……アドレス修飾回路、80……条
件フラグ。

Claims (1)

  1. 【特許請求の範囲】 1 計算機等のデータソースから与える図形コマ
    ンドを解釈して図面メモリに書き込んで図形を発
    生するマイクロプログラム制御の図形発生装置に
    おいて、 演算器のデータレジスタを指定するアドレスを
    修飾するアドレス修飾フラグを設け、前記演算器
    による演算結果の正、負のステータスを前記アド
    レス修飾フラグに設定するか否かを制御すること
    を特徴とするマイクロプログラム制御の図形発生
    装置。
JP7601180A 1980-06-04 1980-06-04 Microprogrammable graphic generator Granted JPS572085A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7601180A JPS572085A (en) 1980-06-04 1980-06-04 Microprogrammable graphic generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7601180A JPS572085A (en) 1980-06-04 1980-06-04 Microprogrammable graphic generator

Publications (2)

Publication Number Publication Date
JPS572085A JPS572085A (en) 1982-01-07
JPS642953B2 true JPS642953B2 (ja) 1989-01-19

Family

ID=13592869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7601180A Granted JPS572085A (en) 1980-06-04 1980-06-04 Microprogrammable graphic generator

Country Status (1)

Country Link
JP (1) JPS572085A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5945548A (ja) * 1982-09-07 1984-03-14 Nec Corp ビツト・マツプ・メモリのアドレス発生方法とその装置
JPS6019252A (ja) * 1983-07-13 1985-01-31 Toshiba Corp メモリアドレス制御回路
JPS6097442A (ja) * 1983-10-31 1985-05-31 Fujitsu Ltd イメ−ジメモリの書込み制御方式
JPS60216383A (ja) * 1984-04-11 1985-10-29 株式会社 アスキ− デイスプレイコントロ−ラ
JPS6370386A (ja) * 1986-09-11 1988-03-30 Nec Corp グラフイツクス表示制御方式

Also Published As

Publication number Publication date
JPS572085A (en) 1982-01-07

Similar Documents

Publication Publication Date Title
JPH0126072B2 (ja)
EP0278526B1 (en) Graphics diplay controller having clipping function
US4941111A (en) Video picking and clipping method and apparatus
US6952217B1 (en) Graphics processing unit self-programming
US4747042A (en) Display control system
JPH04246790A (ja) ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ
US5128872A (en) Method and apparatus for determining line positions for display and manipulation by a computer system
JPS642953B2 (ja)
GB2226481A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
JPH0640259B2 (ja) デ−タ処理装置
JPH0567216A (ja) 図形塗りつぶし装置
KR930000693B1 (ko) 패턴 데이터 발생장치
JPS6155677B2 (ja)
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
JPH05210744A (ja) コンピュータグラフィクスにおける描画装置および描画方法
JPH0315193B2 (ja)
JPH0528276A (ja) マルチプロセツサシステムにおける図形描画方式
KR100230845B1 (ko) 스프라이트 애니메이션 생성방법
JP2616443B2 (ja) 図形描画装置
JPS61130991A (ja) 図形処理方法及び装置
JP2000242802A (ja) 図形処理装置
JPH03202965A (ja) 図形データ処理装置
JPH02271424A (ja) フルグラフィック画面の表示方式
JPS6169094A (ja) 図形処理方法及び装置
JPH04247587A (ja) グラフィック表示装置