JPH02308381A - 多角形塗り潰し方式 - Google Patents

多角形塗り潰し方式

Info

Publication number
JPH02308381A
JPH02308381A JP1128845A JP12884589A JPH02308381A JP H02308381 A JPH02308381 A JP H02308381A JP 1128845 A JP1128845 A JP 1128845A JP 12884589 A JP12884589 A JP 12884589A JP H02308381 A JPH02308381 A JP H02308381A
Authority
JP
Japan
Prior art keywords
clipping
area
polygon
coordinates
clipping area
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
JP1128845A
Other languages
English (en)
Inventor
Makoto Fujita
良 藤田
Yasushi Fukunaga
泰 福永
Akihiro Katsura
晃洋 桂
Kazuyoshi Koga
和義 古賀
Masahiro Shiraishi
雅裕 白石
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 JP1128845A priority Critical patent/JPH02308381A/ja
Publication of JPH02308381A publication Critical patent/JPH02308381A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、塗り潰された多角形図形を表示する表示装置
において、表示ウィンドウより大きい多角形を効率良く
発生する、クリッピングのある多角形塗り潰し方式及び
その装置に関する。
〔従来の技術〕
まず、多角形の塗り潰しを行う方式としては、いろいろ
な方法が提案されているが、その中で、特願昭57−1
81311号で示されている方法は、多角形の頂点数に
制限が無いこと、塗り潰す処理時間が画面上の画素数に
依存し、上限があるため、複雑な多角形でも高速に実現
可能という点で、特にCADなどの複雑で、大量の多角
形を表示する用途には、最適な方法である。しかし、マ
ルチウィンドウにより表示システムのように、表示画面
内の任意の矩形エリアだけを描画する処理を行う場合、
多角形の枠を参照しながら塗り潰しを行う上記塗り潰し
方式では、前記矩形エリアが塗り潰す多角形よりも小さ
い場合、描画するエリアよりも大きなエリアを参照しな
ければならずに、必要以上の処理時間がかかつてしまう
。すなわち、第2図に示す、頂点Po 、Pl、・・・
、P5で構成される多角形は、左下座標がCo、右上座
標が01で与えられるクリッピングエリア内だけに描画
させようとした場合、前記多角形が前記クリッピングエ
リアと重さなる部分だけを描画するのに対して、前記多
角形を包含する多液矩形内を参照しなければならない。
一方、塗り潰しの枠を発生する処理は、クリッピングエ
リア内だけに限定して、参照するエリアを、描画エリア
と同一サイズにしようと、特願昭57−206617号
に示された内容に従って描画を行うとクリッピングエリ
ア外を全く描画しないようになるため1スキヤンライン
(又はラスタ)上に必ず偶数同視れるべき枠が、奇数に
なることがあり、正しい多角形を発生できなくなる。
〔発明が解決しようとする課題〕
上記従来技術は、クリッピングされた多角形の塗り潰し
を正確でかつ、高速に行うことについて配慮がされてお
らず、小さなエリア内への多角形の塗り潰しの処理が、
エリアの大きさと関係なく一定で、無駄な処理を行って
いるという問題点があった。
本発明は、クリッピングのある多角形の塗り潰しの処理
を、クリッピングエリアより小さなエリアに対して行い
、エリアのサイズに依存して、処理速度が向上すること
を目的としており、さらに、複数のクリッピングエリア
においても、上記目的を達成できる多角形塗り潰し装置
を提供することにある。
〔課題を解決するための手段〕
本発明は、上記目的を達成するために、多角形の境界枠
がクリッピングエリアから外に出たときに、塗り潰しの
多角形の境界枠を参照するスキャン方向と垂直なりリッ
ピングエリアの向い合うl対の辺上に、クリッピングエ
リアから出た枠の画素を写像して、クリッピングエリア
外へ出た枠の情報を失なわないようにしたものである。
また、複数のクリッピングエリアがある場合に拡張する
ために、前記多角形の境界枠の発生手段は、描画しよう
とするクリッピングエリアについてのみ適用し、他のク
リッピングエリア、すなわち、前記描画しようとするク
リッピングエリアに対応するウィンドウより手前にある
ウィンドウは、前記多角形の境界枠を参照して境界枠の
内部を塗り潰す時にのみクリッピングするかどうかの判
定に使用するようにしたものである。
〔作用〕
閉図形である多角形は、その境界枠を参照するスキャン
ラインに対して必ず、偶数回交叉する。
前記多角形が、クリッピングエリアをはみ出した場合、
前記スキャンラインと垂直なりリッピングエリアのはみ
出した方の辺に、はみ出した境界枠を構成する画素を写
像することによって、前記多角形をクリッピングエリア
内で閉じさせることができ、その境界枠は、各スキャン
ラインに対して必ず偶数回交叉させるようにすることが
可能となる。同様の考え方を持つ閉図形のクリッピング
方式としては、特願昭57−226112号があるが、
以下の点で本発明と異なっている。
第1に、本発明は、該閉図形のクリッピング方式に比べ
、クリッピングエリアの1対の向い合う辺に対してのみ
、多角形のはみ出した部分の写像を行えば良く、処理が
少ない。
第2に、多角形と、クリッピングエリアと交叉する点を
前記閉図形のクリッピング方式では、整数の座標として
求めているため、クリッピングされない多角形の生成す
る境界枠と微妙に異なる境界枠を発生してしまうのに対
して、本発明では、クリッピングを、生成した境界枠上
の画素の座標から判定しているため、クリッピングされ
ない多角形と同じ境界枠を生成することができ、正確に
塗り潰しを行うことができる。
クリッピングエリアが複数存在し、単なる矩形でないエ
リアに対して多角形の塗り潰しを行う場合、クリッピン
グエリアのうち1つを、エリア内のみ描画するようにし
、残りは、エリア外のみを描画するようにする。上記エ
リア内のみ描画を行うクリッピングエリアに対して、多
角形のはみ出した境界枠を、スキャンラインと垂直な辺
に写像する処理を行えば、前述のように、該クリッピン
グエリア内で、多角形の境界枠は、閉図形とすることが
でき、さらに、展開された境界枠を参照して塗り潰しを
行う時に、書き込む画素が前記複数のクリッピングエリ
アに対して描画できるかどうかその座標によって判定し
、塗り潰しを行うことによって、矩形でないクリッピン
グエリアに対しても正確で、高速な多角形の塗り潰しを
行うことができる。
〔実施例〕
以下、本発明の一実施例を第1図から第5図を用いて説
明する。
第1図は、本発明による多角形塗り潰し装置の一実施例
である。本図には割愛したが、該多角形の塗り潰し装置
に対し、多角形の頂点を与え、多角形の境界枠を発生す
るように指示し、クリッピングエリアの左下、右上の座
標を設定し、書き込む画素の値を与え、複数のクリッピ
ングエリアの有効、無効を指示しする処理をシステムバ
ス(SYSBUS)を介して行うCPUが存在する。
さて、第1図において、直線発生器1は、cPUによっ
て与えられた頂点座標に基づいて、多角形枠上の画素の
xy座#A8を順次発生する。生成されたXY座標8は
、7−7メモリ制御3.BM(ビットマツプメモリ)制
御4.システム制御2゜座標比較器5の各ブロックに与
えられる。システム制御2は、受は取ったxy座標8の
Y座標が、変化する時1画素の書き込み要求を制御信号
9を介してワークメモリ制御に出力するにれは、1本の
境界枠の線が、同じY座標に対して1画素のみを発生さ
せるための手段であり、特願昭57−181311号に
境界線の発生として詳細が示されている。但し、該境界
線の発生の詳細説明では、1本の境界線が、同じX座標
に対して1画素のみを発生させる手段について述べられ
ており、X、Yが逆になっているが1本質的には、同一
である。
さて、前記書き込み要求を受けたワークメモリ制御3は
、ワークメモリ6に対してリード要求を出し、前記XY
座標8の示す画素のt□r、tllを反転し、同じ座標
に書き込む。ワークメモリ6は、最初クリアされており
、境界枠が書き込まれる6上記のようにワークメモリに
対して、画素の反転を行うことによって、同じ画素に複
数の境界枠が重なった時、1スキヤンラインと交叉する
交点の数の偶奇を正しくすることができる。さて、この
時、もし、座標比較器5の比較結果11がクリッピング
エリアの表外であれば、反転する画素のX座標は、クリ
ッピングエリアの左下点のX座標に変換されて書き込み
が行われる。又、クリッピングエリアの在外であれば、
クリッピングエリアの右上点のX座標に変換されて書き
込みが行われる。さらに、XY座標8がクリッピングエ
リアの上昇又は上外の時には、ワークメモリへのアクセ
スがキャンセルされなくても行われない。
以上の画素の反転処理を、多角形の全ての辺について行
うことによって多角形の境界枠をクリッピングエリア内
に描画することができる。
第2図にクリッピングされる多角形の描画例を示した。
同図(a)において、クリッピングエリアは、2つの座
標点Co、CIによって与えられており、それに対して
、頂点Pa 、 PL 、 P2 。
P a + P4 + P 5で与えられる多角形の境
界枠を展開すると、第2図(b)のように、頂点Po 
Plで与えられる辺は、クリッピングエリアの左   
゛辺上の画素列14に変換され、また、頂点P3゜P4
で与えられる辺の、クリッピングエリアからはみ出した
部分は、クリッピングエリアの右辺上の画素列15に変
換される。頂点P2 、Psは。
特願昭57−181311号で示されている「特異点」
として処理することによって、クリッピングエリア内の
境界枠は、必ず、1ラスター上に偶数個の画素を生成さ
れるようになる。
次に、展開された境界枠を参照して塗り潰しを行う手順
を示す。
CPUは、塗り潰しを行う多角形の外接矩形とクリッピ
ングエリアとの重なっている塗り潰しエリアの全ラスタ
ーに対して以下の処理を行わせるまず、CPUは直線発
生器1に、1ラスターのXY座標を発生するように指示
をする。直線発生器lの発生したXY座標8は、ワーク
メモリ制御3.8M制御4.座標比較器5の各ブロック
に与えられる。
ワークメモリ制御3は、ワークメモリ上の画素を読み出
し、1を読み出したなら塗り潰し状態1oを反転し、8
M制御4に送る。この塗り潰し状態10は、最初Oに設
定されており、多角形の内部(’1’ )、外部(’O
”) を示す。従ってこの塗り潰し状態10が1である
画素について、8M制御4が8Mメモリ7に書き込みを
行う。
8M制御4は、xyF!i標8の示すBMメモリの画素
に対して、塗り潰し状態1oが1で、比較結果11が内
部の時に、CPUから与えられる書き込みデータを書き
込む。以上の処理を前記塗り潰しエリア内の全画素につ
いて行うことにより、クリッピングのある多角形の塗り
潰しを行うことができる。
次に、ワークメモリ制御3と、座標比較器5の内部につ
いて詳細を示す。
まず、ワークメモリ制御3は、第3図に示すように、ク
リッピングエリアの左と右のX座標を保持するレジスタ
X  Left、 X  Right301と、xy座
標8のX座標を、クリッピングエリアの左、右辺のX座
標に写像するためのセレクタ302と、ワークメモリへ
のリードライト信号WEを制御するワークメモリリード
ライト制御303と、ワークメモリ上のデータを反転し
たり、読み出したデー、  夕から塗り潰し状態10を
作るワークメモリデータ制御304から構成される。
まず、多角形の境界枠を描画するときは、描画するXY
座標8が与えられ、さらに、XY座標8と、クリッピン
グエリアとの比較結果11が与えられる。さらに、制御
信号9には、書き込み要求信号RW  REQと、境界
枠描画か、塗り潰し描画かを区別する信号COM  T
YPEが与えられる。
ワークメモリリードライト制御303は、制御信号9か
ら書き込み要求信号が出て、境界枠描画の時、次の処理
を行う。
先ず、比較結果11は、クリッピングエリアに対してX
Y座標8が、(1)内部、 (2) Y座標は内部で、
X座標がエリアの列外、 (3) Y座標は内部で、X
座標がエリアの在外、 (4) Y座標が外の4つの状
態を示している。もし、比較結果11が、(1)の時は
、写像信号306で、セレクタ302が、XY座標8の
X座標を、バス12のX座標に出力するようにする。そ
して、バス12のライト信号WEでリード動作を行わせ
、バス12のデータ信号WK  DTを介してワークメ
モリデータ制御にワークメモリ上の画素データを読み込
ませる。
次に、バス12のライト信号WEでライト動作を行わせ
、ワークメモリデータ制御304で作る反転データをバ
ス12のデータ信号WK  DTを介してワークメモリ
6に書き込みを行う。
もし、比較結果11が(2)であれば、上記(1)にお
ける処理手順の中で、バス12のX座標を作るセレクタ
302の出力を、レジスタ301に保持されている、ク
リッピングエリアの左下X座標X  Leftが選択さ
れるように、写像信号306を作る。
もし、比較結果11が(3)であれば、上記(2)と同
様にして、レジスタ301に保持されているクリッピン
グエリアの右上X座標X  Rightが選択されるよ
うに、写像信号306を作る。
もし、比較結果11が(4)であれば、ワークメモリ6
に対して何も行わないようにする。
次に、多角形境界枠を描画する時のワークメモリ制御3
04の動作について示す。ワークメモリ制御304は、
制御信号9のCOMTYPEが境界枠描画の時で、ワー
クメモリリードライト制御303からのライト信号WE
がリードの時は、ワークメモリ6からのリードデータを
取り込み、ライト信号WEがライトの時、該リードデー
タの′0′。
′1′を反転してワークメモリ6へ書き込むために、バ
ス12のデータ信号WK  DTに出力する。
次に、塗り潰しを行う時のワークメモリ制御3の動作を
示す。制御信号9のCOM  TYPEは、塗り潰し描
画になっている。その時、ワークメモリ、リードライト
制御303は、写像信号306をXY座標8のX座標が
、バス12のX座標となるようにする。また、バス12
のライト信号WEで、ワークメモリ6に対してリード動
作を行わせ、読み出したデータを、ワークメモリデータ
制御304に取り込ませる。ワークメモリデータ制御3
04は、読み出したり一ドデータが′1′の時には、塗
り潰し状態10を反転して、8M制御4に送る。
次に第4図を用いて、座標比較器5の詳細を示す。
座標比較器5は、n+1個のクリッピングエリアをCP
Uから与えられ、保持し比較を行う比較器を有している
。比較器(BASE  AREA)501は、与えられ
たxY座標8が、該クリッピングエリアの内部か外部か
判定し、比較結果506を出力する。この比較結果50
6は前述比較結果11と同じく4つの状態を示している
信号である。
コノ比較器(BASE  ARE、A)’50..ll
:保持されているクリッピングエリアが、境界枠のクリ
ッピングに使われる。残りのn個の比較器(SUt+−
AREAI)502から、比較器(SU、b−AREA
n)503は、比較器(843E−AERA)501の
保持しているクリッピングエリアとは一般に別のエリア
が定ギされており、各クリッピングエリアとの内外判定
結果である比較結果507から比較結果508を出力す
る。レジスタ(AREAEBL) 511は、これらn
+1個のクリッピングエリアの有効、無効を保持してお
り、信号線510を介して、各比較器501,502゜
503に送られる。各比較器501,502゜503は
、信号線510が、無効を指示している時には、対応す
る比較結果506は、クリッピングエリア内部、比較結
果507,508は、XY座vA8がクリッピングエリ
ア外部であるという信号を出力する。
これらの比較結果は、比較結果合成回路CM PSYN
504に送られ合成されて、塗り潰し用比較結果509
が出力される。具体的には、比較器(BASE  AR
EA)501の比較結果506がクリッピングエリア内
であり、他の比較器(SUb  AREAI 〜n)5
02,503の比較結果507,508が全てクリッピ
ングエリア外である時に、塗り潰し用比較結果509は
、クリッピングエリア内部であるという信号になる。
塗り潰し描画と、境界枠描画を区別する信号である、制
御信号9のCOM  TYPEに従って。
セレクタ505は、塗り潰し時塗り潰し用比較結果50
9を比較結果11として出力し、境界枠描画時、比較器
(BASE  AREA)501の比較結果506を出
力する。
次に、第5図を使って、複数のクリッピングエリアに、
クリッピングされる多角形の塗り潰しを行う処理の一例
を示す。第5図の例は、4つのウィンドウのうち、上か
ら3番目のウィンドウに、多角形Po + Pt + 
P2 + P3を描画しようというものである。
まず多角形を描画しようとする上から3番目のウィンド
ウの左下、右上のXY座標を、比較器(BASE  A
REA)501の内部レジスタに設定する。同様に、一
番上、二番目、一番下のウィンドウの左下、右上のXY
座標が、比較器(SUb  AREAI)502から順
に比較器(SUb  AREA3)まで内部のレジスタ
に設定する。そして、レジスタ (AREAEBL) 
511には、BASE  AREA、SUb  ARE
AI、5ubAREA2が有効であり、BASE  A
REAより下にあるクリッピングエリアである5Ub−
AREA3は無効、設定していない他のクリッピングエ
リアも無効となるように設定する。
以上のように設定した後、前述のように、多角形Pa 
、P工+ P2 、P3の境界枠を描画すると、第S図
に太線で示した境界枠が発生する。
続いて、塗り潰しの処理を行うと、5ub−AREAI
と重なっている部分は、塗り潰されないため、第5図の
斜線部分のみが塗り潰される。
以上示した実施例を用いれば、塗り潰しを行う処理が、
クリッピングエリア内で行え、読み、書きする画素数が
少なくてすむ効果と、複数のクリッピングエリアのある
場合にも多角形を高速に塗り潰せるという効果がある。
〔発明の効果〕
本発明によれば、多角形の境界枠が、クリッピングエリ
ア内部に展開されるため、塗り潰しを行うために境界枠
を読み出す画素数もクリッピングエリア内の画素数を越
えず、特にクリッピングエリアが小さくなるほど、高速
に処理が行えるという効果がある。
また、FJ1数のクリッピングエリアを定義できるため
、矩形でないエリアに対しても多角形の塗り潰しを行う
ことができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の多角形塗り潰し装置のブロ
ック図、第2図はクリッピングされた多角形の境界枠の
展開例を示す図、第3図は多角形の境界枠を展開するワ
ークプレーンを制御するワークプレーン制御3の内部ブ
ロック図、第4図は座標比較器5の内部ブロック図、第
5図は複数のクリッピングエリアがある場合の多角形の
塗り潰しを説明する図である。 1・−・直線発生器、3・・・ワークメモリ制御、5・
・・座標比較器、6・・・ワークメモリ、14.15・
・・写像された境界枠、301・・・写像するX座標を
保持するレジスタ、306・・・写像するかどうかを制
御する信号、511・・・クリッピングエリアの有効無
効筒 1 図 第2図 (a)       (b) 第3図 塗り潰し状態

Claims (1)

  1. 【特許請求の範囲】 1、多角形の境界枠を発生する直線発生器と、該境界枠
    を保持するメモリと、該メモリに保持されている前記境
    界枠を参照して、前記多角形の塗り潰しを行う制御回路
    から成る多角形の塗り潰し装置において、塗り潰す領域
    を示すクリッピングエリアを保持するレジスタを有し、
    該クリッピングエリアと、前記直線発生器の発生する多
    角形の境界枠とを比較し、前記クリッピングエリアから
    はみ出した部分を、前記制御回路が、境界枠を参照する
    スキャン方向と垂直な前記クリッピングエリアの境界上
    に写像することを特徴とする多角形塗り潰し方式。 2、複数の塗り潰す領域を示すクリッピングエリアを保
    持するレジスタと、該レジスタに保持されているクリッ
    ピングエリアが有効か無効かを示すレジスタを有してお
    り、多角形の境界枠の発生と、該境界枠の参照は、前記
    複数のクリッピングエリアのうち1つを用いて行うこと
    を特徴とする特許請求の範囲第1項の多角形塗り潰し方
    式。
JP1128845A 1989-05-24 1989-05-24 多角形塗り潰し方式 Pending JPH02308381A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1128845A JPH02308381A (ja) 1989-05-24 1989-05-24 多角形塗り潰し方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1128845A JPH02308381A (ja) 1989-05-24 1989-05-24 多角形塗り潰し方式

Publications (1)

Publication Number Publication Date
JPH02308381A true JPH02308381A (ja) 1990-12-21

Family

ID=14994806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1128845A Pending JPH02308381A (ja) 1989-05-24 1989-05-24 多角形塗り潰し方式

Country Status (1)

Country Link
JP (1) JPH02308381A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006262061A (ja) * 2005-03-17 2006-09-28 Brother Ind Ltd 印刷データ生成装置、印刷データ生成方法及び印刷データ生成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006262061A (ja) * 2005-03-17 2006-09-28 Brother Ind Ltd 印刷データ生成装置、印刷データ生成方法及び印刷データ生成プログラム

Similar Documents

Publication Publication Date Title
US4975976A (en) Image transformation method and device
JPH09245179A (ja) コンピュータグラフィックス装置
US4747042A (en) Display control system
US6215501B1 (en) Method and filling a polygon and recording medium
JP3547250B2 (ja) 描画方法
JP2634851B2 (ja) 画像処理装置
JPH02308381A (ja) 多角形塗り潰し方式
JP2704010B2 (ja) 表示システム、太線表示方法および情報処理装置
US5371843A (en) Method and system for filling non-complex polygons using vertical spans
JP2768370B2 (ja) 図形描画方法
JP2002258827A (ja) 画像表示装置
JPH0350686A (ja) 図形処理方式
JP4320604B2 (ja) 画像処理方法および画像処理装置
JP2611599B2 (ja) コンピュータグラフイックスのデータ処理方法及び装置
JPH10261095A (ja) 画像処理装置及び画像処理方法
JPH04247587A (ja) グラフィック表示装置
JPH0318717B2 (ja)
JPH0346826B2 (ja)
JPH0259871A (ja) 画像処理装置および画像処理方法
JPH0644385A (ja) Zバッファ制御回路
JPH0330076A (ja) 描画装置
JPH11120376A (ja) 三次元画像処理装置及び方法
JPH05334455A (ja) レンダリング方式
JPS61267096A (ja) 多角形図形のぬりつぶし描画表示装置
JPH01156881A (ja) ストローク文字描画方法