(57)【特許請求の範囲】
【請求項１】
図形を描画する図形処理装置であって、
描画する複数の図形のそれぞれについて、相互の高さ関係を示す階層値を記憶する記憶手段と、
前記複数の図形の２つの図形が重複する場合、該２つの図形のそれぞれの階層値を前記記憶手段より獲得する獲得手段と、
前記獲得手段で獲得された前記２つの図形のそれぞれの階層値を比較する比較手段と、
前記比較手段の比較の結果によって得られる前記２つの図形の高さ関係に基づいて、前記２つの図形の重複する部分を描画する描画手段と、
新たな図形の描画を指示する描画指示手段と、
前記新たな図形が、既に表示されている図形と重なる場合、前記新たな図形の階層値を前記記憶手段に記憶する制御手段と
を備えることを特徴とする図形処理装置。
【請求項２】
前記描画手段は、前記比較手段の比較の結果、前記２つの図形の内、一方の図形の階層値がもう一方の図形の階層値よりも高い場合、該一方の図形を該もう一方の図形の上に重なるように描画する
ことを特徴とする請求項１に記載の図形処理装置。
【請求項３】
前記描画手段は、前比較手段による比較の結果、前記階層値が同じ図形の場合、前記２つの図形の重複する部分をなくすように描画する
ことを特徴とする請求項１又は２に記載の図形処理装置。
【請求項４】
描画する複数の図形のそれぞれについて、相互の高さ関係を示す階層値を記憶手段に記憶する記憶工程と、
前記複数の図形の２つの図形が重複する場合、該２つの図形のそれぞれの階層値を前記記憶手段より獲得する獲得工程と、
前記獲得工程で獲得された前記２つの図形のそれぞれの階層値を比較する比較工程と、
前記比較工程の比較の結果によって得られる前記２つの図形の高さ関係に基づいて、前記２つの図形の重複する部分を描画する描画工程とを有する図形処理方法であって、
新たな図形の描画を指示する描画指示工程と、
前記新たな図形が、既に表示されている図形と重なる場合、前記新たな図形の階層値を前記記憶手段に記憶する制御工程と
を備えることを特徴とする図形処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形を描画する図形処理装置及びその方法に関するものである。
【０００２】
【従来の技術】
従来、パソコンやワープロ等を用いて地図を描くことのできる図形処理装置において、道路を描画する方法としては、その描画される道路を表示するための画面に存在するカーソル等の指示手段を移動させ、その移動する軌跡で描画するものがあった。また、画面上のある２地点を指定してその間を結ぶことで道路を描画する方法があった。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の図形処理装置においては、描画中の道路が他の道路と交差する場合、立体交差するのか、水平交差するのか等の判断を道路と交差する度に行なわなけらばならず描画に伴う操作が煩雑になるという問題点があった。
【０００４】
また、一旦、描画した道路を移動する必要が生じて、描き直す場合でも、他の道路との交差状況をその度に判断して設定してやらなければならなかった。
本発明は上記も問題点を鑑みてなされたものであり、描画する道路が他の道路と交差する場合に、その交差状況を判断することなく容易に描画処理に伴う操作を実行することができる図形処理装置及びその方法を提供することを目的としている。
【０００５】
上記の目的を達成するための本発明による図形処理装置は以下の構成を備える。即ち、
図形を描画する図形処理装置であって、
描画する複数の図形のそれぞれについて、相互の高さ関係を示す階層値を記憶する記憶手段と、
前記複数の図形の２つの図形が重複する場合、該２つの図形のそれぞれの階層値を前記記憶手段より獲得する獲得手段と、
前記獲得手段で獲得された前記２つの図形のそれぞれの階層値を比較する比較手段と、
前記比較手段の比較の結果によって得られる前記２つの図形の高さ関係に基づいて、前記２つの図形の重複する部分を描画する描画手段と、
新たな図形の描画を指示する描画指示手段と、
前記新たな図形が、既に表示されている図形と重なる場合、前記新たな図形の階層値を前記記憶手段に記憶する制御手段と
を備える。
【０００７】
また、好ましくは、前記描画手段は、前記比較手段の比較の結果、前記２つの図形の内、一方の図形の階層値がもう一方の図形の階層値よりも高い場合、該一方の図形を該もう一方の図形の上に重なるように描画する。
また、好ましくは、前記描画手段は、前比較手段による比較の結果、前記階層値が同じ図形の場合、前記２つの図形の重複する部分をなくすように描画する。
【０００８】
上記の目的を達成するための本発明による図形処理方法は以下の構成を備える。即ち、
描画する複数の図形のそれぞれについて、相互の高さ関係を示す階層値を記憶手段に記憶する記憶工程と、
前記複数の図形の２つの図形が重複する場合、該２つの図形のそれぞれの階層値を前記記憶手段より獲得する獲得工程と、
前記獲得工程で獲得された前記２つの図形のそれぞれの階層値を比較する比較工程と、
前記比較工程の比較の結果によって得られる前記２つの図形の高さ関係に基づいて、前記２つの図形の重複する部分を描画する描画工程とを有する図形処理方法であって、
新たな図形の描画を指示する描画指示工程と、
前記新たな図形が、既に表示されている図形と重なる場合、前記新たな図形の階層値を前記記憶手段に記憶する制御工程と
を備える。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施の形態を詳細に説明する。
図１は実施の形態の図形処理装置の機能構成を示すブロック図である。
１はＣＰＵであり、バスラインＢＬ６を通じて、ＫＢ２、ＬＣＤ３、ＶＲＡＭ４、ＦＤＤ５、ＰＲＴ７、ＲＯＭ８、ＲＡＭ１１に接続され、各種制御を行う。２はキーボード（ＫＢ）であり、一般的な文字や図形入力、所望の処理を実行するためのキーを備えている。３はカラーのＬＣＤであり、表示用書き込み専用メモリであるＶＲＡＭ４に書き込まれた文字や図形情報を表示する。また、後述のフローチャートで実行される処理過程あるいは処理結果は、このＶＲＡＭ４に書き込まれた後、ＬＣＤ３に表示される。
【００１３】
８は読み出し専用メモリとして機能するＲＯＭであり、ＫＢ２から入力されるデータの処理や各種処理を実行するためのプログラムを格納している。また、後述のフローチャート（図１０）を実行するためのプログラムＰＲＧ８ａを格納している。
１１は書き込み可能メモリとして機能するＲＡＭであり、各種プログラムやＫＢ２から入力されるデータの作業領域及び一時待避領域である。内部はいくつかの領域に分割され、１１ａは上述したプログラムを動作させるために使用するワークエリアＷＯＲＫである。１１ｂは道路の描画データである道路データを格納するための記憶領域ＤＤである。
【００１４】
５は上述したＤＤ１１ｂを保存するための外部記憶装置として機能するＦＤＤ（フロッピーディスクドライブ）である。また、ＦＤを装着しデータの読み書きが可能である。更に、装着されたＦＤ（不図示）に後述する処理フローのプログラムを書き込み、該プログラムを本装置のＲＡＭ１１に読み込むことで処理を実行させることができる。７は文字図形情報等を記録するためのプリンタとして機能するＰＲＴである。
【００１５】
次にＲＡＭ１１のＤＤ１１ｂに格納されている道路データの格納状況を図２を用いて説明する。
図２は実施の形態のＤＤ１１ｂに格納されている道路データの１つの構成を示す図である。
ＤＤ１ｂにはｍ本（ｍは正の整数）の道路データを格納しており、その道路データの１つＤＤ（ｍ）には以下のデータが格納されている。ＤＤ１１（ｍ）の先頭には道路巾を示す数値ＤＷが格納されており、その次に他の道路との相対的な高さを示す階層値ＫＳが格納されている。また、階層値ＫＳは、例えば、ある道路の階層値として０が設定されると、立体交差等でその上を通る道路は１、下を通る道路は−１というように設定される。更に、新たな地図又は道路を作製する場合は、数値以外の初期データがセットされており、描画する際にユーザが階層値ＫＳをセットすることで階層値ＫＳの設定が完了される。階層値ＫＳ以降は、ｎ＋１個の道路の中心座標（Ｘ０，Ｙ０）〜（Ｘｎ，Ｙｎ）が格納されている。これらの数値の意味を図３を用いて説明する。
【００１６】
図３は実施の形態の道路データによって描画される様子を説明するための図である。
例えば、道路の中心となる座標を（Ｘ０，Ｙ０）〜（Ｘ４，Ｙ４）が、図に示されるような位置であるとすると、まず、各座標が直線で結ばれ、各座標と結ばれた直線を中心にして、図に示されるような道路幅ＤＷの間隔で両側に線が描画される。この際、道路として描画される両側の線は曲線になるようにする。
【００１７】
尚、この道路を描画する技術は、例えば、文字のアウトライン処理と同様の技術を用いることで容易に実現できる。また、ＤＤ１１ｂに格納されている道路データＤＤ（ｍ）を構成する各データは、ＫＢ２より新たなデータを入力することで随時更新することが可能であり、また、後述するフローチャートによって算出されるデータによって更新される。
【００１８】
次に図１のブロック図、図２のメモリ構成図、図４〜図９の描画例及び図１０のフローチャートを用いて本実施の形態の処理について説明する。
尚、本実施の形態では、ＬＣＤ３に表示されるカーソル２０を移動させ、そのカーソル２０が移動する軌跡を座標として随時獲得し、その獲得した座標に基づいて道路データＤＤ１ｂを描画する。また、本実施の形態で処理される道路の描画の過程、または処理後の道路の描画の結果はＬＣＤ３に表示されるものとして説明を行う。
【００１９】
図４に示すように道路２１が描画された後に、カーソル２０を矢印方向に移動させて新たな道路を描く場合の例に挙げて説明する。
ステップＳ１で、移動させるカーソル２０によって描画される道路が、他の道路と交差するか否かを判定する。他の道路と交差しない場合（ステップＳ１でＮＯ）、通常の道路描画処理を行い、他の道路と交差するまで道路の描画処理を繰り返す。他の道路と交差する場合（ステップＳ１でＹＥＳ）、ステップＳ２に進む。
【００２０】
ステップＳ２で、現在描画中の道路の階層値ＫＳが初期データであるか否かを判別する。階層値ＫＳが初期データである場合（ステップＳ２でＹＥＳ）、ステップＳ３に進む。階層値ＫＳが初期データでない場合（ステップＳ２でＮＯ）、ステップＳ５に進む。
ステップＳ３で、現在描画中の道路が、交差道路の上を通るのか下を通るのかあるいは水平交差するのか、ユーザの指示を待つ。また、ユーザによる指示は、ＫＢ２より階層値ＫＳを入力することで指示するものとする。それまではカーソル２０は、先に移動しない。
【００２１】
ステップＳ４で、何らかの指示があればその指示に従った階層値ＫＳをセットする。セット完了後、ステップＳ１に戻り、他の道路と交差するまで道路の描画処理を繰り返す。
ステップＳ５で、現在描画中の道路の階層値ＫＳと交差する道路の階層値ＫＳとの比較を行う。交差道路の階層値ＫＳが現在描画中の道路の階層値ＫＳよりも小さい場合、ステップＳ６に進む。ステップＳ６で、図５に示すように、描画中の道路２２は、交差する道路２１の上を通るように描画処理を行う。
【００２２】
また、交差道路の階層値ＫＳと描画道路の階層値ＫＳが同じ場合、ステップＳ７に進む。ステップＳ７で、図６に示すように、描画中の道路２２は、交差する道路２１と水平に交差するように描画処理を行う。
更に、交差道路の階層値ＫＳが描画道路の階層値ＫＳよりも大きい場合、ステップＳ８に進む。ステップＳ８で、図７に示すように、描画中の道路２２は、交差する道路２１の下を通るように描画処理を行う。
【００２３】
尚、複数の道路が既に描画されている場合、それら道路の交差点は、各道路の階層値ＫＳによって、どのような立体交差又は水平交差になっているかが規定される。そして、更に新たに道路を描画する場合、その新たに描画する道路が、既に描画されている複数の道路と交差する場合でも、それらの道路の内の１つの道路との交差状況を指示すれば、他の道路との交差は自動的に決定される場合がある。
【００２４】
例えば、図８を用いて説明すると、道路２２と道路２１が既に描画されていて、道路２２と道路２１の階層は、道路２１の方が立体交差で上になるように規定されているとする。ここに、更に新たに道路２３を描画する場合、最初に道路２２の下を通す指示（階層値ＫＳを設定）をした場合、道路２３の階層値ＫＳは道路２２よりも小さな値になる。従って、道路２２よりも大きな階層値ＫＳを持つ道路（ここでは道路２１）と交差する場合は、道路２３はその道路の下を通ることになる。図８の道路２１は、道路２２よりも階層値ＫＳが大きいことが規定されるので、道路２３は道路２１と交差する際は改めて指示しなくても自動的に道路２１の下を通るように描画がなされる。
【００２５】
また、一旦描画した道路を移動する場合、道路データＤＤの値を変更して描画し直せば良い。この場合、単に道路の位置をずらすだけであれば、その道路を構成する道路座標の各道路座標（Ｘｎ，Ｙｎ）を変更すればよい。道路幅ＤＷと階層値ＫＳを変えなければ、他の道路特徴とする交差状況は保存される。
例えば、図８に示した道路を描画後、図９に示すように道路２３を右の方に移動させた場合、位置をずらしても階層値ＫＳは変更されないので交差状況も保存される。従って、図９に示すように道路２３は、依然として道路２１の下を通るように描画される。
【００２６】
以上説明したように、本実施の形態によれば、描画する道路の各道路に他の道路との相対的な高さを示す階層値ＫＳを持たせることで、道路を描画する際、その道路が他の道路と交差する場合でも、その交差状況を判断することなく、容易に道路の描画処理を実行することができる。
また、道路の描画は道路データＤＤ（ｍ）に基づいて行われるので、道路データＤＤ（ｍ）の階層値ＫＳが変わらなければ、その道路データＤＤ（ｍ）を構成する道路座標を変更しても他の道路との交差の状況は保存される。
【００２７】
更に、地図の道路を描く際、交差点の状況をいちいち把握しなくとも容易に描画する事が可能になる。また、道路を移動する際にも交差点を意識せず描画することができるという効果がある。
尚、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００２８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００２９】
この場合、記憶媒体から読出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００３０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００３１】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図１１のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。
すなわち、少なくとも「記憶モジュール」、「獲得モジュール」および「描画モジュール」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【００３３】
【発明の効果】
以上の説明からも明らかなように、本発明によれば、描画する道路が他の道路と交差する場合に、その交差状況を判断することなく容易に描画処理に伴う操作を実行することができる図形処理装置及びその方法を提供できる。
【図面の簡単な説明】
【図１】本実施の形態の図形処理装置の機能構成を示すブロック図である。
【図２】本実施の形態のＤＤ１１ｂに格納されている道路データの構成を示す図である。
【図３】本実施の形態の道路データによって描画される様子を説明するための図である。
【図４】本実施の形態のカーソル２０が道路２２を描画する過程を説明するための表示例を示す図である。
【図５】本実施の形態の道路２２が道路２１の上に交差して描画される様子を説明するための表示例である。
【図６】本実施の形態の道路２２が道路２１と水平交差して描画される様子を説明するための表示例である。
【図７】本実施の形態の道路２２が道路２１の下に交差して描画される様子を説明するための表示例である。
【図８】本実施の形態の道路２２が複数の道路と交差して描画される様子を説明するための表示例である。
【図９】本実施の形態の図８の道路２２を移動して描画される様子を説明するための表示例である。
【図１０】本実施の形態の処理フローを説明するためのフローチャートである。
【図１１】本発明で実行される処理フローのプログラムを記憶させたＦＤのメモリマップの構造を示す図である。
【符号の説明】
１  ＣＰＵ
２  ＫＢ
３  ＬＣＤ
４  ＶＲＡＭ
５  ＦＤＤ
６  ＢＬ
７  ＰＲＴ
８  ＲＯＭ
８ａ  ＰＲＧ
１１  ＲＡＭ
１１ａ  ＷＯＲＫ
１１ｂ  ＤＤ
【図１】
0003679484.tif 000002
【図２】
0003679484.tif 000003
【図３】
0003679484.tif 000004
【図４】
0003679484.tif 000005
【図５】
0003679484.tif 000006
【図６】
0003679484.tif 000007
【図７】
0003679484.tif 000008
【図８】
0003679484.tif 000009
【図９】
0003679484.tif 000010
【図１０】
0003679484.tif 000011
【図１１】
0003679484.tif 000012