JPH01166177A - 太線描画方法 - Google Patents

太線描画方法

Info

Publication number
JPH01166177A
JPH01166177A JP32611587A JP32611587A JPH01166177A JP H01166177 A JPH01166177 A JP H01166177A JP 32611587 A JP32611587 A JP 32611587A JP 32611587 A JP32611587 A JP 32611587A JP H01166177 A JPH01166177 A JP H01166177A
Authority
JP
Japan
Prior art keywords
dda
width direction
error term
length direction
path
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.)
Granted
Application number
JP32611587A
Other languages
English (en)
Other versions
JP2724712B2 (ja
Inventor
Masanori Kato
正紀 加藤
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 JP32611587A priority Critical patent/JP2724712B2/ja
Publication of JPH01166177A publication Critical patent/JPH01166177A/ja
Application granted granted Critical
Publication of JP2724712B2 publication Critical patent/JP2724712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 CAD等でフレームメモリを存するラスタスキャンディ
スプレイに、職分を補間して描画する際に使用されるD
DA回路方式に関し、 −度DDAを起動するだけでCAD等に必要とされる太
線を描画することができ、またそのための特別な前処理
や後処理を行う必要がなく、太線描画を高速に処理する
ことができ、また太線幅に制限がなく、より一般的な長
方形の面塗りを高速化することを目的とし、 直線の長さ方向及びそれに直交する幅方向の2方向に対
するそれぞれのDDA誤差項を演算し、それらの演算内
容を幅についての情報に従って長さ方向と幅方向とで切
替え、点補間経路を幅方向に往復させながら順次長さ方
向に進めるように構成する。
〔産業上の利用分野〕
本発明は、CAD等でフレームメモリを有するラスタス
キャンデイスプレィに、線分を補間して描画する際に使
用されるDDA回路方式に関し、特に、太線描画DDA
回路方式に関する。
〔従来の技術〕
フレームメモリを有するラスタスキャンデイスプレィに
線分を補間して描画する際には、通常はDDA (ディ
ジタル微分解析器)が用いられる。
そこで、まずBresenhan+のDDAアルゴリズ
ムを説明する。
第6図は、DDA方式の原理を説明するための座標図で
ある。第6図において、描画すべき線分は始点(x s
、 y s)から終点(xe、ye)に引かれる。ここ
で、座標上の移動量を dx=xe−xs dy=ye−ys とし、両絶対値を比較して、1dxl≧Idylであれ
ばX軸を主軸、y軸を副軸とする。また、真の線分と実
際に補間される離散点との距離を副軸方向で測って、こ
れを誤差項と呼び、errで表することにする。
このアルゴリズムは、第7図のフローチャートに示すよ
うに、各繰返し毎に主軸座標値を増加させ、誤差項er
rの正負に従って、次のステップでのerrの値を求め
ながら、副軸座標値を増加させるかどうかを判定して、
点列を描画して行くものである。errは、本来の距離
に1dx1の2倍を乗じることで整数化し、計算を容易
にしである。ここで“主軸座標値を増加させる”とは、
dx>QのときにX4−X+1、そうでないときはx 
w x −1とすることを意味し、副軸についても同様
である。これにより、傾きの絶対値がOから1までの線
分を引くことができる。傾きの絶対値が1を越える、即
ち1dxl<Idylのときはy軸を主軸として、X座
標とy座標とを入替えて考えればよい。
第8図は、このアルゴリズムにおける副軸座標値を増加
させるかどうかの判定を、ハードウェアで実現した従来
のDDA回路の一例を示す構成図である。図中81は誤
差項を格納するレジスタ、82は誤差項が負の場合の増
分を格納するレジスタ、83は誤差項が負でない場合の
増分を格納するレジスタ、84は加算器、85は誤差項
の加算結果の符号により次のサイクルでの加算器84へ
の入力を選択するマルチプレクサである。出力5AIN
Cは、各サイクル毎に、図示しないフレームメモリアク
セス回路に対して、“l”のとき副軸座標値を増加させ
、“0”のときそのままにすることを指示する。フレー
ムメモリアクセス回路は、各サイクル毎に主軸座標値を
増加させながら、その指示に従って副軸座標値を制御し
、各点を描画する。
〔発明が解決しようとする問題点〕
さて、CAD等において端点を方形に処理した太線を描
画したり、ある角度に回転させた長方形を面塗りしたり
する場合が発生するが、従来は、これらを、上記DDA
回路を複数回起動することにより実施−していた。即ち
第9図(a)のように複数の線分を1ドツトずつずらせ
て引いたり、同図(b)のように−最多角形の面塗りと
同じ方法で、スキャンライン毎にスキャンラインと辺の
交点をDDAアルゴリズムで求めて、得られた始点と終
点をもとにスキャンライン方向に多数の線分を描画した
りしていた。しかし、図(a)の方法において隙間がで
きないように塗り潰すためには、各線分毎に誤差項の初
期値を変えてやる必要があり、図(b)の方法において
は、スキャンラインがどの辺と交点をもつかを予め求め
なければならず、また複数回のDDA起動にともなうオ
ーバヘッドと併せて、処理速度を低下させていた。
本発明は、このような問題点に鑑みて創案されたもので
、−度DDAを起動するだけでCAD等に必要とされる
太線を描画することができ、またそのための特別な前処
理や後処理を行う必要がなく、太線描画を高速に処理す
ることができ、また太線幅に制限がなく、より一般的な
長方形の面塗りを高速化するDDA回路の太線描画方式
を提供することを目的とする。
〔問題点を解決するための手段〕
本発明において、上記の問題点を解決するための手段は
、第1図に実施例を兼ねて基本的原理を示すように、フ
レームメモリを有するラスタスキャンディスプレイに対
し、DDA回路により点補間を行いつつ直線を描く直線
描画方式において、直線の長さ方向及びそれに直交する
幅方向の2方向に対するそれぞれのDDA誤差項を演算
し、それらの演算内容を幅についての情報に従って長さ
方向と幅方向とで切替え、点補間経路を幅方向に往復さ
せながら順次長さ方向に進め、かつその順次動作にDD
A副軸方向の移動を伴うとき、幅方向点補間経路の往路
もしくは復路で太線内の隙間を充填する点を追加するこ
とを好適とするDDA回路の太線描画方式によるものと
する。
〔作用〕
本発明は、端点を方形に処理した太線又はある角度に回
転させた面塗り長方形(以後、これらを総称して単に太
線と呼ぶ)を、1回の起動で描画するDDA回路の太線
描画方式である。
本発明の基本原理はBresenhamのDDAアルゴ
リズムを基に、DDAで長さ方向の各点を求めたとき、
その各点毎にさらに垂直な幅方向にDDAで線分を引い
て、結果的に太線を生成することである。このとき、次
のことを基本条件とする。
■点描画位置は、各ステップ毎にX座標、y座標とも最
大±1移動であること。
■同じ座標点で2度以上打たないこと。
■太線内に隙間がないこと。
そして、太線内に隙間がないことを確実にするために、
長さ方向における副軸が増加するときは幅方向点補間経
路の往路もしくは復路で隙間を充填する点を追加すると
好適である。
〔実施例〕
以下、図面を参照して、本発明の実施例を詳細に説明す
る。
本発明の実施例は、主として第2図に示すような太線を
描画することを想定し、同図に示すように、太線の寸法
が最大になる方向を長さ方向と呼称し、これに直交する
方向を幅方向と呼称する。
説明の都合上、長さ方向の主軸はX軸とし、図中の/d
x、 l1dy、wdyを定める。
第1図は、本発明の基本原理を具体的な実施例により示
す説明図である。既に述べた前提に基づいて、同図に示
す矢印の経路に沿って点列を描画することにする。
まず、長さ方向用の誤差項βerrと幅方向用の誤差項
w errとを用意し、図中すの経路はβerrの符号
に従い、a又はa′の経路はw errの符号に従って
決定する。長さ方向と幅方向は直交しているため、誤差
項の初期値、誤差項が負のときの増分及び非負のときの
増分は、双方の誤差項について等しく、それぞれ、 1err =werr =2X l ldy l  l
 ldx 1derrl=2X l ldy 1 derr2=2X (”l fdy 1−Jdx l)
となる。但し、w errの初期値については、若干変
える必要があり、これは後で述べる。
前記〔作用〕欄で述べた■の条件を満たすために、幅方
向の線分は往復しながら描画する。即ち経路aでは、幅
方向における主軸増加方向が長さ方向での副軸増加方向
に等しく、幅方向における副軸増加方向が長さ方向での
主軸減少方向に等しい。経路a′ではこれと増減が反対
になる。前者を正順、後者を逆順であると表わすことに
する。
次に、前記■の条件を満たすために、幅方向で逆順に点
列を発生させるとき、正順の場合と全く逆に同一の経路
をたどる必要がある。これは例えば第1図の経路11を
決定したとき、そこでの誤差項の更新を、 誤差項が負のとき  werr ←d err2− w
err誤差項が非負のとき werr 4−d err
l −werrとすればよく、経路12を決定するとき
にこの演算結果を用いれば、以後逆をたどることができ
る。
経路13.14についても同じく適用できる。但し、誤
差項がOとなるところだけは、正順と逆順とで描画点が
一致しない。これを避けるには、誤差項が常に奇数であ
るように、前記誤差項の初期値の最下位ビットをあらか
じめ1にしておけばよい。
尚、このようにしても、正順時の点列の発生には影響し
ない。
更に前記■の条件を満たし、隙間を完全に埋めるには、
C又はC′のような経路が必要になる。
これは、Bresenhamのアルゴリズムで本来得ら
れるd又はd′の経路に対して、1ステツプで2点を描
画するという例外処理で得られる。この例外処理は、下
記の如く行う。
正順の場合は、まず幅方向について経路14の如く副軸
座標値のみを増加して1点を描画し、続いて経路15の
如く主軸座標値を増加してもう1点を描画する。
逆順の場合は、まず幅方向について経路16の如く主軸
座標値のみを増加して1点を描画し、続いて経路17の
如く副軸座標値を増加してもう1点を描画する。
ということであり、長さ方向DDAでl err≧Oに
より長さ方向における副軸を増加させた時の1、幅方向
DDAでw err≧0により幅方向における副軸を増
加させる必要が生じたときに行う。
以上の方式により、太線描画のハードウェアを構成でき
る。第3図は、本発明によるDDA装置の構成図である
。同図において、DDA装置は、DDA回路18と、フ
レームメモリアクセス回路19と、フレームメモリ20
とを備え、DDA回路18からフレームメモリアクセス
回路19へは4つの制御信号LDIR,5AINC,W
REV、 EXPTを出力する。これらの信号のうち、
LDIRは1のとき長さ方向のDDAを実行中、0のと
き幅方向のDDAを実行中であることを意味し、SA 
I NCは1のとき長さ又は幅方向の副軸座標値を増加
させ、0のときそのままにすることを意味し、WREV
は1のとき幅方向DDAが逆順、0のとき正順であるこ
とを意味し、EXPTは1のとき例外処理が必要な幅方
向のDDAであることを意味する。
これらの信号に従って、フレームメモリアクセス回路1
9は、次のように動作するものとする。
但し、ここで下記の主軸及び副軸とは、長さ方向におい
て該当するものとする。
■ フレームメモリ20上の現在座標位置に点を描画す
る。
■但シ、LDIR・5AINC−WREV −EXPT
= 1 (7) トキは主軸を減少させた位置にも例外
処理として同時に点を打ち、LDIR・5AINC−W
REV −EXPT= 1のときは副軸を減少させた位
置にも例外処理として同時に点を打つ。
この後、現在の座標位置を次の点描位置に移動させる。
■ LDIR+LDIR−5AINC−WRHV= 1
 (7)とき主軸座標値を増加させる。
■       LDIR−5AINC−WREV= 
1のとき主軸座標値を減少させる。
■LDTR・5AINC+LDIR・WREV=1のと
き副軸座標値を増加させる。
■       ]■   ・−REV=1のとき副軸
座標値を減少させる。
第4図は、本発明の一実施例であるDDA回路の構成図
である。第4図において、DDA回路の基本的な部分は
、従来例と同様に、誤差項を格納するレジスタ21誤差
項が負の場合の増分を格納するレジスタ22、誤差項が
負でない場合の増分を格納するレジスタ23、演算器(
ALU)24、その演算器24への入力を選択するマル
チプレクサ25で構成されている。WCINrT26は
初期値を予め設定するレジスタで、WCNT27は2つ
の状BzrsRo又はMINUSを出力する減算カウン
タであり、DDA全体を制御する。即ち、内容が正のと
きは幅方向DDA中であることを示し、0のときは幅方
向DDAの最後のステップであることを示し、負のとき
は長さ方向DDAであることを示す。従って、減算カウ
ンタWCNT27の旧NUS出力が信号LDIRとなる
。また、負のとき、レジスタWCINIT26に予め格
納しておいた初期値を新たにWCNT27にロードする
。レジスタ21〜23は従来と同様で、レジスタ(ER
R) 21に格納される値の符号ビットが反転されて5
ATNCとなる。マルチプレクサ25は演算器(ALI
I)  240入力を選択し、レジスタ(ERR)  
21が負のときはレジスタ(DERR1) 22を、そ
うでないときはレジスタ(DERR2) 23を選択す
る。但し、WCNT27がOのときに限ってはこの選択
が逆になる。演算器(ALU)  24はWCNT27
(7)ZERO信号に接続された演算指定入力が0のと
きA+Bを演算し、■のときA−Bを演算して出力する
。LERR28は長さ方向用の誤差項を、WHRR29
は幅方向用の誤差項を、長さ方向DDAと幅方向DDA
の切り替り時に、それぞれ退避させてお(レジスタ、3
0は前記レジスタ(IliRR)  21に格納する値
を選択するマルチプレクサである。これらは、減算カウ
ンタWCNT27が正のとき演算器(ALU)24の出
力全レジスタ(ERR)  21に書込み、Oのとき演
算器(ALU)  24の出力をWERR29ニ、LE
RR28の値をレジスタ(ERR)  21に書込み、
負のとき演算器(ALU)  24の出力をLERR2
8に、WERR29の値をレジスタ(ERR)  21
に書込むよう動作する。
フリップフロップ31は、WCNT27が負になる度に
出力信号−REVを反転する。これは、最初の幅方向D
DAが正順か逆順かによってO又は1に初期化しておく
。信号EXPTは信号LDIRと5AINCの論理積で
作られ、次に信号LDIRがOである間、その値が保た
れるように、フリップフロップ32が制御させる。フリ
ップフロップ33は、入力の変化が次のサイクルで現れ
るように、同期をとるためのものでる。
更に、図示していないが、信号LDIRをクロックとす
る長さ方向用の減算カウンタLCNTを用意し、本DD
A回路の終了停止を行う。
上記本回路の動作と各レジスタ又はカウンタに設定すべ
き初期値を、第5図のフローチャートに示しておく。
尚、本実施例は、太線でない普通の線分の描画には対応
していないが、その場合、従来のDDAと全く同じ動作
をさせ、普通の線分も描画できるように本構成を変更す
るのは容易である。
〔発明の効果〕
以上、説明したとおり、本発明によれば、−度DDA回
路を起動するだけでCAD等に必要とされる太線を描画
することができ、またそのための特別な前処理や後処理
を行う必要もないので太線描画を高速に処理することが
でき、また、太線幅に制限がないので、より一般的な長
方形の面塗りを高速化可能なりDA回路の太線描画方式
を提供することができる。
【図面の簡単な説明】
第1図は本発明の詳細な説明図、 第2図は本発明のDDA方式の座標図、第3図は本発明
のDDA装置の構成図、第4図は本発明の一実施例の構
成図、 第5図は本発明の一実施例のフローチャート、第6図は
DDA原理の座標図、 第7図はDDA原理のフローチャート、第8図は従来例
の回路構成図、 第9図は太線描画の説明図である。 11〜17;点補間経路、 18;DDA回路、 19iフレ一ムメモリアクセス回路、 20;フレームメモリ、 21〜23,26,28,29.レジスタ、24;演算
器、 25.3Q;マルチプレクサ、 27;減算カウンタ。 本発明の還理っ説明図 第1図 本そ男のODA方にの座標図 第2図 /$発日月のODA耳(、置の利号1びり5図第3図 ODA々理の座標図 第6図

Claims (2)

    【特許請求の範囲】
  1. (1)フレームメモリを有するラスタスキャンディスプ
    レイに対し、DDA回路により点補間を行いつつ直線を
    描く直線描画方式において、 直線の長さ方向及びそれに直交する幅方向の2方向に対
    するそれぞれのDDA誤差項を演算し、それらの演算内
    容を幅についての情報に従って長さ方向と幅方向とで切
    替え、 点補間経路を幅方向に往復させながら順次長さ方向に進
    めることを特徴とするDDA回路の太線描画方式。
  2. (2)長さ方向を進める順次動作に幅方向の移動を伴う
    とき、幅方向点補間経路の往路もしくは復路で隙間を充
    填する点を追加することを特徴とする特許請求の範囲第
    1項に記載のDDA回路の太線描画方式。
JP32611587A 1987-12-22 1987-12-22 太線描画方法 Expired - Fee Related JP2724712B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32611587A JP2724712B2 (ja) 1987-12-22 1987-12-22 太線描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32611587A JP2724712B2 (ja) 1987-12-22 1987-12-22 太線描画方法

Publications (2)

Publication Number Publication Date
JPH01166177A true JPH01166177A (ja) 1989-06-30
JP2724712B2 JP2724712B2 (ja) 1998-03-09

Family

ID=18184252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32611587A Expired - Fee Related JP2724712B2 (ja) 1987-12-22 1987-12-22 太線描画方法

Country Status (1)

Country Link
JP (1) JP2724712B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159067A (ja) * 1991-12-05 1993-06-25 Sharp Corp 図形描画装置
WO2012165238A1 (ja) * 2011-05-30 2012-12-06 アイシン精機株式会社 描画装置、描画方法及びプログラム
CN103646412A (zh) * 2013-12-27 2014-03-19 广东威创视讯科技股份有限公司 宽线描绘方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159067A (ja) * 1991-12-05 1993-06-25 Sharp Corp 図形描画装置
WO2012165238A1 (ja) * 2011-05-30 2012-12-06 アイシン精機株式会社 描画装置、描画方法及びプログラム
JPWO2012165238A1 (ja) * 2011-05-30 2015-02-23 アイシン精機株式会社 描画装置、描画方法及びプログラム
CN103646412A (zh) * 2013-12-27 2014-03-19 广东威创视讯科技股份有限公司 宽线描绘方法及装置
CN103646412B (zh) * 2013-12-27 2017-04-05 广东威创视讯科技股份有限公司 宽线描绘方法及装置

Also Published As

Publication number Publication date
JP2724712B2 (ja) 1998-03-09

Similar Documents

Publication Publication Date Title
JPS6383884A (ja) 画像処理方式
US4459676A (en) Picture image producing apparatus
US5179647A (en) Method and apparatus for implementing adaptive forward differencing using integer arithmetic
JPH01166177A (ja) 太線描画方法
KR100232931B1 (ko) 컴퓨터 그래픽용 쉐이딩 방법 및 시스템
JPH0758510B2 (ja) 三次元図形処理装置
JPS6232519B2 (ja)
JPH03209499A (ja) アウトライン・フォントの形成方法およびその描画装置
JPH087123A (ja) 三次元画像処理方法及び装置
JPS60222975A (ja) 描画装置
JPH0821085B2 (ja) クリッピング回路
JPH02183877A (ja) 図形表示装置
JPH05233184A (ja) 曲線描画回路
JPS628275A (ja) ベクトル描画方式
JPS6274166A (ja) 走査型デイスプレイ装置における多角形頂点デ−タ追尾装置
JPH04205575A (ja) Ddaによる矩形領域塗り潰し方式及び画像処理装置
JPS636685A (ja) ベクトル描画方式
JPH01270611A (ja) 履歴位置表示装置
JPH02118782A (ja) 画像処理方法
JPH0341568A (ja) グリット補正方式
JPS63318633A (ja) ディジタル微分解析機
JPS6257080A (ja) 線分パタ−ン発生装置
Weber et al. An integer arithmetic path expansion algorithm
JPH03245280A (ja) 線分描画方法およびその装置
JPS62276669A (ja) 補間装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees