JP2734206B2 - 多角形の描画方法及び装置 - Google Patents
多角形の描画方法及び装置Info
- Publication number
- JP2734206B2 JP2734206B2 JP103891A JP103891A JP2734206B2 JP 2734206 B2 JP2734206 B2 JP 2734206B2 JP 103891 A JP103891 A JP 103891A JP 103891 A JP103891 A JP 103891A JP 2734206 B2 JP2734206 B2 JP 2734206B2
- Authority
- JP
- Japan
- Prior art keywords
- list
- line
- scan line
- path
- fill
- 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 - Fee Related
Links
Landscapes
- Image Generation (AREA)
- Dot-Matrix Printers And Others (AREA)
- Record Information Processing For Printing (AREA)
Description
【0001】
【産業上の利用分野】本発明は、グラフィックディスプ
レイ装置に描画を行う方法及び装置、詳しくは、多角形
の描画方法及び装置に関するものである。
レイ装置に描画を行う方法及び装置、詳しくは、多角形
の描画方法及び装置に関するものである。
【0002】
【従来の技術】従来の多角形の描画をスキャンラインア
ルゴリズムで行う場合、複雑な図形を高速に描画できる
反面、傾きの微小なパス間を描画する際、各スキャンラ
インで独立であるため、連続して描画すべき領域が切れ
る場合がある。そのため、描画区間の補正として、前の
スキャンラインに対応するページバッファを参照した
り、前のスキャンラインでの描画区間を記憶して参照す
ることはよく知られている(特開昭60−128569
号公報及び特開昭61−241880号公報)。
ルゴリズムで行う場合、複雑な図形を高速に描画できる
反面、傾きの微小なパス間を描画する際、各スキャンラ
インで独立であるため、連続して描画すべき領域が切れ
る場合がある。そのため、描画区間の補正として、前の
スキャンラインに対応するページバッファを参照した
り、前のスキャンラインでの描画区間を記憶して参照す
ることはよく知られている(特開昭60−128569
号公報及び特開昭61−241880号公報)。
【0003】
【発明が解決しようとする課題】このような従来の多角
形の描画方法において描画の補正を行う場合には、毎ス
キャンラインで、かつ、描画区間を決定する全ての場
合、そのように前のスキャンラインに対応するページバ
ッファや、前スキャンラインでの描画区間を参照しなけ
ればならなかったため、描画処理速度の低下を招いてい
た。
形の描画方法において描画の補正を行う場合には、毎ス
キャンラインで、かつ、描画区間を決定する全ての場
合、そのように前のスキャンラインに対応するページバ
ッファや、前スキャンラインでの描画区間を参照しなけ
ればならなかったため、描画処理速度の低下を招いてい
た。
【0004】本発明は、従来の上記事情に鑑みてなされ
たものであり、その目的は、全体の処理速度を劣化させ
ることなく描画区間の補正を行うことができる描画方法
及び装置を提供することである。
たものであり、その目的は、全体の処理速度を劣化させ
ることなく描画区間の補正を行うことができる描画方法
及び装置を提供することである。
【0005】
【課題を解決するための手段】本発明の第1の特徴によ
れば、輪郭情報で与えられる任意の図形の内部をスキャ
ンラインにより塗りつぶして描画する方法において、上
記多角形を構成するパスがスキャンラインと初めて交差
した時点で、そのパスのラインリストを作成し、この情
報リストをスキャンラインとの交差位置について昇順に
ソートしたソートラインリストを作成し、このソートラ
インリストを基に、指定された塗りつぶしルールに応じ
て描画区間となるパスを求め、それをペアで管理するフ
ィルリストを作成し、このソートラインリストが更新さ
れない間、このフィルリストを基に、順次描画区間を求
め、その際、前スキャンラインでの描画区間を参照し、
補正を行い、補正処理後の描画区間の描画を行い、パス
がスキャンラインと交差しなくなった時点、あるいは、
パス同士の交差が起こったと判断された時点で、ソート
ラインリスト及びフィルリストを更新し、さらに、これ
らの段階を繰り返すことから成る方法が提供される。
れば、輪郭情報で与えられる任意の図形の内部をスキャ
ンラインにより塗りつぶして描画する方法において、上
記多角形を構成するパスがスキャンラインと初めて交差
した時点で、そのパスのラインリストを作成し、この情
報リストをスキャンラインとの交差位置について昇順に
ソートしたソートラインリストを作成し、このソートラ
インリストを基に、指定された塗りつぶしルールに応じ
て描画区間となるパスを求め、それをペアで管理するフ
ィルリストを作成し、このソートラインリストが更新さ
れない間、このフィルリストを基に、順次描画区間を求
め、その際、前スキャンラインでの描画区間を参照し、
補正を行い、補正処理後の描画区間の描画を行い、パス
がスキャンラインと交差しなくなった時点、あるいは、
パス同士の交差が起こったと判断された時点で、ソート
ラインリスト及びフィルリストを更新し、さらに、これ
らの段階を繰り返すことから成る方法が提供される。
【0006】本発明の第2の特徴によれば、輪郭情報で
与えられる任意の図形の内部をスキャンラインにより塗
りつぶして描画する装置において、上記多角形を構成す
るパスがスキャンラインと初めて交差した時点で、その
パスのラインリストを作成する手段と、このラインリス
トをスキャンラインとの交差位置について昇順にソート
したソートラインリストを作成する手段と、このソート
ラインリストを基に、指定された塗りつぶしルールに応
じて描画区間となるパスを求め、それをペアで管理する
フィルリストを作成する手段と、このソートラインリス
トが更新されない間、このフィルリストを基に、順次描
画区間を求め、その際、前スキャンラインでの描画区間
を参照し、補正を行い、補正処理後の描画区間の描画を
行う手段と、パスがスキャンラインと交差しなくなった
時点、あるいは、パス同士の交差が起こったと判断され
た時点で、ソートラインリスト及びフィルリストを更新
する手段とから成る装置が提供される。
与えられる任意の図形の内部をスキャンラインにより塗
りつぶして描画する装置において、上記多角形を構成す
るパスがスキャンラインと初めて交差した時点で、その
パスのラインリストを作成する手段と、このラインリス
トをスキャンラインとの交差位置について昇順にソート
したソートラインリストを作成する手段と、このソート
ラインリストを基に、指定された塗りつぶしルールに応
じて描画区間となるパスを求め、それをペアで管理する
フィルリストを作成する手段と、このソートラインリス
トが更新されない間、このフィルリストを基に、順次描
画区間を求め、その際、前スキャンラインでの描画区間
を参照し、補正を行い、補正処理後の描画区間の描画を
行う手段と、パスがスキャンラインと交差しなくなった
時点、あるいは、パス同士の交差が起こったと判断され
た時点で、ソートラインリスト及びフィルリストを更新
する手段とから成る装置が提供される。
【0007】本発明によれば、各バスの情報を持たせた
ラインリストを保持し、そのラインリストをスキャンラ
インとの交差位置の昇順に管理するソートラインリスト
と、このソートラインリストの順に、指定された塗りつ
ぶしルールに応じて塗りつぶし区間となるパスを求め、
ペアで管理するフィルリストを保持し、このリストを基
に、各スキャンラインで、順次描画区間を求め、描画を
行うことを特徴とする。さらに、描画区間を決定する
際、端にパスとスキャンラインとの交点を求めていただ
けでは、パスの傾き(の絶対値)が微小な場合、連続し
て描画すべき領域が切れてしまうため、各ラインリスト
で前スキャンラインとの交差位置を保持させ、描画区間
決定時には、この前スキャンラインとの交差位置を参照
して補正を行うようにしたものである。
ラインリストを保持し、そのラインリストをスキャンラ
インとの交差位置の昇順に管理するソートラインリスト
と、このソートラインリストの順に、指定された塗りつ
ぶしルールに応じて塗りつぶし区間となるパスを求め、
ペアで管理するフィルリストを保持し、このリストを基
に、各スキャンラインで、順次描画区間を求め、描画を
行うことを特徴とする。さらに、描画区間を決定する
際、端にパスとスキャンラインとの交点を求めていただ
けでは、パスの傾き(の絶対値)が微小な場合、連続し
て描画すべき領域が切れてしまうため、各ラインリスト
で前スキャンラインとの交差位置を保持させ、描画区間
決定時には、この前スキャンラインとの交差位置を参照
して補正を行うようにしたものである。
【0008】図1は本発明の構成を明示するための全体
構成図である。図1において、任意の図形の輪郭情報は
図形記憶手段1に記憶されている。この図形を構成する
パスがスキャンラインと初めて交差したことは、交差検
出手段2により検出され、その検出信号を受けて制御手
段3が、ラインリスト作成手段4に、そのパスのライン
リストを作成させる。さらに、ソートラインリスト作成
手段5が、ラインリストをスキャンラインとの交差位置
について昇順にソートしたソートラインリストを作成す
る。このソートラインリストはソートラインリスト記憶
手段6により記憶される。作成されたソートラインリス
トを基に、フィルリスト作成手段7が描画区間となるパ
スを求めて、それをペアで管理するフィルリストを作成
する。作成されたフィルリストは、フィルリスト記憶手
段8により記憶される。描画区間決定手段9は、ソート
ラインリストが更新されない間、このフィルリスト記憶
手段8に記憶されたフィルリストを基に、順次描画区間
を求める。その描画区間は一旦描画区間記憶手段10に
記憶される。描画区間決定に際して、描画区間補正手段
11が、前のスキャンラインでの描画区間を参照し、補
正を行う。制御手段3は、前記各手段の動作のタイミン
グを制御する。特に、交差検出手段2からの出力信号を
受けて、パスがスキャンラインと交差しなくなった時
点、あるいは、パス同士の交差が起こったと判断された
時点で、ソートラインリスト及びフィルリストを更新す
るようソートラインリスト記憶手段6及びフィルリスト
記憶手段8の動作を制御する。
構成図である。図1において、任意の図形の輪郭情報は
図形記憶手段1に記憶されている。この図形を構成する
パスがスキャンラインと初めて交差したことは、交差検
出手段2により検出され、その検出信号を受けて制御手
段3が、ラインリスト作成手段4に、そのパスのライン
リストを作成させる。さらに、ソートラインリスト作成
手段5が、ラインリストをスキャンラインとの交差位置
について昇順にソートしたソートラインリストを作成す
る。このソートラインリストはソートラインリスト記憶
手段6により記憶される。作成されたソートラインリス
トを基に、フィルリスト作成手段7が描画区間となるパ
スを求めて、それをペアで管理するフィルリストを作成
する。作成されたフィルリストは、フィルリスト記憶手
段8により記憶される。描画区間決定手段9は、ソート
ラインリストが更新されない間、このフィルリスト記憶
手段8に記憶されたフィルリストを基に、順次描画区間
を求める。その描画区間は一旦描画区間記憶手段10に
記憶される。描画区間決定に際して、描画区間補正手段
11が、前のスキャンラインでの描画区間を参照し、補
正を行う。制御手段3は、前記各手段の動作のタイミン
グを制御する。特に、交差検出手段2からの出力信号を
受けて、パスがスキャンラインと交差しなくなった時
点、あるいは、パス同士の交差が起こったと判断された
時点で、ソートラインリスト及びフィルリストを更新す
るようソートラインリスト記憶手段6及びフィルリスト
記憶手段8の動作を制御する。
【0009】
【実施例】以下、本発明をレーザビームプリンタに応用
した場合を例に取り、詳細な説明を行う。図2は、その
レーザビームプリンタの概要を示すブロック図である。
このレーザビームプリンタは、画像供給装置21と、記
録部22と、これらを駆動する電源23と、オペレータ
が記録動作の指示を入力するパネル24とから構成され
ている。
した場合を例に取り、詳細な説明を行う。図2は、その
レーザビームプリンタの概要を示すブロック図である。
このレーザビームプリンタは、画像供給装置21と、記
録部22と、これらを駆動する電源23と、オペレータ
が記録動作の指示を入力するパネル24とから構成され
ている。
【0010】画像供給装置21には、ホストコンピュー
タ等から所定の画像を記録するための信号を受け入れる
ホストインタフェース(I/F)接続端子26とローカ
ルエリアネットワーク等の接続を行うLAN接続端子2
7とが設けられている。記録部22には、記録用紙29
上に画像信号に対応した画像の記録を行う装置で、画像
供給装置21から画像信号31と動作指令34とを受け
入れる一方、記録動作のための同期パルス32と状態信
号33とを、画像供給装置21に向けて出力するよう構
成されている。
タ等から所定の画像を記録するための信号を受け入れる
ホストインタフェース(I/F)接続端子26とローカ
ルエリアネットワーク等の接続を行うLAN接続端子2
7とが設けられている。記録部22には、記録用紙29
上に画像信号に対応した画像の記録を行う装置で、画像
供給装置21から画像信号31と動作指令34とを受け
入れる一方、記録動作のための同期パルス32と状態信
号33とを、画像供給装置21に向けて出力するよう構
成されている。
【0011】図3は、図2の記録部22の要部斜視図を
示したものである。ここで、レーザ発振器51から発射
されたレーザビーム52は、偏光子53とレーザビーム
変調器54と偏光子55を通過した後、ポリゴンミラー
56で反射してレンズ57を経て感光ドラム58の外周
面に達する。図2の画像供給装置21からの画像信号3
1(ビットストリーム)は、端子61からレーザビーム
変調器54に入力し、例えば電気光学効果により変調器
54中を通過するレーザビームの偏波面を画像信号に応
じて回転させる。
示したものである。ここで、レーザ発振器51から発射
されたレーザビーム52は、偏光子53とレーザビーム
変調器54と偏光子55を通過した後、ポリゴンミラー
56で反射してレンズ57を経て感光ドラム58の外周
面に達する。図2の画像供給装置21からの画像信号3
1(ビットストリーム)は、端子61からレーザビーム
変調器54に入力し、例えば電気光学効果により変調器
54中を通過するレーザビームの偏波面を画像信号に応
じて回転させる。
【0012】この、いわゆる電気的シャッタ作用によ
り、白黒2値の画像信号がレーザビームの光学的オン・
オフ信号に変換されて感光ドラム58の外周面に照射さ
れる。ポリゴンミラー56はモータ62により一定速度
で回転しており、このレーザビーム52を反射させた
後、矢印63の方向(この方向を主走査方向という)に
走査させる。すなわち、1ライン分の画像信号が光学的
ビット列に変換されて感光ドラム58の回転軸64と平
行する方向に照射される間、感光ドラム58が矢印65
の方向(この方向を副走査方向という)に回転する。こ
うして、記録すべき画像に対応する静電潜像が感光ドラ
ム58の外周面に形成される。この静電潜像は、感光ド
ラム58の矢印65の方向の回転につれて現像器66を
通過する。ここで、トナーがその静電潜像に応じて付着
する。図示しない記録紙搬送機構によって記録用紙29
が矢印方向68に送られてくると、転写器69の作用に
よって感光ドラム58の外周に付着したトナーが記録用
紙29に転写される。記録用紙29は、さらに矢印68
の方向に送られて定着などの処理をされ記録物が得られ
る。
り、白黒2値の画像信号がレーザビームの光学的オン・
オフ信号に変換されて感光ドラム58の外周面に照射さ
れる。ポリゴンミラー56はモータ62により一定速度
で回転しており、このレーザビーム52を反射させた
後、矢印63の方向(この方向を主走査方向という)に
走査させる。すなわち、1ライン分の画像信号が光学的
ビット列に変換されて感光ドラム58の回転軸64と平
行する方向に照射される間、感光ドラム58が矢印65
の方向(この方向を副走査方向という)に回転する。こ
うして、記録すべき画像に対応する静電潜像が感光ドラ
ム58の外周面に形成される。この静電潜像は、感光ド
ラム58の矢印65の方向の回転につれて現像器66を
通過する。ここで、トナーがその静電潜像に応じて付着
する。図示しない記録紙搬送機構によって記録用紙29
が矢印方向68に送られてくると、転写器69の作用に
よって感光ドラム58の外周に付着したトナーが記録用
紙29に転写される。記録用紙29は、さらに矢印68
の方向に送られて定着などの処理をされ記録物が得られ
る。
【0013】なお、レーザビーム52は、矢印63の方
向に感光ドラム58の両端を越える幅で走査されてい
る。そこで、走査開始センサ71と走査終了センサ72
のレーザビーム通過を検出するパルスによって画像信号
31の転送タイミングが図られる。図2の画像供給装置
21の具体的な構成を図4にブロック図を用いて示し
た。この回路は、CPUバス36に接続されたマイクロ
プロセッサ(CPU)37と各種のインタフェース(I
/F)38〜40と、メモリ41〜46と、制御ブロッ
ク47〜48とから構成されている。
向に感光ドラム58の両端を越える幅で走査されてい
る。そこで、走査開始センサ71と走査終了センサ72
のレーザビーム通過を検出するパルスによって画像信号
31の転送タイミングが図られる。図2の画像供給装置
21の具体的な構成を図4にブロック図を用いて示し
た。この回路は、CPUバス36に接続されたマイクロ
プロセッサ(CPU)37と各種のインタフェース(I
/F)38〜40と、メモリ41〜46と、制御ブロッ
ク47〜48とから構成されている。
【0014】インタフェースには、ホストI/F38
と、パネルI/F39と、記録部I/F40とがある。
ホストI/F38は、図示しないホストコンピュータか
ら入力する印字データを例えばRS232Cで受信する回路で
ある。また、パネルI/F39は、オペレータの操作す
るパネル24(図2)から入力する指示信号を中継する
回路である。そして、記録部I/F40は画像供給装置
21と記録部22との間で授受が行われる図2で説明し
た信号を中継する回路である。
と、パネルI/F39と、記録部I/F40とがある。
ホストI/F38は、図示しないホストコンピュータか
ら入力する印字データを例えばRS232Cで受信する回路で
ある。また、パネルI/F39は、オペレータの操作す
るパネル24(図2)から入力する指示信号を中継する
回路である。そして、記録部I/F40は画像供給装置
21と記録部22との間で授受が行われる図2で説明し
た信号を中継する回路である。
【0015】メモリには、文字パターンメモリ44、4
6とビットマップメモリ41とランダムアクセスメモリ
(RAM)42と、プログラムメモリ43、45とがあ
る。文字パターンメモリ44、46は、いわゆるフォン
トメモリと呼ばれるメモリで、ドットマトリクスで構成
される文字パターンを格納するメモリである。ビットマ
ップメモリ41は、記録部22(図2)において記録用
紙29上に記録する画像を、例えば1頁分、ビットマッ
プ形式で格納する回路である。ランダムアクセスメモリ
(RAM)42は、マイクロプロセッサ37の動作のた
めの種々のデータや、制御部I/F38から入力された
印字データを格納する等のために使用される回路であ
る。またプログラムメモリ43、45はマイクロプロセ
ッサ37を動作させるためのプログラムを格納する回路
である。
6とビットマップメモリ41とランダムアクセスメモリ
(RAM)42と、プログラムメモリ43、45とがあ
る。文字パターンメモリ44、46は、いわゆるフォン
トメモリと呼ばれるメモリで、ドットマトリクスで構成
される文字パターンを格納するメモリである。ビットマ
ップメモリ41は、記録部22(図2)において記録用
紙29上に記録する画像を、例えば1頁分、ビットマッ
プ形式で格納する回路である。ランダムアクセスメモリ
(RAM)42は、マイクロプロセッサ37の動作のた
めの種々のデータや、制御部I/F38から入力された
印字データを格納する等のために使用される回路であ
る。またプログラムメモリ43、45はマイクロプロセ
ッサ37を動作させるためのプログラムを格納する回路
である。
【0016】これらのメモリのうち、プログラムメモリ
45及び文字パターンメモリ46は着脱可能なメモリで
これらを必要に応じて交換することにより、様々な種類
のプログラム及び文字パターンを使用することが可能と
なる。制御ブロックとしては、ビットマップコントロー
ラ47、PTC48がある。ビットマップコントローラ
47はビットマップメモリ41へのアクセスタイミング
やアドレスを制御する回路であり、ビットマップメモリ
41に形成された画像データを記録部I/F40へ転送
するための制御を行う。PTCは既知のプログラマブル
・タイマ・カウンタで、時間等の計測及びタイミングの
発生等を行う回路である。
45及び文字パターンメモリ46は着脱可能なメモリで
これらを必要に応じて交換することにより、様々な種類
のプログラム及び文字パターンを使用することが可能と
なる。制御ブロックとしては、ビットマップコントロー
ラ47、PTC48がある。ビットマップコントローラ
47はビットマップメモリ41へのアクセスタイミング
やアドレスを制御する回路であり、ビットマップメモリ
41に形成された画像データを記録部I/F40へ転送
するための制御を行う。PTCは既知のプログラマブル
・タイマ・カウンタで、時間等の計測及びタイミングの
発生等を行う回路である。
【0017】この実施例では、図1に示した本発明の図
形記憶手段1はビットマップメモリ41で実現される。
また、その他の手段のうち記憶機能は、RAM42で実
現され、その他の機能は、CPU37で実現される。以
下の説明は、図2の画像供給装置21、特にRAM4
2、CPU37で実現される機能である。まず、リスト
等の名前の定義を、図16を用いて説明する。 (1) ラインリスト スキャンラインy1では、パスa1、a3が、スキャンライン
y2では、パスb1、b3がスキャンラインと初めて交差す
る。このように、パスがスキャンラインと初めて交差す
るときに、パスの各々に対して、情報リストを作成す
る。これをラインリストと呼ぶ。 (2) ソートラインリスト スキャンラインy2で、パスb1、b3のラインリストが加わ
り、全部でパスa1、a3、b1、b3のラインリストが存在す
る。これらリストの交差位置について、水平方向にソー
トしたもの〈a1、a3、b1、b3〉をソートラインリストと
呼ぶ。この順番は、スキャンラインy3まで保たれる。 (3) フィルリスト スキャンラインy2の直前までは、ソートラインリスト
は、〈a1、a3〉で、塗りつぶし区間は、パスa1、a3の間
なので、フィルリストは、[a1、a3]である。そして、
スキャンラインy2で、ソートラインリストは、〈a1、a
3、b1、b3〉に更新される。そのため、フィルリストも
[a1、a3]、[b1、b3]に更新される。
形記憶手段1はビットマップメモリ41で実現される。
また、その他の手段のうち記憶機能は、RAM42で実
現され、その他の機能は、CPU37で実現される。以
下の説明は、図2の画像供給装置21、特にRAM4
2、CPU37で実現される機能である。まず、リスト
等の名前の定義を、図16を用いて説明する。 (1) ラインリスト スキャンラインy1では、パスa1、a3が、スキャンライン
y2では、パスb1、b3がスキャンラインと初めて交差す
る。このように、パスがスキャンラインと初めて交差す
るときに、パスの各々に対して、情報リストを作成す
る。これをラインリストと呼ぶ。 (2) ソートラインリスト スキャンラインy2で、パスb1、b3のラインリストが加わ
り、全部でパスa1、a3、b1、b3のラインリストが存在す
る。これらリストの交差位置について、水平方向にソー
トしたもの〈a1、a3、b1、b3〉をソートラインリストと
呼ぶ。この順番は、スキャンラインy3まで保たれる。 (3) フィルリスト スキャンラインy2の直前までは、ソートラインリスト
は、〈a1、a3〉で、塗りつぶし区間は、パスa1、a3の間
なので、フィルリストは、[a1、a3]である。そして、
スキャンラインy2で、ソートラインリストは、〈a1、a
3、b1、b3〉に更新される。そのため、フィルリストも
[a1、a3]、[b1、b3]に更新される。
【0018】これらのリストは、マイクロプロセッサ3
7により作成され、図4RAM42中に記憶される。描
画処理の全体のフローは、図5に示してある。すなわ
ち、まず図形の登録を行う。これは、ユーザが図6で示
すような直線や曲線の輪郭情報を何らかの方法で登録す
ることである。次に直線近似を行う。直線近似とは、曲
線で定義されたパスを複数の連続した直線に近似するこ
とである。直線近似後の図形を図7に示す。さらに、こ
の図形に基づいて頂点リストを作成する。次に、ソート
ポイントリストを作成する。ここでは、頂点リストの各
頂点に対して、前後の頂点との大小関係により分類を行
い、残った頂点のy座標についてソーティングをし、そ
れをソートポイントリストに登録する。分類は、頂点が
次の3種類の少なくともどれか1つを満足するかを基準
にして行う。
7により作成され、図4RAM42中に記憶される。描
画処理の全体のフローは、図5に示してある。すなわ
ち、まず図形の登録を行う。これは、ユーザが図6で示
すような直線や曲線の輪郭情報を何らかの方法で登録す
ることである。次に直線近似を行う。直線近似とは、曲
線で定義されたパスを複数の連続した直線に近似するこ
とである。直線近似後の図形を図7に示す。さらに、こ
の図形に基づいて頂点リストを作成する。次に、ソート
ポイントリストを作成する。ここでは、頂点リストの各
頂点に対して、前後の頂点との大小関係により分類を行
い、残った頂点のy座標についてソーティングをし、そ
れをソートポイントリストに登録する。分類は、頂点が
次の3種類の少なくともどれか1つを満足するかを基準
にして行う。
【0019】 上向きパスの上端点 下向きパスの上端点 水平パスの開始点 なお、これらのパスの例を図8の太い矢印で示す。ま
た、例として図9に示すようなパス1、2の頂点リスト
及びソートポイントリストを作成すると、図10のよう
になる。なお、頂点A4は水平パスの中間点のため、ま
た、頂点A2、A6、B2は極小点のため、ソートポイントリ
ストには登録しない。ここでの頂点リスト、ソートポイ
ントリストは、実際のデータ構造とは異なる。以上まと
めると、1つの頂点に対して可能な分類は、図11に示
す5種類である。図11において、考慮するパスは太い
矢印で示されている。
た、例として図9に示すようなパス1、2の頂点リスト
及びソートポイントリストを作成すると、図10のよう
になる。なお、頂点A4は水平パスの中間点のため、ま
た、頂点A2、A6、B2は極小点のため、ソートポイントリ
ストには登録しない。ここでの頂点リスト、ソートポイ
ントリストは、実際のデータ構造とは異なる。以上まと
めると、1つの頂点に対して可能な分類は、図11に示
す5種類である。図11において、考慮するパスは太い
矢印で示されている。
【0020】次に描画処理を行う。描画処理のフローを
図12、図13及び図14に示す。これを簡単に示した
ものが図15である。図15の中で、本発明の中心とな
る部分は、(2) である。ここでは、a)描画区間の決
定、及び、ページバッファへの描画、b)各ラインリス
トに対して、スキャンラインとの交差位置の更新を行っ
ている。
図12、図13及び図14に示す。これを簡単に示した
ものが図15である。図15の中で、本発明の中心とな
る部分は、(2) である。ここでは、a)描画区間の決
定、及び、ページバッファへの描画、b)各ラインリス
トに対して、スキャンラインとの交差位置の更新を行っ
ている。
【0021】a)については、フィルリストによって描
画すべき区間となるパスが、ペアで管理されているた
め、ページバッファへはその順番で、2つのラインリス
トのスキャンラインとの交差位置を参照して描画区間を
決定する。その際、2つのラインリストの前スキャンラ
インとの交差位置を参照して描画区間の補正を行う。こ
の補正方法を図19に示す。この補正基準は、そのパス
のスキャンライン(x)方向の移動量の正負と、対にな
るパスの前スキャンラインとの交差位置のみのため、処
理速度は非常に速い。描画に対しては、図4のビットマ
ップメモリ41に対して行われる。
画すべき区間となるパスが、ペアで管理されているた
め、ページバッファへはその順番で、2つのラインリス
トのスキャンラインとの交差位置を参照して描画区間を
決定する。その際、2つのラインリストの前スキャンラ
インとの交差位置を参照して描画区間の補正を行う。こ
の補正方法を図19に示す。この補正基準は、そのパス
のスキャンライン(x)方向の移動量の正負と、対にな
るパスの前スキャンラインとの交差位置のみのため、処
理速度は非常に速い。描画に対しては、図4のビットマ
ップメモリ41に対して行われる。
【0022】b)については、ソートラインリストの順
番で、前スキャンラインとの交差位置を現スキャンライ
ンとの交差位置の値に置き換え、その後新しく、現スキ
ャンラインとの交差位置を、次(1つ下)のスキャンラ
インに対しての交差位置に更新する。これを行うだけ
で、次のスキャンラインに対しての描画区間補正の準備
ができるため、非常に能率的である。
番で、前スキャンラインとの交差位置を現スキャンライ
ンとの交差位置の値に置き換え、その後新しく、現スキ
ャンラインとの交差位置を、次(1つ下)のスキャンラ
インに対しての交差位置に更新する。これを行うだけ
で、次のスキャンラインに対しての描画区間補正の準備
ができるため、非常に能率的である。
【0023】全体の描画処理を、図16、図17及び図
18を参照しながら説明する。図16には、ラインa1、
a2、a3と頂点A1、A2、A3とで構成されるパス1と、ライ
ンb1、b2、b3と頂点B1、B2、B3とで構成されるパス2が
示されている。また、y1、y2、y3、y4、y5、y6、y7、y8
はスキャンラインである。この図において用いられる塗
りつぶしのルールは、even-oddである。スキャンライン
の順で描画処理を示すと、図17及び図18のようにな
る。
18を参照しながら説明する。図16には、ラインa1、
a2、a3と頂点A1、A2、A3とで構成されるパス1と、ライ
ンb1、b2、b3と頂点B1、B2、B3とで構成されるパス2が
示されている。また、y1、y2、y3、y4、y5、y6、y7、y8
はスキャンラインである。この図において用いられる塗
りつぶしのルールは、even-oddである。スキャンライン
の順で描画処理を示すと、図17及び図18のようにな
る。
【0024】次に補正処理について、図19、図20、
図21及び図22を参照しながら説明する。図19に示
したように、フィルリストによりペアで順番に管理され
ている2つのラインリストのうち、描画すなわち塗りつ
ぶしの左端点となるラインリストを(L)、右端点とな
るラインリストを(R)とする。また、ラインリスト
(L)の、現スキャンラインとの交差位置をx1とし、ラ
インリスト(R)の、現スキャンラインとの交差位置を
x2とする。そして、補正処理後の描画区間の左端点をpx
1、右端点をpx2とすると、次のようになる。 (1) px1について ラインリスト(L)のx方向移動量>0かつ、x1>
ラインリスト(R)と前スキャンラインとの交差位置の
場合 px1=ラインリスト(L)と前スキャンラインとの交差
位置+1その他の場合 px1=x1 (2) px2について ラインリスト(R)のx方向移動量<0かつ、x2>
ラインリスト(L)と前スキャンラインとの交差位置の
場合 px2=ラインリスト(R)と前スキャンラインとの交差
位置−1 その他の場合 px2=x2 描画区間として図20に示す2つのラインリストc1、c2
からなる図形を考えると、上記ラインリスト(L、
(R)はラインリストc1、c2になる。そして、図22に
示すように、ラインリストc1のx方向移動量>0、ライ
ンリストc2のx方向移動量<0となる。したがってライ
ンリストc1、c2とスキャンラインy1、y2、y3、y4との交
差位置(現交差位置)は、図22に示すように、1、
3、5、7及び1、5、8、7となる。そしてこれらラ
インリストと前スキャンラインとの交差位置(前交差位
置)は、矢印で示すようにそれぞれ現交差位置を一段だ
けずらした値となる。
図21及び図22を参照しながら説明する。図19に示
したように、フィルリストによりペアで順番に管理され
ている2つのラインリストのうち、描画すなわち塗りつ
ぶしの左端点となるラインリストを(L)、右端点とな
るラインリストを(R)とする。また、ラインリスト
(L)の、現スキャンラインとの交差位置をx1とし、ラ
インリスト(R)の、現スキャンラインとの交差位置を
x2とする。そして、補正処理後の描画区間の左端点をpx
1、右端点をpx2とすると、次のようになる。 (1) px1について ラインリスト(L)のx方向移動量>0かつ、x1>
ラインリスト(R)と前スキャンラインとの交差位置の
場合 px1=ラインリスト(L)と前スキャンラインとの交差
位置+1その他の場合 px1=x1 (2) px2について ラインリスト(R)のx方向移動量<0かつ、x2>
ラインリスト(L)と前スキャンラインとの交差位置の
場合 px2=ラインリスト(R)と前スキャンラインとの交差
位置−1 その他の場合 px2=x2 描画区間として図20に示す2つのラインリストc1、c2
からなる図形を考えると、上記ラインリスト(L、
(R)はラインリストc1、c2になる。そして、図22に
示すように、ラインリストc1のx方向移動量>0、ライ
ンリストc2のx方向移動量<0となる。したがってライ
ンリストc1、c2とスキャンラインy1、y2、y3、y4との交
差位置(現交差位置)は、図22に示すように、1、
3、5、7及び1、5、8、7となる。そしてこれらラ
インリストと前スキャンラインとの交差位置(前交差位
置)は、矢印で示すようにそれぞれ現交差位置を一段だ
けずらした値となる。
【0025】今、スキャンラインy2においては、ライン
リストc1のx方向移動量>0、かつ現交差位置(=3)
>ラインリストc1の前交差位置(=1)なので、補正を
行い、ラインリストc1の現スキャンラインy2との交差位
置は、ラインリストc1と前スキャンラインy1との交差位
置(=1)+1、すなわち2とする。したがって、図2
1に示すようなスキャンラインy2上の位置2を塗りつぶ
す。
リストc1のx方向移動量>0、かつ現交差位置(=3)
>ラインリストc1の前交差位置(=1)なので、補正を
行い、ラインリストc1の現スキャンラインy2との交差位
置は、ラインリストc1と前スキャンラインy1との交差位
置(=1)+1、すなわち2とする。したがって、図2
1に示すようなスキャンラインy2上の位置2を塗りつぶ
す。
【0026】
【発明の効果】本発明では、各パスの情報を持たせたラ
インリストを保持し、そのラインリストをスキャンライ
ンとの交差位置の昇順に管理するソートラインリスト
と、このソートラインリストの順に、指定された塗りつ
ぶしルールに応じて塗りつぶし区間となるパスを求め、
ペアで管理するフィルリストを保持し、このリストを基
に、各スキャンラインで、順次描画区間を求め、描画を
行うものであり、さらに、各ラインリストで、前スキャ
ンラインとの交差位置を保持させ、描画区間決定時に
は、この前スキャンラインとの交差位置を参照してその
補正を行っている。したがって、描画処理速度を劣化さ
せることがなく、また、パスの傾き(の絶対値)が微小
な場合でも、連続して描画すべき領域が切れてしまうこ
となく、確実な描画が行われる。
インリストを保持し、そのラインリストをスキャンライ
ンとの交差位置の昇順に管理するソートラインリスト
と、このソートラインリストの順に、指定された塗りつ
ぶしルールに応じて塗りつぶし区間となるパスを求め、
ペアで管理するフィルリストを保持し、このリストを基
に、各スキャンラインで、順次描画区間を求め、描画を
行うものであり、さらに、各ラインリストで、前スキャ
ンラインとの交差位置を保持させ、描画区間決定時に
は、この前スキャンラインとの交差位置を参照してその
補正を行っている。したがって、描画処理速度を劣化さ
せることがなく、また、パスの傾き(の絶対値)が微小
な場合でも、連続して描画すべき領域が切れてしまうこ
となく、確実な描画が行われる。
【図1】本発明の構成を明示するための全体構成図であ
る。
る。
【図2】レーザビームプリンタの概要を示すブロック図
である。
である。
【図3】レーザビームプリンタの記録部の要部斜視図で
ある。
ある。
【図4】レーザビームプリンタの画像供給装置の詳細な
ブロック図である。
ブロック図である。
【図5】本発明による画像処理の全体のフローを示すフ
ローチャートである。
ローチャートである。
【図6】登録された図形(パス1、2)とその頂点座標
を示す図である。
を示す図である。
【図7】図6の登録図形の直線近似後の図形を示す図で
ある。
ある。
【図8】パスと頂点との関係により分類した頂点の図で
ある。
ある。
【図9】各種の頂点で構成される2つのパスの図であ
る。
る。
【図10】(A)、(B)はそれぞれ図9のパスの頂点
リスト及びソートポイントリストを示す図である。
リスト及びソートポイントリストを示す図である。
【図11】5つに分類される頂点を示す図である。
【図12】描画処理の全体を示すフローチャートであ
る。
る。
【図13】描画処理の全体を示すフローチャートであ
る。
る。
【図14】描画処理の全体を示すフローチャートであ
る。
る。
【図15】図12、図13、図14の処理手順を簡単に
表現したフローチャートである。
表現したフローチャートである。
【図16】描画処理を行うべき2つのパスとそのパスと
交差する複数のスキャンラインを示す図である。
交差する複数のスキャンラインを示す図である。
【図17】各スキャンラインについての描画処理及びパ
ス処理を表により示した図の一部である。
ス処理を表により示した図の一部である。
【図18】各スキャンラインについての描画処理及びパ
ス処理を表により示した図の一部であって、図17の続
きの図である。
ス処理を表により示した図の一部であって、図17の続
きの図である。
【図19】本発明による描画区間の補正処理を示すフロ
ーチャートである。
ーチャートである。
【図20】補正前の描画区間を示す図である。
【図21】補正後の描画区間を示す図である。
【図22】2つのラインリストの現スキャンラインとの
交差位置及び前スキャンラインとの交差位置を表にして
示した図である。
交差位置及び前スキャンラインとの交差位置を表にして
示した図である。
21 画像供給装置 22 記録部 23 電源 24 パネル 29 記録用紙 51 レーザ発振器 52 レーザビーム 53、55 偏光子 54 レーザビーム変調器 56 ポリゴンミラー 57 レンズ 58 感光ドラム 62 モータ 71 走査開始センサ 72 走査終了センサ
Claims (2)
- 【請求項1】 輪郭情報で与えられる任意の図形の内部
をスキャンラインにより塗りつぶして描画する方法にお
いて、パスがスキャンラインと初めて交差した時点で、
そのパスのラインリストを作成し、このラインリストを
スキャンラインとの交差位置について昇順にソートした
ソートラインリストを作成し、このソートラインリスト
を基に、指定された塗りつぶしルールに応じて描画区間
となるパスを求め、それをペアで管理するフィルリスト
を作成し、このソートラインリストが更新されない間、
このフィルリストを基に、順次描画区間を求め、その
際、前スキャンラインでの描画区間を参照し、補正を行
い、補正処理後の描画区間の描画を行い、パスがスキャ
ンラインと交差しなくなった時点、あるいは、パス同士
の交差が起こったと判断された時点で、ソートラインリ
スト及びフィルリストを更新し、さらに、これらの段階
を繰り返すことから成る多角形の描画方法。 - 【請求項2】 輪郭情報で与えられる任意の図形の内部
をスキャンラインにより塗りつぶして描画する装置にお
いて、上記多角形を構成するパスがスキャンラインと初
めて交差した時点で、そのパスのラインリストを作成す
る手段と、このラインリストをスキャンラインとの交差
位置について昇順にソートしたソートラインリストを作
成する手段と、このソートラインリストを基に、指定さ
れた塗りつぶしルールに応じて描画区間となるパスを求
め、それをペアで管理するフィルリストを作成する手段
と、このソートラインリストが更新されない間、このフ
ィルリストを基に、順次描画区間を求め、その際、前ス
キャンラインでの描画区間を参照し、補正を行い、補正
処理後の描画区間の描画を行う手段と、パスがスキャン
ラインと交差しなくなった時点、あるいは、パス同士の
交差が起こったと判断された時点で、ソートラインリス
ト及びフィルリストを更新する手段とから成る多角形の
描画装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP103891A JP2734206B2 (ja) | 1991-01-09 | 1991-01-09 | 多角形の描画方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP103891A JP2734206B2 (ja) | 1991-01-09 | 1991-01-09 | 多角形の描画方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04250581A JPH04250581A (ja) | 1992-09-07 |
JP2734206B2 true JP2734206B2 (ja) | 1998-03-30 |
Family
ID=11490393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP103891A Expired - Fee Related JP2734206B2 (ja) | 1991-01-09 | 1991-01-09 | 多角形の描画方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2734206B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4621617B2 (ja) * | 2006-03-28 | 2011-01-26 | 株式会社東芝 | 図形描画装置、図形描画方法、及びプログラム |
-
1991
- 1991-01-09 JP JP103891A patent/JP2734206B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04250581A (ja) | 1992-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03154096A (ja) | パターン発生方法及びパターン発生装置 | |
US20050237574A1 (en) | Image processing apparatus and method | |
JP2734206B2 (ja) | 多角形の描画方法及び装置 | |
JP3728183B2 (ja) | 印刷制御装置および描画制御装置およびデータ処理方法および記憶媒体 | |
JP2775723B2 (ja) | 多角形の描画方法及び装置 | |
JPH04250582A (ja) | 多角形の描画方法及び装置 | |
JP4103164B2 (ja) | 印刷処理装置 | |
JP2785318B2 (ja) | 画像印字装置 | |
JP2884407B2 (ja) | 画像処理装置 | |
JPH0390371A (ja) | 出力制御装置 | |
JPS6364776A (ja) | 画像編集装置 | |
JPH02277656A (ja) | 画像処理装置 | |
JPH02278419A (ja) | 画像処理装置 | |
JPH02277654A (ja) | 画像処理装置 | |
JPH02277661A (ja) | 画像処理方式 | |
JPH02277655A (ja) | 画像処理装置 | |
JPH02277676A (ja) | 画像印字装置 | |
JPH02277652A (ja) | ページプリンタ | |
JPS6367682A (ja) | 画像処理方法 | |
JPS6341987A (ja) | 画像編集装置 | |
JPS6370389A (ja) | 画像処理方法 | |
JPH03297669A (ja) | 画像記録装置 | |
JPS6356686A (ja) | 画像処理方法 | |
JPH0695648A (ja) | アウトラインフォントのビットマップ展開方式 | |
JPS6367867A (ja) | 画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |