JPS61286895A - グラフイツク装置における直線描画方式 - Google Patents

グラフイツク装置における直線描画方式

Info

Publication number
JPS61286895A
JPS61286895A JP60128149A JP12814985A JPS61286895A JP S61286895 A JPS61286895 A JP S61286895A JP 60128149 A JP60128149 A JP 60128149A JP 12814985 A JP12814985 A JP 12814985A JP S61286895 A JPS61286895 A JP S61286895A
Authority
JP
Japan
Prior art keywords
point
straight line
points
line
display
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
JP60128149A
Other languages
English (en)
Other versions
JPH0727357B2 (ja
Inventor
浩行 是枝
啓一 中根
尚哉 池田
横山 佳弘
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP60128149A priority Critical patent/JPH0727357B2/ja
Publication of JPS61286895A publication Critical patent/JPS61286895A/ja
Publication of JPH0727357B2 publication Critical patent/JPH0727357B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はグラフィック装置における直線描画方式に関し
、更に詳しくは、直線の両端が直線の方向に対し垂直に
終端し、かつ一様な線幅を有する直線を描画するための
直線描画方式に関するものである。         
        j〔発明の背景〕 ピクセルを表示の最小単位とするグラフィック装置にお
いて、従来、線幅を持った直線を描画するための方式の
一つ忙、直線の描画位置を指定する2つの指定点に対し
、X軸またはy軸方向に平行に1ピクセルずつずらして
指定線幅の本数だけ多重に線を引く力木があった。この
方式によって、線幅が3ピクセル相当、線種が破線であ
る直線を表示した例を第13図(1!)に示す。
第1】図(α)において、丸印は表示上のピクセルを表
わし、特に斜線を施したものは実際の描画点を表わす。
尚、このことは以下に示す第1】図(b)。
(e)においても同様とする。
第1】図(α)を見れば明らかな通り、この方式では、
(1)直線の両端が直線の方向に対し、垂直に終端しな
い、(2)ラインスタイル(線パターン)が直線の垂直
方向に揃わない、などの点で問題があった。
そとで、この様な第1】図(eL)に示した方式を改良
するものとして、特開昭59−154784号公報に記
載されている様な直線描画方式が提案された。
この方式では、平行な多重線を順次描画する際、直線の
描画位置を指定する2つの指定点56.57の座標値よ
り直線の角度を求め、と九に応じて、ラインスタイル実
現のための線パターン配列の開始位置をずらすようなハ
ードウェアを構成するととくより、直線の方向に対し垂
直な方向にラインスタイルd切れ目を揃えるようにして
いる。この方式による表示例を第1】図(J)K:示す
この方式では、第11図(A)K示す様に、第1】図体
)で述べた問題のうち、ラインスタイルに関する問題に
ついては改善されているが、それ以外の問題については
改善がなされておらず、また、実施するに当シ、特殊な
ハードウェアを付加せねばならないという点も問題であ
った。
また、この他の別の方式として、直線の両端において直
線の方向に対し垂直な方向に点列をそれぞれ求め、それ
ら両端の点列間を点同士それぞれ直線で結ぶという方式
がある。この方式によって、線幅が3ピクセルに相当す
る直線を表示した例を第11図tCnc示す。第11図
(+−)において、点列6は、点u  ’ # u−A
e 64t’から成り、点列55は、点65−α、65
−by錦−Cから成りておシ、共に直線の両端における
点列を示している。これらの両端の点列−965は、予
め与えられている2つの指定点間、57の座標と線幅と
から幾何学的計算によって、先ず直線の四隅の点64−
’ e 641:t e &S@ * as  ’の座
標値をそれぞれ求め、次にそれらを用いて、点6−αと
点64−cとの間を結ぶ直線と、点部−Gと点65−C
との間を結ぶ直線とを各々構成する点列をそれぞれ求め
ることKよ)得る。
第12図は、上記した直線の四隅を求める方法を更に詳
細に説明するための説明図でToシ、第12図において
、2つの指定点謁、謁の座標値をそれぞれ011 * 
ffo ) t (’1 * fft )とし、直線の
長さをt、直線の方向に対する垂直方向の線幅をdとす
る。
例えば、求める四隅の点のうち1つの点画の座標は、破
線で示した2つの3角形の相似関係より、 (”6−π(yt  ffa )effo+2,4(’
t  ’o )) ”””式(1)(但り、 L= 、
fCマ;;狸不E讐ア)と求まる。四隅の他の点91 
、92 、93 Kついても、点90に関する指定点5
5からの偏差と、指定点5! 。
郭の座標値から求めることができる。
この方式では、第11図(4)、(j)Kそれぞれ示し
た方式に比べ、直線の両端やラインスタイルの切れ目が
、直線の方向に対し垂直な方向に揃うという点で改善さ
れている。
しかし、新たに、次のような2つの問題が生じている。
1つは、直線の内部に塗プつぶしの抜けが生じるという
問題である。つtb、この方式では、第11図(C) 
K示す様に直線の方向に対し垂直な方向に求めた両端の
点列62点列65の中で、Sおよびy座標値が同時に変
化する箇所。
すなわち点64−aと64−40間、点u−Jと点85
− cO間、が存在し、このため、両端の点列間を結ぶ
直線を形成する点列を描画したときに、破線の丸印で示
したような描画されない点53を生ずるのである。
又、もう一つの問題点は、指定された直線を描画するた
めに多くの処理時間がかかることである。この理由は、
直線の四隅の点を求めるのに複雑な計算が必要であるこ
とや、直線の両端の点列間に多重に平行線を描画する塗
りつぶし方式を用いているためである。
〔発明の目的〕
本発明の目的は、上記した従来技術の問題点を解決し、
グラフィック装置において、指定された線幅を有し、か
つ直線の方向に対し垂直な方向に直線の両端シよび指定
されたラインスタイルの切れ目が揃い、しかも、直線の
内部に塗シつぶしの抜けが生じていない直線を、高速に
て描画する直線描画方式を提供することにある。
〔発明の概要〕 上記した目的を達成するために%本発明では、所定の線
幅を有した直線を描画する際、処理装置は、主メモリに
格納されたプログラムに従い、°指定された第1及び第
2の指定点を結ぶ直線の方向に対して垂直な方向に、該
第1の指定点を含み、指定された線幅に相当する長さの
直線を構成する点列の各点座標を求め、さらに、それら
の各点について、その中に含まれる第1の基準点く対す
る相対的な位置座標を求めて前記主メモリに記憶した後
、第1の指定点に対する第1の基準点の位置関係と同等
の位置関係を前記第2の指定点に対して持つ第2の基準
点の点座標を求め、前記第1及び第2の基準点間を結ぶ
直線を構成する点列の各点座標を求めると共に、その点
座標を一点求める毎に、併せて前記主メモリに記憶した
相対的々位置座標を参照しながらその点く対する該位置
座標の各々に基づく各相対位置に存在する点の点座標を
それぞれ求め、また、それら点のうち隣接する2つの点
のX座標値及びy座標値が異方る場合は、その2つの点
のうち、一方の点とX座標値を同じくし、他方の点とy
座標値を同じくする点も併せて求め、求めた各点座標の
座標位置と対応する表示メモリ内のメモリ位置に各々所
定の点情報を格納し、その後、ディスプレイ制御装置が
格納した前記点情報を読出してラスタディスプレイの画
面上に表示するととにより、該ラスタディスプレイの画
面上に所定の線幅を有した直線を表示するようにした。
また、本発明では、直線の描画位置を指定する2つの指
定点の間を結ぶ線の両側に均等外幅を有する直線を描画
する場合においては、前記処理装置が、前記2つの指定
点のうちの一方の点の座標位置から、直線の方向く対し
垂直方向に指定した線幅の半分の距離に相当する個数だ
け順次点列を求めて、到達した点を第1の基準点とし、
該基準点から折返し前記指定点の方向に、指定した線幅
の距離に相当する個数だけ、順次点列を求め、求めたそ
の点列を第1の点列とすることにより、第1の点列を得
るようにし九ものである。
〔発明の実施例〕
以下に本発明の一実施例を図を用いて説明する。
第2図は本発明を実施するために用いるグラフィック装
置の構成を示すブロック図である。
第2図において、 10は主メモリ(以下、KMと略す
)、11は外部フチイルの制御装置(以下、EFIと略
す)、12は外部ファイル(以下、EFと略す)、13
は演算処理装置(以下、cpvと略す)、14はキーボ
ードの制御装置(以下、KBIと略す)、16はキーホ
ード(以下、KBと略す)、16はプリンタの制御装置
(以下、PRlと略す)、17はプリンタ(以下、PR
と略す)、句はグラフィック処理ユニット(以下、GP
Uと略す)、=はラスタディスプレイ(以下、Dと略す
)、でToシ、これらは共通パス21にて互いに接続さ
れている。
第3図は、第2図で示したO P U 20の構成を詳
細に示したブロック図である。
第3図において、23はセグメントメモリ(以下、SM
と略す)、冴はグラフィック処理装置(以下、apと略
す)、葛は表示メモリ(以下、FMと略す)、部はディ
スプレイ制御装置(゛以下、DCと略す)、でToシ、
これらは内部パス釘にて互いに接続されている。
なお、5JI23はMMIOで代用することができ、ま
た、ap24はCP U 13にその機能を持たせるこ
ともできる。
第2図に示すグラフ゛イ、り装置において、Dnへ図形
を描画するための動作についてHs図を共に参照しなが
ら説明する。
D zzへ図形を描画するためのプログラム及び図形デ
ータ(一般には図形描画命令列)はKMlOに格納され
ておプ、CP U 13はプログラムをM M loよ
シ読出して実行する。D22への図形の表示を行なうに
は、CP U 13はまず、該図形データをM M 1
GからにPU20内の5M23に転送する命令を該プロ
グラムよシ取出し、実行する。
次いで、CP U 13は、GPU2D内のGP24に
図形描画の実行要求を行なう命令を、M M 10よシ
取出し実行する。
実行要求を受けたGPUZD内のapuはSMnから該
当する図形データを取出してピクセルデータに変換し、
D22上のピクセルに対応した1M25上の領域に格納
する。DC26は一定周期でFMwを巡回的に読出しな
がら、読出した属性に従って対応するピクセルを表示す
る。このことによp、D22は常にF M 25に格納
されたデータを反映した表示が成される。
第4図は本発明の直線描画方式による画面出力例を示す
模式図である。
第4図において、丸印は表示上のピクセルを表わし%特
に斜線を施したものは実際の描画点を表わす。また、点
55および56は直線の両端の指定点であプ、本図は点
55および56を結ぶ直線     ゛を中心に両側に
均等な幅を持つ直線33(破線)を描いた例である。
第4図に示す様に1本実施例によりて描画される直線は
その両端が直線の方向に対し垂直に終端し、ラインスタ
イルも直線の方向に対し垂直な方向にパターンの切れ目
が揃うよう描画される。
では、第2図に示したグラフィク装置において、第4図
に示した様な直線を描画するための動作にりいて説明す
る。
尚、以下の説明では、ラスタ・ディスプレイの走査方向
をX軸、X軸と垂直方向をy軸とし、描画する直線の傾
斜角をX軸圧方向をOoとして反時計廻シに45°tで
の範囲に限定して説明する。他の角度についても、X軸
とy軸の交換、第8図で後述するデジタル微分解析法(
以下、DDAと呼称する)におけるS軸方向またはy軸
方向の増分の符号の変更によって、以下と同様に取扱う
ことができる。
fas図は、指定された線@dと直線の傾斜角θとだ対
する補正線幅d′の関係を示すための説明図である。
第2図及び第3図において前述した如に、CP U 1
3がGPU20内のapuに対し、図形描画の実行要求
として直線描画の実行要求を出したとすると、その実行
要求を受は九〇Puは、第4図に示した様な幅を持った
直線を描画するために、次の様な処理を屓に行う。
■ 指定線幅dに対して、直線の傾きによって変化する
直線描画のための補正線幅、1.r (第5図参照)を
求める。
■ 直線の一端にかいて、指定点55を中心として、直
線の方向に対し垂直な方向に、線@d分の点列(y軸方
向の増分が補正線幅d′と等しくなる点列)を求め、そ
の点列中の一点を基準点としてその基準点に対する他の
各点の相対的な位置座標を5Jlzsに記憶する。
■ SMuに記憶された相対的な位置座標を参照しなが
ら、直線の一端から他端に向かって、順次、直線の方向
に対し垂直方向に連らなる点列の点座標を、直線の内部
に隙間ができないようにして求め、求めた点座標に対応
する1M25のメモリ位置に点情報(ピクセルデータ)
を格納する。
■ F M 25に点情報を格納する際、その点情報は
、ラインスタイルを実現する為に、5M23に格納され
た線のパターン列を巡回的に参照することによりて得る
以上がGPuの処理動作の概略であるが、とれらKつい
て以下ひとつづつ順をおりて詳細に説明する。
先ず、■の処理動作にりいて説明する前に、幅を有した
直線を描画するために必要なテーブルについて説明して
おく。
第6図は、本発明において直線描画のために必要なテー
ブルを示す模式図である。第6図に示す各テーブルは通
常Sin上に存在している。
第6図(alに示すテーブルは、直線の属性テーブルで
ある。
第6図(4)において、エリア40 、41はそれぞれ
指定点55のX座標、y座標を格納しておシ、エリア4
2 、43はそれぞれ指定点56の5座標、y座標を格
納している。又、工11アIは第5図に示す指定線幅d
を、エリア45は直線描画に用いる補正線幅d′をそれ
ぞれ格納している。エリア46はラインスタイル実現の
ための線パターンを格納している。線パターンはビット
列として表され、φ・・・描画しない、1・・・描画す
る、の2状態を持ったビットを、ラインスタイルの一周
期のピクセル個数分だけ用意している。
第6図(bl K示すテーブルは直線描画のためのワー
ク・テーブルである。
第6図(A)において、エリア47 、48はそれぞれ
後述の如くして求められる第7図に示す基準点57のS
座標、y座標を格納するものであ)、エリア49 、5
0も同様にそれぞれ、第7図に示す基準点郭のX座標、
y座標を格納するものである。
又、オフセット配列51は、後述の如(GPuが指定点
を中心とする、描画すべき直線の方向に対し垂直な、補
正線幅分の長さをy軸方向に対して有する直線を形成す
る点列の座標値を、基準点からのX座標、y座標の偏差
として求めた後、求めたy座標の偏差の小さい点から順
に、その点の1座標の偏差値を格納して行くものである
。オフセット配列51の大きさは指定線幅dの指定可能
な最大値で決まる。
第6図(e) K示すテーブルは線幅補正テーブルであ
シ、直線の傾きと指定線幅dとから補正線幅d′を求め
るためのものである。第5図かられかる通プ、dとd′
の関係は d’ = tL capθ      ・・・・・・・
・・式(2)であシ、直線の傾き−Σ== tanθを
式(2)に代入すLz −ると、 d’ = d−cap(ta%−” 曳)     0
.−、m、−0式(8]と表わされる。実際必要なd′
の値は整数値であるので、d・aaz(ta%−12)
の値に最も近い整数値をd/とする。そこで、式(31
を用いて、指定可能な線幅−のそれぞれについて、補正
線幅d′の各整数値を取シ得るための直線の傾きの各最
大値をそれぞれ求め、それらを格納したものが第6図(
0)に示す線幅補正テーブルである。
第6図(c)において、上端に並んだ各数字は線幅dの
値をそれぞれ示し、左端に並んだ文字は補正線幅d′の
値(dには、上記した線@dの値が代入される。)をそ
れぞれ示し、又、各ブロック内の小数点の付い丸数字は
直線の傾きの値を示している。
即ち、この線幅補正テーブルでは、成る指定゛線幅dに
相当する列において先頭ブロックからi行目のブロック
内の内容は、補正線幅d′をd−i+1とする直線の傾
きの最大値を格納している。なお、直線の角度が06か
ら45°の範囲で、補正線幅d′が最大となるのは、式
(2)よ)角度45″。
すなわち傾き1のときである。よって、各線幅dに対応
する傾きのテーブルの最後の値はtoonとなる。
以上が、直線描画のために必要なテーブルである。
では、これらのテーブルを用いて行なわれるGPuの処
理動作について説明する。
前述した■の処理動作では、先ず、GPuは、5M23
内の属性テーブルCf1E6図(6)参照)K格納され
ている2つの指定点間、茜の座標値から直線の傾きを導
びき出す。次に、この直線の傾きの値と、属性テーブル
に格納された指定線幅dの値とから5J123内の線幅
補正テーブル(第6図(C)参照)を用いて、補正線幅
d′の値を次の様にして求める。即ち、求めた直線の傾
きの値が、指定線幅dIIC相当する列の先頭からi 
−1。
行目の値よシ大き(、i行目の値よシ小さいなら、補正
線幅d′は5,1p−d−i+1の式に従って計算する
ことKよシ、求めることができる。例えば、今、求めた
直線の傾きの値が′″1800’″ で、指定線幅dが
I9′mでありたとすると、第6図(olにおいて指定
線幅′″9”に相当する列は右端の1列であシ、その列
の中で、直線の傾きの値′″1800”  は、先頭か
ら2行目の値″lα663” よシ大きに、3行目の値
” CL958″ よシ小さいので、t ハ@s” ト
求1 F)、従クチ、式: d’=tL−i+l Kそ
れぞれ代入して計算すると、補正線幅d′は7″と求ま
る。
次に、第7図を用いて、前述した■の処理動作について
説明する。
第7図は、直線の端の点列を求める動作を説明するた□
めの説明図である。
まず、GP24は、指定点55から直線の方向に対し垂
直な方向に連なシ、y軸方向の増分がCt’/z) (
記号〔〕は整数化することを意味する)、すなわち補正
線幅d′の半分を整数化した長さとなる点列をDDA処
理によ)求める。第7図において、破線矢印で示す丸印
は、とのDDA処理で求めた通過ピクセルである。次に
、GPuは、この様にして到達した点を基準点57とし
、基準点57よシ指定点SSに向ってy軸方向の増分が
補正線幅d′分の長さとなる点列をDDA処理により、
第7図にシいて実線矢印で示すよう忙順次求めて行き、
指定点聞を中心に持つ点列を得る。第7図において、正
方形で囲んだピクセルは求まった端の点列である。
次に、GF24は、求めた点列を、基準点57から偏差
として5M23に記憶する。具体的には、直線が08〜
45° の傾きなら、求めた点列のy座標はすべての点
で1ずつ異るので、GP24は、基準点57からのy座
標値の偏差の絶対値を、SM 23内のワーク・テーブ
ル(第6図(A)参照)Kおけるオフセット配列51の
インデックス<jades)として、基準点57からの
1座標値の偏差を、オフセット配列51のインデックス
が示す箇所に°格納する。第7図に示す直線の例では、
オフセット配列51 Kは先頭から順に、φ#LLLL
LL’#4と言りた具合に格納される。
次に、■の処理動作について説明するわけてあるが、そ
の前に、本実施例で用いられるDI)A処理1について
説明しておく。
第8図(a)〜(0)は、通常の直線描画に用いる単方
向DDA方式を説明するための説明図である。
第8図において、丸印はピクセルを表わし、破線田は理
想の直線を表わす。単方向DDAは、第8図(a) 、
 (A)K示す様に、理想の直線からピクセルの中心ま
での変位をムラとすると、ある点から次の点を求めると
き、Δyが負ならばS座標とともにy座標を1増加させ
た点ωを次の点とし、Δyが正ならば5座標だけ1増加
した点61を次の点とする方式である。この方式によプ
描画した直線は第8図(?)のようになる。
*a図(り〜V)は、前述のDDAを、幅を持つ九直線
内部にできる規則的な抜けをすべて塗シつぶすことがで
きるように変更を加えた、変形DDAを説明するための
説明図である。変形DDAは、ある点から次の点を求め
るときに、第8図(d) K示す様に、Δyが負ならば
X座標、y座標ともに1増加した点ωを次点として描画
し、それと同時に、y座標だけ1増加した点62も併せ
て描画するという点で単方向DDAとは異なっている。
この方式により描画した直線は第8図ωのようKなる。
以上が、DDA処理についての説明である。
次に、第9図を用いて、前述した0の処理動作について
説明する。
!9図は、直線の内部の点列を求める動作を説明するた
めの説明図である。
GPuは、基準点57からもう一方の基準点間(基準点
間の求め方は後述する。)へ単方向DDA処理を行ない
、基準点57と錦の間を結ぶ直線上の途中の点(am、
y、) 70を順次求める。このとき、GPuは、第9
図に示す様に点(ハ、y、)を一点求める毎に、オフセ
ット配列51内の有効なd′個の要素について、先頭か
ら後尾に至るまで順次、各要素のインデックス値をy、
から引き、該インデックスに格納されたオフセット値を
X。
に加えるととにより、点(’ah # y * ) T
OK対する点列の各座標値71を求め、それら座標値T
o 、 71 K対応するFin内のメモリ位置に点情
報を格納する。又、この際、変形DDA方式を用いて第
8図(d)に示したピクセル62のような点くついても
併せて点情報を書き込むことにより、直線内部のすき間
をなくす。
次に、第1O図を用いて、前述した■の処理動作につい
て説明する。
第10図はラインスタイルを実現するための処理動作を
説明するための説明図である。
尚、予めSMu内の属性テーブル(第6図(、l)参照
)には、8110図に示す様な線パータン列46が格納
されているものとし、この配列のインデックスを示すポ
インタも用意されているものとする。
そと・で、GPuは、第9図にて述べた様に、基準点5
7から58へ単方向DDA方式によプ、点(&+a、3
Ta) 7Gを求めてゆくとき、第10図に示す配列4
6のポインタの内容を1ずつ増加させながら、そのポイ
ンタの示す配列の内容を取出し、その内容に従い、座標
値(−%*ff5)70の点、および座標値(gs、y
、) 7Gからオフセット値を参照して求めた座標値7
1を持つ点列、を描画するかどうかを決め、それに対応
する様、点情報をFix内に書き込む。即ち、その内容
がφであれば、前述した様に、描画しないということな
ので、その意味に対応した点情報が1M25内に格納さ
れ、又、1であれば、描画するという意味に対応した点
情報が格納される。なお、配列46のポインタは配列の
最後を差し示したあとは、巡回的に配列の先頭を差し示
すようにする。
以上が、GPuによる処理動作の説明である。
次に、この様な処理動作について、第1図に示すフロー
チャートを用い、その処理手順に沿って更に説明する。
上記した様な処理動作を実現する為のプログラムは、通
常5M23上に格納されておシ、GP8がそのプログラ
ムを解釈し、実行することKよシ、所定の線幅を有した
直線は描画される。
第1図(6)はapuの処理手順を示すフローチャート
である。
GP24による処理手順の概略は、第1図(a)K示す
如くになっている。即ち、まず、線幅dが2以上の場合
にはサブルーチンeanpanzata−witLth
150を呼び、補正線幅d′を求める(ブロック103
)。
次にサブルーチンfind−atlla 140を呼び
、オフセット配列51を求める(ブロック104)。そ
して、最後にサブルーチンeLraw−1ine 15
0を呼び、実際に直線を描画する(ブロック105)の
である。
第1図(blはサブルーチンaa%pm%zata−w
ieLth130の詳細な処理手順を示すフローチャー
トである。第1図(A)に示す様に、まず、GPuは、
5M23内の属性テーブルに格納された2つの指定点の
5座標、y座標の差の比より、直線の傾きを求め(ブロ
ック131)、次いで、Sin内の線幅補正テーブル(
第6図(c1参照)K対し1指定された線幅dに関する
線幅補正テーブルの先頭アドレスを求め、これをインデ
ックスのφとする(ブロック132)。セしてGPuは
、インデックスを1ずつ進めながら、該当するテーブル
の内容を順次読出して、求めた直線の傾きと比較してゆ
き(ブロック134)、その直線の傾きより大きくなり
た時点で、該当テーブルのインデックス値をdから引く
ことにより補正線幅d′を求める(ブロック1S6)。
第1図(C)はサブルーチア find−adga 1
40の詳細な処理手順を示すフローチャートである。
本サブルーチンでは、GP24は、まず第7図で説明し
たように、指定点55よシ直線と垂直方向に、y軸方向
の増分がtt’/2となる距離だけDDAKよるドツト
展開を行ない(ブロック142〜144)、到達した点
を基準点57とする(ブロック145)。次<、ap2
4は、基準点57から折返し指定点郭の方向に、y軸方
向の増分がd′となる距離だけDDAVcよるドツト展
開を行ない(ブロック147〜149)、このとき求t
りた点列のS座標に関して、基準点57のX座標からの
偏位を、S M zs内のワーク・テーブル!/cおけ
るオフセット配列51に格納する(ブロック148)。
次に、apuは、基準点57に関する指定点55からの
偏位を指定点56に加えることにょプ、もう一端の基準
点郭の座標を求める(ブロック146)。
第1図(d)はサブルーチンtlraw−1ine 1
50の詳細な処理手順を示すフローチャートである。
尚、この第1図(d)K示すサブルーチンにおいて、1
点を描画する”とは、ap24がその点の座標値に対応
する1M25内のメモリ位置に、描画を意味する点情報
を書き込むという意味である。
第1図(d)K示す様に、GP74は、基準点57から
基準点58に向ってDDAを行ない点(”+asyj7
0を順次束める(ブロック152)。そして、GP24
は、DDAを1ピクセル進めるごとに、Sin内の属性
テーブルに格納された線パターン列46を巡回的に見て
(ブロック153〜155)、該当配列要素がφなら何
も描画せず、1ならば吹に示すように点の描画を行なう
まず、apuは、第9図において、2重丸で表わされて
いる点(’s*ff、) 70を描画し1その後、S 
M u内のワーク・テーブルに格納されたオフセット配
列51の先頭から後尾に至るまで、インデックス値をy
、から引き、インデックスの示する配列51の内容をへ
に加えることにより、点71を順次求め、その点71を
描画する(ブロック158〜162)。第9図では描画
する点列を正方形で表わしている。
なお、内部にできる塗りつぶされ危い点をなくすため、
GP24は、変形DDAに従い、一つ前の点(re−1
,ys−1) Kおける理想の直線からのy座標偏差で
あるΔyが負ならば、第8図(d) K示した様に次の
点ωと併せて点62のような点を描画しくブロック16
0)、Δyが正ならば、第8図(−1¥C示した様に次
の点61のみを描画する(ブロック161)。
以上が、処理手順に沿ったGPuによる処理動作の説明
である。
本実施例によれば、2つの指定点を結ぶ直線を中心とし
て両側に均等な幅を持ち、指定の線幅、指定のラインス
タイルを持つ直線を描画できる。また、本実施例では、
第1】図(c)に示した従来方式の様に、直線の両端の
点列を求める際の複雑な計算が必要でなく%また、オフ
セット配列51を求める時にDDAを行なう他は、任意
の線幅の直線において1回のDDAで描画できるため、
fs13図(、−)に示した方式のよりなりDAを線幅
分の回数、繰返して描画する方式に比べ、高速に描画す
ることができる。
なお、両側に均等でないような幅を持った直線を描画す
る場合においても、例えば、2つの指定点の片側だけに
線幅を持つ直線を描画する場合、直線の一端の点列を求
める際に、1方の指定点から単に直線の方向に対し垂直
な方向に連なる点列を求めるようKするだけで、それ以
後の処理動作は全く変更する必要はない。
〔発明の効果〕
本発明によれば、指定する2点間に線幅を持った直線を
描画する際に、次のような効果がある。
■ 直線の両端やラインスタイルが直線の方向に対し、
垂直な方向に切れ、かつ直線内部に塗シつぶしの抜けが
生じないような直線が描画できる。
■ 任意の幅の直線描画に対し、1度だけ両端を結ぶ直
線の点列を求めるだけなので、多重線による描画方式に
比べ高速に直線が描画できる。
■ 前記指定点間を結ぶ直線の両側に、均等な幅を持っ
た直線を描画できる。
置の処理手順を示すフローチャート、fa2図は本発明
を実施するために用いるグラフィック装置の構成を示す
ブロック図、第3図は第2図のグラフィック処理ユニッ
トの構成を示すブロック図、第4図は本発明の直線描画
方式による画面出力例を示す模式図、第5図は指定線幅
と補正線幅との関係を示すための説明図、第6図は! 本発明において直線描画のために必要なテーブルを示す
模式図、第7図は本発明において直線の端の点列を求め
る動作を説明するための説明図、第8図は本発明におい
て用いられるDAA処理を説明するための説明図、第9
図は本発明において直線の内部の点列を求める動作を説
明するための説明図、第10図は本発明においてライン
スタイルを実現するための処理動作を説明する説明図、
第1】図体)乃至(C)はそれぞれ従来の直線描画方式
を説明するための説明図、第12図は従来の方式におい
て直線の四隅を求める方法を説明するための説明図、で
ある。
符号説′明 22・・・ラスタディスプレイ 23・・・セグメントメモリ ス・・・グラフィック処理装置 怒・・・表示メモリ 妬・・・ディスプレイ制御装置 46・・・線パターン列   51・・・オフセット配
列55 、56・・・指定点    57 、58・・
・基準点も1図(α) ?!+1図(C) 第1図((1) 第20 も3図 第4図 壱5記 檀6c2] C(L)Jiiaチー7”lし くb)クー2チーフ°ル ” )a ?AM正〒−7−tし 第8記 cLL)(t)(+) 第1O図 喚110 (c)   ご5 b’t−L界+tl 6’?−1− 一一−Y−−ノ 1ノ2図

Claims (1)

  1. 【特許請求の範囲】 1)入力装置と、処理装置と、主メモリと、ラスタディ
    スプレイと、表示メモリと、ディスプレイ制御装置とか
    ら成り、前記入力装置からの指示により前記処理装置は
    前記主メモリ内に格納された所望の図形データを取出し
    て処理し、前記ラスタディスプレイの画面上の画素に対
    応した前記表示メモリ上の領域に格納した後、前記ディ
    スプレイ制御装置が前記表示メモリから格納したデータ
    を読出して前記ラスタディスプレイの画面上に映像とし
    て表示するグラフィック装置において、 前記入力装置により所定の線幅を有した直 線を前記ラスタディスプレイ上に表示するよう指示され
    た際、前記処理装置は、前記主メモリに格納されたプロ
    グラムに従い、前記直線を規定するパラメータを該主メ
    モリから求め、該パラメータから当該直線の一端におい
    て該直線の方向に対し垂直な方向に連なり前記線幅と同
    等の長さを有する第1の点列の各点座標を求めて、該第
    1の点列中の一点を第1の基準点として該第1の基準点
    に対する他の各点の相対的な位置座標を前記メモリに格
    納した後、前記直線の他端において前記第1の基準点と
    対応する第2の基準点と、該第1の基準点との間を結ぶ
    線上に連らなる第2の点列の各点座標を求めると共に、
    その点座標を一点求める毎に、併せて前記主メモリに格
    納した相対的な位置座標を参照しながらその点に対する
    該位置座標の各々に基づく各相対位置に存在する相対点
    の点座標をそれぞれ求め、求めた各点座標の座標位置と
    対応する前記表示メモリ内のメモリ位置に各々所定の点
    情報を格納し、その後、前記ディスプレイ制御装置が格
    納した前記点情報を読出して前記ラスタディスプレイの
    画面上に表示することにより、該ラスタディスプレイの
    画面上に所定の線幅を有した直線を描画するようにした
    ことを特徴とするグラフィック装置における直線描画方
    式。 2)特許請求の範囲第1項に記載の直線描画方式におい
    て、前記処理装置は、前記相対点の点座標を求める際、
    隣接する2つの相対点のx座標値及びy座標値のいずれ
    もが異なる場合は、その2つの相対点のうちの一方の相
    対点とx座標値を同じくし、他方の相対点とy座標値を
    同じくする点を併せて求め、その求めた点についても、
    その点の点座標の座標位置と対応する前記表示メモリ内
    のメモリ位置に所定の点情報を格納するようにしたこと
    を特徴とするグラフィック装置における直線描画方式。 3)特許請求の範囲第1項に記載の直線描画方式におい
    て、前記直線を規定するパラメータは該直線の描画位置
    を指定する2つの指定点の点座標と該直線の線幅を指定
    する値とを含み、前記処理装置が該パラメータから前記
    第1の点列を求める際、該処理装置は、前記2つの指定
    点のうち一方の点の座標位置から前記直線の方向に対し
    垂直な方向に、指定した線幅の半分の距離に相当する個
    数だけ順次点列を求めて、到達した点を前記第1の基準
    点とし、該基準点から折返し前記指定点の方向に、指定
    した線幅の距離に相当する個数だけ順次点列を求め、求
    めた該点列を前記第1の点列としたことを特徴とするグ
    ラフィック装置における直線描画方式。
JP60128149A 1985-06-14 1985-06-14 グラフイツク装置における直線描画方式 Expired - Lifetime JPH0727357B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60128149A JPH0727357B2 (ja) 1985-06-14 1985-06-14 グラフイツク装置における直線描画方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60128149A JPH0727357B2 (ja) 1985-06-14 1985-06-14 グラフイツク装置における直線描画方式

Publications (2)

Publication Number Publication Date
JPS61286895A true JPS61286895A (ja) 1986-12-17
JPH0727357B2 JPH0727357B2 (ja) 1995-03-29

Family

ID=14977597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60128149A Expired - Lifetime JPH0727357B2 (ja) 1985-06-14 1985-06-14 グラフイツク装置における直線描画方式

Country Status (1)

Country Link
JP (1) JPH0727357B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233821A (ja) * 1992-02-24 1993-09-10 Japan Radio Co Ltd 図形表示装置
CN115909380A (zh) * 2022-11-28 2023-04-04 联宝(合肥)电子科技有限公司 边框表格内容的提取方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57159389A (en) * 1981-03-28 1982-10-01 Fujitsu Ltd Thick line drawing system
JPS5929293A (ja) * 1982-08-11 1984-02-16 日本電気株式会社 幅のあるベクトルの発生方式とその装置
JPS59136784A (ja) * 1983-01-25 1984-08-06 日本電気株式会社 幅のあるベクトルの発生方式とその装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57159389A (en) * 1981-03-28 1982-10-01 Fujitsu Ltd Thick line drawing system
JPS5929293A (ja) * 1982-08-11 1984-02-16 日本電気株式会社 幅のあるベクトルの発生方式とその装置
JPS59136784A (ja) * 1983-01-25 1984-08-06 日本電気株式会社 幅のあるベクトルの発生方式とその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233821A (ja) * 1992-02-24 1993-09-10 Japan Radio Co Ltd 図形表示装置
CN115909380A (zh) * 2022-11-28 2023-04-04 联宝(合肥)电子科技有限公司 边框表格内容的提取方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JPH0727357B2 (ja) 1995-03-29

Similar Documents

Publication Publication Date Title
US4975976A (en) Image transformation method and device
US4974177A (en) Mapping circuit of a CRT display device
US4620287A (en) Method and apparatus for representation of a curve of uniform width
JPH01196675A (ja) パターンデータ生成方式
US5515484A (en) Method and apparatus for rendering volumetric images
JPS63271290A (ja) 文字パタ−ン生成方式
JP2612260B2 (ja) テクスチヤマツピング装置
CA2025782A1 (en) Method for determining the optimum angle for displaying a line on raster output devices
EP0644509A2 (en) Method and apparatus for filling polygons
US5280569A (en) Three dimensional model describing method
JP3547250B2 (ja) 描画方法
JPS61286895A (ja) グラフイツク装置における直線描画方式
JP2868666B2 (ja) 任意の線に沿って組版する電子組版装置
EP0199160B1 (en) Method for generating a circular or elliptic arc
JP2770582B2 (ja) 図形塗潰し装置
CN114581292A (zh) 一种二维图像的三维标注方法及装置
JPH09106453A (ja) 画像の変形方法
JPH06274303A (ja) マルチウィンドウ表示方法
JP3517982B2 (ja) 図形描画装置
JP2613653B2 (ja) 画像処理装置
JPH0350686A (ja) 図形処理方式
JP4320604B2 (ja) 画像処理方法および画像処理装置
JP2700124B2 (ja) 図形表示方法及びその実施装置
JP3567728B2 (ja) 画像処理方法および装置
JP2634906B2 (ja) 画像処理方法