JPWO2003015032A1 - グラフィックス・イメージ生成装置、及びその方法並びにプログラム - Google Patents

グラフィックス・イメージ生成装置、及びその方法並びにプログラム Download PDF

Info

Publication number
JPWO2003015032A1
JPWO2003015032A1 JP2003519885A JP2003519885A JPWO2003015032A1 JP WO2003015032 A1 JPWO2003015032 A1 JP WO2003015032A1 JP 2003519885 A JP2003519885 A JP 2003519885A JP 2003519885 A JP2003519885 A JP 2003519885A JP WO2003015032 A1 JPWO2003015032 A1 JP WO2003015032A1
Authority
JP
Japan
Prior art keywords
graphic
data
graphics image
arranging
arrangement
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.)
Granted
Application number
JP2003519885A
Other languages
English (en)
Other versions
JP4028844B2 (ja
Inventor
伊藤 貴之
泰正 梶永
裕子 池端
裕美 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPWO2003015032A1 publication Critical patent/JPWO2003015032A1/ja
Application granted granted Critical
Publication of JP4028844B2 publication Critical patent/JP4028844B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Abstract

階層型データに基づいて、所定の階層におけるこの階層型データの構成要素を表す図形領域にこの構成要素の下位階層の構成要素を表す図形を配置する要素配置部(22)と、この要素配置部(22)による階層ごとの図形の配置をこの階層型データの下位階層から上位階層へ再帰的に実行させることによりこの階層型データのグラフィックス・イメージを生成する配置制御部(23)とを備えたグラフィックス・イメージ生成装置を提供する。

Description

技術分野
本発明は、階層型データのグラフィックス・イメージを生成するグラフィックス表示技術に関する。
背景技術
コンピュータを用いて、複数の要素からなる集合を、当該要素間の関係を反映させて視覚化する種々の技術が提案されている。この種の技術に、複数のデータ要素が階層を持って整理されたデータ(以下、階層型データと称す)をグラフィックス表示する技術がある。
従来、この種の階層型データをリアルタイムにグラフィックス表示する技術は、ツリー構造で階層構造を表現するものが一般的であった。例えば、米マイクロソフト社のオペレーティングシステムであるウィンドウズ(Windows)上で動作するファイル操作システムのエクスプローラ(Explorer)は、1列にデータ要素を並べ、当該データ要素間にアークを張った単純なツリー構造を用いてファイルシステムの階層構造を表示している。
しかし、これは1列にデータ要素を並べるだけの単純な方法であるで、データ要素数が数千、数万という大規模な階層型データをグラフィックス表示する場合には、1画面に多くの情報を載せることが困難である。
エクスプローラよりも大規模データに向いた階層型データの表示手法として、Treemap法や、Hyperbolic Tree法がある。
Treemap法は、階層型データが表示される画面空間を縦方向・横方向に交互に切り分け、切り分けられた領域を個々のデータ要素に対応づけることにより、データの階層構造を表現する方法である。このTreemap法については、例えば下記の文献1に詳細に記述されている。
文献1:Shneiderman B.,Tree visualization with treemaps:a 2−d space−filling approach,ACM Transactions on Graphics,vol.11,1(Jan.1992),92−99.または http://www.cs.umd.edu/hcil/treemaps/
また、Hyperbolic Tree法は、双曲空間にツリー構造を配置する方法である。下記の文献2には、このHyperbolic Tree法を応用して、階層構造とデータ要素間のリンク構造の両方を表現する手法が開示されている。
文献2:Hao M.C.,Hsu M.,Dayal U.,and Krug A.,Web−based Visualization of Large Hierarchical Graphs Using Invisible Links in a Hyperbolic Space,HP Laboratories Palo,Alto,HPL−2000−2.
図36は、文献2に開示された技術を用いた階層型データの表示例を示す図である。
図36を参照すると、最も上位の階層から下位階層へ向けて放射状にアークが伸ばされ、最終的に最も外側の周縁に最下位の階層に位置する個々のデータ要素が配置されている。
ところで、階層型データの階層構造を視覚化する手法として、階層に対応させた領域(例えば長方形領域)を入れ子状に組み合わせてグラフィックス表示を行う方法が考えられる。すなわち、階層構造をなすデータ要素の分類ごとに領域を設定して、その中に該当するデータ要素を配置する。
この場合、所定の領域内に配置されるデータ要素が全て同一の形状及び大きさのセルで表現されるならば、単に領域内に当該セルを並べることによってデータ要素を配置できる。しかし、データ要素の意味や内容をセルの形や大きさに反映させる場合、領域内に当該セルをいかに効率よく配置するかが問題となる。
この問題は、領域及びセルを長方形で表現するとすれば、「最小限の長方形領域に、任意の大きさの長方形で構成される集合を配置する」という問題に帰着される。この問題は、Packing、Nesting、Markingなどと呼ばれ、VLSI(Very Large Scale Integrated Circuit)の基盤配置、衣類の型紙の配置、機械部品の板金上への配置などの分野で応用されている。これらの分野におけるこの問題を解く手法は既に種々のものが存在する。
以上のように、階層型データをグラフィックス表示する手法として、従来はツリー構造で階層構造を表現する手法が用いられていた。
しかしながら、データ要素を1列に並べ、当該データ要素間にアークを張った単純なツリー構造では、大規模な階層型データにおけるデータ要素の全てを1画面に表示することが困難であった。
また、文献1に開示されたTreemap法は、上記の単純なツリー構造と比較すれば大規模な階層型データに向いた階層型データのグラフィックス表示手法であるが、数千、数万といった数のデータ要素を表示しようとすると、データ要素に対応づけられる最小単位の領域が細くなりすぎて視認性が低下してしまう。
同様に、比較的大規模な階層型データのグラフィックス表示に向くとされるHyperbolic Tree法を用いた文献4に開示された手法であっても、放射状のツリー構造の周縁に最下層の個々のデータ要素が配置されるため、やはり数千、数万といった数のデータ要素を表示することは困難である。
さらに、これらのツリー構造を用いた階層型データのグラフィックス表示技術は、いずれもツリー構造によってデータ要素の分類にかかる階層構造を表現している。そのため、階層構造は認識しやすいが、個々のデータ要素間に何らかの関係(リンク構造)がある場合、アークを張るなどの手段でこのリンク構造を表示することが困難であった。
また、階層型データの階層構造を視覚化する手法として、入れ子状の領域にてグラフィックス表示を行う方法を用いる場合、上述したように、最小限の領域に任意の大きさのセルで構成される集合を配置するという問題を解く必要がある。この問題を解く手法は既に種々のものが存在するが、その多くは配置領域を最小化するための最適化手法である。すなわち、「計算時間の多少に関わらず(長い計算時間をかけてでも)配置領域を最小化する」技術と言える。
しかし、階層型データのグラフィックス表示技術の一部としてこの問題を解こうとする場合、計算時間を短縮し(例えば、数秒程度の対話的な操作が可能な時間)、かつ最適ではないとしてもある程度適切な配置結果を得ることが必要となる。
そこで、本発明は、大規模な階層型データのグラフィックス・イメージを容易に生成する手法を提供することを目的とする。
また、本発明は、所定の領域に任意の大きさの要素を効率的に配置する処理を高速に行う手法を提供することを目的とする。
発明の開示
上記の目的を達成する本発明は、次のように構成されたことを特徴とするグラフィックス・イメージ生成装置を提供することができる。すなわち、このグラフィックス・イメージ生成装置は、階層型データに基づいて、所定の階層におけるこの階層型データの構成要素を表す図形領域にこの構成要素の下位階層の構成要素を表す図形を配置する要素配置手段と、この要素配置手段による階層ごとの図形の配置をこの階層型データの下位階層から上位階層へ再帰的に実行させることによりこの階層型データのグラフィックス・イメージを生成する配置制御手段とを備えることを特徴とする。
ここで、この要素配置手段は、相互に関連する構成要素が近隣に位置するように図形の配置を行う。
また、この要素配置手段は、所定の構成要素の配置を行う場合に、この構成要素を表す図形とこの構成要素内に配置された下位階層の構成要素を表す図形を合わせて1つの図形として扱う。
さらに、このグラフィックス・イメージ生成装置は、処理対象である階層型データにおける所定の階層を構成する構成要素に対し、この構成要素間の関連性に基づいてこの構成要素をつなぐアークを生成するアーク生成手段をさらに備える構成とすることができる。
さらにまた、このグラフィックス・イメージ生成装置は、図形領域内の位置を特定するテンプレートを保持するテンプレート保持手段をさらに備える構成とすることができる。この場合、要素配置手段は、このテンプレート保持手段に保持されているテンプレートに基づいて、図形の配置位置を決定し、この図形を配置する。そして、より好ましくは、このテンプレートは、既に生成されたグラフィックス・イメージに基づいて作成される。あるいは、所定の入力手段を用いて入力された構成要素の位置関係に関する情報に基づいて作成される。あるいは、データの持つ意味を位置関係で表す所定の座標軸に基づいて作成される。
また、本発明は、所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成装置において、配置しようとする図形データを図形の面積に基づいてソートするソート手段と、このソート手段によるソート順にしたがって、この図形データに基づく図形を、この領域の中央から周辺へ順次配置する要素配置手段とを備えることを特徴とする。
さらに詳しくは、このソート手段は、面積に基づいてソートした図形データの順番を、この図形データ間に付与された関連性に基づいて修正し、この要素配置手段は、関連する図形データどうしを近隣に位置させるように配置する。
また、この要素配置手段は、この領域に、既に配置されている図形の中心点を頂点とする三角メッシュを生成し、この三角メッシュの三角形要素の大きさに基づいて次に配置しようとする図形の配置位置を決定する。
また、本発明は、階層型データを入力し、この階層型データの階層構造を2次元図形の入れ子構造で表現したグラフィックス・イメージのイメージデータを生成するグラフィックス・イメージ生成手段と、このグラフィックス・イメージ生成手段により生成された階層型データのグラフィックス・イメージのイメージデータを格納する記憶手段と、この記憶手段からこのイメージデータを読み出して表示する表示手段とを備えることを特徴とする。
さらに、本発明の他のグラフィックス・イメージ生成装置は、既に生成されたグラフィックス・イメージに基づいて作成された図形の配置位置に関する情報を保持する位置情報保持手段と、この位置情報保持手段に保持されている図形の配置位置に関する情報に基づいて、配置しようとする図形どうしが重ならないように、この領域にこの図形を配置する要素配置手段とを備えることを特徴とする。また、この位置情報保持手段は、既に生成されたグラフィックス・イメージに基づいて作成された図形の配置位置に関する情報に代えて、所定のデザイン情報に基づいて作成された図形の配置位置に関する情報を保持するようにしても良いし、データの持つ意味を位置関係で表す所定の座標軸に基づいて作成された図形の配置位置に関する情報を保持するようにしても良い。
さらにまた、本発明は、コンピュータを制御して所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成方法において、図形データを格納した記憶装置から配置しようとする図形データを読み出して、図形の面積に基づいてソートし、ソート結果記憶手段に格納するステップと、この領域に三角メッシュを生成するステップと、このソート結果記憶手段から図形データのソート順を読み出し、このソート順にしたがって処理対象である図形データに基づく図形を順次配置対象とし、先に生成された三角メッシュの三角形要素に基づいてこの図形の配置位置を決定し、この配置位置にこの配置対象の図形を配置するステップと、この領域にこの図形を配置して得られるグラフィックス・イメージをイメージデータ記憶手段(例えばビデオメモリ)に格納するステップとを含むことを特徴とする。
ここで、この図形を配置するステップは、三角メッシュにおける三角形要素の大きさに基づいて図形の配置位置を決定するステップと、決定された配置位置に配置対象である図形を配置して、配置の可否の判断条件を満足するかどうかを判定するステップとを含む。そして、この判断条件を満足しない場合はこの2つのステップを再帰的に実行する。
この判断条件としては、他の図形と干渉していないか、配置すべき領域をはみ出していないか、といった条件を設定することができる。このように、実際に配置対象である図形を配置位置に配置して、不都合がないかどうかを調べるため、配置する図形の形状は任意とすることができる。ただし、図形として長方形を用いれば、座標を用いてこれらの判断条件を容易に判定することができる。
また、詳しくは、この図形の配置位置を決定するステップは、三角メッシュにおける三角形要素を大きい順に選択し、配置対象である図形の配置位置とする。
あるいは、この図形の配置位置を決定するステップは、三角メッシュにおける三角形要素のうち、図形を配置する領域の頂点と一致する頂点の数が少ない三角形要素から順に、配置対象である図形の配置位置として選択する。
さらにまた、この図形を配置するステップは、図形が新たに配置された後に、新たに配置された図形における所定の点を新たな頂点として新たな三角形要素を生成することにより、三角メッシュを更新し、更新された三角メッシュに基づいて次の図形の配置位置を決定する。
また、本発明の他のグラフィックス・イメージ生成方法は、図形データを格納した記憶装置から配置しようとする図形データを読み出して、予め指定された図形の配置位置に基づく所定の規則に基づいてソートし、ソート結果記憶手段に格納するステップと、この領域に三角メッシュを生成するステップと、ソート結果記憶手段から図形データのソート順を読み出し、このソート順にしたがって図形データに基づく図形を順次配置対象とし、予め指定された図形の配置位置及び三角メッシュの三角形要素に基づいて図形の配置位置を決定し、この配置位置に配置対象の図形を配置するステップと、この領域にこれらの図形を配置して得られるグラフィックス・イメージをイメージデータ記憶手段に格納するステップとを含むことを特徴とする。
さらにまた、本発明は、コンピュータを制御して、グラフィックス・イメージを生成するプログラムとして実現することができる。
すなわち、このプログラムは、階層型データを入力し、この階層型データの階層構造に基づいて、データ記憶手段にこの階層型データの構成要素をスタックする処理と、このデータ記憶手段にスタックされた構成要素を順次読み出して、この構成要素を表す図形領域にこの構成要素の下位階層の構成要素を表す図形を配置する処理を、この階層型データの下位階層から上位階層へ再帰的に実行する処理と、図形の配置を再帰的に実行することにより得られたこの階層型データのグラフィックス・イメージをイメージデータ記憶手段に格納する処理とをこのコンピュータに実行させることを特徴とする。
ここで、このプログラムにおける、図形領域に下位階層の構成要素を表す図形を配置する処理は、配置しようとする図形をその面積に基づいてソートし、ソート結果をソート結果記憶手段に格納する処理と、このソート結果記憶手段から読み出したソート結果にしたがって、この図形を順次配置する処理とを含む。
また、このプログラムにおける、図形領域に下位階層の構成要素を表す図形を配置する処理は、この構成要素間に付与された関連性を反映させて配置しようとする図形をソートし、ソート結果をソート結果記憶手段に格納する処理と、このソート結果記憶手段から読み出したソート結果にしたがって、関連する構成要素を表す図形どうしを近隣に位置させるように図形を配置する処理とを含む。
さらに、このプログラムは、図形の配置を再帰的に実行することにより得られた階層型データのグラフィックス・イメージのうち、所定の階層を構成する構成要素を表す図形に対し、この構成要素間の関連性に基づいてこの構成要素どうしをつなぐアークを生成する処理をこのコンピュータに実行させる構成とすることができる。
さらにまた、このプログラムにおける前記図形領域に下位階層の構成要素を表す図形を配置する処理では、図形領域内の位置を特定するテンプレートに基づいて、図形の配置位置を決定し、図形を配置する
発明を実施するための最良の形態
以下、添付図面に示す第1乃至第3の実施の形態に基づいて、この発明を詳細に説明する。
まず本発明の概要を説明する。本発明は、コンピュータシステムを用いて、階層型データのグラフィックス・イメージを生成する。本発明では、階層型データの表現手法として、階層を表す領域を入れ子状に組み合わせることにより2次元的に表現する手法を用いる。
入れ子構造のグラフィックス・イメージを生成する手順は、次のようにする。まず、最下位の階層に位置するデータ要素をグラフィックス・イメージが生成される空間(ディスプレイ装置に表示される空間、以下、ディスプレイ空間と称す)上に配置し、次に、このデータ要素の集合を内包する領域を形成して1つ上の階層を表現する。また、このようにして得られた領域の集合を適切にディスプレイ空間上に配置し直し、この領域の集合を内包するさらに大きな領域を形成してさらに1つ上の階層を表現する。かかる処理を再帰的に繰り返し、階層型データの最上位の階層まで表現する。
すなわち本発明では、階層型データを下位階層から上位階層に向かって順に配置していくことにより、階層型データのグラフィックス・イメージを生成する。
第1の実施の形態は、上述した階層型データのグラフィックス・イメージを生成するシステムである。第2の実施の形態は、このグラフィックス・イメージを生成する技術を用い、所定の階層における構成要素の間の関連性をアークによるリンク構造で表現することにより、階層構造を持ったグラフデータをグラフィックス表示するシステムである。第3の実施の形態は、テンプレートを用いることにより、グラフィックス・イメージにおける各構成要素の配置をある程度意図的に制御するシステムである。
以下、各実施の形態を詳細に説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態によるグラフデータのグラフィックス表示を行うグラフィックス・イメージ生成装置としてのコンピュータシステムの構成を示す図である。
図1を参照すると、コンピュータシステム10は、グラフィックス表示処理をプログラム制御により実行する処理装置(CPU)11と、処理装置11を制御するプログラムを格納した主メモリ12と、処理装置11により生成された階層型データのグラフィックス・イメージを表示するためのビデオメモリ13及びディスプレイ装置14と、処理対象である階層型データを格納した記憶装置15とを備える。
処理装置11は、主メモリ12に格納されたプログラムに制御されて、記憶装置15から処理対象となる階層型データを読み出し、そのグラフィックス・イメージ(イメージデータ)を生成してビデオメモリ13に格納する。そして、ビデオメモリ13に格納されたグラフィックス・イメージがディスプレイ装置14にて表示される。主メモリ12は、処理装置11によるグラフィックス・イメージの生成処理の過程で、後述するセルやクラスタを一時的に格納するスタックとしても用いられる。
なお、図1には、本実施の形態を実現するための構成のみを図示してある。実際には、図示の構成の他に、各種の命令やデータを入力するためのキーボードやマウスなどの入力装置、音声出力機構や各種の周辺機器、ネットワークに対するインタフェースなどが設けられていることは言うまでもない。また、階層型データは、上記のように記憶装置15から読み出すほか、ネットワークなどを介して外部から入力しても良い。
図2は、第1の実施の形態による階層型データのグラフィックス・イメージを生成するグラフィックス・イメージ生成装置の構成を説明する図である。
上述したように、第1の実施の形態では、階層を表す領域を入れ子状に組み合わせる手法によって、階層型データのグラフィックス・イメージを生成する。このグラフィックス・イメージにおいて、階層型データにおける個々のデータ要素をセルと称し、同じ大きさの正方形で表現する。また、当該データ要素に対する分類などを示す上位階層の構成要素をクラスタと称し、セル及び下位階層のクラスタを内包する長方形で表現する。すなわち、このグラフィックス・イメージは、単一のもしくは多重に配置された長方形のクラスタと、クラスタ内に配置された正方形セルとで構成される。ただし、このグラフィックス・イメージを生成する段階では、このセル及びクラスタは単なる正方形及び長方形の図形データであるため同様に扱うことができる。したがって、以下の説明において、このセルとクラスタとを特に区別する必要がない場合は、構成要素と総称して説明する。
また、以下の説明では、本実施の形態において種々の大きさを取り得る長方形のクラスタを配置する場合を主として説明するが、上述のように、セルとクラスタとは区別なく扱われるのであり、セルが同じ大きさに限定されない場合は同様の説明が成り立つことは言うまでもない。
図2を参照すると、本実施の形態によるグラフィックス・イメージ生成装置は、処理対象である階層型データにおける各階層の構成要素に関して配置順を決定するソート部21と、ソート部21にて決定された順番にしたがって階層型データの構成要素を配置する要素配置部22と、ソート部21及び要素配置部22による階層型データの構成要素の配置を当該階層型データの下位階層から順に再帰的に実行させる配置制御部23とを備える。
図2に示した各構成要素は、図1の主メモリ12に保持されているコンピュータプログラムにより制御された処理装置11にて実現される仮想的なソフトウェアブロックである。処理装置11を制御する当該コンピュータプログラムは、CD−ROMやフロッピーディスクなどの記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供される。そして、当該コンピュータプログラムは、主メモリ12にロードされて処理装置11を制御し、図1に示したコンピュータシステム10において図2に示した各構成要素の機能を実現する。
図2に示した構成において、ソート部21は、所定のクラスタを示す長方形内に当該クラスタの下位階層のクラスタまたはセルを配置する場合に、当該クラスタまたはセルの配置順を決定(ソート)する。
配置順は、原則として面積の大きなものから順に配置するように決定される。本実施の形態では、データ要素に対応する各セルは同じ大きさの正方形であるので、配置順は任意に決定することができるが、データ要素の内容をセルの大きさに反映させる表現手法を取る場合は、同様にセルの大きさに応じて配置順が決定される。クラスタまたはセルの配置順を示すソート結果は、主メモリ12や処理装置11内のレジスタに一時的に格納される。
また、データ要素の集合を視覚化する場合、関連性の高いデータどうしを近くに配置したいという要求が非常に多い。そこで、ソート部21は、面積の大きい順にしたがうクラスタの配置順を、所定の条件に基づいて修正することができることとする。関連性の高いデータどうしを近くに配置する具体的な処理は、要素配置部22の処理にも関係するので、後述する。
要素配置部22は、階層型データのクラスタまたはセルを、ソート部21によりソートされた順番にしたがって、ディスプレイ空間に配置する。配置の仕方は次の方針による。
(1)ディスプレイ空間の中心から順に、既に配置されている長方形に隣り合うように配置する。
(2)既に配置されている長方形の隙間に配置できる場合は、その隙間に配置する。
本実施の形態では、(2)の方針において必要となる、長方形を配置できるような隙間を高速に探す処理を実現するために、長方形の中心点を結ぶ三角メッシュを用いた処理を実行する。この三角メッシュは、Delaunay条件を満たすものとする。
また、本実施の形態では、階層型データの構成要素を下位階層から上位階層へ順次配置していくため、要素配置部22が所定の階層のクラスタを配置する場合、当該クラスタの下位階層のクラスタまたはセルが既に配置されている。そこで、要素配置部22は、所定のクラスタを配置する際に、当該クラスタを表す長方形とその内部に既に配置されている下位階層のクラスタまたはセルを表す長方形または正方形との相対的な位置関係を保存し、すなわちこれらの図形を合わせて1つの図形として扱い、配置を行う。
配置制御部23は、ソート部21及び要素配置部22により階層型データの階層ごとに行われるクラスタまたはセルの配置処理を、下位階層から上位階層へと再帰的に繰り返して実行させることにより、階層型データ全体のグラフィックス・イメージを生成する。生成されたグラフィックス・イメージは、図1に示すビデオメモリ13に格納され、ディスプレイ装置14に表示される。
次に、上記構成に基づく階層型データのグラフィックス・イメージの生成処理について説明する。
まず、三角メッシュを用いた長方形(クラスタ)の配置位置の探索について詳細に説明する。
本実施の形態では、既に幾つかの長方形が配置されている場合に、配置された長方形が疎である領域を検出し、その領域に次の長方形を置く、という処理を反復することで、小さな配置面積に長方形群を配置する。そこで、長方形が疎である領域を抽出するために、長方形を配置する領域(以下、配置領域と称す)に、既に配置された長方形の中心点を結ぶ三角メッシュを生成する。この三角メッシュにおいて大きな三角形要素が生成された領域では、長方形が疎である可能性が高いので、その領域に新しい長方形を配置することを試みる。三角形要素の大きさを判定する基準としては、三角形要素の外接円の半径、内接円の半径、3辺の長さの最大値などを用いることができる。以下では、外接円の半径を基準として三角形要素の大きさを判定する場合を例として説明する。
ところで、この配置領域は、配置される長方形(クラスタ)の上位階層のクラスタを表現する長方形となる領域(この意味での配置領域を図形領域と称す)である。したがって、初期的には、ディスプレイ空間の適当な位置に4個のダミー頂点を置いて長方形の領域を配置領域として設定し、三角メッシュを生成する。この時点では、まだ長方形が置かれていないので、長方形の配置領域を2つの三角形に分けるような三角メッシュが生成される。そして、長方形が配置されるごとに、当該長方形の中心を新たな頂点として追加しながら三角メッシュを細かくしていく。
また、初期状態では、既に配置されている長方形は存在しないので、最初に配置する長方形は配置領域における任意の位置に置くことができる。ただし、この場合上述した(1)の方針にしたがって、長方形はダミー頂点で示された配置領域の中心に置かれることとなる。
図3は、既に配置された長方形の中心点を連結する三角メッシュにおける所定の三角形要素の外接円を示す図である。
Delaunay条件を満たす三角メッシュにおいて、図3において破線で示した外接円の内部に他の三角形要素の頂点は存在しない。したがって、外接円の大きい三角形要素の周辺では、三角形要素の頂点の密度が小さいと推測できる。所定の領域において、三角形要素の頂点の密度が小さいことは、長方形の個数が少ないことを意味する。
図4は、三角メッシュの三角形要素を隣接するダミー頂点の数で分類した様子を示す図である。
ここで、三角形要素にダミー頂点が隣接するとは、当該三角形要素の頂点がダミー頂点と一致していることを意味する。したがって、三角形要素に隣接するダミー頂点の数は0から3個の間である。これによれば、ダミー頂点は三角メッシュの最も外側に存在するので、隣接するダミー頂点の数の多い三角形要素は三角メッシュが生成された領域の外側に存在し、隣接するダミー頂点の数が少ない三角形要素ほど当該領域の内側に存在していることがわかる。したがって、できるだけ隣接するダミー頂点の数が少ない三角形要素の位置に長方形を配置することで、小さいスペースに長方形をまとめて配置することができ、配置領域の拡大を抑えることができる。
図5は、長方形を配置する対象として選択された三角形要素に長方形を置く手法を説明する図である。
図5に示す例は、破線で示した2個の長方形がすでに配置されており、かつ隣接するダミー頂点の数が1個であるような三角形要素を長方形の配置位置とした場合の処理を示す。この場合、選択された三角形要素の中心点と当該三角形要素のダミー頂点以外の頂点とを結ぶ線分(図5(A)の線分501または線分502)上に、新たに配置する長方形の中心点を置き、かつ当該新たに配置する長方形が既に配置されている長方形に隣接するように、配置する。すなわち図5(B)に実線で示した2つの長方形のいずれかの位置に配置することとなる。
図6は、長方形を配置するためにダミー頂点を移動して配置領域を拡大する処理を説明する図である。
ダミー頂点にて形成された配置領域内で長方形を置くべき三角形要素が見つからず、配置領域の外側にはみ出してしまう場合、すなわち、両端がダミー頂点である辺を跨ぐ位置に長方形を置くこととなる場合(図6(A)参照)は、ダミー頂点を画面空間の中心から遠ざかる方向に再配置して、長方形が三角メッシュの内側になるように配置領域を拡大する(図6(B)参照)。ただし、配置領域は、上位階層のクラスタを表す長方形となるため、当該上位階層におけるクラスタの配置も考慮すれば、当該配置領域の面積が小さいほど、階層型データの構成要素をディスプレイ空間に効率的に配置できることとなる。したがって、この配置領域を拡大する処理はできるだけ行わなくて済むように、長方形の配置手順を工夫することが必要である。
次に、上記図3乃至図6を参照して説明した長方形の配置位置の探索手法を用いたクラスタの配置処理について説明する。
図7及び図8は、ソート部21及び要素配置部22により所定の階層のクラスタを配置する処理を説明するフローチャートである。また、図9は、三角メッシュを用いて長方形を配置していく様子を示す図、図10は、新たな長方形の配置に伴う三角メッシュの更新処理を説明する図である。
図7を参照すると、まず、要素配置部22が、ディスプレイ空間上に4個のダミー頂点(ダミーノード)を適当に配置して配置領域を設定し、これらのダミー頂点を連結する三角メッシュを生成する(ステップ701)。図9(A)は、この初期的な配置領域及び三角メッシュを示す。最初に配置領域を設定する時点では、未だクラスタを表す長方形が配置されていないため、配置領域の大きさや形は任意に設定できる。この際、例えば、配置するクラスタの数や階層型データにおける何番目の階層に対する配置処理かといった情報に基づいて設定するようにしても良い。
また、ソート部21が、配置しようとする階層のクラスタの長方形を、面積の大きい順にソートして配置順を決定する(ステップ702)。なお、このステップ701及びステップ702の処理は、いずれを先に行っても良いし、並列に行っても構わない。
次に、ステップ702で決定された配置順の最初の長方形(最大の長方形)をステップ701で設定された配置領域の中央に配置する(ステップ703)。配置位置は、例えば、4個のダミー頂点及び配置する長方形の中心点の座標に基づいて容易に算出することができる。図9(B)は、図9(A)の配置領域の中央に長方形901が配置された様子を示す。
次に、ステップ702で決定された配置順にしたがって、配置領域内に長方形を順次配置していく。まず、ソート部21によりソートされた長方形が全て配置されたかどうかを確認し、未配置の長方形があれば、そのうちで面積が最大のものを配置対象として選択する(ステップ704、705)。ソートされた長方形のうちで最大のものはステップ703で既に配置されているので、2番目以降の長方形が選択されることとなる。そして、上述した三角メッシュによる長方形の配置位置の探索手法に基づいて、選択された長方形を配置する(ステップ706)。図9(C)〜(E)には、長方形901の周囲に長方形902、903、904が順次配置されていく様子が示されている。この長方形の配置処理の詳細については後述する。
配置領域内に長方形を配置した後、要素配置部22は、新たに配置した長方形の中心点を求め、この点を周囲の三角形要素の各頂点と連結し、新たな三角形要素を生成する(ステップ707)。そして、当該三角メッシュの更新に伴い、必要に応じて、局所的に三角メッシュの辺の組み替えを行う(ステップ708)。図9(B)〜(E)には、長方形が1つ配置されるたびに、当該新たな長方形に基づいて三角形要素が生成され、三角メッシュが更新される様子が示されている。このように、Delaunay三角メッシュにおいて、頂点を1個追加するたびに三角メッシュを更新するアルゴリズムは、インクリメンタルDelaunay三角メッシュ法として知られており、例えば、次の文献に詳細に記載されている。
文献3:Sloan S.W.,A Fast Algorithm for Constructing Delaunay Triangulation in the Plane,Advances in Engineering Software,9,34−55,1987.
図10には、既に配置されている長方形901に近接して新たに長方形904が配置されたことによる三角メッシュの更新の様子が示されている。
まず、図10(A)に示すように長方形904が配置されたことにより、図10(B)に示すように、長方形904の中心点が新たな頂点となって新たな三角形要素が生成される。そして、上述したインクリメンタルDelaunay三角メッシュ法に基づき、辺1001、1002、1003、1004で囲まれた2つの三角形要素を分ける辺、および辺1005、1002、1006、1007で囲まれた2つの三角形要素を分ける辺が、図10(C)に示すように組み替えられる。
この後、要素配置部22は、ステップ704に戻り、ソート部21によってソートされたソート順の次の長方形(次に大きい長方形)を配置対象として選択し(ステップ705)、同様の処理を繰り返す。
以上の処理の繰り返しにより、配置領域内に、面積の大きい順に長方形が配置されていく。
次に、図8を参照して、ステップ706における要素配置部22が長方形を配置する処理について詳細に説明する。
まず、ステップ701で生成された三角メッシュを構成する三角形要素を、隣接するダミー頂点の数(V)で分類する(ステップ801)。上述したように、各三角形要素において隣接するダミー頂点の数は0〜3個であり、これによって三角形要素が4種類に分類される。
次に、隣接するダミー頂点の数が0個の三角形要素を対象として、大きい順に三角形要素をソートする(ステップ802、803)。ここで、三角形要素の大きさは、上述したように、例えば三角形要素における外接円の半径の長さを比較して判断することができる。なお、ソート結果は、例えば図1に示した主メモリ12や処理装置11のレジスタに一時的に格納される。
隣接するダミー頂点の数が0個である三角形要素が存在する場合は、ステップ803でソートされた順に、以下の一連の処理を実行する(ステップ804)。
まず、未処理の三角形要素の中で最大の三角形要素(大きさでソートされた配置順の最も早い三角形要素)を長方形の配置位置の候補として選択する(ステップ805)。そして、当該三角形要素の中心点とダミー頂点以外の頂点とを結ぶ線分(S)を求める(ステップ806)。隣接するダミー頂点の数が0個である三角形要素の場合、この線分は3本検出される。
次に、求めた線分(S)のうちで、三角形要素の置かれていない任意の線分を選択して、当該線分上に処理中の(配置しようとする)長方形の中心が位置し、かつ既に配置されている長方形に処理中の長方形が隣接するような位置を、当該処理中の長方形の配置位置とする(ステップ807)。この配置位置は、ディスプレイ空間における各長方形の座標値等に基づいて容易に求めることができる。
次に、ステップ807にて求められた配置位置に処理中の長方形をおいた場合に、当該処理中の長方形が当該三角形要素からはみ出すかどうかを調べる(ステップ808)。はみ出す場合、未検証の線分(S)が存在するならば、当該線分を選択してステップ807に戻り、長方形の配置位置を決定する(ステップ809、807)。
また、長方形が三角形要素からはみ出さない場合、次に、当該処理中の長方形が既に配置されている近隣の長方形と干渉しないか(重ならないか)どうかを調べる(ステップ810)。干渉しないならば、当該位置に長方形を配置して処理を終了する(ステップ811)。
一方、処理中の長方形が近隣の長方形と干渉する場合、未検証の線分(S)が存在するならば、当該線分を選択してステップ807に戻り、長方形の配置位置を決定する(ステップ809、807)。
ステップ809で未検証の線分(S)が存在しない、すなわち、ステップ806で求めた全ての線分(S)に関して求められた長方形の配置位置において、処理中の長方形を配置した場合に、ステップ808またはステップ810の判断条件を満足しない場合、すなわち、当該長方形が当該三角形要素からはみ出すか、または近隣の長方形と干渉する場合、ステップ804に戻り、次の大きさの三角形要素を長方形の配置位置の候補として選択する(ステップ804、805)。そして、ステップ806以降の処理を繰り返す。
ステップ804の判断において、ステップ803でソートされた全ての三角形要素を検証したと判断された場合(この場合、それでもまだ処理中の長方形を配置する位置が決定されていない)、または、隣接するダミー頂点の数の条件が適合する三角形要素が存在しない場合は、次に、要素配置部22は、隣接するダミー頂点の数で分類された三角形要素のうちで、当該隣接するダミー頂点の数が1つ多いもの(この時点では1(=0+1)個)を抽出する(ステップ812、813)。そして、再度、当該三角形要素を大きさに基づいてソートし(ステップ803)、ステップ804以降の処理を繰り返す。
さらに、以上の処理を繰り返して、隣接するダミー頂点の数を3個としても処理中の長方形を配置する位置が決定されない場合、要素配置部22は、ステップ806、807に相当する処理で求められ、かつ配置領域からはみ出すような位置、すなわち両端がダミー頂点である辺を跨ぐ位置に長方形を配置する(ステップ813、814)。そして、図6に示したように、ダミー頂点の位置を修正し、配置領域を拡大して、長方形を配置領域内に納める(ステップ815)。
以上のようにして、ソート部21及び要素配置部22により、所定のクラスタに対応する配置領域に、その下位階層のクラスタである長方形が配置される。図7を参照して説明したように、長方形の配置順は、原則として面積の大きい順である(ステップ702参照)。しかしながら、上述したように、関連性の高いデータどうしを近くに配置するために、配置順を修正し、さらに、関連性が高く既に配置されている長方形の中心点に近い三角形要素を優先的に選んで長方形を配置することができる。
具体的には、まずソート部21において長方形の配置順を決定する際、大きさに基づくソート結果のうち、n番目の長方形が、「関連性が高く、かつ順番がn番以降である長方形」をk個持つときには、そのk個の長方形の順番を強制的に、(n+1)、(n+2)、…、(n+k)番目に入れ替える。
次に、要素配置部22において、ソート部21により順番を入れ替えられた(n+1)…(n+k)番目の長方形を配置する際に、既に配置されている関連する長方形からの位相的な距離を用いて、当該長方形の近隣に新たに長方形を配置する。例えば、長方形Aの近隣に関連する長方形Bを配置する場合を考える。この場合、長方形Aの配置された三角形要素の頂点に隣接する三角形要素を距離0、この三角形要素に隣接する三角形要素を距離1、以後同様に、距離2、距離3、・・・というように再帰的に三角形要素の位相的な距離を算出する。そして、図8のステップ801において隣接するダミー頂点の個数で三角形要素を分類する代わりに、長方形Aからの位相的な距離で三角形要素を分類し、位相的な距離の小さい三角形要素から順に長方形Bの配置位置を探索する。これにより、長方形Aからできるだけ近い位置に長方形Bを配置することができる。
以上の操作により、関連性を持ったクラスタどうしを近くに配置することが可能となる。どのクラスタとどのクラスタとが関連性を持っているかは、予め階層型データにおいて付加情報を付加するなどの手段により識別することができる。
しかしながら、本手法は、配置すべき長方形(クラスタ)の数に対して、関連性を持ったクラスタの数が少ない場合に有効な手法である。具体的な例を挙げれば、配置すべき長方形の数に対して、他のクラスタと関連性を有するクラスタが半数以下であり、かつ1個のクラスタが関連性を持つ他のクラスタの数は高々2、3個であるようなデータにおいて有効であると考えられる。
配置すべき長方形(クラスタ)の数に対して、関連性を持ったクラスタの数が多い場合、それぞれの関連性を十全に表現した配置を得ることは困難であり、また配置処理に要する時間も増大する。そのような場合にクラスタ間の関連性を視覚化するには、本手法によるのではなく、後述するグラフデータの手法を用いてクラスタ間をアークで接続する手法を用いることが好ましい。
次に、ソート部21及び要素配置部22による長方形の配置処理を再帰的に実行することにより階層型データのグラフィックス・イメージを生成する方法を説明する。
図11は、配置制御部23の制御により、階層型データのグラフィックス・イメージを生成する処理を説明するフローチャートである。
図11を参照すると、配置制御部23は、まず、階層型データの最上位階層のクラスタから、幅優先探索で最下位階層のクラスタまで順次探索していき、探索された順にクラスタをスタックに登録する(ステップ1101)。このスタックは、例えば図1の主メモリ12に設定され、上記探索の結果をここに格納することができる。
次に、配置制御部23は、スタックに登録された順序とは逆にクラスタを1個選択し、処理対象の図形領域とする(ステップ1102、1103)。そして、ソート部21及び要素配置部22による当該図形領域への長方形(ステップ1103で選択されたクラスタの下位階層のクラスタ)群の配置処理を実行させる(ステップ1104)。これは、図7、図8を参照して上述した処理である。
上述したように、本処理は階層型データの下位階層から上位階層へ再帰的に実行されるため、所定の階層における長方形(クラスタ)を配置する場合、当該長方形内に、その下位階層の長方形がすでに配置されている。したがって、ステップ1104の処理が終了した後、配置された長方形のさらに下位階層の長方形群の位置を再算出しておく(ステップ1105)。
以上の処理の後、配置制御部23は、ステップ1102に戻ってスタックに登録された次のクラスタを選択し(ステップ1103)、同様の処理を繰り返す。そして、ステップ1102において、スタックに登録された全てのクラスタの配置が決まったと判断されたならば、処理を終了し、生成された階層型データのグラフィックス・イメージを出力する。
図12は、配置制御部23の制御により、階層型データの構成要素が階層ごとに配置され、グラフィクス・イメージが生成される様子を示す図である。
図12を参照すると、この階層型データは、最下位の階層のデータ要素を含めると4つの階層を持つ。図12(A)においては、データ要素に対応する正方形セルが長方形1201、1202の内部に配置されている。図12(B)においては、この長方形1201、1202と同階層のクラスタの長方形が、さらに上位の長方形1211の内部に配置されている。さらに図12(C)においては、この長方形1211と同階層のクラスタの長方形が、最上位階層の長方形1221の内部に配置されている。
ここで、本実施の形態における処理時間について考察する。
本実施の形態のソート部21及び要素配置部22によって1クラスタを構成するn個の長方形を配置する処理時間は、O(n)よりも大きくなる。なお、O(n)はnの定数倍以内の時間(この場合、nも定数なので、定数時間内)で計算できることを意味する。したがって、nの増加に伴って計算時間が急増する傾向にある。ただし、nが500〜1000程度であれば実用上は問題ないと考えられる。
また、nが数千、数万となるようなデータにおいても、以下の処理によって処理時間を抑えることができる。
1.n個のデータ要素を、数個〜数十個の仮想クラスタに分配する。
2.仮想クラスタごとにデータ要素を配置し、次に仮想クラスタ群を配置する。
3.中のデータ要素の位置を保存したまま仮想クラスタを削除する。
また、頂点を1個追加するたびに三角メッシュを更新するインクリメンタルなDelaunay三角メッシュ法は、一般に、処理時間がworst caseでO(n)であるとされる。しかしながら、本実施の形態で用いられるインクリメンタルDelaunay三角メッシュ法では、この処理時間が短縮されると考えられる。
通常のインクリメンタルDelaunay三角メッシュ法は、
1.ノードを1点追加する。
2.そのノードを内部に包括する三角形要素を検出する。
3.検出した三角形要素の3頂点とノードを結ぶ3辺を生成し、三角形要素を3分割する。
4.周辺の三角形要素との辺の組み替えにより、局所的に三角形要素を生成しなおす。
という処理をノードの個数だけ反復することによって三角メッシュを生成する。このとき、2の処理がworst caseでO(n)となる。しかし、本実施の形態で適用されるインクリメンタルDelaunay三角メッシュ法では、予め特定の三角形要素を選択し、その内部にノードである長方形を追加するので、2の検出処理が不要である。すなわち、本実施の形態における三角メッシュの処理時間は3及び4の処理時間によって決まり、これらはO(n)より小さい。したがって、本実施の形態における三角メッシュ生成の処理時間はO(n)より小さくなる。
次に、本実施の形態による階層型データのグラフィックス・イメージを生成する本実施の形態を適用して、実際の階層型データをグラフィックス表示した例を示す。
図13は、インターネットのwww.trl.ibm.com以下のウェブページを、そのURL(Uniform Resource Locators)に基づいて階層型データとし、本実施の形態によりグラフィックス表示した状態を示す図である。図13において、正方形セルが個々のデータ要素を示し、各正方形セルを囲む長方形がクラスタを示している。同図を参照すると、当該ウェブページの階層構造が視覚的に把握しやすく表示されている。
〔第2の実施の形態〕
上記の例では、長方形領域の入れ子構造によって階層型データにおける階層構造をグラフィックス表示する手法について説明したが、さらに、生成されたグラフィックス・イメージにおいて、所定の階層における構成要素の間の関連性をアークによるリンク構造で表現することが可能である。言い換えれば、階層型データのうちのグラフデータ(階層構造を持ったグラフデータ)をグラフィックス表示するための前処理として、本実施の形態による手法を用いることが可能である。
第2の実施の形態は、上述した手法を利用して階層構造を持ったグラフデータをグラフィックス表示する。
図14は、第2の実施の形態による階層構造を持ったグラフデータのグラフィックス・イメージを生成するグラフィックス・イメージ生成装置の構成を説明する図である。
図14に示すグラフィックス・イメージ生成装置は、処理対象であるグラフデータにおける各階層の構成要素に関して配置順を決定するソート部21と、ソート部21にて決定された順番にしたがってグラフデータの構成要素を配置する要素配置部22と、ソート部21及び要素配置部22によるグラフデータの構成要素の配置を当該グラフデータの下位階層から順に再帰的に実行させる配置制御部23と、配置制御部23による制御によって生成されたグラフィックス・イメージにおける構成要素間に当該構成要素どうしをつなぐアークを生成するアーク生成部24とを備える。
図14に示すグラフィックス・イメージ生成装置は、図2に示した階層型データのグラフィックス・イメージを生成する装置と同様に、図1に示すようなコンピュータシステム10にて実現される。すなわち、図14の各構成要素は、図1の主メモリ12に保持されているコンピュータプログラムにより制御された処理装置11にて実現される仮想的なソフトウェアブロックである。当該コンピュータプログラムは、CD−ROMやフロッピーディスクなどの記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供される。そして、当該コンピュータプログラムは、主メモリ12にロードされて処理装置11を制御し、図1に示したコンピュータシステム10において図14に示した各構成要素の機能を実現する。
図14に示した構成要素のうち、ソート部21、要素配置部22及び配置制御部23は、図2に示したソート部21、要素配置部22及び配置制御部23と同様である。したがって、同一の符号を付して説明を省略する。
アーク生成部24は、ソート部21、要素配置部22及び配置制御部23により生成されたグラフィックス・イメージのうち、ユーザにより指定された長方形の内部の構成要素に対し、当該構成要素間の関連性に基づいてアークを生成する。構成要素間の関連性は、例えば元のグラフデータに付加情報として付加しておくことができる。構成要素間にアークを生成する手法は、この種のグラフデータに対するグラフィックス表示技術で用いられる既存の手法を用いることが可能である。
また、アーク生成部24は、アークを生成する際に、構成要素や他のアークと重ならないように、構成要素を適宜移動させることができる。この場合、必要に応じて、当該構成要素が配置されている長方形を拡大することも可能である。階層構造を持ったグラフデータでは、通常、当該長方形もさらに上位の長方形に対する構成要素となっている。したがって、当該長方形が拡大されると、当該長方形を含む構成要素間の配置が変化することとなる。そこで、このような場合は、当該長方形の周囲の構成要素を、当該長方形から遠ざかるように適宜移動させることが必要となる。
図15は、アーク生成部24にて階層構造を持ったグラフデータにおける所定のクラスタの構成要素間にアークを生成する動作を説明するフローチャートである。また、図16は、ソート部21、要素配置部22及び配置制御部23により生成されたグラフデータに対してアークが生成される様子を示す図である。
図15に示すように、アーク生成部24は、まず、図1に示したビデオメモリ13からソート部21、要素配置部22及び配置制御部23により生成されたグラフデータ全体のグラフィックス・イメージを入力する(ステップ1501)。このとき、当該グラフィックス・イメージは、図1に示したディスプレイ装置14に表示され、GUI(Graphical User Interface)によってアークの生成を行うクラスタの指定を受け付けられる状態になっている。図16(A)は、この状態におけるディスプレイ装置14の表示例を示す。同図を参照すると、このグラフデータは、5つの階層を持っていることが解る。
次に、ユーザがマウス等の入力デバイスを用いて所望の1つのクラスタを指定し、アーク生成部24がこの入力を受け付ける(ステップ1502)。
アーク生成部24は、この指定に基づいて、当該クラスタの直下の階層における長方形を再配置し、かかる長方形(クラスタ)の関連性に基づいてアークを生成する(ステップ1503)。
また、長方形の再配置によって指定されたクラスタを表す長方形が大きくなった場合、当該クラスタと同階層の他のクラスタとの間で干渉が発生しないように、当該他のクラスタを移動させる(ステップ1504)。
最後に、アーク生成部24は、以上の処理によってアークが生成されたグラフィックス・イメージをビデオメモリ13に格納する。そして、当該グラフィックス・イメージがディスプレイ装置14に表示される。
図16(B)は、図16(A)の状態から、ユーザにより最上位の階層のクラスタ1601(最も外側で全てのクラスタを内包する長方形)が指定された場合のアーク生成部24による処理結果を示す。図示のように、第2階層の長方形間にアークが生成されると共に、各長方形の配置位置も変更されている。
図16(C)は、図16(B)の状態から、ユーザにより第2階層のクラスタ1602が指定された場合のアーク生成部24による処理結果を示す。図示のように、クラスタ1602を表す長方形の内部(第3階層)の長方形間にアークが生成されると共に、当該長方形の配置位置も変更されている。また、第3階層の長方形の配置位置を変更した結果、クラスタ1602を表す長方形が拡大されたため、第2階層における他の長方形の配置位置も変更されている。
図16(D)は、図16(C)の状態から、ユーザにより第4階層のクラスタ1603が指定された場合のアーク生成部24による処理結果を示す。図示のように、クラスタ1603を表す長方形の内部(第5階層)の正方形セル間にアークが生成されると共に、当該正方形セルの配置位置も変更されている。これに伴って、当該正方形セルを内包する第4階層のクラスタ1604を表す長方形が拡大し、さらに、この長方形を内包する第3階層のクラスタ1602を表す長方形も拡大している。(階層構造を持ったグラフデータを含む)
図17は、図13に示したウェブページにおける幾つかのプロジェクトに関するページを表すクラスタにおいて、当該ページ間のリンク構造を示すアークを生成した状態を示す図である。同図を参照すると、図13にて示された階層構造は保持されたまま、一部のページにおいてリンク構造が明示されている。
〔第3の実施の形態〕
第1、第2の実施の形態は、階層型データの階層構造を表すグラフィックス・イメージを生成するために、データ要素(構成要素)を示す長方形(クラスタまたはセル)を大きいものから順に、配置できる場所に配置している。これは、データ要素どうしができるだけ重ならないように配置すること、かつ画面空間を有効利用するために隙間をつくらないように配置することを方針としており、結果として画面空間上に、できるだけ粗密差のないようにデータ要素を配置する。しかし、このような配置方法を採ると、データ全体の意味や傾向を読み取るために画面上のデータ要素の位置に意味を持たせて配置したい、あるいは類似する意味を持つデータには類似する配置結果が得られるように配置したい、といった要求がある場合に、適切なグラフィックス・イメージを生成することができない。すなわち、構造的に非常に類似しているにもかかわらず非常に異なる配置結果を得てしまうケースが非常に頻繁にある。図35は、このようなケースにおけるグラフィックス・イメージの生成例を示す図である。図示のように、約800個のデータ要素をもつ階層型データ(図35(A))からわずか7個を削除しただけという、非常に類似したデータ(図35(B))においても、非常に異なる配置結果を得ることがあり得る。
第3の実施の形態は、配置するクラスタまたはセルに対して画面空間におけるこの辺りに配置したいという参照位置(予め概略的に指定された配置位置)を記述したテンプレートを導入し、このテンプレートに基づいてクラスタまたはセルを表す長方形を配置する。したがって、任意の規則にしたがってテンプレートを作成し、長方形の配置位置を指定することにより、データ要素の位置に意味を持たせたり、類似する意味を持つデータに対して類似する配置結果を得たりすることが可能となる。
図18は、第3の実施の形態で導入されるテンプレートの概念を示す図である。
図18(A)は、9個の構成要素を持つ1階層に対するテンプレートの例を示す。構成要素の位置情報であるテンプレートは、大きさが配置領域の大きさに一致しており、所定の座標(例えばx−y座標)が設定されている。そして、この座標値により、配置領域内における構成要素を配置すべき位置を特定することができる。テンプレート作成時点では9個の構成要素を表す長方形の大きさは知らなくてもよい。また、テンプレート上で配置に粗密差が生じていても差し支えない。図18(B)は、テンプレートに基づいて各構成要素に対応し所定の大きさを持つ9個の長方形を配置した結果を示す。各長方形は、テンプレートに記述された位置関係をできるだけ保持し、かつ互いに重なることなく、占有面積の拡大を抑えながら配置されていることが分かる。
図19は、第3の実施の形態による階層データのグラフィックス・イメージを生成するグラフィックス・イメージ生成装置の構成を説明する図である。
図19に示すグラフィックス・イメージ生成装置は、処理対象であるグラフデータにおける各階層の構成要素に関して配置順を決定するソート部31と、ソート部31にて決定された順番にしたがってグラフデータの構成要素を配置する要素配置部32と、ソート部31及び要素配置部32によるグラフデータの構成要素の配置を当該グラフデータの下位階層から順に再帰的に実行させる配置制御部33と、要素配置部32による構成要素(長方形)の配置において参照されるテンプレートを保持するテンプレート保持部34とを備える。
図19に示すグラフィックス・イメージ生成装置は、図2に示した階層型データのグラフィックス・イメージ生成装置と同様に、図1に示すようなコンピュータシステム10にて実現される。すなわち、図19のソート部31、要素配置部32及び配置制御部33は、図1の主メモリ12に保持されているコンピュータプログラムにより制御された処理装置11にて実現される仮想的なソフトウェアブロックである。当該コンピュータプログラムは、CD−ROMやフロッピーディスクなどの記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供される。そして、当該コンピュータプログラムは、主メモリ12にロードされて処理装置11を制御し、図1に示したコンピュータシステム10において図19に示した各構成要素の機能を実現する。また、テンプレート保持部34は、主メモリ12や記憶装置15にて実現される。
第3の実施の形態は、階層を表す領域を入れ子状に組み合わせる手法によって、階層型データのグラフィックス・イメージを生成する点において第1の実施の形態と同様である。本実施の形態にて生成されるグラフィックス・イメージを構成するセル及びクラスタについても、第1の実施の形態と同様に定義される。
図19に示した構成において、ソート部31は、所定のクラスタを示す長方形内に当該クラスタの下位階層のクラスタまたはセルを配置する場合に、当該クラスタまたはセルの配置順を決定(ソート)する。
配置順は、テンプレートに基づいて決定される。まず、構成要素を配置する配置領域(テンプレートと同じ大きさ)の4頂点の座標値を、(−1,−1)、(1,−1)、(1,1)、(−1,1)として正規化する。この状態を図20に示す。そして、所定の基準にしたがって、当該テンプレートの座標値にて配置位置が指定されている構成要素の配置順を決定する。配置順を決める基準は、テンプレートにて特定される各構成要素の配置位置の意味等に応じて適宜設定することができるが、例えば、x座標値の小さい順、正規化された座標値における原点に近い順などとすることができる。
なお、テンプレートの座標値にて配置位置が指定されていない構成要素については、例えば第1の実施の形態と同様に長方形の面積の大きいものから順に配置するようにすることができる。クラスタまたはセルの配置順を示すソート結果は、主メモリ12や処理装置11内のレジスタに一時的に格納される。
要素配置部32は、階層型データのクラスタまたはセルを、主メモリ12等から読み出されたソート部21によるソート順にしたがって、ディスプレイ空間に配置する。要素配置部32は、これらの構成要素を表す長方形の配置位置を次の判断基準に基づいて判断する。
[基準1]すでに配置されている長方形群とまったく重ならない位置。
[基準2]テンプレートに記述された参照位置との距離Dができるだけ小さい位置。
[基準3]当該長方形の配置による占有領域の拡大量Sができるだけ小さい位置。
このうち、[基準1]を必ず満たし、かつ[基準2][基準3]をできるだけ満たす位置を探索する。本実施の形態では、aD+bSの値が最小である位置(a、bはユーザにより定義される定数)を、[基準2][基準3]を最も満足する位置であるとみなす。a、bを適宜に設定することにより、[基準2]と[基準3]のどちらを重視するかを制御することができる。
また、要素配置部32は、長方形を配置できるような隙間を高速に探す処理を実現するために、第1の実施の形態の要素配置部22と同様に、Delaunay条件を満たす三角形による長方形の中心点を結ぶ三角メッシュを用いた処理を実行する。すなわち、Delaunay三角メッシュを参照して長方形の候補位置を有限個に絞込み、その中で最も良好な位置に長方形を配置する。
また、要素配置部32は、第1の実施の形態の要素配置部22と同様に、所定の階層のクラスタを配置する際に、当該クラスタを表す長方形とその内部に既に配置されている下位階層のクラスタまたはセルを表す長方形または正方形との相対的な位置関係を保存し、すなわちこれらの図形を合わせて1つの図形として扱い、配置を行う。
以上のようにして、第3の実施の形態では、第1の実施の形態において用いた手法に、テンプレートに記述された参照位置に近い位置という条件を加えて長方形の配置を行うこととなる。
配置制御部33は、ソート部31及び要素配置部32により階層型データの階層ごとに行われる長方形の配置処理を、下位階層から上位階層へと再帰的に繰り返して実行させることにより、階層型データ全体のグラフィックス・イメージを生成する。生成されたグラフィックス・イメージは、図1に示したビデオメモリ13に格納され、ディスプレイ装置14に表示される。
テンプレート保持部34は、要素配置部32による構成要素の配置に際して参照されるテンプレートを保持している。本実施の形態では、上述したように任意の規則にしたがってテンプレートを作成することにより、データ要素の位置に意味を持たせたり、類似する意味を持つデータに対して類似する配置結果を得たりすることが可能となる。このテンプレートの種類及び作成方法の詳細については後述する。
次に、上記構成に基づく階層型データのグラフィックス・イメージの生成処理について説明する。
本実施の形態では、まず配置領域の4頂点v、v、v、vの座標値を、(−1,−1)、(1,−1)、(1,1)、(−1,1)とする。これに対角線を1本引くことで、2個の三角メッシュ要素から構成される三角メッシュを生成する。これを本発明における三角メッシュの初期状態とする。以後、Delaunay条件を満たしながら三角メッシュを細かくしていく手法は、第1の実施の形態で説明した手法(図3、図4参照)と同様である。
次に、三角メッシュの内部領域に構成要素を表す長方形(以下、単に長方形と記す)を1個ずつ順番に配置する。上述したように、本実施の形態では、長方形の配置位置を指定するテンプレートの座標値に基づいて長方形の配置順が決められる。図21に示すように、長方形r、rがすでに配置されているとすると、この長方形r、rに対して隙間をあけずに、かつテンプレート座標値に近い位置に次の長方形を配置する。
本実施の形態では、テンプレート上の正規化された座標値にできるだけ近い三角メッシュ要素から順に抽出し、その三角メッシュ要素の内部に複数個の候補位置を設定する。そして、この候補位置に対して長方形の配置を試みる。これを抽出されたいくつかの三角メッシュ要素について反復して、[基準1]を満たしかつaD+bS値が最小である候補位置を特定し、その位置を長方形の配置場所に決定する。
図22は、長方形の配置位置を決定するための三角メッシュ要素の抽出方法を説明する図である。
図22に示すように、まず新しく配置する長方形のテンプレート上の座標値を内部に包括する三角メッシュ要素を特定する(図22(A)参照)。この三角メッシュ要素を出発点にして、隣接関係の幅優先探索によって三角メッシュ要素を抽出する(図22(B)参照)。そして、この抽出順にしたがって長方形の候補位置を算出する。三角メッシュ要素をテンプレート座標値から近い順に処理している関係上、aD値は処理が進むにつれて大きくなる傾向にある。そこで本実施の形態では、aD値がすでに記録されているaD+bS値の最小値を超えた時点で、反復処理を終了する。
図23は、抽出された1個の三角メッシュ要素に長方形を配置する候補位置を求める方法を説明する図である。
図23に示すように、長方形の配置候補位置を算出するために、まず三角メッシュ要素の頂点とその対辺を結ぶ線分を、一定のサンプリング間隔をおいて生成する。その線分上で、すでに配置された長方形と接する位置を、新しい長方形の中心点の候補位置とし、ここに長方形の配置を試みる。ある三角メッシュ要素の内部における候補位置がm個あるときに、本開示書では候補位置をc〜cと記述する。このとき、次のいずれかの処理を行う。
・長方形rの中心点vi+4を候補位置cに配置したとき、長方形rがすでに配置された他の長方形と重なるようであれば、候補位置cには長方形を配置しない。
・候補位置cにおけるaD+bSの値を算出する。Sの値には、長方形領域の面積や、4辺の長さの総計などを用いる。算出したaD+bSの値が、長方形rに対して算出されたすべての値の中で最小であれば、その値を(aD+bS)minとして記録する。それと同時に、候補位置cを位置cminとして記録する。
以上の処理を、三角メッシュ要素ごとに反復する。そして、反復を終了した時点で記録された位置cminに、長方形の中心点vi+4を配置する。
次に、長方形を配置するために配置領域を拡大する処理を説明する。
本実施の形態では、次の2つのケースにおいて、配置領域の4頂点v、v、v、vのいずれかを移動して、配置領域を拡大する。
1)上記の処理により決定した位置cminに配置した長方形rが、4頂点v、v、v、vによって構成される配置領域をはみ出しているとき。
2)位置cminがまったく記録されないとき。言い換えれば[基準1]を満たす候補位置がまったく見つからなかったとき。このときは領域を拡大した後に、候補位置の算出処理からやり直す。
図24は、上の2つのケースにおける配置領域の拡大方法を概略的に示す図である。
配置領域を拡大した場合は、テンプレート上における三角メッシュの頂点座標値を再度正規化する。
以上のようにして、テンプレートに基づく長方形配置によるグラフィックス・イメージの生成が行われるが、実際にグラフィックス・イメージを生成する場面では、配置しようとする長方形において、テンプレートに座標値が与えられている長方形と与えられていない長方形が混在する場合があり得る。例えば、
・生成されるグラフィックス・イメージに対するデザイン意図をテンプレートに反映させたとき、による位置指定のあるデータ要素と、位置指定のないデータ要素が混在していることがある。
・時系列データにおいて、直前の時点の配置結果をテンプレートとしたとき、新しく追加されたデータ要素の座標値はテンプレートには記述されていない。
以上のような状況で、テンプレートに座標値が記述されていないケースが考えられる。
この場合、
1.まず、テンプレートに座標値が記述されている長方形群を集めて、本実施の形態の手法によって配置を決定する。
2.続いて、テンプレートに座標値が記述されていない長方形群を集めて、第1の実施の形態に示したアルゴリズムによって、面積の大きい順に長方形の配置を決定する。
という手順によって、すべての長方形群の配置を決定する。
図25乃至図27を参照して、本実施の形態により長方形を配置する処理の流れについて説明する。図25は1個の階層を構成する長方形群の配置方法を説明するフローチャート、図26は長方形の配置位置の決定方法を説明するフローチャートである。また図27は、配置制御部33の制御により、階層型データのグラフィックス・イメージを生成する処理を説明するフローチャートである。
図25を参照すると、まず、ソート部31が、処理対象である階層データのうち、長方形の配置処理を行おうとする階層のデータを主メモリ12から読み込み、テンプレートに座標値が記述されている長方形を集めて、座標値を正規化する。そして、x座標値の小さい順や正規化された座標値における原点に近い順といった、データ要素(構成要素)の配置位置に基づく所定の基準にしたがって長方形をソートする(ステップ2501)。ソート結果は、主メモリ12や処理装置11のレジスタに一時的に格納され、要素配置部32により使用される。
次に、要素配置部32が、長方形(構成要素)の配置のために参照されるテンプレートをテンプレート保持部34から読み込んで、テンプレートに対応する配置領域の4頂点を用いて、三角メッシュを初期状態にする(ステップ2502)。そして、配置対象であるそれぞれの長方形rに対して、次の一連の処理を適用して配置を決定する(ステップ2503)。
まず、ソート部31によるソート順に応じて未配置の長方形を1個抽出し(ステップ2504)、図26を参照して後述する手順に従って、長方形の配置位置を決定する(ステップ2505)。そして、必要に応じて長方形領域の拡大を行い(ステップ2506)、さらに三角メッシュの更新を行った後、次の長方形の配置処理に進む(ステップ2507)。
処理対象である階層における全ての長方形が配置されたならば、処理を終了する(ステップ2503)。生成された当該階層のグラフィクス・イメージは、主メモリ12や処理装置11のレジスタに一時的に格納され、次の階層のグラフィックス・イメージを生成する際に用いられる。
次に、図26を参照して、ステップ2505で行われる長方形の配置位置の決定処理を説明する。
図25のステップ2504で抽出された長方形を配置するため、まず、テンプレートに記述された長方形rの座標値Wを内部に包括する三角メッシュ要素tを特定し、特定された三角メッシュ要素tをFIFOキューに登録する(ステップ2601)。そして、FIFOが空になるまで、次の一連の処理を繰り返す(ステップ2602)。
まず、FIFOキューから三角メッシュ要素tを取り出す。この三角メッシュ要素tに隣接する三角メッシュ要素のうちで、まだFIFOキューに未登録のものがあれば、それをFIFOキューに登録する(ステップ2603)。
次に、三角メッシュ要素tの内部に、候補位置c〜cを算出し、候補位置に長方形rの中心点vi+4を試験的に配置して、以下の判定を行う(ステップ2604)。
(a)候補位置ごとにaD+bSの値を求め(ステップ2605)、aD>(aD+bS)minかどうかを判断する(ステップ2606)。aD>(aD+bS)minであれば、(aD+bS)minを記録して反復処理を終了し、対応する位置cminに長方形rの中心点vi+4を配置することに決定して処理を終了する(ステップ2610)。
(b)aD>(aD+bS)minでない場合、すなわち、すでに配置されている長方形と重なる場合、次にaD+bSの値が最小かどうかを判断する(ステップ2607)。この値が最小であれば、その値を(aD+bS)minとして記録すると同時に、その候補位置を位置cminとして記録する(ステップ2608)。
全ての候補位置について判定を終了したならば、次の三角メッシュ要素を選択して処理を繰り返す(ステップ2609、2602、2603)。なお、ステップ2606の判断で、aD>(aD+bS)minでない場合に、その場所には長方形を配置できないと判断し、ステップ2607の判断を行わずにステップ2609に進むこととしても良い。
以上の処理を繰り返し、FIFOが空になったならば、(aD+bS)minを記録した位置cminに長方形rの中心点vi+4を配置することに決定して処理を終了する(ステップ2610)。
なお、他にテンプレートに座標値が記述されていない長方形が存在する場合は、その長方形を集めて、第1の実施の形態に開示したアルゴリズム(図7、8参照)で配置を決定する。
次に、図27を参照して、配置制御部33の制御による各階層の長方形を配置する処理を説明する。
まず、処理対象である階層データを主メモリ12から読み込み、最上位階層から出発して、幅優先探索で下位階層を探索し、探索順にスタックに登録する(ステップ2701)。そして、階層ごとにスタックに登録された階層データを、スタック登録とは逆順に1個ずつ選択し(ステップ2703)、図25、26に示した手順で、選択された階層を構成する長方形群を配置する(ステップ2704)。
上述したように、本処理は階層型データの下位階層から上位階層へ再帰的に実行されるため、所定の階層における長方形(クラスタ)を配置する場合、当該長方形内に、その下位階層の長方形がすでに配置されている。したがって、ステップ2704の処理が終了した後、配置された長方形のさらに下位階層の長方形群の位置を再算出しておく(ステップ2705)。
ステップ2703〜2705の処理を各階層に対して実行し、全ての階層で長方形の配置が決まったならば、配置結果であるグラフィックス・イメージをビデオメモリ13に格納し、ディスプレイ装置14にて出力する(ステップ2702、2706)。
次に、本実施の形態においてクラスタまたはセルの配置処理で用いられるテンプレートの作成方法について説明する。
本実施の形態の対象となるグラフィックス・イメージの生成において、時系列に沿って変化するデータに対してシームレスな視覚化結果を得たい場合がある。これに対して、グラフィックス・イメージを時間的な階層データの変化に応じて更新した場合に、更新前後における対応する構成要素の配置が大きく変わってしまうと、目的とするシームレスな視覚化結果を得ることができない。そこで、本実施の形態により、更新直前のグラフィックス・イメージをテンプレートとして新しいグラフィックス・イメージを生成する。図28は、かかるテンプレートを用いたグラフィックス・イメージの更新の様子を示す図である。図28を参照すると、更新前のグラフィックス・イメージ(図28(A))から作成されたテンプレート(図28(B))に基づいて更新後のグラフィックス・イメージ(図28(C))を作成することにより、更新前後で対応する構成要素については、ほぼ同じ位置に配置されることがわかる。これにより、更新前後でシームレスな視覚化結果を得ることができる。このようなシステムでは、プログラム制御された処理装置11の機能として、生成したグラフィックス・イメージにおける各階層での各構成要素の位置を読み取り、各配置領域における正規化座標に対応付けてテンプレートを作成するテンプレート作成手段を備えることとなる。作成されたテンプレートは、テンプレート保持部34に保存され、グラフィックス・イメージの更新時に使用される。
また、グラフィックス・イメージを所望するユーザ(以下、単にユーザ)が予め「これを画面の左上に」「これを画面の右下に」というようなデータ要素の位置関係に対するデザイン意図を持っており、これをできるだけ反映するような視覚化結果を得たい場合がある。この場合、本実施の形態により、ユーザによるデザイン意図に基づいて作成されたテンプレートを用いて、グラフィックス・イメージを生成する。図29は、かかるテンプレートを用いたグラフィックス・イメージの生成の様子を示す図である。図29を参照すると、ユーザによるデザイン(図29(A))に基づいてテンプレート(図29(B))を作成し、このテンプレートを用いてグラフィックス・イメージ(図29(C))を生成することにより、ユーザのデザイン意図(構成要素A、B、C、Dの概略位置)が反映されたグラフィックス・イメージが生成されることがわかる。このようなシステムでは、ユーザがデザインを手動記述するためのグラフィカルなユーザインターフェイスをディスプレイ装置14に表示し、キーボードやマウス等の入力デバイスからの入力を受け付けて、テンプレートを作成するテンプレート作成手段を、プログラム制御された処理装置11の機能として備えることとなる。作成されたテンプレートは、テンプレート保持部34に保存される。
さらに、ディスプレイ空間に対し、例えばアルファベット順に左から並べたり、新しい順に上から並べたりすることにより、データの意味を参照して、視覚化結果を得たい場合がある。この場合、データの意味を反映させ得る座標軸を定義し、本実施の形態により、かかる座標軸を用いたテンプレートとしてグラフィックス・イメージを生成する。図30は、かかるテンプレートを用いたグラフィックス・イメージの生成の様子を示す図である。図30を参照すると、英語のアルファベット順に上から下へ向かい(Alphabetical)、数字が大きくなるに伴って左から右へ向かう(Numerical)座標軸(図30(A))に基づいてテンプレート(図30(B))を作成し、このテンプレートを用いてグラフィックス・イメージ(図30(C))を生成することにより、配置位置においてデータの意味を反映させたグラフィックス・イメージが生成されることがわかる。このようなシステムでは、プログラム制御された処理装置11の機能として、所定の座標軸をテンプレートに変換するテンプレート作成手段を備えることとなる。作成されたテンプレートは、テンプレート保持部34に保存される。
図31は、所定の階層型データを本実施の形態によりグラフィックス表示した状態を示す図である。図31(B)は、図31(A)の階層データをわずかに変更し、テンプレートを用いずに(第1の実施の形態の手法で)再度グラフィックス表示した状態を示す図、図31(C)は、同様の条件で、図31(A)のグラフィックス・イメージをテンプレートとして再度グラフィックス表示した状態を示す図である。
図31(A)と図31(B)とを比較すると、データ構成は非常に類似しているにも関わらず、視覚的な印象が非常に異なる。一方、図31(C)は、図31(A)をテンプレートとしているので、視覚的にも極めて類似したグラフィックス・イメージとなっている。
図32は、所定のウェブページを、そのURLに基づいて階層型データとし、本実施の形態によりグラフィックス表示した状態を示す図である。図33は、図32の階層データをわずかに変更し、テンプレートを用いずに(第1の実施の形態の手法で)再度グラフィックス表示した状態を示す図、図34は、同様の条件で、図32のグラフィックス・イメージをテンプレートとして再度グラフィックス表示した状態を示す図である。
図32と図33とを比較すると、例えば実線で囲んだ範囲のクラスタの配置や破線で囲んだクラスタの位置が大きく異なっている。これに対し、図34は、同じデータがほぼ同じ位置に配置されていることがわかる。
本実施の形態では、階層型データを入れ子構造で表現すると共に、テンプレートを用いることにより各階層における構成要素(クラスタまたはセル)の配置を制御してグラフィックス・イメージを生成する手法について説明したが、第2の実施の形態で説明したように、所定の構成要素間をアークで接続することにより、階層構造を持ったグラフデータのグラフィックス表示にも本実施の形態を適用できることは言うまでもない。
なお、上述した各実施の形態では、生成されたグラフィックス・イメージをビデオメモリ13に格納した後、ディスプレイ装置14にて表示することとしているが、ビデオメモリ13に格納されたグラフィックス・イメージのデータをCAD(Computer Aided Design)システムなどで利用することもできる。
また、配置されるセルやクラスタに付加される情報に基づいて、当該セルを表す正方形やクラスタを表す長方形を色分けすることにより、各クラスタの持つ性格や特性を視覚化することが可能となる。
さらに、上述した実施の形態では、長方形の領域内に種々の大きさの長方形を配置する場合について説明したが、配置すべき構成要素の形状は長方形に限定するものではない。本実施の形態で提供される手法は、三角メッシュを用いて図形の配置位置の候補を選択し、選択された位置に実際に図形を配置して既に配置されている他の図形との干渉がないかどうかを確認した上で配置位置を決定している。したがって、長方形以外の図形を用いても、同様の過程を経ることにより、データの階層構造を入れ子構造で表現したグラフィックス・イメージを生成することが可能である。ただし、長方形を用いる場合に比べて、干渉の有無の計算や、三角メッシュを更新する際の配置された図形の中心点(あるいは、新たな三角形要素の頂点となりうる特定可能な点)を求める計算が複雑になるため、処理に要する時間が増加する。しかし、このようにすれば、各クラスタやセルが持つ性格や特性を、上述した色分けに加えて、当該セルやクラスタの形状によって表現することが可能となる。
また、本実施の形態のグラフィックス・イメージ生成装置に対し、図14においてアーク生成部24を追加したように、すでに生成されたグラフィックス・イメージに対してセルやクラスタを追加したり削除したりする手段を付加することもできる。この場合、構成要素の追加、削除を行う手段は、ユーザによる構成要素を追加する操作や所望の構成要素を削除する操作を受け付け、該当位置に正方形や長方形を追加し、または指定された正方形や長方形を削除する。削除する長方形に下位階層の構成要素が存在するときは、これも一緒に削除することもできるし、当該下位階層の構成要素を残して指定された長方形だけを削除することもできる(この場合、階層構造における当該階層のみが喪失することとなる)。そして、この正方形や長方形の削除によって同階層における正方形や長方形の位置関係が変化したならば、適当な規則(例えば正方形または長方形間に一定の引力と斥力とを作用させるような力学モデルなど)を適用して当該正方形や長方形の位置関係を調整する。
また、上記の実施の形態は、階層型データのグラフィックス・イメージを生成するものであるが、2階層の階層型データ(最下位階層のデータ要素(セル)と全てのデータ要素を内包する1つのクラスタからなるデータ)のグラフィックス・イメージを生成する場合、所定の領域内に所定の図形を効率的に配置する処理と等価となる。したがって、そのような要求のある技術分野(例えば、VLSIの基盤配置、衣類の型紙の配置、機械部品の板金上への配置などの分野)での応用も考えられる。この場合、通常は、決まった領域内に図形を最適に(無駄な隙間が最小となるように)配置する。したがって、この種の分野で要求されるのは、一般には、いかに無駄なく図形を配置するかという最適化の手法であり、処理に要する時間の短縮は重視されない。しかしながら、試行的な処理などで、配置結果が必ずしも最適でなくても良いから短時間で配置を行いたいといった受容があれば、本実施の形態による階層型データのグラフィックス・イメージの生成手法を適用することができる。
産業上の利用可能性
以上説明したように、本発明によれば、大規模な階層型データのグラフィックス・イメージを容易に生成することができる。
また、本発明によれば、所定の領域に任意の大きさの要素を効率的に配置する処理を高速に行うことができる。
【図面の簡単な説明】
第1図は、本発明の第1の実施の形態によるグラフィックス・イメージ生成装置としてのコンピュータシステムの構成を示す図、第2図は、本発明の第1の実施の形態によるグラフィックス・イメージ生成装置の構成を説明する図、第3図は、三角メッシュにおける三角形要素の外接円を示す図、第4図は、三角メッシュの三角形要素を隣接するダミー頂点の数で分類した様子を示す図、第5図は、長方形を配置する対象として選択された三角形要素に長方形を置く手法を説明する図、第6図は、長方形を配置するためにダミー頂点を移動して配置領域を拡大する処理を説明する図、第7図は、本実施の形態により、所定の階層のクラスタを配置する処理の全体を説明するフローチャート、第8図は、本実施の形態により、三角メッシュを用いて長方形を配置する手順を説明するフローチャート、第9図は、本実施の形態により三角メッシュを用いて長方形を配置していく様子を示す図、第10図は、本実施の形態による新たな長方形の配置に伴う三角メッシュの更新処理を説明する図、第11図は、本実施の形態により、階層型データのグラフィックス・イメージを生成する処理を説明するフローチャート、第12図は、本実施の形態により、階層型データの構成要素が階層ごとに配置され、グラフィクス・イメージが生成される様子を示す図、第13図は、ウェブページを、そのURL(Uniform Resource Locators)に基づいて階層型データとし、本実施の形態によりグラフィックス表示した状態を示す図、第14図は、本発明の第2の実施の形態による階層構造を持ったグラフデータのグラフィックス・イメージを生成するグラフィックス・イメージ生成装置の構成を説明する図、第15図は、アーク生成部により構成要素間にアークを生成する動作を説明するフローチャート、第16図は、ソート部、要素配置部及び配置制御部により生成されたグラフデータに対してアークが生成される様子を示す図、第17図は、図13に示したウェブページにおける幾つかのプロジェクトに関するページを表すクラスタにおいて、当該ページ間のリンク構造を示すアークを生成した状態を示す図、第18図は、本発明の第3の実施の形態で導入されるテンプレートの概念を示す図、第19図は、本実施の第3の実施の形態による階層データのグラフィックス・イメージを生成するグラフィックス・イメージ生成装置の構成を説明する図、第20図は、テンプレートに基づき配置領域の4頂点の座標値を正規化した状態を示す図、第21図は、本実施の形態における構成要素の配置の方法を説明する図、第22図は、長方形の配置位置を決定するための三角メッシュ要素の抽出方法を説明する図、第23図は、抽出された1個の三角メッシュ要素に長方形を配置する候補位置を求める方法を説明する図、第24図は、本実施の形態における配置領域の拡大方法を概略的に示す図、第25図は、1個の階層を構成する長方形群の配置方法を説明するフローチャート、第26図は、長方形の配置位置の決定方法を説明するフローチャート、第27図は、配置制御部の制御により、階層型データのグラフィックス・イメージを生成する処理を説明するフローチャート、第28図は、時系列に沿って変化する階層型データに対するテンプレートを用いたグラフィックス・イメージの更新の様子を示す図、第29図は、ユーザのデザイン意図を反映させたテンプレートを用いたグラフィックス・イメージの生成の様子を示す図、第30図は、所定の座標軸に基づくテンプレートを用いたグラフィックス・イメージの生成の様子を示す図、第31図は、所定の階層型データを本実施の形態によりグラフィックス表示した状態を示す図、第32図は、所定のウェブページを、そのURLに基づいて階層型データとし、本実施の形態によりグラフィックス表示した状態を示す図、第33図は、図32の階層データをわずかに変更し、テンプレートを用いずに再度グラフィックス表示した状態を示す図、第34図は、同様の条件で、図32のグラフィックス・イメージをテンプレートとして再度グラフィックス表示した状態を示す図、第35図は、わずかに異なる2種類の階層型データに対してテンプレートを用いずに生成されたグラフィックス・イメージの例を示す図、第36図は、従来の技術による階層型データの表示例を示す図である。

Claims (26)

  1. 階層型データに基づいて、所定の階層における当該階層型データの構成要素を表す図形領域に当該構成要素の下位階層の構成要素を表す図形を配置する要素配置手段と、
    前記要素配置手段による階層ごとの図形の配置を前記階層型データの下位階層から上位階層へ再帰的に実行させることにより前記階層型データのグラフィックス・イメージを生成する配置制御手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  2. 前記要素配置手段は、相互に関連する前記構成要素が近隣に位置するように図形の配置を行うことを特徴とする請求項1に記載のグラフィックス・イメージ生成装置。
  3. 前記要素配置手段は、所定の前記構成要素の配置を行う場合に、当該構成要素を表す図形と当該構成要素内に配置された下位階層の構成要素を表す図形を合わせて1つの図形として扱うことを特徴とする請求項1に記載のグラフィックス・イメージ生成装置。
  4. 前記階層型データにおける所定の階層を構成する前記構成要素に対し、当該構成要素間の関連性に基づいて当該構成要素をつなぐアークを生成するアーク生成手段をさらに備えることを特徴とする請求項1に記載のグラフィックス・イメージ生成装置。
  5. 前記図形領域内の位置を特定するテンプレートを保持するテンプレート保持手段をさらに備え、
    前記要素配置手段は、前記テンプレート保持手段に保持されている前記テンプレートに基づいて、図形の配置位置を決定し、当該図形を、配置することを特徴とする請求項1に記載のグラフィックス・イメージ生成装置。
  6. 前記テンプレートは、既に生成されたグラフィックス・イメージに基づいて作成されることを特徴とする請求項5に記載のグラフィックス・イメージ生成装置。
  7. 前記テンプレートは、所定の入力手段を用いて入力された構成要素の位置関係に関する情報に基づいて作成されることを特徴とする請求項5に記載のグラフィックス・イメージ生成装置。
  8. 前記テンプレートは、データの持つ意味を位置関係で表す所定の座標軸に基づいて作成されることを特徴とする請求項5に記載のグラフィックス・イメージ生成装置。
  9. 所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成装置において、
    配置しようとする図形データを図形の面積に基づいてソートするソート手段と、
    前記ソート手段によるソート順にしたがって、前記図形データに基づく図形を、前記領域の中央から周辺へ順次配置する要素配置手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  10. 前記ソート手段は、面積に基づいてソートした前記図形データの順番を、当該図形データ間に付与された関連性に基づいて修正し、
    前記要素配置手段は、関連する前記図形データどうしを近隣に位置させるように配置することを特徴とする請求項9に記載のグラフィックス・イメージ生成装置。
  11. 前記要素配置手段は、前記領域に、既に配置されている図形の中心点を頂点とする三角メッシュを生成し、当該三角メッシュの三角形要素の大きさに基づいて次に配置しようとする図形の配置位置を決定することを特徴とする請求項9に記載のグラフィックス・イメージ生成装置。
  12. 階層型データを入力し、当該階層型データの階層構造を2次元図形の入れ子構造で表現したグラフィックス・イメージのイメージデータを生成するグラフィックス・イメージ生成手段と、
    前記グラフィックス・イメージ生成手段により生成された前記階層型データのグラフィックス・イメージのイメージデータを格納する記憶手段と、
    前記記憶手段から前記イメージデータを読み出して表示する表示手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  13. 所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成装置において、
    既に生成されたグラフィックス・イメージに基づいて作成された図形の配置位置に関する情報を保持する位置情報保持手段と、
    前記位置情報保持手段に保持されている前記図形の配置位置に関する情報に基づいて、配置しようとする図形どうしが重ならないように、前記領域に当該図形を配置する要素配置手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  14. 所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成装置において、
    所定のデザイン情報に基づいて作成された図形の配置位置に関する情報を保持する位置情報保持手段と、
    前記位置情報保持手段に保持されている前記図形の配置位置に関する情報に基づいて、配置しようとする図形どうしが重ならないように、前記領域に当該図形を配置する要素配置手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  15. 所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成装置において、
    データの持つ意味を位置関係で表す所定の座標軸に基づいて作成された図形の配置位置に関する情報を保持する位置情報保持手段と、
    前記位置情報保持手段に保持されている前記図形の配置位置に関する情報に基づいて、配置しようとする図形どうしが重ならないように、前記領域に当該図形を配置する要素配置手段と
    を備えることを特徴とするグラフィックス・イメージ生成装置。
  16. コンピュータを制御して所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成方法において、
    図形データを格納した記憶装置から配置しようとする図形データを読み出して、図形の面積に基づいてソートし、ソート結果記憶手段に格納するステップと、
    前記領域に三角メッシュを生成するステップと、
    前記ソート結果記憶手段から前記図形データのソート順を読み出し、当該ソート順にしたがって前記図形データに基づく図形を順次配置対象とし、前記三角メッシュの三角形要素に基づいて前記図形の配置位置を決定し、当該配置位置に当該配置対象の図形を配置するステップと、
    前記領域に前記図形を配置して得られるグラフィックス・イメージをイメージデータ記憶手段に格納するステップと
    を含むことを特徴とするグラフィックス・イメージ生成方法。
  17. 前記図形を配置するステップは、
    前記三角形要素の大きさに基づいて図形の配置位置を決定するステップと、
    決定された前記配置位置に前記配置対象である図形を配置して、配置の可否の判断条件を満足するかどうかを判定するステップとを含み、
    前記判断条件を満足しない場合は前記2つのステップを再帰的に実行することを特徴とする請求項16に記載のグラフィックス・イメージ生成方法。
  18. 前記図形の配置位置を決定するステップは、前記三角メッシュの前記三角形要素を大きい順に選択し、前記配置対象である図形の配置位置とすることを特徴とする請求項17に記載のグラフィックス・イメージ生成方法。
  19. 前記図形の配置位置を決定するステップは、前記三角メッシュの前記三角形要素のうち、前記領域の頂点と一致する頂点の数が少ない三角形要素から順に、前記配置対象である図形の配置位置として選択することを特徴とする請求項18に記載のグラフィックス・イメージ生成方法。
  20. 前記図形を配置するステップは、前記図形が新たに配置された後に、新たに配置された当該図形における所定の点を新たな頂点として新たな三角形要素を生成することにより、前記三角メッシュを更新し、当該更新された三角メッシュに基づいて次の図形の配置位置を決定することを特徴とする請求項17に記載のグラフィックス・イメージ生成方法。
  21. コンピュータを制御して所定の領域内に図形を配置したグラフィックス・イメージを生成するグラフィックス・イメージ生成方法において、
    図形データを格納した記憶装置から配置しようとする図形データを読み出して、予め指定された図形の配置位置に基づく所定の規則に基づいてソートし、ソート結果記憶手段に格納するステップと、
    前記領域に三角メッシュを生成するステップと、
    前記ソート結果記憶手段から前記図形データのソート順を読み出し、当該ソート順にしたがって前記図形データに基づく図形を順次配置対象とし、予め指定された前記図形の配置位置及び前記三角メッシュの三角形要素に基づいて前記図形の配置位置を決定し、当該配置位置に当該配置対象の図形を配置するステップと、
    前記領域に前記図形を配置して得られるグラフィックス・イメージをイメージデータ記憶手段に格納するステップと
    を含むことを特徴とするグラフィックス・イメージ生成方法。
  22. コンピュータを制御して、グラフィックス・イメージを生成するプログラムであって、
    階層型データを入力し、当該階層型データの階層構造に基づいて、データ記憶手段に当該階層型データの構成要素をスタックする処理と、
    前記データ記憶手段にスタックされた前記構成要素を順次読み出して、当該構成要素を表す図形領域に当該構成要素の下位階層の構成要素を表す図形を配置する処理を、前記階層型データの下位階層から上位階層へ再帰的に実行する処理と、
    前記図形の配置を再帰的に実行することにより得られた前記階層型データのグラフィックス・イメージをイメージデータ記憶手段に格納する処理と
    を前記コンピュータに実行させることを特徴とするプログラム。
  23. 前記プログラムにおける前記図形領域に下位階層の構成要素を表す図形を配置する処理は、
    配置しようとする図形をその面積に基づいてソートし、ソート結果をソート結果記憶手段に格納する処理と、
    前記ソート結果記憶手段から読み出した前記ソート結果にしたがって、前記図形を順次配置する処理とを
    含むことを特徴とする請求項22に記載のプログラム。
  24. 前記プログラムにおける前記図形領域に下位階層の構成要素を表す図形を配置する処理は、
    前記構成要素間に付与された関連性を反映させて配置しようとする図形をソートし、ソート結果をソート結果記憶手段に格納する処理と、
    前記ソート結果記憶手段から読み出した前記ソート結果にしたがって、関連する前記構成要素を表す図形どうしを近隣に位置させるように前記図形を配置する処理とを
    含むことを特徴とする請求項22に記載のプログラム。
  25. 前記図形の配置を再帰的に実行することにより得られた前記階層型データのグラフィックス・イメージのうち、所定の階層を構成する前記構成要素を表す前記図形に対し、当該構成要素間の関連性に基づいてアークを生成する処理を前記コンピュータにさらに実行させることを特徴とする請求項22記載のプログラム。
  26. 前記プログラムにおける前記図形領域に下位階層の構成要素を表す図形を配置する処理では、前記図形領域内の位置を特定するテンプレートに基づいて、図形の配置位置を決定し、当該図形を配置することを特徴とする請求項22に記載のプログラム。
JP2003519885A 2001-08-01 2002-07-25 グラフィックス・イメージ生成装置、及びその方法並びにプログラム Expired - Fee Related JP4028844B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001233922 2001-08-01
JP2001233922 2001-08-01
PCT/JP2002/007575 WO2003015032A1 (fr) 2001-08-01 2002-07-25 Dispositif, procede, et logiciel de generation d'image graphique

Publications (2)

Publication Number Publication Date
JPWO2003015032A1 true JPWO2003015032A1 (ja) 2004-11-25
JP4028844B2 JP4028844B2 (ja) 2007-12-26

Family

ID=19065631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003519885A Expired - Fee Related JP4028844B2 (ja) 2001-08-01 2002-07-25 グラフィックス・イメージ生成装置、及びその方法並びにプログラム

Country Status (4)

Country Link
US (1) US7499045B2 (ja)
JP (1) JP4028844B2 (ja)
KR (1) KR100537574B1 (ja)
WO (1) WO2003015032A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060033737A1 (en) * 2004-08-16 2006-02-16 Old William M Methods and system for visualizing data sets
JP5063071B2 (ja) * 2006-02-14 2012-10-31 株式会社ニューフレアテクノロジー パタン作成方法及び荷電粒子ビーム描画装置
JP4769660B2 (ja) * 2006-08-10 2011-09-07 富士フイルム株式会社 情報表示方法、および装置
US8160984B2 (en) 2007-01-26 2012-04-17 Symphonyiri Group, Inc. Similarity matching of a competitor's products
US8504598B2 (en) 2007-01-26 2013-08-06 Information Resources, Inc. Data perturbation of non-unique values
US20090006788A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a flexible data hierarchy with an availability condition in a granting matrix
US9262503B2 (en) 2007-01-26 2016-02-16 Information Resources, Inc. Similarity matching of products based on multiple classification schemes
US20090006309A1 (en) 2007-01-26 2009-01-01 Herbert Dennis Hunt Cluster processing of an aggregated dataset
JP4296521B2 (ja) * 2007-02-13 2009-07-15 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
KR101006364B1 (ko) * 2008-05-09 2011-01-10 탑시스템 주식회사 리프트용 보조발판
US8890870B2 (en) * 2008-06-27 2014-11-18 Applied Minds, Llc System and method for visualizing relationships between objects
US7916295B2 (en) * 2008-09-03 2011-03-29 Macronix International Co., Ltd. Alignment mark and method of getting position reference for wafer
US9383916B2 (en) 2009-09-30 2016-07-05 Microsoft Technology Licensing, Llc Dynamic image presentation
US9182948B1 (en) * 2010-04-08 2015-11-10 Cadence Design Systems, Inc. Method and system for navigating hierarchical levels using graphical previews
JP5269050B2 (ja) * 2010-12-07 2013-08-21 シャープ株式会社 表示処理装置及び表示処理方法
US8627261B1 (en) * 2011-09-14 2014-01-07 Altera Corporation Method and apparatus for performing automatic decoupling capacitor selection for power distribution networks
JP6584076B2 (ja) * 2015-01-28 2019-10-02 キヤノン株式会社 情報処理装置、情報処理方法、コンピュータプログラム
JP6536247B2 (ja) * 2015-07-17 2019-07-03 日本精工株式会社 図面作成装置及び図面作成プログラム
JP6558219B2 (ja) * 2015-11-09 2019-08-14 日本精工株式会社 図面作成装置及び図面作成プログラム
EP3619600A4 (en) 2017-05-01 2020-10-21 Symbol Technologies, LLC METHOD AND APPARATUS FOR OBJECT STATE DETECTION
US11506483B2 (en) 2018-10-05 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for support structure depth determination
CA3028708A1 (en) 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories
JP2020184206A (ja) * 2019-05-08 2020-11-12 エヌ・ティ・ティ・コムウェア株式会社 描画支援装置、描画支援方法および描画支援プログラム
US11507103B2 (en) 2019-12-04 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for localization-based historical obstacle handling
US11822333B2 (en) 2020-03-30 2023-11-21 Zebra Technologies Corporation Method, system and apparatus for data capture illumination control
WO2022061027A1 (en) * 2020-09-16 2022-03-24 Figma, Inc. Interactive graphic design system to enable creation and use of variant component sets for interactive objects
US11593915B2 (en) * 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381523A (en) * 1992-04-06 1995-01-10 Fuji Xerox Co., Ltd. Document processing device using partial layout templates
US5619632A (en) 1994-09-14 1997-04-08 Xerox Corporation Displaying node-link structure with region of greater spacings and peripheral branches
JP3415409B2 (ja) 1996-10-02 2003-06-09 日本電信電話株式会社 階層構造の図的表示方法および装置および図的表示プログラムを記録した記録媒体
US5943679A (en) * 1996-10-30 1999-08-24 Xerox Corporation Multi-page document viewer having a focus image and recursively nested images of varying resolutions less than the resolution of the focus image
US5912668A (en) * 1997-05-30 1999-06-15 Sony Corporation Controlling a screen display of a group of images represented by a graphical object
JPH11250272A (ja) 1998-01-08 1999-09-17 Xerox Corp 自動イメ―ジレイアウト方法及びシステム
US6249902B1 (en) * 1998-01-09 2001-06-19 Silicon Perspective Corporation Design hierarchy-based placement

Also Published As

Publication number Publication date
WO2003015032A1 (fr) 2003-02-20
JP4028844B2 (ja) 2007-12-26
US7499045B2 (en) 2009-03-03
US20050237320A1 (en) 2005-10-27
KR20040018410A (ko) 2004-03-03
KR100537574B1 (ko) 2005-12-20

Similar Documents

Publication Publication Date Title
JP4028844B2 (ja) グラフィックス・イメージ生成装置、及びその方法並びにプログラム
JP4121125B2 (ja) グラフィックス・イメージ生成装置及びその方法、データ解析装置及びその方法並びにプログラム
JP4821000B2 (ja) オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム
CN105339931B (zh) 用于处理数据容器的方法和设备
JP4759743B2 (ja) オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム
JP3747404B2 (ja) グラフィックス・イメージ作成装置、及びその方法並びにプログラム
Itoh et al. Hierarchical data visualization using a fast rectangle-packing algorithm
CN102542093B (zh) 设计计算机辅助设计系统与数据库进行交互的会话中的建模对象的方法和系统
JP5062884B2 (ja) 画像検索装置、画像検索方法及びプログラム
JP2007157155A (ja) グラフィックスを処理する方法および装置
US11163915B2 (en) Three-dimensional modeled object
JP2016126794A (ja) 3dモデル化されたアセンブリ上で境界ボックスを生成すること
JP2003256855A (ja) グラフィックス・イメージ生成方法、これを用いたプログラム及び統計データ描画装置
US20110043525A1 (en) Drawing correction assisting apparatus, drawing correction assisting method, and storage medium
US6941528B2 (en) Use of a layout-optimization tool to increase the yield and reliability of VLSI designs
US11275870B2 (en) Designing an assembly of parts in a three-dimensional scene
US9483585B2 (en) Designing a staggered pattern of objects in a computer-aided design system
US10558770B1 (en) Finite element based direct modeling
KR102580062B1 (ko) 이미지 분할 방법 및 장치
JP4440246B2 (ja) 空間インデックス方法
JP2009265814A (ja) 情報提示装置、情報提示方法および情報提示用プログラム
JP4143370B2 (ja) リンク生成装置
JP2009169533A (ja) 画像配置データ生成装置及び画像配置データ生成方法
JPH11175573A (ja) 近接部品検索方法及び検索装置
JP2897541B2 (ja) 閉図形抽出方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070313

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071012

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees