JPH0652329A - 直線描画及び多角形塗潰し装置 - Google Patents

直線描画及び多角形塗潰し装置

Info

Publication number
JPH0652329A
JPH0652329A JP4201458A JP20145892A JPH0652329A JP H0652329 A JPH0652329 A JP H0652329A JP 4201458 A JP4201458 A JP 4201458A JP 20145892 A JP20145892 A JP 20145892A JP H0652329 A JPH0652329 A JP H0652329A
Authority
JP
Japan
Prior art keywords
straight line
side data
management table
edge
polygon
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
JP4201458A
Other languages
English (en)
Inventor
Hiroteru Tsuchiya
博照 土屋
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.)
Toshiba Tec Corp
Original Assignee
Tokyo Electric Co 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 Tokyo Electric Co Ltd filed Critical Tokyo Electric Co Ltd
Priority to JP4201458A priority Critical patent/JPH0652329A/ja
Publication of JPH0652329A publication Critical patent/JPH0652329A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】直線の描画或いは多角形の塗潰しを行うときの
処理の高速化を図る。 【構成】直線描画の辺データ管理を示すステータスを辺
データ管理テーブルにセットし、与えられた座標列から
二組の座標を取出し描画に必要な情報を求め、辺データ
に始点のX座標、終点のX、Y座標、描画に必要な情報
をセットし、バケットにその辺データのアドレスをセッ
トする。そして一本目の直線であれば辺データのアドレ
スを辺データ管理テーブルにセットし、一本目でなけれ
ば辺データのアドレスを前の辺データの順序リンクポイ
ンタにセットする。座標組が最後の直線でなければ同様
の処理を繰返し、また最後の直線であれば辺データの順
序リンクポインタに一本目の直線の辺データポインタを
セットする。最後にリンクしている辺データリストのポ
インタとY座標、辺データへのポインタの組数を辺デー
タ管理テーブルにセットする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスプレイやプリン
タに直線を描画したり、多角形塗潰しを行う装置に関す
る。
【0002】
【従来の技術】従来、直線の描画装置としては特開平3
−144867号公報のものが知られており、また多角
形塗潰し装置としては特開平1−166181号公報の
ものが知られている。
【0003】前者のものは、ドット発生点のマトリック
スの一辺に平行なスキャンラインを、そのスキャンライ
ンに垂直な方向に順次シフトさせて直線パターンを形成
し、その際、形成すべき理想直線のスキャンラインに対
する傾きに基づいて、1つのスキャンライン上に発生さ
せる基本のドット数を求め、発生させたドットの位置と
理想直線との間の誤差をスキャンラインのシフト毎に累
積し、その累積結果から、次のスキャンライン上に発生
させるべきドットの数nがNとN+1とのいずれである
か、又はNとN−1とのいずれであるかを判定し、この
判定結果に応じた数のドットを、所定のワード幅に対応
して設けられたバッファレジスタに発生させ、このバッ
ファレジスタの内容を、ドット発生点のマトリックスに
対応して設けられたビットマップメモリに転送して直線
を描画するものである。
【0004】また後者のものは、ベクトル表現された多
角形の塗潰し処理を、各ベクトルがベクトル基端のY座
標と対応して該基端のX座標昇降順で連結登録される手
段と、Y軸方向へ歩進移動するX軸と平行なスキャンラ
インのベクトル基端到達をベクトル基端の登録Y座標の
利用により検知する手段と、該検知が行われる毎に検知
基端のベクトルに関する登録内容を読出して登録内容連
結順で蓄積する手段と、次の歩進位置でスキャンライン
と交差しない多角形構成辺の蓄積内容を削除する手段
と、次歩進位置のスキャンラインと多角形構成辺とが交
差する点のX座標にベクトル基端のX座標を更新する手
段と、更新済みの各X座標を大小比較して登録内容連結
順で登録内容が蓄積されているか否かを判断する手段
と、登録内容連結順で蓄積されていない旨の判断が行わ
れたときのみ蓄積内容を該連結順でソートする手段と、
前回のスキャンライン歩進位置で更新されたX座標間に
登録内容連結順方向へ塗潰し画素を配列する手段とで行
うものである。
【0005】
【発明が解決しようとする課題】このような従来装置で
は、与えられた座標列から直線を描画する処理、或いは
座標列が構成する多角形の塗潰しの処理を行い、その後
同じ座標を与えて直線を描画する処理、或いは座標列が
構成する多角形の塗潰し処理を行う場合、同じ座標列で
あるにもかかわらず、処理のたびに同じ直線の情報を求
めるため、計算の重複が行われ処理の高速化を図ること
ができなかった。
【0006】そこで本発明は、直線の描画処理或いは多
角形の塗潰しに利用した情報を保存し、その保存した情
報の座標列と同一の座標列が与えられたとき保存情報を
利用して直線の描画処理或いは多角形の塗潰しを行うこ
とにより処理の高速化を図る直線描画及び多角形塗潰し
装置を提供しようとするものである。
【0007】
【課題を解決するための手段】本発明は、座標列が与え
られて行われる直線の描画処理の際に作成した直線の情
報又は直線が構成する多角形を塗潰す処理の際に作成し
た直線の情報を持つ辺データを、順序リンクポインタで
直線が発生する順番にリンクさせる手段と、与えられた
座標列が発生する直線の一本目の辺データへのポイン
タ、Y座標値、このY座標値にリンクする辺データへの
ポインタ及びその組数、管理する辺が直線の描画の辺デ
ータか多角形を塗潰す処理で多角形を台形分割して得ら
れた辺データかを示すステータスを管理する辺データ管
理テーブルと、この辺データ管理テーブルが管理する情
報を処理に応じて段階的に作成し変更する管理情報変更
手段を設け、辺データ管理テーブルの管理情報を利用し
て直線描画及び多角形塗潰しの処理を行うものである。
【0008】
【作用】このような構成の本発明においては、座標列が
与えられて直線の描画の処理、或いは直線が構成する多
角形を塗潰す処理の際作成した直線の情報を持つ辺デー
タを、順序リンクポインタにより直線が発生する順番に
リンクさせる。また与えられた座標列が発生する直線の
一本目の辺データへのポインタ、Y座標値とそのY座標
値からリンクする辺データへのポインタ、それらの組数
をそれぞれ辺データ管理テーブルで管理するとともに辺
データ管理テーブルが管理する辺が直線の描画の辺デー
タか多角形を塗潰す処理で多角形を台形分割して得られ
た辺データかを示すステータスも辺データ管理テーブル
で管理する。
【0009】そして同じ座標列が与えられ再び同じ直線
の描画或いは多角形の塗潰しが行われるときには辺デー
タ管理テーブルが管理する情報を利用して直線描画及び
多角形塗潰しの処理を行う。また辺データ管理テーブル
が管理する情報を処理に応じて段階的に作成し変更す
る。すなわち最初に直線描画の処理をした場合は、直線
の辺データを作成して管理しておき、後の直線描画の処
理、或いは多角形の塗潰しに必要な台形の辺データ作成
に利用する。最初に多角形を塗潰した場合は直線の辺デ
ータを作成し、多角形の塗潰しに必要な台形の辺データ
作成処理を順次行い、後の直線描画の処理、或いは多角
形の塗潰しに利用する。
【0010】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
【0011】図1はブロック図で、1は座標入力部、2
は辺データ管理テーブル作成部、3は交差処理部、4は
直線描画部、5は多角形塗潰し部、6は辺データ分割
部、7はフレームメモリ、8はワークメモリである。こ
れらはバスライン9を介して接続されている。前記辺デ
ータ管理テーブル作成部2、交差処理部3、直線描画部
4、多角形塗潰し部5、辺データ分割部6はCPU(中
央処理装置)及びROM(リード・オンリー・メモリ)
により構成され、フレームメモリ7及びワークメモリ8
はRAM(ランダム・アクセス・メモリ)により構成さ
れている。
【0012】前記フレームメモリ7には図5の(a) に示
す構成の辺データ管理テーブル10や図8に示すアクテ
ィブ辺テーブル13を形成するとともに図5の(b) に示
す構成の辺データ11や図6に示す構成のバケット12
等を格納するようになっている。また前記ワークメモリ
8はデータ作成時等におけるデータ処理に使用されるよ
うになっている。
【0013】図1に示すブロックは図2に示す流れ図に
基づく処理を行うようになっている。先ずS1 にて辺デ
ータ管理テーブル10の状態を示すステータスn1 にnu
llをセットしておく。この状態で座標入力部1により座
標列が与えられると、S2 にて前記辺データ管理テーブ
ル作成部2は辺データ管理テーブル10がすでに作成さ
れているか否かをチェックし、辺データ管理テーブル1
0が作成されていなければ、S3 にて直線描画の辺デー
タを作成し辺データ管理テーブル10に登録する。すな
わち辺データ管理テーブル10の作成処理を行う。そし
てS4 にて直線を描画する処理か否かをチェックし、直
線描画の処理であればS5 にて前記直線描画部4は辺デ
ータ管理テーブル10から直線の情報を得て描画する。
【0014】また直線描画の辺データ管理テーブル10
がすでに作成され、直線描画の処理であれば前記直線描
画部4は直ちにS5 にて辺データ管理テーブル10から
直線の情報を得て描画する。
【0015】また多角形の塗潰し処理であればS6 にて
前記多角形塗潰し部5は台形辺の辺データ管理テーブル
10がすでに作成されているか否かをチェックし、台形
辺の辺データ管理テーブル10が作成されていなければ
S7 にて台形の辺データを作成し、辺データ管理テーブ
ル10に登録する。そしてS8 にて台形辺の辺データ管
理テーブルを用いて多角形を塗潰す。
【0016】また台形辺の辺データ管理テーブル10が
すでに作成されていれば前記多角形塗潰し部5は直ちに
S8 にて台形辺の辺データ管理テーブルを用いて多角形
を塗潰す。
【0017】図2におけるS3 の辺データ管理テーブル
の作成処理は図3に基づいて行われるようになってい
る。すなわちS11にて直線描画の辺データを管理するこ
とを示すステータス「1」を辺データ管理テーブル10
のn1 にセットする。これにより辺データ管理テーブル
10が直線の辺データを管理していることが示される。
【0018】次にS12にて与えられた座標列から始点、
終点となる二組の座標を取出し描画に必要な情報を求め
る。続いてS13にて辺データに始点のX座標、終点の
X、Y座標、描画に必要な情報をセットし、バケット1
2にその辺データのアドレスをセットする。
【0019】続いてS14にて座標組が一本目の直線のも
のか否かをチェックし、一本目の直線のものであればS
15にて辺データのアドレスを辺データ管理テーブル10
のn7 にセットする。また一本目の直線のものでなけれ
ばS16にて辺データのアドレスを前の辺データの直線の
順序リンクポインタエリアn18にセットし辺データリス
ト11を作成する。
【0020】続いてS17にて座標組が最後の直線のもの
であるか否かをチェックし、最後の直線のものでなけれ
ば処理をS12に戻し同様の処理を繰り返す。また最後の
直線のものであればS18にて辺データの直線の順序リン
クポインタエリアn18に一本目の直線の辺データポイン
タをセットする。
【0021】そして最後にS19にてバケット12の下か
ら順にリンクしている辺データリストのポインタとY座
標、辺データへのポインタの組数を辺データ管理テーブ
ル10のn8 〜n11、n3 〜n6 及びn2 にそれぞれセ
ットする。
【0022】以上により直線描画処理時の辺データ管理
テーブル作成処理を終了する。
【0023】図2におけるS7 の台形辺の辺データ管理
テーブルの作成処理は図4に基づいて行われるようにな
っている。すなわちS21にて多角形である台形の辺デー
タを管理することを示すステータス「2」を辺データ管
理テーブル10のn1 にセットする。これにより辺デー
タ管理テーブル10が台形の辺データを管理しているこ
とが示される。
【0024】次にS22にて辺データ管理テーブル10を
下からスキャンし辺データリストから辺データを順次取
り出す。
【0025】そしてS23にて取り出した辺が一本目であ
るか或いは辺データの順序ポインタがnullであるか否か
をチェックする。取り出した辺が一本目であったり、辺
データの順序ポインタがnullであればS24にて取り出し
た辺データをアクティブ辺テーブル13に登録する。そ
してS25にて辺データがリンクしているか否かをチェッ
クする。
【0026】また取り出した辺が一本目でなかったり、
辺データの順序ポインタがnullでなければ続いてS26に
て前記交差処理部3は取り出した辺とアクティブ辺テー
ブル13内の辺との交差を判定する。
【0027】交差していればS27にて辺データ分割部6
は交点で二分割して新たな辺を生成し辺データリストに
追加して交点のY座標での辺データリストを辺データ管
理テーブル10に追加する。そしてS28にて取出した辺
データをアクティブ辺テーブル13に登録する。また交
差していなければ単にS28にて取出した辺データをアク
ティブ辺テーブル13に登録する。そしてS25にて辺デ
ータがリンクしているか否かをチェックする。
【0028】S25のチェックにおいて辺データがリンク
していればリンクしている辺データを取出し、処理をS
23の処理に戻す。またリンクしていなければS30にてア
クティブ辺テーブル13をソートし、辺データ管理テー
ブル10からの辺データのリンク順序をアクティブ辺テ
ーブル13のソート順になるようにする。
【0029】続いてS31にて台形の左辺或いは右辺が辺
データ管理テーブル10の次のY座標で終了するか否か
をチェックし、終了しなければS32にてY座標で辺を二
分割して新たな辺とその辺データを作成し、元の辺デー
タの情報を全て複写する。Y座標とY座標におけるX座
標を始点座標にセットし、順序リンクポインタにnullを
セットする。そしてS33にて次のY座標で終了する辺を
アクティブ辺テーブル13から取出し、処理をS22に戻
す。
【0030】また台形の左辺或いは右辺が辺データ管理
テーブル10の次のY座標で終了すればS33にて次のY
座標で終了する辺をアクティブ辺テーブル13から取出
し、処理をS22に戻す。
【0031】次にこのような構成の実施例の作用につい
て述べる。
【0032】例えば図6に示すような座標列(xs1,y
s1)(xs2,ys2)(xs3,ys3)(xs4,ys4)が座
標入力部1から与えられると、その座標列から始点、終
点となる二組の座標(xs1,ys1)(xs2,ys2)を取
出し描画に必要な情報を求める。そして辺データ11に
直線の座標、描画に必要な情報をセットし、バケット1
2に辺データ11のアドレスをセットして辺データL10
を得る。この辺データL10は与えられた座標列の一本目
の直線なので辺データL10のアドレスを辺データ管理テ
ーブル10の一本目の直線の辺データポインタn7 にセ
ットする。また他の辺データL20,L30,L40のように
一本目の直線の辺データでない場合は、前の辺データの
アドレスを辺データ11の順序リンクポインタn18にセ
ットして順序リンクを作成する。
【0033】以上の処理を座標組が最後となる直線L40
まで繰り返し、最後の辺データL40の順序リンクポイン
タn18に辺データ管理テーブル10から一本目の直線の
辺データL10へのポインタをセットする。こうして辺デ
ータL10〜L40からなる辺データリストが形成されるこ
とになる。
【0034】そしてバケット12の下から順にリンクし
ている辺データリストのポインタとそのY座標を辺デー
タ管理テーブル10に複写する。またY座標と辺データ
へのポインタの組数「3」を辺データ管理テーブル10
のエリアn2 にセットする。こうして図7に示すような
辺データ管理テーブル10が作成される。
【0035】このような辺データ管理テーブル10が作
成されると、続いて直線の描画が行われる。この描画は
辺データ管理テーブル10から一本目の直線の辺データ
L10へのポインタを取出し直線を描画する。続いて辺デ
ータL10から辺データL20への順序リンクポインタを取
出して直線を描画する。同様に辺データL20、L30から
辺データL30、L40への順序リンクポインタを取出して
それぞれ直線を描画する。
【0036】続いて辺データ管理テーブル10がこのよ
うな直線描画の辺データを管理している状態で、同じ座
標列が与えられて多角形の塗潰し処理が行われる場合
は、辺データ管理テーブル10には多角形を分割した台
形の辺データが作成されていないので、先ず辺データ管
理テーブル10に台形の辺データを管理することを示す
ステータス「2」をセットする。そして辺データ管理テ
ーブル10を下からスキャンして辺データリストから辺
データL10を取出す。そしてこの辺データL10は一本目
なので図8に示すようにアクティブ辺テーブル13に登
録する。
【0037】次に辺データL10と同じY座標にリンクす
る辺データへのポインタ、すなわち辺データ11のエリ
アn19のポインタから辺データL40を取出す。この辺デ
ータL40は一本目ではなく、また順序リンクポインタが
nullでないので、アクティブ辺テーブル13内の辺との
交差を判定する。交点が存在しないので辺データL20を
アクティブ辺テーブル13に格納し、また辺データL20
は同じY座標でリンクしていないので、アクティブ辺テ
ーブル13を昇べきの順にソートしておき、辺データL
10は辺データ管理テーブル10から、辺データL40は辺
データL10からリンクされるようにする。
【0038】辺データL10は次のY座標ys2で終了する
ので、アクティブ辺テーブル13から取出し、辺データ
L40は次のY座標ys2で終了しないので、辺データL40
をys2で二分割し、図8に示すような新たな辺データL
41を作成して辺データリストに加え、辺の始点(xs5,
ys5)を設定し、順序リンクポインタにはnullをセット
する。
【0039】次にアクティブ辺テーブル13内の辺デー
タL41と辺データL20で交点が存在するので、図9に示
すように交点(xs5,ys5)で辺データL20、辺データ
L41をそれぞれ二分割し、新しい辺としてL42を生成
し、辺データリストに追加する。またY座標と辺データ
テーブルへの組数を「4」にする。
【0040】これらの処理を全ての辺に適用して行うこ
とにより辺データ管理テーブル10及び辺データリスト
は図10に示すようになる。
【0041】こうして多角形を台形に分割した辺に関す
る辺データが作成されるので、辺データ管理テーブル1
0をしたから順にリンクされている辺を取出し、取出さ
れた順序でそれぞれ台形の左辺、右辺の組として塗潰
す。
【0042】さらに同じ座標が与えられた場合にはすで
に辺データが作成されているので、直線描画の場合は辺
データ管理テーブル10から一本目の辺データL10への
ポインタを取出し、順序リンクポインタを辿って辺デー
タにアクセスでき、また多角形の塗潰しの場合は辺デー
タ管理テーブル10の下から順にリンクされている辺を
台形の左辺、右辺として塗潰す。
【0043】このように辺データ管理テーブル10に一
旦処理された直線の描画或いは多角形の塗潰しの処理の
ときの情報を管理し、同じ座標列が与えられ、再び直線
の描画或いは多角形の塗潰しの処理を行うときにはその
辺データ管理テーブル10で管理されている情報を最大
限に利用して計算の重複を避けるようにしているので、
処理の高速化を図ることができる。
【0044】
【発明の効果】以上、本発明によれば、直線の描画処理
或いは多角形の塗潰しに利用した情報を保存し、その保
存した情報の座標列と同一の座標列が与えられたとき保
存情報を利用して直線の描画処理或いは多角形の塗潰し
を行うことができるので、処理の高速化を図ることがで
きる。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図。
【図2】同実施例の基本処理を示す流れ図。
【図3】図2における直線描画の辺データ作成及び辺デ
ータ管理テーブルへの登録処理を示す流れ図。
【図4】図2における台形の辺データ作成及び辺データ
管理テーブルへの登録処理を示す流れ図。
【図5】辺データ管理テーブル及び辺データの構成を示
す図。
【図6】同実施例における直線描画処理のときの辺デー
タ管理テーブル及び辺データリストの作成を説明するた
めの図。
【図7】同実施例における直線描画処理のときの辺デー
タ管理テーブル及び辺データリストの作成を説明するた
めの図。
【図8】同実施例における多角形を分割した台形の塗潰
し処理のときの辺データ管理テーブル及び辺データリス
トの作成を説明するための図。
【図9】同実施例における多角形を分割した台形の塗潰
し処理のときの辺データ管理テーブル及び辺データリス
トの作成を説明するための図。
【図10】同実施例における多角形を分割した台形の塗
潰し処理のときの辺データ管理テーブル及び辺データリ
ストの作成を説明するための図。
【符号の説明】
1…座標入力部、 2…辺データ管理テーブル作成部、 4…直線描画部、 5…多角形塗潰し部、 10…辺データ管理テーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 座標列が与えられて行われる直線の描画
    処理の際に作成した直線の情報又は直線が構成する多角
    形を塗潰す処理の際に作成した直線の情報を持つ辺デー
    タを、順序リンクポインタで直線が発生する順番にリン
    クさせる手段と、与えられた座標列が発生する直線の一
    本目の辺データへのポインタ、Y座標値、このY座標値
    にリンクする辺データへのポインタ及びその組数、管理
    する辺が直線の描画の辺データか多角形を塗潰す処理で
    多角形を台形分割して得られた辺データかを示すステー
    タスを管理する辺データ管理テーブルと、この辺データ
    管理テーブルが管理する情報を処理に応じて段階的に作
    成し変更する管理情報変更手段を設け、前記辺データ管
    理テーブルの管理情報を利用して直線描画及び多角形塗
    潰しの処理を行うことを特徴とする直線描画及び多角形
    塗潰し装置。
JP4201458A 1992-07-28 1992-07-28 直線描画及び多角形塗潰し装置 Pending JPH0652329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4201458A JPH0652329A (ja) 1992-07-28 1992-07-28 直線描画及び多角形塗潰し装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4201458A JPH0652329A (ja) 1992-07-28 1992-07-28 直線描画及び多角形塗潰し装置

Publications (1)

Publication Number Publication Date
JPH0652329A true JPH0652329A (ja) 1994-02-25

Family

ID=16441430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4201458A Pending JPH0652329A (ja) 1992-07-28 1992-07-28 直線描画及び多角形塗潰し装置

Country Status (1)

Country Link
JP (1) JPH0652329A (ja)

Similar Documents

Publication Publication Date Title
US5867172A (en) Thickened and thinned character generating device including elements for removing undesirably formed outline portions
US6269363B1 (en) Method of accessing data using approximate data structures by relaxing the operations that define same
JPH0652329A (ja) 直線描画及び多角形塗潰し装置
EP0461811A2 (en) Pattern processing method
JP2770582B2 (ja) 図形塗潰し装置
JPH01166181A (ja) 多角形の塗潰し処理装置
JP2590327B2 (ja) 図面情報の管理方法
EP0454125B1 (en) Method of producing characters and figures using computer
JP3536894B2 (ja) 図形処理装置
JPH06259507A (ja) 図形分割装置
JPS5839326A (ja) プログラムロ−ド方式
JP2650803B2 (ja) フルスクリーンエディタ制御処理装置
JP3603589B2 (ja) 画像処理方法および装置
JPH0421911B2 (ja)
JPH04138575A (ja) 有限要素データ再作成装置
JPH01166180A (ja) 図形の塗潰し処理装置
JPH05176010A (ja) 統合文書ファイル転送方式
JPH0728841A (ja) 索引順編成ファイルの一括作成方式
JPH07122906B2 (ja) 図形表示装置
JPH10143676A (ja) 画像処理装置、画像処理方法、および記録媒体
JPH08194702A (ja) 情報処理装置及びその文字キャッシュ方法
JP2001331166A (ja) 文字処理装置
JPH04117582A (ja) 図形描画装置及び図形描画方法
JPS62138970A (ja) デ−タ処理装置
JPH01316876A (ja) データ格納方式およびその装置