JPH01193979A - 線分描画方法 - Google Patents

線分描画方法

Info

Publication number
JPH01193979A
JPH01193979A JP1702788A JP1702788A JPH01193979A JP H01193979 A JPH01193979 A JP H01193979A JP 1702788 A JP1702788 A JP 1702788A JP 1702788 A JP1702788 A JP 1702788A JP H01193979 A JPH01193979 A JP H01193979A
Authority
JP
Japan
Prior art keywords
line segment
coordinates
segment
coordinate
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
Application number
JP1702788A
Other languages
English (en)
Inventor
Susumu Tsuhara
津原 進
Ichiro Ote
大手 一郎
Satoru Matsumoto
悟 松本
Keiko Takayama
高山 啓子
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 JP1702788A priority Critical patent/JPH01193979A/ja
Publication of JPH01193979A publication Critical patent/JPH01193979A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータ・グラフィックス等の分野にお
ける線分の描画方法に係り、特に、線分を高速fこ描画
する方法に関する。
〔従来の技術〕
従来の線分描画方法は、特開昭60〜149084号公
報に記載のように、描画下べき線分を構成するすべての
画素のX、Y座標を計算するようになっていた。
〔発明が解決しようとする課題〕
上記従来技術は、描画すべき線分の対称性に層目した高
速化について配慮がされていなかった。
すなわち、線分P1P2は、その中点Qに関して点対称
であるという特性を利用していなかったため、線分P 
I P zを構成する各画素のX、Y座標を計算する必
要があり、線分描画ζこ多くの時間を費やす必要があっ
た。
本発明の目的は、上記従来技術の欠点を解消し、線分の
対称性を利用した高速描画方法を提供することζこある
〔課題を解決するための手段〕
上記目的は、線分P1P2の中点をQとした時虜分P+
Qを構成する各画素のX、Y座標を計算する座標計算手
段と、上記各画素力中点Qiこ関して点対称な点に位置
する各画素の座標X’、 Y’を求める座標変換手段と
を設けることにより達成される。
〔作用〕
上記座標計算手段は、線OPτを構成する各画素のX、
Y座標を計算し、上記座標変換手段は、線分QP2を構
成する各画素の座標X’、 Y’を、上記X、Y座標を
もとlこ、求める。従って、線分P1P2を構成する各
画素のX、Y座標を計算する必要はなく、その半分の線
分P>Qについて座標計算を行なうだけであり、残りの
線分顧については、上記P1Qの座標変換により求める
ので、高速な線分描画ができる。
〔実施例〕
以下、本発明の一実施例を説明する。第1図は、本発明
の全体構成を示すブロック図である。第1図において、
RA M 800は、線分描画部のメモリであり、通常
は、画面表示用のフレーム・バッファであるが、これに
限定されるものではなく、メイン・メモリであってもよ
い。点描画部700は、RAMaoo上の指定された位
置に、点を描画する部分である。点の位置は、Xレジス
タ610.Yレジスfi62otこより指定されるので
、所定のアドレス計算を行ない、そのアドレス(こ−点
書き込む。
初期設定部200は、線分発生に必要な各穐定数。
変数の初期値をレジスタ310 、 320 、 31
 、340゜350 、360 、370 、 380
 、 390に設定する部分である。線分描画部400
は、線分を構成する各画素のX、Y座標を計算し、上記
点描画部700を起動して、RA M 800上ζこ各
画素を書き込む部分である。座標計算には、公知のBr
eseuhawのアルゴリズムを用いる。終了処理部5
00は、線分描画(/J終了処理を行なう。制御部10
0は、上記各処理部(/J全全体絶佳を制御する部分で
ある。
さて、−例おして、第2図1こ示したような始点Pi 
(Xl、 Yl)〜終点P2 (X2 、 Y2 XX
I = 4 、 Y1=5゜X2=14. Y2= 7
 )の線分を描画する場合の動作を説明する。制御部1
00は、まず初期設定部200を起動し、次に、線分描
画部400を起動する。そして最後に終了処理部500
を起動する(第5図)。
初期設定部200の処理フローを第4図に示す。
ブロック210〜260で、定数C1,02および変数
Eの初期値を、次式により計算し、それぞれ、Cルジス
3’ 320 、 C2L/シフ、タ370.El/ジ
スタ340 tこ設定する。
CI” 2 X (dydX) =  12     
 ・・・(1)C2= 2 X dy= 8     
      ・・・(2)E = 2 xdy −dx
=−2・・(3)ここに、 d’1=Vz  7t = 4           
    ・・・(4)dx ””x2− XI = 1
0               ・・・(5)である
つぎlこブ07り240 、250 、で定数Cx、C
yG’J値を次式Fこより計算し、それぞれ、Cxレジ
スタ33o。
Cxレジスタ38o1こ設定する。
Cx=xt +X2=18           ・−
(6)C’f=Vx +y2=10         
  ・・・(7)つぎにブロック260 、270 、
で定数XE、Fの値を次式により計算し、それぞれ、X
Eレジスタ560、F  レジスタ310に設定する。
XE=x1+ (X2  X1+ 1 ) / 2−1
 = 8  ・・・(8)(端数切捨て) F== (X2−X1+ 1  )%2−1     
   ・・・(9)Fは、(X2  X1+ 1 )を
2で割った剰余であり、X2−x1+1が偶数ならF=
 0 、 X2  X1+ 1が奇数ならF=1である
。最後lこ、ブロック280 、 290゜で変数X、
Yの値を、 X=xH= 4 、 Y=Vs= 3 (!:Ltて、
それぞれ、Xレジスタ390.Yレジスタろ5oに設定
する。
次lこ線分描画部400の処理フローを第5図ζこ示す
。7’CI7り410で、X、Yl/ジスタ390 、
 350゜の内容を、それぞれ、x+7レジスタ610
 、620゜へ送出し、点描画部700を起動して、始
点PIに一画素描画する。つぎにブロック420で、次
式により座標変換を行なう。
X’=Cx−X=14             −(
10)Y’=α−Y=7           ・・(
11)これは、点P(X、Y)の線分P1P2の中点Q
に関して点対称な点p’ (x’、 y’ ) 4求め
る処理である。
つぎlこ、ブロック430で、さきlこ求めたx’、y
’zそれぞれ、x、Xレジスタ610 、620へ送出
し、点描画部700を起動して、終点P21こ一画素描
画する。つぎにブロック440で、X座標を1インクリ
メントする(X=5)。つぎにブロック450で変数E
の正負を判定し、E>Ofiらブロック460へ進んで
、X座標を1インクリメントする(Y=4)とともに、
Eを更新する( E ”= E+Ci = −14)。
また、E≦0なら、ブロック470へ進んで、X座標を
インクリメントすることなく、Eのみを更新する( E
=E+C2=6 )。Eの現在値は−2<Oであるから
ブロック470へ進みE=6に更新されてブロック48
0へ進む。ブロック480は線分描画の終了判定を行な
うブロックであり、X≦XEなら未終了と判定し、再び
ブロック410へ進み、X>XEなら終了と判定し、処
理終了となる。従って、4≦X≦8の間はループを繰り
返し、X=9.、!:なった時、処理終了おなる。ここ
菫での計算の過程を第6図(a)にまた、画素描画の過
程を第6図(b)に示す。第6図(b)における円内の
数字は、画素描画の順序を示す。
最後に、終了処理部500の処理フローを第7図に示す
。フロック510でFレジスタ610の内容を参照し、
F=Oすなわち、線分P I P 2のX成分の大きさ
(X2−xl”1)が偶数ならば、処理終了とし、F=
1すなわち、線分P1P20Jx成分の大きさが奇数な
らば、ブロック520でXレジスタ390.Yレジスタ
650の内容を、それぞれXレジスタ610゜Xレジス
タ620.へ送出し、線分PIF2の中点に画素を一つ
描画する。
以上が、本発明の詳細な説明である。不実施例では、線
分の傾きが45°以内、すなわち、X軸寄りの線分につ
いて説明したが、線分の傾きが45°を越えるような場
合、すなわち、y軸寄りの線分についても、y軸とy軸
とを入れ替えるこaにより実現できることは明ら力)で
ある。
〔発明の効果〕
本発明ζこよれば、W3画すべき線分PtP2cz、)
中点をQとした時、線分P+Qを構成する各画素のX、
X座標を計算するだけで、残りのQP2については、P
1Qとの対称性を利用して、座標変換により求めるので
、昼速に線分描画が行なえるという効果がある。
・ 7 ・
【図面の簡単な説明】
第1図は、本発明の全体構成を示すフロック図、第2図
は、描画すべき線分の一例を示す図、第6図は、制御部
100(/J処理フロー、第4図は、初期設定部200
の処理フロー、第5図は、線分描画部400(/J処理
フロー、第6図は、線分描画の過程を示す図、第7図は
、終了処理部500の処理フロー、である。 100・・・制御部    200・・・初期設定部6
10・・・Fレジスタ  320・・・Cルジスタ63
0・・・CXレジスタ  340・・・Eレジスタ35
0・・Xレジスタ  ′560・・・XEレジスタ37
0・・・C2レジスタ  380・・CXレジスタ39
0・・・Xレジスタ  400・・・線分描画部500
・・・終了処理部  610・・・Xレジスタ620・
・・Xレジスタ  700・・点描画部800・・・R
AM 代理人 弁理士 小 川 勝 男 ・ 8 ・ 第2図 第3図 第4図 第5図 第6図 オ        (b) 第7図

Claims (1)

    【特許請求の範囲】
  1. 1、線分@P_1P_2@(その中点をQとする)を描
    画する線分描画方法において、線分@P_1Q@(また
    は@P_2Q@)を構成する各画素のX、Y座標を計算
    する座標計算手段と、線分@QP_2@(または@QP
    _1@)を構成する各画素のX、Y座標を、上記座標計
    算手段によつて得たX、Y座標の座標変換により求める
    座標変換手段とを備え、線分@P_1Q@(または@P
    _2Q@)は上記座標計算手段により、また、線分@Q
    P_2@または@QP_1@)は、線分@P_1Q@(
    または@P_2Q@)との対称性を利用して上記座標変
    換手段により、各画素のX、Y座標を求めることを特徴
    とする線分描画方法。
JP1702788A 1988-01-29 1988-01-29 線分描画方法 Pending JPH01193979A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1702788A JPH01193979A (ja) 1988-01-29 1988-01-29 線分描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1702788A JPH01193979A (ja) 1988-01-29 1988-01-29 線分描画方法

Publications (1)

Publication Number Publication Date
JPH01193979A true JPH01193979A (ja) 1989-08-03

Family

ID=11932513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1702788A Pending JPH01193979A (ja) 1988-01-29 1988-01-29 線分描画方法

Country Status (1)

Country Link
JP (1) JPH01193979A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668268A (ja) * 1992-08-21 1994-03-11 Mutoh Ind Ltd ベクタ・ラスタ変換方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668268A (ja) * 1992-08-21 1994-03-11 Mutoh Ind Ltd ベクタ・ラスタ変換方式

Similar Documents

Publication Publication Date Title
JP2793466B2 (ja) 画像の可変拡大方法及びその装置
US6507348B1 (en) Method and apparatus for clipping an object element in accordance with a clip volume
JPH0628438A (ja) 図面処理システム
JPH0660173A (ja) 画像を縮小する方法および装置
US7221368B1 (en) Stippled lines using direct distance evaluation
JPH01193979A (ja) 線分描画方法
JP2001283242A (ja) 画像処理装置および画像処理方法
JP2888270B2 (ja) 図形処理装置及びその方法
JPH0350686A (ja) 図形処理方式
JPH01116889A (ja) クリップ領域内における直線描画方法
JP2768370B2 (ja) 図形描画方法
JP2991591B2 (ja) マルチウィンドウ表示装置及び方法
JP2006302127A (ja) 画面高速描画装置およびその描画処理方法
JPH02183877A (ja) 図形表示装置
JP2908194B2 (ja) 文字の変形制御方式
JPH0210476A (ja) 曲線の折線近似装置
JP2780496B2 (ja) 描画装置のクリッピング処理方式
JPS62285188A (ja) 線分の表示方法
JPH02163885A (ja) 画像表示装置
JP2002269576A (ja) 線分描画方法および線分描画装置
JPS62271187A (ja) ベクトル描画方式
JPS63234368A (ja) 自由線幅の円/円弧生成方式
JPH06162212A (ja) 多角形塗りつぶし装置
JP2002073001A (ja) 四角形描画方法および装置
JPS61256483A (ja) 扇形図形のぬりつぶし回路