JPS628275A - ベクトル描画方式 - Google Patents

ベクトル描画方式

Info

Publication number
JPS628275A
JPS628275A JP14637085A JP14637085A JPS628275A JP S628275 A JPS628275 A JP S628275A JP 14637085 A JP14637085 A JP 14637085A JP 14637085 A JP14637085 A JP 14637085A JP S628275 A JPS628275 A JP S628275A
Authority
JP
Japan
Prior art keywords
point
vector
expansion
algorithm
case
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
Application number
JP14637085A
Other languages
English (en)
Inventor
Kazuo Yokoyama
和夫 横山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14637085A priority Critical patent/JPS628275A/ja
Publication of JPS628275A publication Critical patent/JPS628275A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 ディジタル微分解析器(DDA )の手法によるアルゴ
リズムで(以下DDAのアルゴリズムと略記)、メモリ
上にベクトル展開することにより線分を描く場合、同一
線分の展開でも、展開の向きにより書込み座標(アドレ
ス)が不一致となることがあるが、本発明はこの不一致
の発生を防止する方式。
〔産業上の利用分野〕
X軸、Y軸を持つ2次元メモリを備えたベクトル描画装
置は、プリンタ、表示装置等に広く用いられており、特
にカラープリンタ、カラー表示装置に於いては2次元メ
モリは複数枚となる。
1例として、第2図(a)に、X軸、Y軸を持つ2次元
メモリを3枚備えた、カラー用ベクトル描画装置の構成
のブロック図を示す。同図に於いて、1は、線分の両端
の座標、書込みメモリの指定等の指示を外部(例えば中
央処理装置)から受けて、その線分を各メモリに描くた
めのアドレスを発生するベクトル発生回路(以下VGと
略記)、2は読み書き回路(以下R/Wと略記)、3.
 4. 5は夫々赤、緑、青の2次元メモリ(以下MB
、 MG、MRと略記)である。
DDAのアルゴリズムは、各色成分の線分のベクトル展
開(描画)を行うためベクトル発生回路VCで使用され
ている。本発明は、この例のようなベクトル発生回路V
GIで使用されるDDAのアルゴリズムに関するもので
ある。
ODAのアルゴリズムは簡易な回路で高速なベクトル展
開が可能なため、上記の例のみならず一般の線分発生に
広く使用されている。
〔従来の技術〕
従来から使用されている線分のベクトル展開用のDDA
のアルゴリズムの1例のフロー図と、その実現のための
ベクトル発生回路VC,1の要部(DDAのアルゴリズ
ムに関係する部分)のブロック図を夫々第3図、第4図
に示し、同図により説明する。描画すべき線分ABは、
第5図(alに示すように、2次元メモリの座標系(原
点Om、以下メモリ座標系Omと略記)に於ける、A点
の座標とB点の座標を(夫々整数で)与えることでベク
トル発生回路VGに指示される。
ベクトル展開(描画)をA点からB点に向けて、即ち、
起点をA点として描く場合は、第5図(b)に示すよう
に、座標系OmをA点に並行移動により変換した座標系
(原点Oa、以下起点座標系Oaと略記)によりベクト
ル展開を行う。この並行移動は、ベクトル発生回路VC
内で、DDAのアルゴリズムの実行に先立って予め行っ
ておき、並行移動変換による補正はベクトル展開の出力
を補正することで行われる。
起点座標系Oaに於けるA点の座標は0.0であり、B
点の座標を△X、△Yとすると、以下の関係がある、 Xb−Xa=△X Yb−Ya=△Y ここで、(Xa、Ya )、(Xb、Y、b )は、夫
々メモリ座標系Omに於けるA、B点の座標である。
第5図(b)に示すように、B点は起点座標系Oaの第
1象限にあり、従って、△x〉0.△Y>0であり、且
つ、△X≧△Yであり、即ち、第1の178象限にある
場合を、基本的な場合として説明する。
第4図に於いて、6,7は夫々△X、ΔYを保持するレ
ジスタ(以下YR,XRと略記)であり、8はインバー
タ(以下INと略記)、9は後述するnを後述のクロッ
クによりカウントすると共にカウント数を△Xと比較す
る機能を持つカウンタ(以下CNTと略記)である。1
0はクロックの周期により、インバータIN8の出力(
レジスタXR6の反転出力)とレジスタYR7の出力を
交互に選択出力するマルチプレクサ(以下MPXと略記
)、11は累算レジスタ(以下ARと略記)。
12はマルチプレクサMPXIOの出力と累算レジスタ
ARIIの内容Aを加算する加算器(以下ADと略記)
、13は△Xに定数(1/2 ’)を乗算する乗算器(
以下MUと略記)であり、14は累算レジスタARII
の内容Aと乗算器MU13の出力Cを比較する比較器(
以下CMと略記)である。同図ではクロック関係の回路
は省略しである。
MU13の出力はC=(1/2 ”)△Xであり、比較
器の出力条件はA>Cとする。整数n、mは、起点座標
系Oaに於ける原点OaからのX、Y座標の偏位(2次
元メモリのアドレスの1ステツプを単位とする)を夫々
表すものである。
初期設定として、△X、△YをレジスタXR6゜YR7
に与え、n=0.m=0.A=O(起点は原点Oaであ
るから)とする。
クロックはAの周期とBの周期を交互に繰り返しており
、A、Bの一対でクロックの1周期が構成されて繰り返
しているとする。
A周期では、マルチプレクサMPXIOはレジスタYR
7の出力を選択しており、第3図のDDAのアルゴリズ
ムのフローの第1段を、加算器AD12を介してA+△
Yを行い、累算レジスタAR11の内容Aを A+△Y→A とすることにより実施する。
B周期では、マルチプレクサMPXIOはインバータI
N8の出力を選択しており、フローの第2段の比較器C
M14によるAとCの比較を行い、A>Cならば、フロ
ーの第3段であるmの値の1ステツプの歩道を指示する
出力を出すと共に、加算器ADに指示して、フローの第
4段であるA−△Xを行い、累算レジスタADの内容A
をA−△X−A とする。A>Cでない時は、フローの第3段、第4段の
動作はパスされる。一方、カウンタCNT9はクロック
をこの周期でカウントしており、フローの第5段でカウ
ント数をnをn−1−n−)−1とする。フローの第6
段では、このnと第3段で得られるmの歩進を指示する
出力の累算結果であるmとにより2次元メモリえの書込
みが行われる(累算回路は図示せず)。
次にフローの第7段では、カウンタCNT9がnがn=
△Xに達したかどうかの比較を行い、達していなければ
、フローの第1段から繰り返すループ動作を続行するが
、n=△Xに達するとカウンタCNT9は完了信号Eを
出し終了となる。以上の7段のフローを、n 7’)<
 n =△Xになるまで繰り返すことにより、線分AB
が点Aから点Bまでベクトル展開されて2次元メモリに
描かれることになる。
第6図は△X=6.△Y=3の場合に就いて、上例のD
DAのアルゴリズムによる計算を行った結果であって、
同図(alは各ループ動作毎の数値例であり、フローの
第2段の判定結果の欄に於ける○、×印は夫々YES、
NOを示し、mは、mの歩進信号を累算したものである
。同図(blは原点をA点として起点座標系Oaにベク
トル展開されて描かれた線分ABを示し、座標点はO印
で示されており、各ループ動作毎に実線でしめす順序で
移動しながら描画される。
尚、第7図は、上例に於ける、フローの第2段の判定条
件、即ち、比較器CMの出力条件をA≧C−(1/2 
)△X に換えた場合を示し、図中の各標記、記号は第6図と同
じである。
以上では、第5図(b)に示すように、B点は起点座標
系Oaの第1象限にあり、従って、△X〉0゜ΔY〉0
であり、且つ、ΔX≧△Yであり、即ち、第1の1/8
象限にある場合を、基本的な場合として説明した。この
場合が基本となる理由は公知であるが、以降の説明を容
易にするために、以下に説明して置く。
まず、起点座標系Oで、ΔY≧△Xの場合、即ち、第2
の1/8象限にある場合は、予め、ΔY。
△Xを交換しておき、2次元メモリの書込みも補正して
行うようにしておくことにより、上述のDDAのアルゴ
リズムを実行することで解決できる。
従って、第1象限の場合は同じアルゴリズムで全てのベ
クトル展開が可能である。
起点座標系Oで、第1象限以外に線分がある場合は△X
、△Yの符号は、第8図(a)に示すようになるが、第
2象限の場合はへXの符号を反転、第3象限の場合は△
X、△Y双方の符号を反転、第4象限の場合は△Yの符
号を反転することにより第1象限に移すことが可能であ
り、予め、これらの処理を行い、2次元メモリの書込み
も補正して行うようにしておくことにより、実質的には
の上述のDDAのアルゴリズムでベクトル展開が出来る
第5図(C1は、前記の例に於ける線分ABをB点を起
点としてBからAの方向にベクトル展開して描画する場
合を示し、同図に示すように、起点座標系obの原点は
B点にとる。A点は第3象限にあるのでΔX、ΔY双方
の符号を反転して前述の処置をしておくことによりベク
トル展開することが出来る。こうして実行した結果を示
すと、夫々前記のA点からB点へのベクトル展開の場合
に対応して、第6図(b)、第7図中)に於いて、×印
9点線で示すように展開されてメモリに書込むことによ
り描かれる。
°ン 〔発明が解決塘 とする問題点〕 第6図(b)、第7図中)に示す例では、同一の線分A
Bを同一のDDAのアルゴリズムによりベクトル展開し
たにも関わらず、展開方向の違いにより展開描画された
各点は、一致しない点が現れる。
即ち、0点と×点の不一致がみられる。
この不一致は、点A、Bの座標は整数で与えられており
、その間を結ぶ線分上の点に関する、X座標の整数値に
対するY座標の計算値が、qを任意の整数とする時、q
+0.5となることがある場合に、0.5に関する切り
上げ、切り捨ての取捨選択により現れるもので、第3図
のフローの第2段目の判定に於ける等号の取捨選択に対
応する。一般に、ΔYが奇数、△Xが偶数の組合せの時
のみに現れ、第6図、第7図はその例である。近似計算
を行うDDAのアルゴリズムでは、この選択はどちらか
一方のみをとるので避けることが出来ない。
このことは、線分ABをA点からB点に辿った後8点か
らA点に辿るベクトル展開を行って描画するとヒシテリ
シスを生ずることを示しており、2次元メモリ上で一度
描いた線分を消去しようとして、前記ベクトル発生回路
VG1の出力を消去にして逆方向に辿って書込みを行う
とき、消去出来ないで残る点があることを意味する。従
って、消去については、常に過去の書込み時の方向を記
憶しておく等の配慮がa;要になる欠点がある。
又、例として第2図(b)に示すようなカラー図形、即
ち、赤のΔEAC,緑のΔABC,青のΔDBAは、夫
々色により分離されて、第2図(a)に示すように、赤
、緑、前妻用のメモリ(この場合は原色)MR3,MG
4.MB#に書込まれるが、辺AB、BCのような境界
線では、展開方向が、これらの境界を挟む各図形の辺を
なす線分のベクトル展開方向が第2図(a)のように異
なる時は、ずれた点を生じるので、各色の図形を全部、
同時に合成表示又はプリントした時、境界をなす辺AB
ACの近傍では意図しない色を示す場合が発生して(特
に塗り潰し図形では)極めて不都合であると言う欠点が
ある。
本発明は、以上のような、有害なヒシテリシスやカラー
の場合に於ける図形境界の異常色彩の発生等を排除する
簡単で有効な方式を提供することを目的とする。
〔問題点を解決するための手段〕
上記目的を達成するため、ベクトル発生回路VG1に描
画方向判定機能を設け、その結果により第4図に示した
従来回路の比較器CM14に於ける判定条件を切り換え
可能なものにすることによりDDAのアルゴリズムをベ
クトル展開方向により切り換えるようにする。
〔作用〕
このように、判定条件を切り換えてベクトル展開した場
合を、上述の第6図、第7図の例で結果を示すと、点A
から点B向けの場合、判定条件をA>(△X72)とし
てベクトル展開を行った第6図中)の0点と、逆に点B
から点A向けの場合、判定条件をA≧(△X/2)に切
り換えてベクトル展開を行った第7図(b)の×点は一
致していることがわかる。又、点Aから点B向けの場合
、判定条件をA≧(△X/2 )(=C)としてベクト
ル展開を行った第7図中)の0点と、逆に点Bから点A
向けの場合、判定条件をA>(△X/2 )(=C)に
切り換えてベクトル展開を行った第6図中)の×点は一
致していることがわかる。
以上、例示した通り、判定条件に於ける等号を展開方°
向により、取捨選択することによりベクトル展開した結
果の展開方向による不一致を排除することができる。
〔実施例〕
第1図に、1例として本発明を実施するベクトル発生回
路例の要部ブロック図を示す。同図では前述の第4図と
同じものは同じ記号で示してあり、15のみが第4図の
場合と異っており、Aと(△X/2 )(−C”)を比
較するもので後述の選択信号Sにより判定条件を切り換
え可能な比較器(以下CMSと略記)である。比較器C
MS 15の内容は、1例として第8図(b)に示され
ており、16は比較回路(以下COMと略記)、17は
ORゲート(以下ORと略記)、18は選択信号Sで入
力を選択するセレクタ(以下SELと略記)である。
線分ABの2次元メモリへの書込みによる描画方向、即
ち、ベクトル展開の方向の判定は、第1図のベクトル発
生回路の要部の動作の開始のため、初期設定を行う以前
に行う必要があるが、前述のように、DDAのアルゴリ
ズムの開始に先立って、予め、座標系の起点座標系への
並行移動変換が行われるので、その動作に含めてベクト
ル展開の方向を判定することが出来る。
起点としては、点A又は点Bを任意に選ぶことが出来、
選んだ起点に起点座標系の原点をとることにより、その
原点から他の点即ち終点に向かう方向が起点座標系0に
於けるベクトル展開方向(線分は原点Oを起点とするベ
クトルになっているので)と言うことになる。
第5図に於いて説明したように、起点座標系0に於ける
△X、△Yをとり、その符号を調べることにより、前記
線分の存在する象限を知ることが出来、その対応は第8
図(a)に示す通りである。
ベクトル展開即ち描画の方向が互いに逆方向ということ
は、第1象限に対して第3象限、第2象限に対して第4
象限が夫々対向する象限であり、夫々に第3図のフロー
にの第2段目の判定条件に於ける等号の取捨選択が逆に
なるような与え方は第8図(a)の0MS制御の欄に示
すa、b、c、dの4種類が可能となる。この等号の取
捨選択判定の回路は、前述のように、起点座標系への変
換に含めて容易に実現可能である。
この内の一つを選び、常にその組合せを使用し    
 ゛て、選択信号Sに対応させるようにすることで、比
較器CMSの判定条件をベクトル展開の方向により切り
換えることが出来る。
比較器CMS 15はA、Cを比較する比較回路C0M
16のA>Cの出力と、ORゲート0R17によりAr
c、A=Cの出力のORをとった出力を前記選択信号S
により選択するようにしたちのである。
以上説明したように、DDAのアルゴリズムの第3図の
フローに於ける第2段目の判定条件をベクトル展開の方
向により比較器CMS15で切り換えることにより、ア
ルゴリズムを切り換えて展開点の展開方向による不一致
を排除することが出来る。
尚、上述の第6図、第7図の例で示すと、点Aから点B
向けの場合、判定条件をA>(△X/2)としてベクト
ル展開を行った第6図(b)の0点と、逆に点Bから点
A向けの場合、判定条件をA≧(△X/2)に切り換え
てベクトル展開を行った第7図(blのX点は一致して
いることを説明したが、この場合が方向による判定条件
としてbを選んだ場合である。又、点Aから点B向けの
場合、判定条件をA≧(△X/2 )(=C)としてベ
クトル展開を行った第7図中)の0点と、逆に点Bから
点A向けの場合、判定条件をA>(ΔX/2 )(=C
)に切り換えてベクトル展開を行った第6図中)のX点
は一致していることを示したが、この場合が方向による
判定条件としてaを選んだ場合に相当する。
〔発明の効果〕
本発明のベクトル描画方式は、以上説明したように、D
DAのアルゴリズムによるベクトル展開で線分を2次元
メモリに展開する場合に、ベクトル展開の展開方向によ
り現れる、有害なヒシテリシスによる消去残や、カラー
の場合に於ける図形境界の異常色彩の発生等を、簡単な
操作と回路により排除する効果がある。
【図面の簡単な説明】
第1図は本発明を実施するベクトル発生回路例の要部ブ
ロック図、 主 第2図はベクトル発y回路からメモリへのベクトル展開
説明図、 第3図はベクトル展開アルボ1にズムの1例のフロー図
、 第4・図はベクトル発生回路側要部ブロック図、   
   間第5図は描画方向説明図、 第6図、第7図は従来アルゴリズムによる描画例、 第8図は本発明のベクトル描画方向によるアルゴリズム
の変更制御の説明図である。 第1図、第2図、第4図、第8図に於いて、1はベクト
ル発生回路VC 2は読み書き回路R/W 3.4.5は夫々赤、緑、青の2次元メモリMR開や 
Mら 、INI、 J!3%、ノY、 6はレジスタXR。 7はレジスタYR。 8はインバータIN、 9はカウンタCNT、 10はマルチプレクサMPX。 11は累算レジスタAR。 12は加算器AD。 13は乗算きMU、 14は比較器CM。 15は比較器CMS 16は比較回路COM。 17はORゲートOR。 18はセレクタSELである。 ノ参嘴1月と実力ヒq3Δフトlしも1ロ1fMの要嘩
ψ’7−[17)図亭  1  図 へ7トノし層間アル丁すズ乙の1列のフD−図♀ 3 
 足口 べ゛Zトル禿生回り、/FJの9唖ゆフ゛ロッフ囚茅 
4El 堵6通論方aつ玄でν月ffi 茅 5 圀 (I)) イσ−系アルコ゛ワス゛′ム1;I3訓乃還λΔゲJ)
ζ    乙    冴] (ごと) (’b) 疫承アlしコ゛ソス゛°乙(二よる請乃jシ4グJ茅 
7 図

Claims (1)

    【特許請求の範囲】
  1. X軸、Y軸を持つ2次元メモリを少なくとも1枚備えた
    ベクトル描画装置に於いて、該メモリに対しベクトル展
    開を行う場合、ベクトル展開の方向により異なるアルゴ
    リズムによって、ベクトル展開を行うことを特徴とする
    ベクトル描画方式。
JP14637085A 1985-07-03 1985-07-03 ベクトル描画方式 Pending JPS628275A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14637085A JPS628275A (ja) 1985-07-03 1985-07-03 ベクトル描画方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14637085A JPS628275A (ja) 1985-07-03 1985-07-03 ベクトル描画方式

Publications (1)

Publication Number Publication Date
JPS628275A true JPS628275A (ja) 1987-01-16

Family

ID=15406182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14637085A Pending JPS628275A (ja) 1985-07-03 1985-07-03 ベクトル描画方式

Country Status (1)

Country Link
JP (1) JPS628275A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417081A (ja) * 1990-05-10 1992-01-21 Japan Radio Co Ltd 線分近似座標発生方法
JPH0561980A (ja) * 1991-09-04 1993-03-12 Nec Corp 線分描画装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5528139A (en) * 1978-08-15 1980-02-28 Nec Corp Vector production circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5528139A (en) * 1978-08-15 1980-02-28 Nec Corp Vector production circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417081A (ja) * 1990-05-10 1992-01-21 Japan Radio Co Ltd 線分近似座標発生方法
JPH0561980A (ja) * 1991-09-04 1993-03-12 Nec Corp 線分描画装置

Similar Documents

Publication Publication Date Title
EP0095618B1 (en) Memory system
JPS598039A (ja) 可変幅デ−タ・フイ−ルドを可変幅デ−タ・バスに置くための論理装置
JPS60147884A (ja) イメージ回転方法
JPS60113289A (ja) 図形表示装置用ライン・スム−ジング回路
JPS628275A (ja) ベクトル描画方式
EP0327001B1 (en) Pattern data generating system
JPS60136793A (ja) 画像データ処理装置及び方法
EP0464601A2 (en) Arithmetic operation system
EP0213316B1 (en) Method for displaying box cursors
JPH02123470A (ja) ブールラスター演算を実行する装置
JPS6057593B2 (ja) 文字パタ−ン処理方式
JPH02235185A (ja) 図形再生方法
JPS6059386A (ja) 模様線の描画方式とその装置
SU1525724A1 (ru) Генератор символов
JPS6175386A (ja) ビツトマツプデイスプレイ装置のデ−タシフト回路
JPS6214194A (ja) ビツトマツプム−バ−
JPH01166177A (ja) 太線描画方法
JPS61193197A (ja) グラフイツクス表示装置
JPS63118790A (ja) 幅を有する線分の描画における端部形状補正方式
JP2605609B2 (ja) ドット表示処理装置
JPS63180997A (ja) 高速描画方法
JPS60205584A (ja) カラ−グラフイツクデイスプレイ装置
JPH0310957B2 (ja)
JPS63198094A (ja) ビツトマツプデイスプレイシステムにおける描画方法
JPS63163981A (ja) 図形拡大縮小回路