JP2000155856A - ノ―ド―リンク構造のレンダリング空間へのマッピング方法 - Google Patents
ノ―ド―リンク構造のレンダリング空間へのマッピング方法Info
- Publication number
- JP2000155856A JP2000155856A JP11214492A JP21449299A JP2000155856A JP 2000155856 A JP2000155856 A JP 2000155856A JP 11214492 A JP11214492 A JP 11214492A JP 21449299 A JP21449299 A JP 21449299A JP 2000155856 A JP2000155856 A JP 2000155856A
- Authority
- JP
- Japan
- Prior art keywords
- node
- mapping
- box
- space
- mapped
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
きる技術を提供する。 【解決手段】 本技術は、構造内の開始要素を識別する
データを取得し(100)、レンダリング空間内の開始位置
に開始要素を配置し(102)、次にその構造の他の要素の
セットの個々に対して、負曲空間内の要素の位置をレン
ダリング空間内の位置にマッピングする。他の要素のセ
ットは、少なくとも開始要素の親と子を含み、セット内
の各要素は、そのセット内の要素のみを通るパスによっ
て開始要素から到達可能である。セット内の各要素の位
置をマッピングする際に本技術は、レンダリング空間内
の要素の位置を取得するために、その要素の負曲空間内
の先行要素との相対位置、及びレンダリング空間内の先
行要素の位置を使用する(104)。
Description
間(負曲空間)にレイアウトされた(割付けられた)ノ
ード−リンク構造を、ディスプレイ上に表示するため等
のレンダリング(描画/変換)空間にマッピングするこ
とに関する。
ージズ・アンド・コンピューティング誌(Journal of V
isual Languages and Computing)』、1996年、第7
号、33〜55頁に掲載されたランピング(Lamping, J.)
及びラオ(Rao, R.)による「双曲ブラウザ:大きな階
層を視覚化するための焦点+コンテキスト技術(The Hy
perbolic Browser: A Focus+Context Technique for Vi
sualizing Large Hierarchies)」は、階層を双曲平面
にレイアウトし、次にその平面をユニットディスク(単
位円)等のユークリッド表示領域にマッピングする技術
を開示している。最初は、ツリーが表示領域の中心又は
焦点にそのルートを有するが、他のノードに焦点を合わ
せるように表示をスムースに変形することが可能であ
る。焦点の変更は、例えば、ユニットディスクの中心に
マッピングされる位置に、新しい焦点を移動させる双曲
平面での変形等により、マッピングの焦点を双曲平面か
らユークリッド平面へ調整することによって実施される
ことができる。ランピング他は、米国特許第5,590,250
号で、類似のマッピング技術を開示しており、その技術
において変形はレイアウト空間内の位置で実行され、変
形された位置は次に、ディスプレイ上の位置を取得する
ためにマッピングされる。マッピングはルートノードか
ら開始され、再帰的に実行される。
ング言語)'95シンポジウム(カリフォルニア州サンデ
ィエゴ、1995年12月13日から16日)の会報(Proceeding
s ofthe VRML '95 Symposium)』、ACM SIGGR
APH(米国計算機学会コンピュータグラフィックス分
科会)、1995年、33〜38頁及び138頁に掲載されたマン
ツナー(Munzner, T.)及びバーチャード(Burchard,
P.)による「ワールドワイドウェブ構造の3次元の双曲
空間での視覚化(Visualizing the Structureof the Wo
rld Wide Web in 3D Hyperbolic Space)」は、グラフ
の微細なサブツリーを標準の双曲空間にレイアウトする
ことに基づく技術を開示している。多数の画像が存在す
るため、洗練されたディテール(詳細さ)の程度の選択
が、多様体内のビューを効率的に描画するために必要と
される。微細なサブツリーの選択は、ルートノードと、
ルートノード以外の各ノードの1つの入エッジ(枝)(in
coming edge)の選択と一致する。ルートノードからナ
ビゲーションし、全ての子をアタッチ(接続)すること
により取得されるツリーを取得すると、サブツリーは、
ツリーの走査順序を選択し、次に各グラフノードの最初
のコピーのみを保持することによって選択されることが
可能である。グラフィック表現が形成され、パブリック
ドメイン(公開ソフト)の3Dビューワ(データ参照ソ
フト)であるGeomviewにロードされる3Dデータファイ
ルに書込まれる。
空間にレイアウトされたノード−リンク構造を、それを
表示することが可能な2次元空間等のレンダリング空間
にマッピングする際の問題点を提示している。
術、及び負曲空間にレイアウトされたノード−リンク構
造のための他の従来のマッピング技術では、マッピング
は、有向グラフのルートノード又は有向グラフの最低レ
ベルのノード等の構造の固定の部分から開始される。し
かし、構造内の興味の対象がマッピングが開始される固
定の部分から遠い場合には、固定の部分付近の構造領域
は周辺的な興味対象に過ぎないため、ルートノード又は
他の固定の部分からのマッピングは非効率的であり得
る。更に、ルートから離れた位置の表現は、数字上の精
度を欠く恐れがあり、中心近くにマッピングされる場合
にノードの誤配置をもたらし得る。
から開始することによるマッピングの問題を、構造内の
任意の要素からマッピングを開始できる技術を提供する
ことにより緩和する。
始要素を識別するデータを取得する。この技術は次に、
レンダリング空間内の開始位置に開始要素を配置する。
次にこの技術は、その構造の他の要素のセットの個々に
対して、負曲空間内の要素の位置をレンダリング空間内
の位置にマッピングする。他の要素のセットは、少なく
とも開始要素の親と子を含み、セット内の各要素は、そ
のセット内の要素のみを通るパスによって開始要素から
到達可能である。セット内の各要素の位置をマッピング
する際に、この技術は、レンダリング空間内の要素の位
置を取得するために、その要素の負曲空間内の先行要素
との相対位置、及びレンダリング空間内の先行要素の位
置を使用する。
りも効率的なマッピングをもたらす開始ノードを識別す
ることが可能であるので有利である。例えば、ユーザは
表示領域の焦点に位置されるべきノードを選択し得る。
その結果、マッピングを常に構造の固定の部分から始め
る場合よりも効率的に行なうことが可能であり、アニメ
ーション等の短時間に繰り返しマッピングを必要とする
処理をより効率的に行なうことができる。
アウトを定義するデータが絶対位置を示すよりも寧ろ負
曲空間内の他のノードとの相対位置を示す場合に、特に
有利である。例えば、ノードの親との相対位置が示され
得る。相対位置データを用いることにより、計算は特に
効率的となり得る。
ッピングがルートノードから開始される場合に生じ得る
精度の問題を回避するので有利である。ルートノードと
対象となるノードとの間に非常に多くのジェネレーショ
ン(世代)が存在する場合、負曲空間内の対象ノードの
位置は不完全に明示され得る。
5,590,250号及び第5,619,632号で述べられた概念的構想
と共に読むと、本発明の広い範囲を理解する上で役に立
ち、以下に定義される用語は、特許請求の範囲を含む本
出願を通して示された意味を有する。
クとに区別できる項目を含み、各リンクが2つ以上のノ
ードに関係している構造である。「グラフ」は、各リン
クが2つのノードに関係しているノード−リンク構造で
ある。「有向グラフ」は、各リンクが関係するノード間
の方向を示し、一方のノードがリンクのソース又は「フ
ロムノード」であり、他方のノードがリンクの宛先又は
「ツーノード」であるグラフである。「非環式有向グラ
フ」は、リンクが、それらの示された方向に辿られたと
きに、任意のノードからそれ自体に戻るパスを提供しな
い有向グラフである。「ツリー」は、ツリー内の任意の
非ルートノードについて、リンクが、その示された方向
に辿られたときに、ルートノードで始まり非ルートノー
ドへと導く1つのパスだけを提供するような、1つのル
ートノードだけを有する非環式有向グラフである。
リンク関係」は、ノードのパス及び要素間のリンクに基
づく要素間の関係である。
の間のある種類のノード−リンク関係において、要素
は、そのセットに属さないマッピング可能な要素を一切
含まない、別の要素からその要素へのパスが少なくとも
1つ存在する場合、セット内の要素のみを通るパスによ
って別の要素から「到達可能」である。例えば、実行に
あたってノードの位置のみをマッピングする場合、要素
は、セットに属さないノードを一切含まないパスが存在
すると、セット内の要素のみを通るパスによって、別の
要素から到達可能である。
置と、無限の精度でそれがマッピングされる予定の位置
との差が、レンダリング空間の表示の解像度の近似値で
あるSよりも小さい場合、要素はレンダリング空間の領
域内に「十分な精度で」マッピングされることが可能で
ある。例えば、所定の計算処理の実施のために、マッピ
ング演算とマッピングされるべき位置を示す数字のセッ
トとが与えられ、マッピング演算が無限の精度を有する
位置で実行される場合、累積誤差がレンダリング空間の
ピクセル解像度よりも小さい場合のみ、マッピングは十
分な精度を有するであろう。
いう用語は、ユーザがノード−リンク構造のある部分に
他の部分よりも高い興味を持っていることを示す信号を
意味する。例えば「拡張信号」は、グラフのある要素の
表現が拡張されているグラフ表現を表示する要求を示
し、一方「収縮信号」は、グラフのある要素の表現が収
縮されているグラフ表現を表示する要求を示す。他の例
は、ノード−リンク構造の一部を特定の位置で表示する
要求を含み、それはブックマーク等を選択することによ
って、又は指し示されたフィーチャ(feature)を焦点
の中心へと移動することを要求するポイント及びクリッ
ク動作によって可能である。
トされたノード−リンク構造10が、親と子とを有する
要素から開始してどのようにレンダリング空間にマッピ
ングされ得るかを示す。
に、ノード22はマッピングのための開始要素として識
別される。ノード22は、多数の親ノードの1つであり
得る親ノード24と、多数の子ノードの1つであり得る
子ノード26とにリンクされる。
2はレンダリング空間内の開始位置32に配置される。
開始位置32は、2次元空間の起点に例示的に示される
が、あらゆる適切なレンダリング空間内の他のあらゆる
適切な位置であってよい。
素のセットのそれぞれは、レンダリング空間内の位置に
マッピングされることが可能である。ボックス40及び
50に示されるように、セットは親ノード24及び子ノ
ード26を含む。更に、セットは他の要素を含むことが
でき、各要素は上述のとおり、セット内の要素のみを通
るパスによってノード22から到達可能である。ボック
ス20に示されるように、ノードのみがマッピングされ
ているため、或いはリンクもマッピングされている場合
には要素のセットがノード22から親ノード24及び子
ノード26へのリンクも含むため、ノード22からそれ
らへのパスは他のマッピング可能な要素を全く含まない
ので、親ノード24及び子ノード26はそれぞれ上述さ
れたようなパスにより到達可能である。
の要素の位置を取得するために、その要素のノード22
からのパス内の先行要素との相対位置と、レンダリング
空間内の先行要素の位置とを使用することによりマッピ
ングされる。例えば、ノードのみがマッピングされる場
合、ノードの先行要素はそのパス内の先行ノードであ
る。この場合、親ノード24及び子ノード26の両方の
先行ノードはノード22である。ボックス42に示され
るように、親ノード24は位置44にマッピングされ、
ボックス52に示されるように、子ノード26は位置5
4にマッピングされる。
は、負曲率を有する空間にレイアウトされたノード−リ
ンク構造内の開始要素を識別するデータを取得すること
により開始される。例えば、開始要素は対象ノードとし
てユーザにより指示され、処理ボックス100での処理
は、ノードの識別子を取得することによってそのノード
を示すユーザ信号に応答することが可能である。
素をレンダリング空間内の開始位置に配置する。例え
ば、レンダリング空間が表示領域である場合、開始位置
は表示領域の焦点であり得る。
素の少なくとも1つの親と少なくとも1つの子とを含
む、要素のセットの個々へのマッピングを実行する。即
ち、開始要素は、有向グラフのルート又は有向グラフの
最低レベルのノードであるよりも寧ろ、少なくとも1つ
の親と少なくとも1つの子とを構造内に有する。セット
内の各要素をレンダリング空間内の位置にマッピングす
る際に、処理ボックス104の処理は、セット内の要素
のみを通る開始要素からのパス内の先行要素とその要素
との相対位置を使用する。また、処理ボックス104の
処理は、レンダリング空間内の先行要素の位置も使用す
る。
4からユーザ信号を示すデータを受信すると共にディス
プレイ156に画像を定義するデータを供給するために
接続された、プロセッサ152を含む。プロセッサ15
2は、ノード−リンクデータ158にアクセスするため
にも接続されており、ノード−リンクデータ158は、
負曲率を有する空間にレイアウトされたノード−リンク
構造の少なくとも一部を定義する。プロセッサ152
は、例えば、メモリ164、記憶媒体アクセス装置16
6、又はネットワーク168への接続から受信した命令
を供給できる命令入力回路162を介して、命令を示す
命令データ160を受信するためにも接続されている。
行する際に、プロセッサ152はノード−リンク構造内
の開始要素の識別子を取得する。例えば、プロセッサ1
52は、選択された要素を示すユーザ入力回路154か
らユーザ信号を受信することができ、また開始要素とし
て機能するその選択された要素の識別子を取得すること
ができる。プロセッサ152は、レンダリング空間内の
開始位置に開始要素を配置する。次にプロセッサ152
は、構造内の他の要素のセットのそれぞれごとに、負曲
空間内の要素の位置をレンダリング空間内の位置にマッ
ピングする。他の要素のセットは、開始要素の少なくと
も1つの親と少なくとも1つの子とを含む。セット内の
各要素のマッピングに際して、プロセッサ152は、セ
ット内の要素のみを通る開始要素からのパス内の先行要
素とその要素との相対位置を使用する。また、プロセッ
サ152は、レンダリング空間内の先行要素の位置も使
用する。また、プロセッサ152は、ディスプレイ15
6にノード−リンク構造の表現を表示するためにレンダ
リング空間内の要素の位置を使用してもよい。
2が命令を示すデータを受信し得る3つの可能なソー
ス、即ちメモリ164、記憶媒体アクセス装置166、
及びネットワーク168を示している。
(RAM)又は読取り専用メモリ(ROM)を含む、装
置150内の任意の従来のメモリか、又は任意の種類の
周辺又は遠隔メモリ装置であってよい。より一般には、
メモリ164は複数の種類のメモリ構成要素の組み合わ
せであってよい。
組の1つ以上のテープ、ディスケット、又はフロッピー
ディスクのような磁気媒体、1組の1つ以上のCD−R
OMのような光学媒体、又はデータを格納するための任
意の他の適切な媒体であり得る記憶媒体170にアクセ
スするための、ドライブ又は他の適切な装置又は回路で
あってよい。記憶媒体170は、装置150の一部、サ
ーバの一部、他の周辺又は遠隔メモリ装置、又はソフト
ウェア製品であってよい。これらの場合のそれぞれで、
記憶媒体170は装置150内に用いることができる1
つの製造品である。記憶媒体170の上にデータユニッ
トを配置して、記憶媒体アクセス装置166がデータユ
ニットにアクセスしてそれらを命令入力回路162を介
してプロセッサ152にシーケンスで供給できるように
することが可能である。データユニットは、シーケンス
で供給されると、図示されるように命令を示す命令デー
タ160を形成する。
信した命令データ160を供給できる。装置180内の
プロセッサ182は、ネットワーク168を渡ってネッ
トワーク接続回路184及び命令入力回路162を介し
て、プロセッサ152との接続を確立できる。どちらの
プロセッサが接続を開始してもよく、接続は任意の適切
なプロトコルで確立されてよい。次に、プロセッサ18
2はメモリ186に格納されている命令データにアクセ
スして命令データをネットワーク168を渡ってプロセ
ッサ152に転送できるので、プロセッサ152はネッ
トワーク168から命令データ160を受信できる。次
に、命令データ160は、プロセッサ152によってメ
モリ164又はどこかに格納され、実行されることが可
能である。
リンク構造をレンダリング空間にマッピングするための
多くの方法で様々な装置上で実施されてよい。以下に述
べる実施例は、マイクロソフトウインドウズ(Microsoft
Windows)の32ビット版を走らせ、C++言語ソースコー
ドからコンパイルされたコードを実行する、PCに基づ
くシステム上で実施されたものである。
するためのディスプレイ204、及びユーザから信号を
供給するためのマウス208及びキーボード206に接
続された、PCプロセッサ202を含む。PCプロセッ
サ202は、メモリ210及びクライアント212にア
クセスできるようにも接続されている。メモリ210
は、例示されているように、プログラムメモリ214及
びデータメモリ216を含むことができる。クライアン
ト212は、メモリ210に格納されたルーチン及びデ
ータの組合せか、又は示されるようにメモリ210から
独立していてよい、有向グラフに関する情報のソースで
ある。例えば、プロセッサ202はネットワークを介し
てクライアント212と通信してもよい。
ルーチンは、幾つかの機能にグループ化できる。グラフ
ァルーチン220は、クライアント212からの情報に
よって定義される有向グラフを表わすデータ構造を生成
及び変更する。ウォーカルーチン222は、有向グラフ
データ構造から情報を入手することによって、キーボー
ド206及びマウス208からのナビゲーション信号及
び他のユーザ信号に応答する。ペインタルーチン224
は、ディスプレイ204に信号を提供して有向グラフデ
ータ構造の表現を表示させる。数学ルーチン226は、
レイアウト空間内の有向グラフの要素の位置を得るため
に呼出されることができる。
メモリ214内のルーチンの実行中にプロセッサ202
によってアクセスされるデータ構造を収容する。有向グ
ラフデータ構造230は、上述のように、グラファルー
チン220によって生成及び変更され得ると共に、ウォ
ーカルーチン222及びペインタルーチン224によっ
てアクセスされ得る。
れ得る又は含まれ得るノード位置データ232は、双曲
平面のような負曲空間内、及び2次元ユニットディスク
のようなレンダリング空間内のノードの位置を含むこと
ができる。ノード位置データ232はプログラムメモリ
214内のルーチンによってアクセスされ得る。
種々の雑データ構造234にもアクセスできる。データ
構造234は、例えば、標準ヒープとして実施される、
1対のノードIDからリンクIDへのマッピングのため
の予備データ構造を含んでもよい。即ち、この予備デー
タ構造は、リンク数の対数である時間内のリンクIDの
検索及び挿入を可能にする。
フの表現を表示することによってイベントに応答できる
かを示している。
12は、開始グラフを入手すると共に、例えばノード生
成の呼出しを介して、要素の初期セットをメモリにロー
ドすることによって開始する。拡張フラグは要素の初期
セット内のツリーを定義する。クライアント212は、
双曲平面にツリーをレイアウトし、ツリーを双曲平面か
らユニットディスクへと、ルートノードをディスクの中
心においてマッピングし、マッピングされたツリーをペ
イントし、二重バッファをスワッピングすることによっ
てペイントされたバージョンをディスプレイ204に表
示することを、全て処理ボックス300で行うために、
メモリ214内のルーチンに対する適切な呼出しも行
う。
12はグラフに関係するイベントを受信する。イベント
はナビゲーション信号、編集信号、又はユーザからの他
のタイプの信号から生じ得る。或いは、イベントはシス
テム200の内部又は外部いずれかの他のソースから受
信されてもよい。いずれにせよ、イベントはクライアン
ト212内から、メモリ214内のルーチンの1つか
ら、又はプロセッサ202によって実行される他の命令
からの呼出しの形態をとり得る。一連の受信されたイベ
ントは、処理ボックス302がキューからのイベントの
取り出しを含み得るように、キューの中に保持され得
る。
に応答して、クライアント212は、メモリ214内の
ルーチンに対して1つ以上の呼出しを行うことによっ
て、適切な応答を開始する。判断ボックス304によっ
て示されるように、応答はイベントのタイプによるの
で、イベントに基づいてブランチが選択される。
ント、ストレッチイベント、又はドラッグイベントのよ
うな、非アニメーションイベントであってもよい。オリ
エンテーションイベントは、ユーザがルートノードに対
して新たなオリエンテーションを示したときに生じ得
る。ストレッチイベントは、ユーザが表示されている表
現に対して新たなストレッチファクタを示したときに生
じ得る。ドラッグイベントは、例えば、ユーザが、マウ
スダウン(マウスボタンを押したまま)クリック等によ
って表現内の位置を選択し、適切なジェスチャ又は他の
信号によってその位置の移動を要求したときに生じ得
る。
12は、イベントへの応答に必要な任意の情報を入手す
ることによって、非アニメーションイベントに対する応
答を開始する。オリエンテーションイベントについて
は、処理ボックス310で入手された情報が新たなオリ
エンテーションを含むことができる。ストレッチイベン
トについては、処理ボックス310で入手された情報が
新たなストレッチファクタを含むことができる。
ス310での情報の入手は幾分複雑さが増す。クライア
ント212は、選択位置から最も近いノードのノード識
別子(ノードID)を入手してもよく、また、要求され
た動きに関する情報を入手してもよい。情報のこれらの
項目は、米国特許第5,590,250号のコラム71−72及
び図14に関係して記載されている「最も近いノードを
探索」という関数(機能)によって説明されているのと
ほぼ同じ方法で入手してもよい。
で必要な情報を入手したら、クライアント212はレイ
アウト、マッピング及びペイントのためのウォーカルー
チン222及びペインタルーチン224に対する適切な
呼出しで締めくくることができる。オリエンテーション
イベントについては、ルートノードは新たなオリエンテ
ーションでレイアウトされなくてはならない。ストレッ
チイベント又はドラッグイベントについてはレイアウト
は必要ない。しかしながら、ストレッチイベントについ
ては、ウォーカルーチン222に対する呼び出しが、マ
ッピングに用いるための新たなストレッチファクタを含
まなければならない。同様に、ドラッグイベントについ
ては、ウォーカルーチン222に対する呼び出しが、マ
ッピングに用いるための最も近いノードのノードID及
び動きのパスに沿った次の位置を含まなければならな
い。
ン222は、まず、双曲平面内に任意の必要なレイアウ
トを行ってもよく、また、ツリーの任意の保留中の編集
をレイアウトしてもよい。次に、処理ボックス314で
は、ウォーカルーチン222は、開始ノードを開始位置
において開始して、ツリーをユニットディスクにマッピ
ングしてもよい。例えば、ドラッグイベントに応答し
て、開始ノードは処理ボックス310で識別された最も
近いノードであってよく、開始位置は動きのパスに沿っ
た次の位置であってよい。前にマッピングに用いられた
開始ノード及び開始位置を、オリエンテーション又はス
トレッチイベントに応答して用いてもよい。
ス316で、マッピングされたツリーを表示バッファに
ペイントするためにペインタルーチン224を呼出すこ
とができる。ペイント中、ペインタルーチン224はノ
ード生成の結果ツリー内で生じる新たな編集をマーキン
グできる。各編集は、フラグを設定することによって又
は他の適切なデータを格納することによってマーキング
できる。ペイントが完了すると、ペイントされたように
ツリーを表示するために表示バッファのスワッピングを
行うことができ、グラフの表現が供給される。
非アニメーションイベントとして実施される。オリエン
テーションイベントに応答して、表現は新たなオリエン
テーションに、典型的には表示領域の焦点にあるノード
の周りを、旋回する。同様に、ストレッチイベントに応
答して、表現は半径方向に、典型的には焦点にあるノー
ドの周りで、拡張又は収縮する。ドラッグイベントに応
答して、表現は入力信号によって決定されたレートで移
動する。しかしながら、クライアント212は、オリエ
ンテーションイベント、ストレッチイベント、又はドラ
ッグイベントに対して、要求された変更を同等のより小
さなイベントのシーケンスに変換し、処理ボックス31
0で、1つの呼出しが個々のより小さなイベントに対す
る一連の呼出しを発することによって、アニメーション
化された応答を供給してもよい。
ン化して扱われる2つの異なるタイプのイベントに対す
る応答も示している。第1のタイプはブックマーク又は
クリックイベントであり、それに応答して、アニメーシ
ョンシーケンス中に1つのノードの位置が移動され、他
の要素がその1つのノードの動きに合わせて移動する。
第2のタイプは挿入/削除イベントであり、それに応答
して、ある要素が収縮され別の要素が拡張されるアニメ
ーションシーケンス中に、1つのノードは安定したまま
であるが、他の要素は収縮及び拡張に合わせて移動す
る。
ーザがメニュー又は他のブックマークの集合の中の項目
を選択したとき、又はマウスダウンアップ(マウスボタ
ンを押して放す)クリックで表現内の位置を選択したと
きに生じ得る。このタイプのイベントに応答して、クラ
イアント212はノードID及びユニットディスク内の
宛先位置を入手する。ブックマークイベントの場合は、
ノードID及び宛先位置は以前に格納されており、メモ
リから検索できる。クリックイベントの場合は、クライ
アント212は、米国特許第5,590,250号のコラム71
−72に関係して記載されている「最も近いノードを探
索」という関数(機能)とほぼ同じ方法で、選択位置か
ら最も近いノードのノードIDを入手してもよく、宛先
はユニットディスクの中心のようなデフォルト位置であ
ってよい。
12はウォーカルーチン222をノードID及び宛先位
置で呼出してもよい。ウォーカルーチン222は、ノー
ドが前の位置から宛先位置へと移動する表現のシーケン
スを表示するためのアニメーションループを実行するこ
とによって応答できる。処理ボックス320では、ウォ
ーカルーチン222は、個々がノードID及びユニット
ディスク内の位置を含むノード/位置の対のシーケンス
をセットアップすることによって開始する。位置は、米
国特許第5,619,632号の図12のボックス470、47
2、及び482に記載されているように、前の位置から
宛先位置への総トランスレーション(移動路)を入手し
て、次に総トランスレーションのn番目のルートを入手
して現在のトランスレーションと共に構成することを繰
り返すことによって入手できる。ノード/位置の対の数
は、アニメーション表示中に構造の要素を表わすフィー
チャがオブジェクト不変性を維持しながら、前の位置か
ら宛先位置への滑らかなアニメーションを確保するため
に、十分に大きくできる。n番目ルートの方法の代わり
に、前の位置から宛先位置へと双曲平面内で適切に選択
された弧に沿って適切な数の点を選択することによっ
て、位置を入手してもよい。弧は、不自然に見え得る直
線と、n番目ルートの方法でノードがとったであろう、
滑らかに見えるには過度のアニメーションステップ数を
必要とし得る弧との間を折衷するように選択されてもよ
い。点の数は、満足なアニメーションを確保するように
選択されてもよい。
ックス322で示されるように、シーケンス中のノード
/位置の各対についてアニメーションループを反復す
る。処理ボックス324では、ウォーカルーチン222
は、処理ボックス312に関係して上述したように、ま
ず双曲平面にツリーの任意の保留中の編集をレイアウト
してもよい。次に、処理ボックス326では、ウォーカ
ルーチン222は、処理ボックス314に関係して上述
したように、ツリーをユニットディスクに、次のノード
/位置の対からのノード及び位置を開始ノード及び開始
位置として開始して、マッピングしてもよい。
ス328でマッピングされたツリーを表示バッファにペ
イントするためにペインタルーチン224を呼出すこと
ができる。ペイント中、ペインタルーチン224は、処
理ボックス316に関連して上述されたように、ノード
生成の結果ツリー内で生じる新たな編集をマーキングで
きる。ペイントが完了したら、ツリーをペイントされた
ように表示するために表示バッファのスワッピングを実
行して、グラフの表現を提供することができる。
24によって新たな編集がマーキングされると、次の反
復中、処理ボックス324で、新たな編集がレイアウト
される。その結果、表現のアニメーション化されたシー
ケンスは、米国特許第5,629,632号のように静的ノード
−リンク構造を示すのではなく、動的ノード−リンク構
造を示す。しかしながら、この編集は、基本的には、表
現が前の位置から宛先位置へと遷移するときに表現の外
周に沿って新たなノードを表わすフィーチャを追加する
ために働く。その結果、追加されたフィーチャは、他の
要素を表わすフィーチャについてのオブジェクト不変性
の知覚を妨害又は低下させない。
拡張又は収縮を要求したときに、又はグラフ又はツリー
の何か他の変更を要求したときに生じ得る。挿入/削除
イベントは、呼出しの形態でも受信されてもよく、従っ
て、人の手による制御を並行させないグラフ又はツリー
の自動変更のための機構を提供してもよい。
アント212は、処理ボックス330で、要求されたグ
ラフ又はツリーの変更が許容可能か否かを決定するため
に、まずメモリ214内のルーチンに対する適切な呼出
しを行うことができる。
可能な場合は、それに従って、クライアント212は、
必要に応じてメモリ214内のルーチンを呼出して、グ
ラフ又はツリーを変更できる。変更を行うプロセスで
は、変更によって挿入、削除、又は変化させられ得る、
本明細書では「影響された要素」と呼ぶ各要素が、フラ
グの設定又は他の適切なデータの格納等によってマーキ
ングされる。あるノードが拡張信号又は収縮信号によっ
て選択された場合は、その親に割当てられた領域が変化
し得るので、その親も影響されたノードである。他の挿
入/削除イベントのほとんどについては、挿入又は削除
されたノードだけが影響される。クライアント212
は、あるノードが、変更のアニメーション表示中もその
ノードの前の位置に保持される、安定ノードとして選択
できる。
開始ノードを安定ノードとして選択することができ、そ
のノードを前の開始位置に保持することができる。他の
場合には、クライアント212にとって、異なる安定ノ
ードの選択が望ましいことがある。例えば、拡張されて
いるノードを、現在の位置に保持される安定ノードとし
て選択してもよく、従ってそのノードが新たな開始位置
となる。従って、クライアント212が異なる安定ノー
ドを選択しない限り、通常は前の開始ノード及び開始位
置が保たれる。しかし、前の開始ノードが削除されてい
る場合は、他のノードがクライアント212によって変
更されるデフォルト安定ノードとして選択されなければ
ならない。
及びマッピング中のツリー内に削除後も残る最も近い祖
先のノードIDでウォーカルーチン222を呼出すこと
ができる。この祖先は、削除中のノードから現在の挿入
/削除イベントによって削除されていない祖先に到達す
るまで上向きに巡回する(walk)ことによって、見つける
ことができる。
222は、削除中のノードが前の開始ノードか否かをテ
ストできる。そうである場合は、識別された祖先を、開
始ノードとして、削除中のノードと置換するために選択
することができる。祖先が表示されている位置に最近マ
ッピングされたものであり、それが使用可能な位置であ
る場合は、その位置を開始位置として選択できる。祖先
が最近マッピングされたものではない、又は、表示され
ない位置又は現在他の要素がマッピングされているため
に使用不可能な位置にマッピングされたものである場合
は、開始位置をユニットディスクの中心にすることがで
きる。
12は安定ノードのID及び位置でウォーカルーチン2
22を呼出してもよい。ウォーカルーチン222は、ま
ず削除されたノードが前の位置で収縮され、次に挿入さ
れたノードが新たな位置で拡張され、その間ずっと、安
定ノードは前の位置に保持されるという、表現のシーケ
ンスを表示するアニメーションループを実行することに
よって応答できる。安定ノードが、最近マッピングされ
たものではない、又は表示されない位置又は使用不可能
な位置にマッピングされたものであるので前の位置に保
持できない場合は、前の開始ノードが前の開始位置にあ
る状態で、削除されたノードが収縮された後に、安定ノ
ードをその位置に移動することができ、その結果、収縮
と拡張との間の突然の動きが生じる。ウォーカルーチン
222は、収縮及び拡張中、影響された各ノードに割当
てられた領域が変化するレートを支配する、重みのシー
ケンスをセットアップすることによって開始する。重み
は、アニメーション表示中のオブジェクト不変性を保つ
ために、十分に小さい増分で区分されている。
ックス332で示されるように、シーケンス中の各重み
についてアニメーションループを反復する。処理ボック
ス334では、ウォーカルーチン222は、反復の重み
を用いて、まず双曲平面に影響されたノード及びツリー
の任意の保留中の編集をレイアウトしてもよい。次に、
処理ボックス336では、ウォーカルーチン222は、
処理ボックス314に関係して上述されたように、ツリ
ーをユニットディスクに、安定ノード及び位置で開始し
て、マッピングしてもよい。
ス338で、マッピングされたツリーを表示バッファに
ペイントするために、ペインタルーチン224を呼出す
ことができる。ペイント中、ペインタルーチン224
は、処理ボックス316及び328に関係して上述され
たように、ノード生成の結果ツリー内で生じる新たな編
集をマーキングできる。ペイントが完了したら、ツリー
をペイントされたように表示するために表示バッファの
スワッピングを実行して、グラフの表現を提供すること
ができる。
断ボックス332で開始するアニメーションループの一
連の反復は、削除及び/又は挿入による動的ノード−リ
ンク構造の表現を生成する。更に、影響された要素は、
削除及び挿入の前の位置から新たな位置へと移動する。
この技術は、これらの動きの間のオブジェクト不変性を
生み出すために、うまく実現された。
後、又は判断ボックス322又は332でアニメーショ
ンシーケンスが完了した後、図5の「A」と表示された
円によって示されるように、処理ボックス302で別の
イベントを受信できる。
6及び336でマッピングがどのように実行され得るか
を示す。処理ボックス350に示されるように、マッピ
ングは、開始ノードのノードIDとレンダリング空間内
の開始位置とを含む呼出しを受信すると開始される。
その上にマッピングされ得るユニットディスクの変形さ
れた表現を示す図7から理解されることができる。ユニ
ットディスクの周辺近傍領域は、拡張されなければ識別
不可能なノードの位置を示すように拡張される。
ic horizon)により境界を定められ、双曲限界は、双曲
平面のマッピングの漸近限界と考えることができる。開
始ノード402は例示的にユニットディスクの中心にマ
ッピングされており、従って、開始ノード402がユニ
ットディスク内で最大のディテールを有する双曲平面の
部分となる。しかし、開始ノード402は、ユニットデ
ィスク上の任意の位置にマッピングされてよい。
には、可視限界404及び高精度限界406の他の2つ
の限界が存在する。可視限界404の外側のノードは、
図5の処理ボックス316、328又は338ではペイ
ントされず、従ってユーザには見えない。以下で説明さ
れるように、高精度限界406は、マッピング時の精度
の問題を回避するのに役立つ。このような問題は、例示
されるようにルートノード410が開始ノード402の
何世代も上に存在することが可能なために生じ得る。
は、処理ボックス352で先ずツリーのパスを開始ノー
ド402からルートノード410まで上に辿る。この移
動の間、この技術は、パス内の各ノードのノードIDを
スタックに入れる。その後、処理ボックス354で、こ
の技術はパスを逆に辿って開始ノード402まで戻るた
めにスタックを使用する。この下方への移動では、この
技術はルートノード410の元のオリエンテーション
(向き)及び位置で開始され、パスに沿って各子ノード
のオリエンテーション及び位置を取得する。
明細書では「D角(DAngle)」と呼ばれる子の入角差
(incoming difference angle)とを組み合わせること
から、子のオリエンテーションの取得を開始することが
できる。子のノードのD角は、その親の入リンクの延長
部分と、親から子への出リンクとの間の差であり得る。
オリエンテーション又は角度である2つの値を組み合わ
せるために、本明細書に参照として援用する米国特許第
5,590,250号の67及び68コラムに示される「方向回
転(rotate-direction)」関数に類似した関数が使用さ
れ得る。本明細書では「RotateDirection」と呼ばれ、
以下で説明されるような他の目的のためにも使用される
この関数は、ユニットディスク周辺上の点の座標(x,
y)により示される方向で角度θと共に開始され、座標
(xcosθ−ysinθ,ycosθ+xsinθ)である新しい方向
を取得する。
nが、方向(x,y)で表わされる各ノードのオリエン
テーション及びノードの子のD角θと共に呼出される。
RotateDirectionは、上述の計算に基づき、方向として
表わされる組み合わされたオリエンテーションを戻す。
米国特許第5,590,250号のコラム67及び68に示され
る「方向へ移動(move-in-direction)」関数に類似し
た関数を使用して探索され得る。本明細書では「MoveIn
Direction」と呼ばれ、以下で説明されるような他の目
的のためにも使用されるこの関数は、双曲平面内の位置
(「pt」)で開始され、新しい位置(「newpt」)及び
新しい方向(「newdir」)を取得するために、ある距離
(「dist」)の間、ある方向(「dir」)に移動する。p
t、dir、newpt、及びnewdirの値は、複素数で表わされ
る。
を取得するために乗算(dir×dist)により実施され得
る。次にnewptの値が、和(vec+pt)を、(1,0)及
びvecとptの共役関数との積の和により除算することに
より取得され得る。次に、newdirの値が2段階で取得さ
れることができる。第1段階で、一時的数値変数(「tem
p」)の値が、和(dir+pt)を、(1,0)及びdirとp
tの共役関数との積の和により除算することにより取得
され得る。次に第2段階で、newdirの値が、差(temp−n
ewpt)を、(1,0)及びtempとnewptの共役関数との
積の差により除算することにより取得され得る。
るために、MoveInDirectionが、親ノードの位置(pt)
と、RotateDirectionから得られた組み合わされたオリ
エンテーションの負の値(dir)と、親ノードから子へ
の距離(dist)と共に呼び出される。MoveInDirection
により戻される位置(newpt)は、子ノードの位置であ
る。MoveInDirectionにより戻される方向(newdir)は、
子ノードのオリエンテーションである。
ョンは、初期値又はユーザ信号により示される値によっ
て示され得る。初期値は、例えば、垂直方向に上方の
(0,1)であり得る。ユーザは、水平方向に右方向の
(1,0)からの角のオフセット値(ずれ)として、別
の値を示すこともできる。ルートノード410の元の位
置は、ユニットディスクの起点(0,0)であってもよ
い。
了時には、レンダリング空間内に開始ノードを配置する
のに十分な情報が取得されている。これは、以下で説明
される上方への反復移動の準備として成され得る。開始
ノードがルートである場合は、既に取得されているオリ
エンテーション及び位置が十分であるので、更なる計算
は不要である。他のノードに関しては、MoveInDirectio
nからのオリエンテーションを、まず双曲平面における
そのノードの元の位置(即ち、ルートノードが起点に現
在のオリエンテーションで位置する時のそのノードの位
置)の近くでテスト位置を探索し、このテスト位置を、
そのノードの元の位置がMoveInDirectionからのノード
の位置に変換されるのと同じ方法で宛先に変換し、次に
テスト位置の宛先を、MoveInDirectionからのノードの
位置が起点に変換されるのと同じ方法で変換し、そして
ノードの補正されたオリエンテーションを取得するため
に結果を正規化することによって、補正することが可能
である。
技術は、高精度限界406の外側の位置のノードに到達
したか、又はルートノード410に到達したと判断ボッ
クス360でのテストで判断されるまで、同じパスを反
復的に辿る。各反復において、処理ボックス362は、
最後のノードの親を取得することにより開始される。次
に処理ボックス364は、最後のノードのユニットディ
スク上のオリエンテーション及び位置を、双曲平面にお
ける最後のノードの親ノードとの相対位置と共に使用
し、ユニットディスク上の親ノードのオリエンテーショ
ン及び位置を取得する。
取得するために、先ずMoveInDirectionが子ノードの位
置(pt)と、子ノードのオリエンテーションの負の値
(dir)と、親ノードから子までの距離(dist)と共に
呼出される。MoveInDirectionにより戻される位置(new
pt)は、親ノードの位置である。MoveInDirectionによ
り戻される方向の負の値(newdir)は次に、親ノードの
オリエンテーションを取得するために、子のD角と共に
RotateDirection呼出しに与えられる。
点での同様のテストを実行するために、ユニットディス
ク上のノードの位置の座標が二乗され、次にその二乗の
和が、可視限界404又は高精度限界406の位置と適
切に比較され得る。例えば、二乗の和は、可視限界40
4及び高精度限界406の半径の二乗と比較され得る。
二乗の和が可視限界404の半径の二乗よりも小さい場
合、ノードは可視であり、二乗の和が高精度限界406
の半径の二乗よりも小さい場合、ノードは可視ルートで
あり得る。可視ルートとして選択されるノードは、開始
位置から上方への移動で到達可能な、高精度限界406
内の最上ノードであり得る。
ス360での判断結果が肯定である場合、この技術は処
理ボックス366で、最後から2番目のノードを可視ル
ートとする。従って図7では、ノード414が可視ルー
トであり、その子孫のみがマッピングされることを意味
し、それによってマッピングされる世代数を削減する。
世代数が削減されるため、精度の問題もまた著しく減少
されることが可能である。これは、可視ルート414と
ルートノード410との間に多数の世代が存在する場合
に特に当てはまる。
場合、ルートノード410が処理ボックス366で可視
ルートとして選択される。
が、ツリーの下方への幅優先順の反復移動に備えて可視
ルートのノードIDをキューに入れる。判断ボックス3
70で示されるように、この移動はキューが空になるま
で続く。各反復において、処理ボックス372は、キュ
ーから戻りノードを取り出す。次にこの技術は、処理ボ
ックス374で、取り出された戻りノードの各子に対し
て幾つかの処理を実行する。各子ノードは、例えば、現
在の移動に関するカウンタの数値を記憶することによっ
て、移動されていることをマークされる。ユニットディ
スク上の子ノードのオリエンテーション及び位置が取得
される。子ノードの位置が可視限界404の内側である
場合、子ノードのノードIDはペイントスタックに入れ
られる。最後に、その子ノードは、それの子が順にマッ
ピングされるようにキューの先頭に入れられるが、これ
はその子ノードが適切な判定基準を満たす場合のみであ
るため、不要なマッピングは回避される。
取得するために、RotateDirectionが、親ノードのオリ
エンテーション及び子ノードのD角と共に呼出される。
次に結果として生じる方向は、親ノードの位置及び親ノ
ードの距離と共にMoveInDirection呼出しに与えられ
る。MoveInDirectionから取得された位置(newpt)及び
方向(newdir)は、それぞれ子ノードの位置及びオリエ
ンテーションである。
取得されると、子ノードの子をマッピングする必要があ
るか否かを決定するために、判断基準を適用することが
できる。不要なマッピングを回避するために適用されて
いる優れた判断基準の1つは、子ノードが以下の条件を
満たすことである。その条件は、子をグラフ内に有する
こと、子もツリー内に存在するように、拡張されるのは
リンクのツーノードであること、高精度限界406内に
あること、そして、可視限界404の内側にあるか、又
はその親が可視限界404の外側にあること、である。
例えば、この判断基準を図7に適用すると、ノード41
8が高精度限界406の外側にあるので、この技術はノ
ード414からノード416へ移動し、その後停止する
前にノード418に移動する。同様に、ノード422は
可視限界404の外側にあるが、ノード422の親であ
るノード420は可視限界404の内側にあるので、こ
の技術はノード402から中間ノードを介してノード4
20に移動し、その後停止する前にノード422に移動
する。
クス374で、それの子がその後の反復処理中にマッピ
ングされるようにキューにノードを入れるか否かを決定
する別の適切な判断基準を用いてもよい。
理を含むこともできる。例えば、判断ボックス360に
関連して上述されたように算出される子ノードの位置か
ら双曲限界400への距離を、そのノードがペイントさ
れるのに十分な距離可視限界404から離れているか否
かを決定するために使用することができる。もし十分に
離れている場合は、ノードを表示するフィーチャの中心
と、そのフィーチャの高さ及び幅を取得するために更な
る計算が行われ得る。
処理ボックス380でペイントスタックから各ノードを
取り出すことができる。ノードに接触するため及び表示
バッファにそのノードをペイントするために、ペインタ
ルーチン224を呼出すことが可能である。ノードをペ
イントする間に、ペインタルーチン224はまた、表示
バッファへの適切なリンクをペイントする。ノード及び
リンクのペイントは、ユニットディスクから表示領域へ
のマッピングを含み、これは、米国特許第5,590,250号
の図11から13に関して説明されるように実施される
ことが可能である。ペイントは、先ずリンクに対して実
行され、次に子、次に親に対して実行され得る。また、
ペインタルーチン224は、ナビゲーションにおいてそ
の方向が重要な方向であるので、開始ノード402から
ルートノード410への方向を色着きの印等で視覚的に
示すことができる。他の全ての方向はツリーの下方へ進
むので、その方向のみがツリーの上方及び横方向に進む
ため重要である。
ン224はノード生成を開始することができる。またペ
インタルーチン224は、新しく生成された各ノードを
新しい編集としてマークすることができる。結果とし
て、新たに生成されたノードは、その後図5の処理ボッ
クス312、324又は334でレイアウトされる。
その内容がディスプレイ204に表示され、結果として
グラフの表現のユーザに提供されるように、処理ボック
ス382で切り替えられ得る。
0.9993に相当する半径を有する可視限界404で上手く
実施された。そして高精度限界406の半径は、可視限
界404の半径と双曲限界400の半径との間で適切に
選択され得る。例えば、高精度限界406は、双曲限界
400の半径の約0.9995に相当する半径を有することが
できる。
Cのプロセッサ上でうまく実行されたが、実施は任意の
適切なプロセッサを有する他の装置で実行されてもよ
い。
インドウズ(Windows)環境でC++言語を用いてうまく実
行されたが、非オブジェクト指向環境を含む他のプログ
ラム言語及び環境を用いてもよく、また、リスプ(Lis
p)、ユニックス(Unix)環境、ANSI C、及びパスカル(Pas
cal)等のような他のプラットフォームを用いてもよい。
ォーマット及びある実験的フォーマットで表示されるノ
ード−リンクデータを用いてうまく実行されたが、本発
明は、静的又は動的いずれかの、メモリ内又はネットワ
ークを介してのように任意の適切な方法でアクセス可能
な、任意の適切なタイプのノード−リンクデータを用い
て実行されてもよい。
ン信号に応答してグラフの1つの表現又はアニメーショ
ン化された一連の表現を準備及び表示する各反復を用い
て実施されたが、本発明は他のタイプの信号又は呼出し
によって呼出される他のタイプの反復を用いて実施され
てもよい。
びマウスから受信され、且つランピング他の米国特許第
5,619,632号に開示されている表現のようなノード−リ
ンク構造の特定のタイプの表現の表示された表現又はア
ニメーション化された一連の表現に関係するナビゲーシ
ョン信号を用いてうまく実行された。しかしながら、本
発明は、ナビゲーション信号を用いて又は用いずに実施
されてもよい。例えば、あるノードの子の異なるソーテ
ィングに応答して、又はある構造の要素への異なるフィ
ルタの適用に応答して、要素を動き回らせてもよい。ま
た、本発明は、任意の適切なタイプの拡張及び収縮信
号、又は外部の照会、示されたノード又はリンクの下に
拡張を要求するメニューエントリーのような項目の選
択、又は現在の焦点の下に拡張を要求するメニューエン
トリーのような項目の選択から生じた信号を含む他のナ
ビゲーション信号を用いて実施されてもよい。ナビゲー
ション信号は、代わりに、ビデオゲーム又はバーチャル
リアリティ環境によって生成される空間のような現実に
は無い空間又はディスプレイ以外の表示空間に関係して
もよく、また、ナビゲーション信号は、代わりに、他の
種類の位置決め装置、及び英数字又は声、身振りのよう
な言語的入力、又は他の様式のユーザ入力を受信するた
めの他の種類の装置を含む、任意の適切なユーザ入力装
置によって生成されてもよい。更に、本発明はノード−
リンク構造の他のタイプの表現と共に実施されてもよ
い。本発明は、アニメーションを一切使用せずに、又は
あらゆる適切なアニメーション技術を使用して、実施さ
れてもよい。
たノード−リンク構造をマッピングし、その構造をユニ
ットディスクにマッピングするが、本発明は、あらゆる
適切な方法でレイアウトされたノード−リンク構造をあ
らゆる適切な負曲空間にマッピングすることができ、そ
の構造をあらゆる適切なレンダリング空間にマッピング
することが可能である。
パスに基づいて、双曲平面からユニットディスクにマッ
ピングする。また本発明は、他のあらゆる適切な負曲空
間から適切なレンダリング空間にマッピングするために
も実施されることが可能であり、更にリンクのパス又は
ノードとリンクとを組み合わせたパスに基づいてマッピ
ングすることもできる。
親との相対位置を示すデータを、位置の変位及び角度の
変位と共に使用するが、本発明は、子又は子孫等の他の
あらゆる適切な方法で関係する要素に対する相対位置を
示すデータにより実施されることが可能であり、相対位
置は他の変位の組み合わせ、又は他のあらゆる適切な方
法で示されてよい。
て開始ノード及び開始位置を識別するデータを取得する
が、ノード−リンク構造の他の要素を識別するデータが
取得されてもよく、またノード又は他の要素及び開始位
置を識別するデータが、実行されているコードからの呼
出し等による他の方法で取得されてもよい。
するか否かを決定するために所定の判断基準を適用する
が、本発明は、マッピングされたノードのそれぞれの子
孫全てをマッピングすることによって、又はどの要素が
マッピングされるべきか否かを決定するために他のあら
ゆる適切な判断基準を適用することによって実施されて
もよい。
するのに適している。本発明は、一般的なグラフ等の他
のタイプのノード−リンク構造の要素をマッピングする
ために使用されてもよい。
により、グラフ内のツリーを定義するためのリンクの拡
張フラグを含むノード−リンクデータを用いるが、本発
明は、任意の他の適切な方法で定義され、任意の適切な
方法でメモリにロードされるノード−リンク構造を用い
て実施されてもよい。
の関係から、双曲限界からの距離が固定である高精度限
界を用いるマッピングルートを選択する。本発明は、ル
ート要素から、又はノード−リンク構造の他の適切な要
素からのマッピングにより実施されることが可能であ
る。従って、高精度限界とは別の判断基準が、マッピン
グルートを選択するために使用されてもよく、また高精
度限界はあらゆる適切な方法で定義されてよい。
クのためのリスト、及びツーノードへの入リンクのため
のリストの、2つのリンクされたリスト内の項目として
リンクが表わされる、有向グラフデータ構造を使用す
る。他のあらゆる適切なデータ構造が使用されてもよ
い。
グラフを扱うことができるが、本発明は、他のタイプの
リンクを有向グラフの適切な組合せに変換することによ
って、又は別様ではグラフの構造をツリーにマッピング
するためのプロトコルを供給することによって、他のタ
イプのグラフ用に実施されてもよい。例えば、2つのノ
ード間の無向リンクが、同じノードの間の1対の有向リ
ンクに変換されてもよく、又は適切な基準に基づいて方
向を割り当てられてもよい。一般的に、全ての無向リン
クが1対の有向リンクへと変換されている表現は、結果
的に有向リンクの各対が循環するので、視覚的に混乱さ
せる傾向があるが、別の方法で循環を表示することによ
ってこの混乱は克服されるかもしれない。
されてもよい順位で行われる。例えば、図5では、幅優
先巡回よりも深さ優先巡回が実行されてもよく、また各
ノードは、全てのノードがマッピングされてからではな
く、個々のノードがレンダリング空間にマッピングされ
た直後にペイントされてもよい。
ウェアの部分が、グラファ、ウォーカ、ペインタ、及び
数学ルーチン、並びにクライアントのように区別される
が、本発明は、ハードウェア及びソフトウェアの他の組
合せ並びに任意の適切な方法で構成されたソフトウェア
で実施されてもよい。
ラウザの提供に適用された。本発明は、ノード−リンク
構造が視覚化される様々なコンテキストに適用され得
る。特に、本発明は、キャッシュに格納された1組のウ
ェブページ又は他のウェブオブジェクトによって形成さ
れた構造のような、ウェブ関連構造の視覚化に適用され
得る。
イルシステム階層、ハイパーテキスト階層、ワールドワ
イドウェブ接続性構造、パーツ分解、SGML構造、又
は任意の他の大きなノード−リンク構造のためのブラウ
ザの提供に適用され得る。このブラウザは、構造又は構
造の内容の編集に用いられてもよい。
関係して述べられてきたが、本発明は専用ハードウェア
を用いて実施されてもよい。
から、マッピングがどのように実行され得るかを示す概
略的なフローダイアグラムである。
の一般的な処理を示すフローチャートである。
置の一般的な構成要素を示す概略図である。
関するイベントにどのように応答し得るかを示すフロー
チャートである。
を示すフローチャートである。
図である。
Claims (1)
- 【請求項1】 負曲率を有する空間にレイアウトされた
ノード−リンク構造をレンダリング空間にマッピングす
るための方法であって、 (A)前記ノード−リンク構造内の開始要素を識別する
データを取得するステップと、 (B)前記レンダリング空間内の開始位置に前記開始要
素を配置するステップと、 (C)前記ノード−リンク構造内の他の要素から成るセ
ットのそれぞれに対して、前記負曲率を有する空間内の
前記要素の位置を前記レンダリング空間内の位置にマッ
ピングするステップと、 を含み、ステップ(C)において、前記他の要素から成
るセットは、前記開始要素の少なくとも親と子とを含
み、前記他の要素から成るセット内の個々の要素は前記
セット内の要素のみを通るパスによって前記開始要素か
ら到達可能であり、各要素のパスは該パス内に前記要素
の直前の先行要素を含み、 ステップ(C)におけるマッピングの処理は、前記他の
要素から成るセット内の個々の要素に対して、前記レン
ダリング空間における前記要素の位置を取得するため
に、前記要素の前記負曲率を有する空間内の前記先行要
素との相対位置と、前記レンダリング空間内の前記先行
要素の位置とを使用する、 ノード−リンク構造のレンダリング空間へのマッピング
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US124529 | 1993-09-22 | ||
US09/124,529 US6300957B1 (en) | 1998-07-29 | 1998-07-29 | Mapping a node-link structure to a rendering space beginning from any node |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000155856A true JP2000155856A (ja) | 2000-06-06 |
Family
ID=22415406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11214492A Pending JP2000155856A (ja) | 1998-07-29 | 1999-07-29 | ノ―ド―リンク構造のレンダリング空間へのマッピング方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6300957B1 (ja) |
EP (1) | EP0977153A3 (ja) |
JP (1) | JP2000155856A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522916A (ja) * | 2007-03-28 | 2010-07-08 | トムソン ライセンシング | ナビゲーション経路の生成による表示要素間のナビゲーション方法及びその方法を実施するための装置 |
JP2013097508A (ja) * | 2011-10-31 | 2013-05-20 | Toshiba Corp | ツリー表示調整装置 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658624B1 (en) * | 1996-09-24 | 2003-12-02 | Ricoh Company, Ltd. | Method and system for processing documents controlled by active documents with embedded instructions |
US6377259B2 (en) | 1998-07-29 | 2002-04-23 | Inxight Software, Inc. | Presenting node-link structures with modification |
WO2000013104A1 (en) * | 1998-08-26 | 2000-03-09 | Symtec Limited | Methods and devices for mapping data files |
US6453241B1 (en) | 1998-12-23 | 2002-09-17 | Rosetta Inpharmatics, Inc. | Method and system for analyzing biological response signal data |
US6714936B1 (en) * | 1999-05-25 | 2004-03-30 | Nevin, Iii Rocky Harry W. | Method and apparatus for displaying data stored in linked nodes |
AU2215201A (en) * | 1999-12-20 | 2001-07-03 | Headway Research Limited | System and method for computer-aided graph-based dependency analysis |
US6897885B1 (en) * | 2000-06-19 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Invisible link visualization method and system in a hyperbolic space |
US6954218B2 (en) * | 2000-10-30 | 2005-10-11 | Microsoft Corporation | Method and apparatus for high-performance rendering and hit-testing of a window tree |
US6931604B2 (en) * | 2000-12-18 | 2005-08-16 | Derek Graham Lane | Method of navigating a collection of interconnected nodes |
US6934907B2 (en) * | 2001-03-22 | 2005-08-23 | International Business Machines Corporation | Method for providing a description of a user's current position in a web page |
US7627588B1 (en) | 2001-05-07 | 2009-12-01 | Ixreveal, Inc. | System and method for concept based analysis of unstructured data |
US7194483B1 (en) | 2001-05-07 | 2007-03-20 | Intelligenxia, Inc. | Method, system, and computer program product for concept-based multi-dimensional analysis of unstructured information |
USRE46973E1 (en) | 2001-05-07 | 2018-07-31 | Ureveal, Inc. | Method, system, and computer program product for concept-based multi-dimensional analysis of unstructured information |
US6901555B2 (en) | 2001-07-09 | 2005-05-31 | Inxight Software, Inc. | Tree visualization system and method based upon a compressed half-plane model of hyperbolic geometry |
US20100305750A1 (en) * | 2001-09-19 | 2010-12-02 | Conley N Sharon | Patient Controlled Timed Medication Dispenser |
US7124358B2 (en) * | 2002-01-02 | 2006-10-17 | International Business Machines Corporation | Method for dynamically generating reference identifiers in structured information |
US7203701B1 (en) * | 2002-02-20 | 2007-04-10 | Trilogy Development Group, Inc. | System and method for an interface to provide visualization and navigation of a directed graph |
US6928436B2 (en) * | 2002-02-28 | 2005-08-09 | Ilog Sa | Interactive generation of graphical visualizations of large data structures |
US8589413B1 (en) | 2002-03-01 | 2013-11-19 | Ixreveal, Inc. | Concept-based method and system for dynamically analyzing results from search engines |
TWI290697B (en) * | 2002-10-25 | 2007-12-01 | Hon Hai Prec Ind Co Ltd | System and method for analyzing and mapping patent information |
TWI290698B (en) * | 2002-12-20 | 2007-12-01 | Hon Hai Prec Ind Co Ltd | System and method for updating and displaying patent citation information |
US7089266B2 (en) | 2003-06-02 | 2006-08-08 | The Board Of Trustees Of The Leland Stanford Jr. University | Computer systems and methods for the query and visualization of multidimensional databases |
US20050278362A1 (en) * | 2003-08-12 | 2005-12-15 | Maren Alianna J | Knowledge discovery system |
US7333997B2 (en) * | 2003-08-12 | 2008-02-19 | Viziant Corporation | Knowledge discovery method with utility functions and feedback loops |
US7756907B2 (en) * | 2003-09-16 | 2010-07-13 | The Board Of Trustees Of The Leland Stanford Jr. University | Computer systems and methods for visualizing data |
US20050132305A1 (en) * | 2003-12-12 | 2005-06-16 | Guichard Robert D. | Electronic information access systems, methods for creation and related commercial models |
US7587409B2 (en) * | 2004-09-24 | 2009-09-08 | Sas Institute Inc. | Computer-implemented system and method for handling node-link representations |
EP1812898A2 (en) * | 2004-11-02 | 2007-08-01 | Eagleforce Associates | System and method for predictive analysis and predictive analysis markup language |
US7800613B2 (en) * | 2004-12-02 | 2010-09-21 | Tableau Software, Inc. | Computer systems and methods for visualizing data with generation of marks |
EP1877968A2 (en) * | 2005-04-12 | 2008-01-16 | Alianna J. Maren | System and method for evidence accumulation and hypothesis generation |
US20060277476A1 (en) * | 2005-06-02 | 2006-12-07 | Hsuan-Cheng Lai | Method and system for dynamic generation of graphical content using a markup language |
US8914726B2 (en) * | 2005-08-20 | 2014-12-16 | Riverbed Technology, Inc. | Visualizing a complex network based on a set of objects of interest |
WO2007027967A2 (en) * | 2005-08-31 | 2007-03-08 | Eagleforce Associates | System for hypothesis generation |
US8099674B2 (en) | 2005-09-09 | 2012-01-17 | Tableau Software Llc | Computer systems and methods for automatically viewing multidimensional databases |
US7788251B2 (en) | 2005-10-11 | 2010-08-31 | Ixreveal, Inc. | System, method and computer program product for concept-based searching and analysis |
US7657848B2 (en) * | 2006-01-09 | 2010-02-02 | Sas Institute Inc. | Computer-implemented node-link processing systems and methods |
US7676485B2 (en) | 2006-01-20 | 2010-03-09 | Ixreveal, Inc. | Method and computer program product for converting ontologies into concept semantic networks |
US7487464B2 (en) * | 2006-02-16 | 2009-02-03 | International Business Machines Corporation | Enhanced visualization and selection of multi-layered elements in a containment hierarchy |
US7999809B2 (en) * | 2006-04-19 | 2011-08-16 | Tableau Software, Inc. | Computer systems and methods for automatic generation of models for a dataset |
CN101136106B (zh) * | 2006-08-30 | 2010-07-07 | 国际商业机器公司 | 基于双曲几何显示加权树的方法和计算机系统 |
US8782043B2 (en) * | 2007-07-10 | 2014-07-15 | Nbc Universal, Inc. | Multi-sided media viewer and technique for media association |
US20110314382A1 (en) * | 2010-06-22 | 2011-12-22 | Primal Fusion Inc. | Systems of computerized agents and user-directed semantic networking |
US8805861B2 (en) * | 2008-12-09 | 2014-08-12 | Google Inc. | Methods and systems to train models to extract and integrate information from data sources |
US9245243B2 (en) | 2009-04-14 | 2016-01-26 | Ureveal, Inc. | Concept-based analysis of structured and unstructured data using concept inheritance |
JP5921536B2 (ja) * | 2010-06-22 | 2016-05-24 | プライマル フュージョン インコーポレイテッド | コンピュータ化エージェントのシステムとユーザ指図セマンティックネットワーキング |
US10795943B1 (en) | 2013-08-08 | 2020-10-06 | Teal Rainsky Rogers | Three-dimensional network mapping system and method |
US10372794B1 (en) * | 2013-08-08 | 2019-08-06 | Teal Rainsky Rogers | Three-dimensional network mapping system and method |
US9424318B2 (en) | 2014-04-01 | 2016-08-23 | Tableau Software, Inc. | Systems and methods for ranking data visualizations |
US20150278214A1 (en) | 2014-04-01 | 2015-10-01 | Tableau Software, Inc. | Systems and Methods for Ranking Data Visualizations Using Different Data Fields |
US9613102B2 (en) | 2014-04-01 | 2017-04-04 | Tableau Software, Inc. | Systems and methods for ranking data visualizations |
US11310121B2 (en) * | 2017-08-22 | 2022-04-19 | Moovila, Inc. | Systems and methods for electron flow rendering and visualization correction |
US10896297B1 (en) | 2017-12-13 | 2021-01-19 | Tableau Software, Inc. | Identifying intent in visual analytical conversations |
CN115842907A (zh) * | 2018-03-27 | 2023-03-24 | 京东方科技集团股份有限公司 | 渲染方法、计算机产品及显示装置 |
US11055489B2 (en) | 2018-10-08 | 2021-07-06 | Tableau Software, Inc. | Determining levels of detail for data visualizations using natural language constructs |
US11314817B1 (en) | 2019-04-01 | 2022-04-26 | Tableau Software, LLC | Methods and systems for inferring intent and utilizing context for natural language expressions to modify data visualizations in a data visualization interface |
US11455339B1 (en) | 2019-09-06 | 2022-09-27 | Tableau Software, LLC | Incremental updates to natural language expressions in a data visualization user interface |
US11233705B2 (en) * | 2019-12-23 | 2022-01-25 | Robert Brennan Garvey | System and method for visualizing and navigating network data |
CN113345056A (zh) * | 2021-06-04 | 2021-09-03 | 山东捷瑞数字科技股份有限公司 | 一种链传动高仿真动画的产生方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2646256A1 (fr) | 1989-04-24 | 1990-10-26 | Digital Equipment Int | Procede pour realiser des dessins a l'aide d'un ordinateur |
CA2097232C (en) | 1993-05-28 | 1999-01-19 | Phillip J. Beaudet | Displaying partial graphs by expanding and collapsing nodes |
US5590250A (en) | 1994-09-14 | 1996-12-31 | Xerox Corporation | Layout of node-link structures in space with negative curvature |
US5619632A (en) * | 1994-09-14 | 1997-04-08 | Xerox Corporation | Displaying node-link structure with region of greater spacings and peripheral branches |
US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
-
1998
- 1998-07-29 US US09/124,529 patent/US6300957B1/en not_active Expired - Lifetime
-
1999
- 1999-07-28 EP EP99114263A patent/EP0977153A3/en not_active Withdrawn
- 1999-07-29 JP JP11214492A patent/JP2000155856A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522916A (ja) * | 2007-03-28 | 2010-07-08 | トムソン ライセンシング | ナビゲーション経路の生成による表示要素間のナビゲーション方法及びその方法を実施するための装置 |
JP2013097508A (ja) * | 2011-10-31 | 2013-05-20 | Toshiba Corp | ツリー表示調整装置 |
Also Published As
Publication number | Publication date |
---|---|
US6300957B1 (en) | 2001-10-09 |
EP0977153A2 (en) | 2000-02-02 |
EP0977153A3 (en) | 2007-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000155856A (ja) | ノ―ド―リンク構造のレンダリング空間へのマッピング方法 | |
US6377259B2 (en) | Presenting node-link structures with modification | |
JP4864181B2 (ja) | ノード表示装置 | |
US6654761B2 (en) | Controlling which part of data defining a node-link structure is in memory | |
JP2000067086A (ja) | ノ―ド―リンクデ―タ取得方法 | |
US5619632A (en) | Displaying node-link structure with region of greater spacings and peripheral branches | |
JP3630791B2 (ja) | ノードリンク構造レイアウト方法及びマシン動作方法 | |
US5467444A (en) | Method of three-dimensional display of object-oriented figure information and system thereof | |
US4731606A (en) | Method for rapid windowing of display information in computer graphics | |
EP0435601B1 (en) | Display of hierarchical three-dimensional structures | |
JPH0527677A (ja) | 図形情報の3次元表示方法及び装置 | |
Noser et al. | Dynamic 3D visualization of database-defined tree structures on the WWW by using rewriting systems | |
JP3249902B2 (ja) | 画像データ検索装置 | |
JP3346130B2 (ja) | グラフ図形配置法およびその装置 | |
CN114090666A (zh) | 幻灯片显示方法、装置、设备以及存储介质 | |
Huang et al. | On-line visualization and navigation of the global web structure | |
Nakamura et al. | Interactive Graphics and Spatial Data Management for GIS using the Hierarchical Data Structure | |
Frangeš et al. | Current changes in cartographic visualization | |
JP2004199130A (ja) | 情報視覚化方法、装置、プログラム | |
Douma et al. | SpicyNodes Radial Map Engine | |
Chan et al. | QL/G: A Spatial Database Management System | |
Glover et al. | A graphics environment for CIM applications | |
NAKAMURA et al. | Central Research Laboratory Mitsubishi Electric Corporation | |
CA2358533A1 (en) | Method and apparatus for displaying and navigating a data structure on a display unit | |
van Oosterom | Geographic Information Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090107 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090609 |