JPS61231677A - 描画処理装置 - Google Patents
描画処理装置Info
- Publication number
- JPS61231677A JPS61231677A JP60072610A JP7261085A JPS61231677A JP S61231677 A JPS61231677 A JP S61231677A JP 60072610 A JP60072610 A JP 60072610A JP 7261085 A JP7261085 A JP 7261085A JP S61231677 A JPS61231677 A JP S61231677A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- picture
- drawn
- horizontal
- vertical
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は描画処理装置に係り、特に水平あるいは垂直線
分の高速クリッピング処理に好適な描画機能を有する描
画処理装置に関する。
分の高速クリッピング処理に好適な描画機能を有する描
画処理装置に関する。
従来の描画処理装置は特開昭58−203550号公□
報に開示されるように、例えば直線の描画を例にとると
、第1図に示した直線発生のBresenhamのアル
ゴリズム(文献A1gorithm for comp
uter control of a digital
plotter : Breseuham 、 J
、 B 、 IBM System Joarnal、
Vol、4.Nnl 、11pp 、 25〜30
(1965’) ’) を用いて、描画すべき線分を
rlとし、この線分の傾きをO′〜4デの範囲とすると
A点の次のプロットすべき点は右横か右上のいずれかと
なることに注目して11に至る各ドツト点列の座標を順
次発生させている。1このようにして発生した座標点列
を全てプロットすることにより描画処理が終了する処理
装置は特に問題はないが、一般には、第2図の斜線部で
示すようにあらかじめ描画してよい任意サイズの矩形領
域が定められ、この領域内に人。
報に開示されるように、例えば直線の描画を例にとると
、第1図に示した直線発生のBresenhamのアル
ゴリズム(文献A1gorithm for comp
uter control of a digital
plotter : Breseuham 、 J
、 B 、 IBM System Joarnal、
Vol、4.Nnl 、11pp 、 25〜30
(1965’) ’) を用いて、描画すべき線分を
rlとし、この線分の傾きをO′〜4デの範囲とすると
A点の次のプロットすべき点は右横か右上のいずれかと
なることに注目して11に至る各ドツト点列の座標を順
次発生させている。1このようにして発生した座標点列
を全てプロットすることにより描画処理が終了する処理
装置は特に問題はないが、一般には、第2図の斜線部で
示すようにあらかじめ描画してよい任意サイズの矩形領
域が定められ、この領域内に人。
る座標点列のみをプロットし、発生した座標が領域外の
場合にはプロットを禁止する処理、すなわちクリッピン
グ処理が要求される。このクリッピング処理を行なう手
法としては1例えば特開昭58−203550号公報で
示されるように、発゛生した座標点Pの2次元座標(x
i、yi )と描画可矩形領域の位置f?を報LX、’
1’Y、)LX、BYより4ビツトの領域コードを生成
し、4ビツトのすべてが0であれば座標点Pをプロット
し、それ以外の時はプロットを禁止する方法が行われて
い1・・る。この方法を実現する回路は、例えば第3図
に示す構成をしており、4ビツトの領域コードの意味は
、TCは座標点Xi、3Flが領域の上にあることを、
HCは領域の下にあることを、LCは領域の左にあるこ
とを、l(、Cは領域の右にあ1・することを示すフラ
グである。
場合にはプロットを禁止する処理、すなわちクリッピン
グ処理が要求される。このクリッピング処理を行なう手
法としては1例えば特開昭58−203550号公報で
示されるように、発゛生した座標点Pの2次元座標(x
i、yi )と描画可矩形領域の位置f?を報LX、’
1’Y、)LX、BYより4ビツトの領域コードを生成
し、4ビツトのすべてが0であれば座標点Pをプロット
し、それ以外の時はプロットを禁止する方法が行われて
い1・・る。この方法を実現する回路は、例えば第3図
に示す構成をしており、4ビツトの領域コードの意味は
、TCは座標点Xi、3Flが領域の上にあることを、
HCは領域の下にあることを、LCは領域の左にあるこ
とを、l(、Cは領域の右にあ1・することを示すフラ
グである。
一方、図形発生のアルゴリズムで第1図に示したBre
senham法よりも高速処理の可能なアルゴリズムと
して、第4図に示した水平方向(あるいは垂直方向)に
連続する座標点列を水平セ1、。
senham法よりも高速処理の可能なアルゴリズムと
して、第4図に示した水平方向(あるいは垂直方向)に
連続する座標点列を水平セ1、。
グメント(あるいは垂直セグメント)としてとらえて、
そのセグメントが開始する座標とセグメント長(これを
ラン数と呼ぶ)を与えることで図形を描画する方法があ
る。このアルゴリズムは、!4図のように傾きが4ダよ
りも小さい場合には、X座標の変化ΔYがX座標の変化
ΔXよりも小さいため、y座s1格子ピッチあたり ゛
のX座標の変化量をセグメントのラン数とすることでX
座標の変化量ΔXをX座標の各格子ピッチに分配する方
法である。1格子ピツチあた1・・りの変化量は、一般
には、整数とならないため。
そのセグメントが開始する座標とセグメント長(これを
ラン数と呼ぶ)を与えることで図形を描画する方法があ
る。このアルゴリズムは、!4図のように傾きが4ダよ
りも小さい場合には、X座標の変化ΔYがX座標の変化
ΔXよりも小さいため、y座s1格子ピッチあたり ゛
のX座標の変化量をセグメントのラン数とすることでX
座標の変化量ΔXをX座標の各格子ピッチに分配する方
法である。1格子ピツチあた1・・りの変化量は、一般
には、整数とならないため。
整数部をR1小数部をΔBとすると、第4図に示すよう
な式になる。直線の両端では変化量を半分に分けるため
ΔXを2ΔYで割った値を用いている。ラン数は整数で
なければならないた1゜め、ΔRがOでない場合にRを
ラン数とすると誤差がでる。この誤差の積み重ねが1を
越えた。
な式になる。直線の両端では変化量を半分に分けるため
ΔXを2ΔYで割った値を用いている。ラン数は整数で
なければならないた1゜め、ΔRがOでない場合にRを
ラン数とすると誤差がでる。この誤差の積み重ねが1を
越えた。
時にラン数を14J−4−1とし、それ以外ではラン数
をRとすることで、第4図に示す斜線の描画が。
をRとすることで、第4図に示す斜線の描画が。
実現する。
4 ・
アルゴリズムの理解を助けるため、第4図の例を具体的
に説明すると、ΔX=22.ΔY=5であるため、Rは
4、ΔRは0.4と求められる。
に説明すると、ΔX=22.ΔY=5であるため、Rは
4、ΔRは0.4と求められる。
端ではさらに2で割った値を用いるためrは2:Δrは
0,2となる。この結果、最初のセグメント長のラン数
は2であるが、開始点は含めていない。
0,2となる。この結果、最初のセグメント長のラン数
は2であるが、開始点は含めていない。
ため、この場合だけ特別に1を加えラン数は3となる。
この時の誤差はΔrすなわち0.2となる6次のセグメ
ントのラン数は、誤差がΔr+ΔR。
ントのラン数は、誤差がΔr+ΔR。
で0.6となりこれは1より小さいためRすなわち11
14となる。3番目のセグメントは、誤差が0.6+Δ
几で1となるので、ラン数は)t+1すなわち5となる
。ここで誤差は、1を越えた分はう。
14となる。3番目のセグメントは、誤差が0.6+Δ
几で1となるので、ラン数は)t+1すなわち5となる
。ここで誤差は、1を越えた分はう。
ン数に反映するため、小数部すなわちOを誤差とする。
・以下同様の手順で、終了点までくり返1゜すことで第
4図に示す結果が得られる。以上の。
4図に示す結果が得られる。以上の。
手順に示したように、このアルゴリズムでは、。
佃々の座標を求めるBresenhamのアルゴリズム
。
。
と異なり、セグメントを単位として算出するた。
め、座標算出の効率が良くなっている。 、1゜従
って、このような水平または垂直セグメントを巣位とし
て座標を算出する方法を図形発生アルゴリズムとして採
用した場合の出力データは座標点P (x+、yt )
、ラン数R1及び方向係数D(水平セグメントOr垂直
セグメントかの区別)となる。この結果、第4図の例で
は、Bresenhamのアルゴリズムが22回座標計
算を必要とするのが6回で済み、描画処理も水平線また
は垂直線のみを描画すればよいため、高速化が図れる。
って、このような水平または垂直セグメントを巣位とし
て座標を算出する方法を図形発生アルゴリズムとして採
用した場合の出力データは座標点P (x+、yt )
、ラン数R1及び方向係数D(水平セグメントOr垂直
セグメントかの区別)となる。この結果、第4図の例で
は、Bresenhamのアルゴリズムが22回座標計
算を必要とするのが6回で済み、描画処理も水平線また
は垂直線のみを描画すればよいため、高速化が図れる。
しかしながら、第2図に示したように、・・画面の一部
のみが描画できる場合は、第3vに示した座標点毎のク
リップ判定を行うと、描画処理で、水平セグメントオた
は垂直セグメントを点列の描画へ変換し、一点ずつクリ
ップ判定をすることとなり、結果として、一点ずつの描
。
のみが描画できる場合は、第3vに示した座標点毎のク
リップ判定を行うと、描画処理で、水平セグメントオた
は垂直セグメントを点列の描画へ変換し、一点ずつクリ
ップ判定をすることとなり、結果として、一点ずつの描
。
画を行うBresenhamのアルゴリズムと同じ<2
2回の座標点の描画処理と1.L′り描画処理性能は向
上しないという欠点を有している。
2回の座標点の描画処理と1.L′り描画処理性能は向
上しないという欠点を有している。
本発明の目的は、手記欠点を解決するもので。
図形描画、任意サイズのパターンをあらかじめ定められ
た描画可領域内にかかる部分のみを高速に描画するクリ
ッピング処理を高速に実現する描画処理装置を提供する
ことにある。
た描画可領域内にかかる部分のみを高速に描画するクリ
ッピング処理を高速に実現する描画処理装置を提供する
ことにある。
上記目的を達成するために5本発明は描画処理装置の描
画点列は必ず水平線分あるいは垂直線分の集合としてと
らえることができることに着目し、描画処理を描画点の
プロットから、始点座標P(x、y)、ランレングス長
R1方向]・ID1R(水平又は垂直)という線分要素
に分解し、これにクリッピング処理を施して高速に描画
する。
画点列は必ず水平線分あるいは垂直線分の集合としてと
らえることができることに着目し、描画処理を描画点の
プロットから、始点座標P(x、y)、ランレングス長
R1方向]・ID1R(水平又は垂直)という線分要素
に分解し、これにクリッピング処理を施して高速に描画
する。
即ち1文字、図形、画像等を描画する描画処理装置にお
いて、被描画データを水平方向に連1−1続する長さロ
ピクセルの水平セグメント要素あるいは、垂直方向に連
続する長さr+/ピクセルの垂直セグメント要素、各水
平あるいは垂直セグメント要素の始点となる座標値P
(x+、yt )及び各セグメントの方向係数(右→左
、左→右、1上→下、下→上)を算出する第1の手段と
、被描画データを描画する領域の位置と領域サイズに基
づいて描画可領域の境界座標値を算出する第2の手段と
、第2の手段の算出結果に基づいて、第1の手段の算出
結果に対して各セグメント要素毎にセグメントの有効と
なる部分と無効となる部分を算出する第3の手段と、第
1の手段の算出結果と第3の手段の算出結果に基づいて
、有効となった水平あるいは垂直セグメントの部分を描
画する第4の手段とを備えたことを・特徴とする。
いて、被描画データを水平方向に連1−1続する長さロ
ピクセルの水平セグメント要素あるいは、垂直方向に連
続する長さr+/ピクセルの垂直セグメント要素、各水
平あるいは垂直セグメント要素の始点となる座標値P
(x+、yt )及び各セグメントの方向係数(右→左
、左→右、1上→下、下→上)を算出する第1の手段と
、被描画データを描画する領域の位置と領域サイズに基
づいて描画可領域の境界座標値を算出する第2の手段と
、第2の手段の算出結果に基づいて、第1の手段の算出
結果に対して各セグメント要素毎にセグメントの有効と
なる部分と無効となる部分を算出する第3の手段と、第
1の手段の算出結果と第3の手段の算出結果に基づいて
、有効となった水平あるいは垂直セグメントの部分を描
画する第4の手段とを備えたことを・特徴とする。
以下、本発明の一実施例を図面を用いて詳細に説明する
。
。
まず、第5図により本発明の基本原理を説明1する。
例えば点P (x+、yt )から水平方向にラン長r
lをもつ水平セグメントと描画可領域(すなわち、クリ
ッピング領域)との関係は第5図に示した如く5種類に
分類される。すなわち、■ 与えられた水平セグメント
は全て描画不要となるもの。(P(XI、yI)、rl
)■ 与えられた水平セグメントは全て描画対象となる
もの。(P(X4.Y4 ) 、 r4)■ 与えられ
た水平セグメントの前半の部分のみ描画対象となるもの
o (PCX5+Y11)+ r5)■ 与えられた水
平セグメントの後半の部分が描画領域に存在し、さらに
後半の部分セグメント全てを描画して良いもの。(P(
x2.y2)、r2)■ 与えられた水平セグメントの
後半の部分が1・・描画領域に存在し、さらに後半の部
分セグメントの中の前半の部分のみが描画対象となる・
ものo (P <xs*ys)srs)以上の■〜■の
5種類の関係を利用すること。
lをもつ水平セグメントと描画可領域(すなわち、クリ
ッピング領域)との関係は第5図に示した如く5種類に
分類される。すなわち、■ 与えられた水平セグメント
は全て描画不要となるもの。(P(XI、yI)、rl
)■ 与えられた水平セグメントは全て描画対象となる
もの。(P(X4.Y4 ) 、 r4)■ 与えられ
た水平セグメントの前半の部分のみ描画対象となるもの
o (PCX5+Y11)+ r5)■ 与えられた水
平セグメントの後半の部分が描画領域に存在し、さらに
後半の部分セグメント全てを描画して良いもの。(P(
x2.y2)、r2)■ 与えられた水平セグメントの
後半の部分が1・・描画領域に存在し、さらに後半の部
分セグメントの中の前半の部分のみが描画対象となる・
ものo (P <xs*ys)srs)以上の■〜■の
5種類の関係を利用すること。
により、例えば第4図に示したアルゴリズムで17算出
したセグメントの位置P (x+、yl )及びう。
したセグメントの位置P (x+、yl )及びう。
ン数口と描画可領域の位置とサイズ情報をもとに、ラン
数r−のうちの描画しないでスキップするラン数1.描
画するラン数IR,i (ただし、ここで8iとRiO
間には5i−1−3i≦口の関係がある)を1゜算出す
る。
数r−のうちの描画しないでスキップするラン数1.描
画するラン数IR,i (ただし、ここで8iとRiO
間には5i−1−3i≦口の関係がある)を1゜算出す
る。
第6図は本発明の一天施例を実現する描画処理装置の構
成を示すブロック図である。m6図において、1は描画
可領域設定部、2は水平セグメントあるいは垂直セグメ
ントに対する要素算出部、3は水平セグメントあるいは
垂直セグメントに対するクリップ判定部、4は描画処理
部、5は例えばC1l、Tのビデオメモリを示す。
成を示すブロック図である。m6図において、1は描画
可領域設定部、2は水平セグメントあるいは垂直セグメ
ントに対する要素算出部、3は水平セグメントあるいは
垂直セグメントに対するクリップ判定部、4は描画処理
部、5は例えばC1l、Tのビデオメモリを示す。
次に、第6図に示した描画処理装置の動作例を説明する
。描画可領域設定部1は与えられた1・描画可領域の位
置情報(例えば矩形領域の左上コーナーの座標)とサイ
ズ情報から第5図に示したX軸上の座標値LX、RX及
びY軸上の座標値TY、BYを生成し、クリップ判定部
3へ出力する。要素算出部2は例えばベクトル描画の場
1合には、第4図に示したアルゴリズムにより線分の構
成要素となる水平セグメントあるいは垂直セグメント成
分及び線パターンデータを生成するセグメントデータの
算出部である。また要素算出部2は例えば文字フォント
描画時には谷、。
。描画可領域設定部1は与えられた1・描画可領域の位
置情報(例えば矩形領域の左上コーナーの座標)とサイ
ズ情報から第5図に示したX軸上の座標値LX、RX及
びY軸上の座標値TY、BYを生成し、クリップ判定部
3へ出力する。要素算出部2は例えばベクトル描画の場
1合には、第4図に示したアルゴリズムにより線分の構
成要素となる水平セグメントあるいは垂直セグメント成
分及び線パターンデータを生成するセグメントデータの
算出部である。また要素算出部2は例えば文字フォント
描画時には谷、。
ラスタの位置及び文字フォントの横幅、フォントのパタ
ーンデータをとり出す部分となる。要素算出部2によっ
て算出されたセグメント要素の始点座標値P (x+、
yt )、ラン数rl、セグメントの方向係数DiRi
(これはランが水平で右→□左か、左→右かあるいは
垂直で上→下なのか下→上なのかの区分を与える)とラ
ン数に対応するパターンデータDATAiを生成しクリ
ップ判定部3へ出力する。クリップ判定部3は描画可領
域設定部1及び要素算出部2から与えられた1(・各入
力データをもとに与えられたセグメント要素P (x+
、yt ) 、 rtの始点位置P (x+、yt )
から描画対象とならないラン数の値84及び描画対象と
なるラン数の値Rjを第5図に示す5種類の、分類に従
って算出し、これらの出力を描画処理1・。
ーンデータをとり出す部分となる。要素算出部2によっ
て算出されたセグメント要素の始点座標値P (x+、
yt )、ラン数rl、セグメントの方向係数DiRi
(これはランが水平で右→□左か、左→右かあるいは
垂直で上→下なのか下→上なのかの区分を与える)とラ
ン数に対応するパターンデータDATAiを生成しクリ
ップ判定部3へ出力する。クリップ判定部3は描画可領
域設定部1及び要素算出部2から与えられた1(・各入
力データをもとに与えられたセグメント要素P (x+
、yt ) 、 rtの始点位置P (x+、yt )
から描画対象とならないラン数の値84及び描画対象と
なるラン数の値Rjを第5図に示す5種類の、分類に従
って算出し、これらの出力を描画処理1・。
部4へ印加する。描画処理部4は、要素算出部。
2及びクリップ判定部3の出力であるP (x+、yt
、)DiRi 、 Si 、 Ri及びDATAiをも
とに例えばビデオメモリ50指定座標値に対応するメモ
リ上の。
、)DiRi 、 Si 、 Ri及びDATAiをも
とに例えばビデオメモリ50指定座標値に対応するメモ
リ上の。
物理アドレスを生成してR1で与えられた部分に、1゜
対応するパターンデータの描画を行なう。
対応するパターンデータの描画を行なう。
第7図は、描画処理装置に2けるセグメント要素のクリ
ップ判定部3の動作例について、水平セグメント(但し
、方向係数Di Riは右→左の場合)を例にとった場
合の詳細な判定処理動作を示すフローチャートである。
ップ判定部3の動作例について、水平セグメント(但し
、方向係数Di Riは右→左の場合)を例にとった場
合の詳細な判定処理動作を示すフローチャートである。
第7図において、クリップ判定部3の動作はまず、与え
られたセグメントの始点P (x+、yt)のY軸座標
値yIがTY≦Yl≦BYかの判別を行ない(702,
704)、もしこの条件に違反していI・・れば描画処
理不要(760)、すなわち、5i=0、Ri=Oを出
力する。次にTY≦yt≦BYを満足していれは、与え
られた水平セグメントr+の前半が描画対象となるか後
半が描画対象となるのかの判別を行なうため、セグメン
トの始点Xiと1゜描画可領域の左側の境界座標LXと
の大小比較を行ない(706)、LX≧x1ならばセグ
メントの後半が描画対象の部分セグメントとなるかを判
別し、LX(x+ならばセグメントの前半が描画。
られたセグメントの始点P (x+、yt)のY軸座標
値yIがTY≦Yl≦BYかの判別を行ない(702,
704)、もしこの条件に違反していI・・れば描画処
理不要(760)、すなわち、5i=0、Ri=Oを出
力する。次にTY≦yt≦BYを満足していれは、与え
られた水平セグメントr+の前半が描画対象となるか後
半が描画対象となるのかの判別を行なうため、セグメン
トの始点Xiと1゜描画可領域の左側の境界座標LXと
の大小比較を行ない(706)、LX≧x1ならばセグ
メントの後半が描画対象の部分セグメントとなるかを判
別し、LX(x+ならばセグメントの前半が描画。
対象の部分セグメントとなるかを判別する。同、1゜様
にしてセグメントの終点となるX座標(x+十口)と描
画可領域の右側の境界座標RXとの大小間。
にしてセグメントの終点となるX座標(x+十口)と描
画可領域の右側の境界座標RXとの大小間。
係の比較を行ない(715,740)、描画すべきセグ
メントのランの開始位置Si、描画するラン数Riの算
出を行なう(710,720,725,727,735
,745,”750)。
メントのランの開始位置Si、描画するラン数Riの算
出を行なう(710,720,725,727,735
,745,”750)。
第7図のフローチャートによれば、描画処理゛不要(7
60)へ分岐する処理が第5図に示す5種゛類の分類の
うちの■として分類される場合であり、725の処理へ
行くのが■として分類されるlll場合であり、720
のうち727の判定で790の描・画処理へ行くのが■
として分類される場合であり、750の処理へ行くのが
■として分類される。
60)へ分岐する処理が第5図に示す5種゛類の分類の
うちの■として分類される場合であり、725の処理へ
行くのが■として分類されるlll場合であり、720
のうち727の判定で790の描・画処理へ行くのが■
として分類される場合であり、750の処理へ行くのが
■として分類される。
場合であり、745の処理へ行くのが■として分。
類される場合である。 1゜本実
施例では、水平セグメントの場合について詳しく説明し
たが、垂直セグメントの処理も。
施例では、水平セグメントの場合について詳しく説明し
たが、垂直セグメントの処理も。
同様であり、X座標の処理とX座標の処理を人。
れかえればよい。すなわち、第7図でTYをり。
Xに、BYをRXに、 ytをXIに置きかえ、 LX
をTYに、RXをBYに、XiをyIに置きかえれは、
垂直セグメントの処理を示すフローチャートとなる。
をTYに、RXをBYに、XiをyIに置きかえれは、
垂直セグメントの処理を示すフローチャートとなる。
次に描画処理装置全体の動作例について説明する。描画
処理装置は、あらかじめ外部から描画可領域データが与
えられており、このデータをもとに描画可領域設定部1
は座標データTY。
処理装置は、あらかじめ外部から描画可領域データが与
えられており、このデータをもとに描画可領域設定部1
は座標データTY。
BY、LX、RXを出力する。しかるのちに、描画要求
を要素算出部2に与えることで、要素算出部2は例えば
直線描画であれは、第4図に示し1・・たアルゴリズム
により、1帯目の座標Xi、y1゜ラン長rl、方向係
数Di Riで示される水平セグメントtたは垂直セグ
メントのデータをクリップ判定部3及び描画処理部4に
出力する。クリップ判定部3は、第7図のフローチャー
トで示し1゜たクリップ判定処理を実行し、描画不要の
場合は直ちに些素算出部2にセグメントの描画終了を知
らせる。描画不要で4cい場合は、スキップラン長Si
及び描画ラン長1(iを描画処理部4に出力し、描画の
起動をかける。描画処理部4は与、1えられた各データ
をもとに、描画すべきラン長Riの部分をビデオメモリ
5に書き、しかるのちに要素算出部2に描画終了を知ら
せる。要素算出部2は描画終了の報告により次のセグメ
ントの座標XI 、yl、ラン長口、方向係数DiRi
を算出・し、前述の場合と同様にクリップ判定部3及び
描画処理部4にデータを出方する。この動作を要求され
た全てのセグメントの描画が終了スる才でくり返し、全
セグメントの描画が終了すると、要素算出部2の上位に
描画終了を知らせ、1(・次の描画要求を待つ。
を要素算出部2に与えることで、要素算出部2は例えば
直線描画であれは、第4図に示し1・・たアルゴリズム
により、1帯目の座標Xi、y1゜ラン長rl、方向係
数Di Riで示される水平セグメントtたは垂直セグ
メントのデータをクリップ判定部3及び描画処理部4に
出力する。クリップ判定部3は、第7図のフローチャー
トで示し1゜たクリップ判定処理を実行し、描画不要の
場合は直ちに些素算出部2にセグメントの描画終了を知
らせる。描画不要で4cい場合は、スキップラン長Si
及び描画ラン長1(iを描画処理部4に出力し、描画の
起動をかける。描画処理部4は与、1えられた各データ
をもとに、描画すべきラン長Riの部分をビデオメモリ
5に書き、しかるのちに要素算出部2に描画終了を知ら
せる。要素算出部2は描画終了の報告により次のセグメ
ントの座標XI 、yl、ラン長口、方向係数DiRi
を算出・し、前述の場合と同様にクリップ判定部3及び
描画処理部4にデータを出方する。この動作を要求され
た全てのセグメントの描画が終了スる才でくり返し、全
セグメントの描画が終了すると、要素算出部2の上位に
描画終了を知らせ、1(・次の描画要求を待つ。
なお、本実施例の図形描画は直線について説明したが1
曲線についても同様に扱える。すなわち、曲線も部分部
分については直線と考えられ、水平セグメントと垂直セ
グメントの集合で11表現できるため、曲線座標発生ア
ルゴリズムで水平あるいは垂直セグメントを単位として
描画することで、同じクリップ判定が適用できる。。
曲線についても同様に扱える。すなわち、曲線も部分部
分については直線と考えられ、水平セグメントと垂直セ
グメントの集合で11表現できるため、曲線座標発生ア
ルゴリズムで水平あるいは垂直セグメントを単位として
描画することで、同じクリップ判定が適用できる。。
本実施例によれば、1回のクリッピング判別により、ラ
ン数r1個の座標点列全てについてのクリッピング処理
が可能となり、かつ、従来方式と比較し内部で大小比較
判別する回数はほぼ同一となるため、従来方式の約ri
倍の高速処理が可能となる。
ン数r1個の座標点列全てについてのクリッピング処理
が可能となり、かつ、従来方式と比較し内部で大小比較
判別する回数はほぼ同一となるため、従来方式の約ri
倍の高速処理が可能となる。
才だ、描画処理部に対する出力は、1点毎の・プロット
出力要求ではなく、ラン数Ri個分につい゛C同時に描
画する出力要求となるために、描画処理部の処理効率も
向上する。
出力要求ではなく、ラン数Ri個分につい゛C同時に描
画する出力要求となるために、描画処理部の処理効率も
向上する。
さらに、従来方式と比較し、ハードウェアの規模もほぼ
同等でよいため、コスト/パフオート・マンスが著しく
向上する。
同等でよいため、コスト/パフオート・マンスが著しく
向上する。
以上の説明から明らかなように、本発明によれば、水平
あるいは垂直に連続するラン数の単位でクリッピング判
別ができるため、従来の各1゜座標点毎にクリッピング
判別をする方式に比較してラン数約11倍の高速処理が
可能となり、また、描画処理部の起動回数は従来方式で
は描画。
あるいは垂直に連続するラン数の単位でクリッピング判
別ができるため、従来の各1゜座標点毎にクリッピング
判別をする方式に比較してラン数約11倍の高速処理が
可能となり、また、描画処理部の起動回数は従来方式で
は描画。
する座標点毎であったが、セグメントの個数分でよいた
めに、描画速度が大幅に向上するという効果が得られる
。
めに、描画速度が大幅に向上するという効果が得られる
。
第1図は直線発生におけるBresenhamのアルゴ
リズムを説明するための図、第2図は従来のクリッピン
グ判別処理を説明するための図、第・3図は従来のクリ
ッピング用の論理演算回路の処理を説明するための図、
第4図は直線の発生・を水平あるいは垂直セグメント成
分としてとらえて発生するアルゴリズムの説明図、第5
図は・本発明のクリッピング判別の基本原理を説明す川
るための図、第6図は本発明の一実施例の構成を示すブ
ロック図、第7図は本発明におけるクリップ判定部の詳
細動作を示すフローチャートである。 1・・・描画可領域設定部 1゜
2・・・要素算出部 3・・・クリップ判定部
。 4・・・描画処理部 5・・・ビデオメモリ第
1 図 第2図 弔3図 第4−図 乙λ=22 △γ=5 X 所=チ、4 →パー4,4尺=44− L= 2.2−+ γ=2.Aγ=o、2AY 第5 図
リズムを説明するための図、第2図は従来のクリッピン
グ判別処理を説明するための図、第・3図は従来のクリ
ッピング用の論理演算回路の処理を説明するための図、
第4図は直線の発生・を水平あるいは垂直セグメント成
分としてとらえて発生するアルゴリズムの説明図、第5
図は・本発明のクリッピング判別の基本原理を説明す川
るための図、第6図は本発明の一実施例の構成を示すブ
ロック図、第7図は本発明におけるクリップ判定部の詳
細動作を示すフローチャートである。 1・・・描画可領域設定部 1゜
2・・・要素算出部 3・・・クリップ判定部
。 4・・・描画処理部 5・・・ビデオメモリ第
1 図 第2図 弔3図 第4−図 乙λ=22 △γ=5 X 所=チ、4 →パー4,4尺=44− L= 2.2−+ γ=2.Aγ=o、2AY 第5 図
Claims (1)
- 【特許請求の範囲】 1、文字、図形、画像等を描画する描画処理装置におい
て、被描画データを水平方向に連続する長さriピクセ
ルの水平セグメント要素、あるいは垂直方向に連続する
長さri′ピクセルの垂直セグメント要素、各水平ある
いは垂直セグメント要素の始点となる座標値P(xi、
yi)及び各セグメントの方向係数(右→左、左→右、
上→下、下→上)を算出する第1の手段と、該被描画デ
ータを描画する領域の位置と領域サイズに基づいて描画
可領域の境界座標値を算出する第2の手段と、前記第2
の手段の算出結果に基づいて、前記第1の手段の算出結
果に対して各セグメント要素毎にセグメントの有効とな
る部分と無効となる部分を算出する第3の手段と、前記
第1の手段の算出結果と前記第3の手段の算出結果に基
づいて、有効となった水平あるいは垂直セグメント要素
の部分を描画する第4の手段とを備えたことを特徴とす
る描画処理装置。 2、前記第3の手段は、前記第1の手段の算出結果であ
るセグメントの方向係数が水平(右→左あるいは左→右
)成分かあるいは垂直(上→下あるいは下→上)成分か
の区別と、前記第2の手段の算出結果であるX軸方向の
境界座標値あるいはY軸方向の境界座標値に基づいて、
当該セグメントが描画可領域に全く関与しない成分であ
るか否かを判別するセグメント領域判定部と、前記セグ
メント領域判定部により描出されたセグメントに対し、
局所判別を行ない、有効となるセグメントの始点座標か
らの位置情報Si(水平方向の変位量Δxiあるいは、
垂直方向の変位量Δyi)及び該位置情報Siの位置か
ら有効となるセグメント長Riの算出部とから成ること
を特徴とする特許請求の範囲第1項記載の描画処理装置
。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60072610A JPH0750508B2 (ja) | 1985-04-08 | 1985-04-08 | 描画処理装置 |
KR1019860002122A KR940001880B1 (ko) | 1985-04-08 | 1986-03-21 | 묘화처리(描畵處理)의 방법 및 장치 |
US06/848,459 US4849907A (en) | 1985-04-08 | 1986-04-07 | Draw processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60072610A JPH0750508B2 (ja) | 1985-04-08 | 1985-04-08 | 描画処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61231677A true JPS61231677A (ja) | 1986-10-15 |
JPH0750508B2 JPH0750508B2 (ja) | 1995-05-31 |
Family
ID=13494332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60072610A Expired - Fee Related JPH0750508B2 (ja) | 1985-04-08 | 1985-04-08 | 描画処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4849907A (ja) |
JP (1) | JPH0750508B2 (ja) |
KR (1) | KR940001880B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0564111A2 (en) * | 1992-03-30 | 1993-10-06 | International Business Machines Corporation | Improvements in the decoding of run length code data for storage in a bit map memory |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63245576A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | 面図形クリツプ回路 |
US5333263A (en) * | 1987-09-25 | 1994-07-26 | Minolta Camera Kabushiki Kaisha | Digital image processing apparatus |
JPH01181173A (ja) * | 1988-01-14 | 1989-07-19 | Toshiba Corp | ベクトルフォント輪郭描画方式 |
JP2634851B2 (ja) * | 1988-04-28 | 1997-07-30 | シャープ株式会社 | 画像処理装置 |
US5202671A (en) * | 1989-10-24 | 1993-04-13 | International Business Machines Corporation | Pick function implementation in a parallel processing system |
JPH0796311B2 (ja) * | 1990-01-30 | 1995-10-18 | キヤノン株式会社 | 罫線パターン生成装置及び罫線パターン出力方法 |
US5542052A (en) * | 1991-03-04 | 1996-07-30 | Adobe Systems Incorporated | Applying traps to a printed page specified in a page description language format |
US5819278A (en) * | 1996-08-23 | 1998-10-06 | Adobe Systems Incorporated | Maintaining invalidation information in tiled image representations |
JPH10143134A (ja) * | 1996-11-11 | 1998-05-29 | Hewlett Packard Co <Hp> | 文字の生成と記憶のための方法と装置 |
JP4547906B2 (ja) * | 2003-12-19 | 2010-09-22 | ソニー株式会社 | 描画装置および描画方法、プログラム、並びに記録媒体 |
DE102005023356A1 (de) * | 2005-05-20 | 2006-11-23 | Robert Bosch Gmbh | Verfahren zur Darstellung eines Objekts |
JP4921466B2 (ja) | 2005-07-12 | 2012-04-25 | マサチューセッツ インスティテュート オブ テクノロジー | 無線非放射型エネルギー転送 |
JP4621617B2 (ja) * | 2006-03-28 | 2011-01-26 | 株式会社東芝 | 図形描画装置、図形描画方法、及びプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3639736A (en) * | 1969-11-19 | 1972-02-01 | Ivan E Sutherland | Display windowing by clipping |
US4146925A (en) * | 1977-08-04 | 1979-03-27 | Smiths Industries, Inc. | Graphics generator |
US4209832A (en) * | 1978-06-13 | 1980-06-24 | Chrysler Corporation | Computer-generated display for a fire control combat simulator |
US4291380A (en) * | 1979-05-14 | 1981-09-22 | The Singer Company | Resolvability test and projection size clipping for polygon face display |
US4412296A (en) * | 1981-06-10 | 1983-10-25 | Smiths Industries, Inc. | Graphics clipping circuit |
US4586036A (en) * | 1983-02-28 | 1986-04-29 | Advanced Computer Concepts, Inc. | Graphics display systems |
-
1985
- 1985-04-08 JP JP60072610A patent/JPH0750508B2/ja not_active Expired - Fee Related
-
1986
- 1986-03-21 KR KR1019860002122A patent/KR940001880B1/ko not_active IP Right Cessation
- 1986-04-07 US US06/848,459 patent/US4849907A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0564111A2 (en) * | 1992-03-30 | 1993-10-06 | International Business Machines Corporation | Improvements in the decoding of run length code data for storage in a bit map memory |
EP0564111A3 (ja) * | 1992-03-30 | 1994-04-13 | Ibm |
Also Published As
Publication number | Publication date |
---|---|
KR940001880B1 (ko) | 1994-03-10 |
JPH0750508B2 (ja) | 1995-05-31 |
KR860008512A (ko) | 1986-11-15 |
US4849907A (en) | 1989-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61231677A (ja) | 描画処理装置 | |
US4975976A (en) | Image transformation method and device | |
JP3117097B2 (ja) | 画像変換装置 | |
JP2000182038A (ja) | 歪まされた情報からの遠近法的矯正デ―タの生成方法及びこれに用いる装置並びにコンピュ―タプログラム製品 | |
US5621827A (en) | Image processing method and apparatus for obtaining object data to reconstruct the original image | |
JPH06161419A (ja) | 文字出力装置 | |
JPH11126261A (ja) | テクスチャマッピング方法及びその装置 | |
JP2634851B2 (ja) | 画像処理装置 | |
JPH01296389A (ja) | 図形処理方法及びその装置 | |
JP3026706B2 (ja) | 画像処理装置 | |
JPH04362793A (ja) | ラスタ装置における描画方法 | |
KR19980033149A (ko) | 문자 생성 방법 및 장치 | |
US8605112B2 (en) | Graphics drawing apparatus, method, and program and recording medium on which the program is recorded | |
US5355451A (en) | Graphic processing unit | |
US6504543B1 (en) | Polygon drawing method and polygon drawing apparatus | |
JP3266905B2 (ja) | 図形処理装置 | |
JP4325812B2 (ja) | ベクター画像描画回路およびベクター画像描画方法 | |
US6930686B1 (en) | Method and apparatus for drawing thick graphic primitives | |
JPS63305478A (ja) | パタ−ン情報復元装置 | |
JP2002244643A (ja) | 画像処理装置 | |
JP3065855B2 (ja) | 画像処理装置 | |
JPS62271187A (ja) | ベクトル描画方式 | |
JP2000149009A (ja) | 画像処理装置 | |
JP2537223B2 (ja) | 図形処理装置 | |
JP3024479B2 (ja) | データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |