JP2786294B2 - 図形データ検策・格納方法 - Google Patents
図形データ検策・格納方法Info
- Publication number
- JP2786294B2 JP2786294B2 JP2036038A JP3603890A JP2786294B2 JP 2786294 B2 JP2786294 B2 JP 2786294B2 JP 2036038 A JP2036038 A JP 2036038A JP 3603890 A JP3603890 A JP 3603890A JP 2786294 B2 JP2786294 B2 JP 2786294B2
- Authority
- JP
- Japan
- Prior art keywords
- graphic
- cell
- address
- memory area
- stored
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機に入力した図形データを、メモリへ
格納し、そのメモリに格納した情報から図形データを検
索する方法に係り、特に任意の位置にある図形を高速に
検索し、メモリを効率良く使用するのに好適な、図形デ
ータ検索・格納方法に関する。
格納し、そのメモリに格納した情報から図形データを検
索する方法に係り、特に任意の位置にある図形を高速に
検索し、メモリを効率良く使用するのに好適な、図形デ
ータ検索・格納方法に関する。
図形データの検索に関連して、特開昭58−117077号に
は、図形データの格納アドレスを登録したアドレスデー
タテーブルと、管理テーブルであって、図形データの存
在する有効座標領域を適当な小区分領域に分割した各領
域について、その領域を代表する座標とこの区分領域を
通過する図形のアドレスを格納したアドレスデータテー
ブル上の領域アドレスとを対応づけた管理テーブルと
の、二つのテーブルを用いて図形を検索する方法が提案
されている。
は、図形データの格納アドレスを登録したアドレスデー
タテーブルと、管理テーブルであって、図形データの存
在する有効座標領域を適当な小区分領域に分割した各領
域について、その領域を代表する座標とこの区分領域を
通過する図形のアドレスを格納したアドレスデータテー
ブル上の領域アドレスとを対応づけた管理テーブルと
の、二つのテーブルを用いて図形を検索する方法が提案
されている。
上記従来技術には、次のような問題があった。
(1).任意の図形を検索する場合に、数段階に階層化
された管理テーブルを参照する必要があり、図形処理の
高速化の障害となっている。
された管理テーブルを参照する必要があり、図形処理の
高速化の障害となっている。
(2).この方式を有効にするためには、アドレスデー
タテーブルには区分領域に含まれる図形が順番に入って
いなければならない。従って図形を新たに追加したり、
削除すると、アドレスデータをソーティングして区分領
域に含まれる図形が順番に入るようにアドレスデータを
並べかえる必要がある。
タテーブルには区分領域に含まれる図形が順番に入って
いなければならない。従って図形を新たに追加したり、
削除すると、アドレスデータをソーティングして区分領
域に含まれる図形が順番に入るようにアドレスデータを
並べかえる必要がある。
(3).図形を構成する線分の端点、屈曲点、線分など
を選択的に検索する機能がないため、例えば線分上の指
定位置の点だけを検索する場合に、まず候補になる図形
全体を検索し、その後で求める点を抽出する必要があ
り、検索の能率が悪い。
を選択的に検索する機能がないため、例えば線分上の指
定位置の点だけを検索する場合に、まず候補になる図形
全体を検索し、その後で求める点を抽出する必要があ
り、検索の能率が悪い。
そこで、本発明の目的は、図形データに対して、これ
らの問題を解決する能率の良い図形データの検索・格納
方法を提案することにある。
らの問題を解決する能率の良い図形データの検索・格納
方法を提案することにある。
上記目的は、図形データの格納アドレスを、位置座標
に対応づけた多次元配列のアドレスデータテーブルに格
納し、さらに未使用のアドレスデータテーブルのメモリ
領域を他から間接的に利用することでメモリの使用効率
を向上させることにより達成される。また、特に図形デ
ータを構成する線分の(i)端点、(ii)屈曲点、(ii
i)線分上の点、(iv)面を構成する点、さらに(v)
関連する属性情報のいずれかだけを検索する場合には、
対象となる条件を満たす図形データまたは、属性情報の
格納アドレスだけをアドレスデータテーブルに格納して
検索を行うか、またはアドレスデータテーブルに各項目
に対応する図形識別子を併せて格納することにより、能
率の良い図形、属性情報検索が達成される。
に対応づけた多次元配列のアドレスデータテーブルに格
納し、さらに未使用のアドレスデータテーブルのメモリ
領域を他から間接的に利用することでメモリの使用効率
を向上させることにより達成される。また、特に図形デ
ータを構成する線分の(i)端点、(ii)屈曲点、(ii
i)線分上の点、(iv)面を構成する点、さらに(v)
関連する属性情報のいずれかだけを検索する場合には、
対象となる条件を満たす図形データまたは、属性情報の
格納アドレスだけをアドレスデータテーブルに格納して
検索を行うか、またはアドレスデータテーブルに各項目
に対応する図形識別子を併せて格納することにより、能
率の良い図形、属性情報検索が達成される。
本発明では、空間的広がりを持つ図形データに対し
て、その図形データの広がり以上の次元を持つ配列から
なるアドレスデータテーブルを対応づける。ここで、図
形データとアドレスデータテーブルの間で座標変換を行
なうことにより、図形上の任意の点をアドレスデータテ
ーブルの一つの配列番号に対応づけることができる。そ
して各図形データが格納されている図形データテーブル
の格納先アドレスを、アドレスデータテーブルに格納す
る。ここで任意の位置にある図形データを検索する場
合、その位置からアドレスデータテーブルの対応する配
列番号を求め、そこに格納されている図形データの格納
先アドレスを介して所望の図形を検索することができ
る。又、任意のセルに対応するアドレスデータテーブル
のメモリ領域が満杯の場合、アドレスデータテーブル
に、図形データが格納されている図形データテーブルの
格納先アドレスと併せて、他のセルに割り当てられたメ
モリ領域を間接的に利用するための関連情報を代替格納
するので、アドレスデータテーブルを効率良く使用する
ことができる。さらに、アドレスデータテーブルに、図
形データの図形識別子を格納すれば、検索時にこの図形
識別子を判定することにより、線分や点などの図形を構
成する特定の要素や関連する属性情報等を選択的に能率
良く抽出することもできる。
て、その図形データの広がり以上の次元を持つ配列から
なるアドレスデータテーブルを対応づける。ここで、図
形データとアドレスデータテーブルの間で座標変換を行
なうことにより、図形上の任意の点をアドレスデータテ
ーブルの一つの配列番号に対応づけることができる。そ
して各図形データが格納されている図形データテーブル
の格納先アドレスを、アドレスデータテーブルに格納す
る。ここで任意の位置にある図形データを検索する場
合、その位置からアドレスデータテーブルの対応する配
列番号を求め、そこに格納されている図形データの格納
先アドレスを介して所望の図形を検索することができ
る。又、任意のセルに対応するアドレスデータテーブル
のメモリ領域が満杯の場合、アドレスデータテーブル
に、図形データが格納されている図形データテーブルの
格納先アドレスと併せて、他のセルに割り当てられたメ
モリ領域を間接的に利用するための関連情報を代替格納
するので、アドレスデータテーブルを効率良く使用する
ことができる。さらに、アドレスデータテーブルに、図
形データの図形識別子を格納すれば、検索時にこの図形
識別子を判定することにより、線分や点などの図形を構
成する特定の要素や関連する属性情報等を選択的に能率
良く抽出することもできる。
本発明による図形データの格納方法を第1図により説
明する。
明する。
まず、図形データを格納するための図形データテーブ
ル12、属性情報を格納するための属性情報テーブル13の
一例を示す。図形データテーブル12において、Nmは、第
m番目の図形を構成している点(図形データ)の数、▲
Pn m▼は、第m番目の図形を構成する第n番目の点(図
形データ)を示し、その右に書かれたX,Yは、それぞれ
▲Pn m▼のX座標、Y座標を表す。又、属性情報データ
テーブル13において、Amは,第m番目の属性情報を示
し、その右に書かれたX,Yは、それぞれAmのX座標,Y座
標を、Cmは、その属性情報の内容を表わす。この属性情
報は、種々の情報を図面上のX,Y座標と関連させて格納
する場合に用いる。例えば属性情報としては、地図上の
寺院の記号が位置する場所(座標)とともにその属性情
報の内容として寺院名を格納する。本実施例では、この
ような数値化された二次元の線図形、属性情報に関する
図形データ、属性情報等のデータテーブル上の格納先ア
ドレスをアドレスデータテーブル11に登録する。
ル12、属性情報を格納するための属性情報テーブル13の
一例を示す。図形データテーブル12において、Nmは、第
m番目の図形を構成している点(図形データ)の数、▲
Pn m▼は、第m番目の図形を構成する第n番目の点(図
形データ)を示し、その右に書かれたX,Yは、それぞれ
▲Pn m▼のX座標、Y座標を表す。又、属性情報データ
テーブル13において、Amは,第m番目の属性情報を示
し、その右に書かれたX,Yは、それぞれAmのX座標,Y座
標を、Cmは、その属性情報の内容を表わす。この属性情
報は、種々の情報を図面上のX,Y座標と関連させて格納
する場合に用いる。例えば属性情報としては、地図上の
寺院の記号が位置する場所(座標)とともにその属性情
報の内容として寺院名を格納する。本実施例では、この
ような数値化された二次元の線図形、属性情報に関する
図形データ、属性情報等のデータテーブル上の格納先ア
ドレスをアドレスデータテーブル11に登録する。
10は、図面に書かれた図形の存在する領域である。図
面は二次元的な広がりを有し、第1図の(0,0)を原点
にとりX方向、Y方向を図のように決める。そして、図
形の存在領域10をX方向、Y方向にそれぞれ等分割し
て、セルと呼ばれる領域に区分する。図中14が分割され
た各セルである。Iは、各セル14のX方向の番号、J
は、各セルのY方向の番号である。アドレスデータテー
ブル11には、各セル14に対応して、あらかじめ定められ
た固定容量のメモリ領域111が対応づけられている。こ
こで、図面上の各セルを(I,J)で表わし、それに対応
するアドレスデータテーブル11の固定容量のメモリ領域
をX(I,J)と表わす。セル(I,J)に対応する固定容量
のメモリ領域X(I,J)はDP個に細分されており、これ
は配列と考えることができる。ここでDPは、セル(I,
J)に対応するメモリ領域X(I,J)に登録可能な図形デ
ータの格納アドレスの数であり、そのK番目にアドレス
データが有る場合はX(I,J,K)と表わすことにする。
本実施例では、DP=2とし、セル(I,J)に対して固定
容量のメモリ領域X(I,J)は、112,113の2つのメモリ
領域に細分されている。このメモリ領域112,113の先頭
アドレスは、I,J,Kを用いて計算される。セル(I,J)を
通過する全図形データ・属性情報等の格納アドレスをセ
ルに対応したメモリ領域X(I,J)に格納しきれない場
合、近辺のセルに対応したメモリ領域に代替して格納す
る。そのため、細分された各メモリ領域(I,J,K)に代
替アドレスデータを格納していることを示すための格納
先識別子aと、格納されているアドレスデータが自分自
身のセルのものか他のセルのものかを区別するための自
他判別子bとを格納する。各メモリ領域(I,J,K)に
は、格納先識別子a、自他判別子bの他、図形データ・
属性情報等が格納されている図形データテーブル12又は
属性情報テーブル13内の各領域の先頭アドレスを示すア
ドレスデータc、図形データ・属性情報等の特徴を示す
図形識別子dを登録する。格納先識別子aは、各セル
(I,J)に対応した細分された各メモリ領域X(I,J,K)
ごとに登録されているので、K番目のメモリ領域X(I,
J,K)に登録されている格納先識別子aを、他のセルに
対応したメモリ領域、例えばX(I+1,J)内のK番目
のメモリ領域X(I+1,J,K)に対応させて用いれば、
格納先識別子aと配列番号Kにより代替格納されている
メモリ領域X(I+1,J,K)の先頭アドレスを計算でき
る。これにより、高速なデータ検索が可能となる。
面は二次元的な広がりを有し、第1図の(0,0)を原点
にとりX方向、Y方向を図のように決める。そして、図
形の存在領域10をX方向、Y方向にそれぞれ等分割し
て、セルと呼ばれる領域に区分する。図中14が分割され
た各セルである。Iは、各セル14のX方向の番号、J
は、各セルのY方向の番号である。アドレスデータテー
ブル11には、各セル14に対応して、あらかじめ定められ
た固定容量のメモリ領域111が対応づけられている。こ
こで、図面上の各セルを(I,J)で表わし、それに対応
するアドレスデータテーブル11の固定容量のメモリ領域
をX(I,J)と表わす。セル(I,J)に対応する固定容量
のメモリ領域X(I,J)はDP個に細分されており、これ
は配列と考えることができる。ここでDPは、セル(I,
J)に対応するメモリ領域X(I,J)に登録可能な図形デ
ータの格納アドレスの数であり、そのK番目にアドレス
データが有る場合はX(I,J,K)と表わすことにする。
本実施例では、DP=2とし、セル(I,J)に対して固定
容量のメモリ領域X(I,J)は、112,113の2つのメモリ
領域に細分されている。このメモリ領域112,113の先頭
アドレスは、I,J,Kを用いて計算される。セル(I,J)を
通過する全図形データ・属性情報等の格納アドレスをセ
ルに対応したメモリ領域X(I,J)に格納しきれない場
合、近辺のセルに対応したメモリ領域に代替して格納す
る。そのため、細分された各メモリ領域(I,J,K)に代
替アドレスデータを格納していることを示すための格納
先識別子aと、格納されているアドレスデータが自分自
身のセルのものか他のセルのものかを区別するための自
他判別子bとを格納する。各メモリ領域(I,J,K)に
は、格納先識別子a、自他判別子bの他、図形データ・
属性情報等が格納されている図形データテーブル12又は
属性情報テーブル13内の各領域の先頭アドレスを示すア
ドレスデータc、図形データ・属性情報等の特徴を示す
図形識別子dを登録する。格納先識別子aは、各セル
(I,J)に対応した細分された各メモリ領域X(I,J,K)
ごとに登録されているので、K番目のメモリ領域X(I,
J,K)に登録されている格納先識別子aを、他のセルに
対応したメモリ領域、例えばX(I+1,J)内のK番目
のメモリ領域X(I+1,J,K)に対応させて用いれば、
格納先識別子aと配列番号Kにより代替格納されている
メモリ領域X(I+1,J,K)の先頭アドレスを計算でき
る。これにより、高速なデータ検索が可能となる。
ここで、格納先識別子aは、例えば、当該セルに隣接
する8個のセルに対し当該セルとの相対的な位置関係で
対応づけられたセル識別番号15に従って配列された8ビ
ットのコードからなり、代替格納先した場合“1"のフラ
グを立てて示す。ビットが“0"であれば対応する隣接セ
ルのメモリ領域に代替格納が可能であることを示す。従
って、格納時に、この格納先識別子aビット並びを片側
から順に、“0"のビットを捜索して、求まったビットに
対応する隣接セルのメモリ領域に対して自分と対応する
配列番号Kのメモリ領域を調べる。この代替格納候補の
メモリ領域に空きがあれば、ここにアドレスデータを代
替格納し、格納先識別子aの対応するビットに“1"のフ
ラグをセットする。また、代替格納候補のメモリ領域に
空きがなければ、フラグは“0"のままにし、次の候補を
調べる。一方、検索時には、格納先識別子aのビット並
びの中から、“1"のフラグがセットされている代替格納
先のみを選択して、I,J,Kを基にその先頭アドレスを求
める。
する8個のセルに対し当該セルとの相対的な位置関係で
対応づけられたセル識別番号15に従って配列された8ビ
ットのコードからなり、代替格納先した場合“1"のフラ
グを立てて示す。ビットが“0"であれば対応する隣接セ
ルのメモリ領域に代替格納が可能であることを示す。従
って、格納時に、この格納先識別子aビット並びを片側
から順に、“0"のビットを捜索して、求まったビットに
対応する隣接セルのメモリ領域に対して自分と対応する
配列番号Kのメモリ領域を調べる。この代替格納候補の
メモリ領域に空きがあれば、ここにアドレスデータを代
替格納し、格納先識別子aの対応するビットに“1"のフ
ラグをセットする。また、代替格納候補のメモリ領域に
空きがなければ、フラグは“0"のままにし、次の候補を
調べる。一方、検索時には、格納先識別子aのビット並
びの中から、“1"のフラグがセットされている代替格納
先のみを選択して、I,J,Kを基にその先頭アドレスを求
める。
自他識別子bの例としては、初期値に“0"を設定して
おき、他セルのアドレスデータを格納した場合“1"をセ
ットする方法がある。これにより、自分のセルに関する
アドレスデータを読み出す場合、値が“0"のもののみを
選択することで、他セルのアドレスデータとの混同を避
けるとこができる。ここでは、基準となるセルに対して
隣接する8個のセルを代替格納先の候補とした場合の例
を説明したが、代替格納先の候補は、隣接する8個のセ
ルに限定されない。第1図の15にこの様なセル識別番号
の一例を、又、16、17には、セル(I,J)に対応する細
分されたメモリ領域112,113に登録されている格納先識
別子112a、113aの例を示す。本実施例では、セル(I,
J)に対する112で示される配列番号K=1のメモリ領域
X(I,J,1)の格納先識別子112aに関しては、16で示す
様に相対位置2(セル(I+1,J))、3(セル(I+
1,J+1))、5(セル(I−1,J+1))に対応する隣
接セルに、配列番号K=2のメモリ領域X(I,J,2)の
格納先識別子113aに関しては、17で示す様に相対位置4
(セル(I,J+I))に対応する隣接セルに代替格納先
があることがわかる。
おき、他セルのアドレスデータを格納した場合“1"をセ
ットする方法がある。これにより、自分のセルに関する
アドレスデータを読み出す場合、値が“0"のもののみを
選択することで、他セルのアドレスデータとの混同を避
けるとこができる。ここでは、基準となるセルに対して
隣接する8個のセルを代替格納先の候補とした場合の例
を説明したが、代替格納先の候補は、隣接する8個のセ
ルに限定されない。第1図の15にこの様なセル識別番号
の一例を、又、16、17には、セル(I,J)に対応する細
分されたメモリ領域112,113に登録されている格納先識
別子112a、113aの例を示す。本実施例では、セル(I,
J)に対する112で示される配列番号K=1のメモリ領域
X(I,J,1)の格納先識別子112aに関しては、16で示す
様に相対位置2(セル(I+1,J))、3(セル(I+
1,J+1))、5(セル(I−1,J+1))に対応する隣
接セルに、配列番号K=2のメモリ領域X(I,J,2)の
格納先識別子113aに関しては、17で示す様に相対位置4
(セル(I,J+I))に対応する隣接セルに代替格納先
があることがわかる。
格納先識別子aは前述した様に、各セル(I,J)に対
しメモリ領域X(I,J)内の各配列Kごとに登録する方
法と、各セル(I,J)に対するメモリ領域X(I,J)の一
部にまとめて登録する方法とがある。さらに、格納先識
別子aを配列Kにより区別せず、セル対応で共通に登録
する方法もある。この様な例を実施例2として第2図に
示す。各セル(I,J)に対して、アドレスデータテーブ
ルには201,202の2つのメモリ領域と格納先識別子を格
納するメモリ領域とを含むメモリ領域X(I,J)が対応
づけられており、このメモリ領域X(I,J)の先頭アド
レスは、I,Jを用いて計算される。各細分されたメモリ
領域X(I,J,K)には、前述した自他有識別子bのかわ
りにデータ検索時に代替格納元との照合をはかるための
格納元識別子eを登録する。
しメモリ領域X(I,J)内の各配列Kごとに登録する方
法と、各セル(I,J)に対するメモリ領域X(I,J)の一
部にまとめて登録する方法とがある。さらに、格納先識
別子aを配列Kにより区別せず、セル対応で共通に登録
する方法もある。この様な例を実施例2として第2図に
示す。各セル(I,J)に対して、アドレスデータテーブ
ルには201,202の2つのメモリ領域と格納先識別子を格
納するメモリ領域とを含むメモリ領域X(I,J)が対応
づけられており、このメモリ領域X(I,J)の先頭アド
レスは、I,Jを用いて計算される。各細分されたメモリ
領域X(I,J,K)には、前述した自他有識別子bのかわ
りにデータ検索時に代替格納元との照合をはかるための
格納元識別子eを登録する。
格納元識別子eの一例としては、格納するアドレスデ
ータcが自分自身のセルに対応したものであれば、“1"
を、代替セルのものであれば、前述したセル識別番号15
を用いてその格納元を示すビット並びを登録する。アド
レスデータの検索時には該当セルに対応するメモリ領域
内の細分されたメモリ領域の1つに登録されている格納
先識別子203が示すセル識別番号と、格納先メモリ領域
内の各配列ごとに登録されている格納元識別子eが示す
セル識別番号との対応をとることで、正しく代替格納元
のアドレスデータを検索することができる。
ータcが自分自身のセルに対応したものであれば、“1"
を、代替セルのものであれば、前述したセル識別番号15
を用いてその格納元を示すビット並びを登録する。アド
レスデータの検索時には該当セルに対応するメモリ領域
内の細分されたメモリ領域の1つに登録されている格納
先識別子203が示すセル識別番号と、格納先メモリ領域
内の各配列ごとに登録されている格納元識別子eが示す
セル識別番号との対応をとることで、正しく代替格納元
のアドレスデータを検索することができる。
第2図において、より具体的にセル(I,J)に対する
メモリ領域X(I,J)に格納しきれないアドレスデータA
DP2 J+1を右隣のセル(I+1,J)に代替格納する例を示
す。21はセル(I,J)を中心とするセル識別番号を、22
はその右隣のセル(I+1,J)を中心とするセル識別番
号を示したものである。セル(I,J)を中心とすると、
右隣セル(I+1,J)は識別番号“2"で示されるので、
セル(I,J)に対するメモリ領域X(I,J)内の格納先識
別子203のビット並びは、識別番号2のビット位置に
“1"を立てて23の様になる。同時にセル(I+1,J)に
対するメモリ領域X(I+1,J)の格納元識別子24に
は、ここに格納されているアドレスデータが左隣のセル
(I,J)のものであることを示す識別番号“6"が格納さ
れる。本実施例では、第2図に示すセル識別番号21,22
のように当該セル中心に隣接する8つのセルを対応付け
ているので、格納先識別子a(203)が示す識別番号が
5以下であれば、4を加えた値が、また6以上であれ
ば、4を引いた値が、代替格納先のメモリ領域内に配列
K対応に登録されている格納元識別子e(24)が示す識
別番号となる。この識別番号を用いて他セルに対するメ
モリ領域に代替格納されているアドレスデータを検索す
ることができる。アドレスデータcが未登録の場合に
は、格納先識別子a、格納元識別子eに初期値“0"をセ
ットしておき、検索時のアドレスデータ参照処理を省略
する。ここでは、以下、前述した実施例1をもとに検索
・格納方法を具体的に説明する。
メモリ領域X(I,J)に格納しきれないアドレスデータA
DP2 J+1を右隣のセル(I+1,J)に代替格納する例を示
す。21はセル(I,J)を中心とするセル識別番号を、22
はその右隣のセル(I+1,J)を中心とするセル識別番
号を示したものである。セル(I,J)を中心とすると、
右隣セル(I+1,J)は識別番号“2"で示されるので、
セル(I,J)に対するメモリ領域X(I,J)内の格納先識
別子203のビット並びは、識別番号2のビット位置に
“1"を立てて23の様になる。同時にセル(I+1,J)に
対するメモリ領域X(I+1,J)の格納元識別子24に
は、ここに格納されているアドレスデータが左隣のセル
(I,J)のものであることを示す識別番号“6"が格納さ
れる。本実施例では、第2図に示すセル識別番号21,22
のように当該セル中心に隣接する8つのセルを対応付け
ているので、格納先識別子a(203)が示す識別番号が
5以下であれば、4を加えた値が、また6以上であれ
ば、4を引いた値が、代替格納先のメモリ領域内に配列
K対応に登録されている格納元識別子e(24)が示す識
別番号となる。この識別番号を用いて他セルに対するメ
モリ領域に代替格納されているアドレスデータを検索す
ることができる。アドレスデータcが未登録の場合に
は、格納先識別子a、格納元識別子eに初期値“0"をセ
ットしておき、検索時のアドレスデータ参照処理を省略
する。ここでは、以下、前述した実施例1をもとに検索
・格納方法を具体的に説明する。
第1図に戻って、図形識別子dの一例を説明する。端
点を“1"、屈曲点を“2"、線分上の点を“3"、面の構成
点を“4"、属性情報の代表点を“5"とする。例えば、図
形の端点と屈曲点を図形データとして格納したい場合に
は、それぞれの座標を格納した図形データテーブル上の
格納位置を示すアドレスデータcと、端点“1"と屈曲点
“2"のいずれかを示す図形識別子dとをアドレスデータ
テーブル11内の細分されたメモリ領域に格納する。線分
上の点も図形データとして併せて格納したい場合には、
図形データテーブル12の線分上の始点あるいは終点の座
標を格納したメモリ領域の先頭アドレスを示すアドレス
データcと、線分上の点“3"を示す図形識別子dとをア
ドレスデータテーブル11内の細分されたメモリ領域に格
納する。属性情報についても格納したい場合には、その
座標を格納した属性データテーブルの各メモリ領域の先
頭アドレスを示すアドレスデータcと属性情報“5"を示
す図形識別子dとをアドレスデータテーブル11内の細分
されたメモリ領域に格納する。
点を“1"、屈曲点を“2"、線分上の点を“3"、面の構成
点を“4"、属性情報の代表点を“5"とする。例えば、図
形の端点と屈曲点を図形データとして格納したい場合に
は、それぞれの座標を格納した図形データテーブル上の
格納位置を示すアドレスデータcと、端点“1"と屈曲点
“2"のいずれかを示す図形識別子dとをアドレスデータ
テーブル11内の細分されたメモリ領域に格納する。線分
上の点も図形データとして併せて格納したい場合には、
図形データテーブル12の線分上の始点あるいは終点の座
標を格納したメモリ領域の先頭アドレスを示すアドレス
データcと、線分上の点“3"を示す図形識別子dとをア
ドレスデータテーブル11内の細分されたメモリ領域に格
納する。属性情報についても格納したい場合には、その
座標を格納した属性データテーブルの各メモリ領域の先
頭アドレスを示すアドレスデータcと属性情報“5"を示
す図形識別子dとをアドレスデータテーブル11内の細分
されたメモリ領域に格納する。
さらにアドレスデータテーブル11内のメモリ領域に、
図形データテーブル12の図形を構成している点の数を示
すNmが格納されている各メモリ領域の先頭アドレス(例
えば、第1図の図形データテーブル12のメモリ領域121
の先頭アドレス)も追加登録するようにすれば、図形全
体も検索することができる。
図形データテーブル12の図形を構成している点の数を示
すNmが格納されている各メモリ領域の先頭アドレス(例
えば、第1図の図形データテーブル12のメモリ領域121
の先頭アドレス)も追加登録するようにすれば、図形全
体も検索することができる。
次に、全体の動作を説明する。図形の存在領域10内に
は、例えば線図形L1、線図形L2、線図形L3、属性情報Am
が記載されているとする。この図形を後述する図面入力
装置で読取り、線図形L1、線図形L2、線図形L3ごとにそ
の端点、屈曲点の図面上におけるX,Y座標をその構成点
数Nmとともに図形データテーブル12に図形データとして
格納する。また、属性情報Amについても同様に、図面上
におけるX,Y座標を属性テーブル13にその属性情報の内
容Cmとともに属性情報データとして格納する。
は、例えば線図形L1、線図形L2、線図形L3、属性情報Am
が記載されているとする。この図形を後述する図面入力
装置で読取り、線図形L1、線図形L2、線図形L3ごとにそ
の端点、屈曲点の図面上におけるX,Y座標をその構成点
数Nmとともに図形データテーブル12に図形データとして
格納する。また、属性情報Amについても同様に、図面上
におけるX,Y座標を属性テーブル13にその属性情報の内
容Cmとともに属性情報データとして格納する。
図形データテーブル12は、図形を構成する点Pの座標
(X,Y)とその構成点数Nとを格納するテーブルであ
る。図形データテーブル12上の領域Y(L1)内の領域12
1に格納されたN1は線図形L1上の折線の本数を示し、領
域122は線図形L1の第1番目の点P1 1のX座標を格納する
領域であり、領域123は線図形L1の第1番目の点P1 1のY
座標を格納する領域である。線図形L1の第i番目のX座
標は領域124に、線図形L1の第i番目のY座標は領域125
にそれぞれ格納され、線図形L1上のすべての端点、屈曲
点についてそのX座標とY座標が領域Y(L1)内に格納
される。
(X,Y)とその構成点数Nとを格納するテーブルであ
る。図形データテーブル12上の領域Y(L1)内の領域12
1に格納されたN1は線図形L1上の折線の本数を示し、領
域122は線図形L1の第1番目の点P1 1のX座標を格納する
領域であり、領域123は線図形L1の第1番目の点P1 1のY
座標を格納する領域である。線図形L1の第i番目のX座
標は領域124に、線図形L1の第i番目のY座標は領域125
にそれぞれ格納され、線図形L1上のすべての端点、屈曲
点についてそのX座標とY座標が領域Y(L1)内に格納
される。
同様にして、線図形L2、L3についてもその折線の本
数、端点、屈曲点のX,Y座標を領域Y(L2)、Y(L3)
にそれぞれ格納する。
数、端点、屈曲点のX,Y座標を領域Y(L2)、Y(L3)
にそれぞれ格納する。
アドレスデータテーブル11は、前述した格納先識別子
a、自他識別子b、図形データテーブル12内の各領域の
先頭アドレス(格納先アドレス)を示すためのアドレス
データC及び図形の特徴を示す図形識別子dをセルごと
に格納するテーブルである。X(I,J)は図形存在領域1
0内のセル(I,J)に対応するアドレスデータテーブル11
内のメモリ領域で、このメモリ領域X(I,J)の大きさ
(記憶容量)は一定であり、配列Kにより細分されてい
る。このように各セル14に対応する各メモリ領域111の
大きさが一定であるので、セル番号I,Jからアドレスデ
ータテーブル11上の各メモリ領域の先頭アドレスが求ま
れば、配列番号Kを用いて細分された各メモリ領域X
(I,J,K)の先頭アドレスも順次決まる。この細分され
たメモリ領域X(I,J,K)には、セル(I,J)を通過する
線分に関するデータ又は、その代替格納先を示す情報が
格納されている。細分された各メモリ領域は、前述した
ように近辺の代替メモリ領域にアドレスデータを代替格
納していることを示す格納先識別子a、格納されている
データが自分自身のセルのものか他のセルのものかを区
別するための自他識別子b、アドレスデータを登録する
領域c及び図形の特徴を示す図形識別子dに分かれてい
る。
a、自他識別子b、図形データテーブル12内の各領域の
先頭アドレス(格納先アドレス)を示すためのアドレス
データC及び図形の特徴を示す図形識別子dをセルごと
に格納するテーブルである。X(I,J)は図形存在領域1
0内のセル(I,J)に対応するアドレスデータテーブル11
内のメモリ領域で、このメモリ領域X(I,J)の大きさ
(記憶容量)は一定であり、配列Kにより細分されてい
る。このように各セル14に対応する各メモリ領域111の
大きさが一定であるので、セル番号I,Jからアドレスデ
ータテーブル11上の各メモリ領域の先頭アドレスが求ま
れば、配列番号Kを用いて細分された各メモリ領域X
(I,J,K)の先頭アドレスも順次決まる。この細分され
たメモリ領域X(I,J,K)には、セル(I,J)を通過する
線分に関するデータ又は、その代替格納先を示す情報が
格納されている。細分された各メモリ領域は、前述した
ように近辺の代替メモリ領域にアドレスデータを代替格
納していることを示す格納先識別子a、格納されている
データが自分自身のセルのものか他のセルのものかを区
別するための自他識別子b、アドレスデータを登録する
領域c及び図形の特徴を示す図形識別子dに分かれてい
る。
例えば、セル(I,J)には、線図形L1を構成する線分l
1が通過しているので、この線分l1の始点又は終点のX,Y
座標が格納されている図形データテーブル12内の領域の
先頭アドレス(格納先アドレス)が、アドレスデータテ
ーブル11内のメモリ領域X(I,J)を構成するメモリ領
域112、113にそれぞれ格納されている。また、図形の特
徴を表す図形識別子dの値、並びに、格納されているア
ドレスデータが自分自身のセルのものであることを示す
自他識別子bの値“0"も格納されている。より具体的に
は、メモリ領域112には、図形データテーブル12内で線
図形L1の第i+1番目の点P1 i+1の座標が格納されてい
る領域126の先頭アドレス(格納先アドレス)を示すア
ドレスデータAD P1 i+1とその点が端点であることを示
す図形識別子dの値“1"と、格納されているアドレスデ
ータが自分自身のセルのものであることを示す自他識別
子bの値“0"が、領域113には、図形データテーブル12
内で線図形L1の第i番目の点P1 iの座標が格納されてい
る領域127の先頭アドレス(格納先アドレス)を示すア
ドレスデータADP1 iとその点が線分上の点であることを
示す図形識別子dの値“3"と、格納されているアドレス
データが自分自身のセルのものであることを示す自他識
別子bの値“0"が格納されている。又、右隣セル(I+
1,J)に対するメモリ領域X(I+1,J)内のメモリ領域
114には、図形データテーブル12内で線図形L2の第J+
1番目の点P2 J+1の座標が格納されている領域128の先頭
アドレス(格納先アドレス)を示すアドレスデータAD
P2 J+1とその点が屈曲点であることを示す図形識別子d
の値“2"と、格納されているアドレスデータが他セルの
ものであることを示す自他識別子bの値“1"が格納され
ている。第1図の16は、メモリ領域X(I,J)内の配列
1のメモリ領域112に登録されている格納先識別子aで
あり、セル(I,J)の図形に関するアドレスデータが、
自分から見て右隣の配列番号2に対応するセル(I+1,
J)に対するメモリ領域X(I+1,J)内の配列1のメモ
リ領域114に代替格納されていることを示すため、識別
番号“2"に対応するビットが“1"になっている。同様に
メモリ領域X(I+1,J+1)内のメモリ領域115とメモ
リ領域X(I−1,J+1)内のメモリ領域116にもセル
(I,J)の図形に関するアドレスデータが代替格納され
ており、16で示す格納先識別子aはそれぞれ対応する識
別番号“3",“5"にそれぞれ値“1"が格納されている。
又、第1図の17は、メモリ領域X(I,J)内の配列2の
メモリ領域113に登録されている格納先識別子aであ
り、セル(I,J)の図形に関するアドレスデータが、自
分から見て上方の配列番号“4"に対応するセル(I,J+
1)に対するメモリ領域X(I,J+1)内の配列2のメ
モリ領域117に代替格納されていることを示すため、識
別番号“4"に対応するビットが“1"になっている。
1が通過しているので、この線分l1の始点又は終点のX,Y
座標が格納されている図形データテーブル12内の領域の
先頭アドレス(格納先アドレス)が、アドレスデータテ
ーブル11内のメモリ領域X(I,J)を構成するメモリ領
域112、113にそれぞれ格納されている。また、図形の特
徴を表す図形識別子dの値、並びに、格納されているア
ドレスデータが自分自身のセルのものであることを示す
自他識別子bの値“0"も格納されている。より具体的に
は、メモリ領域112には、図形データテーブル12内で線
図形L1の第i+1番目の点P1 i+1の座標が格納されてい
る領域126の先頭アドレス(格納先アドレス)を示すア
ドレスデータAD P1 i+1とその点が端点であることを示
す図形識別子dの値“1"と、格納されているアドレスデ
ータが自分自身のセルのものであることを示す自他識別
子bの値“0"が、領域113には、図形データテーブル12
内で線図形L1の第i番目の点P1 iの座標が格納されてい
る領域127の先頭アドレス(格納先アドレス)を示すア
ドレスデータADP1 iとその点が線分上の点であることを
示す図形識別子dの値“3"と、格納されているアドレス
データが自分自身のセルのものであることを示す自他識
別子bの値“0"が格納されている。又、右隣セル(I+
1,J)に対するメモリ領域X(I+1,J)内のメモリ領域
114には、図形データテーブル12内で線図形L2の第J+
1番目の点P2 J+1の座標が格納されている領域128の先頭
アドレス(格納先アドレス)を示すアドレスデータAD
P2 J+1とその点が屈曲点であることを示す図形識別子d
の値“2"と、格納されているアドレスデータが他セルの
ものであることを示す自他識別子bの値“1"が格納され
ている。第1図の16は、メモリ領域X(I,J)内の配列
1のメモリ領域112に登録されている格納先識別子aで
あり、セル(I,J)の図形に関するアドレスデータが、
自分から見て右隣の配列番号2に対応するセル(I+1,
J)に対するメモリ領域X(I+1,J)内の配列1のメモ
リ領域114に代替格納されていることを示すため、識別
番号“2"に対応するビットが“1"になっている。同様に
メモリ領域X(I+1,J+1)内のメモリ領域115とメモ
リ領域X(I−1,J+1)内のメモリ領域116にもセル
(I,J)の図形に関するアドレスデータが代替格納され
ており、16で示す格納先識別子aはそれぞれ対応する識
別番号“3",“5"にそれぞれ値“1"が格納されている。
又、第1図の17は、メモリ領域X(I,J)内の配列2の
メモリ領域113に登録されている格納先識別子aであ
り、セル(I,J)の図形に関するアドレスデータが、自
分から見て上方の配列番号“4"に対応するセル(I,J+
1)に対するメモリ領域X(I,J+1)内の配列2のメ
モリ領域117に代替格納されていることを示すため、識
別番号“4"に対応するビットが“1"になっている。
以上の様に、セル(I,J)を通過する図形に関する各
図形データの格納先アドレスを示すアドレスデータは、
最初に自己セルに対応するメモリ領域内の領域112、113
に格納され、ここが満杯になれば、順に他のセルに対応
するメモリ領域内の領域114、115、117、116に代替格納
されていく。
図形データの格納先アドレスを示すアドレスデータは、
最初に自己セルに対応するメモリ領域内の領域112、113
に格納され、ここが満杯になれば、順に他のセルに対応
するメモリ領域内の領域114、115、117、116に代替格納
されていく。
本方法を実施する装置の全体構成を第3図に示す。計
算機(CPU)301には、データバス311を介してデータ入
力装置308、メモリ303が接続されている。メモリ303
は、図形データを格納する図形データテーブル12のエリ
ア304と、属性データテーブル13のエリア302と、図形デ
ータの格納先アドレスを登録するアドレスデータテーブ
ル11のエリア305と、図形データ格納プログラムのエリ
ア306と、図形データ検索プログラムのエリア307よりな
る。また、各プログラムはハードウェアで実現すること
も可能である。
算機(CPU)301には、データバス311を介してデータ入
力装置308、メモリ303が接続されている。メモリ303
は、図形データを格納する図形データテーブル12のエリ
ア304と、属性データテーブル13のエリア302と、図形デ
ータの格納先アドレスを登録するアドレスデータテーブ
ル11のエリア305と、図形データ格納プログラムのエリ
ア306と、図形データ検索プログラムのエリア307よりな
る。また、各プログラムはハードウェアで実現すること
も可能である。
処理対象となる図面309は、計算機301によって起動さ
れたエリア307内の図形データ格納プログラムに従っ
て、図形データ入力部308から図形データとして読み取
られ、エリア304内の図形データテーブル12と、エリア3
02属性データテーブル13に格納される。さらに上述した
ように、図形データテーブル12内で各図形データの格納
されている領域の格納先アドレスを示すアドレスデータ
がエリア305内のアドレスデータテーブル11に格納され
る。図形データは、前述したように、折線の端点、及び
屈曲点の座標によって記述されている。また、属性デー
タは、図形の存在を示すデータ及び、そのデータの内容
を示すデータが記述されている。図形データ入力装置30
8は、人手で座標データ化するマニュアル図面入力装
置、または、自動的に読み取る自動図面入力装置、また
は、他のシステムで作成した図形を、磁気テープなどを
介して受け渡すための磁気テープ装置310などで構成さ
れる。
れたエリア307内の図形データ格納プログラムに従っ
て、図形データ入力部308から図形データとして読み取
られ、エリア304内の図形データテーブル12と、エリア3
02属性データテーブル13に格納される。さらに上述した
ように、図形データテーブル12内で各図形データの格納
されている領域の格納先アドレスを示すアドレスデータ
がエリア305内のアドレスデータテーブル11に格納され
る。図形データは、前述したように、折線の端点、及び
屈曲点の座標によって記述されている。また、属性デー
タは、図形の存在を示すデータ及び、そのデータの内容
を示すデータが記述されている。図形データ入力装置30
8は、人手で座標データ化するマニュアル図面入力装
置、または、自動的に読み取る自動図面入力装置、また
は、他のシステムで作成した図形を、磁気テープなどを
介して受け渡すための磁気テープ装置310などで構成さ
れる。
図形データを検索する場合は、計算機301がエリア307
内の図形データ検索プログラムを起動し、エリア305の
アドレスデータテーブル11を参照して、エリア304の図
形データテーブル12に格納されている図形データを求め
る。
内の図形データ検索プログラムを起動し、エリア305の
アドレスデータテーブル11を参照して、エリア304の図
形データテーブル12に格納されている図形データを求め
る。
アドレスデータテーブル11は第4図に示すアルゴリズ
ムに従って作成する。まずアドレスデータテーブル11の
メモリ領域全体を初期化する。例えば値“0"を代入する
(ステップ401)。次に全図形データを参照して、X方
向、Y方向それぞれについての座標値を比較し、最大値
と最小値を求め、その差から図形データのサイズとし
て、X方向の長さFX、Y方向の長さFYを求める(ステッ
プ402)。この後、図形データの各図形の端点、及び屈
曲点の座標値を参照しながら、端点、屈曲点の座標を格
納した図形データテーブルの格納先アドレスを示すアド
レスデータc、格納先識別子a、自他識別子b又は格納
元識別子e、図形識別子dをアドレスデータテーブル11
のメモリ領域に登録する。まず、座標変換式 によって、座標(X,Y)を、その座標を含むセルの番号
I,Jに変換する(ステップ405)。ここで、FX、FYは図形
の存在する領域のX方向、Y方向のそれぞれの長さであ
る。AX、AYは図形の存在する領域のX方向、Y方向それ
ぞれの分割数である。〔 〕はガウス記号であり、
〔 〕内に書かれた数を越えない最大の整数をとること
を意味する。次にアドレスデータテーブル11内のこのセ
ル番号I,Jに対応するメモリ領域X(I,J)に、図形デー
タテーブルに格納された図形データの格納先アドレスを
登録する。セル(I,J)に対応するメモリ領域X(I,J)
の容量は固定されている。セル(I,J)に対応するメモ
リ領域X(I,J)内の配列はX(I,J,K)と考えることが
できるので、メモリ領域X(I,J)の先頭アドレスADR
は、 ADR=AY×DP×NB×I+NB×DP×J+NB×(K−1)+FST$AD ……(2) より計算できる。ここでDPは、セル(I,J)に対応する
メモリ領域X(I,J)に格納できる図形データの格納先
アドレスの数、NBは一つの図形データの格納先アドレス
について、格納先識別子a,自他識別子b、アドレスデー
タc及び図形識別子dを格納するメモリ領域の容量、FS
T$ADはアドレスデータテーブルの先頭アドレスであ
る。もし AY=2m、DP=2n、NB=2l とすると ADR=I×2m+n+l+J×2n+l+(K−1)×2l+FST$AD ……(3) と書ける。2のべき乗は、シフト演算により計算できる
ため計算機処理に向いている。
ムに従って作成する。まずアドレスデータテーブル11の
メモリ領域全体を初期化する。例えば値“0"を代入する
(ステップ401)。次に全図形データを参照して、X方
向、Y方向それぞれについての座標値を比較し、最大値
と最小値を求め、その差から図形データのサイズとし
て、X方向の長さFX、Y方向の長さFYを求める(ステッ
プ402)。この後、図形データの各図形の端点、及び屈
曲点の座標値を参照しながら、端点、屈曲点の座標を格
納した図形データテーブルの格納先アドレスを示すアド
レスデータc、格納先識別子a、自他識別子b又は格納
元識別子e、図形識別子dをアドレスデータテーブル11
のメモリ領域に登録する。まず、座標変換式 によって、座標(X,Y)を、その座標を含むセルの番号
I,Jに変換する(ステップ405)。ここで、FX、FYは図形
の存在する領域のX方向、Y方向のそれぞれの長さであ
る。AX、AYは図形の存在する領域のX方向、Y方向それ
ぞれの分割数である。〔 〕はガウス記号であり、
〔 〕内に書かれた数を越えない最大の整数をとること
を意味する。次にアドレスデータテーブル11内のこのセ
ル番号I,Jに対応するメモリ領域X(I,J)に、図形デー
タテーブルに格納された図形データの格納先アドレスを
登録する。セル(I,J)に対応するメモリ領域X(I,J)
の容量は固定されている。セル(I,J)に対応するメモ
リ領域X(I,J)内の配列はX(I,J,K)と考えることが
できるので、メモリ領域X(I,J)の先頭アドレスADR
は、 ADR=AY×DP×NB×I+NB×DP×J+NB×(K−1)+FST$AD ……(2) より計算できる。ここでDPは、セル(I,J)に対応する
メモリ領域X(I,J)に格納できる図形データの格納先
アドレスの数、NBは一つの図形データの格納先アドレス
について、格納先識別子a,自他識別子b、アドレスデー
タc及び図形識別子dを格納するメモリ領域の容量、FS
T$ADはアドレスデータテーブルの先頭アドレスであ
る。もし AY=2m、DP=2n、NB=2l とすると ADR=I×2m+n+l+J×2n+l+(K−1)×2l+FST$AD ……(3) と書ける。2のべき乗は、シフト演算により計算できる
ため計算機処理に向いている。
(2)式よりアドレスデータテーブルエリア305上で
の先頭アドレスを計算する(ステップ406)。このメモ
リ領域に、前述した格納先識別子a、自他識別子b、ア
ドレスデータc及び図形識別子dを格納する(ステップ
408)。この時、領域X(I,J,K)にすでにデータが登録
されている場合は、(I,J,K+1)、(I,J,K+2)とい
うように当該メモリ領域X(I,J)内の配列Kを更新し
ながら空き領域を調べる。ここに空き領域が見つからな
い場合、前述したように、格納先識別子aを基に、代替
格納先の候補となるメモリ領域を調べ、格納可能なメモ
リ領域を選択する(ステップ407)。この空きメモリ領
域には初期値“0"が登録されている。以上の処理をすべ
ての端点、屈曲点及び属性情報について繰り返す(ステ
ップ404)。
の先頭アドレスを計算する(ステップ406)。このメモ
リ領域に、前述した格納先識別子a、自他識別子b、ア
ドレスデータc及び図形識別子dを格納する(ステップ
408)。この時、領域X(I,J,K)にすでにデータが登録
されている場合は、(I,J,K+1)、(I,J,K+2)とい
うように当該メモリ領域X(I,J)内の配列Kを更新し
ながら空き領域を調べる。ここに空き領域が見つからな
い場合、前述したように、格納先識別子aを基に、代替
格納先の候補となるメモリ領域を調べ、格納可能なメモ
リ領域を選択する(ステップ407)。この空きメモリ領
域には初期値“0"が登録されている。以上の処理をすべ
ての端点、屈曲点及び属性情報について繰り返す(ステ
ップ404)。
さらに、端点、屈曲点、属性情報を除く線分上の点も
アドレスデータテーブルに登録する場合には(ステップ
409)、まず図形を構成する各線分とセルの境界の交点
を求める(ステップ411)。セルの境界は、垂直方向と
水平方向の2通りが選択できるので、次の方法で一方を
選択する。まず、セル内の線分を対角線として、X方
向、Y方向に平行な辺を持つ外接四角形を設定し、その
X方向の長さをDX、Y方向の長さをDYとする。そしてDX
≧DYならば、垂直方向のセルの境界を選択する。また、
DY>DXならば、水平方向のセルの境界を選択して、
(1)式を用いて線分とセルの境界との交点を含むセル
の番号(I,J)に変換する(ステップ412)。
アドレスデータテーブルに登録する場合には(ステップ
409)、まず図形を構成する各線分とセルの境界の交点
を求める(ステップ411)。セルの境界は、垂直方向と
水平方向の2通りが選択できるので、次の方法で一方を
選択する。まず、セル内の線分を対角線として、X方
向、Y方向に平行な辺を持つ外接四角形を設定し、その
X方向の長さをDX、Y方向の長さをDYとする。そしてDX
≧DYならば、垂直方向のセルの境界を選択する。また、
DY>DXならば、水平方向のセルの境界を選択して、
(1)式を用いて線分とセルの境界との交点を含むセル
の番号(I,J)に変換する(ステップ412)。
線分の端点および、セルの境界との交点について、全
ての隣接する点の間でその中点を求める。次いで、
(1)式に従って、それらの中点を含むセル番号を求め
る(ステップ412)。ここで、線分とセルの垂直方向の
境界線とセルの水平方向の境界線が一点で交わる場合に
は、その交点を囲む4セルを線分が通過するセルとみな
すために、そのセル番号を求める。この4セルのうちの
2セルの番号はすでに求まっているので、他の2セルの
番号はセルの隣接関係から容易に求まる。このセル番号
をステップ412で求めたセル番号に追加することによっ
て、線分を通過する全セル番号が求まる(ステップ41
3)。こうして求めたセル番号を(2)式に代入してア
ドレスデータテーブルの先頭アドレスを算出し(ステッ
プ414)、アドレスデータテーブルの空き領域を探し、
格納可能なメモリ領域を選択する(ステップ415)。こ
のメモリ領域に格納先識別子a、自他識別子b、アドレ
スデータc及び、線分上の点を示す図形識別子dを格納
する(ステップ416)。この方法によって線分が通過す
るすべてのセルに対応するアドレスデータテーブル11
に、データが格納される。
ての隣接する点の間でその中点を求める。次いで、
(1)式に従って、それらの中点を含むセル番号を求め
る(ステップ412)。ここで、線分とセルの垂直方向の
境界線とセルの水平方向の境界線が一点で交わる場合に
は、その交点を囲む4セルを線分が通過するセルとみな
すために、そのセル番号を求める。この4セルのうちの
2セルの番号はすでに求まっているので、他の2セルの
番号はセルの隣接関係から容易に求まる。このセル番号
をステップ412で求めたセル番号に追加することによっ
て、線分を通過する全セル番号が求まる(ステップ41
3)。こうして求めたセル番号を(2)式に代入してア
ドレスデータテーブルの先頭アドレスを算出し(ステッ
プ414)、アドレスデータテーブルの空き領域を探し、
格納可能なメモリ領域を選択する(ステップ415)。こ
のメモリ領域に格納先識別子a、自他識別子b、アドレ
スデータc及び、線分上の点を示す図形識別子dを格納
する(ステップ416)。この方法によって線分が通過す
るすべてのセルに対応するアドレスデータテーブル11
に、データが格納される。
以上の処理を、図形を構成するすべての線分について
繰り返す(ステップ410)。アドレスデータテーブルの
格納先識別子a、自他識別子b、アドレスデータcと図
形識別子dの格納は、すべての図形データ、属性情報に
ついて実行する(ステップ403)。ステップ403に、図形
の色、サイズを判定したり、さらに、図形データの端点
のみ、端点及び屈曲点のみ、または面上の点のみ、関連
する属性情報等というように特定の候補だけを選択的に
格納する機能を付加することによって、その特定の情報
についてのみのアドレスデータテーブルを作成できる。
また図形の追加または削除も、上のアルゴリズムで対応
できる。ただし、図形を削除する場合は、格納先識別子
a、自他識別子b、アドレスデータcと図形識別子dを
メモリに格納する代わりに削除することになる。この二
つの場合、アドレスデータテーブル全体の更新が必用の
ないことは明らかである。
繰り返す(ステップ410)。アドレスデータテーブルの
格納先識別子a、自他識別子b、アドレスデータcと図
形識別子dの格納は、すべての図形データ、属性情報に
ついて実行する(ステップ403)。ステップ403に、図形
の色、サイズを判定したり、さらに、図形データの端点
のみ、端点及び屈曲点のみ、または面上の点のみ、関連
する属性情報等というように特定の候補だけを選択的に
格納する機能を付加することによって、その特定の情報
についてのみのアドレスデータテーブルを作成できる。
また図形の追加または削除も、上のアルゴリズムで対応
できる。ただし、図形を削除する場合は、格納先識別子
a、自他識別子b、アドレスデータcと図形識別子dを
メモリに格納する代わりに削除することになる。この二
つの場合、アドレスデータテーブル全体の更新が必用の
ないことは明らかである。
実際にアドレスデータテーブルを用いる図形処理の例
として、第5図に示すようなT字接続処理を示す。この
処理は、端点Pから指定範囲内にある最も近い線分Lを
選択し(点Pを含む線分は除外する)、点Pを線分L上
に引き込む処理である。本処理では、まず、端点、屈曲
点、線分上の点についてアドレスデータテーブルを作成
する。つぎに第3図のメモリ303の図形データ検索プロ
グラムエリアに格納されている図形検索プログラムを起
動する。図形検索プログラムを第6図に示す。まず座標
Pを指定し(ステップ601)、点Pのまわりに探索窓を
設定(ステップ602)する。その探索窓の左下および右
上の座標を、(1)式によってセル番号に変換する(ス
テップ603)。そしてこのステップ603で求めたセルの番
号を参照して、探索窓の内側にあるセルの番号を求め
(ステップ604)、(2)式を用いて、セル番号に対応
するアドレスデータテーブルのアドレスを求める(ステ
ップ606)。この指定されたアドレスから配列の更新、
さらに格納先識別子を参考にしながら、該当するすべて
の図形に関して、アドレスデータcと図形識別子dを求
める(ステップ607)。ステップ606とステップ607の処
理は、探索窓の内側にあるセルのすべてについておこな
う(ステップ605)。このデータの中のアドレスと図形
識別子dより、図形存在領域のに存在する線分のうち、
図形識別子dが示すアドレスの対応するセルの近くのセ
ルに存在する線分を選択し、抽出した線分群と点Pとの
距離をそれぞれの座標から数学的に求め、それらの距離
を比較し、最も近い線分を選択する(ステップ608)。
そしてこの線分と点Pを含む線分の交点Qをもとめ、点
Pの座標を点Qの座標にする。
として、第5図に示すようなT字接続処理を示す。この
処理は、端点Pから指定範囲内にある最も近い線分Lを
選択し(点Pを含む線分は除外する)、点Pを線分L上
に引き込む処理である。本処理では、まず、端点、屈曲
点、線分上の点についてアドレスデータテーブルを作成
する。つぎに第3図のメモリ303の図形データ検索プロ
グラムエリアに格納されている図形検索プログラムを起
動する。図形検索プログラムを第6図に示す。まず座標
Pを指定し(ステップ601)、点Pのまわりに探索窓を
設定(ステップ602)する。その探索窓の左下および右
上の座標を、(1)式によってセル番号に変換する(ス
テップ603)。そしてこのステップ603で求めたセルの番
号を参照して、探索窓の内側にあるセルの番号を求め
(ステップ604)、(2)式を用いて、セル番号に対応
するアドレスデータテーブルのアドレスを求める(ステ
ップ606)。この指定されたアドレスから配列の更新、
さらに格納先識別子を参考にしながら、該当するすべて
の図形に関して、アドレスデータcと図形識別子dを求
める(ステップ607)。ステップ606とステップ607の処
理は、探索窓の内側にあるセルのすべてについておこな
う(ステップ605)。このデータの中のアドレスと図形
識別子dより、図形存在領域のに存在する線分のうち、
図形識別子dが示すアドレスの対応するセルの近くのセ
ルに存在する線分を選択し、抽出した線分群と点Pとの
距離をそれぞれの座標から数学的に求め、それらの距離
を比較し、最も近い線分を選択する(ステップ608)。
そしてこの線分と点Pを含む線分の交点Qをもとめ、点
Pの座標を点Qの座標にする。
さらに立体図形に関するアドレスデータテーブルの構
成へ適用するためには、配列(I,J,K)の次元DPを増や
すことによって可能である。次に、あらかじめ準備して
おいた一定のメモリ容量及び、近辺の空きメモリ領域
(代替格納先)に対して、図形データの数が多すぎて図
形データのアドレスデータ等(代替格納のための関連情
報等も含む)を格納しきれない場合のアドレスデータの
格納方法について第7図により説明する。第7図(a)
は、セル(I,J)を通過している図形を示す。このセル
(I,J)には線図形Lnと線図形Lmとが通過しており、Pn j
は線図形Ln上のj番目の点(線分上の点)、Pn j+1は線
図形Lnの上のj+1番目の点(屈曲点)、Pm iは線図形L
m上のi番目の点(線分上の点)、Pm i+1は線図形Lmの上
のi+1番目の点(屈曲点)である。
成へ適用するためには、配列(I,J,K)の次元DPを増や
すことによって可能である。次に、あらかじめ準備して
おいた一定のメモリ容量及び、近辺の空きメモリ領域
(代替格納先)に対して、図形データの数が多すぎて図
形データのアドレスデータ等(代替格納のための関連情
報等も含む)を格納しきれない場合のアドレスデータの
格納方法について第7図により説明する。第7図(a)
は、セル(I,J)を通過している図形を示す。このセル
(I,J)には線図形Lnと線図形Lmとが通過しており、Pn j
は線図形Ln上のj番目の点(線分上の点)、Pn j+1は線
図形Lnの上のj+1番目の点(屈曲点)、Pm iは線図形L
m上のi番目の点(線分上の点)、Pm i+1は線図形Lmの上
のi+1番目の点(屈曲点)である。
また、図中破線で示した線図形Laは新たに追加された
線図形を意味する。Pa lは線図形La上の第1番目の点
(屈曲点)を示す。
線図形を意味する。Pa lは線図形La上の第1番目の点
(屈曲点)を示す。
第7図(b)は、アドレスデータ等を格納しきれない
場合のアドレスデータテーブル700への格納方法の一例
を示す。X(I,J)はセル(I,J)に対応するメモリ領域
である。このメモリ領域X(I,J)の一部の領域71にア
ドレスのオーバーフローを示す識別子として値6を格納
し、そのアドレスで指示された別のメモリ領域72にX
(I,J)に格納しきれなかったアドレスデータ等を引き
続き格納していく。また、第7図(c)のアドレスデー
タテーブル710に示すように、X(I,J)の先頭領域73に
はアドレスと、オーバーフローを示す識別子6を格納
し、ここに格納されていたアドレスデータ等と新しいア
ドレスデータ等とを合わせて、そのアドレスの示す別の
メモリ領域74に移してもよい。このようにメモリへの格
納を制御することによって、図形データが密に存在する
セルに対しても本発明を拡張して適用できる。さらに、
第7図(d)のアドレスデータテーブル720に示すよう
に、このようなオーバーフローの生じているセルに対し
て、新たに図形が追加される場合にも、そのオーバーフ
ローしているデータとともに、追加する図形のアドレス
データ等を、別の新しいメモリ領域76に移してもよい。
この場合、領域75に格納されているアドレスのみを変更
すればよい。領域71に格納されているアドレスデータ等
が新しく追加されたデータである。また、第7図(e)
のアドレスデータテーブル730に示すように、オーバー
フローした際にアドレスデータ等を別のメモリ領域に格
納する場合、そのアドレスデータ等と対になる領域77の
アドレスが示す別の領域78を設け、さらに次に新しい図
形が追加された時には、この領域78内の部分領域79に格
納されているアドレスを用いて、もう一つ別の領域80を
指示することによって、順次新しい図形のアドレスデー
タ等を格納することができる。ここで、別の領域78とし
てアドレスデータテーブルでデータの格納されていない
メモリ領域を対応付けることができる。この場合は、こ
のメモリ領域にはこの領域に対応するデータが格納され
ていないことを示す識別子を格納しておく。
場合のアドレスデータテーブル700への格納方法の一例
を示す。X(I,J)はセル(I,J)に対応するメモリ領域
である。このメモリ領域X(I,J)の一部の領域71にア
ドレスのオーバーフローを示す識別子として値6を格納
し、そのアドレスで指示された別のメモリ領域72にX
(I,J)に格納しきれなかったアドレスデータ等を引き
続き格納していく。また、第7図(c)のアドレスデー
タテーブル710に示すように、X(I,J)の先頭領域73に
はアドレスと、オーバーフローを示す識別子6を格納
し、ここに格納されていたアドレスデータ等と新しいア
ドレスデータ等とを合わせて、そのアドレスの示す別の
メモリ領域74に移してもよい。このようにメモリへの格
納を制御することによって、図形データが密に存在する
セルに対しても本発明を拡張して適用できる。さらに、
第7図(d)のアドレスデータテーブル720に示すよう
に、このようなオーバーフローの生じているセルに対し
て、新たに図形が追加される場合にも、そのオーバーフ
ローしているデータとともに、追加する図形のアドレス
データ等を、別の新しいメモリ領域76に移してもよい。
この場合、領域75に格納されているアドレスのみを変更
すればよい。領域71に格納されているアドレスデータ等
が新しく追加されたデータである。また、第7図(e)
のアドレスデータテーブル730に示すように、オーバー
フローした際にアドレスデータ等を別のメモリ領域に格
納する場合、そのアドレスデータ等と対になる領域77の
アドレスが示す別の領域78を設け、さらに次に新しい図
形が追加された時には、この領域78内の部分領域79に格
納されているアドレスを用いて、もう一つ別の領域80を
指示することによって、順次新しい図形のアドレスデー
タ等を格納することができる。ここで、別の領域78とし
てアドレスデータテーブルでデータの格納されていない
メモリ領域を対応付けることができる。この場合は、こ
のメモリ領域にはこの領域に対応するデータが格納され
ていないことを示す識別子を格納しておく。
このように、本発明は多様な拡張が出来、図形データ
格納方法は広範囲に実用可能である。
格納方法は広範囲に実用可能である。
本発明によれば、他セルに割り当てられた空のメモリ
領域を間接的に使用することで、アドレスデータテーブ
ルを効率よく利用できる。
領域を間接的に使用することで、アドレスデータテーブ
ルを効率よく利用できる。
第1図は、実施例1の図形データテーブルとアドレスデ
ータテーブル、属性情報テーブル等の構成を示す図、第
2図は、実施例2のアドレスデータテーブル等の構成を
示す図、第3図は、本発明の図形データ格納方法を実施
する場合のハードウェア構成図を示す図、第4図は、図
形データ格納アルゴリズムを示す図、第5図は、T字接
続処理の方法を示す図、第6図は、図形検索アルゴリズ
ムを示す図、第7図は、オーバーフローが生じた場合の
アドレスデータの構成を示す図である。 符号の説明 11……アドレスデータテーブル(実施例1)、12……図
形データテーブル、13……属性情報テーブル、14……セ
ル、15……セル識別番号、20……アドレスデータテーブ
ル(実施例2)、301……計算機(CPU)、302……属性
情報データテーブル、303……メモリ、304……図形デー
タテーブル、305……アドレスデータテーブル、306……
図形データ格納プログラム、307……図形データ検索プ
ログラム、308……図形データ入力部、309……図面、31
0……磁気テープ装置、311……データバス。
ータテーブル、属性情報テーブル等の構成を示す図、第
2図は、実施例2のアドレスデータテーブル等の構成を
示す図、第3図は、本発明の図形データ格納方法を実施
する場合のハードウェア構成図を示す図、第4図は、図
形データ格納アルゴリズムを示す図、第5図は、T字接
続処理の方法を示す図、第6図は、図形検索アルゴリズ
ムを示す図、第7図は、オーバーフローが生じた場合の
アドレスデータの構成を示す図である。 符号の説明 11……アドレスデータテーブル(実施例1)、12……図
形データテーブル、13……属性情報テーブル、14……セ
ル、15……セル識別番号、20……アドレスデータテーブ
ル(実施例2)、301……計算機(CPU)、302……属性
情報データテーブル、303……メモリ、304……図形デー
タテーブル、305……アドレスデータテーブル、306……
図形データ格納プログラム、307……図形データ検索プ
ログラム、308……図形データ入力部、309……図面、31
0……磁気テープ装置、311……データバス。
フロントページの続き (72)発明者 大津 文隆 東京都千代田区神田駿河台4丁目6番地 株式会社日立製作所内 (72)発明者 渡辺 一雄 神奈川県海老名市上今泉2100番地 日立 精工株式会社内 (56)参考文献 特開 平1−159768(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06T 1/00 G06F 17/30
Claims (2)
- 【請求項1】所定の図形領域内の図形を定義する図形デ
ータを格納する図形アドレステーブルと、上記図形領域
を分割して得られる複数のセルごとに割り当てられた複
数の一定容量のメモリ領域からなり、各セル内を通過す
る図形に対応する上記図形データに対し上記図形アドレ
ステーブルの格納先アドレスを格納するアドレスデータ
テーブルとを有し、各セル内を通過する図形に対応する
上記図形データに対して、その格納先アドレスを当該セ
ルに割り当てられたメモリ領域に格納しきれない場合に
は他のセルに割り当てられたメモリ領域に代替格納する
ことを特徴とする図形データ検索・格納方法。 - 【請求項2】上記アドレスデータテーブルのメモリ領域
には代替格納したことを示す情報と代替格納先を示す情
報を格納することを特徴とする特許請求の範囲第1項記
載の図形データ検索・格納方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2036038A JP2786294B2 (ja) | 1990-02-19 | 1990-02-19 | 図形データ検策・格納方法 |
US07/650,404 US5144679A (en) | 1987-06-29 | 1991-02-04 | Graphic data searching and storage method |
DE69130183T DE69130183D1 (de) | 1990-02-19 | 1991-02-19 | Verwaltungsverfahren und -system für graphische Daten |
EP91102369A EP0443531B1 (en) | 1990-02-19 | 1991-02-19 | Graphic data handling method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2036038A JP2786294B2 (ja) | 1990-02-19 | 1990-02-19 | 図形データ検策・格納方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03240168A JPH03240168A (ja) | 1991-10-25 |
JP2786294B2 true JP2786294B2 (ja) | 1998-08-13 |
Family
ID=12458541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2036038A Expired - Fee Related JP2786294B2 (ja) | 1987-06-29 | 1990-02-19 | 図形データ検策・格納方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0443531B1 (ja) |
JP (1) | JP2786294B2 (ja) |
DE (1) | DE69130183D1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6384847B1 (en) | 1992-03-20 | 2002-05-07 | International Business Machines Corporation | Interactive graphical method for analyzing many-dimensional data sets |
US7774695B2 (en) * | 2006-05-11 | 2010-08-10 | International Business Machines Corporation | Presenting data to a user in a three-dimensional table |
CN112579714A (zh) * | 2019-09-30 | 2021-03-30 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、设备及机器可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62145369A (ja) * | 1985-12-20 | 1987-06-29 | Hitachi Ltd | 図形デ−タの検索方法 |
NL8602654A (nl) * | 1986-10-23 | 1988-05-16 | Philips Nv | Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze. |
NL8702014A (nl) * | 1987-08-28 | 1989-03-16 | Philips Nv | Routebepalingseenheid. |
-
1990
- 1990-02-19 JP JP2036038A patent/JP2786294B2/ja not_active Expired - Fee Related
-
1991
- 1991-02-19 DE DE69130183T patent/DE69130183D1/de not_active Expired - Lifetime
- 1991-02-19 EP EP91102369A patent/EP0443531B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69130183D1 (de) | 1998-10-22 |
EP0443531A2 (en) | 1991-08-28 |
EP0443531A3 (en) | 1993-08-11 |
EP0443531B1 (en) | 1998-09-16 |
JPH03240168A (ja) | 1991-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5418949A (en) | Page map, metamap, and relation group file management supervised by operation means for allocating, storing, and searching friendly and exclusive data items | |
JP3562975B2 (ja) | 集積回路設計方法及び集積回路設計装置 | |
JP4878178B2 (ja) | データ処理方法および装置並びにその処理プログラム | |
JP2626153B2 (ja) | レイアウトのコンパクション方法 | |
US5144679A (en) | Graphic data searching and storage method | |
JPS62145369A (ja) | 図形デ−タの検索方法 | |
CN102867049A (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
JP2891616B2 (ja) | 仮ラベル割付処理方式と実ラベル割付処理方式 | |
JP2786294B2 (ja) | 図形データ検策・格納方法 | |
JP2686758B2 (ja) | 図形編集装置 | |
US5023920A (en) | Method for finding the medial axis transform of an image | |
KR20020001800A (ko) | 컬러 영상 처리 방법 | |
JPS58117077A (ja) | 図形処理における図形デ−タ検索方式 | |
JP2656473B2 (ja) | 図形データ検索装置 | |
JP2002024761A (ja) | 画像処理装置及び画像処理方法並びに記憶媒体 | |
JP2792270B2 (ja) | 検索装置 | |
JPH07146880A (ja) | 文書検索装置及び方法 | |
JP2644735B2 (ja) | 図面情報管理方法 | |
US5479657A (en) | System and method for sorting count information by summing frequencies of usage and using the sums to determine write addresses | |
JP3288063B2 (ja) | 可変長データの格納および参照システム | |
JP2590327B2 (ja) | 図面情報の管理方法 | |
KR100210400B1 (ko) | 쿼드트리에 따른 거리영상 분류방법 | |
CN114332875A (zh) | 一种笔记卡片结构化方法 | |
KR100221312B1 (ko) | 칼라 영상 분류방법 | |
JPS60163086A (ja) | 図形表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080529 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090529 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |