JPH09161084A - グラフ自動描画装置及びグラフ自動描画法 - Google Patents
グラフ自動描画装置及びグラフ自動描画法Info
- Publication number
- JPH09161084A JPH09161084A JP7321582A JP32158295A JPH09161084A JP H09161084 A JPH09161084 A JP H09161084A JP 7321582 A JP7321582 A JP 7321582A JP 32158295 A JP32158295 A JP 32158295A JP H09161084 A JPH09161084 A JP H09161084A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- node
- nodes
- information
- adjacent
- 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.)
- Withdrawn
Links
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】
【課題】本発明はグラフ自動描画装置及びグラフ自動描
画法に関し、階層関係、隣接関係、及び順序関係からな
る3種類の関係情報をそれぞれ異なる表現形式で明確に
区別して表現できるようにし、1つの図で大規模化、複
雑化した情報を3種類の関係情報を区別しながら視覚的
に明確に表現できるようにする。 【解決手段】順序付木情報取得部14と位置サイズ決定
部15と隣接情報取得部16と隣接エッジ決定部17を
備え、前記各部により、順序付木の木構造を領域の包含
関係で表現し、ノード間の順序を配置の順序で表現し、
隣接エッジを直線或いは曲線からなる線分で表現して、
順序付木に隣接エッジが混在したグラフの各ノードの位
置及び隣接エッジの経路を決定することで、グラフの自
動描画を可能にした。また、隣接エッジを円弧或いは楕
円弧で表現したり、隣接エッジの向きを円弧或いは楕円
弧の向きで表現する。
画法に関し、階層関係、隣接関係、及び順序関係からな
る3種類の関係情報をそれぞれ異なる表現形式で明確に
区別して表現できるようにし、1つの図で大規模化、複
雑化した情報を3種類の関係情報を区別しながら視覚的
に明確に表現できるようにする。 【解決手段】順序付木情報取得部14と位置サイズ決定
部15と隣接情報取得部16と隣接エッジ決定部17を
備え、前記各部により、順序付木の木構造を領域の包含
関係で表現し、ノード間の順序を配置の順序で表現し、
隣接エッジを直線或いは曲線からなる線分で表現して、
順序付木に隣接エッジが混在したグラフの各ノードの位
置及び隣接エッジの経路を決定することで、グラフの自
動描画を可能にした。また、隣接エッジを円弧或いは楕
円弧で表現したり、隣接エッジの向きを円弧或いは楕円
弧の向きで表現する。
Description
【0001】
【発明の属する技術分野】本発明は、与えられたグラフ
情報からグラフ自動描画のための各種処理を行い、その
結果の情報を基にグラフ自動描画を可能にしたグラフ自
動描画装置及びグラフ自動描画法に関する。
情報からグラフ自動描画のための各種処理を行い、その
結果の情報を基にグラフ自動描画を可能にしたグラフ自
動描画装置及びグラフ自動描画法に関する。
【0002】なお、ここで言う「グラフ」とは、ノード
の集合とそれらの間の関係を表すエッジの集合から構成
されるものである。本発明はグラフの1つのクラスであ
る「木」を基本として、ノードが順序を持ち、更に別の
関係を表現するエッジが混在したグラフを対象とするも
のである。
の集合とそれらの間の関係を表すエッジの集合から構成
されるものである。本発明はグラフの1つのクラスであ
る「木」を基本として、ノードが順序を持ち、更に別の
関係を表現するエッジが混在したグラフを対象とするも
のである。
【0003】
【従来の技術】以下、従来例を説明する。 §1:グラフ自動描画法の説明 ノードの集合とそれらの間の関係を表すエッジの集合か
ら構成されるグラフは、情報科学や工学をはじめ様々な
分野で多様な構造(ネットワーク、処理フロー、組織構
造など)を表現するために利用されている。グラフは数
学的には(グラフ理論では)、ノードとエッジからなる
トポロジカルな構造であり、図とは独立の概念である
が、図による表現はその構造の理解を助けるのに非常に
有効である。
ら構成されるグラフは、情報科学や工学をはじめ様々な
分野で多様な構造(ネットワーク、処理フロー、組織構
造など)を表現するために利用されている。グラフは数
学的には(グラフ理論では)、ノードとエッジからなる
トポロジカルな構造であり、図とは独立の概念である
が、図による表現はその構造の理解を助けるのに非常に
有効である。
【0004】しかしながら、その構造を分かりやすく図
に描くことは人間にとって面倒な作業であるため、計算
機に自動的に描かせたいという要求がある。グラフの
内、広く利用されているものに「木」と呼ばれるクラス
がある。例えば、組織構造や、文章構造(章立て)など
は木で表現することができる。また、UNIXのファイ
ル・システムなどは、木の構造を利用してファイル管理
を行っている。
に描くことは人間にとって面倒な作業であるため、計算
機に自動的に描かせたいという要求がある。グラフの
内、広く利用されているものに「木」と呼ばれるクラス
がある。例えば、組織構造や、文章構造(章立て)など
は木で表現することができる。また、UNIXのファイ
ル・システムなどは、木の構造を利用してファイル管理
を行っている。
【0005】このように、木が多用されるのは、組織構
造や文章構造が持つ階層的な関係(階層構造)を表現す
るのに木が適しているからと言える。しかしながら、実
世界の構造の多くは木によって表現される階層構造のよ
うに単純ではなく、複数の関係が複合していることが多
い。そのような関係とは、例えば、「隣接関係」や「順
序関係」と呼ばれるようなものである。先の例では次の
ようになる。
造や文章構造が持つ階層的な関係(階層構造)を表現す
るのに木が適しているからと言える。しかしながら、実
世界の構造の多くは木によって表現される階層構造のよ
うに単純ではなく、複数の関係が複合していることが多
い。そのような関係とは、例えば、「隣接関係」や「順
序関係」と呼ばれるようなものである。先の例では次の
ようになる。
【0006】:企業における組織構造は基本的には、
部の下に課があり、課の下に係があるというように階層
構造であり、各部署間には職制上の順序が存在し、更に
「兼任」という形で同一人物が複数の部署に所属してい
る。
部の下に課があり、課の下に係があるというように階層
構造であり、各部署間には職制上の順序が存在し、更に
「兼任」という形で同一人物が複数の部署に所属してい
る。
【0007】:文章構造(章立て)は基本的には、章
の下に節があり、節の下に項があるというように階層構
造であるが、章、節、項はそれぞれ番号付けられた順序
を持ち、文章間には或る単位で「参照関係」が存在す
る。
の下に節があり、節の下に項があるというように階層構
造であるが、章、節、項はそれぞれ番号付けられた順序
を持ち、文章間には或る単位で「参照関係」が存在す
る。
【0008】:UNIXのファイル・システムは基本
的には、ディレクトリの下にサブディレクトリがあると
いうように木構造として管理されているが、ファイル名
やディレクトリ名は、例えば、アルファベットの順の辞
書式順序を持ち、「リンク」とう形態で、同一ファイル
が複数の場所で共有されている。これらの関係の複合の
仕方を整理すると次の表のようになる。
的には、ディレクトリの下にサブディレクトリがあると
いうように木構造として管理されているが、ファイル名
やディレクトリ名は、例えば、アルファベットの順の辞
書式順序を持ち、「リンク」とう形態で、同一ファイル
が複数の場所で共有されている。これらの関係の複合の
仕方を整理すると次の表のようになる。
【0009】 ところで、従来のグラフ自動描画法の大部分は、全ての
エッジを同一の表現形式、すなわち、線分(直線または
曲線)で表現するものである。この方法では、エッジの
種類や色や線種などの属性で区別しなければならず、エ
ッジの種類によって表現したい意味を本質的に区別して
表現することはできない。それに対して、例えば、次の
ようなグラフ自動描画法に関する文献が知られている。
エッジを同一の表現形式、すなわち、線分(直線または
曲線)で表現するものである。この方法では、エッジの
種類や色や線種などの属性で区別しなければならず、エ
ッジの種類によって表現したい意味を本質的に区別して
表現することはできない。それに対して、例えば、次の
ようなグラフ自動描画法に関する文献が知られている。
【0010】文献1:三末和男、杉山公造、「図的思考
支援を目的とした複合グラフの階層的描画法につい
て」、情報処理学会論文誌、Vol.30,No.1
0,PP.1324〜1334、1989. 文献2:Kozo Sugiyama and Kazuo Misue. 「Visualizat
ion of structural information: Automatic drawing o
f compound digraphs. IEEE Trans.SMC,Vol.21,No.4,p
p.876-892,1991. 前記文献1、2に示されたグラフ自動描画法は、階層関
係と隣接関係の2種類の関係(関係情報)を「折れ線」
と「領域の包含関係」という全く異なる方法で表現する
ため、それらの意味の違いを明確に区別することはでき
る。しかしなから、このグラフ自動描画法は、エッジを
表す折れ線の交差数が少なくなるようノードの順序を決
定するものである。つまり、この方法は、折れ線で表さ
れたエッジによって各領域内におけるノードの順序や位
置を決定するものである。
支援を目的とした複合グラフの階層的描画法につい
て」、情報処理学会論文誌、Vol.30,No.1
0,PP.1324〜1334、1989. 文献2:Kozo Sugiyama and Kazuo Misue. 「Visualizat
ion of structural information: Automatic drawing o
f compound digraphs. IEEE Trans.SMC,Vol.21,No.4,p
p.876-892,1991. 前記文献1、2に示されたグラフ自動描画法は、階層関
係と隣接関係の2種類の関係(関係情報)を「折れ線」
と「領域の包含関係」という全く異なる方法で表現する
ため、それらの意味の違いを明確に区別することはでき
る。しかしなから、このグラフ自動描画法は、エッジを
表す折れ線の交差数が少なくなるようノードの順序を決
定するものである。つまり、この方法は、折れ線で表さ
れたエッジによって各領域内におけるノードの順序や位
置を決定するものである。
【0011】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 (1) :従来のグラフ自動描画法の大部分は、全てのエッ
ジを同一の表現形式、すなわち、線分(直線または曲
線)で表現するものである。この方法では、エッジの種
類や色や線種などの属性で区別しなければならず、エッ
ジの種類によって表現したい意味を本質的に区別して表
現することができなかった。
のにおいては、次のような課題があった。 (1) :従来のグラフ自動描画法の大部分は、全てのエッ
ジを同一の表現形式、すなわち、線分(直線または曲
線)で表現するものである。この方法では、エッジの種
類や色や線種などの属性で区別しなければならず、エッ
ジの種類によって表現したい意味を本質的に区別して表
現することができなかった。
【0012】(2) :前記文献1、文献2に開示されたグ
ラフ自動描画法では、階層関係と隣接関係の2種類の関
係(関係情報)を「折れ線」と「領域の包含関係」とい
う全く異なる方法で表現するため、それらの意味の違い
を明確に区別することはできる。
ラフ自動描画法では、階層関係と隣接関係の2種類の関
係(関係情報)を「折れ線」と「領域の包含関係」とい
う全く異なる方法で表現するため、それらの意味の違い
を明確に区別することはできる。
【0013】しかしなから、この方法は、エッジを表す
折れ線の交差数が少なくなるようノードの順序を決定す
るものである。つまり、この方法は、折れ線で表された
エッジによって各領域内におけるノードの順序や位置を
決定するため、例えば、文書などのように順序が重要で
ある場合には不向きである。すなわち、前記の方法で
は、グラフが本来持っている順序を表現できないため、
文章などのように順序が重要である場合には利用できな
い。
折れ線の交差数が少なくなるようノードの順序を決定す
るものである。つまり、この方法は、折れ線で表された
エッジによって各領域内におけるノードの順序や位置を
決定するため、例えば、文書などのように順序が重要で
ある場合には不向きである。すなわち、前記の方法で
は、グラフが本来持っている順序を表現できないため、
文章などのように順序が重要である場合には利用できな
い。
【0014】本発明は、このような従来の課題を解決
し、階層関係、隣接関係、及び順序関係からなる3種類
の関係情報をそれぞれ異なる表現形式で明確に区別して
表現できるようにすると共に、ノードの位置やエッジの
経路などを自動決定することにより、1つの図において
大規模化、複雑化した情報を前記3種類の関係情報を区
別しながら視覚的に明確に表現できるようにすることを
目的とする。
し、階層関係、隣接関係、及び順序関係からなる3種類
の関係情報をそれぞれ異なる表現形式で明確に区別して
表現できるようにすると共に、ノードの位置やエッジの
経路などを自動決定することにより、1つの図において
大規模化、複雑化した情報を前記3種類の関係情報を区
別しながら視覚的に明確に表現できるようにすることを
目的とする。
【0015】
【課題を解決するための手段】図1は本発明の原理説明
図である。 §1:本発明の基本的な説明 本発明では、グラフを自動描画する場合、次の2つの条
件を満たすようにして描画する。すなわち、:条件1
は、「階層エッジ」と「隣接エッジ」を別の表現形式で
表現することである。:条件2は、「ノードの順序関
係」を「配置」で表現することである。
図である。 §1:本発明の基本的な説明 本発明では、グラフを自動描画する場合、次の2つの条
件を満たすようにして描画する。すなわち、:条件1
は、「階層エッジ」と「隣接エッジ」を別の表現形式で
表現することである。:条件2は、「ノードの順序関
係」を「配置」で表現することである。
【0016】つまり、本発明のグラフ自動描画処理で必
要とされるグラフは「階層関係」、「隣接関係」、「順
序関係」の3種類の関係を表現できるものである。この
場合、階層関係を表現する木を基本とし、ノードに順序
関係があり、更に階層関係とは別の隣接関係が存在する
複合的なグラフと言える。以後、この種のグラフを「順
序付複合木」と記す。また、木を構成するエッジ、すな
わち、階層関係を表すエッジを「階層エッジ」、隣接関
係を表すエッジを「隣接エッジ」と呼び分けて説明す
る。
要とされるグラフは「階層関係」、「隣接関係」、「順
序関係」の3種類の関係を表現できるものである。この
場合、階層関係を表現する木を基本とし、ノードに順序
関係があり、更に階層関係とは別の隣接関係が存在する
複合的なグラフと言える。以後、この種のグラフを「順
序付複合木」と記す。また、木を構成するエッジ、すな
わち、階層関係を表すエッジを「階層エッジ」、隣接関
係を表すエッジを「隣接エッジ」と呼び分けて説明す
る。
【0017】一般にグラフをレイアウトする際に重要な
のは図としての質であり、つまり、良い図は見るものの
理解を助けるが、良くない図は誤解を与えたり混乱を招
いたりする可能性がある。グラフ自動描画装置によって
描きたいのは当然質の良い図である。ここでは、順序付
複合木を良い図として描くための条件として前記2つの
条件を必要とする。前記2つの条件は経験的に取り決め
た条件であるが、広く受け入れられる条件である。
のは図としての質であり、つまり、良い図は見るものの
理解を助けるが、良くない図は誤解を与えたり混乱を招
いたりする可能性がある。グラフ自動描画装置によって
描きたいのは当然質の良い図である。ここでは、順序付
複合木を良い図として描くための条件として前記2つの
条件を必要とする。前記2つの条件は経験的に取り決め
た条件であるが、広く受け入れられる条件である。
【0018】前記2つの条件を満たすための順序付複合
木の表現方法として次のような表現方法を採用する。
「ノード」は長方形などの「領域」で表現する。「階層
エッジ」はノードの表す領域の包含関係で表現する。
「隣接エッジ」は線(直線、折れ線、曲線など)で表現
する。「ノードの順序」はノードの並び順(上から下、
右から左など)で表現する。また、順序付複合木TをT
=(V,E,A,O)のように形式的に表現する。
木の表現方法として次のような表現方法を採用する。
「ノード」は長方形などの「領域」で表現する。「階層
エッジ」はノードの表す領域の包含関係で表現する。
「隣接エッジ」は線(直線、折れ線、曲線など)で表現
する。「ノードの順序」はノードの並び順(上から下、
右から左など)で表現する。また、順序付複合木TをT
=(V,E,A,O)のように形式的に表現する。
【0019】ここで、Vはノードの集合、Eは階層エッ
ジの集合、Aは隣接エッジの集合、OはノードV上の順
序関係である。エッジは始点ノードと終点ノードの組に
よって(vh ,vt )のように表される。階層エッジは
必ず向きを持たなくても良いとする。
ジの集合、Aは隣接エッジの集合、OはノードV上の順
序関係である。エッジは始点ノードと終点ノードの組に
よって(vh ,vt )のように表される。階層エッジは
必ず向きを持たなくても良いとする。
【0020】§2:本発明の構成の説明 本発明の構成は次の通りである。 (1) :与えられたグラフ情報から、ノード、ノードの階
層関係のエッジを表す階層エッジ、及びノードの順序か
らなる順序付木に各ノード間の隣接関係のエッジを表す
隣接エッジが混在したグラフの各ノードの位置と隣接エ
ッジの経路を決定することで、グラフの自動描画を可能
にしたグラフ自動描画装置において、装置本体2と、入
力装置20と、出力装置21を備え、前記装置本体2に
は、主制御部11と、メモリ12と、順序付木情報取得
部14と、位置サイズ決定部15と、隣接情報取得部1
6と、隣接エッジ決定部17を備えた。
層関係のエッジを表す階層エッジ、及びノードの順序か
らなる順序付木に各ノード間の隣接関係のエッジを表す
隣接エッジが混在したグラフの各ノードの位置と隣接エ
ッジの経路を決定することで、グラフの自動描画を可能
にしたグラフ自動描画装置において、装置本体2と、入
力装置20と、出力装置21を備え、前記装置本体2に
は、主制御部11と、メモリ12と、順序付木情報取得
部14と、位置サイズ決定部15と、隣接情報取得部1
6と、隣接エッジ決定部17を備えた。
【0021】(2) :グラフ自動描画装置において、与え
られたグラフ情報からノードV、ノードの階層関係のエ
ッジを表す階層エッジE、及びノードの順序Oからなる
順序付木T′=(V,E,O)の構成情報を取得する順
序付木情報取得部14と、順序付木情報取得部14が取
得した順序付木の構成情報からノードの位置及びサイズ
を決定する位置サイズ決定部15と、与えられたグラフ
情報からノードV及び各ノード間の隣接関係のエッジを
表す隣接エッジAからなる隣接グラフG=(V,A)の
構成情報を取得する隣接情報取得部16と、隣接情報取
得部16が取得した隣接グラフの構成情報及び位置サイ
ズ決定部15が決定したノードの位置及びサイズを基に
隣接エッジの経路を決定する隣接エッジ決定部17を備
え、前記各部により、順序付木の木構造を領域の包含関
係で表現し、ノード間の順序を配置の順序で表現し、隣
接エッジを直線或いは曲線からなる線分で表現して、順
序付木T′=(V,E,O)に隣接エッジAが混在した
グラフT=(V,E,A,O)の各ノードの位置及び隣
接エッジの経路を決定することで、グラフの自動描画を
可能にした。
られたグラフ情報からノードV、ノードの階層関係のエ
ッジを表す階層エッジE、及びノードの順序Oからなる
順序付木T′=(V,E,O)の構成情報を取得する順
序付木情報取得部14と、順序付木情報取得部14が取
得した順序付木の構成情報からノードの位置及びサイズ
を決定する位置サイズ決定部15と、与えられたグラフ
情報からノードV及び各ノード間の隣接関係のエッジを
表す隣接エッジAからなる隣接グラフG=(V,A)の
構成情報を取得する隣接情報取得部16と、隣接情報取
得部16が取得した隣接グラフの構成情報及び位置サイ
ズ決定部15が決定したノードの位置及びサイズを基に
隣接エッジの経路を決定する隣接エッジ決定部17を備
え、前記各部により、順序付木の木構造を領域の包含関
係で表現し、ノード間の順序を配置の順序で表現し、隣
接エッジを直線或いは曲線からなる線分で表現して、順
序付木T′=(V,E,O)に隣接エッジAが混在した
グラフT=(V,E,A,O)の各ノードの位置及び隣
接エッジの経路を決定することで、グラフの自動描画を
可能にした。
【0022】(3) :前記(2) のグラフ自動描画装置にお
いて、前記隣接エッジを、円弧或いは楕円弧で表現する
ようにした。 (4) :前記(2) のグラフ自動描画装置において、前記隣
接エッジの向きを、円弧或いは楕円弧の向きで表現する
ようにした。
いて、前記隣接エッジを、円弧或いは楕円弧で表現する
ようにした。 (4) :前記(2) のグラフ自動描画装置において、前記隣
接エッジの向きを、円弧或いは楕円弧の向きで表現する
ようにした。
【0023】(5) :前記(2) 〜(4) のグラフ自動描画装
置において、前記ノードの間の順序を表現する配置の並
びを、順序付木の木構造における深さの偶奇によって縦
方向と横方向とに交互に変えるようにした。
置において、前記ノードの間の順序を表現する配置の並
びを、順序付木の木構造における深さの偶奇によって縦
方向と横方向とに交互に変えるようにした。
【0024】(6) :グラフ自動描画装置により、ノー
ド、ノードの階層関係のエッジを表す階層エッジ、及び
ノードの順序からなる順序付木に各ノード間の隣接関係
のエッジを表す隣接エッジが混在したグラフの各ノード
の位置と隣接エッジの経路を決定することで、グラフの
自動描画を可能にしたグラフ自動描画法であって、前記
順序付木の木構造を領域の包含関係で表現し、ノード間
の順序を配置の順序で表現し、前記隣接エッジを直線或
いは曲線からなる線分で表現するようにした。
ド、ノードの階層関係のエッジを表す階層エッジ、及び
ノードの順序からなる順序付木に各ノード間の隣接関係
のエッジを表す隣接エッジが混在したグラフの各ノード
の位置と隣接エッジの経路を決定することで、グラフの
自動描画を可能にしたグラフ自動描画法であって、前記
順序付木の木構造を領域の包含関係で表現し、ノード間
の順序を配置の順序で表現し、前記隣接エッジを直線或
いは曲線からなる線分で表現するようにした。
【0025】(作用)前記構成に基づく本発明の作用を
図1に基づいて説明する。入力装置20からグラフ情報
が入力されると、主制御部11はそのグラフ情報をメモ
リ12に格納する。その後主制御部11の指示により、
順序付木情報取得部14、位置サイズ決定部15、隣接
情報取得部16、隣接エッジ決定部17がグラフ自動描
画のための処理(前処理)を開始すると、前記メモリ1
2に格納してあるグラフ情報を使用して処理を行い、処
理後の情報(データ)をメモリ12に格納する。
図1に基づいて説明する。入力装置20からグラフ情報
が入力されると、主制御部11はそのグラフ情報をメモ
リ12に格納する。その後主制御部11の指示により、
順序付木情報取得部14、位置サイズ決定部15、隣接
情報取得部16、隣接エッジ決定部17がグラフ自動描
画のための処理(前処理)を開始すると、前記メモリ1
2に格納してあるグラフ情報を使用して処理を行い、処
理後の情報(データ)をメモリ12に格納する。
【0026】その後、グラフを自動描画する場合は、メ
モリ12の情報を使用して処理を行い、出力装置21へ
グラフの描画情報を出力する。このようにして描画した
グラフ描画例は図1のB図のようになる。この場合、グ
ラフ自動描画のための処理(前処理)は次のようにして
行う。すなわち、グラフ情報として順序付複合木T=
(V,E,A,O)の情報が与えられた場合、自動描画
のための処理は次のようにして行う。
モリ12の情報を使用して処理を行い、出力装置21へ
グラフの描画情報を出力する。このようにして描画した
グラフ描画例は図1のB図のようになる。この場合、グ
ラフ自動描画のための処理(前処理)は次のようにして
行う。すなわち、グラフ情報として順序付複合木T=
(V,E,A,O)の情報が与えられた場合、自動描画
のための処理は次のようにして行う。
【0027】:先ず、順序付木情報取得部14は、与
えられたグラフ情報(メモリ12の情報)からノード
V、ノードの階層関係のエッジを表す階層エッジE、ノ
ードの順序Oからなる順序付木T′=(V,E,O)の
構成情報を取得する(必要な情報を取り出す)。
えられたグラフ情報(メモリ12の情報)からノード
V、ノードの階層関係のエッジを表す階層エッジE、ノ
ードの順序Oからなる順序付木T′=(V,E,O)の
構成情報を取得する(必要な情報を取り出す)。
【0028】:位置サイズ決定部15は、前記順序付
木情報取得部14が取得した順序付木の構成情報からノ
ードの位置及びサイズを決定し、メモリ12に格納して
おく。
木情報取得部14が取得した順序付木の構成情報からノ
ードの位置及びサイズを決定し、メモリ12に格納して
おく。
【0029】:隣接情報取得部16は、与えられたグ
ラフ情報(メモリ12の情報)からノードV及び各ノー
ド間の隣接関係のエッジを表す隣接エッジAからなる隣
接グラフG=(V,A)の構成情報を取得する(必要な
情報を取り出す)。
ラフ情報(メモリ12の情報)からノードV及び各ノー
ド間の隣接関係のエッジを表す隣接エッジAからなる隣
接グラフG=(V,A)の構成情報を取得する(必要な
情報を取り出す)。
【0030】:隣接エッジ決定部17は、前記隣接情
報取得部16が取得した隣接グラフの構成情報及び前記
位置サイズ決定部15が決定したノードの位置及びサイ
ズ(メモリ12の情報)を基に隣接エッジの経路を決定
する。そして、決定した情報はメモリ12に格納してお
く。
報取得部16が取得した隣接グラフの構成情報及び前記
位置サイズ決定部15が決定したノードの位置及びサイ
ズ(メモリ12の情報)を基に隣接エッジの経路を決定
する。そして、決定した情報はメモリ12に格納してお
く。
【0031】以上のようにして、階層関係、隣接関係、
及び順序関係からなる3種類の関係情報をそれぞれ異な
る表現形式で明確に区別して表現することができる。ま
た、ノードの位置やエッジの経路などを自動決定するこ
とにより、1つの図において大規模化、複雑化した情報
を前記3種類の関係情報を区別しながら視覚的に明確に
表現することができる。
及び順序関係からなる3種類の関係情報をそれぞれ異な
る表現形式で明確に区別して表現することができる。ま
た、ノードの位置やエッジの経路などを自動決定するこ
とにより、1つの図において大規模化、複雑化した情報
を前記3種類の関係情報を区別しながら視覚的に明確に
表現することができる。
【0032】
【発明の実施の形態】以下、発明の実施の形態を図面に
基づいて詳細に説明する。 (各実施の形態に共通の説明) §1:グラフ自動描画装置の構成の説明・・・図2参照 図2はグラフ自動描画装置のブロック図である。以下に
説明する各実施の形態におけるグラフ自動描画装置は図
2に示した通りである。このグラフ自動描画装置は、パ
ーソナルコンピュータ、ワークステーションなど各種の
コンピュータにより実現する。
基づいて詳細に説明する。 (各実施の形態に共通の説明) §1:グラフ自動描画装置の構成の説明・・・図2参照 図2はグラフ自動描画装置のブロック図である。以下に
説明する各実施の形態におけるグラフ自動描画装置は図
2に示した通りである。このグラフ自動描画装置は、パ
ーソナルコンピュータ、ワークステーションなど各種の
コンピュータにより実現する。
【0033】図示のように、グラフ自動描画装置は、装
置本体2と、ハードディスクドライブ(以下「HDD」
と記す)3と、プリンタ4と、ディスプレイ装置5とキ
ーボード6等で構成されている。そして、前記装置本体
2には、主制御部11と、メモリ12と、入出力制御部
(以下「I/O制御部」と記す)13と、順序付木情報
取得部14と、位置サイズ決定部15と、隣接情報取得
部16と、隣接エッジ決定部17等を設ける。前記各部
の機能等は次の通りである。
置本体2と、ハードディスクドライブ(以下「HDD」
と記す)3と、プリンタ4と、ディスプレイ装置5とキ
ーボード6等で構成されている。そして、前記装置本体
2には、主制御部11と、メモリ12と、入出力制御部
(以下「I/O制御部」と記す)13と、順序付木情報
取得部14と、位置サイズ決定部15と、隣接情報取得
部16と、隣接エッジ決定部17等を設ける。前記各部
の機能等は次の通りである。
【0034】(1) :HDD3は、内部にハードディスク
(ディスク記憶媒体)を備え、前記ハードディスクに対
して各種データ(情報)の書き込み、及び読み出しを行
うものである。なお、このハードディスクには、予めグ
ラフ描画処理に必要なグラフ情報、その他各種データを
格納しておく。
(ディスク記憶媒体)を備え、前記ハードディスクに対
して各種データ(情報)の書き込み、及び読み出しを行
うものである。なお、このハードディスクには、予めグ
ラフ描画処理に必要なグラフ情報、その他各種データを
格納しておく。
【0035】(2) :プリンタ4は、装置本体2で処理し
た結果のデータを印刷して出力するものである。 (3) :ディスプレイ装置5は、装置本体2で処理中のデ
ータや処理結果のデータ等を画面に表示するものであ
る。
た結果のデータを印刷して出力するものである。 (3) :ディスプレイ装置5は、装置本体2で処理中のデ
ータや処理結果のデータ等を画面に表示するものであ
る。
【0036】(4) :キーボード6は、オペレータにより
操作され、各種データや制御情報等を入力するものであ
る。 (5) :主制御部11は、装置本体2の各種制御を行うも
の(例えば、CPU)である。
操作され、各種データや制御情報等を入力するものであ
る。 (5) :主制御部11は、装置本体2の各種制御を行うも
の(例えば、CPU)である。
【0037】(6) :メモリ12は、装置本体2の内部に
設けた半導体メモリであり、装置本体2で使用するデー
タ等を記憶するものである。 (7) :I/O制御部13は、HDD3、プリンタ4、デ
ィスプレイ装置5、キーボード6等の入出力装置に対す
る入出力制御を行うものである。
設けた半導体メモリであり、装置本体2で使用するデー
タ等を記憶するものである。 (7) :I/O制御部13は、HDD3、プリンタ4、デ
ィスプレイ装置5、キーボード6等の入出力装置に対す
る入出力制御を行うものである。
【0038】(8) :順序付木情報取得部14は、与えら
れたグラフ情報からノードV、ノードの階層関係のエッ
ジを表す階層エッジE、及びノードの順序Oからなる順
序付木T′=(V,E,O)の構成情報を取得するもの
である。
れたグラフ情報からノードV、ノードの階層関係のエッ
ジを表す階層エッジE、及びノードの順序Oからなる順
序付木T′=(V,E,O)の構成情報を取得するもの
である。
【0039】(9) :位置サイズ決定部15は、順序付木
情報取得部14が取得した順序付木の構成情報からノー
ドの位置及びサイズを決定するものである。 (10):隣接情報取得部16は、与えられたグラフ情報か
らノードV及び各ノード間の隣接関係のエッジを表す隣
接エッジAからなる隣接グラフG=(V,A)の構成情
報を取得するものである。
情報取得部14が取得した順序付木の構成情報からノー
ドの位置及びサイズを決定するものである。 (10):隣接情報取得部16は、与えられたグラフ情報か
らノードV及び各ノード間の隣接関係のエッジを表す隣
接エッジAからなる隣接グラフG=(V,A)の構成情
報を取得するものである。
【0040】(11):隣接エッジ決定部17は、隣接情報
取得部16が取得した隣接グラフの構成情報及び位置サ
イズ決定部15が決定したノードの位置及びサイズを基
に隣接エッジの経路を決定するものである。
取得部16が取得した隣接グラフの構成情報及び位置サ
イズ決定部15が決定したノードの位置及びサイズを基
に隣接エッジの経路を決定するものである。
【0041】§2:パラメータ等の準備処理の説明・・
・図3参照 図3はパラメータの説明図である。以下の説明では、図
3に示したx−y座標を設定し、原点Oに対し図示矢印
方向をx軸の+方向、及びy軸の+方向として説明す
る。本実施の形態ではノードは全て長方形で描くことに
する。ノードvの位置は左下の頂点を基準(x−y座標
の原点0の位置)としてx(v)とy(v)で表すこと
にする。サイズ、すなわち、ノードの高さと幅をそれぞ
れh(v)とw(v)で表すことにする。
・図3参照 図3はパラメータの説明図である。以下の説明では、図
3に示したx−y座標を設定し、原点Oに対し図示矢印
方向をx軸の+方向、及びy軸の+方向として説明す
る。本実施の形態ではノードは全て長方形で描くことに
する。ノードvの位置は左下の頂点を基準(x−y座標
の原点0の位置)としてx(v)とy(v)で表すこと
にする。サイズ、すなわち、ノードの高さと幅をそれぞ
れh(v)とw(v)で表すことにする。
【0042】また、vh ,vt ∈Vに対して、(vh ,
vt )∈Eの時、すなわち、ノードの集合Vに含まれる
ノードvh ,vt に対し、(vh ,vt )が階層エッジ
の集合Eの要素である時、ノードvh をノードvt の
「親」、逆にノードvt をノードvh の「子」と呼ぶ。
vt )∈Eの時、すなわち、ノードの集合Vに含まれる
ノードvh ,vt に対し、(vh ,vt )が階層エッジ
の集合Eの要素である時、ノードvh をノードvt の
「親」、逆にノードvt をノードvh の「子」と呼ぶ。
【0043】ノードvの全ての子の集合をCh(v)で
表す。階層エッジの集合Eは木を構成するので唯一のノ
ード以外は必ず一つ親を持つ。親を持たないノードをル
ートと呼びRで表す。また、子を持たないノードを「リ
ーフノード」、または単に「リーフ」と呼ぶ。
表す。階層エッジの集合Eは木を構成するので唯一のノ
ード以外は必ず一つ親を持つ。親を持たないノードをル
ートと呼びRで表す。また、子を持たないノードを「リ
ーフノード」、または単に「リーフ」と呼ぶ。
【0044】グラフの描画を行うに当たり、リーフノー
ドのサイズは既に決まっているとする。これは通常、ノ
ードの中身として描かれるラベルなどによって決められ
るものであり、全て同じサイズでも、それぞれ異なって
いても構わない。また、親の領域内での配置のためのパ
ラメータも予め決められているとする。
ドのサイズは既に決まっているとする。これは通常、ノ
ードの中身として描かれるラベルなどによって決められ
るものであり、全て同じサイズでも、それぞれ異なって
いても構わない。また、親の領域内での配置のためのパ
ラメータも予め決められているとする。
【0045】図3のA図において、xL とxR はそれぞ
れ左右のスペース、xS はノード間のx軸方向のスペー
スを表す。また、図3のB図において、yT とyB はそ
れぞれ上下のスペース、yS はノード間のy軸方向のス
ペースを表す。
れ左右のスペース、xS はノード間のx軸方向のスペー
スを表す。また、図3のB図において、yT とyB はそ
れぞれ上下のスペース、yS はノード間のy軸方向のス
ペースを表す。
【0046】なお、前記各パラメータ等のデータは、予
めHDD3のハードディスク(記憶媒体)に格納してお
き、グラフ自動描画処理時にHDD3から読み出し、メ
モリ12に格納して使用するものとする。
めHDD3のハードディスク(記憶媒体)に格納してお
き、グラフ自動描画処理時にHDD3から読み出し、メ
モリ12に格納して使用するものとする。
【0047】§3:基本処理の説明 順序付複合木T=(V,E,A,O)の情報が与えられ
た場合、自動レイアウトの手順、すなわち、自動描画手
順は次のようになる。この場合、HDD3のハードディ
スクには、順序付複合木T=(V,E,A,O)の情報
(グラフ情報)が予め格納されているものとする。
た場合、自動レイアウトの手順、すなわち、自動描画手
順は次のようになる。この場合、HDD3のハードディ
スクには、順序付複合木T=(V,E,A,O)の情報
(グラフ情報)が予め格納されているものとする。
【0048】グラフ自動描画装置の電源が投入され装置
の立ち上げ処理が行われると、主制御部11の制御によ
り、HDD3のハードディスクに格納されている順序付
複合木T=(V,E,A,O)の情報(グラフ情報)が
読み出され、メモリ12に格納される。
の立ち上げ処理が行われると、主制御部11の制御によ
り、HDD3のハードディスクに格納されている順序付
複合木T=(V,E,A,O)の情報(グラフ情報)が
読み出され、メモリ12に格納される。
【0049】その後、主制御部11の指示により、順序
付木情報取得部14、位置サイズ決定部15、隣接情報
取得部16、隣接エッジ決定部17がグラフ自動描画の
ための処理(前処理)を開始すると、前記メモリ12に
格納してあるグラフ情報を使用して前記処理を行い、処
理後の情報(データ)を再びメモリ12に格納してお
く。
付木情報取得部14、位置サイズ決定部15、隣接情報
取得部16、隣接エッジ決定部17がグラフ自動描画の
ための処理(前処理)を開始すると、前記メモリ12に
格納してあるグラフ情報を使用して前記処理を行い、処
理後の情報(データ)を再びメモリ12に格納してお
く。
【0050】その後、グラフを描画する場合は、主制御
部11の制御によりメモリ12の情報を使用してグラフ
描画処理を行い、プリンタ4、ディスプレイ装置5、或
いはHDD3へグラフの描画情報を出力する。この場
合、前記グラフ自動描画のための処理は次のようにして
行う。すなわち、グラフ情報として順序付複合木T=
(V,E,A,O)の情報が与えられた場合、自動描画
のための処理は次のようにして行う。
部11の制御によりメモリ12の情報を使用してグラフ
描画処理を行い、プリンタ4、ディスプレイ装置5、或
いはHDD3へグラフの描画情報を出力する。この場
合、前記グラフ自動描画のための処理は次のようにして
行う。すなわち、グラフ情報として順序付複合木T=
(V,E,A,O)の情報が与えられた場合、自動描画
のための処理は次のようにして行う。
【0051】:先ず、順序付木情報取得部14は、与
えられたグラフ情報(メモリ12の情報)からノード
V、ノードの階層関係のエッジを表す階層エッジE、ノ
ードの順序Oからなる順序付木T′=(V,E,O)の
構成情報を取得する(必要な情報を取り出す)。
えられたグラフ情報(メモリ12の情報)からノード
V、ノードの階層関係のエッジを表す階層エッジE、ノ
ードの順序Oからなる順序付木T′=(V,E,O)の
構成情報を取得する(必要な情報を取り出す)。
【0052】:位置サイズ決定部15は、前記順序付
木情報取得部14が取得した順序付木の構成情報からノ
ードの位置及びサイズを決定し、メモリ12に格納す
る。 :隣接情報取得部16は、与えられたグラフ情報(メ
モリ12の情報)からノードV及び各ノード間の隣接関
係のエッジを表す隣接エッジAからなる隣接グラフG=
(V,A)の構成情報を取得する(必要な情報を取り出
す)。
木情報取得部14が取得した順序付木の構成情報からノ
ードの位置及びサイズを決定し、メモリ12に格納す
る。 :隣接情報取得部16は、与えられたグラフ情報(メ
モリ12の情報)からノードV及び各ノード間の隣接関
係のエッジを表す隣接エッジAからなる隣接グラフG=
(V,A)の構成情報を取得する(必要な情報を取り出
す)。
【0053】:隣接エッジ決定部17は、前記隣接情
報取得部16が取得した隣接グラフの構成情報及び前記
位置サイズ決定部15が決定したノードの位置及びサイ
ズ(メモリ12の情報)を基に隣接エッジの経路を決定
する。そして、決定した情報はメモリ12に格納する。
報取得部16が取得した隣接グラフの構成情報及び前記
位置サイズ決定部15が決定したノードの位置及びサイ
ズ(メモリ12の情報)を基に隣接エッジの経路を決定
する。そして、決定した情報はメモリ12に格納する。
【0054】(実施の形態1の説明) §1:順序付木の描画法1の説明 実施の形態1では、順序付木の描画法1により次のよう
にしてグラフ自動描画のための処理を行う。順序付木の
描画法1は、順序付木T′=(V,E,O)の情報を取
得してノードの位置とサイズを決定し、順序に従ってノ
ードを横方向(水平方向)に並べる方法である。
にしてグラフ自動描画のための処理を行う。順序付木の
描画法1は、順序付木T′=(V,E,O)の情報を取
得してノードの位置とサイズを決定し、順序に従ってノ
ードを横方向(水平方向)に並べる方法である。
【0055】今、ノードvの子がv1 ,v2 ,v3 ・・
・vn であるとする。つまり、ノードの全ての子の集合
Ch(v)を、Ch(v)={v1 ,v2 ,v3 ・・・
vn}とする。また、子の番号付けは順序関係Oに従っ
ているとする。この時、次のように定義される関数XH
とYH (式1、式2参照)で、i番目のノードvi (1
≦i≦n)の位置を与える。
・vn であるとする。つまり、ノードの全ての子の集合
Ch(v)を、Ch(v)={v1 ,v2 ,v3 ・・・
vn}とする。また、子の番号付けは順序関係Oに従っ
ているとする。この時、次のように定義される関数XH
とYH (式1、式2参照)で、i番目のノードvi (1
≦i≦n)の位置を与える。
【0056】
【数1】
【0057】更に、次のように定義される関数WH とH
H (式3、式4)でノードvのサイズ(幅と高さ)を与
える。
H (式3、式4)でノードvのサイズ(幅と高さ)を与
える。
【0058】
【数2】
【0059】ノードvの子の位置とノードvのサイズを
計算するには、全ての子のサイズが既に決まっていなけ
ればならないので、順序付木のリーフ側から再帰的に計
算処理を進める必要がある。
計算するには、全ての子のサイズが既に決まっていなけ
ればならないので、順序付木のリーフ側から再帰的に計
算処理を進める必要がある。
【0060】§2:フローチャートによる順序付木の描
画法1の処理説明・・・図4参照 図4は描画法1の処理フローチャートである。以下、図
4に基づいて順序付木の描画法1の処理(ノードvの子
の位置とノードvのサイズを計算する処理)を説明す
る。なお、この処理は、主制御部11の指示により位置
サイズ決定部15が行う処理であり、S1〜S10は各
処理ステップを示す。
画法1の処理説明・・・図4参照 図4は描画法1の処理フローチャートである。以下、図
4に基づいて順序付木の描画法1の処理(ノードvの子
の位置とノードvのサイズを計算する処理)を説明す
る。なお、この処理は、主制御部11の指示により位置
サイズ決定部15が行う処理であり、S1〜S10は各
処理ステップを示す。
【0061】順序付木情報取得部14がメモリ12から
順序付木の構成情報を取得した後、位置サイズ決定部1
5が「layoutH (v)」の処理を開始すると(S
1)、位置サイズ決定部15は、Ch(v)の要素を順
序関係Oに従ってv1 ,v2,v3 ・・・vn と番号付
けする(S2)。なお、「layoutH (v)」はノ
ードvを横方向(水平方向)に並べる(レイアウトす
る)ことを表す。
順序付木の構成情報を取得した後、位置サイズ決定部1
5が「layoutH (v)」の処理を開始すると(S
1)、位置サイズ決定部15は、Ch(v)の要素を順
序関係Oに従ってv1 ,v2,v3 ・・・vn と番号付
けする(S2)。なお、「layoutH (v)」はノ
ードvを横方向(水平方向)に並べる(レイアウトす
る)ことを表す。
【0062】次に、位置サイズ決定部15は、変数jを
j=1に設定し(S3)、jがj≦n(n:ノードvの
子の数)か否かを判定し(S4)、j≦nであれば、C
h(vj )がCh(vj )=φ(φ:空集合)か否か
(注目しているノードvj の子があるか否か)を判定す
る(S5)。その結果、Ch(vj )=φでなければ
(注目しているノードvj の子がいる場合)、「lay
outH (vj )」の処理(再帰的計算処理)を行う
(S6)。
j=1に設定し(S3)、jがj≦n(n:ノードvの
子の数)か否かを判定し(S4)、j≦nであれば、C
h(vj )がCh(vj )=φ(φ:空集合)か否か
(注目しているノードvj の子があるか否か)を判定す
る(S5)。その結果、Ch(vj )=φでなければ
(注目しているノードvj の子がいる場合)、「lay
outH (vj )」の処理(再帰的計算処理)を行う
(S6)。
【0063】なお、前記「layoutH (vj )」の
再帰的計算処理は、注目しているノードvj に子がある
場合、描画法1の「layoutH (v)」の処理を
「layoutH (vj )」の処理に代えて新規にS1
からS10の処理を行うことを表す。すなわち、注目し
ているノードvj に子がある場合、ノードvをvj に代
えて描画法1の処理を繰り返して行うことにより、ノー
ドvj の子の位置とサイズを計算するものである。
再帰的計算処理は、注目しているノードvj に子がある
場合、描画法1の「layoutH (v)」の処理を
「layoutH (vj )」の処理に代えて新規にS1
からS10の処理を行うことを表す。すなわち、注目し
ているノードvj に子がある場合、ノードvをvj に代
えて描画法1の処理を繰り返して行うことにより、ノー
ドvj の子の位置とサイズを計算するものである。
【0064】そして、前記S6の処理終了後、ノードv
の子であるvj のx軸上の位置x(vj )=X
H (vj )、及びy軸上の位置y(vj )=Y
H (vj )を決定する(S7)。また、前記S5の処理
でCh(vj )=φと判定された場合は、前記S6の処
理をせずにS7の処理を行う。なお、前記決定したx軸
上の位置x(v j )=XH (vj )、及びy軸上の位置
y(vj )=YH (vj )は、メモリ12へ格納してお
くその後、位置サイズ決定部15は、jをj=j+1と
して(S8)、前記S4の処理から繰り返す。前記のよ
うにして処理を繰り返し、jがj>nになるとノードv
の子のサイズ(幅と高さ)を決定する(S9)。なお、
ノードvの子の幅w(v)は、w(v)=WH (v1 ,
v2 ,・・・vn )であり(式3参照)、高さh(v)
は、h(v)=HH (v1 ,v2 ,・・・vn )である
(式4参照)。
の子であるvj のx軸上の位置x(vj )=X
H (vj )、及びy軸上の位置y(vj )=Y
H (vj )を決定する(S7)。また、前記S5の処理
でCh(vj )=φと判定された場合は、前記S6の処
理をせずにS7の処理を行う。なお、前記決定したx軸
上の位置x(v j )=XH (vj )、及びy軸上の位置
y(vj )=YH (vj )は、メモリ12へ格納してお
くその後、位置サイズ決定部15は、jをj=j+1と
して(S8)、前記S4の処理から繰り返す。前記のよ
うにして処理を繰り返し、jがj>nになるとノードv
の子のサイズ(幅と高さ)を決定する(S9)。なお、
ノードvの子の幅w(v)は、w(v)=WH (v1 ,
v2 ,・・・vn )であり(式3参照)、高さh(v)
は、h(v)=HH (v1 ,v2 ,・・・vn )である
(式4参照)。
【0065】前記S9の処理が終了したら、位置サイズ
決定部15は、決定したノードvの子のサイズ(幅と高
さ)を、メモリ12に格納しておく。そして「layo
ut H (v)」の処理を終了する(S10)。その後グ
ラフを描画するにはメモリ12のデータを基に、例え
ば、ディスプレイ装置5の画面上で描画する。
決定部15は、決定したノードvの子のサイズ(幅と高
さ)を、メモリ12に格納しておく。そして「layo
ut H (v)」の処理を終了する(S10)。その後グ
ラフを描画するにはメモリ12のデータを基に、例え
ば、ディスプレイ装置5の画面上で描画する。
【0066】§3:描画法1による順序付木の描画例の
説明・・・図5参照 図5は描画法1による順序付木の描画例である。前記図
4に示したフローチャートの処理は、「layoutH
(R)」のようにルートRから始めることで、ルートR
を除く全てのノードの位置と、リーフを除く全てのノー
ドのサイズを計算することができる。前記処理では、ル
ートRの位置は決まらないが、ルートは図の外枠に対応
するので任意の位置におけば良い。このような処理で計
算したデータ(メモリ12のデータ)を基に描いた順序
付木の描画例は図5に示した通りである。
説明・・・図5参照 図5は描画法1による順序付木の描画例である。前記図
4に示したフローチャートの処理は、「layoutH
(R)」のようにルートRから始めることで、ルートR
を除く全てのノードの位置と、リーフを除く全てのノー
ドのサイズを計算することができる。前記処理では、ル
ートRの位置は決まらないが、ルートは図の外枠に対応
するので任意の位置におけば良い。このような処理で計
算したデータ(メモリ12のデータ)を基に描いた順序
付木の描画例は図5に示した通りである。
【0067】この描画例では、ノードA(ルートR)の
中にノードAAとABが横方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が横方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が横方向に並べ
て描画されている。
中にノードAAとABが横方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が横方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が横方向に並べ
て描画されている。
【0068】(実施の形態2の説明) §1:順序付木の描画法2の説明 実施の形態2では順序付木の描画法2により、グラフ自
動描画のための処理を次のようにして行う。順序付木の
描画法2は、順序付木T′=(V,E,O)の情報を取
得してノードの位置とサイズを決定し、順序に従ってノ
ードを縦方向(垂直方向)に並べる方法である。基本的
には前記描画法1と同じであるが、ノードvの子v1 ,
v2 ,v3 ・・・vn に対して、次のように定義される
関数XvとYvでi番目のノードvi (1≦i≦n)の
位置を与える(式5、式6参照)。
動描画のための処理を次のようにして行う。順序付木の
描画法2は、順序付木T′=(V,E,O)の情報を取
得してノードの位置とサイズを決定し、順序に従ってノ
ードを縦方向(垂直方向)に並べる方法である。基本的
には前記描画法1と同じであるが、ノードvの子v1 ,
v2 ,v3 ・・・vn に対して、次のように定義される
関数XvとYvでi番目のノードvi (1≦i≦n)の
位置を与える(式5、式6参照)。
【0069】
【数3】
【0070】また、次のように定義される関数WvとH
vでノードvのサイズを与える(式7、式8参照)。
vでノードvのサイズを与える(式7、式8参照)。
【0071】
【数4】
【0072】§2:フローチャートによる順序付木の描
画法2の処理説明・・・図6参照 図6は描画法2の処理フローチャートである。以下、図
6に基づいて順序付木の描画法2の処理(ノードvの子
の位置とノードvのサイズを計算する処理)を説明す
る。なお、この処理は、主制御部11の指示により位置
サイズ決定部15が行う処理であり、S21〜S30は
各処理ステップを示す。
画法2の処理説明・・・図6参照 図6は描画法2の処理フローチャートである。以下、図
6に基づいて順序付木の描画法2の処理(ノードvの子
の位置とノードvのサイズを計算する処理)を説明す
る。なお、この処理は、主制御部11の指示により位置
サイズ決定部15が行う処理であり、S21〜S30は
各処理ステップを示す。
【0073】順序付木情報取得部14がメモリ12から
順序付木の構成情報を取得した後、位置サイズ決定部1
5が「layoutV (v)」の処理を開始すると(S
21)、位置サイズ決定部15は、Ch(v)の要素を
順序関係Oに従って、v1 ,v2 ,v3 ・・・vn と番
号付けする(S22)。なお、「layout
V (v)」はノードvを縦方向(垂直方向)に並べるこ
とを表す。
順序付木の構成情報を取得した後、位置サイズ決定部1
5が「layoutV (v)」の処理を開始すると(S
21)、位置サイズ決定部15は、Ch(v)の要素を
順序関係Oに従って、v1 ,v2 ,v3 ・・・vn と番
号付けする(S22)。なお、「layout
V (v)」はノードvを縦方向(垂直方向)に並べるこ
とを表す。
【0074】次に、位置サイズ決定部15は、変数jを
j=1に設定し(S23)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S24)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S25)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、「l
ayoutV (vj )」の処理(再帰的計算処理)を行
う(S26)。
j=1に設定し(S23)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S24)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S25)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、「l
ayoutV (vj )」の処理(再帰的計算処理)を行
う(S26)。
【0075】なお、前記「layoutV (vj )」の
再帰的計算処理は、注目しているノードvj に子がある
場合、描画法2の「layoutV (v)」の処理を
「layoutV (vj )」の処理に代えて新規にS2
1からS30の処理を行うことを表す。すなわち、注目
しているノードvj に子がある場合、ノードvをvj に
代えて描画法2の処理を繰り返して行うことにより、ノ
ードvj の子の位置とサイズを計算するものである。
再帰的計算処理は、注目しているノードvj に子がある
場合、描画法2の「layoutV (v)」の処理を
「layoutV (vj )」の処理に代えて新規にS2
1からS30の処理を行うことを表す。すなわち、注目
しているノードvj に子がある場合、ノードvをvj に
代えて描画法2の処理を繰り返して行うことにより、ノ
ードvj の子の位置とサイズを計算するものである。
【0076】そして、前記S26の処理終了後、位置サ
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XV (vj )、及びy軸上の位置y
(vj)=YV (vj )を決定する(S27)。また、
前記S25の処理でCh(vj)=φと判定された場合
は、前記S26の処理をせずにS27の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
V (vj )、及びy軸上の位置y(vj )=Y
V (vj )は、メモリ12に格納しておく。
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XV (vj )、及びy軸上の位置y
(vj)=YV (vj )を決定する(S27)。また、
前記S25の処理でCh(vj)=φと判定された場合
は、前記S26の処理をせずにS27の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
V (vj )、及びy軸上の位置y(vj )=Y
V (vj )は、メモリ12に格納しておく。
【0077】その後、位置サイズ決定部15は、jをj
=j+1として(S28)、前記S24の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なるとノードvの子のサイズ(幅と高さ)を決定する
(S29)。なお、ノードvの子の幅w(v)は、w
(v)=WV (v1 ,v2 ,・・・vn )であり(式7
参照)、高さh(v)は、h(v)=HV (v1 ,
v2 ,・・・vn )である(式8参照)。
=j+1として(S28)、前記S24の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なるとノードvの子のサイズ(幅と高さ)を決定する
(S29)。なお、ノードvの子の幅w(v)は、w
(v)=WV (v1 ,v2 ,・・・vn )であり(式7
参照)、高さh(v)は、h(v)=HV (v1 ,
v2 ,・・・vn )である(式8参照)。
【0078】前記S29の処理が終了したら、位置サイ
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)を、メモリ12へ格納しておく。そして「lay
outV (v)」の処理を終了する(S30)。
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)を、メモリ12へ格納しておく。そして「lay
outV (v)」の処理を終了する(S30)。
【0079】§3:描画法2による順序付木の描画例の
説明・・・図7参照 図7は描画法2による順序付木の描画例である。前記図
6に示したフローチャートの処理は、「layoutH
(R)」のようにルートRから始めることで、描画法1
と同様にルートRを除く全てのノードの位置と、リーフ
を除く全てのノードのサイズを計算することができる。
このような処理で計算したデータを基に描いた順序付木
の描画例は図7に示した通りである。
説明・・・図7参照 図7は描画法2による順序付木の描画例である。前記図
6に示したフローチャートの処理は、「layoutH
(R)」のようにルートRから始めることで、描画法1
と同様にルートRを除く全てのノードの位置と、リーフ
を除く全てのノードのサイズを計算することができる。
このような処理で計算したデータを基に描いた順序付木
の描画例は図7に示した通りである。
【0080】この描画例では、ノードA(ルートR)の
中にノードAAとABが縦方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が縦方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が縦方向に並べ
て描画されている。
中にノードAAとABが縦方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が縦方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が縦方向に並べ
て描画されている。
【0081】(実施の形態3の説明) §1:順序付木の描画法3の説明 実施の形態3では順序付木の描画法3により、グラフ自
動描画のための処理を次のようにして行う。順序付木の
描画法3は、前記描画法1、描画法2と同様に順序付木
T′=(V,E,O)の情報を取得してノードの位置と
サイズを決定し、順序に従ってノードを並べる方法であ
る。
動描画のための処理を次のようにして行う。順序付木の
描画法3は、前記描画法1、描画法2と同様に順序付木
T′=(V,E,O)の情報を取得してノードの位置と
サイズを決定し、順序に従ってノードを並べる方法であ
る。
【0082】この場合、描画法1では図が横長になり、
描画法2では図が縦長になる傾向がある。そこで描画法
3では、ノードの深さが偶数である場合と奇数である場
合に、それぞれ子の並び方を縦方向と横方向に変えるこ
とで図の縦横のバランスを良くするようにした。
描画法2では図が縦長になる傾向がある。そこで描画法
3では、ノードの深さが偶数である場合と奇数である場
合に、それぞれ子の並び方を縦方向と横方向に変えるこ
とで図の縦横のバランスを良くするようにした。
【0083】§2:フローチャートによる順序付木の描
画法3の処理説明・・・図8、図9参照 図8は描画法3の処理フローチャート(その1)、図9
は描画法3の処理フローチャート(その2)である。以
下、図8、図9に基づいて順序付木の描画法3の処理
(ノードvの子の位置とノードvのサイズを計算する処
理)を説明する。なお、図8に示した処理は、ノードv
の直ぐ下の子を縦方向(垂直方向)に並べる処理であ
り、図9に示した処理は、ノードvの直ぐ下の子を横方
向(水平方向)に並べる処理である。また、S41〜S
50は各処理ステップを示す。
画法3の処理説明・・・図8、図9参照 図8は描画法3の処理フローチャート(その1)、図9
は描画法3の処理フローチャート(その2)である。以
下、図8、図9に基づいて順序付木の描画法3の処理
(ノードvの子の位置とノードvのサイズを計算する処
理)を説明する。なお、図8に示した処理は、ノードv
の直ぐ下の子を縦方向(垂直方向)に並べる処理であ
り、図9に示した処理は、ノードvの直ぐ下の子を横方
向(水平方向)に並べる処理である。また、S41〜S
50は各処理ステップを示す。
【0084】(1) :描画法3の処理フローチャート(そ
の1)の説明・・・図8参照 順序付木情報取得部14がメモリ12から順序付木の構
成情報を取得した後、位置サイズ決定部15が「lay
outVH(v)」の処理を開始すると(S41)、位置
サイズ決定部15は、Ch(v)の要素を順序関係Oに
従って、v1 ,v2 ,v3 ・・・vn と番号付けする
(S42)。なお、「layoutVH(v)」はノード
vの直ぐ下の子を縦方向(垂直方向)に並べる(レイア
ウトする)ことを表す。
の1)の説明・・・図8参照 順序付木情報取得部14がメモリ12から順序付木の構
成情報を取得した後、位置サイズ決定部15が「lay
outVH(v)」の処理を開始すると(S41)、位置
サイズ決定部15は、Ch(v)の要素を順序関係Oに
従って、v1 ,v2 ,v3 ・・・vn と番号付けする
(S42)。なお、「layoutVH(v)」はノード
vの直ぐ下の子を縦方向(垂直方向)に並べる(レイア
ウトする)ことを表す。
【0085】次に、位置サイズ決定部15は、変数jを
j=1に設定し(S43)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S44)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S45)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、位置
サイズ決定部15は「layoutHV(vj )」の処理
(再帰的計算処理)を行う(S46)。
j=1に設定し(S43)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S44)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S45)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、位置
サイズ決定部15は「layoutHV(vj )」の処理
(再帰的計算処理)を行う(S46)。
【0086】なお、前記「layoutHV(vj )」の
再帰的計算処理は、注目しているノードvj に子がある
場合、図9に示した「layoutHV(v)」の処理を
「layoutHV(vj )」の処理に代えてS51から
S60の処理を行うことを表す。すなわち、注目してい
るノードvj に子がある場合、ノードvをvj に代えて
「layoutHV(vj )」の処理を行うことにより、
ノードvj の子の位置とサイズを計算するものである。
再帰的計算処理は、注目しているノードvj に子がある
場合、図9に示した「layoutHV(v)」の処理を
「layoutHV(vj )」の処理に代えてS51から
S60の処理を行うことを表す。すなわち、注目してい
るノードvj に子がある場合、ノードvをvj に代えて
「layoutHV(vj )」の処理を行うことにより、
ノードvj の子の位置とサイズを計算するものである。
【0087】そして、前記S46の処理終了後、位置サ
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XV (vj )、及びy軸上の位置y
(vj)=YV (vj )を決定する(S47)。また、
前記S45の処理でCh(vj)=φと判定された場合
は、前記S46の処理をせずにS47の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
V (vj )、及びy軸上の位置y(vj )=Y
V (vj )は、メモリ12に格納しておく。
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XV (vj )、及びy軸上の位置y
(vj)=YV (vj )を決定する(S47)。また、
前記S45の処理でCh(vj)=φと判定された場合
は、前記S46の処理をせずにS47の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
V (vj )、及びy軸上の位置y(vj )=Y
V (vj )は、メモリ12に格納しておく。
【0088】その後、位置サイズ決定部15は、jをj
=j+1として(S48)、前記S44の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なると位置サイズ決定部15は、ノードvの子のサイズ
(幅と高さ)を決定する(S49)。なお、ノードvの
子の幅w(v)は、w(v)=WV (v1 ,v2 ,・・
・vn )であり(式7参照)、高さh(v)は、h
(v)=HV (v1 ,v2,・・・vn )である(式8
参照)。
=j+1として(S48)、前記S44の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なると位置サイズ決定部15は、ノードvの子のサイズ
(幅と高さ)を決定する(S49)。なお、ノードvの
子の幅w(v)は、w(v)=WV (v1 ,v2 ,・・
・vn )であり(式7参照)、高さh(v)は、h
(v)=HV (v1 ,v2,・・・vn )である(式8
参照)。
【0089】前記S49の処理が終了したら、位置サイ
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)をメモリ12へ格納しておく。そして「layo
ut V (v)」の処理を終了する(S50)。
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)をメモリ12へ格納しておく。そして「layo
ut V (v)」の処理を終了する(S50)。
【0090】(2) :描画法3の処理フローチャート(そ
の2)の説明・・・図9参照 順序付木情報取得部14がメモリ12から順序付木の構
成情報を取得した後、位置サイズ決定部15が「lay
outHV(v)」の処理を開始すると(S51)、位置
サイズ決定部15は、Ch(v)の要素を順序関係Oに
従って、v1 ,v2 ,v3 ・・・vn と番号付けする
(S52)。なお、「layoutHV(v)」はノード
vの直ぐ下の子を横方向(水平方向)に並べる(レイア
ウトする)ことを表す。
の2)の説明・・・図9参照 順序付木情報取得部14がメモリ12から順序付木の構
成情報を取得した後、位置サイズ決定部15が「lay
outHV(v)」の処理を開始すると(S51)、位置
サイズ決定部15は、Ch(v)の要素を順序関係Oに
従って、v1 ,v2 ,v3 ・・・vn と番号付けする
(S52)。なお、「layoutHV(v)」はノード
vの直ぐ下の子を横方向(水平方向)に並べる(レイア
ウトする)ことを表す。
【0091】次に、位置サイズ決定部15は、変数jを
j=1に設定し(S53)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S54)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S55)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、「l
ayoutVH(vj )」の処理(再帰的計算処理)を行
う(S56)。
j=1に設定し(S53)、jがj≦n(n:ノードv
の子の数)か否かを判定し(S54)、j≦nであれ
ば、Ch(vj )がCh(vj )=φ(φ:空集合)か
否か(注目しているノードvjの子があるか否か)を判
定する(S55)。その結果、Ch(vj )=φでなけ
れば(注目しているノードvj の子がいる場合)、「l
ayoutVH(vj )」の処理(再帰的計算処理)を行
う(S56)。
【0092】なお、前記「layoutVH(vj )」の
再帰的計算処理は、注目しているノードvj に子がある
場合、図8に示した「layoutVH(v)」の処理を
「layoutVH(vj )」の処理に代えてS41から
S50の処理を行うことを表す。すなわち、注目してい
るノードvj に子がある場合、ノードvをvj に代えて
「layoutVH(vj )」の処理を行うことにより、
ノードvj の子の位置とサイズを計算する。
再帰的計算処理は、注目しているノードvj に子がある
場合、図8に示した「layoutVH(v)」の処理を
「layoutVH(vj )」の処理に代えてS41から
S50の処理を行うことを表す。すなわち、注目してい
るノードvj に子がある場合、ノードvをvj に代えて
「layoutVH(vj )」の処理を行うことにより、
ノードvj の子の位置とサイズを計算する。
【0093】そして、前記S56の処理終了後、位置サ
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XH (vj )、及びy軸上の位置y
(vj)=YH (vj )を決定する(S57)。また、
前記S55の処理でCh(vj)=φと判定された場合
は、前記S56の処理をせずにS57の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
H (vj )、及びy軸上の位置y(vj )=Y
H (vj )はメモリ12に格納しておく。
イズ決定部15は、ノードvの子であるvj のx軸上の
位置x(vj )=XH (vj )、及びy軸上の位置y
(vj)=YH (vj )を決定する(S57)。また、
前記S55の処理でCh(vj)=φと判定された場合
は、前記S56の処理をせずにS57の処理を行う。な
お、前記決定したx軸上の位置x(vj )=X
H (vj )、及びy軸上の位置y(vj )=Y
H (vj )はメモリ12に格納しておく。
【0094】その後、位置サイズ決定部15は、jをj
=j+1として(S58)、前記S54の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なると位置サイズ決定部15は、ノードvの子のサイズ
(幅と高さ)を決定する(S59)。なお、ノードvの
子の幅w(v)は、w(v)=WH (v1 ,v2 ,・・
・vn )であり(式3参照)、高さh(v)は、h
(v)=HH (v1 ,v2,・・・vn )である(式4
参照)。
=j+1として(S58)、前記S54の処理から繰り
返す。前記のようにして処理を繰り返し、jがj>nに
なると位置サイズ決定部15は、ノードvの子のサイズ
(幅と高さ)を決定する(S59)。なお、ノードvの
子の幅w(v)は、w(v)=WH (v1 ,v2 ,・・
・vn )であり(式3参照)、高さh(v)は、h
(v)=HH (v1 ,v2,・・・vn )である(式4
参照)。
【0095】前記S59の処理が終了したら、位置サイ
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)をメモリ12に格納しておく。そして「layo
ut HV(v)」の処理を終了する(S60)。
ズ決定部15は、決定したノードvの子のサイズ(幅と
高さ)をメモリ12に格納しておく。そして「layo
ut HV(v)」の処理を終了する(S60)。
【0096】§3:描画法3による順序付木の描画例の
説明・・・図10のA図参照 図10のA図は描画法3による順序付木の描画例であ
る。前記図8、図9に示したフローチャートの処理は、
「layoutHV(R)」、または「layout
VH(R)」のようにルートRから始めることで、ルート
Rを除く全てのノードの位置と、リーフを除く全てのノ
ードのサイズを計算することができる。このような処理
で計算したデータを基に描いた順序付木の描画例は図1
0のA図に示した通りである。
説明・・・図10のA図参照 図10のA図は描画法3による順序付木の描画例であ
る。前記図8、図9に示したフローチャートの処理は、
「layoutHV(R)」、または「layout
VH(R)」のようにルートRから始めることで、ルート
Rを除く全てのノードの位置と、リーフを除く全てのノ
ードのサイズを計算することができる。このような処理
で計算したデータを基に描いた順序付木の描画例は図1
0のA図に示した通りである。
【0097】この描画例では、ノードA(ルートR)の
中にノードAAとABが縦方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が横方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が横方向に並べ
て描画されている。このように、ノードの深さが偶数で
ある場合と奇数である場合に、それぞれ子の並び方を縦
方向と横方向に変えることで図の縦横のバランスを良く
することができる。
中にノードAAとABが縦方向に並べて描画され、ノー
ドAAの中に、ノードAAAとAABとAAC(リーフ
ノード)が横方向に並べて描画され、ノードABの中に
ノードABAとABB(リーフノード)が横方向に並べ
て描画されている。このように、ノードの深さが偶数で
ある場合と奇数である場合に、それぞれ子の並び方を縦
方向と横方向に変えることで図の縦横のバランスを良く
することができる。
【0098】(実施の形態4の説明) §1:順序付木の描画法4の説明 実施の形態4では、順序付木の描画法4によりグラフ自
動描画のための処理を行う。順序付木の描画法4は、位
置サイズ決定部15によりノードの位置とサイズを決定
した後、前記ノードの位置とサイズの情報、及び隣接情
報取得部16が取得した隣接グラフG=(V,A)の情
報を基に、隣接エッジ決定部17が隣接エッジの経路を
決定する方法である。
動描画のための処理を行う。順序付木の描画法4は、位
置サイズ決定部15によりノードの位置とサイズを決定
した後、前記ノードの位置とサイズの情報、及び隣接情
報取得部16が取得した隣接グラフG=(V,A)の情
報を基に、隣接エッジ決定部17が隣接エッジの経路を
決定する方法である。
【0099】この描画法では隣接エッジを直線分で表現
する。隣接エッジは直線分であるので、その経路を与え
る情報としては、始点の座標(sx ,sy )と終点の座
標(ex ,ey )が定まれば十分である。隣接エッジa
∈Aに対してそれらを次のように与える。
する。隣接エッジは直線分であるので、その経路を与え
る情報としては、始点の座標(sx ,sy )と終点の座
標(ex ,ey )が定まれば十分である。隣接エッジa
∈Aに対してそれらを次のように与える。
【0100】 sx (a)=x(head(a))+w(head(a))・・・式9 sy (a)=y(head(a))・・・式10 ex (a)=x(tail(a))・・・式11 ey (a)=y(tail(a))+h(tail(a))・・・式12 ここで、headはエッジの始点ノードを与える関数であ
り、tailはエッジの終点ノードを与える関数である。つ
まり、始点側のノードの右上の頂点から終点側のノード
の左下の頂点へ向かう線分を描くことになる。
り、tailはエッジの終点ノードを与える関数である。つ
まり、始点側のノードの右上の頂点から終点側のノード
の左下の頂点へ向かう線分を描くことになる。
【0101】§2:描画法4による順序付木の描画例の
説明・・・図10のB図参照 図10のB図は描画法3、4による複合順序付木の描画
例である。図10のA図に示した図に、描画法4で隣接
エッジを描き加えた例を図10のB図に示す。描画法4
は、例として単純な方法を示したが、そのため図10の
B図に示したように、ノードと隣接エッジが不必要に重
なってしまっている。
説明・・・図10のB図参照 図10のB図は描画法3、4による複合順序付木の描画
例である。図10のA図に示した図に、描画法4で隣接
エッジを描き加えた例を図10のB図に示す。描画法4
は、例として単純な方法を示したが、そのため図10の
B図に示したように、ノードと隣接エッジが不必要に重
なってしまっている。
【0102】例えば、ノードABBからABAへ向かう
隣接エッジはノードへの接続位置を変更することで、ど
ちらのノードとも重ならないようにすることが可能であ
る。しかしなから、隣接エッジを直線分で描くことの本
質的な問題は、ノードAAAからAACへ向かう隣接エ
ッジが、ノードAABと重なっていることに見られる。
隣接エッジはノードへの接続位置を変更することで、ど
ちらのノードとも重ならないようにすることが可能であ
る。しかしなから、隣接エッジを直線分で描くことの本
質的な問題は、ノードAAAからAACへ向かう隣接エ
ッジが、ノードAABと重なっていることに見られる。
【0103】この重なりは、どのように接続位置を変更
してもなくすことができない。グラフによっては、この
ような隣接エッジが沢山含まれる場合もあるので、この
ような場合には次に説明する描画法5を用いれば解決す
る。しかし、隣接エッジが少なく、重なりが少ない場合
には描画法4でも十分である。
してもなくすことができない。グラフによっては、この
ような隣接エッジが沢山含まれる場合もあるので、この
ような場合には次に説明する描画法5を用いれば解決す
る。しかし、隣接エッジが少なく、重なりが少ない場合
には描画法4でも十分である。
【0104】(実施の形態5の説明) §1:順序付木の描画法5の説明 実施の形態5の描画法は、実施の形態4の描画法と同様
に位置サイズ決定部15によりノードの位置とサイズを
決定した後、前記ノードの位置とサイズの情報、及び隣
接情報取得部16が取得した隣接グラフG=(V,A)
の情報を基に、隣接エッジ決定部17が隣接エッジの経
路を決定する方法である。
に位置サイズ決定部15によりノードの位置とサイズを
決定した後、前記ノードの位置とサイズの情報、及び隣
接情報取得部16が取得した隣接グラフG=(V,A)
の情報を基に、隣接エッジ決定部17が隣接エッジの経
路を決定する方法である。
【0105】この描画法5では、隣接エッジを楕円弧で
表現するものである。これにより、描画法4で見られる
問題、すなわち、直線分で隣接エッジを描く限りノード
AAAからAACへ向かう隣接エッジと、ノードAAB
との重なりが無くせないという問題を解決できる。
表現するものである。これにより、描画法4で見られる
問題、すなわち、直線分で隣接エッジを描く限りノード
AAAからAACへ向かう隣接エッジと、ノードAAB
との重なりが無くせないという問題を解決できる。
【0106】隣接エッジは楕円弧なので、その経路を与
える情報としては、楕円の中心座標(cx ,cy )と、
x方向とy方向の半径(rx ,ry )、及び弧の始点と
終点の角(as ,ae )が求まれば十分である。それら
の求め方を次に説明する。
える情報としては、楕円の中心座標(cx ,cy )と、
x方向とy方向の半径(rx ,ry )、及び弧の始点と
終点の角(as ,ae )が求まれば十分である。それら
の求め方を次に説明する。
【0107】§2:隣接エッジが接続する頂点の選び方
の説明 図11は描画法5の説明図(その1)であり、A図は始
点ノードを基準にした四つの領域を示した図、B図は四
つの領域におけるエッジの接続の仕方を示した図であ
る。また、図12は描画法5の説明図(その2)であ
り、A図はエッジの接続の仕方を示した図、B図は領域
におけるエッジの描き方を示した図である。
の説明 図11は描画法5の説明図(その1)であり、A図は始
点ノードを基準にした四つの領域を示した図、B図は四
つの領域におけるエッジの接続の仕方を示した図であ
る。また、図12は描画法5の説明図(その2)であ
り、A図はエッジの接続の仕方を示した図、B図は領域
におけるエッジの描き方を示した図である。
【0108】実施の形態5のグラフ自動描画法では、始
点ノードと終点ノードの同じ頂点を接続する。その組み
合わせは、左上と左上、左下と左下、右下と右
下、右上と右上の4通りである。これらの内の一つの
組み合わせを始点ノードと終点ノードの位置関係によっ
て選ぶ。
点ノードと終点ノードの同じ頂点を接続する。その組み
合わせは、左上と左上、左下と左下、右下と右
下、右上と右上の4通りである。これらの内の一つの
組み合わせを始点ノードと終点ノードの位置関係によっ
て選ぶ。
【0109】前記実施の形態1、2、3で決定されたレ
イアウトに従うと、二つのノードの位置関係はどちらか
一方が他方を完全に包含している場合を除くと、二つは
完全に離れているはずである。よって、始点ノードをv
O で表すと、終点ノードの位置は、図11のA図に示す
4つの領域、、、に分類できる。なお、境界に
重なっている場合には、反時計回り側の領域に含まれて
いるものと見なす。つまり、領域と領域の境界に重
なっている場合には領域に含まているものと見なす。
イアウトに従うと、二つのノードの位置関係はどちらか
一方が他方を完全に包含している場合を除くと、二つは
完全に離れているはずである。よって、始点ノードをv
O で表すと、終点ノードの位置は、図11のA図に示す
4つの領域、、、に分類できる。なお、境界に
重なっている場合には、反時計回り側の領域に含まれて
いるものと見なす。つまり、領域と領域の境界に重
なっている場合には領域に含まているものと見なす。
【0110】そして、終了ノードが前記4つの領域
のどれに含まれるかによって、接続する頂点の組み
合わせを次の表のように決める。また、領域への分類
は、厳密にはノードの位置とサイズを利用して次の表の
条件に基づいて行う。
のどれに含まれるかによって、接続する頂点の組み
合わせを次の表のように決める。また、領域への分類
は、厳密にはノードの位置とサイズを利用して次の表の
条件に基づいて行う。
【0111】
【表1】
【0112】そして、図11のB図に示したように楕円
弧を描く。図では始点ノードをvO、終点ノードをv1
で表している。図から明らかなように、このように接続
する頂点を選ぶことで、楕円弧は始点ノードvO や、終
点ノードv1 と重ならなくできる。また、エッジの向き
を考慮する場合、始点ノードvO から終点ノードv1へ
向かって楕円弧を時計回りに辿ることで、矢印が無くて
も向きを知ることができる。
弧を描く。図では始点ノードをvO、終点ノードをv1
で表している。図から明らかなように、このように接続
する頂点を選ぶことで、楕円弧は始点ノードvO や、終
点ノードv1 と重ならなくできる。また、エッジの向き
を考慮する場合、始点ノードvO から終点ノードv1へ
向かって楕円弧を時計回りに辿ることで、矢印が無くて
も向きを知ることができる。
【0113】なお、どちらか一方が他方を完全に包含し
ている場合は、どの組み合わせでも基本的には変わりが
ない。ここでは図12のA図に示したように、始点ノー
ドv O が終点ノードv1 に包含される場合は、右上と右
上、始点ノードvO が終点ノードv1 を包含する場合は
左下と左下を選ぶことにする。以上で、二つのノードが
与えられた時に、楕円弧の始点と終点の座標が求まる。
ている場合は、どの組み合わせでも基本的には変わりが
ない。ここでは図12のA図に示したように、始点ノー
ドv O が終点ノードv1 に包含される場合は、右上と右
上、始点ノードvO が終点ノードv1 を包含する場合は
左下と左下を選ぶことにする。以上で、二つのノードが
与えられた時に、楕円弧の始点と終点の座標が求まる。
【0114】§3:2点を通る楕円弧の求め方 二つのノードの頂点を通る楕円弧の求め方を前記領域
について説明する。その他の領域についてもx軸或いは
y軸に対する鏡像をとることで求めることができる。描
画に利用する楕円の長半径と短半径の比は、1:k(k
≦1)で一定とする。
について説明する。その他の領域についてもx軸或いは
y軸に対する鏡像をとることで求めることができる。描
画に利用する楕円の長半径と短半径の比は、1:k(k
≦1)で一定とする。
【0115】この時、図12のB図に示したように、前
記領域を更に三つの領域−a、−b、−cに分
けてそれぞれ描く方を変える。x軸の正の向きを0(0
度)として、反時計回りの向きに角θ(θ度)をとる
と、三つの部分領域は次の表に示した範囲になる。
記領域を更に三つの領域−a、−b、−cに分
けてそれぞれ描く方を変える。x軸の正の向きを0(0
度)として、反時計回りの向きに角θ(θ度)をとる
と、三つの部分領域は次の表に示した範囲になる。
【0116】
【表2】
【0117】楕円の代わりに正円を利用する場合には、
k=1となるため、部分領域−bはなくなり、次の表
に示したようになる。
k=1となるため、部分領域−bはなくなり、次の表
に示したようになる。
【0118】
【表3】
【0119】このようにすると、領域−aと−bで
は、始点に楕円の左端が接するように描く。ただし、領
域−aでは横長の楕円、領域−bでは縦長の楕円を
用いる。領域−cでは、終点が縦長の楕円の上端に接
するように描く。以下、具体的な楕円の求め方を例に説
明する。なお、上端に接する場合、xとyが入れ替わる
だけで基本的には同じである。
は、始点に楕円の左端が接するように描く。ただし、領
域−aでは横長の楕円、領域−bでは縦長の楕円を
用いる。領域−cでは、終点が縦長の楕円の上端に接
するように描く。以下、具体的な楕円の求め方を例に説
明する。なお、上端に接する場合、xとyが入れ替わる
だけで基本的には同じである。
【0120】始点の座標を(x0 ,y0 )、終点の座標
を(x1 ,y1 )とする。楕円の左端が(x0 ,y0 )
に接しているので、(x1 ,y1 )を通り、x方向の半
径とy方向の半径の比が1:kである楕円は一意に定ま
り、楕円のx方向とy方向の半径(rX ,ry )は次の
表のようになる(式13、式14参照)。
を(x1 ,y1 )とする。楕円の左端が(x0 ,y0 )
に接しているので、(x1 ,y1 )を通り、x方向の半
径とy方向の半径の比が1:kである楕円は一意に定ま
り、楕円のx方向とy方向の半径(rX ,ry )は次の
表のようになる(式13、式14参照)。
【0121】
【数5】
【0122】従って、楕円の中心座標(cx ,cy )は
次のようになる(式15、式16参照)。
次のようになる(式15、式16参照)。
【0123】
【数6】
【0124】更に、弧の始点と終点の角(as ,ae )
は次のように求まる(式17、式18参照)。ただし、
0≦ae <π/2であり、弧は始点から終点に向かって
時計回りに描く。
は次のように求まる(式17、式18参照)。ただし、
0≦ae <π/2であり、弧は始点から終点に向かって
時計回りに描く。
【0125】
【数7】
【0126】以上で、隣接エッジの経路を求めることが
できる。 §4:描画法5による順序付木の描画例の説明・・・図
13参照 前記図10のA図に示した図に、描画法5により隣接エ
ッジを描き加えた例を図13に示す。この例では、隣接
エッジに時計回りの向きがあるとして描いている。従っ
て、矢印を付けなくても向きを読み取ることが可能であ
る。円弧を利用することで、このような付加的な情報を
表現することも可能である。
できる。 §4:描画法5による順序付木の描画例の説明・・・図
13参照 前記図10のA図に示した図に、描画法5により隣接エ
ッジを描き加えた例を図13に示す。この例では、隣接
エッジに時計回りの向きがあるとして描いている。従っ
て、矢印を付けなくても向きを読み取ることが可能であ
る。円弧を利用することで、このような付加的な情報を
表現することも可能である。
【0127】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1) :階層関係、隣接関係、及び順序関係からなる3種
類の関係情報をそれぞれ異なる表現形式で明確に区別し
て表現することができる。
のような効果がある。 (1) :階層関係、隣接関係、及び順序関係からなる3種
類の関係情報をそれぞれ異なる表現形式で明確に区別し
て表現することができる。
【0128】(2) :ノードの位置やエッジの経路などを
自動決定することにより、1つの図において大規模化、
複雑化した情報を階層関係、隣接関係、及び順序関係か
らなる3種類の関係情報を区別しながら視覚的に明確に
表現することができる。従って、現代の大規模化、複雑
化した情報を人間に視覚的に提示するための技術の向上
が可能である。
自動決定することにより、1つの図において大規模化、
複雑化した情報を階層関係、隣接関係、及び順序関係か
らなる3種類の関係情報を区別しながら視覚的に明確に
表現することができる。従って、現代の大規模化、複雑
化した情報を人間に視覚的に提示するための技術の向上
が可能である。
【0129】(3) :本発明では、グラフが本来持ってい
る順序を十分明確に表現できるので、例えば、文章など
のように順序が重要である場合にも十分に利用すること
ができる。
る順序を十分明確に表現できるので、例えば、文章など
のように順序が重要である場合にも十分に利用すること
ができる。
【0130】前記効果の外、各請求項に対応して次のよ
うな効果がある。 (4) :請求項1では、順序付木情報取得部と位置サイズ
決定部と隣接情報取得部と隣接エッジ決定部を備え、前
記各部により、順序付木の木構造を領域の包含関係で表
現し、ノード間の順序を配置の順序で表現し、隣接エッ
ジを直線或いは曲線からなる線分で表現して、順序付木
に隣接エッジが混在したグラフの各ノードの位置及び隣
接エッジの経路を決定することで、グラフの自動描画を
可能にしている。
うな効果がある。 (4) :請求項1では、順序付木情報取得部と位置サイズ
決定部と隣接情報取得部と隣接エッジ決定部を備え、前
記各部により、順序付木の木構造を領域の包含関係で表
現し、ノード間の順序を配置の順序で表現し、隣接エッ
ジを直線或いは曲線からなる線分で表現して、順序付木
に隣接エッジが混在したグラフの各ノードの位置及び隣
接エッジの経路を決定することで、グラフの自動描画を
可能にしている。
【0131】従って、1つの図において階層関係、隣接
関係、及び順序関係からなる3種類の関係情報を区別し
ながら同時に、かつ視覚的に明確に表現することができ
る。また、1つの図で多くの情報を与えることができる
と共に、隣接エッジを線分で表現するので直観的で分か
り易い。
関係、及び順序関係からなる3種類の関係情報を区別し
ながら同時に、かつ視覚的に明確に表現することができ
る。また、1つの図で多くの情報を与えることができる
と共に、隣接エッジを線分で表現するので直観的で分か
り易い。
【0132】(5) :請求項2では、隣接エッジを円弧或
いは楕円弧で表現している。隣接エッジを直線で表現し
た場合、ノードと隣接エッジが不必要に重なってしまう
ことがある。しかし、請求項2のように、隣接エッジを
円弧或いは楕円弧で表現すると、前記のようなノードと
隣接エッジの不必要な重なりの問題を解決することがで
きる。その結果、質の良い図を描画することが可能にな
る。
いは楕円弧で表現している。隣接エッジを直線で表現し
た場合、ノードと隣接エッジが不必要に重なってしまう
ことがある。しかし、請求項2のように、隣接エッジを
円弧或いは楕円弧で表現すると、前記のようなノードと
隣接エッジの不必要な重なりの問題を解決することがで
きる。その結果、質の良い図を描画することが可能にな
る。
【0133】(6) :請求項3では、隣接エッジの向きを
円弧或いは楕円弧の向きで表現している。従って、エッ
ジの向きを考慮する場合、始点ノードから終点ノードへ
向かって楕円弧を時計回りに辿ることにより、矢印がな
くても向きを容易に知ることができる。
円弧或いは楕円弧の向きで表現している。従って、エッ
ジの向きを考慮する場合、始点ノードから終点ノードへ
向かって楕円弧を時計回りに辿ることにより、矢印がな
くても向きを容易に知ることができる。
【0134】(7) :請求項4では、ノードの間の順序を
表現する配置の並びを、順序付木の木構造における深さ
の偶奇によって縦方向と横方向とに交互に変えている。
従って、描画した図の縦横のバランスを良くすることが
できる。
表現する配置の並びを、順序付木の木構造における深さ
の偶奇によって縦方向と横方向とに交互に変えている。
従って、描画した図の縦横のバランスを良くすることが
できる。
【0135】(8) :請求項5では、順序付木に隣接エッ
ジが混在したグラフの各ノードの位置と隣接エッジの経
路を決定することで、グラフの自動描画を可能にしたグ
ラフ自動描画法であって、順序付木の木構造を領域の包
含関係で表現し、ノード間の順序を配置の順序で表現
し、前記隣接エッジを直線或いは曲線からなる線分で表
現するようにしている。
ジが混在したグラフの各ノードの位置と隣接エッジの経
路を決定することで、グラフの自動描画を可能にしたグ
ラフ自動描画法であって、順序付木の木構造を領域の包
含関係で表現し、ノード間の順序を配置の順序で表現
し、前記隣接エッジを直線或いは曲線からなる線分で表
現するようにしている。
【0136】従って、1つの図において階層関係、隣接
関係、及び順序関係からなる3種類の関係情報を区別し
ながら同時に、かつ視覚的に明確に表現することができ
る。また、1つの図で多くの情報を与えることができる
と共に、隣接エッジを線分で表現するので直観的で分か
り易い。
関係、及び順序関係からなる3種類の関係情報を区別し
ながら同時に、かつ視覚的に明確に表現することができ
る。また、1つの図で多くの情報を与えることができる
と共に、隣接エッジを線分で表現するので直観的で分か
り易い。
【図1】本発明の原理説明図である。
【図2】実施の形態におけるグラフ自動描画装置のブロ
ック図である。
ック図である。
【図3】実施の形態におけるパラメータの説明図であ
る。
る。
【図4】実施の形態1における描画法1の処理フローチ
ャートである。
ャートである。
【図5】実施の形態1における描画法1による順序付木
の描画例である。
の描画例である。
【図6】実施の形態2における描画法2の処理フローチ
ャートである。
ャートである。
【図7】実施の形態2における描画法2による順序付木
の描画例である。
の描画例である。
【図8】実施の形態3における描画法3の処理フローチ
ャート(その1)である。
ャート(その1)である。
【図9】実施の形態3における描画法3の処理フローチ
ャート(その2)である。
ャート(その2)である。
【図10】実施の形態における描画法3、4による描画
例である。
例である。
【図11】実施の形態5における描画法5の説明図(そ
の1)である。
の1)である。
【図12】実施の形態5における描画法5の説明図(そ
の2)である。
の2)である。
【図13】実施の形態5における描画法5による順序付
木の描画例である。
木の描画例である。
2 装置本体 3 HDD(ハードディスクドライブ) 4 プリンタ 5 ディスプレイ装置 6 キーボード 11 主制御部 12 メモリ 13 I/O制御部 14 順序付木情報取得部 15 位置サイズ決定部 16 隣接情報取得部 17 隣接エッジ決定部
Claims (5)
- 【請求項1】与えられたグラフ情報からノード、ノード
の階層関係のエッジを表す階層エッジ、及びノードの順
序からなる順序付木の構成情報を取得する順序付木情報
取得部と、前記順序付木情報取得部が取得した順序付木
の構成情報からノードの位置及びサイズを決定する位置
サイズ決定部と、与えられたグラフ情報からノード及び
各ノード間の隣接関係のエッジを表す隣接エッジからな
る隣接グラフの構成情報を取得する隣接情報取得部と、
前記隣接情報取得部が取得した隣接グラフの構成情報及
び前記位置サイズ決定部が決定したノードの位置及びサ
イズを基に隣接エッジの経路を決定する隣接エッジ決定
部を備え、 前記各部により、順序付木の木構造を領域の包含関係で
表現し、ノード間の順序を配置の順序で表現し、隣接エ
ッジを直線或いは曲線からなる線分で表現して、順序付
木に隣接エッジが混在したグラフの各ノードの位置及び
隣接エッジの経路を決定することで、グラフの自動描画
を可能にしたことを特徴とするグラフ自動描画装置。 - 【請求項2】前記隣接エッジを、円弧或いは楕円弧で表
現することを特徴とした請求項1記載のグラフ自動描画
装置。 - 【請求項3】前記隣接エッジの向きを、円弧或いは楕円
弧の向きで表現することを特徴とした請求項2記載のグ
ラフ自動描画装置。 - 【請求項4】前記ノードの間の順序を表現する配置の並
びを、順序付木の木構造における深さの偶奇によって縦
方向と横方向とに交互に変えることを特徴とした請求項
1または2または3記載のグラフ自動描画装置。 - 【請求項5】グラフ自動描画装置により、ノード、ノー
ドの階層関係のエッジを表す階層エッジ、及びノードの
順序からなる順序付木に各ノード間の隣接関係のエッジ
を表す隣接エッジが混在したグラフの各ノードの位置と
隣接エッジの経路を決定することで、グラフの自動描画
を可能にしたグラフ自動描画法であって、 前記順序付木の木構造を領域の包含関係で表現し、ノー
ド間の順序を配置の順序で表現し、前記隣接エッジを直
線或いは曲線からなる線分で表現することを特徴とした
グラフ自動描画法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7321582A JPH09161084A (ja) | 1995-12-11 | 1995-12-11 | グラフ自動描画装置及びグラフ自動描画法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7321582A JPH09161084A (ja) | 1995-12-11 | 1995-12-11 | グラフ自動描画装置及びグラフ自動描画法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09161084A true JPH09161084A (ja) | 1997-06-20 |
Family
ID=18134168
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7321582A Withdrawn JPH09161084A (ja) | 1995-12-11 | 1995-12-11 | グラフ自動描画装置及びグラフ自動描画法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09161084A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010140339A (ja) * | 2008-12-12 | 2010-06-24 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
-
1995
- 1995-12-11 JP JP7321582A patent/JPH09161084A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010140339A (ja) * | 2008-12-12 | 2010-06-24 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Horbiński et al. | The use of Leaflet and GeoJSON files for creating the interactive web map of the preindustrial state of the natural environment | |
| US5548698A (en) | Rule based parametric design apparatus and method | |
| Abello et al. | Visualizing large graphs with compound-fisheye views and treemaps | |
| Samsonov et al. | Shape-adaptive geometric simplification of heterogeneous line datasets | |
| Ti et al. | Generation of schematic network maps with automated detection and enlargement of congested areas | |
| US7363583B1 (en) | Method and system for providing a compact layout of connected nodes | |
| US7930320B2 (en) | Apparatus, method, and program for visualizing boolean expressions | |
| JPH06251007A (ja) | 表データ入力装置 | |
| JPH08180200A (ja) | 図形配置装置 | |
| JPH06266742A (ja) | 表作成装置 | |
| Ackerman et al. | On the number of rectangular partitions. | |
| Jo et al. | Placegram: a diagrammatic map for personal geotagged data browsing | |
| Cornelsen et al. | Planar confluent orthogonal drawings of 4-modal digraphs | |
| JP4585742B2 (ja) | 画像表示装置、画像表示方法、プログラム及び記録媒体 | |
| JPH09134440A (ja) | グラフ図形配置法およびその装置 | |
| EP1475751A2 (en) | Design data generating apparatus and design data generating method | |
| Christensen | Two experiments on stream network generalisation | |
| Lai | Layout adjustment and boundary detection for a diagram | |
| Iturriaga-Velazquez | Map labeling problems | |
| JPH0628448A (ja) | 地図処理方式 | |
| JP3647075B2 (ja) | 画像検索方法及びその装置 | |
| JPH0573659A (ja) | 地図データ作成方法及びその装置 | |
| JP2003044522A (ja) | 処理システム図面作成支援装置 | |
| CN112306490A (zh) | 图层导出方法、装置、设备及存储介质 | |
| JPH0696132A (ja) | 画像データ管理方法及びその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030304 |