JPH0241790B2 - - Google Patents
Info
- Publication number
- JPH0241790B2 JPH0241790B2 JP60268532A JP26853285A JPH0241790B2 JP H0241790 B2 JPH0241790 B2 JP H0241790B2 JP 60268532 A JP60268532 A JP 60268532A JP 26853285 A JP26853285 A JP 26853285A JP H0241790 B2 JPH0241790 B2 JP H0241790B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- line segment
- clipping
- coordinates
- coordinate
- 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
Links
- 238000000034 method Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000029777 axis specification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の詳細な説明】
〔概要〕
本発明は図形処理を実行するワークステーシヨ
ンにおいてデイスプレイ画面上に複数のウインド
ウを表示するマルチウインドウ化に必要となるウ
インドウイングに係り、デイスプレイフアイルか
ら必要な線分のみを取出すクリツピング機能方式
に関する。
ンにおいてデイスプレイ画面上に複数のウインド
ウを表示するマルチウインドウ化に必要となるウ
インドウイングに係り、デイスプレイフアイルか
ら必要な線分のみを取出すクリツピング機能方式
に関する。
特に、本発明はビツトマツプメモリに対して実
線、点線或いは一点鎖線等のラインスタイルを持
つた線分を描画する際のクリツピング方式に関す
る。従来、この種のクリツピング方式においては
クリツピングによつて求められた座標から新たに
ラインパターンレジスタに従つて線分を描画して
いた為、クリツピングされた場合とされない場合
とでは結果が異なるという欠点を有していた。
線、点線或いは一点鎖線等のラインスタイルを持
つた線分を描画する際のクリツピング方式に関す
る。従来、この種のクリツピング方式においては
クリツピングによつて求められた座標から新たに
ラインパターンレジスタに従つて線分を描画して
いた為、クリツピングされた場合とされない場合
とでは結果が異なるという欠点を有していた。
本発明は二次元の整数座標でアクセス可能なメ
モリ上に線分を発生するデイジタル微分解析器で
任意の始点座標から終点座標に至る線分を垂直又
は水平な直線でクリツピングした場合、そのクリ
ツピングラインと前記線分との交点に最も近い交
点整数座標より前記終点に至る線分を描画する際
に、前記デイジタル微分解析器に与える初期条件
を定めている。すなわち、各軸方向差分値、主軸
指定は前記始点と終点の座標値から計算された値
を設定し、誤差量及びラインスタイルレジスタの
オフセツトは前記始点座標から終点座標まで線分
を描画したと仮定したときに前記交点整数座標に
おいてもつべき値を設定し、主軸方向長さとして
は前記交点整数座標から前記終点座標に至る主軸
方向長さを設定し、前記デイジタル微分解析器を
起動することにしている。このようにすればライ
ンスタイルを持つた線分の描画においてもクリツ
ピングのある場合とない場合において描かれる部
分の線分パターンは完全に一致するという効果が
ある。
モリ上に線分を発生するデイジタル微分解析器で
任意の始点座標から終点座標に至る線分を垂直又
は水平な直線でクリツピングした場合、そのクリ
ツピングラインと前記線分との交点に最も近い交
点整数座標より前記終点に至る線分を描画する際
に、前記デイジタル微分解析器に与える初期条件
を定めている。すなわち、各軸方向差分値、主軸
指定は前記始点と終点の座標値から計算された値
を設定し、誤差量及びラインスタイルレジスタの
オフセツトは前記始点座標から終点座標まで線分
を描画したと仮定したときに前記交点整数座標に
おいてもつべき値を設定し、主軸方向長さとして
は前記交点整数座標から前記終点座標に至る主軸
方向長さを設定し、前記デイジタル微分解析器を
起動することにしている。このようにすればライ
ンスタイルを持つた線分の描画においてもクリツ
ピングのある場合とない場合において描かれる部
分の線分パターンは完全に一致するという効果が
ある。
本発明は図形処理を実行するワークステーシヨ
ンにおいてデイスプレイ画面上に複数のウインド
ウを表示するマルチウインドウ化に必要となるウ
インドウイングに係り、特にデイスプレイフアイ
ルから必要な線分のみを取出すクリツピング方式
に関する。
ンにおいてデイスプレイ画面上に複数のウインド
ウを表示するマルチウインドウ化に必要となるウ
インドウイングに係り、特にデイスプレイフアイ
ルから必要な線分のみを取出すクリツピング方式
に関する。
さらに特に、本発明はビツトマツプメモリに対
してラインスタイルを持つた線分を描画する場合
の線分描画におけるクリツピング方式に関する。
してラインスタイルを持つた線分を描画する場合
の線分描画におけるクリツピング方式に関する。
集積化技術の発展に伴い、マンマシンインター
フエースの基本技術である図形処理を専用に行う
専用プロセツサを有効に使つてワークステーシヨ
ンにおけるグラフイツク処理を実現する技術の重
要性が高まつてきた。このワークステーシヨンは
主にメモリの1ビツトを画面の1ドツトに対応さ
せるビツトマツプデイスプレイ装置を用いてデイ
スプレイ画面に複数のウインドウを表示するマル
チウインドウ機能を有し、それぞれのウインドウ
をオーバーラツプして表示したり画面を分割して
表示できるようにしている。このマルチウインド
ウ方式において重要となる技術が広い座標系で定
義された図形から興味のある部分を抽出し、ウイ
ンドウの座標系に変換するウインドウイングの機
能である。このウインドウイングを行うためには
図形に対して平行移動や回転あるいは拡大や縮小
といつた機能ばかりでなく部分図形の面や線が他
の部分図形の面により隠され、隠された状態から
再現する機能が必要となる。そしてこのウインド
ウイングに対してはデイスプレイフアイルから必
要な線分データのみを取出すクリツピング機能が
重要となる。デイスプレイフアイルでは各部分図
形は集合として形成され、各図形がウインドウ化
のために図形変換を受ける場合には、デイスプレ
イフアイル上の広い座標系にまずウインドウが設
定された後、デイスプレイ画面に相当する表示画
面の所望の場所にマルチウインドウとして表示で
きるようにビユーイング変換が行なわれる。ビユ
ーイング変換を行う場合、特定の部分図形の拡
大、縮小、あるいは平行移動や回転等の変換はい
わゆる写像変換であり、行列の掛算動作で行われ
るが、前記クリツピング機能においては線分の切
り出しを効率良く行う必要がある。特にこのクリ
ツピングはデイスプレイフアイル上のウインドウ
をデイスプレイ上の実際に見える部分とそうでな
い部分に分け、見える部分だけに線分を描画する
ことになる。
フエースの基本技術である図形処理を専用に行う
専用プロセツサを有効に使つてワークステーシヨ
ンにおけるグラフイツク処理を実現する技術の重
要性が高まつてきた。このワークステーシヨンは
主にメモリの1ビツトを画面の1ドツトに対応さ
せるビツトマツプデイスプレイ装置を用いてデイ
スプレイ画面に複数のウインドウを表示するマル
チウインドウ機能を有し、それぞれのウインドウ
をオーバーラツプして表示したり画面を分割して
表示できるようにしている。このマルチウインド
ウ方式において重要となる技術が広い座標系で定
義された図形から興味のある部分を抽出し、ウイ
ンドウの座標系に変換するウインドウイングの機
能である。このウインドウイングを行うためには
図形に対して平行移動や回転あるいは拡大や縮小
といつた機能ばかりでなく部分図形の面や線が他
の部分図形の面により隠され、隠された状態から
再現する機能が必要となる。そしてこのウインド
ウイングに対してはデイスプレイフアイルから必
要な線分データのみを取出すクリツピング機能が
重要となる。デイスプレイフアイルでは各部分図
形は集合として形成され、各図形がウインドウ化
のために図形変換を受ける場合には、デイスプレ
イフアイル上の広い座標系にまずウインドウが設
定された後、デイスプレイ画面に相当する表示画
面の所望の場所にマルチウインドウとして表示で
きるようにビユーイング変換が行なわれる。ビユ
ーイング変換を行う場合、特定の部分図形の拡
大、縮小、あるいは平行移動や回転等の変換はい
わゆる写像変換であり、行列の掛算動作で行われ
るが、前記クリツピング機能においては線分の切
り出しを効率良く行う必要がある。特にこのクリ
ツピングはデイスプレイフアイル上のウインドウ
をデイスプレイ上の実際に見える部分とそうでな
い部分に分け、見える部分だけに線分を描画する
ことになる。
このようなクリツピング機能を有する線分描画
は二次元の整数座標でアクセス可能なメモリ上に
線分を発生するデイジタル微分解析器(DDA)
を用いて行われる。さらに前記DDAを用いてビ
ツトマツプデイスプレイ上に線分の点列を発生す
る場合に線分、即ちラインの種類として点線、実
線、一点鎖線或いは二点鎖線といつたラインのス
タイルを指定できる場合がある。このようなライ
ンスタイルを持つた線分を描画する際のクリツピ
ング方式として従来はクリツピングによつて求め
られた座標から新たにラインパターンレジスタに
従つて線分を描画していた。そのため、ラインス
タイルを持つた線分の描画においてクリツピング
のある場合とない場合において描かれる線分パタ
ーンが完全に一致しないという問題があつた。
は二次元の整数座標でアクセス可能なメモリ上に
線分を発生するデイジタル微分解析器(DDA)
を用いて行われる。さらに前記DDAを用いてビ
ツトマツプデイスプレイ上に線分の点列を発生す
る場合に線分、即ちラインの種類として点線、実
線、一点鎖線或いは二点鎖線といつたラインのス
タイルを指定できる場合がある。このようなライ
ンスタイルを持つた線分を描画する際のクリツピ
ング方式として従来はクリツピングによつて求め
られた座標から新たにラインパターンレジスタに
従つて線分を描画していた。そのため、ラインス
タイルを持つた線分の描画においてクリツピング
のある場合とない場合において描かれる線分パタ
ーンが完全に一致しないという問題があつた。
本発明は、このような従来の欠点を除去し、ビ
ツトマツプメモリに対してラインスタイルを持つ
た線分を描画する際のクリツピング方式として、
任意の始点座標から終点座標に至る線分が垂直又
は水平な直線でクリツピングされた場合、デイジ
タル微分解析器DDAに与える初期条件として、
ラインスタイルレジスタに対するオフセツトの指
定を適当に行うことによつてクリツピングが行わ
れなかつた時と完全に一致する線分を描くことが
可能な線分描画におけるクリツピング方式を提供
する。
ツトマツプメモリに対してラインスタイルを持つ
た線分を描画する際のクリツピング方式として、
任意の始点座標から終点座標に至る線分が垂直又
は水平な直線でクリツピングされた場合、デイジ
タル微分解析器DDAに与える初期条件として、
ラインスタイルレジスタに対するオフセツトの指
定を適当に行うことによつてクリツピングが行わ
れなかつた時と完全に一致する線分を描くことが
可能な線分描画におけるクリツピング方式を提供
する。
本発明は上記目的を達成するために、二次元の
整数座標でアクセス可能なメモリ上に線分を発生
するデイジタル微分解析器において、任意の始点
座標から終点座標に至る線分を垂直又は水平なク
リツピングラインによつてクリツピングし、前記
線分とクリツピングラインの交点から終点に至る
線分を描画する場合の前記デイジタル微分解析器
に与える初期設定値として、各軸方向差分値、主
軸指定は前記始点座標と前記終点座標の座標値か
ら計算される値を設定し、誤差量およびラインレ
ジスタのオフセツトは前記始点座標から終点座標
まで描画したと仮定した時に方程式の根から求め
られる交点座標に最も近い交点整数座標において
持つべき値をと設定し、主軸方向長さとしては前
記交点整数座標から前記終点座標に至るものを設
定することによつて前記デイジタル微分解析器を
起動することを特徴とする。
整数座標でアクセス可能なメモリ上に線分を発生
するデイジタル微分解析器において、任意の始点
座標から終点座標に至る線分を垂直又は水平なク
リツピングラインによつてクリツピングし、前記
線分とクリツピングラインの交点から終点に至る
線分を描画する場合の前記デイジタル微分解析器
に与える初期設定値として、各軸方向差分値、主
軸指定は前記始点座標と前記終点座標の座標値か
ら計算される値を設定し、誤差量およびラインレ
ジスタのオフセツトは前記始点座標から終点座標
まで描画したと仮定した時に方程式の根から求め
られる交点座標に最も近い交点整数座標において
持つべき値をと設定し、主軸方向長さとしては前
記交点整数座標から前記終点座標に至るものを設
定することによつて前記デイジタル微分解析器を
起動することを特徴とする。
任意の始点PSからPEに至る線分のうち中間の
X又はY座標に平行な直線でクリツピングし、ク
リツピングラインと前記線分との交点に最も近い
交点整数座標PCよりPEに至る線分を描画し、そ
の場合のDDAに与える初期条件として、各軸方
向差分値、主軸指定は、PS、PEの座標値から計
算し、誤差量とラインスタイルレジスタのオフセ
ツトはPSからPEまで描画したと仮定した時に
PCにおいて持つべき値を設定し、主軸方向長さ
はPCからPEに至る主軸方向長さを設定して
DDAの起動を行うようにしている。
X又はY座標に平行な直線でクリツピングし、ク
リツピングラインと前記線分との交点に最も近い
交点整数座標PCよりPEに至る線分を描画し、そ
の場合のDDAに与える初期条件として、各軸方
向差分値、主軸指定は、PS、PEの座標値から計
算し、誤差量とラインスタイルレジスタのオフセ
ツトはPSからPEまで描画したと仮定した時に
PCにおいて持つべき値を設定し、主軸方向長さ
はPCからPEに至る主軸方向長さを設定して
DDAの起動を行うようにしている。
次に本発明の線分描画におけるクリツピング方
式を図面を参照して説明する。
式を図面を参照して説明する。
第1図は本発明の実施例を示す図形処理用装置
の構成ブロツク図である。
の構成ブロツク図である。
主制御部100は図形処理を実行するために全
体の制御を実行する部分で中央演算装置を内部に
含む。主制御部100は主にデイジタル微分解析
器(DDA)200に対するパラメータの設定及
び起動を実行する。DDA200は特定の部分図
形の拡大、縮小、平行移動、回転、あるいはマル
チウインドウにおけるウインドウイング等を実行
するための描画処理において、特に、線分の処理
を行う部分で、線分をドツト単位で処理するため
のハードウエアである。そして非常に大きな座標
系で定義された対象図形の全体から必要な部分を
挿出し表示するためのウインドウイング機能にお
いて、DDA200はビツトマツプメモリ301,
302,303に必要な線分データのみを書き出
すクリツピング機能に対する線分の発生あるいは
切り出しを実行する。このDDA200は、たと
えば、第4図に示すブレゼンハム(Bresenham)
のアルゴリズムに従つて線分を描画する機能を含
んでいる。そして、DDA200は主制御部10
0から座標X及びY、XとYのそれぞれの差分の
絶対値DXとDY、主軸方向DIR、主軸方向の長
さLEN及び誤差量E等のパラメータを入力し、
線分を描画する。第4図にX方向が主軸の時の流
れ図を示す。DDAでは、まずDYからDXをひい
て2倍してDDとし、Y方向の差分DYを2倍と
したものをDとする。次に、誤差量Eの符号によ
りEの初期値を決める。即ちEが正である場合に
はEにDDを加えてEとし、正でない場合にはE
にDを加えて新しいEとする。その後点列を発生
するルーチンに入る。先ず座標X、Yに対して色
指定レジスタ410で示される色の点を座標X、
Yに打つ。誤差値Eが正である場合にはEにDD
を加えてEを更新し、Yを1だけデイクリメント
する。Eが正でない場合にはEにDを加えてEを
更新する。すなわち、Eが正である場合にのみY
はデイクリメントされる。その後Xは常にインク
リメントされる。これはXを主軸とした場合であ
つて、Xは常に1だけインイクリメントされる。
そして長さLENがデイクリメントされ、以上の
ルーチンがLEN=0になるまで繰り返されて線
分が描かれ線分は点列として打たれることにな
る。
体の制御を実行する部分で中央演算装置を内部に
含む。主制御部100は主にデイジタル微分解析
器(DDA)200に対するパラメータの設定及
び起動を実行する。DDA200は特定の部分図
形の拡大、縮小、平行移動、回転、あるいはマル
チウインドウにおけるウインドウイング等を実行
するための描画処理において、特に、線分の処理
を行う部分で、線分をドツト単位で処理するため
のハードウエアである。そして非常に大きな座標
系で定義された対象図形の全体から必要な部分を
挿出し表示するためのウインドウイング機能にお
いて、DDA200はビツトマツプメモリ301,
302,303に必要な線分データのみを書き出
すクリツピング機能に対する線分の発生あるいは
切り出しを実行する。このDDA200は、たと
えば、第4図に示すブレゼンハム(Bresenham)
のアルゴリズムに従つて線分を描画する機能を含
んでいる。そして、DDA200は主制御部10
0から座標X及びY、XとYのそれぞれの差分の
絶対値DXとDY、主軸方向DIR、主軸方向の長
さLEN及び誤差量E等のパラメータを入力し、
線分を描画する。第4図にX方向が主軸の時の流
れ図を示す。DDAでは、まずDYからDXをひい
て2倍してDDとし、Y方向の差分DYを2倍と
したものをDとする。次に、誤差量Eの符号によ
りEの初期値を決める。即ちEが正である場合に
はEにDDを加えてEとし、正でない場合にはE
にDを加えて新しいEとする。その後点列を発生
するルーチンに入る。先ず座標X、Yに対して色
指定レジスタ410で示される色の点を座標X、
Yに打つ。誤差値Eが正である場合にはEにDD
を加えてEを更新し、Yを1だけデイクリメント
する。Eが正でない場合にはEにDを加えてEを
更新する。すなわち、Eが正である場合にのみY
はデイクリメントされる。その後Xは常にインク
リメントされる。これはXを主軸とした場合であ
つて、Xは常に1だけインイクリメントされる。
そして長さLENがデイクリメントされ、以上の
ルーチンがLEN=0になるまで繰り返されて線
分が描かれ線分は点列として打たれることにな
る。
各点列を示すX座標、Y座標は第1図の構成ブ
ロツク図に示すようにRGBの各ビツトマツプメ
モリ301,302,303に与えられる。そし
て、色指定レジスタ410の内容に従つて特定な
色のドツトを示す論理がメモリに書込まれると、
各メモリの1ビツトを画面の1ドツトに対応させ
るビツトマツプデイスプレイ表示装置、即ち
CRT制御部500を介してCRT600に線分の
点列が表示されることになる。すなわち基本描画
単位である線分がビツトマツプメモリ上に形成さ
れるとラスタ型デイスプレイ装置500及び60
0によつて線分のベクトルが離散画素列として生
成されることになる。この場合、格子上の各交点
における整数的な点列として離散的な線分が描画
されることになる。又、マルチウインドウ方式に
おけるクリツピングにおいては、主制御部100
内に保持されるデイスプレイフアイルの内容の
内、必要な線分データのみが取り出されて、ビツ
トマツプデイスプレイ600に表示されるがこの
クリツピング処理は主制御部100によつて実行
される。すなわちマルチウインドウ方式のウイン
ドウイングは、ウインドウとビユーポートの対応
づけを行うために図形の平行移動や拡大縮小等が
行われるが、そのウインドウが一般に複数個設け
られている場合には、それに対するビユーポート
に優先順位をつけて重ねて表示したり、優先順が
ダイナミツクに変更できるようにしている。その
ウインドウの変換に伴つてウインドウの境界線に
おいて線分のクリツピングが行われることにな
る。例えば、あるウインドウに線分を描画してい
た場合にそのウインドウの優先順位が下がつて他
のウインドウで半分隠されてしまつた場合、ウイ
ンドウの境界線において線分のクリツピングがお
こることになる。従つて、ウインドウ内部の線分
のみを表示するために特別なクリツピング処理を
行う必要がある。
ロツク図に示すようにRGBの各ビツトマツプメ
モリ301,302,303に与えられる。そし
て、色指定レジスタ410の内容に従つて特定な
色のドツトを示す論理がメモリに書込まれると、
各メモリの1ビツトを画面の1ドツトに対応させ
るビツトマツプデイスプレイ表示装置、即ち
CRT制御部500を介してCRT600に線分の
点列が表示されることになる。すなわち基本描画
単位である線分がビツトマツプメモリ上に形成さ
れるとラスタ型デイスプレイ装置500及び60
0によつて線分のベクトルが離散画素列として生
成されることになる。この場合、格子上の各交点
における整数的な点列として離散的な線分が描画
されることになる。又、マルチウインドウ方式に
おけるクリツピングにおいては、主制御部100
内に保持されるデイスプレイフアイルの内容の
内、必要な線分データのみが取り出されて、ビツ
トマツプデイスプレイ600に表示されるがこの
クリツピング処理は主制御部100によつて実行
される。すなわちマルチウインドウ方式のウイン
ドウイングは、ウインドウとビユーポートの対応
づけを行うために図形の平行移動や拡大縮小等が
行われるが、そのウインドウが一般に複数個設け
られている場合には、それに対するビユーポート
に優先順位をつけて重ねて表示したり、優先順が
ダイナミツクに変更できるようにしている。その
ウインドウの変換に伴つてウインドウの境界線に
おいて線分のクリツピングが行われることにな
る。例えば、あるウインドウに線分を描画してい
た場合にそのウインドウの優先順位が下がつて他
のウインドウで半分隠されてしまつた場合、ウイ
ンドウの境界線において線分のクリツピングがお
こることになる。従つて、ウインドウ内部の線分
のみを表示するために特別なクリツピング処理を
行う必要がある。
このような図形処理用装置の構成において、本
発明では、二次元の整数座標でアクセス可能なメ
モリ上に線分を発生する前記DDA200の出力
に従つて、ラインの種類、即ち点線、実線、一点
鎖線、或いは二点鎖線等のラインスタイルをライ
ンスタイルレジスタ420指定することができ
る。そして色指定レジスタ410によつて指定さ
れた色の点列を発生するための論理をビツトマツ
プメモリに与える場合に、ラインスタイルレジス
タ420の内容で適当にマスク回路430を介し
て点列をマスクすることによつてラインスタイル
に対応した線分を発生するようにしている。
発明では、二次元の整数座標でアクセス可能なメ
モリ上に線分を発生する前記DDA200の出力
に従つて、ラインの種類、即ち点線、実線、一点
鎖線、或いは二点鎖線等のラインスタイルをライ
ンスタイルレジスタ420指定することができ
る。そして色指定レジスタ410によつて指定さ
れた色の点列を発生するための論理をビツトマツ
プメモリに与える場合に、ラインスタイルレジス
タ420の内容で適当にマスク回路430を介し
て点列をマスクすることによつてラインスタイル
に対応した線分を発生するようにしている。
本発明によるクリツピングされた線分を発生す
る場合、交点を求める方式に従つている。第3図
に示すように、任意の始点座標PSから終点座標
PEに至る線分の途中で、例えばx=XCというY
座標に平行な直線でクリツピングした場合に、x
=XCとPS、PE間の線分との交点に最も近い整
数座標値PCを求め、PCからPEまでの線分をラ
インスタイルレジスタで指定されたラインで発生
するようにしている。このようにクリツピングラ
インと線分との交点を求めて交点と終点PEとの
線分を描くようにすれば始点PSからPCまでの点
列を発生せずにクリツピングされた線分を描くこ
とが出来るので高速になる。しかし、クリツピン
グによつて求められた交点PCから新たにライン
パターンレジスタ420の内容に従つて線分を描
画してしまうとクリツピングされた場合とされな
い場合とでは結果が異なるという問題がある。本
発明はラインスタイルレジスタ420のオフセツ
トが始点PSから終点PEまでの線分を描画したと
仮定した時に整数交点座標PCにおいて持つべき
値を設定することによりクリツピングのある場合
とそうでない場合において描かれる部分の線分パ
ターンを完全に一致させるようにしている。そこ
で、次にラインスタイルレジスタ420について
簡単に説明する。ラインスタイルレジスタ420
は、第2図aに示すように、Nビツトのレジスタ
で構成されており、Nビツトの各ビツトは描くべ
き線分の点の位置に1対1に対応している。そし
てその内容が論理的に1である場合にそれに対応
した線分の位置に色指定レジスタ410で指定さ
れた色の点が1ドツト打たれることになる。従つ
てラインスタイルレジスタ420のNビツトのパ
ターンは画面上に点列を打つていくポインタに同
期している。即ち、DDA200のX、Y座標の
点を出力する場合の同期信号に同期して次々にビ
ツト情報が読出され、その情報がマスク回路43
0を介して色指定レジスタ410の内容をビツト
マツプメモリ301,302,303に書込むか
どうかを決定する。例えば、第2図b,cは、線
分描画の様子を説明するための説明図で、ライン
スタイルジスタ420のビツトパターンに従つて
線分の点列が発生される様子を示している。ここ
で、重要なことは線分の描画はラインスタイルレ
ジスタのオフセツト値で指定された位置から線分
の点列が打たれるということである。即ち、第2
図bにおいてラインスタイルレジスタ420の内
容は先頭から111001110…となつており、オフセ
ツト位置は先頭から3ビツト目の2の位置であ
る。従つて描画される線分はオフセツト指定が行
われている3番目のビツトからのビツトパターン
に従つて線分が打たれることになる。第2図bに
おいてオフセツト指定の位置からのビツトパター
ンは1001110…となつているので、第2図cに示
すように、線分はP1の点がオフセツト指定の2
の位置に対応しているので打たれ、P2,P3は打
たれずP4,P5,P6が打たれて、P7が打たれない。
このようにしてラインスタイルレジスタ420の
オフセツト指定からのビツトパターンに対応した
ラインスタイルで線分が描かれることになる。即
ちラインスタイルレジスタ420の先頭からのオ
フセツト値で指定された位置から次々にビツト情
報が読み出され、ビツトの値が論理1である位置
には点が打たれ論理0の位置には打たれず、この
ようにしてラインスタイルを持つた線分が描画さ
れることになる。
る場合、交点を求める方式に従つている。第3図
に示すように、任意の始点座標PSから終点座標
PEに至る線分の途中で、例えばx=XCというY
座標に平行な直線でクリツピングした場合に、x
=XCとPS、PE間の線分との交点に最も近い整
数座標値PCを求め、PCからPEまでの線分をラ
インスタイルレジスタで指定されたラインで発生
するようにしている。このようにクリツピングラ
インと線分との交点を求めて交点と終点PEとの
線分を描くようにすれば始点PSからPCまでの点
列を発生せずにクリツピングされた線分を描くこ
とが出来るので高速になる。しかし、クリツピン
グによつて求められた交点PCから新たにライン
パターンレジスタ420の内容に従つて線分を描
画してしまうとクリツピングされた場合とされな
い場合とでは結果が異なるという問題がある。本
発明はラインスタイルレジスタ420のオフセツ
トが始点PSから終点PEまでの線分を描画したと
仮定した時に整数交点座標PCにおいて持つべき
値を設定することによりクリツピングのある場合
とそうでない場合において描かれる部分の線分パ
ターンを完全に一致させるようにしている。そこ
で、次にラインスタイルレジスタ420について
簡単に説明する。ラインスタイルレジスタ420
は、第2図aに示すように、Nビツトのレジスタ
で構成されており、Nビツトの各ビツトは描くべ
き線分の点の位置に1対1に対応している。そし
てその内容が論理的に1である場合にそれに対応
した線分の位置に色指定レジスタ410で指定さ
れた色の点が1ドツト打たれることになる。従つ
てラインスタイルレジスタ420のNビツトのパ
ターンは画面上に点列を打つていくポインタに同
期している。即ち、DDA200のX、Y座標の
点を出力する場合の同期信号に同期して次々にビ
ツト情報が読出され、その情報がマスク回路43
0を介して色指定レジスタ410の内容をビツト
マツプメモリ301,302,303に書込むか
どうかを決定する。例えば、第2図b,cは、線
分描画の様子を説明するための説明図で、ライン
スタイルジスタ420のビツトパターンに従つて
線分の点列が発生される様子を示している。ここ
で、重要なことは線分の描画はラインスタイルレ
ジスタのオフセツト値で指定された位置から線分
の点列が打たれるということである。即ち、第2
図bにおいてラインスタイルレジスタ420の内
容は先頭から111001110…となつており、オフセ
ツト位置は先頭から3ビツト目の2の位置であ
る。従つて描画される線分はオフセツト指定が行
われている3番目のビツトからのビツトパターン
に従つて線分が打たれることになる。第2図bに
おいてオフセツト指定の位置からのビツトパター
ンは1001110…となつているので、第2図cに示
すように、線分はP1の点がオフセツト指定の2
の位置に対応しているので打たれ、P2,P3は打
たれずP4,P5,P6が打たれて、P7が打たれない。
このようにしてラインスタイルレジスタ420の
オフセツト指定からのビツトパターンに対応した
ラインスタイルで線分が描かれることになる。即
ちラインスタイルレジスタ420の先頭からのオ
フセツト値で指定された位置から次々にビツト情
報が読み出され、ビツトの値が論理1である位置
には点が打たれ論理0の位置には打たれず、この
ようにしてラインスタイルを持つた線分が描画さ
れることになる。
次に第5図を用いて本発明の動作を示す処理の
流れを説明する。第5図aはクリツピングの説明
図であり、任意の始点座標PS=(XS、YS)から
終点座標PE=(XE、YE)に至る線分の途中、即
ち、x=XCのY軸に平行な直線でクリツピング
した場合、PS、PE間の線分とクリツピングライ
ンx=XCとの交点に最も近い整数座標PC=
(XC、YC)より前記終点座標PEに至る線分を描
画する場合を考察する。第5図bが流れ図であ
る。本実施例では、X軸が主軸である場合を述べ
るがX軸に平行な直線でクリツピングしたりY軸
が主軸である場合も同様である。動作が開始する
とまず線分PS・PE―――――→とx=XCのクリツピ
ング
ラインとの交点整数座標PCを求める。次にDDA
200に対する初期条件は次のように設定する。
すなわち各軸方向差分値、主軸指定はPS、PEの
座標値から計算された値を設定し、誤差量、オフ
セツトはPSからPEまで描画したと仮定したとき
にPCにおいて持つべき値を設定し、主軸方向長
さとしてはPCからPEに至るものを設定する。そ
してDDAの起動を行うようにしている。線分
PC・PE―――――→を描画する場合、始点座標はX
=XC、
Y=YCである。X方向の差分値DXはXE−XS
の絶対値、Y方向の差分値DYはYE−YSの絶対
値である。方向DIRは360度を8等分割した場合
に与えられる各方向を示す識別値であり、今の場
合PC・PE―――――→のベクトルの方向を示す。長
さ
LENはXEからXCを引いた絶対値に1を加えた
値であり、これは点列の点の数にあたる。PS、
PE間の線分とクリツピングラインとの交点は実
際には実数値として求まる値であるがビツトマツ
プデイスプレイにおいては交点も整数座標系で与
えられるため、誤差を生じ、誤差量はPSからPE
まで描画したと仮定した時にPCにおいて持つべ
き値を設定する。このようにDDA200に対す
る初期パラメータを設定し、次に、色指定レジス
タ420に描画するべき線分の各座標における色
を表す論理を設定する。次に、ラインスタイルレ
ジスタ420にラインスタイルパターンとオフセ
ツトを設定する。この場合、オフセツト値aは
XCからXSを引いた絶対値をNで割つた余りとし
て与える。即ちa=|XC−XS|(modN)であ
る。このオフセツト値が明らかに、PSからPEま
で描画したと仮定した時に整数座標PCにおいて
持つべき値として設定されていることに重要性が
ある。以上のように定められた各パラメータを用
いてDDA200を起動すればクリツピングの有
無にかかわらずラインスタイルレジスタ420の
内容に従うラインスタイルで線分を正しく描くこ
とができる。このように、誤差量或いはラインス
タイルレジスタに対するオフセツトがPSからPE
まで描画したと仮定したときにPCにおいて持つ
べき値を用いていることによつて、例えば、マル
チウインドウ方式において、上のウインドウによ
つて一度PC、PE間の線分が消され、再び優先順
位が変わつてPC、PE間の線分が再現した場合に
も、正しいラインスタイルで再現されることにな
る。
流れを説明する。第5図aはクリツピングの説明
図であり、任意の始点座標PS=(XS、YS)から
終点座標PE=(XE、YE)に至る線分の途中、即
ち、x=XCのY軸に平行な直線でクリツピング
した場合、PS、PE間の線分とクリツピングライ
ンx=XCとの交点に最も近い整数座標PC=
(XC、YC)より前記終点座標PEに至る線分を描
画する場合を考察する。第5図bが流れ図であ
る。本実施例では、X軸が主軸である場合を述べ
るがX軸に平行な直線でクリツピングしたりY軸
が主軸である場合も同様である。動作が開始する
とまず線分PS・PE―――――→とx=XCのクリツピ
ング
ラインとの交点整数座標PCを求める。次にDDA
200に対する初期条件は次のように設定する。
すなわち各軸方向差分値、主軸指定はPS、PEの
座標値から計算された値を設定し、誤差量、オフ
セツトはPSからPEまで描画したと仮定したとき
にPCにおいて持つべき値を設定し、主軸方向長
さとしてはPCからPEに至るものを設定する。そ
してDDAの起動を行うようにしている。線分
PC・PE―――――→を描画する場合、始点座標はX
=XC、
Y=YCである。X方向の差分値DXはXE−XS
の絶対値、Y方向の差分値DYはYE−YSの絶対
値である。方向DIRは360度を8等分割した場合
に与えられる各方向を示す識別値であり、今の場
合PC・PE―――――→のベクトルの方向を示す。長
さ
LENはXEからXCを引いた絶対値に1を加えた
値であり、これは点列の点の数にあたる。PS、
PE間の線分とクリツピングラインとの交点は実
際には実数値として求まる値であるがビツトマツ
プデイスプレイにおいては交点も整数座標系で与
えられるため、誤差を生じ、誤差量はPSからPE
まで描画したと仮定した時にPCにおいて持つべ
き値を設定する。このようにDDA200に対す
る初期パラメータを設定し、次に、色指定レジス
タ420に描画するべき線分の各座標における色
を表す論理を設定する。次に、ラインスタイルレ
ジスタ420にラインスタイルパターンとオフセ
ツトを設定する。この場合、オフセツト値aは
XCからXSを引いた絶対値をNで割つた余りとし
て与える。即ちa=|XC−XS|(modN)であ
る。このオフセツト値が明らかに、PSからPEま
で描画したと仮定した時に整数座標PCにおいて
持つべき値として設定されていることに重要性が
ある。以上のように定められた各パラメータを用
いてDDA200を起動すればクリツピングの有
無にかかわらずラインスタイルレジスタ420の
内容に従うラインスタイルで線分を正しく描くこ
とができる。このように、誤差量或いはラインス
タイルレジスタに対するオフセツトがPSからPE
まで描画したと仮定したときにPCにおいて持つ
べき値を用いていることによつて、例えば、マル
チウインドウ方式において、上のウインドウによ
つて一度PC、PE間の線分が消され、再び優先順
位が変わつてPC、PE間の線分が再現した場合に
も、正しいラインスタイルで再現されることにな
る。
本発明はこのようにラインスタイルを持つた線
分の描画において任意の始点座標から終点座標に
至る線分の途中で垂直又は水平な直線でクリツピ
ングし、交点から終点までいたる線分を描画する
場合、DDAに対する初期条件として、特に誤差
量とラインスタイルレジスタに対するオフセツト
値を始点座標から終点座標まで描画したと仮定し
たときに交点整数座標において持つべき値を設定
することにより、クリツピングの有無にかかわら
ず完全描画の線分をクリツピングの線分とで等価
なラインスタイルの点列が発生でき両者で完全に
一致させることができるという効果がある。
分の描画において任意の始点座標から終点座標に
至る線分の途中で垂直又は水平な直線でクリツピ
ングし、交点から終点までいたる線分を描画する
場合、DDAに対する初期条件として、特に誤差
量とラインスタイルレジスタに対するオフセツト
値を始点座標から終点座標まで描画したと仮定し
たときに交点整数座標において持つべき値を設定
することにより、クリツピングの有無にかかわら
ず完全描画の線分をクリツピングの線分とで等価
なラインスタイルの点列が発生でき両者で完全に
一致させることができるという効果がある。
第1図は本発明のクリツピング方式に従う装置
の構成ブロツク図、第2図は本発明のラインスタ
イルレジスタによるラインスタイルを持つた線分
描画の説明図、第3図は本発明のクリツピングの
説明図、第4図はDDAの制御動作を示す流れ図、
第5図は本発明の線分描画におけるクリツピング
方式に従う主制御部の流れ図を示す。 100……主制御部、200……DDA、30
1,302,303……RGBビツトマツプメモ
リ、500……CRT制御部、600……CRT、
420……ラインスタイルレジスタ、430……
マスク回路、410……色指定レジスタ。
の構成ブロツク図、第2図は本発明のラインスタ
イルレジスタによるラインスタイルを持つた線分
描画の説明図、第3図は本発明のクリツピングの
説明図、第4図はDDAの制御動作を示す流れ図、
第5図は本発明の線分描画におけるクリツピング
方式に従う主制御部の流れ図を示す。 100……主制御部、200……DDA、30
1,302,303……RGBビツトマツプメモ
リ、500……CRT制御部、600……CRT、
420……ラインスタイルレジスタ、430……
マスク回路、410……色指定レジスタ。
Claims (1)
- 【特許請求の範囲】 1 二次元の整数座標でアクセス可能なメモリ上
に線分を発生するデイジタル微分解析器におい
て、 任意の始点座標から終点座標に至る線分を垂直
又は水平なクリツピングラインによつてクリツピ
ングし、前記線分とクリツピングラインの交点か
ら終点に至る線分を描画する場合の前記デイジタ
ル微分解析器に与える初期設定値として、 各軸方向差分値、主軸指定は前記始点座標と前
記終点座標の座標値から計算される値を設定し、 誤差量およびラインレジスタのオフセツトは前
記始点座標から終点座標まで描画したと仮定した
時に方程式の根から求められる交点座標に最も近
い交点整数座標において持つべき値を設定し、 主軸方向長さとしては前記交点整数座標から前
記終点座標に至るものを設定することによつて前
記デイジタル微分解析器を起動することを特徴と
する線分描画におけるクリツピング方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60268532A JPS62127972A (ja) | 1985-11-29 | 1985-11-29 | 線分描画におけるクリツピング方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60268532A JPS62127972A (ja) | 1985-11-29 | 1985-11-29 | 線分描画におけるクリツピング方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62127972A JPS62127972A (ja) | 1987-06-10 |
| JPH0241790B2 true JPH0241790B2 (ja) | 1990-09-19 |
Family
ID=17459821
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60268532A Granted JPS62127972A (ja) | 1985-11-29 | 1985-11-29 | 線分描画におけるクリツピング方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62127972A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2704010B2 (ja) * | 1989-11-08 | 1998-01-26 | 株式会社日立製作所 | 表示システム、太線表示方法および情報処理装置 |
| CN109146998A (zh) * | 2018-08-15 | 2019-01-04 | 广州盖特软件有限公司 | 基于web的电脑出格设计线剪切绘制方法 |
-
1985
- 1985-11-29 JP JP60268532A patent/JPS62127972A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62127972A (ja) | 1987-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4653020A (en) | Display of multiple data windows in a multi-tasking system | |
| US4651146A (en) | Display of multiple data windows in a multi-tasking system | |
| CN1007937B (zh) | 显示处理器 | |
| US5499325A (en) | Brightness controls for visual separation of vector and raster information | |
| US4625202A (en) | Apparatus and method for generating multiple cursors in a raster scan display system | |
| JPH04246790A (ja) | ベクトル/円錐曲線/エリアフィルプリミティブジェネレータ | |
| US5128872A (en) | Method and apparatus for determining line positions for display and manipulation by a computer system | |
| WO2010089805A1 (ja) | グラフィカルユーザインタフェース装置及びグラフィカルユーザインタフェース実現方法 | |
| US6344856B1 (en) | Text optimization | |
| JPH0241790B2 (ja) | ||
| US5777631A (en) | Method and apparatus for displaying a video window in a computer graphics display | |
| JPH07225849A (ja) | グラフィックスコンピュータと直線描画装置 | |
| JPS62127971A (ja) | 線分描画におけるクリツピング方式 | |
| JPS6339947B2 (ja) | ||
| JPH0355870B2 (ja) | ||
| JP2787487B2 (ja) | コンピュータシステムに表示され且つ操作される線分の位置を決定する回路 | |
| JPH04373084A (ja) | 文字図形変形処理装置 | |
| JP3274850B2 (ja) | 文字図形変形処理装置および処理方法 | |
| JPS61130991A (ja) | 図形処理方法及び装置 | |
| JPS63240682A (ja) | 図形表示におけるクリツピング処理方式 | |
| JP2835056B2 (ja) | 高品質文字パターン発生方式 | |
| JPS61240283A (ja) | 表示制御装置 | |
| JPS6265080A (ja) | グラフ表示方式 | |
| JPH10240956A (ja) | 図形処理装置の文字図形入力方法 | |
| JPH10149358A (ja) | 文字表示装置および記録媒体 |