JPH04238586A - 描画装置のクリッピング処理方式 - Google Patents

描画装置のクリッピング処理方式

Info

Publication number
JPH04238586A
JPH04238586A JP630191A JP630191A JPH04238586A JP H04238586 A JPH04238586 A JP H04238586A JP 630191 A JP630191 A JP 630191A JP 630191 A JP630191 A JP 630191A JP H04238586 A JPH04238586 A JP H04238586A
Authority
JP
Japan
Prior art keywords
coordinate
point
coordinates
straight line
clipping
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
JP630191A
Other languages
English (en)
Other versions
JP2780496B2 (ja
Inventor
Tateji Horiguchi
堀口 立二
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP630191A priority Critical patent/JP2780496B2/ja
Publication of JPH04238586A publication Critical patent/JPH04238586A/ja
Application granted granted Critical
Publication of JP2780496B2 publication Critical patent/JP2780496B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル描画装置で
直線をクリッピングして描画する場合のクリッピング方
式に関するものである。
【0002】
【従来の技術】近年、ワークステーションなどのシステ
ムにおいて、マルチウィンドウ表示などを行うことが多
くなってきているが、その際図形を長方形の枠(以下、
クリッピング領域という)内にだけ描画する処理が必要
になってきた。
【0003】従来の直線をクリッピング領域内だけ描画
するようなクリッピング処理には以下のような二通りの
方法がある。
【0004】(1)クリッピング境界にかかる点をあら
かじめ計算する方法。
【0005】図3に示すように、クリッピング領域であ
る長方形P1 P2 P3 P4 に対し、Aから点B
まで直線を描画する場合、予め長方形と直線との交点B
10を計算で求めておいて、点Aから点B10までDD
A(Digital  Differential  
Analyzer)アルゴリズムなどで座標を発生しな
がら描画を行う。
【0006】例えば、直線ABの方程式が次式で与えら
れるとする。
【0007】Y=aX+b……(1) 図3で、点B10の座標は次式で与えられる。
【0008】 B10(X,Y)={(YT−b)/a,YT}……(
2) これをもとに、DDAにより直線AB10の軌跡を発生
する。
【0009】(2)常に長方形の頂点の座標と比較しな
がら描画する方法。
【0010】(1)と同様に、図3のクリッピング領域
である長方形P1 P2 P3 P4 に対し、点Aか
ら点Bまで直線を描画する場合において、点Aから点B
までDADアルゴリズムなどで1点ずつ座標を発生して
いく。この描画を行う際、長方形との内外判定を行い、
長方形内部の点であったら描画を行う。
【0011】つまり、今、任意の位置の点(X,Y)を
描画しようとした場合、 0≦X−XL……(3) 0≦Y−YB……(4) 0≦XR−X……(5) 0≦YT−Y……(6) これら4条件が全て成立したとき、点(X,Y)は長方
形P1 P2 P3 P4 内部の点と判定できるため
描画できる。
【0012】
【発明が解決しようとする課題】上述した従来のクリッ
ピング方法には次のような問題がある。
【0013】(1)の方法では、長方形領域との交点を
算出する際に、割り算処理が必要であり、これを正確に
求めるためには小数点演算が必要となる。この場合、D
DAアルゴリズムにより加減算のみで直線の座標発生を
行い高速化を図ろうとするシステムにとって、小数点演
算が入ることは非常に負荷が大きくなる。また、直線A
Bが長方形のどの辺と交差するかを求めるためには複雑
な処理を必要とする。非常に高速処理が要求される直線
描画処理において、これらの処理は速度低下の原因とな
る。
【0014】さらに、DDAアルゴリズムにより直線座
標を発生する時の誤差の関係で、点Aから点BまでDD
Aで発生した直線と、点Aから点B10までDDAで発
生した直線とが必ずしも一致するとは限らないため、場
合によっては所望の直線が得られないこともある。例え
ば、第3図のように直線ABとクリッピング領域である
長方形との交点を算出すると点B10が求められるが、
DDAアルゴリズムで、直線ABの座標を発生した場合
、長方形との交点は点B10ではなく1ドットずれた点
B11となることがある。これは、DDAアルゴリズム
による計算途中の丸めと、交点算出時の丸めの誤差によ
るものである。
【0015】次に、(2)の方法では、DDAアルゴリ
ズムにより、点Aから点Bまで座標発生を行うため、(
1)のような点のずれは生じないし、小数点演算なども
必要ではない。しかし、上述したように1点を描画する
度に、4回の比較を行わなければならず、処理の低速化
につながる。この低速化をさけるため、この4回の比較
を一度に行うためには大きなハードウェア資源を必要と
することになる。
【0016】本発明の目的は、このような問題を解決し
、交点のずれを少くすると共に、高速処理ができるよう
にした描画装置のクリッピング処理方式を提供すること
にある。
【0017】
【課題を解決するための手段】本発明の構成は、1点ず
つ順次直線上の座標を発生し、これら座標に対応する点
を描画していくことで直線描画を行う際、任意に与えら
れる長方形の内部に位置する点に対してのみ描画を行う
描画装置のクリッピング処理方式において、前記長方形
の4つの頂点の座標から直線の傾き情報に従って1つを
選択する座標選択手段と、前記1点ずつ順次直線を形成
する点の座標を発生すると共に、この発生した点の座標
の変化方向を出力する座標発生手段と、この座標発生手
段の座標変化方向出力と前記直線の傾き情報に従ってこ
の座標発生手段で発生した座標と前記座標選択手段で選
択したX座標およびY座標とをそれぞれ比較するX座標
比較手段およびY座標比較手段と、これらX座標比較手
段およびY座標比較手段の各出力の論理和からクリッピ
ングすべきか否かを判定するクリッピング判定手段とを
備えることを特徴とする。
【0018】
【実施例】図1は本発明の一実施例における構成要素を
示すブロック図である。図中、1は座標発生手段、2は
座標選択手段、3はクリッピング領域座標記憶手段、4
はX座標比較手段、5はY座標比較手段、6はクリッピ
ング判定手段であり、10はX座標変化信号、11はY
座標変化信号、12は‘0≦DX’信号、13は‘0≦
DY’信号、14はX座標比較結果信号、15はY座標
比較結果信号、16はクリッピング結果信号、20はデ
ータ・バス、21,22は座標データ・バス、23,2
4はX座標データ・バス、25,26はY座標データ・
バスである。
【0019】図2、図3は図1の動作を説明する座標図
である。
【0020】次に、本実施例の動作を説明する。
【0021】まず、各構成要素の動作を説明する。
【0022】クリッピング領域座標記憶手段3には、あ
らかじめCPUからクリッピング領域の長方形の頂点座
標を記憶しておく。
【0023】‘0≦DX’信号12と‘0≦DY’信号
13とには、予め描画しようとする直線の傾きDX,D
Yに対し、CPU処理で‘0≦DX’、‘0≦DY’な
る判定を行い、各条件が成立したときは‘1’、成立し
ないときは‘0’が出力されているものとする。
【0024】座標選択手段2はこれら‘0≦DX’信号
12と‘0≦DY’信号13とを通して送られてくる直
線傾き情報をもとに、クリッピング領域座標記憶手段3
から、表1のようにクリッピング領域の長方形の1つの
頂点の座標を選択し、その座標をX座標データ・バス2
4,Y座標データ・バス26へ出力し、それらを(X2
,Y2)とする。
【0025】
【0026】座標発生手段1はDDAアルゴリズムにも
とづき、予めCPUから与えられたDDAのためのパラ
メータに従って、直線の軌跡の座標を1点ずつ順に発生
し、X,Yそれぞれの座標値をX座標データ・バス23
とY座標データ・バス25へ出力し、これらを(X1,
Y1)とする。同時に、発生された座標が現在位置から
X座標が変化したか、Y座標が変化したかを判定し、変
化した場合は‘1’、さもないときは‘0’をX座標変
化信号10とY座標変化信号11へ出力する。DDAア
ルゴリズムの性格上、これらの変化方向判定は容易であ
る。DDAアルゴリズムに関しては公知の事実であり、
例えば図書「実践コンピュータ・グラフィックス(日刊
工業新聞社)」などに詳しい。
【0027】X座標比較手段4は座標発生手段1から出
力されるX座標変化信号10とCPUから与えられる‘
0≦DX’信号12をもとに、座標発生手段1で発生さ
れたX座標(X1)と座標選択手段2で選択された座標
のX座標(X2)を、表2のように比較し、条件が成立
したときは、X座標比較結果信号14へ‘1’を、さも
ないときは‘0’を出力する。なお、表2のX比較判定
で‘0’とあるのは‘0’出力を意味する。
【0028】
【0029】同様にY座標比較手段5は、座標発生手段
1から出力されるY座標変化信号11とCPUから与え
られる‘0≦DY’信号13をもとに、座標発生手段1
で発生されたY座標(Y1)と座標選択手段2で選択さ
れた座標のY座標(Y2)を、表3のように比較し、条
件が成立したときは、Y座標比較結果信号15へ‘1’
を、さもないときは‘0’を出力する。なお、表3のY
比較判定で‘0’とあるのは‘0’出力を意味する。
【0030】
【0031】クリッピング判定手段6は、X座標比較結
果信号14とY座標比較結果信号15のORをとりクリ
ッピング結果信号16として出力する。
【0032】これらの構成要素を用いて実際に直線を描
画するときの、クリッピング処理について具体例を用い
て説明する。
【0033】ここで図3において、点Aから点Bまで直
線を描画する場合を考え、ここでは点Aが始点、つまり
始点がクリッピング領域内にあるとする。
【0034】まず、クリッピング領域座標記憶手段3に
は、長方形P1 P2 P3 P4 の頂点の座標が記
憶されているものとする。このとき、直線の傾きDX,
DYは‘0≦DX’、‘0≦DY’であるから、あらか
じめ‘0≦DX’信号12,‘0≦DY’信号13には
それぞれ‘1’が出力されている。したがって、座標選
択手段2からは、表1にしたがって、頂点P4 の座標
(XR,XT)がX座標データ・バス24とY座標デー
タ・バス26に出力され、これを(X2,Y2)とする
【0035】直線の始点がクリッピング領域内にある場
合、傾きが‘0≦DX’かつ‘0≦DY’のときには、
この直線とクリッピング領域とは、必ず辺P3 P4 
かP4 P1 で交わることになる。つまり、X方向に
変化するときは辺P3 P4 との交わりを判定すれば
よく、これはX座標のみの比較で行うことができる。ま
た、Y方向に変化するときは辺P4 P1 との交わり
を判定すればよく、これはY座標のみの比較で行える。
【0036】図2は、クリッピング領域を示す長方形P
1 P2 P3 P4 の頂点P4 付近を拡大した図
である。いま、座標発生手段1により、点A,B,Cか
ら次の点を算出したときのことを考え、この点A,B,
Cの座標を(X1,Y1)とする。いま、‘0≦DX’
かつ‘0≦DY’であるから各点から算出される次の点
の位置は図2で示されている方向のみである。
【0037】まず、添え字が1の方向のみを考える。こ
のときY座標のみ変化するため、X座標変化信号10は
‘0’、Y座標変化信号11は‘1’が出力される。従
って、表2,表3からX座標比較結果信号14には‘0
’が、Y座標比較結果信号15にはY2−Y1<0の比
較結果が出力される。つまり、A1 が発生されたとき
は、Y2−Y1<0であるから、Y座標比較結果信号1
5には‘1’が出力される。従って、クリッピング判定
手段6で両者の信号のORをとると、クリッピング結果
信号16は‘1’が出力される。これはクリッピング指
定を示す信号であり、この信号が出力されたらその点は
描画しないようにする。また、B1 ,C1 の場合は
Y2−Y1≧0であるから、Y座標比較結果信号15は
‘0’である。従って、クリッピング結果信号16も‘
0’であり、この点はクリッピングせずに描画する。
【0038】他の場合も同様に考えると、結局、点A1
 ,A2 ,C2 ,C3 がクリッピングされること
になる。このような処理を1点ずつ描画する際に行うこ
とで直線に対しクリッピング処理を施した描画を行うこ
とができる。
【0039】次に本発明の第2の実施例について説明す
る。
【0040】表4は第2の実施例における座標選択手段
3の動作を示す表、表5は本実施例におけるX座標比較
手段4の判定動作を示す表、表6は本実施例におけるY
座標比較手段5の判定を示す表である。
【0041】
【0042】
【0043】
【0044】本実施例では、図3において、点Bから点
Aまで直線を描画する場合を考え、ここでは点Bが始点
、つまり始点がクリッピング領域外にあるとする。
【0045】この場合、要部の構成要素は第1の実施例
と同様でよいが、異なる点は、座標選択手段3の動作と
、X座標比較手段4の判定動作、Y座標比較手段5の判
定動作であり、それらの動作を示したのが表4から表6
に示される。
【0046】具体的な動作は第1の実施例と同様なので
省略するが、第1の実施例においてこれら3つの構成要
素の動作をかえるだけで、始点がクリッピング領域外に
ある場合も処理できることを示している。
【0047】
【発明の効果】以上説明したように本発明によれば、従
来1点を描画するために4回の比較が必要だったクリッ
ピング処理が、わずかな前処理を行うだけで、1または
2回の比較で行えるようになり、その比較回数が減った
分だけ処理が高速化できるという効果がある。この直線
描画は使用頻度が最も高い描画機能なので、できるだけ
高速に処理する必要があり、本発明のように1点を描画
するごとに行っていた比較処理を半減できるということ
は非常に効果が大きい。
【図面の簡単な説明】
【図1】本発明の実施例における構成を示すブロック図
【図2】本実施例における動作を説明する座標図
【図3
】クリッピング領域の長方形と、それにクリッピングさ
れる直線の描画例を示す座標図である。
【符号の説明】
1    座標発生手段 2    座標選択手段 3    クリッピング領域座標記憶手段4    X
座標比較手段 5    Y座標比較手段 6    クリッピング判定手段 10    X座標変化信号 11    Y座標変化信号 12    ‘0≦DX’信号 13    ‘0≦DY’信号 14    X座標比較結果信号 15    Y座標比較結果信号 16    クリッピング結果信号 20    データ・バス 21,22    座標データ・バス

Claims (1)

    【特許請求の範囲】
  1. 【請求項】  1点ずつ順次直線上の座標を発生し、こ
    れら座標に対応する点を描画していくことで直線描画を
    行う際、任意に与えられる長方形の内部に位置する点に
    対してのみ描画を行う描画装置のクリッピング処理方式
    において、前記長方形の4つの頂点の座標から直線の傾
    き情報に従って1つを選択する座標選択手段と、前記1
    点ずつ順次直線を形成する点の座標を発生すると共に、
    この発生した点の座標の変化方向を出力する座標発生手
    段と、この座標発生手段の座標変化方向出力と前記直線
    の傾き情報に従ってこの座標発生手段で発生した座標と
    前記座標選択手段で選択したX座標およびY座標とをそ
    れぞれ比較するX座標比較手段およびY座標比較手段と
    、これらX座標比較手段およびY座標比較手段の各出力
    の論理和からクリッピングすべきか否かを判定するクリ
    ッピング判定手段とを備えることを特徴とする描画装置
    のクリッピング処理方式。
JP630191A 1991-01-23 1991-01-23 描画装置のクリッピング処理方式 Expired - Lifetime JP2780496B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP630191A JP2780496B2 (ja) 1991-01-23 1991-01-23 描画装置のクリッピング処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP630191A JP2780496B2 (ja) 1991-01-23 1991-01-23 描画装置のクリッピング処理方式

Publications (2)

Publication Number Publication Date
JPH04238586A true JPH04238586A (ja) 1992-08-26
JP2780496B2 JP2780496B2 (ja) 1998-07-30

Family

ID=11634555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP630191A Expired - Lifetime JP2780496B2 (ja) 1991-01-23 1991-01-23 描画装置のクリッピング処理方式

Country Status (1)

Country Link
JP (1) JP2780496B2 (ja)

Also Published As

Publication number Publication date
JP2780496B2 (ja) 1998-07-30

Similar Documents

Publication Publication Date Title
EP0360155B1 (en) Image transformation method and device
US5079719A (en) Method and apparatus for clipping polygons
JPH04291685A (ja) クリップ・テスタ回路及びクリップ・テスト方法
JPH04238586A (ja) 描画装置のクリッピング処理方式
US5594848A (en) Method and apparatus for efficiently determining line segments within a window using iterative halving
JP2674287B2 (ja) グラフィックマイクロコンピュータ
JPH0729022A (ja) 直線描画装置
US6304270B1 (en) Method and apparatus for determining simple convex polygons
JP3059739B2 (ja) 曲線描画機能を備えた情報処理装置および処理方法
EP0707286A2 (en) Method and apparatus for filling polygons on a computer display
JPH0589251A (ja) 画像の描画装置
JPH04323722A (ja) マルチウィンドウシステムの描画方式
JPH0281179A (ja) ピッキング回路
JP2004030135A (ja) Cadシステムにおける円の一部の描画方法及びプログラム
JPH07141512A (ja) 図形描画装置
JPH09134441A (ja) 曲線の直線近似装置
JPH02183877A (ja) 図形表示装置
JPH10334250A (ja) アンチエイリアスプロセッサ及び画像処理装置
JPH06342474A (ja) 領域描画システム
JPH03176776A (ja) 円のピック処理方式
JPH0752466B2 (ja) ラスターオペレーション装置およびその方法
JPH07181944A (ja) アウトラインフォント描画装置
JPH0561979A (ja) 並列処理における高速描画方式
JPH01188924A (ja) コンピュータへのデータ入力装置
JP2000242803A (ja) 画像処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980414