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

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

Info

Publication number
JP2780496B2
JP2780496B2 JP630191A JP630191A JP2780496B2 JP 2780496 B2 JP2780496 B2 JP 2780496B2 JP 630191 A JP630191 A JP 630191A JP 630191 A JP630191 A JP 630191A JP 2780496 B2 JP2780496 B2 JP 2780496B2
Authority
JP
Japan
Prior art keywords
coordinate
point
clipping
coordinates
straight line
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.)
Expired - Lifetime
Application number
JP630191A
Other languages
English (en)
Other versions
JPH04238586A (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.)
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

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル描画装置で
直線をクリッピングして描画する場合のクリッピング方
式に関するものである。
【0002】
【従来の技術】近年、ワークステーションなどのシステ
ムにおいて、マルチウィンドウ表示などを行うことが多
くなってきているが、その際図形を長方形の枠(以下、
クリッピング領域という)内にだけ描画する処理が必要
になってきた。
【0003】従来の直線をクリッピング領域内だけ描画
するようなクリッピング処理には以下のような二通りの
方法がある。
【0004】(1)クリッピング境界にかかる点をあら
かじめ計算する方法。
【0005】図3に示すように、クリッピング領域であ
る長方形P1 2 3 4 に対し、Aから点Bまで直線
を描画する場合、予め長方形と直線との交点B10を計算
で求めておいて、点Aから点B10までDDA(Digi
tal Differential Analyze
r)アルゴリズムなどで座標を発生しながら描画を行
う。
【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 2 3 4 に対し、点Aから点Bま
で直線を描画する場合において、点Aから点BまでDA
Dアルゴリズムなどで1点ずつ座標を発生していく。こ
の描画を行う際、長方形との内外判定を行い、長方形内
部の点であったら描画を行う。
【0011】つまり、今、任意の位置の点(X,Y)を
描画しようとした場合、 0≦X−XL……(3) 0≦Y−YB……(4) 0≦XR−X……(5) 0≦YT−Y……(6) これら4条件が全て成立したとき、点(X,Y)は長方
形P1 2 3 4 内部の点と判定できるため描画でき
る。
【0012】
【発明が解決しようとする課題】上述した従来のクリッ
ピング方法には次のような問題がある。
【0013】(1)の方法では、長方形領域との交点を
算出する際に、割り算処理が必要であり、これを正確に
求めるためには小数点演算が必要となる。この場合、D
DAアルゴリズムにより加減算のみで直線の座標発生を
行い高速化を図ろうとするシステムにとって、小数点演
算が入ることは非常に負荷が大きくなる。また、直線A
Bが長方形のどの辺と交差するかを求めるためには複雑
な処理を必要とする。非常に高速処理が要求される直線
描画処理において、これらの処理は速度低下の原因とな
る。
【0014】さらに、DDAアルゴリズムにより直線座
標を発生する時の誤差の関係で、点Aから点BまでDD
Aで発生した直線と、点Aから点B10までDDAで発生
した直線とが必ずしも一致するとは限らないため、場合
によっては所望の直線が得られないこともある。例え
ば、第3図のように直線ABとクリッピング領域である
長方形との交点を算出すると点B10が求められるが、D
DAアルゴリズムで、直線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へ出力し、それらを(X
2,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 2 3 4 の頂点の座標が記憶されて
いるものとする。このとき、直線の傾きDX,DYは
‘0≦DX’、‘0≦DY’であるから、あらかじめ
‘0≦DX’信号12,‘0≦DY’信号13にはそれ
ぞれ‘1’が出力されている。したがって、座標選択手
段2からは、表1にしたがって、頂点P4 の座標(X
R,XT)がX座標データ・バス24とY座標データ・
バス26に出力され、これを(X2,Y2)とする。
【0035】直線の始点がクリッピング領域内にある場
合、傾きが‘0≦DX’かつ‘0≦DY’のときには、
この直線とクリッピング領域とは、必ず辺P3 4 かP
4 1 で交わることになる。つまり、X方向に変化する
ときは辺P3 4 との交わりを判定すればよく、これは
X座標のみの比較で行うことができる。また、Y方向に
変化するときは辺P4 1 との交わりを判定すればよ
く、これはY座標のみの比較で行える。
【0036】図2は、クリッピング領域を示す長方形P
1 2 3 4 の頂点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座標比較結果信号
15には‘1’が出力される。従って、クリッピング判
定手段6で両者の信号のORをとると、クリッピング結
果信号16は‘1’が出力される。これはクリッピング
指定を示す信号であり、この信号が出力されたらその点
は描画しないようにする。また、B1 ,C1 の場合はY
2−Y1≧0であるから、Y座標比較結果信号15は
‘0’である。従って、クリッピング結果信号16も
‘0’であり、この点はクリッピングせずに描画する。
【0038】他の場合も同様に考えると、結局、点
1 ,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 座標データ・バス 23,24 X座標データ・バス 25,26 Y座標データ・バス
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06T 11/20 (G06F 15/72 380 G06F 15/72 355 K) PATOLIS

Claims (1)

    (57)【特許請求の範囲】
  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 JPH04238586A (ja) 1992-08-26
JP2780496B2 true 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
JPH04238586A (ja) 1992-08-26

Similar Documents

Publication Publication Date Title
EP0356103B1 (en) Scan-conversion process and processor
EP0360155B1 (en) Image transformation method and device
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
US6292192B1 (en) System and method for the direct rendering of curve bounded objects
US5079719A (en) Method and apparatus for clipping polygons
EP0476532A2 (en) Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
US5522020A (en) System and method for rapidly determining relative rectangle position
US5231695A (en) Generalized clipping in an extended frame buffer
JP2780496B2 (ja) 描画装置のクリッピング処理方式
JPH04291685A (ja) クリップ・テスタ回路及びクリップ・テスト方法
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
US20220366621A1 (en) Systems for Generating Anti-Aliased Vector Objects
US6972760B2 (en) Area and span based Z-buffer
US5594848A (en) Method and apparatus for efficiently determining line segments within a window using iterative halving
JP3210141B2 (ja) 直線描画装置
US6628281B1 (en) Method and system for computing the intersection of a bounding volume and screen-aligned plane
US5644691A (en) Method and apparatus for accelerated filling of polygons on a computer display by rectangular decomposition
JPH0589251A (ja) 画像の描画装置
US20100141649A1 (en) Drawing device
EP0707285A2 (en) Method and apparatus for determining simple convex polygons
JP3524380B2 (ja) 破線描画装置および破線描画方法および記憶媒体
JP2888270B2 (ja) 図形処理装置及びその方法
JP3091472B2 (ja) 画像処理方法
JPH0350686A (ja) 図形処理方式
JP2714114B2 (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