JPH0660194A - 図形処理装置 - Google Patents
図形処理装置Info
- Publication number
- JPH0660194A JPH0660194A JP23541292A JP23541292A JPH0660194A JP H0660194 A JPH0660194 A JP H0660194A JP 23541292 A JP23541292 A JP 23541292A JP 23541292 A JP23541292 A JP 23541292A JP H0660194 A JPH0660194 A JP H0660194A
- Authority
- JP
- Japan
- Prior art keywords
- line segment
- intersection
- coordinate
- line
- information
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 10
- 239000000284 extract Substances 0.000 claims abstract description 6
- 238000000605 extraction Methods 0.000 claims description 15
- 230000008707 rearrangement Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 230000001174 ascending effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 102000010562 Peptide Elongation Factor G Human genes 0.000 description 1
- 108010077742 Peptide Elongation Factor G Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【構成】 座標入力端子1より与えられた座標から線分
情報作成部2は複数の線分毎の座標情報を作成する。ソ
ーティング部3は、作成された座標情報に基づき、例え
ばy座標の小さい順に並べ替える等、各線分の並べ替え
を行う。線分抽出部4は、並べ替えられた各線分によっ
て、交差する可能性のある線分を抽出する。交点検出部
6では抽出された線分のみによって交点演算を行う。 【効果】 交点の存在する線分を絞ることができるた
め、交点検出処理の時間を大幅に短縮することができる
情報作成部2は複数の線分毎の座標情報を作成する。ソ
ーティング部3は、作成された座標情報に基づき、例え
ばy座標の小さい順に並べ替える等、各線分の並べ替え
を行う。線分抽出部4は、並べ替えられた各線分によっ
て、交差する可能性のある線分を抽出する。交点検出部
6では抽出された線分のみによって交点演算を行う。 【効果】 交点の存在する線分を絞ることができるた
め、交点検出処理の時間を大幅に短縮することができる
Description
【0001】
【産業上の利用分野】本発明は図形処理装置に関し、特
に図形を構成する複数の線分の交点を検出する線分処理
方式に関する。
に図形を構成する複数の線分の交点を検出する線分処理
方式に関する。
【0002】
【従来の技術】情報処理装置のディスプレイやプリンタ
等において図形処理を行う場合、図形の中塗りやその他
の処理を行う際に、図形の頂点に加えて線分の交点を求
める必要がある場合が存在する。図2は、このような場
合の説明図である。即ち、図2では、正方形と三角形と
を重ね合わせた場合を示している。このような場合、二
つの図形の交点を求めるには、ある1線分に対して残り
の全線分との交点を1次式を用いて求める、といった処
理を全線分に対して行い、全交点を算出していた。
等において図形処理を行う場合、図形の中塗りやその他
の処理を行う際に、図形の頂点に加えて線分の交点を求
める必要がある場合が存在する。図2は、このような場
合の説明図である。即ち、図2では、正方形と三角形と
を重ね合わせた場合を示している。このような場合、二
つの図形の交点を求めるには、ある1線分に対して残り
の全線分との交点を1次式を用いて求める、といった処
理を全線分に対して行い、全交点を算出していた。
【0003】以下、これを詳細に説明する。最初に、元
図形として図2に示した正方形(図形1)を考える。こ
の図形はX−Y座標系で表され、外部から正方形の頂点
A、B、C、Dと三角形(図形2)の頂点E、F、Gが
この順でX座標、Y座標によって与えられたとする。そ
して、これらの各頂点の座標をそれぞれA(XA 、YA
)、B(XB 、YB )、C(XC 、YC )、D(XD
、YD )、E(XE 、YE )、F(XF 、YF )、G
(XG 、YG )と表す。先ず、最初の線分ABに対して
交点を求めるには、次の線分BCとの交点から、線分C
D、DA、EF、FG、GEとの交点までを順に求め
る。また、線分ABと線分EFとの交点P1は、 x=XA y={(YE −YF )/(XE −XF )}×(XA −X
E )+YF で求められ、これは2線分AB、EF上にあるので、交
点として情報を持つ。
図形として図2に示した正方形(図形1)を考える。こ
の図形はX−Y座標系で表され、外部から正方形の頂点
A、B、C、Dと三角形(図形2)の頂点E、F、Gが
この順でX座標、Y座標によって与えられたとする。そ
して、これらの各頂点の座標をそれぞれA(XA 、YA
)、B(XB 、YB )、C(XC 、YC )、D(XD
、YD )、E(XE 、YE )、F(XF 、YF )、G
(XG 、YG )と表す。先ず、最初の線分ABに対して
交点を求めるには、次の線分BCとの交点から、線分C
D、DA、EF、FG、GEとの交点までを順に求め
る。また、線分ABと線分EFとの交点P1は、 x=XA y={(YE −YF )/(XE −XF )}×(XA −X
E )+YF で求められ、これは2線分AB、EF上にあるので、交
点として情報を持つ。
【0004】一方、線分ABと線分FGとの交点P1′
は、 x′=XA y′={(YF −YG )/(XF −XG )}×(XA −
XF )+YF で求められ、これは線分FG上となるが、線分AB上で
はないので交点とはしない。図3に、この状態を拡大し
て示す。
は、 x′=XA y′={(YF −YG )/(XF −XG )}×(XA −
XF )+YF で求められ、これは線分FG上となるが、線分AB上で
はないので交点とはしない。図3に、この状態を拡大し
て示す。
【0005】以上のようにして線分ABとの交点とし
て、P1のみが求められる。続いて線分BCに対して交
点を求めるには、次の線分CDとの交点からDA、E
F、FG、GEとの交点まで求め、これ以降同様に繰り
返し、最終的に交点P1、P2を得る。
て、P1のみが求められる。続いて線分BCに対して交
点を求めるには、次の線分CDとの交点からDA、E
F、FG、GEとの交点まで求め、これ以降同様に繰り
返し、最終的に交点P1、P2を得る。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の図形処理装置では、図形の全線分に対してそれぞれ
残りの全線分との交点を求めるため、その処理に非常に
多くの時間を要するという問題点があった。本発明は、
上記従来の問題点を解決するためになされたもので、線
分処理時間を短縮することのできる図形処理装置を提供
することを目的とする。
来の図形処理装置では、図形の全線分に対してそれぞれ
残りの全線分との交点を求めるため、その処理に非常に
多くの時間を要するという問題点があった。本発明は、
上記従来の問題点を解決するためになされたもので、線
分処理時間を短縮することのできる図形処理装置を提供
することを目的とする。
【0007】
【課題を解決するための手段】本発明の図形処理装置
は、複数の線分毎の座標情報を作成する線分情報作成部
と、前記線分情報作成部で作成された線分毎の座標情報
に基づき、各線分の並べ替えを行うソーティング部と、
前記ソーティング部で並べ替えられた各線分からある線
分と交差する可能性のある線分を抽出する線分抽出部
と、前記線分抽出部で抽出された線分のみの交点演算を
行う交点検出部とを備えたことを特徴とするものであ
る。
は、複数の線分毎の座標情報を作成する線分情報作成部
と、前記線分情報作成部で作成された線分毎の座標情報
に基づき、各線分の並べ替えを行うソーティング部と、
前記ソーティング部で並べ替えられた各線分からある線
分と交差する可能性のある線分を抽出する線分抽出部
と、前記線分抽出部で抽出された線分のみの交点演算を
行う交点検出部とを備えたことを特徴とするものであ
る。
【0008】
【作用】本発明の図形処理装置においては、例えば図形
の頂点数と各頂点の座標等が座標入力端子から入力され
る。これらの座標等の情報に基づき線分情報作成部で
は、複数の線分毎の座標情報を作成する。ソーティング
部は、線分情報作成部からの座標情報を入力し、例えば
y座標の小さい順に並べ替える等、各線分の並べ替えを
行う。線分抽出部は、ソーティング部で並べ替えられた
線分情報を入力し、交点が存在する可能性のある線分を
抽出する。交点検出部では、線分抽出部で抽出された線
分のみを用いて各線分の交点演算を行い、図形の交点を
求める。
の頂点数と各頂点の座標等が座標入力端子から入力され
る。これらの座標等の情報に基づき線分情報作成部で
は、複数の線分毎の座標情報を作成する。ソーティング
部は、線分情報作成部からの座標情報を入力し、例えば
y座標の小さい順に並べ替える等、各線分の並べ替えを
行う。線分抽出部は、ソーティング部で並べ替えられた
線分情報を入力し、交点が存在する可能性のある線分を
抽出する。交点検出部では、線分抽出部で抽出された線
分のみを用いて各線分の交点演算を行い、図形の交点を
求める。
【0009】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の図形処理装置を示す機能ブロ
ック図である。図の装置は、座標入力端子1、線分情報
作成部2、ソーティング部3、線分抽出部4、固定線分
カウンタ5、交点検出部6からなる。
説明する。図1は本発明の図形処理装置を示す機能ブロ
ック図である。図の装置は、座標入力端子1、線分情報
作成部2、ソーティング部3、線分抽出部4、固定線分
カウンタ5、交点検出部6からなる。
【0010】座標入力端子1は、図形の座標を与えるた
めの入力端子であり、線分情報作成部2は、この座標入
力端子1から入力された図形の複数の線分毎の座標情報
を作成する機能を有し、その座標情報はソーティング部
3に入力されるよう構成されている。また、ソーティン
グ部3は、交点を求め易くするために座標情報を並べ替
えるためのもので、本実施例では、各線分をY座標の小
さい順にソーティングを行うよう構成されている。線分
抽出部4は、ソーティング部3で並べ替えられた各線分
毎の座標情報に基づき、各線分の座標を比較し、ある線
分に対して交点の存在する可能性のある線分を抽出する
機能を有している。また、固定線分カウンタ5は、線分
抽出部4の抽出処理においてどの線分を固定線分(比較
元としている線分)としているかをカウントするための
カウンタである。
めの入力端子であり、線分情報作成部2は、この座標入
力端子1から入力された図形の複数の線分毎の座標情報
を作成する機能を有し、その座標情報はソーティング部
3に入力されるよう構成されている。また、ソーティン
グ部3は、交点を求め易くするために座標情報を並べ替
えるためのもので、本実施例では、各線分をY座標の小
さい順にソーティングを行うよう構成されている。線分
抽出部4は、ソーティング部3で並べ替えられた各線分
毎の座標情報に基づき、各線分の座標を比較し、ある線
分に対して交点の存在する可能性のある線分を抽出する
機能を有している。また、固定線分カウンタ5は、線分
抽出部4の抽出処理においてどの線分を固定線分(比較
元としている線分)としているかをカウントするための
カウンタである。
【0011】交点検出部6は、交点算出部7、交点範囲
判定部8、交点出力処理部9、比較線分カウンタ10か
らなる。ここで、交点算出部7は、線分抽出部4で抽出
された交点が存在する可能性のある線分の交点演算を行
う機能を有し、交点範囲判定部8は、交点算出部7で算
出された交点が2線分上にあるか否かを判定し、その結
果によって比較線分カウンタ10のカウントアップを行
うものである。また、交点出力処理部9は、交点範囲判
定部8で、その交点が2直線上にあると判定された場合
は、その交点を図示しないメモリ等に格納し、かつ比較
線分カウンタ10をカウントアップする機能を有してい
る。更に、比較線分カウンタ10は、線分抽出部4、交
点範囲判定部8および交点出力処理部9によって操作さ
れ、固定線分5と比較するための比較線分をカウントす
るためのカウンタである。
判定部8、交点出力処理部9、比較線分カウンタ10か
らなる。ここで、交点算出部7は、線分抽出部4で抽出
された交点が存在する可能性のある線分の交点演算を行
う機能を有し、交点範囲判定部8は、交点算出部7で算
出された交点が2線分上にあるか否かを判定し、その結
果によって比較線分カウンタ10のカウントアップを行
うものである。また、交点出力処理部9は、交点範囲判
定部8で、その交点が2直線上にあると判定された場合
は、その交点を図示しないメモリ等に格納し、かつ比較
線分カウンタ10をカウントアップする機能を有してい
る。更に、比較線分カウンタ10は、線分抽出部4、交
点範囲判定部8および交点出力処理部9によって操作さ
れ、固定線分5と比較するための比較線分をカウントす
るためのカウンタである。
【0012】次に、このように構成された図形処理装置
の動作について説明する。本実施例においても、交点を
検出する図形として図2に示したものを例にとって説明
する。図4は、処理図形に対応して外部から与えられる
座標リストである。即ち、この座標リストには図形1
(正方形)、図形2(三角形)の頂点数と各頂点の座標
が示されている。先ず、このような座標リストを元に、
線分情報作成部2は、それ以降の処理がし易いようにメ
モリリスト構造のような線分毎の情報を作成する。この
時、各線分情報の先頭アドレスのリストも作成する。図
5および図6に、このようなメモリリスト構造および先
頭アドレスのリストを示す。
の動作について説明する。本実施例においても、交点を
検出する図形として図2に示したものを例にとって説明
する。図4は、処理図形に対応して外部から与えられる
座標リストである。即ち、この座標リストには図形1
(正方形)、図形2(三角形)の頂点数と各頂点の座標
が示されている。先ず、このような座標リストを元に、
線分情報作成部2は、それ以降の処理がし易いようにメ
モリリスト構造のような線分毎の情報を作成する。この
時、各線分情報の先頭アドレスのリストも作成する。図
5および図6に、このようなメモリリスト構造および先
頭アドレスのリストを示す。
【0013】また、図7はこのような処理を行う場合の
フローチャートであり、以下、このフローチャートに沿
って線分情報作成処理を説明する。先ず、図形の頂点数
があるか否かを判定し(ステップS1)、頂点数が0で
なかった場合は、座標が頂点数以内であるかを判定し
(ステップS2)、そうでなかった場合はステップS1
に戻る。ここでは、最初のステップであるため頂点数は
0でなく、また、頂点数内であるためステップS3に移
行し、図4に示す座標リストから最初の線分ABの端点
座標を取出す。そして、図5に示すように、座標の始点
・終点として新しく格納する(ステップS4)。ここで
は、次のソーティング部3で線分をy座標の小さい順に
並べ替えるため、線分の両端点のうちy座標の小さい方
の点(y座標が等しい場合は、どちらでもよい)を始
点、もう一方を終点と呼ぶ。従って、始点として点Aの
座標を、終点として点Bの座標を格納する。
フローチャートであり、以下、このフローチャートに沿
って線分情報作成処理を説明する。先ず、図形の頂点数
があるか否かを判定し(ステップS1)、頂点数が0で
なかった場合は、座標が頂点数以内であるかを判定し
(ステップS2)、そうでなかった場合はステップS1
に戻る。ここでは、最初のステップであるため頂点数は
0でなく、また、頂点数内であるためステップS3に移
行し、図4に示す座標リストから最初の線分ABの端点
座標を取出す。そして、図5に示すように、座標の始点
・終点として新しく格納する(ステップS4)。ここで
は、次のソーティング部3で線分をy座標の小さい順に
並べ替えるため、線分の両端点のうちy座標の小さい方
の点(y座標が等しい場合は、どちらでもよい)を始
点、もう一方を終点と呼ぶ。従って、始点として点Aの
座標を、終点として点Bの座標を格納する。
【0014】また、各線分はx座標とy座標の1次式y
=kx+y0 (k:線分の傾き、y0 :y切片)で捉
え、傾きと切片も線分情報として保持しておく(ステッ
プS5)。尚、線分の傾きと切片は次のように求められ
る。 (1) 水平・垂直の線分 傾き 0 切片 y座標(水平)、x座標(垂直) (2) その他の部分 傾き (終点のy座標−始点のy座標)/(終点のx座
標−始点のx座標) 切片 (一方のy座標)−(傾き)×(同じ点のx座
標) 例えば、線分ABの場合、傾き「0」、切片「XA 」を
格納する。
=kx+y0 (k:線分の傾き、y0 :y切片)で捉
え、傾きと切片も線分情報として保持しておく(ステッ
プS5)。尚、線分の傾きと切片は次のように求められ
る。 (1) 水平・垂直の線分 傾き 0 切片 y座標(水平)、x座標(垂直) (2) その他の部分 傾き (終点のy座標−始点のy座標)/(終点のx座
標−始点のx座標) 切片 (一方のy座標)−(傾き)×(同じ点のx座
標) 例えば、線分ABの場合、傾き「0」、切片「XA 」を
格納する。
【0015】次に、線分ABの一連の情報の先頭アドレ
ス、即ち、始点のx座標を格納したアドレスをアドレス
リスト(図6に示したもの)に格納する(ステップS
6)。その後は、座標リスト・アドレスリストのカウン
タを更新し(ステップS7)、このような線分情報の格
納を頂点数分繰り返すことにより、一つの図形分の線分
情報が作成できる。そして、これをステップS1におい
て、頂点数が0となるまで繰り返し、線分情報のリスト
とそのアドレスリストを完成させる。
ス、即ち、始点のx座標を格納したアドレスをアドレス
リスト(図6に示したもの)に格納する(ステップS
6)。その後は、座標リスト・アドレスリストのカウン
タを更新し(ステップS7)、このような線分情報の格
納を頂点数分繰り返すことにより、一つの図形分の線分
情報が作成できる。そして、これをステップS1におい
て、頂点数が0となるまで繰り返し、線分情報のリスト
とそのアドレスリストを完成させる。
【0016】次に、線分情報作成部2で作成された情報
を、ソーティング部3で、各線分の始点のy座標を基準
として小さい順にソーティングする。実際には、図5の
線分情報のメモリリストはそのままで、図6のアドレス
リストを並べ替え、そのアドレスリストの順に線分情報
を読むようにする。図8にソーティングされたアドレス
リストを示す。また、図9はソーティング後の図形線分
の順番の説明図である。このように、図8の先頭アドレ
スの順番は図9に示すようになっている。尚、の線分
ABとの線分DC、また、の線分EFとの線分E
Gは、それぞれ順番が入れ替わっても処理には影響はな
い。以上で、交点を求めるための準備が終了し、次いで
交点の存在する可能性のある線分を抽出する線分抽出部
4の動作と交点演算を行う交点検出部6の動作となる。
を、ソーティング部3で、各線分の始点のy座標を基準
として小さい順にソーティングする。実際には、図5の
線分情報のメモリリストはそのままで、図6のアドレス
リストを並べ替え、そのアドレスリストの順に線分情報
を読むようにする。図8にソーティングされたアドレス
リストを示す。また、図9はソーティング後の図形線分
の順番の説明図である。このように、図8の先頭アドレ
スの順番は図9に示すようになっている。尚、の線分
ABとの線分DC、また、の線分EFとの線分E
Gは、それぞれ順番が入れ替わっても処理には影響はな
い。以上で、交点を求めるための準備が終了し、次いで
交点の存在する可能性のある線分を抽出する線分抽出部
4の動作と交点演算を行う交点検出部6の動作となる。
【0017】図10は、線分抽出部4と交点検出部6の
動作フローチャートである。先ず、ステップS1におい
て固定線分カウンタを更新、即ち、最初は固定線分カウ
ンタを「1」とする。そして、ステップS2において、
この固定線分が最後の線分かを判定する。ここでは、固
定線分は最後ではないため、ステップS3に移行し、図
8に示した各線分の先頭アドレスのリストから1番目の
線分ADを取出す。この時の線分ADを固定線分、その
他の線分を比較線分と呼ぶことにする。次いで、ステッ
プS4では、比較線分カウンタの更新を行うが、ここで
は最初であるため、そのカウンタ値を「1」とし、更
に、ステップS5では線分数内かを判定するが、ここで
は線分数内であるため、比較線分を取出す(ステップS
6)。この比較線分は、アドレスリストにおいて、固定
線分の次から始まる。従って、ステップS6では、1番
目の比較線分としてABを取出し、その比較線分と上述
した固定線分に交点が存在するかどうかを判定する(ス
テップS7)。
動作フローチャートである。先ず、ステップS1におい
て固定線分カウンタを更新、即ち、最初は固定線分カウ
ンタを「1」とする。そして、ステップS2において、
この固定線分が最後の線分かを判定する。ここでは、固
定線分は最後ではないため、ステップS3に移行し、図
8に示した各線分の先頭アドレスのリストから1番目の
線分ADを取出す。この時の線分ADを固定線分、その
他の線分を比較線分と呼ぶことにする。次いで、ステッ
プS4では、比較線分カウンタの更新を行うが、ここで
は最初であるため、そのカウンタ値を「1」とし、更
に、ステップS5では線分数内かを判定するが、ここで
は線分数内であるため、比較線分を取出す(ステップS
6)。この比較線分は、アドレスリストにおいて、固定
線分の次から始まる。従って、ステップS6では、1番
目の比較線分としてABを取出し、その比較線分と上述
した固定線分に交点が存在するかどうかを判定する(ス
テップS7)。
【0018】ここで、2線分の交点が存在し得る比較線
分は、y座標が固定線分の最小値と最大値の間にかかる
線分であるから、 (固定線分の終点のy座標)>(比較線分の始点のy座
標) という条件式を満たす線分である。今、取り出されてい
る2線分の座標を上式で考えると、YD =YA となるか
ら交点は存在し得ず、線分ADとの交点が存在する線分
はないことになる。図11は、この状態の説明図であ
る。この図11の(a)に示すように、線分ADの終点
座標と線分ABの始点座標は等しいため、点Aが頂点で
はあっても、2線分の交点は存在しないことになる。ま
た、この2線分のように、ある線分と次の線分との交点
判定を行い、その結果、交点が存在しないと判定された
場合は、線分が予めソーティングされているため、それ
以降の線分との交点判定を行わなくとも済むことにな
る。
分は、y座標が固定線分の最小値と最大値の間にかかる
線分であるから、 (固定線分の終点のy座標)>(比較線分の始点のy座
標) という条件式を満たす線分である。今、取り出されてい
る2線分の座標を上式で考えると、YD =YA となるか
ら交点は存在し得ず、線分ADとの交点が存在する線分
はないことになる。図11は、この状態の説明図であ
る。この図11の(a)に示すように、線分ADの終点
座標と線分ABの始点座標は等しいため、点Aが頂点で
はあっても、2線分の交点は存在しないことになる。ま
た、この2線分のように、ある線分と次の線分との交点
判定を行い、その結果、交点が存在しないと判定された
場合は、線分が予めソーティングされているため、それ
以降の線分との交点判定を行わなくとも済むことにな
る。
【0019】このように、ステップS7において、交点
の存在する可能性がない場合は、ステップS1に戻り、
固定線分カウンタを更新する。即ち、次の線分ABが固
定線分となる。そして、ステップS3において、その固
定線分ABを取出し、更にステップS4では比較線分カ
ウンタを更新するため、比較線分はDCとなる(図11
の(b)にこの状態を示す)。線分ABと線分DCとの
交点の有無を判定すると(ステップS7)、YB >YD
となり条件式を満たすが、次のステップS8において、
ABとDCとは平行であるため交点は存在せず、ステッ
プS4に戻る。従って、ステップS4で比較線分カウン
タを更新し、ステップS6で比較線分EFが取り出され
る。この場合は、ステップS7において、YB >YE よ
り条件式が満たされ、かつステップS8の平行判定にお
いて、2線分は平行ではないため、ステップS9の交点
算出の処理に移る。
の存在する可能性がない場合は、ステップS1に戻り、
固定線分カウンタを更新する。即ち、次の線分ABが固
定線分となる。そして、ステップS3において、その固
定線分ABを取出し、更にステップS4では比較線分カ
ウンタを更新するため、比較線分はDCとなる(図11
の(b)にこの状態を示す)。線分ABと線分DCとの
交点の有無を判定すると(ステップS7)、YB >YD
となり条件式を満たすが、次のステップS8において、
ABとDCとは平行であるため交点は存在せず、ステッ
プS4に戻る。従って、ステップS4で比較線分カウン
タを更新し、ステップS6で比較線分EFが取り出され
る。この場合は、ステップS7において、YB >YE よ
り条件式が満たされ、かつステップS8の平行判定にお
いて、2線分は平行ではないため、ステップS9の交点
算出の処理に移る。
【0020】この交点算出は、x=X0 (垂直線)とy
=ax+bとの交点の場合、 xP =x0 yP =a×X0 +b となり、y=ax+bとy=cx+dとの交点の場合
(a=0またはc=0の場合も可)、 xp =(d−b)/(a−c) y=a×xp +b となる。従って、線分ABと線分EFの場合、交点(x
p ,yp )の座標は、それぞれ、 xp =XA y=(EFの傾き)×XA +(EFのy切片) で求められる。そして、このように求めた交点の座標
は、2線分ABとEF上であるか否かが判定され(ステ
ップS10)、2線分上にあるためこの座標は交点とし
て図示しないメモリ等に格納される(ステップS1
1)。これが、図2に示すP1である。
=ax+bとの交点の場合、 xP =x0 yP =a×X0 +b となり、y=ax+bとy=cx+dとの交点の場合
(a=0またはc=0の場合も可)、 xp =(d−b)/(a−c) y=a×xp +b となる。従って、線分ABと線分EFの場合、交点(x
p ,yp )の座標は、それぞれ、 xp =XA y=(EFの傾き)×XA +(EFのy切片) で求められる。そして、このように求めた交点の座標
は、2線分ABとEF上であるか否かが判定され(ステ
ップS10)、2線分上にあるためこの座標は交点とし
て図示しないメモリ等に格納される(ステップS1
1)。これが、図2に示すP1である。
【0021】続いて、ステップS4に戻り、比較線分を
次のEGとする。この場合もYB >YE と条件式を満た
し、かつ2線分は平行ではないため、ステップS9で交
点座標の算出が行われるが、ステップS10において交
点が2線分上にはないと判定されるため、ステップS4
に戻る。図12に、その線分の状態を示す。即ち、ステ
ップS9で求めた交点座標は線分EGの延長線と線分A
Bとの交点であって、線分EG上にはないからである。
以降、上記の処理を同様に繰り返し、ステップS7にお
いて比較線分が条件式を満たさない時、あるいはステッ
プS5において比較線分が最後の線分になった時にステ
ップS1で固定線分カウンタを更新する。そして、固定
線分が最後の線分になった時は(ステップS2)、比較
線分がなくなるため処理を終了する。以上のようにし
て、図2で示した交点P1、P2を検出する。
次のEGとする。この場合もYB >YE と条件式を満た
し、かつ2線分は平行ではないため、ステップS9で交
点座標の算出が行われるが、ステップS10において交
点が2線分上にはないと判定されるため、ステップS4
に戻る。図12に、その線分の状態を示す。即ち、ステ
ップS9で求めた交点座標は線分EGの延長線と線分A
Bとの交点であって、線分EG上にはないからである。
以降、上記の処理を同様に繰り返し、ステップS7にお
いて比較線分が条件式を満たさない時、あるいはステッ
プS5において比較線分が最後の線分になった時にステ
ップS1で固定線分カウンタを更新する。そして、固定
線分が最後の線分になった時は(ステップS2)、比較
線分がなくなるため処理を終了する。以上のようにし
て、図2で示した交点P1、P2を検出する。
【0022】このようにして交点P1、P2を求めた場
合、従来の方式では交点の算出が19回必要であったの
に対し、本実施例では8回で済み、大幅な短縮を図るこ
とが可能となった。例えば、本実施例をページプリンタ
に適用した場合、交点を求める処理時間が従来の0.0
73186秒から本実施例の0.027950秒とな
り、61.8%の速度向上を図ることができた。また、
上述した図形を印刷する場合のデータを受信してから印
刷起動までの時間は、0.167105秒から0.10
0272秒となり、40.0%の速度向上となった。
合、従来の方式では交点の算出が19回必要であったの
に対し、本実施例では8回で済み、大幅な短縮を図るこ
とが可能となった。例えば、本実施例をページプリンタ
に適用した場合、交点を求める処理時間が従来の0.0
73186秒から本実施例の0.027950秒とな
り、61.8%の速度向上を図ることができた。また、
上述した図形を印刷する場合のデータを受信してから印
刷起動までの時間は、0.167105秒から0.10
0272秒となり、40.0%の速度向上となった。
【0023】尚、上記実施例では、ソーティング部3に
おけるソーティングを、y方向について行ったが、これ
をx方向としてもよい。また、ソーティングを座標の小
さい順ではなく、大きい順に行っても上記実施例と同様
の効果を奏する。
おけるソーティングを、y方向について行ったが、これ
をx方向としてもよい。また、ソーティングを座標の小
さい順ではなく、大きい順に行っても上記実施例と同様
の効果を奏する。
【0024】
【発明の効果】以上説明したように、本発明の図形処理
装置によれば、複数の線分をソーティングしてある線分
と交差する可能性のある線分を抽出し、抽出された線分
のみを交点演算に用いるようにしたので、交点算出演算
処理において、交差する可能性のある線分を絞ることが
でき、その結果交点を求める処理時間を大幅に削減する
ことができる。
装置によれば、複数の線分をソーティングしてある線分
と交差する可能性のある線分を抽出し、抽出された線分
のみを交点演算に用いるようにしたので、交点算出演算
処理において、交差する可能性のある線分を絞ることが
でき、その結果交点を求める処理時間を大幅に削減する
ことができる。
【図1】本発明の図形処理装置の機能ブロック図であ
る。
る。
【図2】本発明および従来の図形処理装置に係わる図形
例を示す図である。
例を示す図である。
【図3】図2の頂点B付近の拡大図である。
【図4】本発明の図形処理装置において外部から与えら
れる図形の座標リストを示す図である。
れる図形の座標リストを示す図である。
【図5】本発明の図形処理装置における線分情報のメモ
リリスト構造を示す図である。
リリスト構造を示す図である。
【図6】本発明の図形処理装置における各線分の先頭ア
ドレスのリストを示す図である。
ドレスのリストを示す図である。
【図7】本発明の図形処理装置における線分情報作成の
フローチャートである。
フローチャートである。
【図8】本発明の図形処理装置におけるソーティング後
の各線分の先頭アドレスのリストを示す図である。
の各線分の先頭アドレスのリストを示す図である。
【図9】本発明の図形処理装置におけるソーティング後
の各線分の順番を示す図である。
の各線分の順番を示す図である。
【図10】本発明の図形処理装置における線分抽出と交
点検出のフローチャートである。
点検出のフローチャートである。
【図11】本発明の図形処理装置における固定線分と比
較線分の関係の説明図である。
較線分の関係の説明図である。
【図12】本発明の図形処理装置における線分ABと線
分EGとの交点検出の説明図である。
分EGとの交点検出の説明図である。
2 線分情報作成部 3 ソーティング部 4 線分抽出部 6 交点検出部
Claims (1)
- 【請求項1】 複数の線分毎の座標情報を作成する線分
情報作成部と、 前記線分情報作成部で作成された線分毎の座標情報に基
づき、各線分の並べ替えを行うソーティング部と、 前記ソーティング部で並べ替えられた各線分からある線
分と交差する可能性のある線分を抽出する線分抽出部
と、 前記線分抽出部で抽出された線分のみの交点演算を行う
交点検出部とを備えたことを特徴とする図形処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23541292A JPH0660194A (ja) | 1992-08-11 | 1992-08-11 | 図形処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23541292A JPH0660194A (ja) | 1992-08-11 | 1992-08-11 | 図形処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0660194A true JPH0660194A (ja) | 1994-03-04 |
Family
ID=16985716
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23541292A Pending JPH0660194A (ja) | 1992-08-11 | 1992-08-11 | 図形処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0660194A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012503809A (ja) * | 2008-09-28 | 2012-02-09 | 北大方正集▲団▼有限公司 | 複雑なパスの簡素化方法及び装置 |
-
1992
- 1992-08-11 JP JP23541292A patent/JPH0660194A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012503809A (ja) * | 2008-09-28 | 2012-02-09 | 北大方正集▲団▼有限公司 | 複雑なパスの簡素化方法及び装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7023439B2 (en) | Activating a filling of a graphical object | |
| JP2541539B2 (ja) | 図形処理装置 | |
| US8723884B2 (en) | Scan converting a set of vector edges to a set of pixel aligned edges | |
| JPH0660194A (ja) | 図形処理装置 | |
| GB2226481A (en) | Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system | |
| JPS61147374A (ja) | 類似デ−タ検出方法および装置 | |
| JP3082467B2 (ja) | アウトラインデータ処理装置 | |
| JPH02245886A (ja) | 図形描画方法及び図形処理装置 | |
| JP2644796B2 (ja) | 文字図形等の描画処理方式 | |
| JPH1021415A (ja) | 図形処理装置並びに図形処理方法 | |
| JP2002208017A (ja) | 描画処理装置 | |
| JPH0752466B2 (ja) | ラスターオペレーション装置およびその方法 | |
| JP2000235383A (ja) | 文字処理装置および文字処理方法 | |
| JP2752762B2 (ja) | ノードマッチング処理方式 | |
| JPS6125190B2 (ja) | ||
| JPH0581390A (ja) | 電子組版装置における図形抽出方法及び図形抽出装置 | |
| JPH06259507A (ja) | 図形分割装置 | |
| JPH0140375B2 (ja) | ||
| JPH04131973A (ja) | 図形出力装置 | |
| JPH04310190A (ja) | 中抜きハッチング処理方式 | |
| JP2001331166A (ja) | 文字処理装置 | |
| JP2003006233A (ja) | Cadシステムにおける文字登録方法、並びにcadシステムにおける文字作図方法及びシステム | |
| JPH07110867A (ja) | 描画装置 | |
| JPS63167977A (ja) | 3次元形状ピツク方法 | |
| JP2003006236A (ja) | タイヤ用文字列作図システム |