JPH0743771B2 - 多角形の種類判別装置 - Google Patents
多角形の種類判別装置Info
- Publication number
- JPH0743771B2 JPH0743771B2 JP60215772A JP21577285A JPH0743771B2 JP H0743771 B2 JPH0743771 B2 JP H0743771B2 JP 60215772 A JP60215772 A JP 60215772A JP 21577285 A JP21577285 A JP 21577285A JP H0743771 B2 JPH0743771 B2 JP H0743771B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- maximum
- minimum
- vertex data
- data
- 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
Landscapes
- Character Discrimination (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Description
【発明の詳細な説明】 <産業上の利用分野> この発明は走査型ディスプレイ装置上に一筆書き状に表
示される多角形の種類が、1走査線を1の連続部分のみ
に区画するものに相当するか否かを判別する装置に関す
る。
示される多角形の種類が、1走査線を1の連続部分のみ
に区画するものに相当するか否かを判別する装置に関す
る。
<従来の技術> 従来から走査型ディスプレイ上に一筆書き状に表示され
る多角形の内部をぬりつぶす方式がグラフィック・ディ
スプレイ装置等において採用されている。
る多角形の内部をぬりつぶす方式がグラフィック・ディ
スプレイ装置等において採用されている。
上記多角形の形状は種々雑多であり、大別すれば、第10
図に示すように1走査線を1の連続部分のみに区画する
もの、および第11図に示すように走査線を2以上の連続
部分に区画するものに区分される。
図に示すように1走査線を1の連続部分のみに区画する
もの、および第11図に示すように走査線を2以上の連続
部分に区画するものに区分される。
そして、第10図に示す多角形であれば、走査線との交点
の間の領域を単純にぬりつぶし表示すればよいのである
が、第11図に示す多角形であれば、走査線との交点が2
対以上となる部分が存在し、何れの交点同士の間の領域
をぬりつぶし表示すべきかを判別する必要がある。
の間の領域を単純にぬりつぶし表示すればよいのである
が、第11図に示す多角形であれば、走査線との交点が2
対以上となる部分が存在し、何れの交点同士の間の領域
をぬりつぶし表示すべきかを判別する必要がある。
このような点を考慮して、上記のぬりつぶし方式として
は、例えばWater Filling Methodとして広く知られてい
るように、多角形の各頂点データを、走査線の方向と直
角な処理方向についてソーティングし、必要があれば走
査線の方向についてソーティングし、走査線と交点を有
する稜線のリストを作成して、始点−終点として対応す
る稜線の間を補間する。そして、全ての走査線について
上記稜線のリストの作成、および対応する稜線の間の補
間を行なうことにより、多角形の内部をぬりつぶし表示
する方式が採用され、どのような種類の多角形でも、内
部をぬりつぶすことができるようにしたものが一般的に
採用されている。
は、例えばWater Filling Methodとして広く知られてい
るように、多角形の各頂点データを、走査線の方向と直
角な処理方向についてソーティングし、必要があれば走
査線の方向についてソーティングし、走査線と交点を有
する稜線のリストを作成して、始点−終点として対応す
る稜線の間を補間する。そして、全ての走査線について
上記稜線のリストの作成、および対応する稜線の間の補
間を行なうことにより、多角形の内部をぬりつぶし表示
する方式が採用され、どのような種類の多角形でも、内
部をぬりつぶすことができるようにしたものが一般的に
採用されている。
また、上記第10図に示す種類の多角形についてのみ内部
をぬりつぶすことができるようにした方式を考えてみれ
ば、ソーティングが不要になり、しかも稜線のリストの
量が変化しないので管理を簡素化することができ、ぬり
つぶし処理を高速で行なうことができるという利点を有
すると思われる。
をぬりつぶすことができるようにした方式を考えてみれ
ば、ソーティングが不要になり、しかも稜線のリストの
量が変化しないので管理を簡素化することができ、ぬり
つぶし処理を高速で行なうことができるという利点を有
すると思われる。
したがって、多角形の種類に対応させて上記両方式が選
択的に採用されるようにすれば、多角形のぬりつぶし処
理を全体として高速化することができるのであるが、従
来は、上記2つの方式を多角形の種類に対応させて選択
的に採用するための基準を、使用者の判断に委ねてい
た。
択的に採用されるようにすれば、多角形のぬりつぶし処
理を全体として高速化することができるのであるが、従
来は、上記2つの方式を多角形の種類に対応させて選択
的に採用するための基準を、使用者の判断に委ねてい
た。
<発明が解決しようとする問題点> 上記従来の選択方式であれば、多角形の種類の判別を使
用者の判断に委ねているので、判断を誤ると、不適正な
方式により多角形のぬりつぶし処理を行なうことにな
り、ぬりつぶし処理の高速化が達成できない場合が生
じ、或は確実なぬりつぶし処理を行なうことができなく
なるという問題がある。
用者の判断に委ねているので、判断を誤ると、不適正な
方式により多角形のぬりつぶし処理を行なうことにな
り、ぬりつぶし処理の高速化が達成できない場合が生
じ、或は確実なぬりつぶし処理を行なうことができなく
なるという問題がある。
<発明の目的> この発明は上記の問題点に鑑みてなされたものであり、
ぬりつぶしを行なうべき多角形の種類を、1走査線を1
の連続部分のみに区画するものであるか否かに大別して
自動的に判別することができる多角形の種類判別装置を
提供することを目的としている。
ぬりつぶしを行なうべき多角形の種類を、1走査線を1
の連続部分のみに区画するものであるか否かに大別して
自動的に判別することができる多角形の種類判別装置を
提供することを目的としている。
<問題点を解決するための手段> 上記の目的を達成するための、この発明の多角形の種類
判別装置は、上位プロセッサから転送された多角形の頂
点データを受け取り、各頂点データに基づいて、多角形
をぬりつぶし描画するための走査線と直角な方向につい
ての極大、極小を検出する極大極小検出手段と、極大極
小検出手段による検出結果に基づいて極大、極小に対応
する頂点が1点づつであるか否かを判別する個数判別手
段と、個数判別手段による判別結果に基づいて、1走査
線を1の連続部分のみに区画する多角形であるか否かを
判別する多角形判別手段とを含んでいる。
判別装置は、上位プロセッサから転送された多角形の頂
点データを受け取り、各頂点データに基づいて、多角形
をぬりつぶし描画するための走査線と直角な方向につい
ての極大、極小を検出する極大極小検出手段と、極大極
小検出手段による検出結果に基づいて極大、極小に対応
する頂点が1点づつであるか否かを判別する個数判別手
段と、個数判別手段による判別結果に基づいて、1走査
線を1の連続部分のみに区画する多角形であるか否かを
判別する多角形判別手段とを含んでいる。
但し、多角形の頂点データが輪郭線に沿う順序で順次転
送されるものであり、極大極小検出手段が、各頂点デー
タを前後の頂点データと比較することにより、極大、極
小の検出を行なうものであり、個数判別手段が、極大、
極小に対応する頂点の数の和が2以下であるか否かを判
別するものであり、多角形判別手段が、頂点の数の和が
2以下であることを示す個数判別手段の判別結果に応答
して、1走査線を1の連続部分のみに区画する多角形で
あると判別するものであることが好ましい。
送されるものであり、極大極小検出手段が、各頂点デー
タを前後の頂点データと比較することにより、極大、極
小の検出を行なうものであり、個数判別手段が、極大、
極小に対応する頂点の数の和が2以下であるか否かを判
別するものであり、多角形判別手段が、頂点の数の和が
2以下であることを示す個数判別手段の判別結果に応答
して、1走査線を1の連続部分のみに区画する多角形で
あると判別するものであることが好ましい。
<作用> 上記の装置であれば、多角形の各頂点データを、隣合う
頂点データと比較することにより、走査方向と直角な方
向についての各頂点の座標値の極大、および極小に対応
する頂点を検出し、極大に対応する頂点と極小に対応す
る頂点の数が各1であるか否かに基いて、多角形の種類
を、1走査線を1の連続部分のみに区画する種類に相当
するものであるか否かを判別することができる。
頂点データと比較することにより、走査方向と直角な方
向についての各頂点の座標値の極大、および極小に対応
する頂点を検出し、極大に対応する頂点と極小に対応す
る頂点の数が各1であるか否かに基いて、多角形の種類
を、1走査線を1の連続部分のみに区画する種類に相当
するものであるか否かを判別することができる。
また、上記多角形の頂点データが輪郭線に沿う順序で順
次転送されるものであり、極大極小検出手段が、各頂点
データを前後の頂点データと比較することにより、極
大、極小の検出を行なうものであり、個数判別手段が、
極大、極小に対応する頂点の数の和が2以下であるか否
かを判別するものであり、多角形判別手段が、頂点の数
の和が2以下であることを示す個数判別手段の判別結果
に応答して、1走査線を1の連続部分のみに区画する多
角形であると判別するものであれば、頂点データをリス
トメモリに転送する途中において極大、極小の検出を行
なうことができる。そして、転送開始頂点が極大、極小
の何れにも該当しない場合には、極大、極小に対応する
頂点の数の和が2となり、転送開始頂点が極大、極小の
何れかに該当する場合には、極大、極小に対応する頂点
の数の和が1となるので、極大、極小に対応する頂点の
数の和が2以下であるか否かに基いて、多角形の種類
を、1走査線を1の連続部分のみに区画する種類に相当
するものであるか否かを判別することができる。
次転送されるものであり、極大極小検出手段が、各頂点
データを前後の頂点データと比較することにより、極
大、極小の検出を行なうものであり、個数判別手段が、
極大、極小に対応する頂点の数の和が2以下であるか否
かを判別するものであり、多角形判別手段が、頂点の数
の和が2以下であることを示す個数判別手段の判別結果
に応答して、1走査線を1の連続部分のみに区画する多
角形であると判別するものであれば、頂点データをリス
トメモリに転送する途中において極大、極小の検出を行
なうことができる。そして、転送開始頂点が極大、極小
の何れにも該当しない場合には、極大、極小に対応する
頂点の数の和が2となり、転送開始頂点が極大、極小の
何れかに該当する場合には、極大、極小に対応する頂点
の数の和が1となるので、極大、極小に対応する頂点の
数の和が2以下であるか否かに基いて、多角形の種類
を、1走査線を1の連続部分のみに区画する種類に相当
するものであるか否かを判別することができる。
<実施例> 以下、実施例を示す添付図面によって詳細に説明する。
第1図はこの発明の多角形の種類判別方式を実施するた
めの、一実施例を示す電気回路図である。
めの、一実施例を示す電気回路図である。
図において、座標変換処理、クリッピング処理等が施さ
れた図形データ(例えば第10図、または第11図に示す多
角形の各頂点の座標値、輝度値を示すデータ)が、増減
検出部Aに入力されて増減状態が検出され、増減検出信
号が極大、極小検出部Bに入力されて極大、極小が検出
され、極大、極小検出信号が個数判別部Cに入力されて
個数の和が2個以下であるか否かが判別されるようにし
ている。
れた図形データ(例えば第10図、または第11図に示す多
角形の各頂点の座標値、輝度値を示すデータ)が、増減
検出部Aに入力されて増減状態が検出され、増減検出信
号が極大、極小検出部Bに入力されて極大、極小が検出
され、極大、極小検出信号が個数判別部Cに入力されて
個数の和が2個以下であるか否かが判別されるようにし
ている。
さらに詳細に説明すれば、上記増減検出部Aは、第1段
目のラッチ回路(11)と、第2段目のラッチ回路(12)
と、コンパレータ(13)とから構成されており、第1段
目のラッチ回路(11)にi番目の頂点データが入力され
た状態において第2段目のラッチ回路(12)に(i−
1)番目の頂点データが入力され、両頂点データのう
ち、走査線と直交する方向のデータ(以下、単に頂点デ
ータと称する)をコンパレータ(13)で比較することに
より、i番目の頂点データが(i−1)番目の頂点デー
タより大きいか小さいかを判別し、判別結果を極大、極
小検出部Bに入力することができるようにしている。
目のラッチ回路(11)と、第2段目のラッチ回路(12)
と、コンパレータ(13)とから構成されており、第1段
目のラッチ回路(11)にi番目の頂点データが入力され
た状態において第2段目のラッチ回路(12)に(i−
1)番目の頂点データが入力され、両頂点データのう
ち、走査線と直交する方向のデータ(以下、単に頂点デ
ータと称する)をコンパレータ(13)で比較することに
より、i番目の頂点データが(i−1)番目の頂点デー
タより大きいか小さいかを判別し、判別結果を極大、極
小検出部Bに入力することができるようにしている。
上記極大、極小検出部Bは、フリップ・フロップ回路
(14)と、2個のインバータ(15)(16)とから構成さ
れており、上記コンパレータ(13)からの、i番目の頂
点データが(i−1)番目の頂点データより大きいこと
を示す出力信号を、インバータ(15)を介してフリップ
・フロップ回路(14)のプリセット入力端子に入力する
とともに、i番目の頂点データが(i−1)番目の頂点
データより小さいことを示す出力信号を、インバータ
(16)を介してフリップ・フロップ回路(14)のリセッ
ト入力端子に入力して、i番目の頂点データを先行する
(i−1)番目の頂点データより小さく、しかも次続す
るj番目の頂点データ(但し、j≧i+1)が(j−
1)番目の頂点データよりも大きい場合に、極小である
ことを示すQ信号(Q信号の立上りのタイミングが極小
指示信号となる)を出力し、i番目の頂点データが先行
する(i−1)番目の頂点データより大きく、しかも次
続するj番目の頂点データ(但し、j≧i+1)が(j
−1)番目の頂点データよりも小さい場合に、極大であ
ることを示す信号(信号の立上りのタイミングが極
大指示信号となる)を出力することができるようにして
いる。
(14)と、2個のインバータ(15)(16)とから構成さ
れており、上記コンパレータ(13)からの、i番目の頂
点データが(i−1)番目の頂点データより大きいこと
を示す出力信号を、インバータ(15)を介してフリップ
・フロップ回路(14)のプリセット入力端子に入力する
とともに、i番目の頂点データが(i−1)番目の頂点
データより小さいことを示す出力信号を、インバータ
(16)を介してフリップ・フロップ回路(14)のリセッ
ト入力端子に入力して、i番目の頂点データを先行する
(i−1)番目の頂点データより小さく、しかも次続す
るj番目の頂点データ(但し、j≧i+1)が(j−
1)番目の頂点データよりも大きい場合に、極小である
ことを示すQ信号(Q信号の立上りのタイミングが極小
指示信号となる)を出力し、i番目の頂点データが先行
する(i−1)番目の頂点データより大きく、しかも次
続するj番目の頂点データ(但し、j≧i+1)が(j
−1)番目の頂点データよりも小さい場合に、極大であ
ることを示す信号(信号の立上りのタイミングが極
大指示信号となる)を出力することができるようにして
いる。
上記個数判別部Cは、互に等しい構成の極大個数判別部
(17)、極小個数判別部(18)、および両個数判別部
(17)(18)からの出力信号が入力されるANDゲート(1
9)とから構成されている。
(17)、極小個数判別部(18)、および両個数判別部
(17)(18)からの出力信号が入力されるANDゲート(1
9)とから構成されている。
そして、上記極小個数判別部(18)は、上記フリップ・
フロップ回路(14)からのQ信号がクロック入力端子に
入力される2個のフリップ・フロップ回路(20)(21)
を有しており、上記フリップ・フロップ回路(20)から
のQ信号をフリップ・フロップ回路(21)のD入力端子
に入力し、上記フリップ・フロップ回路(21)からの
信号を上記ANDゲート(19)に入力している。したがっ
て、当初クリア信号によりセットされた状態において、
上記フリップ・フロップ回路(14)からのQ信号が2回
以上入力された場合にのみ信号がローレベルになる。
また、上記極大個数判別部(17)の構成は、上記極小個
数判別部(18)と同じであるから、説明を省略する。
フロップ回路(14)からのQ信号がクロック入力端子に
入力される2個のフリップ・フロップ回路(20)(21)
を有しており、上記フリップ・フロップ回路(20)から
のQ信号をフリップ・フロップ回路(21)のD入力端子
に入力し、上記フリップ・フロップ回路(21)からの
信号を上記ANDゲート(19)に入力している。したがっ
て、当初クリア信号によりセットされた状態において、
上記フリップ・フロップ回路(14)からのQ信号が2回
以上入力された場合にのみ信号がローレベルになる。
また、上記極大個数判別部(17)の構成は、上記極小個
数判別部(18)と同じであるから、説明を省略する。
したがって、上記両個数判別部(17)(18)からの各
信号がハイレベル(極大、極小の検出回数が1回以下)
の場合にのみANDゲート(19)が、1走査線を1の連続
部分のみに区画する種類の多角形であることを示すハイ
レベルの信号を出力することができる。
信号がハイレベル(極大、極小の検出回数が1回以下)
の場合にのみANDゲート(19)が、1走査線を1の連続
部分のみに区画する種類の多角形であることを示すハイ
レベルの信号を出力することができる。
尚、上記頂点データとしては、2次元輝度変化なし、2
次元輝度変化あり、3次元輝度変化なし、および3次元
輝度変化ありの各モードの何れのデータ(x,y),(x,
y,I),(x,y,z),(x,y,z,I)であってもよい。
次元輝度変化あり、3次元輝度変化なし、および3次元
輝度変化ありの各モードの何れのデータ(x,y),(x,
y,I),(x,y,z),(x,y,z,I)であってもよい。
第2図は上記の種類判別方式により判別された、第10図
に示すタイプの多角形の内部をぬりつぶすための装置の
一実施例を示すブロック図である。
に示すタイプの多角形の内部をぬりつぶすための装置の
一実施例を示すブロック図である。
図において、座標変換処理、クリッピング処理等が施さ
れた図形データ(例えば第10図に示す多角形の各頂点の
座標値、輝度値等を示すデータ)が、最大、最小値検出
回路(2)、リストメモリ(3)、およびリストメモリ
制御回路(4)に印加されている。そして、リストメモ
リ制御回路(4)による制御下においてリストメモリ
(3)から続出された頂点データが左一辺終了検出回路
(5)、右一辺終了検出回路(6)、および一多角形終
了検出回路(7)に印加されているとともに、左辺補間
回路(8)、右辺補間回路(9)にも印加され、上記左
辺補間回路(8)、および右辺補間回路(9)からの補
間データがDDA回路(直線補間描画回路)(10)に印加
されている。さらに、上記左一辺終了検出回路(5)、
右一辺終了検出回路(6)、および一多角形終了検出回
路(7)からの終了検出信号が上記リストメモリ制御回
路(4)に印加されている。
れた図形データ(例えば第10図に示す多角形の各頂点の
座標値、輝度値等を示すデータ)が、最大、最小値検出
回路(2)、リストメモリ(3)、およびリストメモリ
制御回路(4)に印加されている。そして、リストメモ
リ制御回路(4)による制御下においてリストメモリ
(3)から続出された頂点データが左一辺終了検出回路
(5)、右一辺終了検出回路(6)、および一多角形終
了検出回路(7)に印加されているとともに、左辺補間
回路(8)、右辺補間回路(9)にも印加され、上記左
辺補間回路(8)、および右辺補間回路(9)からの補
間データがDDA回路(直線補間描画回路)(10)に印加
されている。さらに、上記左一辺終了検出回路(5)、
右一辺終了検出回路(6)、および一多角形終了検出回
路(7)からの終了検出信号が上記リストメモリ制御回
路(4)に印加されている。
上記最大、最小検出回路(2)は、第3図に示すよう
に、データバス(22)を通して転送される多角形の角数
データが当初入力され、頂点データが入力される毎にカ
ウントダウンする角数ダウンカウンタ(23)と、上記多
角形の各頂点データを入力として最大値、最小値をそれ
ぞれ検出する最大値検出回路(24)、最小値検出回路
(25)と、ポインタ用アップカウンタ(26)と、上記最
大値検出回路(24)からのラッチ信号に基いてポインタ
用アップカウンタ(26)からのポインタ信号をラッチす
る最大値ポインタラッチ回路(27)と、上記最小値検出
回路(25)からのラッチ信号に基いてポインタ用アップ
カウンタ(26)からのポインタ信号をラッチする最小値
ポインタラッチ回路(28)とを有している。
に、データバス(22)を通して転送される多角形の角数
データが当初入力され、頂点データが入力される毎にカ
ウントダウンする角数ダウンカウンタ(23)と、上記多
角形の各頂点データを入力として最大値、最小値をそれ
ぞれ検出する最大値検出回路(24)、最小値検出回路
(25)と、ポインタ用アップカウンタ(26)と、上記最
大値検出回路(24)からのラッチ信号に基いてポインタ
用アップカウンタ(26)からのポインタ信号をラッチす
る最大値ポインタラッチ回路(27)と、上記最小値検出
回路(25)からのラッチ信号に基いてポインタ用アップ
カウンタ(26)からのポインタ信号をラッチする最小値
ポインタラッチ回路(28)とを有している。
そして、上記角数ダウンカウンタ(23)からのカウント
ゼロ信号を上記最大値ポインタラッチ回路(27)、およ
び最小値ポインタラッチ回路(28)に印加することによ
り、各ポインタラッチ回路(27)(28)にラッチされて
いるポインタを上記データバス(22)に出力することが
できるようにしている。
ゼロ信号を上記最大値ポインタラッチ回路(27)、およ
び最小値ポインタラッチ回路(28)に印加することによ
り、各ポインタラッチ回路(27)(28)にラッチされて
いるポインタを上記データバス(22)に出力することが
できるようにしている。
即ち、多角形の各頂点データをリストメモリ(3)に書
込む間に、最大値、最小値に対応するポインタを得、多
角形の全ての頂点データの書込みを終了した時点で、上
記ポインタをリストメモリ(3)に書込むことができ、
ポインタを得るための特別の処理時間は必要でないこと
になる。
込む間に、最大値、最小値に対応するポインタを得、多
角形の全ての頂点データの書込みを終了した時点で、上
記ポインタをリストメモリ(3)に書込むことができ、
ポインタを得るための特別の処理時間は必要でないこと
になる。
上記リストメモリ(3)は、第4図に示すように、行ア
ドレスと列アドレスとで各データのアドレスを割付けら
れているものであり、行アドレスが0であり、かつ列ア
ドレスが0であるメモリエリアに多角形の角数データを
格納し、行アドレスが1からnであるメモリエリアに多
角形(nの角数の多角形)の各頂点データを格納し、行
アドレスがn+1であり、かつ列アドレスが0であるメ
モリエリアに最大値ポインタを格納し、行アドレスがn
+1であり、かつ列アドレスが1であるメモリエリアに
最小値ポインタを格納している。そして、上記行アドレ
スが1からnまでのメモリエリアは、列アドレスが0か
ら3までのメモリエリアに区画されており、2次元輝度
変化なし、2次元輝度変化あり、3次元輝度変化なし、
および3次元輝度変化ありの各モードの何れのデータ
(x,y),(x,y,I),(x,y,z),(x,y,z,I)にも対応
できるようにしている。
ドレスと列アドレスとで各データのアドレスを割付けら
れているものであり、行アドレスが0であり、かつ列ア
ドレスが0であるメモリエリアに多角形の角数データを
格納し、行アドレスが1からnであるメモリエリアに多
角形(nの角数の多角形)の各頂点データを格納し、行
アドレスがn+1であり、かつ列アドレスが0であるメ
モリエリアに最大値ポインタを格納し、行アドレスがn
+1であり、かつ列アドレスが1であるメモリエリアに
最小値ポインタを格納している。そして、上記行アドレ
スが1からnまでのメモリエリアは、列アドレスが0か
ら3までのメモリエリアに区画されており、2次元輝度
変化なし、2次元輝度変化あり、3次元輝度変化なし、
および3次元輝度変化ありの各モードの何れのデータ
(x,y),(x,y,I),(x,y,z),(x,y,z,I)にも対応
できるようにしている。
以後の多角形についても、同様の配列(多角形の角数デ
ータ、各頂点データ、最大値ポインタ、および最小値ポ
インタの配列)で各メモリエリアにデータが格納されて
いる。
ータ、各頂点データ、最大値ポインタ、および最小値ポ
インタの配列)で各メモリエリアにデータが格納されて
いる。
上記リストメモリ制御回路(4)は、第5図に示すよう
に、先頭行アドレスと、多角形の角数に1を加算して得
たデータとを加算して最大値ポインタ、および最小値ポ
インタが格納されている行アドレス(第4図の場合には
n+1)を得、上記行アドレスに格納されている最大値
ポインタと、上記先頭行アドレスとを加算することによ
り最大値行アドレスを得ることができる。もちろん最小
値ポインタと先頭行アドレスとを加算することにより最
小値行アドレスを得ることができる。
に、先頭行アドレスと、多角形の角数に1を加算して得
たデータとを加算して最大値ポインタ、および最小値ポ
インタが格納されている行アドレス(第4図の場合には
n+1)を得、上記行アドレスに格納されている最大値
ポインタと、上記先頭行アドレスとを加算することによ
り最大値行アドレスを得ることができる。もちろん最小
値ポインタと先頭行アドレスとを加算することにより最
小値行アドレスを得ることができる。
したがって、最大値ポインタ、および最小値ポインタに
基いて簡単に、最大値、および最小値に対応する頂点の
行アドレスを得ることができ、例えば、転送されてくる
多角形の各頂点データの順序が反時計回りであれば、行
アドレスを順次増加させることにより(例えば、与えら
れた多角形の角数nと等しい進数のアップカウンタを順
次カウントしてゆくことにより)、最大値に対応する頂
点から最小値に対応する頂点に向かう頂点データを順次
得ることができ、または行アドレスを順次減少させるこ
とにより(例えば、与えられた多角形の角数nと等しい
進数のダウンカウンタを順次カウントしてゆくことによ
り)、最小値に対応する頂点から最大値に対応する頂点
に向かう頂点データを逆の順序で順次得ることができ
る。
基いて簡単に、最大値、および最小値に対応する頂点の
行アドレスを得ることができ、例えば、転送されてくる
多角形の各頂点データの順序が反時計回りであれば、行
アドレスを順次増加させることにより(例えば、与えら
れた多角形の角数nと等しい進数のアップカウンタを順
次カウントしてゆくことにより)、最大値に対応する頂
点から最小値に対応する頂点に向かう頂点データを順次
得ることができ、または行アドレスを順次減少させるこ
とにより(例えば、与えられた多角形の角数nと等しい
進数のダウンカウンタを順次カウントしてゆくことによ
り)、最小値に対応する頂点から最大値に対応する頂点
に向かう頂点データを逆の順序で順次得ることができ
る。
上記左一辺終了検出回路(5)は、第6図に示すよう
に、y座標(走査線と直角な方向の座標)を基準とし
て、開始点(y座標がy0)から一点補間する毎にy座標
値を減算し、稜線の終了点のy座標値ynと一致した時点
で1の稜線の補間が終了したことを検出し、終了検出信
号をリストメモリ制御回路(4)に印加する。
に、y座標(走査線と直角な方向の座標)を基準とし
て、開始点(y座標がy0)から一点補間する毎にy座標
値を減算し、稜線の終了点のy座標値ynと一致した時点
で1の稜線の補間が終了したことを検出し、終了検出信
号をリストメモリ制御回路(4)に印加する。
上記右一辺終了検出回路(6)についても同様である。
上記一多角形終了検出回路(7)は、第7図に示すよう
に、y座標値が最大の点ymaxから左右両辺の補間を行
なってゆき、y座標値が最小値yminと一致した時点で
1の多角形の処理が終了したことを検出し、終了検出信
号をリストメモリ制御回路(4)に印加する。
に、y座標値が最大の点ymaxから左右両辺の補間を行
なってゆき、y座標値が最小値yminと一致した時点で
1の多角形の処理が終了したことを検出し、終了検出信
号をリストメモリ制御回路(4)に印加する。
上記左辺補間回路(8)、および右辺補間回路(9)
は、例えば、多角形の各頂点データが反時計回りに転送
され、しかもy座標値の最大値から順に補間を行なって
ゆく場合には、それぞれ左側の稜線に対応する頂点アド
レス用アップカウンタ、右側の稜線に対応する頂点アド
レス用ダウンカウンタを有し、両カウンタに初期値とし
てy座標値の最大値アドレスをロードし、第8図に示す
ように、最大値アドレスを基準として同時にカウントア
ップ、およびカウントダウンを行ない、左右の稜線を同
時に補間し、左の稜線の補間値を始点、右の稜線の補間
値を終点としてDDA回路(10)に印加する。
は、例えば、多角形の各頂点データが反時計回りに転送
され、しかもy座標値の最大値から順に補間を行なって
ゆく場合には、それぞれ左側の稜線に対応する頂点アド
レス用アップカウンタ、右側の稜線に対応する頂点アド
レス用ダウンカウンタを有し、両カウンタに初期値とし
てy座標値の最大値アドレスをロードし、第8図に示す
ように、最大値アドレスを基準として同時にカウントア
ップ、およびカウントダウンを行ない、左右の稜線を同
時に補間し、左の稜線の補間値を始点、右の稜線の補間
値を終点としてDDA回路(10)に印加する。
以上の構成であれば、座標変換、クリッピング等が施さ
れたデータ(多角形の角数データ、および各頂点デー
タ)をリストメモリ(3)に格納する間に、最大、最小
値頂点検出回路(2)により、走査線とy座標値(走査
線と直角な方向の座標値)の最大値、および最小値に対
応する頂点のポインタを検出して、リストメモリ(3)
の上記データの後に格納する。
れたデータ(多角形の角数データ、および各頂点デー
タ)をリストメモリ(3)に格納する間に、最大、最小
値頂点検出回路(2)により、走査線とy座標値(走査
線と直角な方向の座標値)の最大値、および最小値に対
応する頂点のポインタを検出して、リストメモリ(3)
の上記データの後に格納する。
そして、リストメモリ制御回路(4)の制御下において
上記ポインタに基いて最大値に対応する頂点データを左
辺補間回路(8)、および右辺補間回路(9)に入力す
るとともに、上記頂点データの後の頂点データ、および
前の頂点データをそれぞれ左辺補間回路(8)、および
右辺補間回路(9)に入力し、y座標値の最大値を基準
として各稜線の補間を行ない、両補間値をDDA回路(1
0)に印加する。以上の場合において、各稜線の補間が
終了したと判別された場合には、左一辺終了検出回路
(5)、または右一辺終了検出回路(6)からの終了検
出信号に基いてリストメモリ制御回路(4)の制御下に
おいて次の頂点データを対応する補間回路に入力する。
上記ポインタに基いて最大値に対応する頂点データを左
辺補間回路(8)、および右辺補間回路(9)に入力す
るとともに、上記頂点データの後の頂点データ、および
前の頂点データをそれぞれ左辺補間回路(8)、および
右辺補間回路(9)に入力し、y座標値の最大値を基準
として各稜線の補間を行ない、両補間値をDDA回路(1
0)に印加する。以上の場合において、各稜線の補間が
終了したと判別された場合には、左一辺終了検出回路
(5)、または右一辺終了検出回路(6)からの終了検
出信号に基いてリストメモリ制御回路(4)の制御下に
おいて次の頂点データを対応する補間回路に入力する。
以上のようにして全ての稜線の補間が終了した場合に
は、一多角形終了検出回路(7)からの終了検出回路に
基いてリストメモリ制御回路(4)の制御下において次
の多角形のデータを読出して、上記と同様の処理を反復
することにより、必要な全ての多角形についての処理を
行なうことができる。
は、一多角形終了検出回路(7)からの終了検出回路に
基いてリストメモリ制御回路(4)の制御下において次
の多角形のデータを読出して、上記と同様の処理を反復
することにより、必要な全ての多角形についての処理を
行なうことができる。
第9図はより具体化したぬりつぶし装置を示している。
図において(22)はデータバスであり、(29)はデータ
バスを通して転送されるデータの最初のワードとしての
モードワード(2次元輝度変化なし、2次元輝度変化あ
り、3次元輝度変化なし、および3次元輝度変化ありの
各モードを示す情報、多角形の角数を示す情報等)を解
析するモードワード解析部であり、(24)は最大値検出
部であり、(25)は最小値検出部であり、(26)はポイ
ンタ用アップカウンタであり、(27)は最大値ポインタ
ラッチ部であり、(28)は最小値ポインタラッチ部であ
り、(30)は上記モードワード解析部(29)からの、モ
ード情報を入力としてモード別の制御信号を出力する属
性別制御部であり、(31)は属性別制御部(30)からの
アドレスインクリメント信号を入力として入力側アドレ
スを発生させるアップカウンタである。
バスを通して転送されるデータの最初のワードとしての
モードワード(2次元輝度変化なし、2次元輝度変化あ
り、3次元輝度変化なし、および3次元輝度変化ありの
各モードを示す情報、多角形の角数を示す情報等)を解
析するモードワード解析部であり、(24)は最大値検出
部であり、(25)は最小値検出部であり、(26)はポイ
ンタ用アップカウンタであり、(27)は最大値ポインタ
ラッチ部であり、(28)は最小値ポインタラッチ部であ
り、(30)は上記モードワード解析部(29)からの、モ
ード情報を入力としてモード別の制御信号を出力する属
性別制御部であり、(31)は属性別制御部(30)からの
アドレスインクリメント信号を入力として入力側アドレ
スを発生させるアップカウンタである。
(32)(33)(34)(35)は、それぞれx座標値用、y
座標値用、z座標値用、インデックス値(輝度値等)用
のリストメモリであり、それぞれ2枚のRAMで構成され
ている。
座標値用、z座標値用、インデックス値(輝度値等)用
のリストメモリであり、それぞれ2枚のRAMで構成され
ている。
(36)はポリゴン数カウンタであり、(37)は各2枚づ
つのRAMを切換えるためのRAM切換制御部であり、(38)
(39)(40)はそれぞれ左辺を補間するための減算部、
除算部、加算部であり、(41)(42)(43)はそれぞれ
右辺を補間するための減算部、除算部、加算部であり、
(44)は両辺の補間演算同期部である。
つのRAMを切換えるためのRAM切換制御部であり、(38)
(39)(40)はそれぞれ左辺を補間するための減算部、
除算部、加算部であり、(41)(42)(43)はそれぞれ
右辺を補間するための減算部、除算部、加算部であり、
(44)は両辺の補間演算同期部である。
(45)はDDA側アドレス発生部であり、(46)は実行終
了検出部であり、(47)(48)はモードワードラッチ部
である。
了検出部であり、(47)(48)はモードワードラッチ部
である。
したがって、このぬりつぶし装置の場合にも、最大値に
対応する頂点から最小値に対応する頂点に向かう稜線と
走査線との交点を始点として把握することができるとと
もに、最小値に対応する頂点から最大値に対応する頂点
に向かう稜線と走査線との交点を始点として把握するこ
とができ(転送順序が左回りの場合)、この把握結果に
基いてぬりつぶし表示を行なうことができるので、ぬり
つぶした面データを書込むメモリは必要でなく、しかも
メモリからの読出し、およびメモリへの書込みの頻度を
著しく減少させて、データが与えられてから内部がぬり
つぶされた多角形を走査型ディスプレイ上に表示するま
での所要時間を著しく短縮することができる。具体的に
は、従来800ポリゴン/sec.程度の速度であったのに比べ
て、上記実施例によれば40000ポリゴン/sec.程度の速度
にすることができた。ここで、1ポリゴンは20ドット×
20ドットの任意方向に傾斜した正方形を意味している。
対応する頂点から最小値に対応する頂点に向かう稜線と
走査線との交点を始点として把握することができるとと
もに、最小値に対応する頂点から最大値に対応する頂点
に向かう稜線と走査線との交点を始点として把握するこ
とができ(転送順序が左回りの場合)、この把握結果に
基いてぬりつぶし表示を行なうことができるので、ぬり
つぶした面データを書込むメモリは必要でなく、しかも
メモリからの読出し、およびメモリへの書込みの頻度を
著しく減少させて、データが与えられてから内部がぬり
つぶされた多角形を走査型ディスプレイ上に表示するま
での所要時間を著しく短縮することができる。具体的に
は、従来800ポリゴン/sec.程度の速度であったのに比べ
て、上記実施例によれば40000ポリゴン/sec.程度の速度
にすることができた。ここで、1ポリゴンは20ドット×
20ドットの任意方向に傾斜した正方形を意味している。
尚、上記何れのぬりつぶし装置においても、1走査線を
1の連続部分のみに区画する種類の多角形についてのみ
ぬりつぶし処理を行なわせることができるので、上記以
外の多角形については従来公知の方式(例えばWater Fi
lling Method等)によるぬりつぶし処理を行なう必要が
あるが、特に3次元図形においては殆どが上記多角形に
該当するので、この発明による種類判別を行なって、1
走査線を1の連続部分のみに区画する種類の多角形のみ
について上記装置によるぬりつぶし処理を行なうこと
は、全体としての処理の高速化の面から非常に有用性が
高いものであるといえる。
1の連続部分のみに区画する種類の多角形についてのみ
ぬりつぶし処理を行なわせることができるので、上記以
外の多角形については従来公知の方式(例えばWater Fi
lling Method等)によるぬりつぶし処理を行なう必要が
あるが、特に3次元図形においては殆どが上記多角形に
該当するので、この発明による種類判別を行なって、1
走査線を1の連続部分のみに区画する種類の多角形のみ
について上記装置によるぬりつぶし処理を行なうこと
は、全体としての処理の高速化の面から非常に有用性が
高いものであるといえる。
<発明の効果> 以上のようにこの発明は、走査線と直角な方向の極大、
極小に対応する頂点の数の和が2であるか否かを判別す
ることにより、簡単に多角形の種類を、1走査線を1の
連続部分のみに区画する種類の多角形か否かを判別する
ことができるという特有の効果を奏する。
極小に対応する頂点の数の和が2であるか否かを判別す
ることにより、簡単に多角形の種類を、1走査線を1の
連続部分のみに区画する種類の多角形か否かを判別する
ことができるという特有の効果を奏する。
第1図は多角形の種類判別方式を実施するための、一実
施例を示す電気回路図、 第2図は多角形ぬりつぶし装置の一例を示すブロック
図、 第3図は最大、最小値頂点検出回路を詳細に示す図、 第4図はリストメモリの内容を示す図、 第5図はリストメモリ制御回路の動作を説明する図、 第6図は左一辺終了検出回路の動作を説明する図、 第7図は一多角形終了検出回路の動作を説明する図、 第8図は左辺補間回路、および右辺補間回路の動作を説
明する図、 第9図はより具体化した多角形ぬりつぶし装置を示すブ
ロック図、 第10図、および第11図は異なるタイプの多角形を示す
図。 A……増減検出部、B……極大、極小検出部、 C……個数判別部、(17)……極大個数判別部、 (18)……極小個数判別部、(19)……ANDゲート
施例を示す電気回路図、 第2図は多角形ぬりつぶし装置の一例を示すブロック
図、 第3図は最大、最小値頂点検出回路を詳細に示す図、 第4図はリストメモリの内容を示す図、 第5図はリストメモリ制御回路の動作を説明する図、 第6図は左一辺終了検出回路の動作を説明する図、 第7図は一多角形終了検出回路の動作を説明する図、 第8図は左辺補間回路、および右辺補間回路の動作を説
明する図、 第9図はより具体化した多角形ぬりつぶし装置を示すブ
ロック図、 第10図、および第11図は異なるタイプの多角形を示す
図。 A……増減検出部、B……極大、極小検出部、 C……個数判別部、(17)……極大個数判別部、 (18)……極小個数判別部、(19)……ANDゲート
Claims (2)
- 【請求項1】上位プロセッサから転送された多角形の頂
点データを受け取り、各頂点データに基づいて、多角形
をぬりつぶし描画するための走査線と直角な方向につい
ての極大、極小を検出する極大極小検出手段(B)と、
極大極小検出手段(B)による検出結果に基づいて極
大、極小に対応する頂点が1点づつであるか否かを判別
する個数判別手段(C)と、個数判別手段(C)による
判別結果に基づいて、1走査線を1の連続部分のみに区
画する多角形であるか否かを判別する多角形判別手段
(C)とを含むことを特徴とする多角形の種類判別装
置。 - 【請求項2】多角形の頂点データが輪郭線に沿う順序で
順次転送されるものであり、極大極小検出手段(B)
が、各頂点データを前後の頂点データと比較することに
より、極大、極小の検出を行なうものであり、個数判別
手段(C)が、極大、極小に対応する頂点の数の和が2
以下であるか否かを判別するものであり、多角形判別手
段(C)が、頂点の数の和が2以下であることを示す個
数判別手段(C)の判別結果に応答して、1走査線を1
の連続部分のみに区画する多角形であると判別するもの
である上記特許請求の範囲第1項記載の多角形の種類判
別装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60215772A JPH0743771B2 (ja) | 1985-09-27 | 1985-09-27 | 多角形の種類判別装置 |
US06/911,551 US4791582A (en) | 1985-09-27 | 1986-09-25 | Polygon-filling apparatus used in a scanning display unit and method of filling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60215772A JPH0743771B2 (ja) | 1985-09-27 | 1985-09-27 | 多角形の種類判別装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6274165A JPS6274165A (ja) | 1987-04-04 |
JPH0743771B2 true JPH0743771B2 (ja) | 1995-05-15 |
Family
ID=16677967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60215772A Expired - Lifetime JPH0743771B2 (ja) | 1985-09-27 | 1985-09-27 | 多角形の種類判別装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0743771B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02231687A (ja) * | 1989-03-06 | 1990-09-13 | Brother Ind Ltd | 描画データ作成装置 |
JPH02239381A (ja) * | 1989-03-14 | 1990-09-21 | Nec Software Ltd | 図形処理方式 |
-
1985
- 1985-09-27 JP JP60215772A patent/JPH0743771B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6274165A (ja) | 1987-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4791582A (en) | Polygon-filling apparatus used in a scanning display unit and method of filling the same | |
JP4499292B2 (ja) | 3次元コンピュータ生成画像のシェーディング | |
EP0356103B1 (en) | Scan-conversion process and processor | |
JP4576050B2 (ja) | 3次元コンピュータ生成画像のシェーディング | |
US5448690A (en) | Image processing system enabling real-time output of image signal based on polygon image information | |
US5208909A (en) | Pre-drawing pick detection in a graphics display system | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
GB2232564A (en) | Method and apparatus for clipping polygons | |
JPH0743771B2 (ja) | 多角形の種類判別装置 | |
EP0055340B1 (en) | Apparatus for automatically determining the x-y intersection of two curves in a raster type display system including a buffer refresh memory | |
JPS63245576A (ja) | 面図形クリツプ回路 | |
US5513311A (en) | Method and system for creating logical connections in a data processing system | |
EP0327001B1 (en) | Pattern data generating system | |
JPH0831138B2 (ja) | 走査型ディスプレイ装置における多角形ぬりつぶし装置 | |
JPS59187389A (ja) | ビツトマツプデイスプレイ装置 | |
CA1053818A (en) | Conic generator for on-the-fly digital television display | |
JP2644796B2 (ja) | 文字図形等の描画処理方式 | |
JP2614111B2 (ja) | 直線表示要素と矩形ウインドウの相互関係の検出方法 | |
KR950012266A (ko) | 패스트 퐁 묘영용 삼각형 보간기 및 탐색방법 | |
JPH0428308B2 (ja) | ||
JPH0827842B2 (ja) | 走査型デイスプレイ装置における多角形頂点デ−タ追尾装置 | |
JP2856243B2 (ja) | 市松模様自動作成装置および方法 | |
JPH09134441A (ja) | 曲線の直線近似装置 | |
JPS6169096A (ja) | 図形処理装置 | |
JP3098092B2 (ja) | 模擬視界発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |