JPH08129649A - ノードリンク構造レイアウト方法及びマシン動作方法 - Google Patents

ノードリンク構造レイアウト方法及びマシン動作方法

Info

Publication number
JPH08129649A
JPH08129649A JP23186695A JP23186695A JPH08129649A JP H08129649 A JPH08129649 A JP H08129649A JP 23186695 A JP23186695 A JP 23186695A JP 23186695 A JP23186695 A JP 23186695A JP H08129649 A JPH08129649 A JP H08129649A
Authority
JP
Japan
Prior art keywords
node
box
layout
nodes
space
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
JP23186695A
Other languages
English (en)
Other versions
JP3630791B2 (ja
Inventor
John O Lamping
オー.ランピング ジョン
Ramana B Rao
ビー.ラオ ラマナ
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH08129649A publication Critical patent/JPH08129649A/ja
Application granted granted Critical
Publication of JP3630791B2 publication Critical patent/JP3630791B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/20Drawing from basic elements
    • G06T11/26Drawing of charts or graphs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 ノードリンク構造を密度のばらつきなくレイ
アウトする。 【解決手段】 本発明は、指数関数的に増大するブラン
チを有するノードリンク構造20を容易に均一にレイアウ
トするために、負の曲率を有するレイアウト空間32では
円の面積がその半径の指数関数に比例するという特徴を
利用する。まず、ノードリンク構造20の親ノードの位置
及び子ノードの位置に対するレイアウト空間内位置を示
すレイアウトデータ30が得られる。この子位置42、44、
46は、下位レベルノード数と共にゆっくりと増大する関
数を近似する半径を有する円48に沿って隣接するため、
子位置同士の間の離間は全てブランチ内で略均一であ
る。レイアウトデータが用いられて、第1の表現が表示
される。ユーザからの位置変更信号があれば、第1の表
現の変更された継続として知覚されることができる第2
の表現が表示されることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ノードリンク構造
のレイアウトに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】ギンド
ン,アール.エドワード(Guindon, R., Ed., )の「人
間とコンピュータの対話のための認識科学とその応用
(Congnitive Science and its Application for Human
Computer Interaction )」[ニュージャージー州ヒル
ズデイルのローレンスアールバウム(Lawrence Erlbau
m)、1988年]のP201〜P233におけるフェ
アチャイルド,ケイ.エム.(Fairchild, K.M. )、ポ
ルトロック,エス.イー.(Poltrock, S.E.)、ファー
ナス,ジー.ダブリュ.(Furnas, G.W.)の「セムネッ
ト(SemNet):大規模知識ベースの3次元グラフ
ィック表示(Three-Dimensional Graphic Representati
ons of Large KnowledgeBases)」は、セムネット即ち
3次元グラフィカルインタフェースについて述べてい
る。
【0003】図1−1に関して示され且つ述べられてい
るように、セムネットは、知識ベースを3次元空間にお
いて有向グラフとして表し、該有向グラフは、線又は弧
で連結されてラベル付けされた矩形として表された知識
エレメントを有する。
【0004】本発明の一態様は、ノードリンク構造のレ
イアウトにおける基本的な問題を軽減する。ノードリン
ク構造中の情報は、構造を横断するにつれて指数関数的
に増大する傾向がある。例えば、ノードリンク構造が、
ルートノードと、ルートノードより低いレベルのノード
とを有するツリー又は他の階層(hierarchy )的構造で
ある場合には、ノード数と、それ故にツリーにおける情
報量とは、ルートから下位レベルになるにつれて、指数
関数的に増大する傾向がある。ノードリンク構造の表現
をディスプレイする場合等いくつかのアプリケーション
では、各ノードが他のノードから十分に離間された独自
の位置を有するように、1つの空間にノードリンク構造
をレイアウトすることが有益である。ノード数及びツリ
ーにおける情報量が指数関数的に増大することにより、
1つの空間にノードリンク構造をレイアウトすることは
困難である。
【0005】いくつかの従来技術は、2次元、3次元、
又はそれ以外のn次元のユークリッド空間においてノー
ドリンク構造をレイアウトする。例えば、上述のフェア
チャイルド他の技術はノードを3次元空間に配置する
が、それは一部には、ノードを平面に配置すると弧が交
わってしまうからである。ロバートソン(Robertson )
他の米国特許第5,295,243号は、回転するサブ
構造を有する階層的構造を3次元空間に配置する技術に
ついて述べている。
【0006】ユークリッド空間におけるレイアウトは例
えば、ルートノードから始まり、空間に各ノードを配置
しながら構造を横断する。ユークリッド空間におけるレ
イアウトは、指数関数的な増大のために、密度において
大きなばらつきを含みがちである。ブランチにおけるノ
ードは、ルートに近いノードよりもずっと密度が高い傾
向がある。密度に大きなばらつきがあると、このような
レイアウトに基づいて走査検索を使用するユーザが、密
度の異なる領域におけるノード同士の関係を理解するこ
とが困難であるため、レイアウトの使用において問題が
生じる。
【0007】
【課題を解決するための手段】本発明の技術は、指数関
数的に増大するブランチを有するノードリンク構造が、
負の曲率を有する空間では密度の大きなばらつきを有す
ることなくレイアウトされることができるという発見に
基づくものである。空間は、平行な線が発散する場合に
負の曲率を有する。本発明の実施の形態は、n次元の双
曲的空間(2次元の双曲的空間は「双曲面」と呼ばれ
る)を含む。双曲面では、例えば、円の面積はその半径
の指数関数に比例するので、指数関数的に増大するブラ
ンチを有するノードリンク構造の均一なレイアウトを得
ることが容易である。負の曲率を有するレイアウト空間
は、レイアウト空間における位置が限られた精度で特定
される場合に、双曲面又は負の曲率を有する他の連続的
空間に対する「ディスクリート(離散的)な近似」と呼
ばれ、レイアウト空間における全ての位置は、双曲面又
は負の曲率を有する他の連続的空間における位置にマッ
ピング(写像)されるが、逆は成り立たない。
【0008】各技術は、負の曲率を有するレイアウト空
間においてノードリンク構造の部分の位置を示すレイア
ウトデータを使用する。レイアウトデータは例えば、レ
イアウト空間における位置を示す座標を含む。レイアウ
トデータは、ブランチを形成するノードの集合の中の各
ノードに対するレイアウト空間における位置を示す。親
ノードの集合の中の各々に関して言えば、親ノードを共
有する下位レベルのノードは、空間における円又は円の
弧に略沿った形で存在し、親ノードはその円の略中心に
位置される。ここで使用するように、「円に沿って」と
は、円の弧に沿った配列も含まれる。各円に沿って隣接
する下位レベルのノードの位置は、おおよそ基底スペー
シング(間隔)だけ離間される。集合中の全親ノードの
円の半径は共に半径方向離間関数を近似し、該関数は、
半径と円に沿って隣接する下位レベルのノード同士間の
離間とが全てブランチ内で略均一となるように、下位レ
ベルのノード数と共にゆっくりと増大する。
【0009】ブランチの略均一なレイアウトは非常に有
益である。例えば、ブランチを含むノードリンク構造の
表現をディスプレイすることにおいて、さらなるレイア
ウトが必要でなくなる、即ち、レイアウト空間において
厳密な変換を実行して変換された位置を得ることによ
り、そして、この変換位置から、ディスプレイ上に表さ
れることのできる平坦なユークリッド領域(円形、ディ
スク形状領域、若しくは任意の他の適切な形状の領域
等)へとマッピングすることにより、表現が得られるこ
とができる。
【0010】レイアウト空間は、例えば双曲面のディス
クリートな近似であることが可能であり、レイアウトデ
ータは、双曲面における位置を一体となって示す2つの
座標を各ノードに対して示すことができる。ノードリン
ク構造は、ツリー等の非循環グラフであることが可能で
ある。
【0011】本発明の一態様は、ノードリンク構造の表
現のディスプレイに関する。この技術では、レイアウト
データを使用して、ノードリンク構造の第1の表現をデ
ィスプレイ上に表示する。第1のディスプレイ位置から
第2のディスプレイ位置への変更を示すユーザからの信
号に応答して、この技術は次に、第1の表現の移動され
た継続として認知される第2の表現を示す。第1の表現
は、第1のディスプレイ位置付近に、ノードリンク構造
の第1の部分を表す第1の特徴を含み、また第2の表現
は、前記第1の部分を示すものの第2のディスプレイ位
置付近にある第2の特徴を含む。
【0012】本発明の別の態様は、上述のレイアウトデ
ータを得るための技術を提供する。この技術は、上述の
レイアウトデータを得るためにノードリンク構造を規定
するノードリンクデータを使用する。この技術は次に、
レイアウトデータを使用して、2つ以上の異なるマッピ
ングを実行する。各マッピングにより得られたマッピン
グデータは、ノード集合の部分集合に対する位置を示
す。例えば位置は、ディスプレイ位置、又は別の適切な
空間における位置であることが可能である。
【0013】本発明のまた別の態様は、レイアウトデー
タが双曲面のディスクリートな近似における位置を示す
場合に、上述の変換データを得る技術を実行する際に生
じる問題の認識に基づく。変換が純粋な平行移動(tran
slation )である場合には、回転に関する問題が生じ
る。双曲面において直線に対して平行移動を実行する
と、その直線上にない点がその直線上の点に対して回転
されるので、直覚的にわからなくなるおそれがある。さ
らに、閉ループを形成する一連の平行移動は、その各々
が、平行移動のその直線に沿ってオリエンテーション
(配向)を保持するので、この場合もまた反直覚的な回
転を生じる。
【0014】本発明のこの態様は、回転の問題を軽減す
る技術を提供する。各技術は、回転成分を含む変換を提
供する。この技術は、より大きなスペーシングの領域に
おける子ノードが、例えば常にその親ノードの右にとい
うように、正規のオリエンテーションで表されるように
回転作用する。別の技術は、ノードリンク構造のルート
ノードのオリエンテーションを保持するように回転作用
する。
【0015】上述の技術は、指数関数的に増大するノー
ドリンク構造が、負の曲率を有する面において均一にレ
イアウトされることができるため、有利である。例え
ば、一旦ノードリンク構造が双曲面にレイアウトされる
と、そのノードリンク構造を再度レイアウトする必要が
ない、即ち、同一のレイアウトを変換して、他の望まし
い表現を生成することができる。双曲面は、ディスク等
のディスプレイ領域にマッピングされて、或る部分はよ
り詳細に示し、他の部分は詳細に示さないことができる
ので、詳細に示された部分の内容を見ることができる。
さらに、2つの表現同士間の任意の変換が同じ時間量で
なされることができるので、高品質のアニメーションを
用いたナビゲーションが可能となる。アニメーション速
度で表される一続きの画像は、構造の複数の部分の位置
を変えながら、継続したものとして知覚されることがで
きる。従ってユーザは、或る部分の位置の変更を指示す
ることができ、マシンは、指示された通りにその部分が
移動された画像を自動的に表すことができる。このこと
は、ユーザが構造の任意の部分に変更の的を当てること
ができることを示している。
【0016】本発明の請求項1の態様は、ノードリンク
構造レイアウト方法であって:レイアウトデータを得る
ステップを有し;該レイアウトデータは、ノードリンク
構造部分に対するレイアウト空間内位置を示し;前記レ
イアウト空間は負の曲率を有する空間であり;前記ノー
ドリンク構造は、ノード及びリンクを含み、各リンクは
ノードの中の少なくとも2つに関連し;前記レイアウト
データは、ノード集合に対するレイアウト空間内位置を
示し;前記ノード集合は、最上位レベルと少なくとも1
つの下位レベルとを含む2つ以上のノードレベルを有す
るブランチを形成し、該最上位レベルが最上位レベルノ
ードを含み、該下位レベルが下位レベルノードを含み、
各下位レベルにおける各ノードが、次に高いレベルに親
ノードを有すると共にこの親ノードに1つのリンクを介
して関連づけられ;2つ以上の親ノードの集合中の各々
に対して、前記レイアウトデータが、親ノードに対する
レイアウト空間における親位置を示し、また前記レイア
ウトデータが、親ノードを共有する多数の下位レベルの
ノードに対するレイアウト空間における円に略沿った形
で存在する子位置を示し、前記親位置が前記円の略中心
にあり、前記下位レベルノード数が2つ以上であり、円
に沿って隣接する子位置が略基底スペーシングだけ離間
され;前記円が、下位レベルノード数と共にゆっくりと
増大する関数を近似する半径を有し、よって該半径と、
円に沿って隣接する子位置同士間のスペーシングとが全
て前記ブランチ内で略均一であり;前記方法がさらに、
前記レイアウトデータを用いてノードリンク構造の第1
の表現をディスプレイ上に表示するステップを有し;ユ
ーザからの信号を受け取るステップを有し;該信号が第
1のディスプレイ位置から第2のディスプレイ位置への
変更を示し;前記第1の表現が第1のディスプレイ位置
付近に第1の特徴を含み、該第1の特徴がノードリンク
構造の第1の部分を表し;前記信号に応答して、ノード
リンク構造の第2の表現をディスプレイに表示するステ
ップを有し;該第2の表現がノードリンク構造の第1の
部分を表す第2の特徴を含み、該第2の特徴が第2のデ
ィスプレイ位置付近に表示され;前記第2の表現が前記
第1の表現の変更された継続として知覚されることがで
きる;ことを特徴とする。
【0017】本発明の請求項2の態様は、マシンを動作
する方法であって、該マシンが、メモリと、該メモリに
格納されたデータをアクセスするように接続されるプロ
セッサと、該メモリに格納されるノードリンクデータ
と、を含み、該ノードリンクデータがノードリンク構造
を規定し、該ノードリンク構造がノード及びリンクを含
み、各リンクが少なくとも2つのノードに関連する。前
記マシン動作方法は、プロセッサを操作してノードリン
クデータを用いてレイアウトデータを得るステップを有
し;前記レイアウトデータが、ノードリンク構造部分に
対するレイアウト空間内位置を示し、該レイアウト空間
が負の曲率を有する空間であり;前記ノードリンク構造
がノード及びリンクを含み、各リンクがノードの中の少
なくとも2つに関連し;前記レイアウトデータが、ノー
ド集合に対するレイアウト空間内位置を示し;前記ノー
ド集合が、最上位レベルと少なくとも1つの下位レベル
とを含む2つ以上のノードレベルを有するブランチを形
成し、各下位レベルにおける各ノードが、次に高いレベ
ルに親ノードを有し、ノードが親ノードに対して1つの
リンクを介して関連づけられ;2つ以上の親ノードの集
合中の各々に対して、前記レイアウトデータが、親ノー
ドに対するレイアウト空間における親位置を含み、前記
レイアウトデータが、前記親ノードを共有する多数の下
位レベルのノードに対するレイアウト空間における円に
略沿った形で存在する子位置を含み、前記親位置が円の
略中心にあり、下位レベルノード数が2つ以上であり、
前記円に沿って隣接する子位置が、略基底スペーシング
だけ離間され、前記円が、下位レベルノード数と共にゆ
っくりと増大する関数を近似する半径を有し、よって半
径と、円に沿って隣接する子位置同士間のスペーシング
とが全てブランチ内において略均一であり、前記マシン
動作方法がさらに、前記プロセッサを動作して、レイア
ウトデータを用いて2つ以上の異なるマッピングを実行
するステップを有し;各マッピングによりマッピングデ
ータが得られ;各マッピングにより得られたマッピング
データがノード集合の部分集合の位置を示すことを特徴
とする。
【0018】
【発明の実施の形態】「グラフ」は、各リンクが2つの
ノードに関連するノードリンク構造である。「非循環グ
ラフ」は、リンクがグラフ中の任意の2つのノード同士
間に1つの経路のみを提供するグラフである。「有向グ
ラフ」は、各リンクが、そのリンクの関連するノード同
士間に、1つのノードがリンクのソースであり他のノー
ドが目的地であるというように方向を示すグラフであ
る。ツリーは、必ず1つのルートノードを有する非循環
有向グラフであり、ツリー中のあらゆる他のノードは、
ルートノードから始まり示された方向にある各リンクに
従う唯一の経路により到達されることができる。
【0019】ノードリンク構造の「ブランチ(分岐)」
は、リンクが、関連するノードペアとして且つ方向を示
すものとして取り扱われる場合に、ノードリンク構造内
にツリーを形成するノード集合である。従ってブランチ
は、2つ以上のレベルを含み、「最上位レベルノード」
は、ツリーのルートノードであるノードであり、「下位
レベルノード」は、最上位レベルノードよりも1つ以上
下のツリーレベルのノードである。各下位レベルノード
は、そのすぐ上のレベルに「親ノード」を有し、下位レ
ベルノードは、1つのリンクを介して親ノードに関連づ
けられる。親ノードは、そのすぐ下のレベルに「子ノー
ド」の集合を有し、親ノードは1つのリンクを介して各
子ノードに関連づけられる。1つの親ノードの複数の子
ノードは、その親ノードを共有する。親ノードはまた、
「子孫ノード」の集合を有し、該「子孫ノード」は、親
ノードの子ノードとそれら子ノードの子ノードの全て等
を包含する。
【0020】ノードリンク構造の「指数関数的に増大す
るブランチ」は、下位レベルにいくにつれて、ノード数
がおおよそ、下位レベルのノードをブランチの最上位レ
ベルノードに関連づけるリンク数mの指数関数で増大す
るブランチである。例えば、ブランチ内の親ノードが平
均して3つの子ノード有する場合、m番目の下位レベル
におけるノード数はおおよそ3m 個である。
【0021】「有界ノード特徴」は、知覚できる境界を
有するノード特徴である。有界ノード特徴の「範囲の中
心」は、ノード特徴の境界内の領域範囲の中心である。
従って有界ノード特徴の範囲の中心は、ノード特徴の境
界から演算されたり、表現を見て評価されたりできる。
【0022】1つの表現における第1の有界ノード特徴
に「最も近い他のノード特徴」は、第1のノード特徴の
範囲の中心から任意の他の有界ノード特徴の範囲の中心
までのスペーシングを越えない距離だけ、第1のノード
特徴の中心から離間された中心を有する第2の有界ノー
ド特徴である。ここではこの距離をノード特徴の「最も
近いノードスペーシング」と呼ぶ。有界ノード特徴は、
最も近い他のノード特徴を1つより多く有することもあ
り、その全ては、最も近いノードスペーシングだけ離れ
た所に範囲の中心を有する。
【0023】第1の領域における最も近いノードスペー
シングが第2の領域におけるそれよりも概して大きいと
観察者が認めることができる場合には、第1の領域にお
ける有界ノード特徴は、第2の領域における有界ノード
特徴よりも「概して知覚的に大きい」最も近いノードス
ペーシングを有する。有界ノード特徴が、1つの表現の
中の他の領域における最も近いノードスペーシングより
も概して知覚的に大きい「最も近いノードスペーシン
グ」を有する領域は、「より大きいスペーシングの領
域」と呼ばれることが可能である。
【0024】ノードリンク構造の表現においては、親ノ
ード特徴及び子ノード特徴のディスプレイ位置と、それ
らのディスプレイ位置が得られた方法がわかっていて、
子の子孫が領域の外周から最小スペーシングより遠くに
位置する可能性が小さければ、親ノード特徴のディスプ
レイ位置と子ノード特徴のディスプレイ位置との間の関
係は、「子孫ノードのいずれもが領域の外周から最小ス
ペーシングより遠くにある可能性は小さい」ということ
になる。例えば、以下に述べる実行では、2つのディス
プレイ位置の関係が、子ノード特徴のディスプレイ位置
が親ノード特徴のディスプレイ位置と同じ位外周に近接
しているような関係であるかどうかの可能性を検査す
る。
【0025】「負の曲率を有する空間」は、平行な線が
発散する空間である。従って、所与の直線上にない負の
曲率を有する空間における任意の位置を介すれば、所与
の直線に平行な他の直線が複数ある。負の曲率を有する
空間の一例は、双曲的なn次元空間である。「双曲面」
は、双曲的な2次元空間である。
【0026】連続空間の「ディスクリートな(離散的)
近似」は、空間内の各位置が連続空間に対する連続した
範囲の数の部分集合により一義的に特定されることがで
きる空間であり、該部分集合は、ディスクリートな近似
での位置が、連続空間と比較した場合に限られた精度で
特定されることのみが可能である。例えば、連続空間に
おける位置が実数により特定されることができる場合に
は、ディスクリートな近似での位置は、整数又はnビッ
ト数等によってのみ特定されることが可能である。
【0027】各位置が複数の位置のうち隣接する位置に
対してよりも弧に対しての方がより近接しているという
ように、楕円や円の弧がレイアウト空間内に存在するこ
とができる場合には、データ項目は「円に略沿った」位
置又は「弧に略沿った」位置を示す。円に略沿った隣接
位置同士は、レイアウト空間における隣接位置同士間の
距離が、基底スペーシングの大きさの水準内にある場合
には、略基底スペーシングだけ離間される。
【0028】位置が円に対してよりも円の中心に対して
の方がより近接する場合には、データ項目は、レイアウ
ト空間において「円の略中心」にある位置を示す。
【0029】2つ以上の親ノードを含み、その各々に対
してデータ項目が、円に略沿って親ノードを共有する子
ノードの位置と該円の略中心にある親ノードの位置とを
示すブランチ内において、円の半径と、円に沿って隣接
する子の位置との間のスペーシングとの最大及び最小の
ものが、互いの大きさの水準内にある場合には、その半
径及びスペーシングは、「ブランチ内で全て略均一」で
ある。円は半径を有し、各数の子ノードを有する円の半
径の平均長が、単調な正のスロープを有すると共にその
スロープが子の数の増加と共に減少する関数を近似する
曲線を形成する場合に、該半径は「下位レベルノードの
数と共にゆっくりと増大する関数を近似する」。
【0030】図1〜図5は、本発明の概括的な特徴を示
す。図1は、ノードリンク構造を規定するノードリンク
データを用いて、負の曲率を有するレイアウト空間にお
ける位置を示すレイアウトデータを得、それにより2つ
以上の異なるマッピングが行われることのできる方法を
示す。図2は、ノードリンクデータを用いて、図1のよ
うにレイアウトデータを得てマッピングを達成すること
における概括的な動作を示す。図3は、第1及び第2の
表現を以下のように表すことのできる方法を示す;第2
の表現は、第1の表現での第1のディスプレイ位置から
第2のディスプレイ位置への変更を示すユーザからの信
号に応答して、自動的に示されることができる。図4
は、第1及び第2の表現を図3のように表すことにおけ
る概括的な動作を示す。図5は、図1で示されるように
レイアウトデータを得ることができると共に、それを使
用してマッピングを達成することができ、図3で示され
るように第1及び第2の表現を表すことのできるマシン
の概括的な構成要素を示す。
【0031】図1において、ノードリンクデータ10
は、ノードリンク構造(一部が図示される)を規定す
る。示されるように、ノードリンク構造20は、ノード
と、ノードに関連するリンクとを含む。図1は、ノード
リンク構造20の指数関数的に増えるブランチを示し、
最上位レベルノード22は、1つのリンクを介して下位
レベルノード24、26、及び28に関連づけられてい
る。破線で示されるように、下位レベルノード24、2
6、及び28のそれぞれは、その次に下位レベルの3つ
のノードに関連づけられる。この増加率が続けば、指数
関数的に増加するブランチの下位レベルにおけるノード
数は略3m 個であり、ここでmは、そのレベルにおける
ノードを最上位レベルノード22に関連づけるリンク数
である。図1で示されるように、2次元のユークリッド
平面において指数関数的に増加するブランチをレイアウ
トすることは困難である。
【0032】しかしながらレイアウトデータ30は、ノ
ードリンク構造20の指数関数的に増加するブランチに
おけるノードの、負の曲率を有する空間32における位
置を示す。空間32は、レイ36とレイ38の間で頂点
から延びるウェッジの該頂点に最上位レベルノード22
の位置34を有するように、概括的に図示される。この
最上位レベルウェッジは、最上位レベル22に割り当て
られたものである。下位レベルノード24、26、及び
28は、円48に略沿った位置42、44、及び46を
有することができ、空間32における円48の中心はお
およそ、最上位レベルウェッジの頂点である位置34に
ある。
【0033】位置42、44、及び46は全て、最上位
レベルウェッジ内にあり、より下位レベルにある、最上
位レベルノード22の全ての子孫もまた、最上位レベル
ウェッジ内に位置することができる。例えば、指数関数
的に増加するブランチの、次に下位レベルにあるノード
も同様に、空間32におけるその中心がほぼ、位置4
2、44、及び46にあるそれぞれの円に沿って、位置
されることができる。空間32は負の曲率でカーブして
いるので、下位レベルノード24、26、及び28の各
々は、たとえ下位レベルウェッジが互いにオーバーラッ
プしなくても、レイ36及び38が位置34から発散す
るのと略同じ角度でウェッジの頂点から分岐するレイ同
士の間に下位レベルウェッジを割り当てられることがで
きると共に、その全ては最上位レベルウェッジ内に含ま
れる。
【0034】円48上で隣接する子位置42及び44
は、距離d1 だけ離間されており、隣接する子位置44
及び46は、距離d2 だけ離間されている。距離d1
はd2の各々は基底スペーシングに略等しく、円48の
半径d0 とブランチ内の他の円の半径は共に、半径と、
円に沿って隣接する子位置同士間のスペーシングとが全
てブランチ内で略均一であるように、下位レベルノード
の数と共にゆっくりと増大する関数を近似する。
【0035】図1で示されるように、レイアウトデータ
30は、2つ以上の異なるマッピングを実行するように
使用されることができる。0番目にマッピングされたデ
ータ50とN番目にマッピングされたデータ52で示さ
れるように、マッピング毎にマッピングデータが得られ
る。各マッピングにより得られたマッピングデータは、
ノードリンク構造20におけるノードの部分集合の位置
を示す。例えば位置は、ディスプレイ位置、又はレイア
ウト空間とは別の空間における位置であることが可能で
ある。
【0036】図2において、ボックス60における動作
は、ノードリンク構造を規定するノードリンクデータを
得ることにより開始する。ノードリンク構造は、ノード
及びリンクを含み、各リンクは少なくとも2つのノード
に関連づけられる。
【0037】ボックス62の動作は、ボックス60で得
られたノードリンクデータを使用して、負の曲率を有す
るレイアウト空間における、ブランチ中のノードの位置
を示すレイアウトデータを得る。親ノード集合中の各々
に対しては、親ノードを共有する子の位置は、ほぼ親ノ
ードの位置にその中心をおく円にほぼ沿っており、隣接
する子ノード同士は、略基底スペーシングだけ離間され
る。ブランチ内の複数の円の半径は共に、親を共有する
子ノードの数と共にゆっくりと増加する関数を近似する
ので、半径と、円に沿って隣接する子位置同士間のスペ
ーシングとは全て、ブランチ内で略均一である。
【0038】ボックス64における動作は次に、ボック
ス62からのレイアウトデータを使用して、少なくとも
2つの異なるマッピングに対してマッピングデータを得
る。各マッピングに対して得られたマッピングデータ
は、ノードの部分集合の位置を示す。
【0039】図3において、レイアウトデータ70は、
ノードリンク構造の部分(複数)の、負の曲率を有する
レイアウト空間における位置を示す。レイアウトデータ
70は、ノードリンク構造の第1の表現74を有する画
像72を表すように用いられる。画像72は、マウスや
他のポインタ制御デバイスにより制御されてディスプレ
イ位置を示す信号を提供することのできるポインタ76
を含むように図示される。
【0040】図3の破線で示されるように、第1のディ
スプレイ位置から第2のディスプレイ位置への変更を示
す信号78をユーザが提供する前に、不特定の時間が経
過する。第1の表現74は、第1のディスプレイ位置付
近にノードリンク構造の第1の部分を表す第1の特徴を
有する。例えば、ノード特徴80、82、及び84のう
ちの1つが、第1のディスプレイ位置付近にあることが
可能である。
【0041】信号78に応答して、画像86は、ノード
リンク構造の第2の表現88を有するように示される。
第2の表現88は、第1の表現74の変更された継続と
して知覚される。
【0042】第2の表現88では、ノードリンク構造の
第1の部分を表す第2の特徴は、第2のディスプレイ位
置付近にある。例えば、第1の表現74におけるノード
特徴80が第1のディスプレイ位置付近にあったとし
て、ノード特徴90が同一ノードを示すとすれば、第2
のディスプレイ位置は、ノード特徴80の位置からノー
ド特徴90の位置へのドラッギング信号により指示され
たということができる。同様に、ノード特徴92及び9
4がそれぞれ、ノード特徴82及び84と同一のノード
を示すとすれば、第2のディスプレイ位置は、ノード特
徴82又はノード特徴84の位置からそれぞれ、ノード
特徴92又はノード特徴94の位置へのドラッギング信
号により指示されることができたといえる。また、ノー
ド特徴82からノード特徴92へとサイズが増している
ことにより示される通り、より大きいスペーシングの領
域の中心に第2の位置を示すように、第1の表現74の
ノード特徴82上でクリックすることにより、第2のデ
ィスプレイ位置が指示されることができたといえる。
【0043】図4は、図3で示されたオペレーションを
実行する概括的な動作を示す。ボックス120の動作で
は、負の曲率を有するレイアウト空間におけるノードリ
ンク構造の部分の位置を示すレイアウトデータが得られ
る。
【0044】ボックス122の動作は、ボックス120
からのレイアウトデータを用いて、ノードリンク構造の
第1の表現を表示する。第1の表現は、ノードリンク構
造の第1の部分を示す第1の特徴を含み、該第1の特徴
は第1のディスプレイ位置付近にある。
【0045】破線で示されるように不特定の時間経過
後、ボックス124の動作は、第1のディスプレイ位置
から第2のディスプレイ位置への変更を示す、ユーザか
らの信号を受け取る。
【0046】ボックス126の動作は、ノードリンク構
造の第2の表現を表すことにより、ボックス124の信
号に応答する。第2の表現は、ノードリンク構造の第1
の部分を示す第2の特徴を含む。この第2の特徴は、第
2のディスプレイ位置付近にある。
【0047】図5のマシン150は、ユーザ入力回路1
54からユーザのアクションを示すデータを受け取るよ
うに、そして画像を規定するデータをディスプレイ15
6に提供するように接続されるプロセッサ152を含
む。プロセッサ152はまた、ノードリンクデータ15
8をアクセスするようにも接続され、該ノードリンクデ
ータは、図2に関して上述したようにノードリンク構造
を規定する。プロセッサ152は、命令入力回路162
を介して命令を指示する命令データ160を受け取るよ
うにも接続され、この命令入力回路162は、この図で
は、メモリ164、記憶媒体アクセスデバイス166、
又はネットワーク168への接続から受け取られた命令
を提供することができる。
【0048】命令データ160により示された命令を実
行する際、プロセッサ152はノードリンクデータ15
8を用いて、図2のボックス62と図4のボックス12
0で示されたように、負の曲率を有するレイアウト空間
におけるノードリンク構造の部分の位置を示すレイアウ
トデータを得る。次にプロセッサ152は、レイアウト
データを用いて、図4のボックス122で示されたよう
に、ディスプレイ156上にノードリンク構造の第1の
表現を表示するが、これは、図2のボックス64で示さ
れたように、ディスプレイの1つの領域に対してノード
の部分集合の第1のマッピングを行うことにより、実行
されることができる。プロセッサ152がユーザ入力デ
バイス154からユーザ信号を示すデータを受け取り、
その信号が、図4のボックス124のように第1のディ
スプレイ位置から第2のディスプレイ位置への変更を示
すものである場合には、プロセッサ152は、ノードリ
ンク構造の第2の表現を自動的にディスプレイ156上
に表示することができ、この場合、第1のディスプレイ
位置付近にあった特徴の位置は、図4のボックス126
で示されるように、第2のディスプレイ位置に変更され
ることとなる。第2の表現は、図2のボックス64で示
されたように、第2のマッピングを実行することにより
表示されることができる。
【0049】上述のように、図5は、命令入力回路16
2が、命令を示すデータを受け取ることのできる3つの
可能なソース、即ちメモリ164、記憶媒体アクセスデ
バイス166、及びネットワーク168を示している。
【0050】メモリ164は、ランダムアクセスメモリ
(RAM)や読出し専用記憶素子(ROM)を含むマシ
ン150内の任意の従来のメモリ、又は任意の種類の周
辺若しくは遠隔メモリであることが可能である。
【0051】記憶媒体アクセスデバイス166は、記憶
媒体170をアクセスするドライブ又は他の適切なデバ
イスであることが可能である。記憶媒体170は例え
ば、1つ以上のテープ、ディスケット、若しくはフロッ
ピーディスク等の磁気媒体;1つ以上のCD−ROMの
セットのような光媒体;又はデータを記憶するための他
の任意の適切な媒体;であることが可能である。記憶媒
体170は、マシン150の一部;サーバ又は他の周辺
若しくは遠隔メモリデバイスの一部;又はソフトウェア
製品の一部;であることが可能である。これら全ケース
において、記憶媒体170は、マシン150で使用され
ることのできる工業製品である。データユニットが記憶
媒体170上に位置づけられることができるので、記憶
媒体アクセスデバイス166は、データユニットをアク
セスすることができると共に、命令入力回路162を介
してプロセッサ152にそれらを連続して提供すること
ができる。連続して提供されると、データユニットは、
命令データ160を形成し、示されるような命令を指示
する。
【0052】ネットワーク168は、マシン180から
受け取られた命令データ160を提供することができ
る。マシン180におけるプロセッサ182は、ネット
ワーク接続回路184を介してネットワーク168を経
て、命令入力回路162との接続を確立することができ
る。どちらのプロセッサも、接続を開始することが可能
であり、接続は、任意の適切なプロトコルにより確立さ
れることができる。プロセッサ182は、メモリ186
に格納された命令データをアクセスし、この命令データ
をネットワーク168を経てプロセッサ152に伝送す
ることができ、その結果プロセッサ152が、ネットワ
ーク168から命令データを受け取ることができる。命
令データ160は、プロセッサ152によりメモリ16
4若しくは他の場所に格納されることができると共に、
実行されることができる。
【0053】上述の概括的な特徴は、種々のマシンにお
いて多数の方法で実行され、負の曲率を有するレイアウ
ト空間におけるノードリンク構造の部分の位置を示すレ
イアウトデータが得られ且つ使用されることができる。
以下に述べる実行は、UNIX/Xオペレーティングシ
ステムを実行するSunSPARCStationにお
いて実行した。それとは別に、アップルマッキントッシ
ュ(Apple Macintosh)のパーソナルコンピュータにお
いても実行した。UNIXでの実行では、コモンLIS
Pインタフェースマネージャ(CLIM)を付けて拡張
されたコモンLISPプログラミング環境において書か
れた命令を実行する。コモンLIPS環境及びCLIM
拡張は、ルシッド・インコーポレイテッド(Lucid In
c.)及びフランツ・インコーポレイテッド(Franz In
c.)から購入することができる。
【0054】図6は、本発明を実行したシステムの構成
要素を示す。
【0055】図6のマシン200は、中央処理ユニット
(CPU)202、マイクロプロセッサ、又は適切なプ
ロセッサを含む。CPU200は、キーボード204及
びマウス206を含むように図示されるユーザ入力デバ
イスから、ユーザ信号を示すデータを受け取るように、
接続される。CPU202はまた、ディスプレイ208
上に画像を表示させるデータを提供するように、接続さ
れる。ディスプレイ208に表示される画像は、マウス
206や別のポインタ制御デバイスにより制御されるポ
インタ210を含むことができる。
【0056】CPU202は、メモリ環境220を共に
提供する1つ以上のメモリ構成要素に接続される。メモ
リ構成要素は従来的に、CPU202に直接接続される
常駐RAM、内部バスを介してCPU202に接続され
る1つ以上の内部ディスクドライブ若しくは他の記憶媒
体アクセスデバイス、そして、記憶媒体アクセスデバイ
スを含むと共に、マシン200の外部接続を介してCP
U202に接続される周辺デバイス若しくは遠隔サーバ
等の1つ以上の外部メモリ構成要素、を包含する。CP
U202は従来的に、アドレスを提供することにより、
メモリ環境220中の任意のメモリ構成要素に格納され
たデータをアクセスする。
【0057】図6は、メモリ環境220に格納されるプ
ログラム構成要素とデータ構成要素を示す。プログラム
構成要素とデータ構成要素は別々に図示されているが、
所与のメモリ構成要素内に別々に格納される必要はな
い。プログラム構成要素は、CPU202が実行するこ
とのできる命令を示すデータを含むとともに、目的コー
ドフォーム又はソースコードフォームで格納されること
ができる。適切であれば、プログラム構成要素は、ソー
スコードフォームで格納されたプログラム構成要素から
命令を得るのに必要な、任意のコンパイラ及びインタプ
リタを含むことも可能である。プログラム構成要素によ
り示された命令を実行する際、CPU202はデータ構
成要素をアクセスして使用する。
【0058】オペレーティングシステムプログラム23
0により示された命令を実行する際、CPU202は、
CPU202とマシン200の他の構成要素との間でデ
ータを伝送するオペレーションを実行する。このような
オペレーションには、例えば、CPU202のメモリス
ペース中の論理アドレスを物理アドレスにマッピングし
て、メモリ環境220中のメモリ構成要素をアクセスす
ること等が含まれる。
【0059】CLIMライブラリ及びユーザインタフェ
ース拡張を含むコモンLIPS環境プログラム232に
より示された命令を実行する際、CPU202は、フラ
ンツ・インコーポレイテッド(Franz Inc.)から入手可
能なCLIM2.0仕様において規定される標準CLI
Mインタフェースを提供する。その結果、CPU202
が、CLIMソースコードを実行することができるの
で、走査検索(browser)インタフェースプログラム2
34及び双曲ジオメタリプログラム236は、CLIM
を付けて拡張されたコモンLISPで実行されることが
できる。
【0060】走査検索インタフェースプログラム234
により指示された命令を実行する際、CPU202はま
ず、マシン200を初期化する。CPU202は、ノー
ドリンク構造を規定するノードリンクデータ240を用
いて、双曲面におけるノードリンク構造の部分の位置を
示すレイアウトデータ242を得る。CPU202は、
レイアウトデータ242を用いて、ノードリンク構造の
初期表現に対するマッピングデータ244を得る。CP
U202がディスプレイ208にデータを提供すると、
ディスプレイに初期表現が表示される。
【0061】走査検索インタフェースプログラム234
により示された命令を実行する際、CPU202はま
た、キーボード204及びマウス206から、ユーザ信
号のイベントを示すデータを受け取る。CPU202
は、イベント待ち行列データ246をアクセスすること
により、イベントに応答するステップの待ち行列をセッ
トアップし、維持し、そしてハンドルする(処理す
る)。ユーザ信号イベントに応答するステップが完了す
ると、CPU202は次のイベントに応答するステップ
をセットアップすることができる。
【0062】走査検索インタフェースプログラム234
により示された命令を実行する際、CPU202はま
た、アニメーションパラメータデータ248をアクセス
することにより、アニメーションパラメータを修正する
ことができる。あるいはCPU202は、レイアウトデ
ータ242を用いて、ノードリンク構造の変更された表
現に対するマッピングデータ244を得ることができ、
ディスプレイ208にデータを提供して、変更された表
現をディスプレイに表示させる。
【0063】CPU202は、レイアウトデータ242
を得るため、マッピングデータ244を得るため、ポイ
ンタ210の位置からノードリンク構造の一部分にマッ
ピングするため等、多様な目的のために、双曲的ジオメ
トリプログラム236により示された命令を実行するこ
とができる。図6で示されるように、表現は、その上に
フィギュア252が示される背景250を含むことがで
き、フィギュア252内でポインタ210の位置は、例
えば最も近いノードにマッピングされることができる。
【0064】上述したCPU202のオペレーションを
多くの方法で実行して、負の曲率を有する空間において
レイアウトされたノードリンク構造に対して走査検索
(browser )を提供することが可能である。図7は、図
6のマシンが如何にして、エッジに近すぎないノードの
位置を変換することにより走査検索を提供することがで
きるかを示す。図8は、図6のマシンが如何にして、全
ノードのレイアウトデータを連続的に変換することによ
り走査検索を提供することができるかを示す。
【0065】図7及び図8の概括的なアプローチは、ノ
ードの位置がレイアウト空間において変換され、次にレ
イアウト空間からディスプレイ位置へのマッピングによ
り表現が表示されることができる、ということである。
上述のように、レイアウト空間は、双曲面又は負の曲率
を有する別の適切な空間であることが可能である。双曲
面とディスプレイ領域の間のマッピングを容易にするた
めに、ディスプレイ位置は、円形のディスプレイ領域内
の位置であることが可能である。
【0066】図7のボックス260の動作は、ノードリ
ンク構造中の各ノードに対するレイアウト空間における
位置を示すレイアウトデータを得る。レイアウト空間
は、例えば双曲面であることが可能である。ボックス2
60の動作はまた、レイアウトデータにおいて実行され
ることのできる現行変換を初期設定して、変換位置を得
る。初期現行変換は例えば、レイアウト空間におけるノ
ードの位置を変更しないヌル変換であることが可能であ
る。
【0067】ボックス262の動作は次に、ボックス2
60からのレイアウトデータに現行変換を実行し、レイ
アウト空間における位置がエッジに非常に近いノード以
外の各ノードの変換位置を示す変換データを得る。エッ
ジは、ノードリンク構造の表現がディスプレイされた時
に表示されるレイアウト空間の部分の境界となる。
【0068】次にボックス264の動作は、ボックス2
62から得られた変換位置をマッピングして、エッジに
近すぎない各ノードに対するディスプレイ上の位置を得
る。ボックス264の動作は次に、ディスプレイに表現
を表示する。エッジにそれほど近くない各ノードの表現
は、ノードのディスプレイ位置にノードの特徴を含む。
【0069】図7の破線により示されるように、ボック
ス270の動作は、不特定の時間の経過後、ボックス2
64の動作に続くことができ、この動作は、位置の変更
に対する要求をユーザから受け取る。この要求は、ディ
スプレイ上での少なくとも1つの位置の指示を含む。
【0070】ボックス272の動作は、ボックス270
において指示されたディスプレイ位置(単数又は複数)
をレイアウト空間に再びマッピングして、レイアウト空
間における開始位置及び終了位置を得る。例えば、マウ
スクリック等によりディスプレイ位置が1つのみ示され
る場合には、クリックの発生した時のポインタの位置を
用いて開始位置を得ることができ、また終了位置は、レ
イアウト空間におけるその表現の中心の位置であること
が可能である。あるいは、例えばボタンを押してその後
放すことによるドラッギング動作の間に、2つのディス
プレイ位置が示される場合には、ボタンを押した時のポ
インタの位置を用いて開始位置を得、またボタンから手
を放した時のポインタの位置を用いて、終了位置を得る
ことができる。
【0071】ボックス274の動作は、開始位置を終了
位置に移動するレイアウト空間の変換を得る。ボックス
276の動作は、現行変換とボックス274からの新た
な変換とを結合して、結合された変換を得る。ボックス
262及び264の動作が実行されて別の表現が表示さ
れる時には、この結合された変換が現行変換となる。
【0072】以下に述べるように、図7の技術を実行し
て、ただ1つの表現ではなく、クリックに応答して一連
の表現を表示した。このように変更することにより、開
始位置から終了位置への連続した動作の知覚を提供する
ことができる。
【0073】図8の技術は、例えばボックス280の動
作が図7のボックス260の動作と同じであるといった
ように、図7の技術と類似する。しかしながら、重要な
違いは、ボックス282の動作が、ボックス262でエ
ッジ付近のノードとして取り扱われたものも含めて、ノ
ードリンク構造中の各ノードの変更された位置を得ると
いうことである。よって図8の技術は、大型のノードリ
ンク構造に対しては、図7の技術ほど有効でない。
【0074】ボックス284の動作は、図7のボックス
264の動作と同じように、ボックス282からの変換
された位置をディスプレイ位置にマッピングし、このデ
ィスプレイ位置を用いて、ボックス264と同じように
表現を表示する。
【0075】ボックス290の動作は、ボックス270
と同じように要求を受け取る。ボックス292の動作
は、ボックス280からのレイアウトデータではなく、
ボックス282からの変換されたデータであるようにレ
イアウトデータを先ず更新することにより、応答する。
次にボックス292の動作は、ボックス290で示され
たディスプレイ位置(単数又は複数)から変換されたレ
イアウト空間へとマッピングを行って、開始位置及び終
了位置を得る。ボックス294の動作は、開始位置を終
了位置に移動する新たな変換を得、ボックス282及び
ボックス284の動作が実行されて別の表現が表示され
る前に、現行変換を更新して、新変換とする。
【0076】上述の通り、図7の技術は、大型のノード
リンク構造を図8の技術以上により良くハンドルする
が、その理由は、エッジに非常に近いノードに対しては
ボックス262の動作が実行されないからである。図8
の技術は、大型の構造に対しては実用的でないというこ
とが判った。さらに、図8の技術では変換を得る際に情
報がいくらか失われるため、図7の技術の方がより正確
である;それはなぜなら、図7の技術はボックス260
からの元々のレイアウトデータを使用し続けるからであ
る。
【0077】以下に述べるCPU202のオペレーショ
ンの実行は、図7の走査検索技術に続くものであるが、
以下に述べる基本的なオペレーションを使用して、図8
の走査検索技術を実行することもできる。
【0078】以下に述べる実行は、一様な方法でノード
リンク構造を双曲面にレイアウトし、この面を円形のデ
ィスプレイ領域にマッピングする。双曲面は、平行な線
が互いに離れるように発散する数学上の構築物である。
これは、円の円周がその半径と共に指数関数的に増大す
るという便利な特性につながり、このことは、距離が増
すとともに指数関数的により多くの空間を利用できると
いうことを意味する。従って、指数関数的に増大するノ
ードリンク構造を双曲的空間において一様な方法でレイ
アウトすることができれば、親、子、及び同胞の間の距
離は、階層中のどの場所でも略同じである。
【0079】双曲面は数学上の物体であるが、双曲面
は、単位円上へ自然な方法でマッピングされることがで
き、単位円は、2次元(ユークリッド)ディスプレイ上
にそれをディスプレイする方法を提供する。このマッピ
ングは、双曲面の起点付近の部分を他の部分よりも多く
のディスプレイ空間を用いてディスプレイする。双曲面
の起点から非常に遠隔の部分は、ディスプレイのエッジ
付近に極小さい空間を取る。従って単位円への投影は、
ノードリンク構造の一部を構造全体の構成の中に埋め込
みながら、該一部により多くの空間を割り当てる固有の
メカニズムを提供する。
【0080】双曲面上での構造の平行移動は、構造全体
を見ているという錯覚を弱めることなく、構造のどの部
分が最も大きい空間を得るのかを調整するメカニズムを
提供する。構造はまず、そのルートをより大きいスペー
シングの領域の中心にディスプレイされるが、実行は、
ポインタクリックや対話式ドラッギングを用いてフォー
カスを操作すると共に、かかる操作を織りまぜて移り変
わり(transition)をスムーズにアニメート(動画化)
する有効な手続きを包含する。構造の構成は常に、親、
同胞、及び子といったいくつかの世代を含んでおり、ユ
ーザは、迷うことなく構造を探索することが容易にな
る。
【0081】以下に述べる走査検索は、従来の階層的視
覚よりもずっと大きな構造との効果的な対話を支持する
と共に、ロバートソン(Robertson )他の米国特許第
5,295,243号において述べられたもの等の他の
新しい走査検索に比べて優れている。600×600ピ
クセルのウィンドウでは、標準的な2次元階層走査検索
は、各々が3文字列を有する100個のノードをディス
プレイできるのが、典型的である。以下に述べる走査検
索は、1000個のノードをディスプレイすることがで
き、そのうちフォーカスに最も近い50個は、3〜12
個の文字列を示すことができる。従って、10倍に及ぶ
数のノードがディスプレイされることが可能であると共
に、ノードリンク構造にわたって一層有効なナビゲーシ
ョンが提供されることができる。構造の部分の対象とす
るレベルが変化するに従って、構造を動的に歪ませてデ
ィスプレイすることにより、スケーリングの利点が得ら
れる。
【0082】図9及び図10は、レイアウトオペレーシ
ョンにおける動作を示す。図9は、CPU202が双曲
面にノードリンク構造をレイアウトする方法を示す。図
9の技術は、図7のボックス260の動作と図8のボッ
クス280の動作を実行するように用いられることがで
きる。図10は、ノードの子までの距離、子の位置、ウ
ェッジ、及びルーム(空間)の境界と、ノードの半径が
図9において如何に得られることができるかを示す。
【0083】図9のレイアウト技術は、局所情報に基づ
いてノードリンク構造中の各ノードを再帰的にレイアウ
トする。ノードは、それ自体から外方向に向かう双曲面
のウェッジを割り当てられ、該ウェッジの中にそのノー
ドの子孫が配置されることができる。ノードの子の全て
は、そのノードのウェッジの弧に沿って(即ちノードか
ら等しい距離をおいて)配置されると共に、互いに或る
最小の距離だけ離間されるに足りるだけ親ノードから離
れた所に配置される。各子は、その子孫に対するサブウ
ェッジを有する。
【0084】双曲的ジオメトリでは平行な線同士が発散
するということにより、各子は典型的に、その親のウェ
ッジと略同じ角度で広がるウェッジを有する。不均一な
構造に対してよりコンパクトなレイアウトを得るため
に、それ自体が多くの子孫を有する同胞は子孫を有さな
い同胞よりも大きいルーム(空間)を得るように、この
構造を変更する。この変更は、孫を祖父母から同じ距離
でより近くに置く傾向がある。
【0085】図9の技術はまた、ルートノードの子の占
める角度を変えることによって変更されることができ
る。ルートノードの子は、360°の円いっぱいに広げ
られるか、あるいは全てが円の片側に置かれることがで
きる。いくつかのケースでは、後者の方が良い。
【0086】図9のボックス350の動作は、ノードリ
ンクデータ中のルートノードのハンドル、双曲面の起点
の座標、該ルートノードの子孫に対して利用可能な双曲
面のウェッジ、及びルームの境界を用いてレイアウトオ
ペレーションを実行するための呼出しを受け取ることに
より、開始する。図9のレイアウトオペレーションは、
ノードリンクデータのハンドルがルートノードのハンド
ルでもあるように、非循環型の階層的ノードリンク構造
を規定するノードリンクデータを用いて、使用されるこ
とができる。双曲面のウェッジは、ウェッジの角度と方
向により規定されることができる。オリエンテーション
が放射状である場合には、ウェッジ角度は360°であ
ることが可能であるので、その方向は重要でないが、例
えばオリエンテーションが右方向である場合には、ウェ
ッジ角度はより小さく(例えば120°)、方向がオリ
エンテーションを決定する。ルームの境界は、ルートノ
ードに対して0.9に初期設定されることが可能であ
る。
【0087】ボックス352の動作は、現在ハンドルさ
れているノードが子を有するかどうかを調べる。子を有
しておれば、ボックス354の動作は、以下に述べるよ
うに、双曲面において子までの距離を得る。次にボック
ス360の動作は、現行ノードの子の各々をハンドルす
る繰り返しループを開始する。
【0088】ボックス362の動作は、次の子ノードに
対して、以下に述べるように双曲面における位置、ウェ
ッジ、及びルーム境界を得ることによって、各ループを
開始する。ボックス364の動作は次に、次の子のハン
ドルと、ボックス362からのその位置、ウェッジ、及
びルーム境界を用いてレイアウトオペレーションに対す
る再帰的な呼出しを行う。ボックス366の動作は、再
帰的呼出しからリターンし、次いでボックス368の動
作は、現行ノードの子ノードのリストに、その子のハン
ドルを加える。
【0089】現行ノードの子の全てがハンドルされた
ら、ボックス370の動作は、ボックス350又はボッ
クス364の呼出しにおいて受け取られたルーム境界
か、あるいはボックス354からの、現行ノードの子ま
での距離の半分か、のいずれかを取ることにより、現行
ノードの半径を得る。現行ノードが子を有さない場合に
は、ボックス370の動作は、ボックス350からのル
ーム境界を半径とする。
【0090】次にボックス372の動作は、現行ノード
のデータ構造を形成する。現行ノードのデータ構造は、
その位置とボックス370からのその半径を含み、現行
ノードが子を有する場合には、そのノードのデータ構造
はまた、ハンドル又はボックス368からのその子のリ
ストに対する他のリンクを含む。データ構造はまた、他
の関連する情報を含むことも可能である。次にボックス
374の動作は、現行ノードのデータ構造のハンドルを
戻すことにより、終了する。
【0091】図10は、図9のボックス354、36
2、及び370の動作が如何に実行されることができる
かを示す。
【0092】以下の記述において、1対の点同士の間の
距離は、起点に1つの点を置くポアンカレモデルにおけ
る点同士の間の距離として、符号化される。この距離
は、双曲的空間における点同士間の距離の逆双曲線正接
である。
【0093】ボックス390の動作は、全ノードに対し
て同一である基底スペーシングSを用いて、必要とされ
るスペースの値を得ることによってノードの子までの距
離を得ることにより、開始する。必要なスペースは、子
孫が均一に離間された場合に、ノードの各子の子孫によ
り占められることになる角度に依存する。このような角
度をここでは「重み」と呼称する。各子の重みの値は、
1.0とln(1.0+Grandchildren )の大きい方を
取ることにより得られることができ、ここで変数Grandc
hildren は、ノードの子の子であるノードの孫の全てに
対して、1.0とln( 1.0+(子の数))の大きい方
を合計したものに等しい。
【0094】必要なスペースの値を得るために、ボック
ス390の動作はまた、利用できる全角度を、現行ノー
ドの全ての子に対する重みの合計で割ることによって、
角度小片を得る。角度小片に重みの中で最小のものを乗
算して角度単位αが得られる。よって必要なスペース
は、((ssin2 +1.0)1/2 −ssin) に等しく、ここで
ssin=((( 1.0−S2)/2S)( sinα))である。
【0095】ボックス392の動作は、ボックス390
からの必要なスペースが、2S/(1+S2)として計算さ
れる最小スペース(最小スペースは、基底スペーシング
Sとそれ自体の双曲的合計である)より大きいかどうか
を決定する。大きければ、ボックス394の動作は、子
までの距離を必要なスペースに設定し、大きくない場合
には、ボックス396の動作は、子までの距離を最小ス
ペースに設定する。
【0096】次にボックス398の動作は、幅W0 の値
を0に初期設定する;下位ルームの値は、ボックス39
4又はボックス396からの距離Dの双曲的な半値に初
期設定されることができ、D/(1.0+ (1.0−D2)
1/2)として計算される;方向を示す値は、現行ノードの
ウェッジの角度幅Wを示す値と、単位円上の一点のx及
びy座標である(Θx ,Θy )の形態で現行ノードのウ
ェッジの方向を示す値とを用いて初期設定されることが
できる。第1の子の方向を計算するための開始方向(Θ
x ,Θy )は、((( Θx (cos( −W))) − (Θy (sin(
−W))))という計算値を有することができる。
【0097】ボックス360の動作は、図9に関して上
述したように、繰り返しループを開始する。繰り返しル
ープの役割は、ボックス400、402、404、及び
406で示される。
【0098】ボックス400の動作は、次の子ノードの
ウェッジの初期幅と方向を得、次いでこの初期幅を用い
て最終幅を更新する。ボックス400の動作はまた、利
用できる次の子ノードの位置、ウェッジ、及びルームを
得る。
【0099】ボックス400の動作は、子の重みと角度
小片(両方共にボックス390で得られる)の積として
初期幅Wn を得ることができる。ボックス400の動作
は、ボックス398又は前ループのいずれかからの(Θ
x ,Θy )及び幅角W0 を用いて、((( Θx (cos( W0
+Wn ))) −( Θy (sin( W0 +Wn ))))、((Θy (cos
( W0 +Wn ))) +( Θx (sin( W0 +Wn ))))) に等
しい座標値を有する子の方向(Θx ,Θy )を計算する
ことができる。ボックス400の動作は次に、初期幅W
n の値を有するように幅W0 を更新する。
【0100】ボックス400の動作は、親ノードがルー
トノードである場合にはボックス350からの、あるい
は親ノードに対して実行される場合にはボックス364
からの親ノードの位置(x,y)を用いて;子の方向
(Θx ,Θy )を用いて;そしてボックス394若しく
は396からの距離Dを用いて;次の子ノードの位置を
得ることができる。位置は、変換を用いて計算された値
(x,y,Θx ,Θy )を含む。
【0101】ポアンカレモデルにより表される双曲面の
厳密な変換は、点p及び角度αにより決定される(pは
変換前に起点であった点の最終位置を示し、αは回転を
示す)。点(x,y)の変換は、((Θz +P)/( P* Θ
z +1))であり、ここで、zは、実部xと虚部yを有す
る複素数;Pは、pを表す複素数;Θは、角度α分の回
転を表す大きさ1の複素数;P* はPの複素共役;であ
る。得られた値の実部及び虚部はそれぞれ、ポアンカレ
モデルにおいて変換された点pのx座標及びy座標であ
る。
【0102】共に4つの座標(x,y,Θx ,Θy )に
より表される角度αのコサイン及びサインと点pを規定
する値が得られたら、実部xと虚部yを有する複素数と
してのPと、実部Θx 及び虚部Θy を有する複素数とし
てのΘを得ることにより、変換を得ることができる。
【0103】従って、起点から点(x,y)への変換を
得るには、点及び方向(x,y,1.0,0.0)から
変換が得られることができ、ここで、座標1.0及び
0.0は、右方向、即ちそれから他の方向が測定される
基準方向を示す。この変換を、ここでは「起点からのト
ランスレータ」と呼ぶ。反対に、点(x,y)から起点
への変換を得るには、点及び方向(−x,−y,1.
0,0.0)から変換が得られることができる。この変
換を、ここでは「起点へのトランスレータ」と呼ぶ。
【0104】ボックス400の動作は、起点から親ノー
ドの位置への第1のトランスレータ(translator)を得
て、次いでこの第1のトランスレータを距離Dのx及び
y成分即ち(DΘx ,DΘy )に適用することにより新
たなx及びy座標を得ることができる(ここで(Θx ,
Θy )は、上述した子の方向である)。ボックス400
の動作は次に、新たなx及びy座標に対する起点への第
2のトランスレータを得、そして子の方向(Θx ,Θy
)に第1のトランスレータを適用して得られたものに
第2のトランスレータを適用し、(Θx ,Θy )の新た
な値を得る。
【0105】(Θx ,Θy )の新たな値は、子ノードの
ウェッジの方向を示す。ボックス400の動作は、ボッ
クス394又はボックス396からの初期幅Wn 及び距
離Dを用いることによって、次の子ノードのウェッジの
角度を得ることができる。ボックス400の動作は、座
標(D,0.0)に対する起点へのトランスレータを
得、次いでこのトランスレータを cosWn 及び sinWn
に適用して、比Rを有する値を得ることができる。
【0106】最後に、ボックス400の動作は、ボック
ス364の再帰的呼出しにおいて渡されるべきルーム境
界を得る際に使用されることのできるルームを得ること
ができる。利用可能なルームは、ボックス394又はボ
ックス396からの距離Dと初期幅Wn を用いて計算さ
れることができる。利用可能なルームは次いで、((s 2
+1.0)1/2 −s)と計算されることができ、ここで
s=((( 1.0−D2)/2D)/(sinWn ))である。
【0107】ボックス402の動作は次に、ボックス4
00からの利用可能なルームが、ボックス398からの
下位ルームより大きいかどうかに基づいて分岐する。大
きい場合には、ボックス404の動作はルーム境界を、
利用可能なルームの値に設定する。大きくない場合に
は、ボックス406の動作は、ルーム境界を下位ルーム
の値に設定する。
【0108】次に、現行ノードの全ての子が繰り返しル
ープによりハンドルされる(処理される)と、ボックス
410の動作は、ボックス350で受け取られたルーム
境界がボックス398からの下位ルームより大きいかど
うかに基づいて分岐する。大きい場合には、ボックス4
12の動作は、ノードの半径をルーム境界の値に設定す
る。大きくない場合には、ボックス414の動作は、ノ
ードの半径を下位ルームの値に設定する。
【0109】図10のオペレーションの結果、ブランチ
内のノードは略均一なスペーシングで離間される。それ
はなぜなら、基底スペーシングSは、それより小さいス
ペーシングが発生しない最小値であるからであると共
に、他のスペーシングは、ノードの子の数と共にゆっく
りとしか増加しないために、Sと比べてたいして大きく
ないということがわかるからである。
【0110】図11〜図13は、双曲面からディスプレ
イ領域へのマッピングオペレーションを示す。図11
は、レイアウト空間からディスプレイ位置へのマッピン
グが如何に実行されることができるかを示す。図11の
技術を用いて、図7のボックス262及び264の動作
を実行することができ、同じ技術を用いて、図8のボッ
クス282及びボックス284の動作を実行することも
できる。図12は、単位円においてノードのマッピング
位置が如何にして得られることができるかを示すと共
に、リンク特徴を表示することにおける関連オペレーシ
ョンを示す。図13は、ノード特徴を表示することにお
けるオペレーションを示す。
【0111】図11の技術は、上述の双曲面レイアウト
空間から単位円へ、そして単位円から円形のディスプレ
イ領域へとマッピングを行う。双曲面を単位円にマッピ
ングするには2つの標準的な方法がある。両方の方法に
おいて、双曲面における1つの近傍は円中心のフォーカ
スにレイアウトされ、一方双曲面の残りの部分は、円の
周囲方向に遠近法的な状態で消えていく。投影(projec
tive)マッピング即ちクレインモデル(Klein model )
は、双曲面における線を単位円における線にするが、角
度を歪ませる。等角(conformal )マッピング即ちポワ
ンカレモデルは、角度はそのまま保持するが、双曲面に
おける線を、単位円で弧となるように歪ませる。
【0112】rk =((2rp ) /( 1+rp 2)) に従っ
て起点からの距離を再計算することにより、2つのマッ
ピング間で変換を行うことは容易であり、これら両方
を、走査検索の実行における使用に関して、実験により
テストした。ポアンカレモデルは、ノードにおいて扇の
広がった形状を保持すると共に、スクリーンの実面積
(screen real-estate)を用いることに関してより優れ
た仕事を行うので、ポアンカレモデルの機能の方が、よ
り良い。加えて、ディスプレイにおける弧は、ディスプ
レイにマッピングする際に生じている歪みの種類を暗示
する。従って、図11の技術は、ポアンカレモデルを使
用する。ポアンカレモデルの下での双曲面の厳密な変換
は、単位円をそれ自体に送る複素平面での線形的部分変
換(linear fractional transformation)に対応する。
アールフォース,エル.ブイ.(Ahlfors, L.V. )の
「複素分析(Complex Analysis)」(McGraw-Hill, 196
6 )の76〜89頁には、線形部分変換の理論が述べら
れている。
【0113】ポアンカレ投影は、マッピングされた円が
起点から遠くなるにつれてその大きさが縮んでいくもの
の、双曲面上の円をユークリッド単位円上の円にマッピ
ングする。図11の技術は、他のどのノードの円とも交
わらないように保証された、各ノードの回りの双曲面に
おける円を計算することにより、この特性を発揮する。
そのような円が単位円にマッピングされると、円は、ノ
ードの図式的又は組織的な表現がディスプレイされるこ
とになる円形のディスプレイ領域を各ノードに対して提
供する。これは、ノードが受け取る実際のスペースの量
に依存してノードの異なる表現を用いるという便宜と組
み合わせられることができる。
【0114】図11において、ボックス500の動作
は、図9のボックス350の動作と同じく、ノードリン
ク構造のルートノードのハンドルと共にマッピングに関
する呼出しを受け取る。ボックス500の動作はまた、
現行トランスレータと呼ばれる変換;リンク機能と呼ば
れる、リンク特徴を表すための機能;ノード機能と呼ば
れる、ノード特徴を表す機能;ノード特徴を表す際にノ
ードがエッジに近すぎないかどうかを決定するために使
用される限界値;を受け取る。例えば、呼出しがアニメ
ートされる画像のシーケンス中に行われれば、限界値は
0.07であることが可能であり、そうでない場合に
は、マッピングが実行されている円形のディスプレイ領
域の半径の逆数を得ることにより計算して、限界値はピ
クセルの大きさであることが可能である。満足できるア
ニメーションが必要な場合には、限界値は、表現をレン
ダリング(render)するのに必要な時間を減少するよう
に調整されることができる。
【0115】ボックス502の動作は、前のノード特徴
の位置を示す変数や、単位円の外周からの、上記前の位
置の半径方向のギャップを示す変数を含めて、複数の変
数を初期設定することにより、マッピングを開始する。
ボックス502の動作は以下に述べるように、限界値等
の、アニメートされる表現のシーケンス内で使用される
べき値を、予め計算することができる。
【0116】ボックス504の動作は、以下に述べる技
術を用いて、単位円における現行ノードのマッピング位
置(x,y)を得ることにより、図11においてDoN
odeと呼称される再帰的オペレーションを開始する。
マッピング位置は、レイアウト空間における現行ノード
の逆像である。ボックス506の動作は次いで、現行変
換を用いて、ボックス504からの位置を前ノード特徴
の位置に連結する線として実行されたリンク特徴を表示
する。
【0117】ボックス510の動作は、ボックス504
からの位置によりノード特徴が表されることができるか
どうかを決定する。これは、ボックス504からの位置
の半径方向ギャップを計算し、次にそれをボックス50
2からの予め計算された限界値と比較して、それが単位
円の外周に近すぎる位置でないかどうかを決定すること
により実行される。DoNode内での計算を減少する
ために、半径方向ギャップを(1.0−(x2
2 ))と計算する;それはなぜなら、(x2 +y2
の値は別の目的のためにも計算されなければならないか
らである。ボックス502の動作は、ボックス500か
らの限界値を用いて、予め計算される限界値(1.0−
(1.0−限界値)2 )を得ることができる。半径方向
ギャップが予め計算された限界値より小さい場合には、
ボックス504からの位置は、単位円の外周に近すぎる
ということになる。
【0118】ボックス504からの位置が外周に近すぎ
る場合には、ボックス510の動作は、半径方向ギャッ
プを前位置の半径方向ギャップの95%と比較して、そ
の子が現在の位置よりも単位円の外周から遠くにあり得
る状態で、その親からの方向に存在するかどうかを決定
する。ボックス510の動作が、位置及び方向が両方共
によくないことを見い出せば、DoNodeは終了す
る。しかし、現在の位置が単位円の外周に近すぎない場
合や、その子が現位置よりも外周から遠くにあり得るよ
うな場合には、現行ノードを表すノード特徴が表示され
得るので、ボックス512の動作は、その子の各々をハ
ンドルする(処理する)繰り返しループを開始する。
【0119】DoNodeに対して再帰的呼出しを繰り
返し行う際、ボックス514の動作は、前ノード特徴の
位置をボックス504からの位置にセットすることによ
り、そして前位置の半径方向ギャップをボックス510
で計算された半径方向ギャップにセットすることによ
り、各ループを開始する。これらの値は、ループ内で局
所的にセットされる。次にボックス516の動作は、次
の子に対してDoNodeを子のハンドルとボックス5
04からの親の位置と共に呼び出す。ボックス518の
動作は、DoNodeからリターンする。
【0120】全ての子がハンドルされて各々が単位円に
おけるマッピング位置を有すると、ボックス520の動
作は、DoNodeが終了する前に現行ノードのノード
特徴を表示する。従ってノード特徴は、ボックス506
で表されたリンク特徴の上に描かれる。ノード特徴は、
レイアウト空間におけるノードの位置と半径を用いて配
置され、ディスプレイ面においてマッピング領域を得る
ことができ、このマッピング領域は、後述するように中
心及び半径により規定される。ウェーハ変数がある場合
には、ノード特徴は、その中心に中心を置くテキストと
半径を有する円を含むが、テキスト変数がある場合に
は、ノード特徴は、その中心に中心を置くテキスト及び
矩形を含む。
【0121】ボックス506及びボックス520の動作
はそれぞれ、ディスプレイ208上に特徴を表示するこ
とを含む。これらの動作は、従来のディスプレイドライ
バ技術を用いて、使用されている指定ディスプレイシス
テムに適切なように実行されることができる。一般に、
これらの動作は、単位円位置からディスプレイ位置への
一定の変換を行う。
【0122】図12は、ボックス504及びボックス5
06の動作が実行されることのできる方法を示す。
【0123】ボックス540の動作は、DoNode呼
出しをノードのハンドルと親の変換位置と共に受け取
る。ノードがルートノードである場合には、親の変換位
置は、それ自身の変換位置とされる。そうでない場合に
は、親の変換位置は、以下に述べられるように現行トラ
ンスレータを適用することにより以前に得られたもので
ある。
【0124】ボックス542の動作は、ノードのハンド
ルを使用して、レイアウト空間におけるその位置を得る
が、該位置は、図9のボックス372に関して述べたよ
うにノードのデータ構造から得られることができる。ボ
ックス544の動作は次に、ボックス500からの現行
トランスレータをボックス542からのノード位置に適
用して、レイアウト空間における変換位置を得る。トラ
ンスレータは、図10のボックス400に関して上述し
たように得られることができる。
【0125】ボックス500からのリンク機能は、ボッ
クス540からの親の位置と、ボックス544からの変
換位置と共に呼び出されて、図12における残りの動作
が実行されることができる。リンク機能は、親の変換位
置と現行ノードの変換位置とを用いてマッピング位置を
得ることにより、ボックス546において開始する。こ
の実施の形態では、ウィンドウの左上の角から(Rd
d )に中心を置く半径Rd の円形のディスプレイ領域
へとマッピングされると、各座標cのマッピングは、
(cRd +Rd +0.5)の下のフロア(floor )を計
算することにより、得られることができる。このマッピ
ングは、レイアウト空間から単位円へのインプリシット
なマッピングを含み、それは、レイアウト空間における
位置の座標を単位円での位置のx座標及びy座標として
得ることにより実行される。次いで単位円位置が、上記
計算によりディスプレイ位置にマッピングされる。
【0126】リンク機能は、弧であるリンク特徴をディ
スプレイすることが適切であるかどうかを決定すること
により、ボックス550で継続する。弧は、例えば、ア
ニメーションシーケンス中には適切であり得ない;それ
はなぜなら、弧が付加的な計算を必要とするからであ
る。あるいは、ボックス546からのマッピング位置同
士間の差が小さい場合に弧は適切であり得ないので、弧
はいずれにしても略線として現れるであろう。弧が適切
でない場合には、ボックス552の動作は、ボックス5
46からのマッピング位置を連結する直線を引く。
【0127】弧が適切である場合には、ボックス554
の動作は、ボックス540からの親の位置(xp
p )とボックス544からの変換位置(xt ,yt
とを使用して、ディスプレイ空間における弧の曲率半径
を計算することにより開始する。ボックス554の動作
は、2つの点を通ると共に90度で境界円と交わる弧の
曲率の中心を得ることにより、実行されることができ
る。これは、レイアウト空間における2つの点同士の間
の線からマッピングされた弧である。次に計算により、
曲率半径を得ることができる。
【0128】ボックス554の動作は、d=2(xp
t −xt p )という値をまず得て、次いでa=((1+
t 2 +yt 2 )/d) とb=((1+xp 2 +yp 2 )/
d) という2つの値を得ることができる。曲率の中心
は、xc =byt −ayp 、yc=axp −bxt であ
るような点(xc ,yc )である。曲率半径は、曲率の
中心から、親の変換位置(xp ,yp )か現行ノードの
変換位置(xt ,yt )のいずれかまでの距離として、
計算されることができる。
【0129】ボックス556の動作は、ボックス554
からの曲率半径が正確なドローイング(drawing )に対
して大きすぎないかどうかを決定する。大きすぎる場合
には、ボックス552の動作は、上述のように直線を引
く。しかしながら、半径が十分に小さい場合には、ボッ
クス558の動作は、従来の計算を用いて、ボックス5
54で計算されたように、ディスプレイ上に弧を描く。
【0130】ボックス552の動作又はボックス558
の動作の後、図12の技術は図11のボックス510に
戻る。
【0131】図13は、図11のボックス520の動作
が実行されることのできる方法を示す。
【0132】図13のボックス570の動作は、ノード
特徴を表示することが適切であるかどうかを検査するこ
とにより開始する。この動作は、ノード特徴がディスプ
レイされるべきことを示すようにパラメータが設定され
るのかどうか、又はアニメーションシーケンスに対して
は、ノード特徴がアニメーションの間にディスプレイさ
れるべきではないことを示すようにパラメータが設定さ
れるのかどうか、を決定することを含む。ノード特徴の
表示が適切でない場合には、DoNodeは終了する。
【0133】ノード特徴の表示が適切である場合には、
ボックス572の動作は、ボックス372に関して述べ
られたデータ構造からの現行ノードの位置及び半径を使
用して、単位円における中心位置と単位円内半径を得
る。中心位置のx及びy座標は、各々に((1.0−rj
2 )/( 1.0−( x2 +y2 ) rj 2 ))を乗算すること
により得られることができ、ここで、rj は現行ノード
の半径であり、例えば0.9より小さい数を乗算される
ことにより、ノード同士間にギャップを付加するように
任意に調整される。ボックス572の動作は、半径rj
に((1.0−( x 2 +y2 ))/(1.0−( x2 +y2 )
j 2 ))を乗算して、単位円内半径ru を得ることがで
きる。
【0134】次にボックス574の動作は、ボックス5
72からの中心位置と単位円内半径ru を用いて、ディ
スプレイ上の対応する円を囲む境界ボックスの左上の角
にディスプレイ位置を得るとともに、ディスプレイ上の
対応する円の直径を得る。左上角のx及びy座標はそれ
ぞれ、座標cを用いて、(Rd (c−ru )+Rd
0.5)の下のフロアを計算することにより、得られる
ことができる。直径は、値(Rd ( x+ru )+Rd
0.5)の下のフロアと、値(Rd (x−ru )+Rd
+0.5)の下のフロアとの間の差として得られること
ができる。
【0135】次にボックス576の動作は、ボックス5
74からの大きさに合うキャラクタの総数を得る。総数
は、サイズにおけるフロアファンクションとキャラクタ
サイズに関して得られることができる。ボックス580
の動作は、総数が2より大きいかどうかにより分岐す
る。2より小さければ、DoNodeは、意味のあるテ
キストを表現するのにサイズが不十分であるため、終了
する。
【0136】総数が2より大きい場合には、ボックス5
82の動作は、テキストの位置を得る。例えばx座標
は、マッピングされたサイズと、そのノードのテキスト
中のキャラクタの数とキャラクタサイズとの積と、の差
の半分とマッピングされたx座標との合計であることが
可能である。y座標は、(Rd y+Rd +0.5)の下
のフロアであることが可能であり、ここでyはボックス
572からの中心のy座標である。
【0137】次にボックス590の動作は、ウェーハが
表示されるべきか矩形が表示されるべきかに基づいて分
岐する。ウェーハの場合には、ボックス592の動作
は、ボックス574からのマッピング位置に円を描く。
矩形の場合には、ボックス594の動作は、テキストの
回りに合う矩形を、ボックス582からの位置に描く。
次に、ボックス596の動作は、DoNodeが終了す
る前にボックス582からの位置にテキストを描く。
【0138】以下に述べるように、図11〜図13の技
術は、位置の変更に対する要求に応答して使用されるこ
ともできる。
【0139】図14〜図16は、表現の位置の変更を要
求するユーザからの信号に応答するオペレーションを示
す。図14は、CPU202が、レイアウト空間にマッ
ピングすると共に変換を得てそれを適用することによ
り、ユーザからの信号に如何に応答することができるか
を示す。図14の技術を用いて、図7のボックス27
2、274、及び276の動作を実行することができ、
同じ技術を用いて、図8のボックス292及び294の
動作を実行することができる。図15は、ルートノード
のオリエンテーションを保持しながら、第1の位置から
第2の位置への変換を得る方法を示す。図16は、右方
向へ、より大きいスペーシングの領域の中心にノードの
子を方向づけながら、第1の位置から第2の位置への変
換を得る方法を示す。
【0140】図14の技術は、双曲面における構造を平
行移動して、連続的且つ幾何学的なフォーカス移動方法
を提供する。ユーザは、構造全体の視覚的な構成を維持
しながら、構造を容易に走査検索することができる。ユ
ーザは、目に見える任意の点をクリックして、それを中
心にあるフォーカスに持っていくか、あるいは目に見え
る任意の点を任意の他の位置に対話的にドラッギングす
るかのいずれかにより、フォーカスを変更することがで
きる。どちらの場合にも、表現の残りの部分は適切に変
換される。中心に近づく領域は大きくなり、元は中心に
あった領域は、エッジ近くになるにつれて縮んでいく。
【0141】2つの変換の合成を計算するために、点
(0,0)が第1の変換の下で変換され、次にその結果
に対して第2の変換が行われることができる。次に、同
様のことが、点(0,1)に対して行われることができ
る。それら2つの点の画像は、合成を識別するのに十分
であり、適切な幾何学的オペレーションは、その情報か
ら直接的に演算されることができる。
【0142】図14のボックス610の動作は、表現が
表示されているディスプレイ領域において、第1の位置
と第2の位置を示す位置の変換に対する呼出しを受け取
る。ドラッギングオペレーションでは、第1及び第2の
位置は、明確に示されることができる。クリックオペレ
ーションでは、第1の位置がクリック位置であり、第2
の位置がディスプレイ領域の中心であることが可能であ
る。
【0143】ボックス612の動作は、ボックス610
からの第1及び第2の位置を、双曲的ジオメトリオペレ
ーションが実行されることのできる単位円座標に変換す
ることにより、開始する。この実施の形態では、表現は
ウィンドウ内の半径rの円形ディスプレイ領域に表示さ
れるので、ボックス612の動作は、各座標をrで割っ
て1.0を減算することにより、実行されることができ
る。
【0144】ボックス620の動作は次に、ボックス6
12からの単位円位置のいずれかが、単位円のエッジに
近すぎないかどうか(例えばエッジの約0.025範囲
内にあるかどうか)を検査する。いずれかが近すぎる場
合には、ボックス622の動作は、起点からその位置ま
での距離の97%を各座標に乗算するなどして、エッジ
に近すぎる位置を調整する。このように、エッジに近す
ぎる位置をエッジから遠くなるよう移動させるように、
各座標をわずかに減らす。
【0145】ボックス612の変換と、必要であればボ
ックス622の調整は、第1の位置の逆像と第2の位置
の逆像の両方を、レイアウト空間に生成する。
【0146】次にボックス624の動作は、第1の位置
の逆像を第2の位置の逆像にする、レイアウト空間にお
ける変換を見い出すことにより、トランスレータを得
る。以下に詳細に述べる技術を用いてトランスレータを
得ることができる。
【0147】図14の技術は、ボックス630の動作に
示されるように、アニメーションが実行されているか否
かに依存して、2つの異なる経路をとることができる。
ドラッギングオペレーションでは、アニメーションは連
続性の知覚を生じる必要がないこともあるが、クリック
オペレーションでは、連続性の知覚を生じる、より小さ
いステップのアニメートシーケンスに分割されることが
必要であり得る。
【0148】アニメーションが実行されていない場合に
は、ボックス632の動作は、ボックス624からのト
ランスレータを現行平行移動と合成することにより、新
たな現行平行移動を得る。これは、平行移動(translat
ion )を用いて、レイアウトデータからディスプレイ表
現を得るという意味である。新たな値Pn とΘn を、P
n =((P1 +P2 Θ1 )/( 1.0+P1 * 2 Θ1
(ここで、P1 * はP1の複素共役である)、Θn
((Θ21 +P1 2 * ))/(1.0+P1 * 2 Θ 1 )
と計算することにより、各々が点Pi と回転角度Θ
i (iはトランスレータを示す)により規定される、第
1のトランスレータと第2のトランスレータの合成が得
られることができる。合成されると位置の交換が可能で
ないため、トランスレータが合成される順序は、結果と
して得られる平行移動に影響を及ぼす。
【0149】ボックス634の動作は、ボックス632
からの新たな現行平行移動をレイアウトデータに適用し
て、変換位置を得、次いで変換位置をマッピングし、図
11に関して上述されたように表現を表示する。こうし
て、ボックス610の呼出しに対する応答が終了する。
【0150】アニメーションが実行されている場合に
は、ボックス640の動作は、以下に述べるようにボッ
クス624からのトランスレータのn番目のルートを得
る。次に、ボックス642の動作は、中間的平行移動
を、表現を表示するために用いられる現行平行移動に初
期設定することにより、繰り返しループに備える。ボッ
クス644の動作は、n回実行される繰り返しループを
開始して、n個の中間的平行移動を得る。ボックス64
6の動作は、ボックス640からのn番目のルートを中
間的トランスレータと合成し、ボックス632に関して
述べた合成技術を用いて、新たな中間的平行移動を得
る。次に、ボックス648の動作は、ボックス646か
らの新たな中間的平行移動を、中間的平行移動の待ち行
列に加える。
【0151】n個の中間的平行移動が待ち行列に加えら
れた後、ボックス650の動作は、ボックス624から
のトランスレータを、表現の表示に用いられる現行平行
移動と合成することにより、最終の平行移動を得る。ボ
ックス652の動作は、最終の平行移動を待ち行列に加
え、次いでボックス654の動作は待ち行列を通って、
レイアウトデータに各平行移動を適用して変換位置を
得、次いで、変換位置をマッピングすると共に、ボック
ス634に関して上述したように表現を表示するが、待
ち行列に加えられた各々の平行移動に対して1つの表現
を有する。こうして、ボックス610の呼出しに対する
応答が終了する。
【0152】ボックス640の動作は、トランスレータ
の点Pt と回転角度Θt を用いて以下のようにn番目の
ルートを得ることができる。3つのケースのどれを適用
するかを決定するために、ボックス640の動作は、d
=(4|Pt 2 −|Θt −1|2 )を得ることができ
る。ボックス640の動作はまた、例えばqa =(|Θ
t −1|2 /|Θt +1|2 )及びqb =(d/|Θt
+1|2 )のように、1つより多いケースにおいて使用
可能な値を予め計算することも可能である。
【0153】d>0であれば、ボックス640の動作
は、a1 =(tanh((atanh(qb 1/2))/n)/(
b 1/2)) 、t1 =a1 2a 、及びr1 =a1 ((1+q
a )/(1+t 1 ))1/2 を得ることができる。
【0154】d=0であれば、ボックス640の動作
は、t2 =(qa /n2 )、r2 =((( 1+qa )/
(1+t2 ))1/2 /n)という同様の値を得ることがで
きる。
【0155】d<0である場合には、ボックス640の
動作は、a3 =((tan((atan(−qb 1/2))/n))、t3
(a3 2|Θt −1|2 /(−d))、及びr3 =(4t3
/((1+t3 )(|Θt −1|2 ))1/2 を得ることができ
る。
【0156】次に、ボックス640の動作は、実部((1
−ti )/(1+ti ))と虚部(2ti 1/2 / ( 1+t
i ))(ここで、ti は上述のように適用可能なケースに
対する値である)を有する複素角度Θr をまず得ること
により、n番目のルートトランスレータの回転角度Θn
を得ることができ、また複素平方根に対するブランチカ
ットが選択されて、より小さい絶対回転を有する角度が
与えられる。Θr は、Θn を得るために1という大きさ
を有するように正規化される。
【0157】最後に、ボックス640の動作は、n番目
のルートトランスレータの点Pn を、Pn =Pt i (
Θn /Θt 1/2 (ここで、ri は上述のように適用可
能なケースに対する値である)として得ることができ
る。
【0158】図15は、第1の位置(x1 ,y1 )から
第2の位置(x2 ,y2 )へのトランスレータを得ると
共に、第3の位置(x3 ,y3 )のオリエンテーション
を保持するために、ボックス624の動作が如何に実行
されることができるかを示す。示されるように、図15
の動作は、図14のボックス620又はボックス622
のいずれかの後に続き、この実施の形態では、ドラッギ
ング呼出しに応答しての実行の場合にはボックス632
に先行し、クリック呼出しに応答しての実行の場合には
ボックス640に先行する。ドラッギング呼出しに応答
して呼び出される場合には、第1の位置はドラッギング
動作の開始位置であり、第2の位置は終了位置である。
クリック呼出しに応答して呼び出される場合には、第1
の位置はクリックの位置であり、第2の位置は単位円の
起点である。どちらの場合にも、第3の位置は、ルート
ノードの現在位置であり、この現在位置は、レイアウト
空間において位置(0,0)に現行平行移動を実行する
ことにより得られる。
【0159】ボックス670の動作は、第3の位置から
起点への第1のトランスレータを得、図10のボックス
400に関して上述したように実行されることができ
る。次にボックス672の動作は、第1の位置に第1の
トランスレータを適用し、第1の変換位置を得る。
【0160】ボックス674の動作は、回転成分を有さ
ないと共に、第1の変換位置(xa,ya )を第2の位
置(xb ,yb )に移す第2のトランスレータを得る。
ボックス674の動作は、点P2 と回転角度(1.0,
0.0)を有するトランスレータを得ることにより、実
行されることができる。ボックス674の動作は、複素
値((B−A)(1+( AB )* ) / ( 1− (|AB
* )2)の実部を得ることにより、P2 の実部を得るこ
とができる。ボックス674の動作は同様に、複素値
((B−A)(1−( AB )* ) /(1− (|AB|* )2) の
虚部を得ることにより、P2 の虚部を得ることができ
る。これらの式において、A=xa +iya 、B=xb
+iyb である。
【0161】ボックス676の動作は次に、ボックス6
74から得られた第2のトランスレータとボックス67
0から得られた第1のトランスレータとの合成であるト
ランスレータを得る。ボックス676から得られたトラ
ンスレータは次に、図14のボックス632の動作にお
いて、又はボックス640及びボックス650の動作に
おいて、実行されることができる。
【0162】図16は、ノード特徴の子が右方向への方
向付けで、より大きいスペーシングの領域の中心付近に
あるように、第1の位置から起点である第2の位置への
トランスレータを得るために、ボックス624の動作が
実行されることのできる方法を示す。示されるように、
図16の動作は、図14のボックス620又はボックス
622のいずれかの後に続くと共に、この実施の形態で
は、クリック呼出しに応答して実行されるだけなので、
図16の動作はボックス640に先行する。第1の位置
はクリック位置である。
【0163】ボックス690の動作は、第1の位置から
起点への第1のトランスレータを得ると共に、図10の
ボックス400に関して上述したように実行されること
ができる。ボックス692の動作は、ボックス690か
ら得られた第1のトランスレータと、ディスプレイされ
る表現を得るために使用される現行トランスレータとの
合成である第2のトランスレータを得る。
【0164】ボックス694の動作は、現行変換の反転
を適用して、第1の位置の逆像を得る。点Pと回転角度
Θとにより規定される変換は、点(−PΘ* )と回転角
度Θ * とによる変換を得ることにより、反転されること
ができる。ボックス694の動作はまた、第1の位置の
逆像を用いて、最も近いノードの親を見い出す。
【0165】ボックス700の動作は、ボックス694
からの親ノードの位置にボックス692からの第2のト
ランスレータを適用すると共に、その結果が1という大
きさを有するように正規化して、親の方向(Θx ,Θy
)を得る。ボックス702の動作は次に、起点を移動
することなくレイアウト空間を親方向に回転する第3の
トランスレータを得る。第3のトランスレータは、
(0,0)という点と(−Θx ,Θy )を有することが
できる。
【0166】次にボックス704の動作は、ボックス7
02から得られた第3のトランスレータをボックス69
2から得られた第2のトランスレータと合成することに
より、第4のトランスレータを得る。次に、ボックス7
06の動作は、ボックス704からの第4のトランスレ
ータと、現行平行移動の反転とを合成することにより、
トランスレータを得る。ボックス706からのトランス
レータは、図14のボックス640及び650の動作に
おいて使用されることができる。
【0167】上述の実行は、円形のディスプレイ領域に
表現を表示するが、表現は、双曲面からの適切なマッピ
ングを介して、楕円のような任意の他の適切な形状のデ
ィスプレイ領域にも表示されることができる。
【0168】上述の実行は、単一のより大きいスペーシ
ングの領域を有するように表現を示すが、表現は、より
多くのノード特徴にフォーカスを当てるために、2つ以
上の、より大きいスペーシング領域を有するように表示
されることができる。特に興味深いのは、ポアンカレマ
ップにおける点(a,0)及び点(−a,0)がそれぞ
れ、双眼鏡で見た場合のような(2つの)より大きいス
ペーシング領域の中心となる、2重フォーカス表現であ
る。この表現の場合、ポアンカレマップにより表現され
る双曲面における点zは、ディスプレイ空間における
((z(1−a2) /(1−a2 2)) にマッピングされ
る。
【0169】上述の実行は、双曲面を使用するが、双曲
的なn空間等の負の曲率を有する別の空間を使用するこ
ともできる。
【0170】上述の実行は、双曲面において位置を表示
するのに複素数を使用するが、それは一部には、複素数
における連続関数が等角マッピングであるからである。
しかしながら、双曲面における位置は、他のタイプのデ
ータ又は座標を用いて表示されることができる。
【0171】上述の実行は、双曲面から単位円へ、そし
て単位円から円形のディスプレイ領域へとマッピングす
るが、レイアウト空間からディスプレイ領域への他のタ
イプのマッピングを使用することもできる。例えば、ポ
アンカレモデルからクラインモデルへのマッピングは実
験段階ではまだ満足がいく程には実行されなかったが、
このようなマッピングも使用することができる。
【0172】アニメーションを実行することにおいて、
上述の実行は、n個(nは定数)のステップを使用す
る。アニメーションの数は、定数ではなく、アニメート
動作が生じている開始位置と終了位置との間の距離に依
存する変数であることも可能である。
【0173】ループ型の走査検索を行うことにおいて本
発明を使用した。
【0174】さらに、負の曲率を有する空間においてノ
ードリンク構造を均一にレイアウトすることは、インタ
ラクティブボイスシステムに適用されることができ、ま
た、レイアウト空間からサウンドレンダリングへのマッ
ピングが実行されることが可能である。
【図面の簡単な説明】
【図1】ノードリンクデータを用いて、負の曲率を有す
る空間における位置を示すレイアウトデータを得、それ
により2つ以上の異なるマッピングが達成されることの
できる方法を示す概略的フローチャートである。
【図2】図1のようにレイアウトデータを得ると共にマ
ッピングを達成することにおける概括的な動作を示すフ
ローチャートである。
【図3】ノードリンク構造の第1及び第2の表現が如何
に表示されるかを示す概略的なフローチャートであり、
この第2の表現は、第1の表現における、第1の位置か
ら第2の位置への変更を指示する信号に応答して自動的
に表示される。
【図4】図3のように第1及び第2の表現を表示するこ
とにおける概括的な動作を示すフローチャートである。
【図5】図1のようにレイアウトデータを得てマッピン
グを実行し、また図3のように第1及び第2の表現を表
示するマシンの概括的な構成要素を示す概略図である。
【図6】負の曲率を有するレイアウト空間においてノー
ドリンク構造をレイアウトし、次いでマッピングを行っ
てディスプレイ上にノードリンク構造の表現を表示する
ことのできるシステムの構成要素を示す概略ブロック図
である。
【図7】図6のマシンが、位置の変更に関する要求に応
答して、エッジに近すぎないノードの部分集合の位置を
変換し且つマッピングすることにより、走査検索インタ
フェースを提供することのできる動作を示すフローチャ
ートである。
【図8】図6のマシンが、位置の変更に関する要求に応
答して、全ノードの位置を連続的に変換し且つマッピン
グすることにより、走査検索インタフェースを提供する
ことのできる動作を示すフローチャートである。
【図9】図7の技術を実行する図6のシステムによるレ
イアウトオペレーションにおける動作を示すフローチャ
ートである。
【図10】ノードの子までの距離、子の位置、ルーム境
界、及びノードの半径を図9において得ることのできる
動作を示すフローチャートである。
【図11】図7の技術を実行する図6のシステムによる
レイアウト空間からディスプレイ位置へのマッピングに
おける動作を示すフローチャートである。
【図12】単位円におけるノードのマッピング位置を得
ると共に、リンク特徴を表示することのできる図11の
動作を示すフローチャートである。
【図13】図11におけるノード特徴を表示する動作を
示すフローチャートである。
【図14】図7の技術を実行する図5のシステムによ
る、位置の変更を要求するシステムに応答する動作を示
すフローチャートである。
【図15】図14のルートノードのオリエンテーション
を保持するトランスレータを得ることのできる動作を示
すフローチャートである。
【図16】より大きいスペーシングを有する領域の中心
にある或るノードの子ノードを起点として右方向に再配
置するトランスレータを得ることのできる、図14の動
作を示すフローチャートである。
【符号の説明】
10 ノードリンクデータ 20 ノードリンク構造 22 最上位レベルノード 24、26、28 下位レベルノード 30 レイアウトデータ 32 負の曲率を有する空間 150 マシン 152 プロセッサ 154 ユーザ入力回路 156 ディスプレイ 158 ノードリンクデータ 160 命令 162 命令入力回路
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 17/00 G06T 11/80 9365−5H G06F 15/62 322 B (72)発明者 ラマナ ビー.ラオ アメリカ合衆国 カリフォルニア州 94112 サンフランシスコ イナ コート 50

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ノードリンク構造レイアウト方法であっ
    て、 レイアウトデータを得るステップを有し;該レイアウト
    データは、ノードリンク構造部分に対するレイアウト空
    間内位置を示し;前記レイアウト空間は負の曲率を有す
    る空間であり;前記ノードリンク構造は、ノード及びリ
    ンクを含み、各リンクはノードの中の少なくとも2つに
    関連し;前記レイアウトデータは、ノード集合に対する
    レイアウト空間内位置を示し;前記ノード集合は、最上
    位レベルと少なくとも1つの下位レベルとを含む2つ以
    上のノードレベルを有するブランチを形成し、該最上位
    レベルが最上位レベルノードを含み、該下位レベルが下
    位レベルノードを含み、各下位レベルにおける各ノード
    が、次に高いレベルに親ノードを有すると共にこの親ノ
    ードに1つのリンクを介して関連づけられ;2つ以上の
    親ノードの集合中の各々に対して、前記レイアウトデー
    タが、 親ノードに対するレイアウト空間における親位置を示
    し、 親ノードを共有する多数の下位レベルのノードに対する
    レイアウト空間における円に略沿った形で存在する子位
    置を示し、前記親位置が前記円の略中心にあり、前記下
    位レベルノード数が2つ以上であり、円に沿って隣接す
    る子位置が略基底スペーシングだけ離間され;前記円
    が、下位レベルノード数と共にゆっくりと増大する関数
    を近似する半径を有し、よって該半径と、円に沿って隣
    接する子位置同士間のスペーシングとが全て前記ブラン
    チ内で略均一であり;前記方法がさらに、 前記レイアウトデータを用いてノードリンク構造の第1
    の表現をディスプレイ上に表示するステップを有し;ユ
    ーザからの信号を受け取るステップを有し;該信号が第
    1のディスプレイ位置から第2のディスプレイ位置への
    変更を示し;前記第1の表現が第1のディスプレイ位置
    付近に第1の特徴を含み、該第1の特徴がノードリンク
    構造の第1の部分を表し;前記信号に応答して、ノード
    リンク構造の第2の表現をディスプレイに表示するステ
    ップを有し;該第2の表現がノードリンク構造の第1の
    部分を表す第2の特徴を含み、該第2の特徴が第2のデ
    ィスプレイ位置付近に表示され;前記第2の表現が前記
    第1の表現の変更された継続として知覚されることがで
    きる、ことを特徴とするノードリンク構造レイアウト方
    法。
  2. 【請求項2】 マシンを動作する方法であって、 該マシンが、メモリと、該メモリに格納されたデータを
    アクセスするように接続されるプロセッサと、該メモリ
    に格納されるノードリンクデータと、を含み、該ノード
    リンクデータがノードリンク構造を規定し、該ノードリ
    ンク構造がノード及びリンクを含み、各リンクが少なく
    とも2つのノードに関連し、 前記マシン動作方法は、 プロセッサを操作してノードリンクデータを用いてレイ
    アウトデータを得るステップを有し;前記レイアウトデ
    ータが、ノードリンク構造部分に対するレイアウト空間
    内位置を示し、該レイアウト空間が負の曲率を有する空
    間であり;前記ノードリンク構造がノード及びリンクを
    含み、各リンクがノードの中の少なくとも2つに関連
    し;前記レイアウトデータが、ノード集合に対するレイ
    アウト空間内位置を示し;前記ノード集合が、最上位レ
    ベルと少なくとも1つの下位レベルとを含む2つ以上の
    ノードレベルを有するブランチを形成し、各下位レベル
    における各ノードが、次に高いレベルに親ノードを有
    し、ノードが親ノードに対して1つのリンクを介して関
    連づけられ;2つ以上の親ノードの集合中の各々に対し
    て、前記レイアウトデータが、 親ノードに対するレイアウト空間における親位置を含
    み、 前記親ノードを共有する多数の下位レベルのノードに対
    するレイアウト空間における円に略沿った形で存在する
    子位置を含み、前記親位置が円の略中心にあり、下位レ
    ベルノード数が2つ以上であり、前記円に沿って隣接す
    る子位置が、略基底スペーシングだけ離間され、 前記円が、下位レベルノード数と共にゆっくりと増大す
    る関数を近似する半径を有し、よって半径と、円に沿っ
    て隣接する子位置同士間のスペーシングとが全てブラン
    チ内において略均一であり、 前記マシン動作方法がさらに、 前記プロセッサを動作して、レイアウトデータを用いて
    2つ以上の異なるマッピングを実行するステップを有
    し;各マッピングによりマッピングデータが得られ;各
    マッピングにより得られたマッピングデータがノード集
    合の部分集合の位置を示す、 ことを特徴とするマシン動作方法。
JP23186695A 1994-09-14 1995-09-08 ノードリンク構造レイアウト方法及びマシン動作方法 Expired - Lifetime JP3630791B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US306043 1994-09-14
US08/306,043 US5590250A (en) 1994-09-14 1994-09-14 Layout of node-link structures in space with negative curvature

Publications (2)

Publication Number Publication Date
JPH08129649A true JPH08129649A (ja) 1996-05-21
JP3630791B2 JP3630791B2 (ja) 2005-03-23

Family

ID=23183505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23186695A Expired - Lifetime JP3630791B2 (ja) 1994-09-14 1995-09-08 ノードリンク構造レイアウト方法及びマシン動作方法

Country Status (4)

Country Link
US (1) US5590250A (ja)
EP (1) EP0702330B1 (ja)
JP (1) JP3630791B2 (ja)
DE (1) DE69524330T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110847A (ja) * 1994-09-14 1996-04-30 Xerox Corp ノードリンク構造のディスプレイ方法
JP2000067253A (ja) * 1998-07-29 2000-03-03 Xerox Corp 負曲率を有する空間にノ―ド―リンク構造をレイアウトする方法
JP2015170363A (ja) * 2014-03-04 2015-09-28 株式会社東芝 3Dオブジェクトの認識および位置合わせ(registration)の方法

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3744039B2 (ja) * 1995-11-29 2006-02-08 株式会社日立製作所 透視図作成支援方法
WO1998014906A1 (fr) * 1996-10-02 1998-04-09 Nippon Telegraph And Telephone Corporation Procede et appareil d'affichage graphique de structure hierarchique
US5974572A (en) * 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
US5870559A (en) * 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US5958008A (en) * 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US6144962A (en) * 1996-10-15 2000-11-07 Mercury Interactive Corporation Visualization of web sites and hierarchical data structures
US6252597B1 (en) * 1997-02-14 2001-06-26 Netscape Communications Corporation Scalable user interface for graphically representing hierarchical data
US5963213A (en) * 1997-05-07 1999-10-05 Olivr Corporation Ltd. Method and system for accelerating warping
US6440750B1 (en) * 1997-06-10 2002-08-27 Agere Systems Guardian Corporation Method of making integrated circuit having a micromagnetic device
US6108698A (en) * 1998-07-29 2000-08-22 Xerox Corporation Node-link data defining a graph and a tree within the graph
US6300957B1 (en) 1998-07-29 2001-10-09 Inxight Software, Inc. Mapping a node-link structure to a rendering space beginning from any node
US6377259B2 (en) 1998-07-29 2002-04-23 Inxight Software, Inc. Presenting node-link structures with modification
US6654761B2 (en) 1998-07-29 2003-11-25 Inxight Software, Inc. Controlling which part of data defining a node-link structure is in memory
US6628304B2 (en) 1998-12-09 2003-09-30 Cisco Technology, Inc. Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks
US6453241B1 (en) 1998-12-23 2002-09-17 Rosetta Inpharmatics, Inc. Method and system for analyzing biological response signal data
US6359635B1 (en) 1999-02-03 2002-03-19 Cary D. Perttunen Methods, articles and apparatus for visibly representing information and for providing an input interface
US6441822B1 (en) * 1999-04-02 2002-08-27 Bruce H. Johnson Drawing with circular arcs
US6434556B1 (en) 1999-04-16 2002-08-13 Board Of Trustees Of The University Of Illinois Visualization of Internet search information
US6496842B1 (en) 1999-05-28 2002-12-17 Survol Interactive Technologies Navigating heirarchically organized information
US6255714B1 (en) 1999-06-22 2001-07-03 Agere Systems Guardian Corporation Integrated circuit having a micromagnetic device including a ferromagnetic core and method of manufacture therefor
US6583794B1 (en) 1999-07-01 2003-06-24 Smart Money Interface system for information mapping
US20030130977A1 (en) * 1999-08-06 2003-07-10 Oommen B. John Method for recognizing trees by processing potentially noisy subsequence trees
US7292261B1 (en) * 1999-08-20 2007-11-06 Patrick Teo Virtual reality camera
US6505209B1 (en) * 1999-11-02 2003-01-07 Monkeymedia, Inc. Poly vectoral reverse navigation
US6366299B1 (en) * 2000-02-21 2002-04-02 Verizon Laboratories Inc. Multidimensional information visualization using attribute rods
US6957205B1 (en) 2000-03-08 2005-10-18 Accenture Llp Knowledge model-based indexing of information
US6604113B1 (en) 2000-04-14 2003-08-05 Qwest Communications International, Inc. Method and apparatus for providing account information
US6693633B2 (en) * 2001-05-04 2004-02-17 Sas Institute Inc. Computer-implemented node spreader
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
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US6918097B2 (en) 2001-10-09 2005-07-12 Xerox Corporation Method and apparatus for displaying literary and linguistic information about words
US7086012B1 (en) * 2001-12-27 2006-08-01 Perttunen Cary D Representation of weighted tree-related elements
US20030131097A1 (en) * 2002-01-09 2003-07-10 Stephane Kasriel Interactive path analysis
US6996774B2 (en) * 2002-02-12 2006-02-07 Accenture Global Services Gmbh Display of data element indicia based on data types
US7046248B1 (en) 2002-03-18 2006-05-16 Perttunen Cary D Graphical representation of financial information
US20030187744A1 (en) * 2002-03-27 2003-10-02 Goodridge Alan Gardner System for enabling omnidirectional navigation of hierarchical networks with spatial continuity
US6944612B2 (en) 2002-11-13 2005-09-13 Xerox Corporation Structured contextual clustering method and system in a federated search engine
US7912299B2 (en) * 2004-10-08 2011-03-22 Microsoft Corporation System and method for efficiently encoding data
US7042455B2 (en) * 2003-05-30 2006-05-09 Sand Codex Llc System and method for multiple node display
US7546419B2 (en) * 2004-06-01 2009-06-09 Aguera Y Arcas Blaise Efficient data cache
US7133054B2 (en) * 2004-03-17 2006-11-07 Seadragon Software, Inc. Methods and apparatus for navigating an image
US7930434B2 (en) * 2003-03-05 2011-04-19 Microsoft Corporation System and method for managing communication and/or storage of image data
US7075535B2 (en) * 2003-03-05 2006-07-11 Sand Codex System and method for exact rendering in a zooming user interface
US7254271B2 (en) * 2003-03-05 2007-08-07 Seadragon Software, Inc. Method for encoding and serving geospatial or other vector data as images
US7949964B2 (en) * 2003-05-29 2011-05-24 Computer Associates Think, Inc. System and method for visualization of node-link structures
EP1510938B1 (en) * 2003-08-29 2014-06-18 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
EP1510941A1 (en) * 2003-08-29 2005-03-02 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
EP1510940A1 (en) 2003-08-29 2005-03-02 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
EP1510939A1 (en) * 2003-08-29 2005-03-02 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
US20050046630A1 (en) * 2003-08-29 2005-03-03 Kurt Jacob Designable layout animations
US7383269B2 (en) * 2003-09-12 2008-06-03 Accenture Global Services Gmbh Navigating a software project repository
US20050110702A1 (en) * 2003-11-21 2005-05-26 Aoki Paul M. Collapsible display device and methods for using the same
US7587409B2 (en) * 2004-09-24 2009-09-08 Sas Institute Inc. Computer-implemented system and method for handling node-link representations
US8660977B2 (en) * 2005-02-04 2014-02-25 Accenture Global Services Limited Knowledge discovery tool relationship generation
US20060179026A1 (en) * 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool extraction and integration
US7904411B2 (en) * 2005-02-04 2011-03-08 Accenture Global Services Limited Knowledge discovery tool relationship generation
US20060179069A1 (en) 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool navigation
US20060235941A1 (en) * 2005-03-29 2006-10-19 Microsoft Corporation System and method for transferring web page data
US7378969B2 (en) * 2005-10-25 2008-05-27 Sap Ag Systems and methods for visualizing auto-id data
US7657848B2 (en) * 2006-01-09 2010-02-02 Sas Institute Inc. Computer-implemented node-link processing systems and methods
CN100580671C (zh) * 2006-04-27 2010-01-13 国际商业机器公司 构造布局平衡的带标记映像树的方法和系统
US7447998B2 (en) * 2006-05-04 2008-11-04 International Business Machines Corporation Graphical interface for tree view
CN101136106B (zh) * 2006-08-30 2010-07-07 国际商业机器公司 基于双曲几何显示加权树的方法和计算机系统
US7644105B2 (en) * 2006-11-08 2010-01-05 Palo Alto Research Center Incorporated Systems and methods for structured variable resolution information dissemination and discovery
US7765176B2 (en) * 2006-11-13 2010-07-27 Accenture Global Services Gmbh Knowledge discovery system with user interactive analysis view for analyzing and generating relationships
JP4887184B2 (ja) * 2007-03-02 2012-02-29 株式会社リコー 表示処理装置、表示処理方法、および表示処理プログラム
US8019760B2 (en) * 2007-07-09 2011-09-13 Vivisimo, Inc. Clustering system and method
US20100235725A1 (en) * 2009-03-10 2010-09-16 Microsoft Corporation Selective display of elements of a schema set
US8677279B2 (en) * 2009-05-06 2014-03-18 Business Objects Software Limited Visual hierarchy explorer
US20100325101A1 (en) * 2009-06-19 2010-12-23 Beal Alexander M Marketing asset exchange
US8502823B2 (en) * 2009-12-21 2013-08-06 Business Objects Software Limited Method and system for lane graph visualization
US20120167015A1 (en) * 2010-12-22 2012-06-28 Sap Ag Providing visualization of system landscapes
US9014717B1 (en) * 2012-04-16 2015-04-21 Foster J. Provost Methods, systems, and media for determining location information from real-time bid requests
US9092547B2 (en) * 2012-09-19 2015-07-28 Wal-Mart Stores, Inc. Transforming a graph to a tree in accordance with analyst guidance
US9552590B2 (en) 2012-10-01 2017-01-24 Dstillery, Inc. Systems, methods, and media for mobile advertising conversion attribution
US10775971B2 (en) 2013-06-28 2020-09-15 Successfactors, Inc. Pinch gestures in a tile-based user interface
US10176605B2 (en) * 2014-03-26 2019-01-08 Brigham Young University Dynamic display of heirarchal data
WO2015167518A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Maintaining an orientation of a graph
US10412117B2 (en) 2014-08-05 2019-09-10 Dflabs S.P.A. Method and system for automated cybersecurity incident and artifact visualization and correlation for security operation centers and computer emergency response teams
US20180285995A1 (en) * 2015-09-25 2018-10-04 Nec Patent Service,Ltd. Information processing device, information processing method, and program-recording medium
US10885281B2 (en) 2018-12-06 2021-01-05 International Business Machines Corporation Natural language document summarization using hyperbolic embeddings

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0411286A (ja) * 1989-12-29 1992-01-16 Xerox Corp 画像をディスプレイへ表示する方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528643A (en) * 1983-01-10 1985-07-09 Fpdc, Inc. System for reproducing information in material objects at a point of sale location
JPH0757003B2 (ja) * 1983-05-09 1995-06-14 大日本スクリ−ン製造株式会社 画像走査記録装置
US4710763A (en) * 1984-10-19 1987-12-01 Texas Instruments Incorporated Method for generating and displaying tree structures in a limited display area
US4790028A (en) * 1986-09-12 1988-12-06 Westinghouse Electric Corp. Method and apparatus for generating variably scaled displays
FR2646256A1 (fr) * 1989-04-24 1990-10-26 Digital Equipment Int Procede pour realiser des dessins a l'aide d'un ordinateur
US5295243A (en) * 1989-12-29 1994-03-15 Xerox Corporation Display of hierarchical three-dimensional structures with rotating substructures
JP3245655B2 (ja) * 1990-03-05 2002-01-15 インキサイト ソフトウェア インコーポレイテッド 作業スペースの表示処理方法
CA2097085A1 (en) * 1990-11-27 1992-05-28 Thomas K. Simpson System for imaging objects in alternative geometries
US5297241A (en) * 1991-09-30 1994-03-22 Hewlett-Packard Company Automated re-layout with dimensional associativity
US5333254A (en) * 1991-10-02 1994-07-26 Xerox Corporation Methods of centering nodes in a hierarchical display
US5428744A (en) * 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5515488A (en) * 1994-08-30 1996-05-07 Xerox Corporation Method and apparatus for concurrent graphical visualization of a database search and its search history

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0411286A (ja) * 1989-12-29 1992-01-16 Xerox Corp 画像をディスプレイへ表示する方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110847A (ja) * 1994-09-14 1996-04-30 Xerox Corp ノードリンク構造のディスプレイ方法
JP2000067253A (ja) * 1998-07-29 2000-03-03 Xerox Corp 負曲率を有する空間にノ―ド―リンク構造をレイアウトする方法
JP2015170363A (ja) * 2014-03-04 2015-09-28 株式会社東芝 3Dオブジェクトの認識および位置合わせ(registration)の方法

Also Published As

Publication number Publication date
US5590250A (en) 1996-12-31
DE69524330D1 (de) 2002-01-17
JP3630791B2 (ja) 2005-03-23
EP0702330B1 (en) 2001-12-05
EP0702330A2 (en) 1996-03-20
DE69524330T2 (de) 2002-06-13
EP0702330A3 (en) 1996-07-10

Similar Documents

Publication Publication Date Title
JP3630791B2 (ja) ノードリンク構造レイアウト方法及びマシン動作方法
JP3737169B2 (ja) ノードリンク構造のディスプレイ方法
US6300957B1 (en) Mapping a node-link structure to a rendering space beginning from any node
Lamping et al. The hyperbolic browser: A focus+ context technique for visualizing large hierarchies
US5295243A (en) Display of hierarchical three-dimensional structures with rotating substructures
US8232995B2 (en) Local relative layout of node-link structures in space with negative curvature
US6377259B2 (en) Presenting node-link structures with modification
Lamping et al. A focus+ context technique based on hyperbolic geometry for visualizing large hierarchies
US20050166152A1 (en) Tree visualization system and method based upon a compressed half-plane model of hyperbolic geometry
US6597358B2 (en) Method and apparatus for presenting two and three-dimensional computer applications within a 3D meta-visualization
EP0435601B1 (en) Display of hierarchical three-dimensional structures
US7439975B2 (en) Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
JP2002513480A (ja) 3dモデルを作成し且つ修正し且つこの様なモデルを2dピクチャと相関させる技術
US9569868B2 (en) Generating Voronoi treemaps
US20220122303A1 (en) Intuitive 3d transformations for 2d graphics
JP4448637B2 (ja) ライティングされ、テクスチャのある球体の高速で滑らかなレンダリング
Urribarri et al. Gyrolayout: A Hyperbolic Level-of-Detail Tree Layout.
US11600030B2 (en) Transforming digital design objects utilizing dynamic magnetic guides
JP4304551B2 (ja) 画像処理装置及びその方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

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: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041215

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: 20071224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term