(57)【特許請求の範囲】
【請求項１】
ノードリンク構造のディスプレイ方法であって、
ノードとリンクを含み各リンクが少なくとも２つのノードと関連するノードリンク構造を定義するノードリンクデータを得るステップと、
ノードリンクデータを用いて、ディスプレイ上に、ノードリンク構造の表現であって、最初の表現から始まり、最初の表現から変更された継続物として知覚される最後の表現で終了する複数の表現の一続きであるシーケンスを示すステップと、を含み、
該シーケンス中の各表現は、ノードリンク構造中のノードを表現する有界ノード特徴を含み、各有界ノード特徴のエリアの中心から最も近い他のノード特徴のエリアの中心までの距離を最も近いノードスペーシングとし、各有界ノード特徴のエリアの中心に、最も近いノードスペーシングと等しい長さの直径を有するノード特徴の中間スペーシング円を定義し、
各表現中の有界ノード特徴の中間スペーシングによって、各表現の総エリアを囲むように、各表現の第１の凸包を決定し、
各表現の有界ノード特徴の部分集合である各離間ノード特徴の各中間スペーシング円が、表現の総エリアの１／４から３／４の間のエリアを囲むようにすると共に、第１の凸包により囲まれる領域内にあるが第２の凸包の外側領域よりも一般的に大きく知覚される最も近いノードスペーシングを有する各有界ノード特徴が入っている領域を囲むように、表現に対する第２の凸包を決定し、
各表現で表現されるノードが、少なくとも１つの周辺ブランチを形成し、各周辺ブランチが最上位レベルと少なくとも１つの下位レベルとを含み、該最上位レベルが最上位レベルノードを含み、該下位レベルが、離間ノード特徴の表現の部分集合中にない下位レベルのノードを含み、各下位レベルの各ノードが、ノードが１つのリンクにより関係付けられる次に高いレベルに親ノードを有し、
１つの親ノード特徴を共有する下位レベルの各ノード特徴が、親ノードのエリアの中心から同様のスペーシングでかつ弧に沿って隣接するノード特徴から同様のスペーシングで弧に沿って順に配置されるエリアの中心を有し、その結果該親ノード特徴を共有する各下位レベルのノードが、関連するノード特徴の１つのグループとして知覚され、
最初と最後の表現の第２の凸包がノードの異なる集合を表現する各有界ノード特徴の部分集合を含み、前記シーケンスによって、前記部分集合の少なくとも１つの有界ノード特徴の最も近いノードスペーシングを最初の表現から最後の表現までに増大するように知覚させ、前記部分集合の少なくとも１つの他の有界ノード特徴の最も近いノードスペーシングを最初の表現から最後の表現までに減少するように知覚させる
ノードリンク構造のディスプレイ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はノードリンク構造のディスプレイ（表示）に関する。
【０００２】
【従来技術】
”認知科学及びヒューマンコンピュータインタラクションへの応用(Cognitive Science and its Applicaation for Human Computer Interaction) ”（ローレンスエラバーン(Lawrence Erlbaum)社、１９８８年、２０１〜２３３ページ）の”ＳｅｍＮｅｔ：大知識ベースの３次元グラフィック表現(Three-Dimensional Graphic Representations of Large Knowledge Bases)”（グインドン，Ｒ．編集、フェアチャイルド，Ｋ．Ｍ．，ポルトロック，Ｓ．Ｅ．及びファーナス，Ｇ．Ｗ．著）は、ＳｅｍＮｅｔ（意味ネットワーク）の３次元グラフィカルインタフェースについて記載する。ＳｅｍＮｅｔは、残りの知識ベースの大域表現を維持しながら、ユーザが局所的な細部を調べることができるビューを示す。
【０００３】
【発明が解決しようとする課題】
本発明の一態様は、ディスプレイにノードリンク構造を示す場合の基本的な問題を軽減する。ノードリンク構造の情報は、構造を探索(traverse)するにつれて、指数関数的に成長する傾向がある。例えば、ノードリンク構造がルートノード及びルートの下に段階的なノードを有するツリー又は他の階層構造である場合、ノードの数、従ってツリー中の情報量は、ルートからルートの下のレベル( 段階) を通して進むにつれて、指数関数的に増加する傾向がある。指数関数的成長は、有限ディスプレイにノードリンク構造を示すことを困難にする。
【０００４】
【課題を解決するための手段】
本発明の技法は、ノードリンク構造を示す従来の方法の欠点を回避する方法の発見に基づく。本発明の各技法は、ディスプレイにノードリンク構造の表現のシーケンスを示す。シーケンスの最後の表現は、最初の表現が変化した継続物として知覚可能である。各表現は、ノードを表現する有界ノード特徴を含み、各有界ノード特徴はエリアの中心を有し、該中心は最も近い他のノード特徴のエリアの中心から最も近いノードスペーシングを有する。エリアの中心及び最も近いノードスペーシングは、エリアの中心を中心とし、最も近いノードスペーシングと等しい直径を有するノード特徴の中間円(mid-spacing circle)を定義する。各表現内の有界ノードの特徴の中間スペーシング円は、表現の総エリアを囲む第１の凸包(convex hull) を決定する。
【０００５】
本発明の技法の各表現はまた、表現の第２の凸包を決定するより離間されたノード特徴の部分集合も含む。各表現の第２の凸包は表現の総エリアのほぼ半分を囲む。各表現の第２の凸包はまた、有界ノード特徴が最も近いノードスペーシングを有するリージョンも囲み、該ノードスペーシングは、表現の第１の凸包によって囲まれるかつ表現の第２の凸包の外側にある領域内のノードスペーシングよりも一般的に大きく知覚される。
【０００６】
結果として、表現を視覚する人間は、境界をはっきりと見分けられなくとも、第２の凸包内のリージョンを表現の他のリージョンと識別することができる。より大きなスペーシングにより、ノードが表現するノードの中心についての情報のような、第２の凸包内のノード特徴についてより多くの情報を示すことができる。従って、熟練のユーザはより大きなスペーシングリージョンを用いて、特に興味があるノードリンク構造の特定の部分の内容についての情報を得ることができる。
【０００７】
本発明の技法はまたノードリンク構造の他の部分についての情報も提供し、ナビゲーション、又はコンテキスト（全体的内容）についての情報を要求する他のタスクに関してユーザを援助する。該技法はこの情報を、ノード特徴を関連するノード特徴のグループとして知覚するような方法でノード特徴を表現することにより提供する。該技法はブランチをノードリンク構造のノードが形成することができるという事実を利用し、各ブランチでは、各々が最上位レベルノードと下位レベルノードを有し、各下位レベルノードが次に高いレベルに親ノードを有し、該下位レベルノードが親ノードと１つのリンクにより関係付けられる。
【０００８】
本発明の技法は、表現に対するより離間されたノード特徴の部分集合内に下位レベルのノード特徴が存在しない、周辺ブランチと呼ばれるブランチを特別な方法で示す。親ノード特徴を共有する下位レベルのノード特徴のエリアの中心は、親ノード特徴、及び関連するノード特徴のグループとして知覚される隣接ノード特徴から十分に同様なスペーシングで弧に沿って配置される。
【０００９】
最終的に技法は変更を許容する。該技法は、最初と最後の表現の第２の凸包内のノードの異なる集合を表現するノード特徴を示すので、最後の表現のより大きなスペーシングのリージョンは、最初の表現とは異なるノードリンク構造の部分を示すことができる。また、表現のシーケンスは、ノード特徴の少なくとも一つの最も近いノードスペーシングが増大し、ノード特徴の別の最も近いノードスペーシングが最初の表現から最後の表現までに減少する知覚を与える。
【００１０】
表現のシーケンスを、ノード特徴の連続動作(motion)を知覚するのに十分な速度で示すことができる。このような速度を、本明細書では”アニメーション（動画）速度”と呼ぶ。アニメーション速度を維持するために、幾つかの中間表現は最初及び最後の表現より少ない詳細を含むことができる。
【００１１】
技法は例えば、フィギュア（図形）として知覚可能な表現をバックグランド（背景）上に示すことができ、バックグランドの中心エリアは、より大きなスペーシングの各表現のリージョンが示されるエリアとすることができる。バックグランドは例えば、円形とすることができる。表現は、関連する対のノード同士の間に延びる線のようなリンク特徴を含むことができる。ノードリンクデータはまたノード毎に内容を示す内容データを含むこともでき、表現に対するより離間されたノード特徴の各々はノードの内容を示す文字又は他の図的な特徴を含むことができる。ノードリンク特徴はツリーのような非循環グラフとすることができる。
【００１２】
上記に記載した技法は、従来の技法の欠点を回避するので有利である。二次元平面へのマッピングと比較すると、該技法は指数関数的に成長する構造をマッピングすることができる。三次元空間へのマッピングと比較すると、該技法は単純に計算でき、３次元の閉塞(occlusion) 、ナビゲーション及び操作(manipulation)問題を回避し、指数関数的に成長する構造をマッピングすることを可能にする。剪定(pruning) 、フィルタリング、又はフェアチャイルドらの技法のような技法と比較すると、該技法はナビゲーションを容易にするローカルとグローバルの両方のコンテキストを保持する。一般的に該技法は、ノードリンク構造の直観的な(intutive)表現を提供し、該表現内のナビゲーションは容易である。ユーザは一連の直観的信号によりより大きなスペーシングの領域中のノードリンク構造のあらゆる部分の表示を迅速に得ることができる。ノード特徴についての追加的な詳細は、より大きなスペーシングのリージョンに提供され得る。連続性の知覚を維持するために、表現のシーケンスをアニメーション速度で示すことができる。速度を維持するために必要であれば中間表現の詳細を減少することができる。
【００１３】
【発明の実施の形態】
”グラフ”は、各リンクが２つのノードを関係付けるノードリンク構造である。”非循環グラフ(acyclic graph) ”は、リンクがグラフ内のあらゆる２つのノードの間に１つのパス（経路）だけを提供するグラフである。”有向グラフ”は各リンクが、そのリンクと関連するノード同士間の方向を示すグラフであり、一方のノードはリンクのソース（源）となり、他方のノードはデスティネーション（行先）となる。”ツリー”は確実に１つのルートノ ードを有する非循環有向グラフであり、１つのパスだけに従ってツリー中の全ての他のノードに到達することができ、このパスはルートノードから始まり、パス内の各リンクに示されに方向に従う。
【００１４】
ノードリンク構造の”ブランチ（分岐）”は、リンクがノード対を関係付けるもの及び方向を示すものとして扱われる場合、ノードリンク構造内にツリーを形成するノードの集合である。従って、ブランチは２つ以上のレベルを含み、”最上位レベルノード”はツリーのルートノードとなるノードであり、”下位レベルノード”は、最上位レベルノードの１つ以上下のツリーレベルのノードである。各下位レベルノードは、下位レベルノードが１つのリンクによって関係付けられるその次に高いレベルに”親ノード”を有する。親ノードはその次に低いレベルに”子ノード”の集合を有し、その各々に親ノードが１つのリンクによって関係付けられる。１つの親を有する複数の子ノードは、親ノードを”共有（シェア）”する。
【００１５】
”有界ノード特徴(bounded node feature)”は、知覚可能な(perceptible) 境界を有するノード特徴である。有界ノード特徴の”エリア（領域）の中心”はノード特徴の境界内のリージョン（領域）のエリアの中心である。従って、有界ノード特徴のエリアの中心の位置を、ノード特徴の境界から計算することができる。又は表現を視覚することにより推定することができる。
【００１６】
表現における第１の有界ノード特徴の”最も近い他のノード特徴”が第２の有界ノード特徴であり、第２の有界ノード特徴のエリアの中心は、第１ノード特徴のエリアの中心から、他の有界ノード特徴のエリアの中心までのスペーシングよりも大きくない距離だけ、第１ノード特徴のエリアの中心から離間される。この距離は、本明細書中ではノード特徴の”最も近いノードスペーシング”と呼ばれる。有界ノード特徴は、１つよりも多い最も近い他のノード特徴を有し、それらは全て最も近いノードスペーシングにエリアの中心を有する。有界ノード特徴の”中間スペーシング円(mid-spacing circle)”は、ノード特徴のエリアの中心を中心とする円であり、該ノード特徴の最も近いノードスペーシングと等しい直径を有するので、エリアの中心及び最も近いノードスペーシングが中間スペーシング円を定義する。
【００１７】
表現内の２つ以上の有界ノード特徴の中間スペーシング円により決定される凸包は、中間スペーシング円を含むと共に、リージョン中の２つのポイント同士の間の直線上の全ての点も含む最小リージョンである。
【００１８】
表現内の有界ノード特徴の中間スペーシング円により決定される凸包は、表現内の全有界ノード特徴の中間スペーシング円が凸包中に含まれる場合、”表現の総エリア”を囲む。このような凸包は”外側凸包”と呼ばれる。”内側凸包”は、表現の総エリアよりも少ないエリアを囲む表現中の有界ノード特徴の部分集合である中間スペーシング円により決定される。内側凸包により囲まれるエリアが表現の総エリアのほぼ１／４〜ほぼ３／４の間である場合、内側凸包は”表現の総エリアのほぼ半分”を囲む。表現は、表現の総エリアのほぼ半分を囲む内側凸包を決定する中間スペーシング円を有する有界ノード特徴の１つ以上の部分集合を含む。
【００１９】
第１リージョンにおける最も近いノードスペーングが第２リージョンにおけるそれよりも概して大きいことをビューア(viewer)が認める場合、第１リージョンにおける有界ノード特徴は、第２リージョンにおいてよりも”概して大きく知覚できる”最も近いノードスペーシングを有する。有界ノード特徴が最も近いノードスペーシングを有し、該スペーシングが表現の他のリージョンにおけるスペーシングよりも概して大きく知覚できるリージョンを、”より大きなスペーシングのリージョン”と呼ぶことができる。
【００２０】
ノードリンク構造の表現中の”より離間されたノード特徴”の集合は、内側凸包を決定する有界ノード特徴の集合であり、該凸包は、表現の総エリアのほぼ半分を囲むと共に、有界ノード特徴が内側凸包の外側のリージョンにおいてよりも概して大きく知覚できる最も近いノードスペーシングを有するリージョンも囲む。
【００２１】
より離間されたノード特徴の集合を含む表現により表現されるノードリンク構造中の”周辺ブランチ(peripheral branch) ”は、より離間されたノード特徴の集合内のノード特徴により表現されないより低いレベルのノードを含むブランチである。
【００２２】
各ノード特徴のエリアの中心が隣接するノード特徴のエリアの中心よりも弧に近くなるように、楕円又は円の弧を表現内に描くことができる場合、表現内のノード特徴のエリアの中心は、”弧にほぼ沿って位置される”又は”円にほぼ沿って位置される”。
【００２３】
ビューアに下位レベルのノード特徴が一緒になってグループであるように見える場合、１つの親ノード特徴を共有しかつエリアの中心がほぼ弧に沿って配置される下位レベルのノード特徴は、”親ノード特徴のエリアの中心から十分同様のスペーシングで配置され、かつ、弧に沿って隣接するノード特徴から十分同様のスペーシング”で配置される。この結果、親ノード特徴を共有する下位レベルのノードが、関連するノード特徴の１つのグループとして知覚される。”
【００２４】
ビューアーが、最初の表現よりも最後の表現のほうがノード特徴の最も近いノードスペーシングが大きいと判断できる場合、表現のシーケンスはノード特徴が”最初の表現から最後の表現まで増大する最も近いノードスペーシングを有する”という知覚を生成する。同様に、ビューアが最初の表現よりも最後の表現のほうがノード特徴の最も近いノードスペーシングが小さいと、判断できる場合、表現のシーケンスはノード特徴が”最初の表現から最後の表現までの減少するエリアを占める”という知覚を生成する。
【００２５】
図１乃至４は本発明の一般的な特徴を示す。図１はノードリンク構造の第１及び第２の表現を示し、各々はより大きなスペーシングのリージョン及び周辺ブランチを有する。図２は、ノード特徴により占められるどのくらいの領域が凸包を決定することができるかを示す。図３は、図１に示されるタイプの表現のシーケンスを示す際の一般的な動作を示す。図４はこのような表現を示すマシンの一般的な構成要素を示す。
【００２６】
図１において、ディスプレイ１０はまずノードリンク構造の表現１４を示す画像１２を示し、次に、同一ノードリンク構造の表現２２を示す画像２０を示す。表現１４及び２２はそれぞれ、ノードリンク構造中のノードを表現するノード特徴を含む。各ノード特徴は、エリアの中心及び最も近いノードスペーシングを有する有界ノード特徴である。エリアの中心及び最も近いノードスペーシングは中間スペーシング円を定義し、その中心をノード特徴のエリアの中心に有すると共に、最も近いノードスペーシングと等しい直径を有する。最周辺のノード特徴の幾つかが、それらに最も近いノード特徴が示されていないためにより小さな円として示される以外は、各ノード特徴の境界はノード特徴の中間スペーシング円と一致する円として説明的に示される。
【００２７】
表現１４のノード特徴はノード特徴３０を含み、このノード特徴３０は他のノード特徴よりも大きな最も近いノードスペーシングを有し、その中心の正方形内に”Ｘ”で示されるコンテント（内容）を有するノードを表現する。ノード特徴３２及び３４はそれぞれ”Ｙ１”及び”Ｙ２”で示されたコンテントを有するノードを表現し、該ノードは１つのリンクを通して、ノード特徴３０により表現されたノードと関係付けられる。同様にノード特徴４０、４２、及び４４はそれぞれ”Ｚ１”、”Ｚ２”、及び”Ｚ３”で示されたコンテントを有するノードを表現し、該ノードはノード特徴３２により表現されたノードと、１つのリンクを通して関係付けられる。ノード特徴４６は”Ｚ４”で示されたコンテントを有するノードを表現し、該ノードはノード特徴３４により表現されたノードと、１つのリンクを通して関係付けられる。ノード特徴５０、５２、及び５４は示されていないコンテントを有するノードを表現し、該ノードはノード特徴４６により表現されたノードと、１つのリンクを通して関係付けられる。
【００２８】
表現２２のノード特徴はノード特徴６０を含み、このノード特徴６０は他のノード特徴よりも大きな最も近いノードスペーシングを有し、その中心の正方形内に”Ｙ２”で示されるコンテントを有するノードを表現する。ノード特徴６２は”Ｘ”で示されたコンテントを有するノードを表現し、該ノードはノード特徴６０によって表現されたノードと、１つのリンクを通して関係付けられ、続いてノード特徴６４は”Ｙ１”で示されたコンテントを有するノードを表現し、該ノードはノード特徴６２によって表現されたノードと、１つのリンクを通して関係付けられる。同様に、ノード特徴６６は”Ｚ４”で示されたコンテントを有するノードを表現し、該ノードはノード特徴６０によって表現されたノードと、１つのリンクを通して関係付けられる。ノード特徴７０、７２、及び７４は”Ｖ１”、”Ｖ２”、及び”Ｖ３”でそれぞれ示されたコンテントを有するノードを表現し、該ノードはまたノード特徴６６によって表現されたノードとも、１つのリンクを通して関係付けられる。ノード特徴８０、８２、及び８４は示されていないコンテントを有するノードを表現し、該ノードはノード特徴６４によって表現されたノードと、１つのリンクを通して関係付けられる。
【００２９】
表現１４と２２とは異なるが、表現２２は表現１４を変更した継続するものとして知覚可能である。ノード特徴６０はノード特徴３４と同一コンテントを有する。ノード特徴６２はノード特徴３０と同一コンテントを有する。ノード特徴６４はノード特徴３２と同一コンテントを有する。ノード特徴６６はノード特徴４６と同一コンテントを有する。更に、表現１４と２２の両表現において、そのコンテントは示されていないが、ノード特徴７０、７２、及び７４を、ノード特徴５０、５２、及び５４と同一である関係付けられたノード特徴のグループとして見なすことができ、ノード特徴８０、８２、及び８４を、ノード特徴４０、４２、及び４４と同一である関係付けられたノード特徴のグループとして見なすことができる。一方、図１は、表現２２が表現１４を変更した継続するものとして知覚される場合に、これらの表現はまた、ノード特徴３４の最も近いノードスペーシングが増大し、ノード特徴３０の最も近いノードスペーシングが縮小するという知覚も生成するであろうことを示す。
【００３０】
加えて、表現１４及び２２は、より大きなスペーシングのリージョンと少なくとも１つの周辺ブランチとを有して共に示される。
【００３１】
表現１４のより大きなスペーシングのリージョンは、ノード特徴３０、３２、及び３４を含んで示され、表現２２のより大きなスペーシングのリージョンは、ノード特徴６０、６２、及び６４を含んで示され得る。従って、２つの表現のより大きなスペーシングのリージョンは、異なるノードを表現するノード特徴を含む。
【００３２】
図２は、本発明によるより大きなスペーシングのリージョンを含む部分を、他の表現部分とどのように識別することができるかを示す。図２の表現１００は、図１の表現２２と同じく中間スペーシング円で境界付けられたノード特徴を有する。全ノード特徴の中間スペーシング円は、破線により示される第１の凸包を決定する。第１の凸包は表現１００の全ての中間スペーシング円を含むので、第１の凸包は表現１００の総エリアを囲む。一方、３つの大きな中間スペーシング円は、点線により示される第２の凸包を決定する。第２の凸包は、総エリアのほぼ半分を囲み、それはまた、第１凸包により囲まれるリージョン内であるが第２凸包の外側にあるリージョンよりも最も近いノードスペーシングを概して大きく知覚できるリージョンを囲む。
【００３３】
表現１４の周辺ブランチの例は、ノード特徴３２、４０、４２及び４４を有するブランチと、ノード特徴４６、５０、５２、及び５４を有するブランチとを含む。表現２２の周辺ブランチの例は、ノード特徴６４、８０、８２、及び８４を有するブランチと、６６、７０、７２、及び７４を有するブランチとを含む。各々の表現において、最も近いノードスペーシングは、より大きなスペーシングのリージョンにおいてのほうが周辺ブランチにおいてよりも概して大きく知覚できる。また、周辺ブランチにおける子ノード特徴は、弧に沿って順に位置されるエリアの中心を有し、その親ノード特徴のエリアの中心と、弧に沿った隣接する子ノード特徴とから十分に同様なスペーシングを有する。この結果、この子ノード特徴は、関連するノード特徴のグループとして知覚されることができる。
【００３４】
図３において、ボックス１２０の動作はノードリンク構造を定義するノードリンクデータを得ることにより開始する。ノードリンク構造はノード及びリンクを含み、各リンクは少なくとも２つのノードと関連する。
【００３５】
ボックス１２２の動作は、ボックス１２０で得られたノードリンクデータを用いて、ノードリンク構造の第１表現を示す。上記記載したように、該第１表現は、より大きなスペーシングのリージョンを含み、このリージョンにおいて最も近いノードスペーシングは、別のリージョンにおいてよりも一般的に大きく知覚される。また、上記記載したように、第１表現はまた周辺ブランチも含み、該ブランチにおいて、親ノード特徴を共有するノード特徴は、関連するノード特徴のグループとして知覚される。
【００３６】
次に、ボックス１２４の動作は、ノードリンク構造の次の表現を示す。次の表現は、第１表現が変更された継続物として知覚される。第１表現と同様に、次の表現はより大きなスペーシングのリージョンを含み、上記記載したように該リージョンにおける最も近いノードスペーシングは別のリージョンにおいてよりも一般的に大きく知覚されるが、表現に対するより大きなスペーシングのリージョンは、ノード特徴の異なる部分集合を含む。次の表現はまた周辺ブランチも含み、該周辺ブランチにおいて親ノード特徴を共有するノード特徴が、関連するノード特徴のグループとして知覚される。
【００３７】
図３のような表現を示すことにより、幾つかのノード特徴の最も近いノードスペーシングを増大し、他の最も近いノードスペーシングを縮小するという知覚を与える。
【００３８】
図３の破線により示されるように、１回の反復にはボックス１２４の動作が含まれ、最終表現で終了するノードリンク構造の異なる表現を示すために追加の反復が行われ得る。各反復において、スペーシングは変化して一連の表現を生じ、各々が第１表現が変更された継続物として知覚される。
【００３９】
図４のマシン１５０は、ユーザ入力回路１５４からユーザ信号を示すデータを受け取ると共に、画像を定義するデータをディスプレイ１５６へ提供するように接続されるプロセッサ１５２を含む。プロセッサ１５２はまた、ノードリンクデータ１５８をアクセスするために接続され、該データはノードリンク構造を定義する。プロセッサ１５２はまた、命令入力回路１６２を通して命令を示す入力データ１６０を受け取るように接続される。ここで、メモリ１６４、記憶媒体アクセスデバイス１６６又はネットワーク１６８との接続から受け取られた命令を説明のために示す。
【００４０】
命令データ１６０により示される命令を実行する際、プロセッサ１５２はノードリンクデータ１５８を用いて、第１の表現データをディスプレイ１５６へ提供し、該ディスプレにノードリンク構造の第１表現を示す。
【００４１】
図１に関して上記記載したように、第１表現はより離間されたノード特徴と、周辺ブランチを有するリージョンを含み、該リージョンにおいて子は関連するノード特徴のグループとして知覚される。
【００４２】
命令データ１６０により示される命令を実行する際、プロセッサ１５２はまた、第１表現の変化を示すユーザ信号データをユーザ入力デバイス１５４から受け取る。
【００４３】
応答して、プロセッサ１５２は第２表現データをディスプレイ１５６へ提供すると、ディスプレイが少なくとも１つの続く表現のシーケンスを示し、第１表現が変更された継続物として知覚される最後の表現で終了する。図１に関して上記記載したように、最初の表現と同様に、最後の表現はより離間されたノード特徴と、周辺ブランチとを有するリージョンを含み、該リージョンにおいて、子は関連するノード特徴のグループとして知覚される。しかし、最後の表現におけるより大きなスペーシングのリージョンは、第１表現においてノード特徴の異なる部分集合を含み、最後の表現を示すことにより、最も近いノードスペーシングが増大するものもあれば減少するものもあるという知覚が行われる。
【００４４】
上記に記載したように、図４は命令入力回路１６２が命令を示すデータを受け取ることができる３つの可能なソース；メモリ１６４、記憶媒体アクセスデバイス１６６、及びネットワーク１６８を示す。
【００４５】
メモリ１６４は、ランダムアクセスメモリ（ＲＡＭ）若しくは読み出し専用メモリ（ＲＯＭ）を含むマシン１５０内のあらゆる従来のメモリとすることができる。又は、あらゆる種類の周辺若しくは遠隔メモリデバイスとすることができる。
【００４６】
記憶媒体アクセスデバイス１６６は記憶媒体１７０をアクセスするための駆動装置、駆動回路又は他の適切な装置若しくは回路とすることができる。記録媒体１７０は例えば、１つ以上のテープ、ディスケット、若しくはフロッピーディスクのセットのような磁性媒体；１つ以上のＣＤ−ＲＯＭのセットのような光学系媒体；又はデータを記憶するためのあらゆる他の適切な媒体；とすることができる。記憶媒体１７０は、マシン１５０の一部分、サーバ周辺若しくは遠隔メモリデバイス又は他の周辺若しくは遠隔メモリデバイスの一部分、又はソフトウェアプロダクトとすることができる。これらの各々の場合において、記憶媒体１７０はマシン１５０で使用可能である製造品の１つである。記憶媒体アクセスデバイス１６６がデータユニットをアクセスして、命令入力回路１６２を介してデータユニットを順番にプロセッサ１５２へ提供するように、データユニットを記憶媒体１７０の上に位置することができる。順番に提供されると、データユニットは命令データ１６０を形成し、図示されているような命令を示す。
【００４７】
ネットワーク１６８は、マシン１８０から受けた命令データ１６０を提供することができる。マシン１８０におけるプロセッサ１８２は、ネットワーク接続回路１８４を介したネットワーク１６８と、命令入力回路１６２とによってプロセッサ１５２との接続を確立することができる。どちらのプロセッサでも接続を開始することができ、該接続はあらゆる適切なプロトコルにより確立され得る。プロセッサ１８２はメモリ１８６中に記憶された命令データをアクセスし、命令データをネットワーク１６８によってプロセッサ１５２へ転送することができるので、プロセッサ１５２は命令データ１６０をネットワーク１６８から受け取ることができる。次に、命令データ１６０を、プロセッサ１５２によりメモリ１６４内又はその他の場所に記憶し、実行することができる。
【００４８】
上記記載した一般的な特徴を、数々の方法で様々なマシンに対して実施し、ノードリンク構造の表現を示すことができる。下記に記載される実施例は、Ｕｎｉｘ／Ｘオペレーティングシステムを実行するＳｕｎＳＰＡＲＣＳｔａｔｉｏｎ（サンスパークステーション）に対して実施されてきた。別の実施例は、Ａｐｐｌｅ  Ｍａｃｉｎｔｏｓｈ（アップルマッキントッシュ）パーソナルコンピュータに対して行われてきた。Ｕｎｉｘ（ユニックス）の実施例は、Ｃｏｍｍｏｍ  Ｌｉｓｐ  Ｉｎｔｅｒｆａｃｅ  Ｍａｎａｇｅｒ（ＣＬＩＭ）により拡張されるＣｏｍｍｏｍ  Ｌｉｓｐプログラミング環境内に書き込まれた命令を実行する。市販のＣｏｍｍｏｍ  Ｌｉｓｐ（コモンリスプ）環境及びＣＬＩＭ拡張は、ルシッド・インコーポレイテッド(Lucid Inc.)及びフランツ・インコーポレイテッド(Franz Inc.)より得られる。
【００４９】
図５は、本発明を実施したシステムの構成要素を示す。
【００５０】
図５においてマシン２００は、中央処理装置（ＣＰＵ）２０２、マイクロプロセッサ、又は他の適切なプロセッサを含む。ＣＰＵ２０２は、キーボード２０４及びマウス２０６を説明的に含むユーザ入力デバイスからユーザ信号を示すデータを受け取るように接続される。ＣＰＵ２０２はまたデータを提供するように接続されると、ディスプレイ２０８上に画像を表示する。ディスプレイ２０８上に示された画像はマウス２０６又は別のポインタ制御デバイスにより制御されるポインタ２１０を含むことができる。
【００５１】
ＣＰＵ２０２は全体としてメモリ環境２２０を提供する１つ以上のメモリ構成要素と接続される。メモリ構成要素は従来のように、ＣＰＵ２０２に直接接続されたレジデント（常駐）ＲＡＭ、１つ以上の内部ディスク駆動装置又は内部バスを介してＣＰＵ２０２に接続される他の記憶媒体アクセスデバイス、及びマシン２００の外部接続を介してＣＰＵ２０２に接続される周辺装置又は遠隔サーバのような１つ以上の外部メモリ構成要素を含む。該外部メモリ構成要素は、記憶媒体アクセス装置を含み、マシン２００の外部接続を通してＣＰＵ２０２と接続される。ＣＰＵ２０２は、環境２２０内のいずれかのメモリ構成要素に記憶されたデータを、アドレスを提供することにより従来のようにアクセスする。
【００５２】
図５は、メモリ環境２２０に格納されるプログラム構成要素とデータ構成要素を示す。プログラム構成要素とデータ構成要素は別々に図示されているが、所与のメモリ構成要素内に別々に格納される必要はない。プログラム構成要素は、ＣＰＵ２０２が実行することのできる命令を示すデータを含むとともに、目的コードフォーム又はソースコードフォームで格納されることができる。適切であれば、プログラム構成要素は、ソースコードフォームで格納されたプログラム構成要素から命令を得るのに必要な、任意のコンパイラ及びインタプリタを含むことも可能である。プログラム構成要素により示された命令を実行する際、ＣＰＵ２０２はデータ構成要素をアクセスして使用する。
【００５３】
オペレーティングシステムプログラム２３０により示された命令を実行する際、ＣＰＵ２０２は、ＣＰＵ２０２とマシン２００の他の構成要素との間でデータを伝送するオペレーション（演算）を実行する。このようなオペレーションには、例えば、ＣＰＵ２０２のメモリスペース中の論理アドレスを物理アドレスにマッピングして、メモリ環境２２０中のメモリ構成要素をアクセスすること等が含まれる。
【００５４】
ＣＬＩＭライブラリ及びユーザインタフェース拡張を含むコモンＬＩＰＳ環境プログラム２３２により示された命令を実行する際、ＣＰＵ２０２は、フランツ・インコーポレイテッド（Franz Inc.）から入手可能なＣＬＩＭ２．０仕様において規定される標準ＣＬＩＭインタフェースを提供する。その結果、ＣＰＵ２０２が、ＣＬＩＭプログラムを実行することができるので、走査検索（browser ）インタフェースプログラム２３４及び双曲ジオメタリプログラム２３６は、ＣＬＩＭを付けて拡張されたコモンＬＩＳＰで実行されることができる。
【００５５】
走査検索インタフェースプログラム２３４により指示された命令を実行する際、ＣＰＵ２０２はまず、マシン２００を初期化する。ＣＰＵ２０２は、ノードリンク構造を規定するノードリンクデータ２４０を用いて、レイアウト空間におけるノードリンク構造の部分の位置を示すレイアウトデータ２４２を得る。この実施例ではレイアウト空間は双曲面である。ＣＰＵ２０２は、レイアウトデータ２４２を用いて、ノードリンク構造の初期表現に対するマッピングデータ２４４を得る。ＣＰＵ２０２がディスプレイ２０８にデータを提供すると、ディスプレイに初期表現が表示される。
【００５６】
走査検索インタフェースプログラム２３４により示された命令を実行する際、ＣＰＵ２０２はまた、キーボード２０４及びマウス２０６から、ユーザ信号のイベントを示すデータを受け取る。ＣＰＵ２０２は、イベント待ち行列データ２４６をアクセスすることにより、イベントに応答するステップの待ち行列をセットアップ（準備）し、維持し、そしてハンドルする。ユーザ信号イベントに応答するステップのハンドルが完了すると、ＣＰＵ２０２は次のイベントに応答するステップをセットアップすることができる。
【００５７】
走査検索インタフェースプログラム２３４により示された命令を実行する際、ＣＰＵ２０２はまた、アニメーションパラメータデータ２４８をアクセスすることにより、アニメーションパラメータを修正することができる。あるいはＣＰＵ２０２は、レイアウトデータ２４２を用いて、ノードリンク構造の変更された表現に対するマッピングデータ２４４を得ることができ、ディスプレイ２０８にデータを提供して、変更された表現をディスプレイに表示させる。
【００５８】
ＣＰＵ２０２は、レイアウトデータ２４２を得るため、マッピングデータ２４４を得るため、ポインタ２１０の位置からノードリンク構造の一部分にマッピングするため等多様な目的のために、双曲的幾何学（ジオメトリ）プログラム２３６により示される命令を実行することができる。図５で示されるように、表現は、その上にフィギュア（図形）２５２が示されるバックグランド２５０を含むことができ、フィギュア２５２内でポインタ２１０の位置は、例えば最も近いノードにマッピングされることができる。
【００５９】
上記記載したようにＣＰＵ２０２のオペレーションは、ユーザインタフェースを多くの方法で提供するために実施することができる。図６は、エッジに近すぎないノードの部分集合の位置を変換することにより、どのように対話型のユーザインタフェースを提供することができるかを示す。図７は図５のマシンが全ノードに対するレイアウトデータを連続的に変換することにより、どのように対話型のユーザインタフェースを提供することができるかを示す。
【００６０】
図６及び図７の概括的なアプローチは、ノードの位置がレイアウト空間において変換され、次にレイアウト空間からディスプレイ位置へのマッピングにより表現が示されることができる、ということである。上述のように、レイアウト空間は、双曲面又は負の曲率(negative curvature)を有する別の適切な空間であることが可能である。双曲面とディスプレイ領域の間のマッピングを容易にするために、ディスプレイ位置は、円形のディスプレイ領域内の位置であることが可能である。
【００６１】
図６のボックス２６０の動作は、ノードリンク構造中のノード毎にレイアウト空間における位置を示すレイアウトデータを得る。レイアウト空間は、例えば双曲面であることが可能である。ボックス２６０の動作はまた、レイアウトデータに対して実行されることのできる現行変換を初期設定して、変換位置を得る。初期現行変換は例えば、レイアウト空間におけるノードの位置を変更しないヌル変換であることが可能である。
【００６２】
ボックス２６２の動作は次に、ボックス２６０からのレイアウトデータに対して現行変換を実行し、レイアウト空間における位置がエッジに近すぎるノード以外の各ノードの変換位置を示す変換データを得る。エッジは、ノードリンク構造の表現がディスプレイされた時に表示されるレイアウト空間の部分の境界となる。
【００６３】
次にボックス２６４の動作は、ボックス２６２から得られた変換位置をマッピングして、エッジに近すぎない各ノードの、ディスプレイ上の位置を得る。ボックス２６４の動作は次に、ディスプレイに表現を表示する。エッジに近すぎない各ノードの表現は、ノードのディスプレイ位置にノードの特徴を含む。
【００６４】
図６の破線により示されるように、ボックス２７０の動作は、不特定時間の経過後、ボックス２６４の動作に続くことができ、この動作は、位置の変更に対する要求をユーザから受け取る。この要求は、ディスプレイ上での少なくとも１つの位置の指示を含む。
【００６５】
ボックス２７２の動作は、ボックス２７０において指示されたディスプレイ位置（単数又は複数）をレイアウト空間に再びマッピングして、レイアウト空間における開始位置及び終了位置を得る。例えば、マウスクリック等によりディスプレイ位置が１つのみ示される場合には、クリックの発生した時のポインタの位置を用いて開始位置を得ることができ、また終了位置は、レイアウト空間におけるその表現の中心の位置であることが可能である。あるいは、例えばボタンを押してその後放すことによるドラッギング動作の間に、２つのディスプレイ位置が示される場合には、ボタンを押した時のポインタの位置を用いて開始位置を得、またボタンから手を放した時のポインタの位置を用いて、終了位置を得ることができる。
【００６６】
ボックス２７４の動作は、開始位置から終了位置まで移動するレイアウト空間の変換を得る。レイアウト空間は、例えば双曲面(hyperbolic plane)、又は負の曲率を有する他の空間とすることができる。
【００６７】
ボックス２７６の動作は、現行変換をボックス２７４から得られた新たな変換と結合し、結合変換を得る。ボックス２６２及び２６４が別の表現を示すために実行されると、結合変換は現行変換となる。
【００６８】
以下に述べるように、図６の技術を実行して、ただ１つの表現ではなく、クリックに応答して一連の表現を表示した。このように変更することにより、開始位置から終了位置への連続した動作の知覚を提供することができる。
【００６９】
図７の技術は、例えばボックス２８０の動作が図６のボックス２６０の動作と同じであるといったように、図６の技術と類似する。しかしながら、重要な違いは、ボックス２８２の動作が、ボックス２６２でエッジ付近のノードとして取り扱われたものも含めて、ノードリンク構造中の各ノードの変換された位置を得るということである。よって図７の技術は、大型のノードリンク構造に対しては、図６の技術ほど有効でない。
【００７０】
ボックス２８４の動作は、図６のボックス２６４の動作と同じように、ボックス２８２からの変換された位置をディスプレイ位置にマッピングし、このディスプレイ位置を用いて、ボックス２６４と同じように表現を表示する。
【００７１】
ボックス２９０の動作は、ボックス２７０と同じように要求を受け取る。ボックス２９２の動作は、ボックス２８０からのレイアウトデータではなく、ボックス２８２からの変換されたデータであるようにレイアウトデータを先ず更新することにより、応答する。次にボックス２９２の動作は、ボックス２９０で示されたディスプレイ位置（単数又は複数）から変換されたレイアウト空間へとマッピングを行って、開始位置及び終了位置を得る。ボックス２９４の動作は、開始位置を終了位置に移動する新たな変換を得、ボックス２８２及びボックス２８４の動作が実行されて別の表現が示される前に、現行変換を更新して、新変換とする。
【００７２】
上述の通り、図６の技術は、大型のノードリンク構造を図７の技術以上により良くハンドルするが、その理由は、エッジに非常に近いノードに対してはボックス２６２の動作が実行されないからである。図７の技術は、大型の構造に対しては実用的でないということが判った。さらに、図７の技術では変換を得る際に情報がいくらか失われるため、図６の技術の方がより正確である；それはなぜなら、図６の技術はボックス２６０からの元々のレイアウトデータを使用し続けるからである。
【００７３】
ＣＰＵ２０２のオペレーションの次の実現方法は、図６のユーザインタフェース技法に従う。
【００７４】
図８は、ＣＰＵ２０２のアニメーション（動画）オペレーションの動作を示す。ＣＰＵ２０２は、走査検索(browser) インタフェースプログラム２３４により示される命令を実行する際に図８の動作を行う。
【００７５】
ボックス３００の動作は、アニメーションオペレーションに関する呼び出しを受け取る。該呼び出しはノードリンクデータ２４０のハンドルを含む。
【００７６】
ボックス３０２の動作は、アニメーションパラメータデータ２４８をアクセスして、アニメーションを実行する際に使用されるパラメータを初期設定することにより開始する。パラメータの例については下記で論じる。
【００７７】
ボックス３０４の動作は、ノードリンクデータ２４０を用いて、レイアウトデータ２４２を得る。次に、ボックス３０６の動作は、レイアウトデータ２４２を用いて、単位円へマッピングして、該単位円をディスプレイ２０８の円形リージョンへマッピングする。ボックス３０６の動作はまた、マッピングに基づいてディスプレイ２０８上に初期表現を示すデータを提供する。
【００７８】
ボックス３０６と３１０の間の破線で示されるように、ＣＰＵ２０２は、ボックス３１０の動作がユーザ信号イベントの発生を示すキーボード２０４又はマウス２０６からデータを受け取る前の不特定時間を待つことができる。
【００７９】
イベントが生じると、ボックス３１２の動作はボックス３１０で受け取られたイベントのタイプに基づいて分岐する。
【００８０】
イベントが、マウス２０６のドラッギング動作の開始又は終了を示すマウス２０６のボタンの押し離しである場合、ボックス３１４の動作は、ポインタの位置のようなパラメータを更新すること、及びドラッギング動作が生じているか否かを示すドラッギング変数をトグルすることにより状況を変更する。次に、ボックス３１４からボックス３１０への破線により示されるように、別のユーザ信号イベントをボックス３１０で受け取ることができる。
【００８１】
イベントがマウス２０６を移動させる動作を示す動作イベントである場合、ボックス３２０の動作は、ドラッギング変数がドラッギング動作が生じていることを示すかどうかに基づいて分岐する。ドラッギングが生じると、ボックス３２２の動作は、マッピングオペレーションに備えてパラメータを更新することによって状況を変更する。次にボックス３２４の動作は、ボックス３２２からの更新したパラメータを用いて、ボックス３０４からのレイアウトデータによって示された位置から単位円上の位置へマッピングする。次にボックス３２４の動作は、ボックス３０６の動作と同様に得られた表現をディスプレイ２０８上に示す。
【００８２】
ボックス３２６の動作は、ドラッギングが生じていない場合にだけ行われ、ポインタ位置を更新し、ノードリンク構造のディスプレイされた表現の下の現在位置の描写をプリントし、所望のノードへナビゲートしてユーザを援助する情報を提供する。その描写には、例えばポインタの位置に最も近いノードのノード特徴を識別する数や名前が含まれる。先ずディスプレイ位置からレイアウト空間の位置へマッピングし、次に最も近いノードのノードを探索することにより、最も近いノードを検出できる。効率性のために、探索を最も近いノードを含み得るブランチに限定することが可能である。
【００８３】
ボックス３２４及び３２６からボックス３１０への破線により示されるように、ボックス３２４及び３２６の動作後に、ボックス３１０で別のユーザ信号イベントを受け取ることができる。
【００８４】
イベントが、キーボード２０４からキーを押すこと、又はマウス２０６からクリックすること、即ちマウスのボタンを押して直ぐに離すことである場合、ボックス３３０の動作は、１つ以上のステップを待ち行列にセットアップしてイベントに応答する。キープレス（キーを押すこと）はパラメータの変更を示し、クリックはより大きなリージョン内に表現されたノードリンク構造の部分の変更を示す。次に、ボックス３３２の動作は、待ち行列が空になるまで連続する反復ループを開始する。各反復はボックス３２４と同じように、パラメータを更新することによって状況を変更するボックス３３４の動作を含む。各反復はまた、ボックス３３４からの更新パラメータを用いて、ボックス３０４からのレイアウトデータにより示された位置から単位円上の位置へマッピングする動作も含む。ボックス３３６の動作は次に、ボックス３２６の動作と同様に、得られた表現をディスプレイ２０８上に示す。
【００８５】
待ち行列が空になると、ボックス３３２からボックス３１０への破線で示されるようにボックス３１０の動作は、別のユーザイベント信号を受け取ることができる。あるいは、ボックス３２０の動作は、新たなユーザ信号イベントが発生したか否かを検査し、発生していれば待ち行列をクリヤして、次にボックス３１０の動作を行い新たなユーザ信号イベントを受け取ることができる。
【００８６】
この実施例において、ユーザ信号イベントは２つの一般的なタイプに分かれる。イベントの一方のタイプは、変更表現の表示を要求するのでレイアウト及びマッピングオペレーションでハンドルされ得る。他方のタイプはアニメーションパラメータを修正し、パラメータ設定オペレーションによってハンドルされ得る。
【００８７】
図９は、図８のボックス３０４の動作と同様に、レイアウトデータを得るためにノードリンクデータを用いる際の動作を示す。
【００８８】
図９のボックス３５０の動作は、レイアウトオペレーションを行うための呼び出しをノードリンクデータのルートノードのハンドル、双曲面における位置の座標、ルートノードの子孫を得られる双曲面のウェッジ、及びルーム(room,空間) の境界と共に受け取ることにより開始する。ウェッジはその頂点として位置を有する。ルームの境界はその中心の位置により円を定義する。
【００８９】
図９の技法は、円とウェッジのリージョン内に、ノードとその子ノードに対してスペースをレイアウトする。図９のレイアウトオペレーションでは、ノードリンクデータのハンドルがルートノードのハンドルと同様にできる非循環階層ノードリンク構造を規定するノードリンクデータが使用可能である。双曲面のウェッジは、ウェッジの角度及び方向により規定され得る。ルートノードの子が全方向に放射状に伸びることができる場合、ウェッジの角度は３６０°となり方向は問題とならないが、右に向かうような標準のオリエンテーション（配向）の場合、ウェッジの角度は１２０°のようなより小さな角度となり、方向がオリエンテーションを決定する。ルーム境界は、ルートノードの場合、０．９に初期設定することができる。
【００９０】
ボックス３５２の動作は、現在ハンドルしているノードが子を有するか否かを検査する。有していればボックス３５４の動作は、双曲面内の子までの距離を得る。次に、ボックス３６０の動作は、順番に現行ノードの子の各々をハンドルする反復ループを開始する。
【００９１】
ボックス３６２の動作は、次の子ノードに関して、双曲面における位置、ウェッジ、及びルーム境界を得ることによって、各反復を開始する。ボックス３６２の動作はボックス３５４からの距離を用いる。ルーム境界は、ボックス３５４より得られた子の親からの距離の２分の１又はウェッジ内の円の半径で、どちらかより小さい方とすることができる。円は、ウェッジの側辺（サイド）に接し、ボックス３６２で得られた子の位置にその中心を有する。次に、ボックス３６４の動作は、レイアウトオペレーションに対しての再帰呼び出しを、次の子のハンドルとボックス３６２から得られたその子の位置、ウェッジ、及びルーム境界と共に行う。ボックス３６６の動作は再帰呼出しから戻り、次にボックス３６８の動作は子のハンドルを次のノードのために子のリストへ加える。
【００９２】
現行ノードの子全てがハンドルされると、ボックス３７０の動作は、ボックス３５０若しくは３６４の呼び出しで受け取ったルーム境界、又はボックス３５４から得られた現行ノードの子までの１／２の距離のいずれかの小さい方を取ることにより現行ノードの半径を得る。現行ノードが子を持たない場合、ボックス３７０の動作は、ボックス３５０からのルーム境界を半径として取る。
【００９３】
次にボックス３７２の動作は、現行ノードに関してデータ構造を生成する。現行ノードのデータ構造はその位置及びボックス３７０から得られたその半径を含み、現行ノードが子を持つ場合、そのノードデータ構造はまたボックス３６８から得られたその子のリストのハンドル又は該リストへの他のリンクを含む。データ構造はまた他の関連情報を含むこともできる。ボックス３７４の動作は現行ノードのデータ構造のハンドルをリターンすることにより終了する。
【００９４】
図１０は図８のボックス３２０の動作のドラッギング動作を示す。
【００９５】
図１０のボックス４００の動作は、ドラッギングに関する呼び出しをポインタの位置及びポインタの前の位置と共に受け取る。次にボックス４０２の動作は、ボックス４００から得られたポインタ位置及び前の位置を、ディスプレイ２０８のウィンドウ中の座標から双曲幾何学演算を適用することができる座標へ変換することによって開始する。説明される実施例において、ディスプレイ座標は、双曲面のポアンカレ（Ｐｏｉｎｃａｒｅ’）モデルを表現する半径１．０のディスクを意味する単位円上の座標へ変換される。単位円上の各位置を１対のｘ座標とｙ座標によって−１．０と＋１．０の間に指定することができる。従って、ボックス４０２における変換は、ウィンドウ中の各座標を、ウィンドウの半径、又はウィンドウが正方形(square)である場合には辺の１／２の長さで除算することによってなされ得る。
【００９６】
エッジに非常に近い動作が大いに拡大されることになるので、次にボックス４０４の動作は、ボックス４０２から得られた単位円ポインタの位置と単位円の前の位置のいずれかが、例えばエッジの約０．０２５内にある等、単位円のエッジに接近しすぎているか否かを検査する。接近しすぎている場合、ボックス４０６の動作は、例えば、各座標と、起点(origin)からその位置への距離に比０．９７を乗算すること等によって、エッジに接近しすぎる位置を調節する。従って、座標をわずかに縮小し、位置をエッジからより遠くに移動させる。
【００９７】
ボックス４０２における変換、及び必要に応じてボックス４０６における調整は、前の位置の反転画像及びポインタ位置の反転画像を、共にレイアウト空間中に生成する。
【００９８】
ボックス４１０の動作は次に、前の位置の反転画像をポインタ位置の反転画像に移すレイアウト空間の変換を見つけることにより、トランスレータを得る。双曲幾何学を用いると共に、ノードリンク構造の部分のオリエンテーション（配向）をレイアウトの起点に保持して、トランスレータを得ることができる。該起点は、ノードリンク構造のルートノードとすることもできる。
【００９９】
次に、ボックス４１２の動作は、ボックス４１０から得られたトランスレータを、前の表現から得られた現在の平行移動（トランスレーション）と合成し、新たな現在の平行移動を得る。次に、以下に詳細に示されるようにこの新たな現在の平行移動を図８のボックス３２４で用いて、新しい表現をマッピングして示す。
【０１００】
図１１は図８のボックス３３０のキープレス（キーを押すこと）に応答して、待ち行列（キュー）ステップの動作を示す。
【０１０１】
図１１のボックス４３０の動作は、押された単数又は複数のキーの識別子と共にキープレスコールを受け取る。次に図１１の技法は、この実施例に関して示されるように、押された単数又は複数のキーに基づいて分岐する。
【０１０２】
コントロールキーと”ｏ”キーが押されると、ボックス４３２の動作は、オリエンテーション（配向）ステップを待ち行列にロードする。ボックス３３４でハンドルされると、オリエンテーションステップは、親に関連する子ノードの配向がクリックコールに応答して変更する方法を、変更することができる。ルートノードの子の元の配向を保持するルート保持オリエンテーション(root-preserving orientation) に加えて、より大きなスペーシングのリージョンの中心付近のノードの子ノードがその親から右側にある、右オリエンテーション(rightward orientation) が実行された。
【０１０３】
オリエンテーションステップは、ルート保持オリエンテーションと右オリエンテーションとの間でトグルすることができる。オリエンテーションステップは、図９に関して上記に記載したようにレイアウトオペレーションを呼び出せるので、ノードは新しいオリエンテーションに適切にレイアウトされる。新しいオリエンテーションがルート保持オリエンテーションである場合、続くクリックオペレーションは、元のオリエンテーションをルートノード特徴に保持する変換を得ることができる。新しいオリエンテーションが右オリエンテーションである場合、続くクリックオペレーションは、ノードがより大きなスペーシングのリージョンの中心付近位置に変換されるとしても、ノードの子ノードを右に配向する変換を得ることができる。オリエンテーションを維持するための動機及び技法は図２０及び２１に関して以下で論じられる。
【０１０４】
コントロールキーと”ｇ”キーが押されると、ボックス４３４の動作は、ボックス３３４でハンドルされる時にｏｎからｏｆｆへ又はｏｆｆからｏｎへのテキスト上移動(text-on-move)変数をトグルするステップを待ち行列にロードする。図２０に関して下記で論じられるように、続くオペレーションは、テキスト上移動値を用いて、テキストを中間表現中にクリックに応答して示される表現のシーケンスでディスプレイ（表示）すべきか否かを決定する。
【０１０５】
コントロールキーと”ｔ”キーが押されると、ボックス４３６の動作は、ボックス３３４でハンドルされる時にｏｎからｏｆｆへ又はｏｆｆからｏｎへのテキスト変数をトグルするステップを待ち行列にロードする。続くオペレーションは、テキストの値を用いて、矩形及びノードを含むノード特徴をディスプレイするべきか否かを決定する。
【０１０６】
コントロールキーと”ｗ”キーが押されると、ボックス４３８の動作は、ボックス３３４でハンドルされる時にｏｎからｏｆｆへ又はｏｆｆからｏｎへのウェ−ハ変数をトグルするステップを待ち行列にロードする。続くオペレーションは、ウェーハの値を用いて、テキスト変数もｏｎであるときに矩形のかわりに円を含むノード特徴をディスプレイするべきか否かを決定する。
【０１０７】
コントロールキーと”ａ”キーが押されると、ボックス４４０の動作は、ボックス３３４でハンドルされる時にｏｎからｏｆｆへ又はｏｆｆからｏｎへの弧変数をトグルするステップを待ち行列にロードする。図２０に関して下記で論じられるように、続くオペレーションは弧の値を用いて、直線又は弧のリンク特徴を中間表現中にクリックに応答して示される表現のシーケンスでディスプレイすべきか否かを決定する。
【０１０８】
ホームキーが押されると、ボックス４４２の動作は、ボックス３３４と３３６の一連の繰り返しによってハンドルされる時にノードリンク構造のルートノードをその現在の位置からディスプレイされる表現の中心まで移動させる一連のスライドステップを待ち行列にロードする。スライドステップを、クリックコールに関して下記に記載されるオペレーションと同様にロードすることができる。ホームキーを押すことは、ルートノード特徴のクリックと同じことであるが、ルートノード特徴を見つけるという問題がない。
【０１０９】
図１２は図８のボックス３３０及び３３４と同じように動作のクリックに応答して、待ち行列ステップの動作を示す。
【０１１０】
図１２のボックス４６０の動作は、クリックコールをポインタ位置と共に受け取る。図１０のボックス４０２の動作と同じように、ボックス４６２の動作は、ボックス４６０からのウィンドウ座標を単位円座標へ変換する。図１０のボックス４０４及び４０６の動作と同じように、ボックス４６４及び４６６の動作は、ポインタ位置が単位円のエッジに接近しすぎている場合、単位円座標を調節する。ボックス４１０の動作と同じようにボックス４６２及び４６６の動作は、ポインタ位置の反転画像を生成する。
【０１１１】
ボックス４７０の動作は、表現が示されるディスプレイリージョンの中心の反転画像に対してポインタ位置の反転画像を移すレイアウト空間において変換を見つけることによって総平行移動を得る。次に、ボックス４７２の動作はボックス４７０から得られた総平行移動のｎ番目のルートを得る。ボックス４７０及び４７２の動作は、双曲幾何学を用いると共に、ノードリンク構造の部分のオリエンテーション（配向）をレイアウトの起点に保持して、実施され得る。該起点はノードリンク構造のルートノードとすることもできる。
【０１１２】
次に、ボックス４７４の動作は、可変トランスレータを現在示される表現から得られる現在の平行移動に設定することにより反復ループを準備する。次にボックス４８０の動作は、ｎ回の反復を継続する反復ループを開始する。
【０１１３】
各反復によって、ボックス４８２の動作は、ボックス４７２から得られたｎ番目のルートをボックス４７４又はその前の反復のいずれかから得られたトランスレータと合成し、トランスレータに関する新しい値を得る。次に、ボックス４８４の動作は、ボックス４８２で得られたトランスレータを有するスライドステップをスライドステップのリストへ追加する。
【０１１４】
ｎ反復が実行されると、ボックス４９０の動作は現在の平行移動とボックス４７０からの総平行移動を合成する。ボックス４９２の動作は、ボックス４９０で得られた合成を有する最後のスライドステップをスライドステップのリストへ追加する。次にボックス４９４の動作は、スライドステップのリストを待ち行列へ追加する。
【０１１５】
図１３は、図８のボックス３０４から得られたレイアウトデータを用いる際の動作を示し、図８のボックス３０６、３２６、及び３３６の動作と同じようにノードリンク構造の表現を示す。
【０１１６】
図１３のボックス５００の動作は、図９のボックス３５０の動作と同様にノードリンク構造のルートノードのハンドルと共にマッピングに関する呼び出しを受け取る。ボックス５０２の動作は、前のノード特徴の位置を示すための変数と、単位円からの境界線(perimeter) からの前の位置の半径方向ギャップ(radial gap)を示すための変数とを含む変数を初期設定することによりマッピングを開始する。
【０１１７】
ボックス５０４の動作は、単位円に現行ノードのマッピング位置を得ることによって、図１３においてＤｏＮｏｄｅ（ドゥノード）と呼ばれる再帰オペレーションを開始する。マッピング位置は、レイアウト空間内で現行ノード反転画像となる。次に、ボックス５０６の動作は、現行変換を用いて、リンク特徴を示し、このリンク特徴は弧又は直線のいずれかの線として、ボックス５０４から得られた位置を前のノード特徴位置と接続して実施された。
【０１１８】
ボックス５１０の動作は、ボックス５０４から得られた位置にノード特徴を示すことができるか否かを決定する。これは、ボックス５０４から得られた位置に関して半径方向ギャップを計算し、次にその値を限界値と比較することによって、該位置が単位円の境界線に接近しすぎていないかどうかを決定する。ボックス５１０で用いられた限界値（制限）は、中間の反復が実行されているか否かに依存することができ、この場合に、表現をあらわす（render）のに必要な時間を減少するために限界値をより大きくすることができる。上記位置が単位円の境界線に接近しすぎている場合、ボックス５１０の動作はまた、半径方向ギャップを、前の位置の半径方向ギャップの９５％と比較して、現在位置が、子が現在位置よりも単位円の境界線からより離れているような親からの方向にあるか否かを決定する。ボックス５１０の動作により位置と方向が共にオーケーでないと判定されると、ＤｏＮｏｄｅは終了する。しかし、現在の位置が境界線に接近しすぎていない場合、又は現在の位置よりもその子が境界線から離れている場合、現行ノードを表現するノード特徴を示すことができるので、ボックス５１２の動作は、各その子をハンドルする反復ループを開始する。
【０１１９】
ＤｏＮｏｄｅへの再起呼出しの準備では、ボックス５１４の動作は、前のノード特徴の位置をボックス５０４からの位置に設定すること、及び前の位置の半径方向ギャップをボックス５１０で計算された半径方向ギャップに設定することの反復を開始する。これらの値は、反復内で局所的に設定される。次に、ボックス５１６の動作は、次の子ノードに対してＤｏＮｏｄｅを、子のハンドル及びボックス５０４から得られた親の位置と共に呼び出す。ボックス５１８の動作はＤｏＮｏｄｅからリターンする。
【０１２０】
子の全てがハンドルされたのでそれぞれが単位円中にマッピング位置を有すると、ボックス５２０の動作は、現行ノードのノード特徴を示す。該ノード特徴は、空間が許容すればテキストを有する矩形として実施された。従って、ノード特徴は、ボックス５０６で示されたリンク特徴上にペイントされる。ノード特徴をノードの半径とノードのマッピング位置を用いることによってレイアウト空間に位置され、ディスプレイ面にマッピングリージョンを得ることができる。該マッピングリージョンは中心及び半径により定義される。ウェーハ変数がオンであれば、ノード特徴は該半径を有する円とその中心に置かれたテキストを含むが、テキスト変数がオンであれば、ノード特徴は、矩形とその中心におかれたテキストを含む。
【０１２１】
ボックス５０６と５２０の動作はそれぞれ、ディスプレイ２０８上に特徴を示すことを含む。使用されている特定のディスプレイシステムにふさわしいこれらの動作は、従来のディスプレイ駆動装置技法を用いて実施され得る。一般的にこれらの動作は単位円位置からディスプレイ位置への一定の変換を行う。
【０１２２】
図１３の技法はまた、ボックス５２０の動作の後のような各表現が示された後のアニメーションバッファの切り換えを含む。
【０１２３】
図１４乃至２１は、上記に記載したような技法により示した表現の例を示す。図１４は円形バックグランドに均一なツリー表現を示し、該表現はその中心のより大きなスペーシングのリージョンにルートを有し、そのエッジ付近に周辺ブランチを有する。図１５は、不均一なツリーである類似した表現を示す。図１６は同様の不均一なツリー表現を示すがより大きなスペーシングのリージョンにルート以外の部分を有する。図１７は、内容を示す文字を含む矩形のノード特徴、線であるリンク特徴、及び中心のルート、を有する構成図(organization chart)の表現を示す。図１８は構成図の別の表現を示し、より大きなスペーシングのリージョンの中心にあるノードの子らがその親から右方向にある。図１９は、各ノード特徴が円形の境界線(boundary)を有するバージョンの図１７の表現を示す。図２０は、図１７の表現のような一表現から別の表現への連続動作を知覚することができる一連の表現を示す。図２１は、図１８の表現のような一表現から別の表現への連続動作を知覚することができる一連の表現を示す。
【０１２４】
図１４は、中にバックグランド５５２及び表現５５４を示すウィンドウ５５０を示し、表現５５４はバックグランド５５２上に図のように示される。表現５５４は、ノードリンク構造のノード同士間のリンクを表現する線であるリンク特徴と、単に線の交点又は端部であるノード特徴とを含む。表現されたノードリンク構造は、深さ５で分岐ファクタ３の均一なツリーであり３６４ノードを有する。各ノードの子らを表現するノード特徴は、より大きなウェッジを最初に使用できるルートノード特徴５５６付近を除いてほぼ同一角度に広がる。
【０１２５】
図１５は、中にバックグランド５６２及び表現５６４を示すウィンドウ５６０を示す。表現５５４と同様に表現５６４は、線であるリンク特徴と線の交点又は端部であるノード特徴とを含む。表現されたノードリンク構造は１００４ノードで子のポアソン分布とを有する不均一なツリーである。上記に記載したように、コンパクトさのために、多数の子孫を有する同胞は、少数の子孫しか有さない同胞よりもよりルームがあるので、ルートノード特徴５６６は、異なった最も近いノードスペーシングを備える子を有し、即ち、子孫がより大きな角度に広がる子ノード特徴５７０を子孫がより小さな角度に広がるノード特徴５７２と比較することによりわかる。結果として、孫は全ての親の子孫が同一角度に広げられた場合よりもむしろその祖父母からほぼ同じ距離になる。
【０１２６】
図１６は、中にバックグランド５８２及び表現５８４を示すウィンドウ５８０を示す。表現５８４は、図１５の表現５６４と同じノードリンク構造を表現するが、異なるノード特徴がより大きなスペーシングのリージョンにある。図１５のルートノード特徴５６６と同じノードを表現するルートノード特徴５９０は、バックグランド５８２の中心からエッジ近くの位置へ移動した。図１５の子ノード特徴５７２と同じノードを表現する子ノード特徴５９２は、それに追従した。そして、孫ノード特徴５９４はバックグランド５８２の中心に最接近する。即ち、ルートノード特徴５９０は、ルートノード特徴５６６の継続物として知覚可能であるが、右に移されたので、その焦点（フォーカス）は孫ノード特徴５９４の近くのノードリンク構造の一部分へ移された。
【０１２７】
簡便さにかかわらず、図１４乃至１６はまた、リージョンを囲む凸包を決定する一層離されたノード特徴も示し、該リージョンにおいて近隣のスペーシングは凸包の外側よりも一般的に大きく知覚できる。図１４乃至１６はまた周辺ブランチも示し、子ノード特徴が関連ノード特徴のグループとして知覚されるように、子ノード特徴はその親ノード特徴及び互いから弧にほぼ沿って離間される。
【０１２８】
図１７乃至２１は構成図であるノードリンク構造の様々な表現を示す。ノードリンク構造を定義するデータは、ノード毎に、ネームを示すデータ及びディビジョン（区分）やジョブタイトルのようなノードについての他の関連情報を含む。
【０１２９】
図１７は、中にバックグランド６０２及び表現６０４を示すウィンドウ６００を示し、表現６０４はバックグランド６０２上に図のように示される。表現６０４は、ノードリンク構造のノード同士間のリンクを表現する線であるリンク特徴と、あるものは中に文字を有する矩形であるが、他は図１４乃至１６のノード特徴のように線の交点又は端部であるノード特徴と、を含む。中に文字を有する矩形は、図１１のボックス４３６のテキスト変数をトグルするステップのローディングの結果を示す。ルートノード特徴６０６は表現６０４のより大きなスペーシングのリージョンの中心にある。
【０１３０】
図１８は、中にバックグランド６２２及び表現６２４を示すウィンドウ６２０を示す。表現６２４は、図１７の表現のようにリンク特徴とノード特徴を含むが、より大きなスペーシングのリージョンの中心ノードの子ノード特徴は、その親から右オリエンテーションを持つ。より大きなスペーシングのリージョンの中心にルートノード特徴６２６はないが、その孫ノード特徴６２８がより大きなスペーシングのリージョンの中心に最も近いノード特徴であり、その子ノード特徴は、より大きなスペーシングのリージョンの右方に扇形に広がる。図１８は図１１のボックス４３２と同じように、オリエンテーションパラメータを変更するステップのローディングの結果を示す。
【０１３１】
図１９は、中にバックグランド６４２及び表現６４４を示すウィンドウ６４０を示す。表現６４４は、図１７の表現のようにリンク特徴を含むが、そのノード特徴は図１７の矩形のノード特徴というよりはむしろ円形のノード特徴を含み、その中心にテキストを置く。各円は、ノード特徴で占められるエリアに接近している。図１９は図１１のボックス４３８と同じように、ウェーハパラメータを変更するステップのローディングの結果を示す。
【０１３２】
図２０は一連のウィンドウを示し、各々がバックグランドと、図１７のように保持されたルートオリエンテーションを有する表現とを有する。図２１は同様の一連のウィンドウを示すが、図１８のように右オリエンテーションを有する。いずれかの図のウィンドウが、アニメーション速度で順次示されると、あるノード特徴の最も近いノードスペーシングが増大し、他のノード特徴の最も近いノードスペーシングが減少するような方法で、ウィンドウは第１ウィンドウの表現を移動させる知覚を生成する。各々の場合において、図１２に関して上記に記載したｎ番目のルートを得る技法を用いて、最初と最後の表現の間の中間表現を得た。
【０１３３】
図２０のウィンドウ７５０において表現７５２は、より大きなスペーシングのリージョンの中心付近だが中心にはないルートノード特徴７５４を含む。子ノード特徴７５６はより大きなスペーシングのリージョンのほぼ中心にある。ウィンドウ７６０、７７０、７８０及び７９０の表現７６２、７７２、７８２及び７９２はそれぞれ、子ノード特徴７５６と同じノードを表現するノード特徴がバックグランドのエッジに向かって移動することを示し、孫ノード特徴７５８と同じノードを表現するノード特徴がより大きなスペーシングのリージョンの中心に向かって移動する。表現７９２において、ルートノード特徴７９４及び子ノード特徴７９６は、バックグランドの左下側で互いに非常に接近しており、孫ノード特徴７９８は、より大きなスペーシングのほぼ中心にある。
【０１３４】
図２０はオリエンテーションをどの様に保持することができるかを示す。オリエンテーションは図８乃至１３の技法について興味深い論点を示す。その理由は、概念が双曲面の幾何により回転させるのに役立つからである。例えば、大抵のノードは純平行移動(pure translation)中にディスプレイ上で回転する。回転しない線があるが、ノードがディスプレイ上でその線から離れれば離れるほど、ノードはより回転する。このことは図２０の一連の表現により理解され得る。例えば、”Ｌｏｗｅ”と名付けられたノードを表現するノード特徴は、子が右上方に扇形に広がった表現７５２で開始して、子が右下方に扇形に広がった表現７９２で終了した。より大きなスペーシングのリージョンの中心又は中心付近への平行移動及びそこからの平行移動の間で生じる回転は、かなり直観的(intuitive) である。しかし、エッジ近くのドラッグ(drag)がソース（源）とデスティネーション（行き先）の間のストレートな平行移動として解釈され(interpreted) て、次いで回転しない線がエッジの近くにある場合、表現はドラッグされているポイント（点、point)の回りで反直観的なピルエット(pirouette、軸旋回) をすることができる。
【０１３５】
双曲幾何の基本的な特性により回転が生じ、また別の問題も生じる。一般的なユークリッド平面において、グラフィカルオブジェクト（図的対象）が回りにドラッグされるが回転されない場合、結局そのもとの位置（ロケーション）へドラッグして戻され、また回転されないその元のオリエンテーションで終わる。しかし、このことは双曲面においては真ではない。閉ループを形成する一連の平行移動は、各々が平行移動の線に沿ってオリエンテーションを保持すると、一般的に回転が生じる。つまり、回転の量は閉ループのエリアに比例し、該ループを横切った方向と反対の方向にある。たとえ平行移動だけが実行されたとしても、ノードリンク構造の回りを走査検索して、次いで初期位置へ戻すユーザが、回転されたより大きなスペーシングのリージョンの中心に特徴を見つけるので、このことは反直観的である。
【０１３６】
ユーザが指定するポイント間の最も直接的な平行移動と、移動されるポイントの回りの追加的な回転の両方の組み合わせとしてユーザの操作を翻訳することにより、これらの問題を共に軽減することができるので、該操作及びその累積効果はより直観的である。図１０のボックス４１０又は図１２のボックス４７０の変換を得る際、追加的な回転が加えられる。ユーザの観点から、ユーザが操作しており、期待されるポイントをドラッグとクリックが移動させる。ユーザが期待するある他の特性を保持することを指定されると、追加的な回転もまた自然に現れる。ユーザは回転が加えられていることに特に気づく必要さえない。
【０１３７】
図２０は回転を加えるための第１技法を示す。この技法において回転は、元のルートノード特徴が常にその元のオリエンテーションをディスプレイ上に維持するように加えられる。特に、ルートノード特徴７５４と７９４の比較により理解され得るように、ルートノードから離れるエッジは、常にその元の方向のままである。ルートノード特徴のオリエンテーションを保持することはまた、より大きなスペーシングのリージョンの中心に現在あるノード特徴が、それを元の画像において有したオリエンテーションを持つことを意味する。この技法により、個々のドラッグ及びドラッグの累積効果の両方に直観的な性質を与えるように思われる。
【０１３８】
図２１のウィンドウ８００の表現８０２は、より大きなスペーシングのリージョンの中心付近だが中心にはないルートノード特徴８０４を含む。子ノード特徴８０６はより大きなスペーシングのリージョンのほぼ中心にあり、孫ノード特徴８０８を含むその子は、右方向に配向される。ウィンドウ８１０、８２０、８３０及び８４０の表現８１２、８２２、８３２及び８４２はそれぞれ、子ノード特徴８０６と同じノードを表現するノード特徴がバックグランドのエッジに向かって移動することを示し、孫ノード特徴８０８と同じノードを表現するノード特徴がより大きなスペーシングのリージョンの中心に向かって移動する。表現８４２において、ルートノード特徴８４４及び子ノード特徴８４６は、バックグランドの中心の左方で互いに非常に接近しており、孫ノード特徴８０８は、より大きなスペーシングのほぼ中心にある。
【０１３９】
図２１はオリエンテーションを明示的に保持しない回転を加えるための第２技法を示す。その代わりに、クリックが表現の一部分をより大きなスペーシングのリージョンの中心へもってくるように指示すると、より大きなスペーシングのリージョンの中心に最も近いノード特徴の子が、例えば右のような基準的な方向に、扇形に広がるように、表現を回転させる。右オリエンテーションはまた図１８にも示され、図２１は右オリエンテーションを有するアニメーションシーケンスを示す。ルートノードの子がルートノード片側のレイアウト空間に全てレイアウトされる時にこの技法が促進されるので、ルートノード特徴がより大きなスペーシングのリージョンの中心にある時に、ルートノード特徴の子ノード特徴はまた、基準方向に扇形に広がることが可能である。
【０１４０】
図２０及び２１のシーケンスは共に図１２に関して上記に記載したクリックコールに応答することにより得られた。最初から最後の表現までの連続性の知覚を改良するために、シーケンスをアニメーション速度で示して、総平行移動のｎ番目のルートを前の表現のトランスレータと合成することにより中間表現を得ることができる。
【０１４１】
応答ディスプレイ性能は、構造の対話型ドラッギングを支持する及びジャンプフォーカス操作(jump focus manipulation) に基づいて、クリックに応答して動画式遷移(animated transition) を支持するために重要である。提示速度は、標準的なハードウェアに対して大きなノードリンク構造の場合に問題となり得る。アニメーション及び対話型ドラッギングの間に細部のレベルを減らすことにより標準的なハードウェアに迅速な再ディスプレイが得られる。幸いにも連続動作の知覚に著しい影響を与えることなく細部のレベルを減らすことができる。図２１は、アニメーションシーケンスを示し、該シーケンスにおいて細部のレベルは中間表現で減らされる。接近して見なければ、動作中の喪失細部に気づかないことは容易である。
【０１４２】
細部を減らす一方法は、中間表現中により少ないフリンジ( 縞、fringe) を作成することである。フル品質ディスプレイルーチンは、一度、それが一ピクセル分解能よりも下に得られると、フリンジを作成することを止める。その理由は、一ピクセル分解能は、ノードリンク構造がどんなに大きくとも、複雑なものを描画すると絶対バウンドを与えるからである。アニメーションの場合、バックグランドのエッジ近くのノード特徴の切り詰めは、図１３のボックス５１０で増強することができるので、レイアウト空間のエッジの内側のある幾つかのボーダー内のノードの子孫に関して、ノード特徴は作成されない。この技法は、多大な大多数のノードがエッジに非常に接近するのでディスプレイ性能をたいへん向上するさせる。しかしこの技法は連続動作の知覚を著しく下げるというわけではない。その理由は、切り詰められたノードは、ユーザが典型的に焦点を合わせている部分ではなくて、ディスプレイのほんの小さな部分しか占めないからである。
【０１４３】
細部を減らすための別の方法は、図１１のボックス４４０に関して上記に記載して、図２１における中間表現で説明したように、弧というよりも直線としてリンク特徴を描くことである。発明を今まで実施してきた環境下で弧を描くことは、直線を引くことよりも数倍、時には何倍も高価になることがわかった。これは弧を描くのに必要なコストであるのか、又は弧が直線と同じように旨く最適化されないでいるのかは明白でない。いずれの場合においても、アニメーション中に弧よりも直線を引くことによってこの費用を回避することができる。これは、弧と直線の間の差が動作の存在中に明白でないため、また動作中のユーザの注意が表現の中心近くに焦点に合わせられる（この場合、弧は既にほぼ真っ直ぐである）傾向にあるためらしい。
【０１４４】
細部を減らすためのある他の可能な方法は、図１１のボックス４３４に関して上記に記載したようにアニメーション中にテキストを落とすことである。一方、これはアニメーションを著しく乱す。また、アニメーション中のテキストのディスプレイの性能問題ではなかった。
【０１４５】
これらの細部の減少は、米国特許第５、３８４、９０８号、及びユーザインタフェース・ソフトウェア・アンド・テクノロジー(User Interface Software and Technology)のＡＣＭシンポジウムの会報”ペーサー：タイム−エラスティック・オブジェクト(Pacers: Time-elastic objects)" 、（Ｓ．Ｈ．タング、リントン  Ｍ．Ａ．著、ＡＣＭプレス、１９９３年１１月、３５〜４３ページ）に記載されたように、アニメーション中にレンダリング品質を自動的に調節するシステムで用いるためのオプションを提供する。
【０１４６】
要約すると、図２０及び２１の表現のようなノードリンク構造表現のシーケンスを示すことは、焦点とコンテキストの滑らかなブレンド、及び焦点の連続的な再位置決めを提供する技法に基づく。この技法は、双曲面に均一な方法でノードリンク構造をレイアウトして、この面を円形のディスプレイリージョンへマッピングすることにより実施され得る。単位円への投影は、より多くの空間を割り当てる自然メカニズムを、階層の一部分へ提供し、それを階層全体のコンテキストに更に埋め込む。該構造を双曲面上に平行移動することにより、構造部分が、全体のツリーを視覚する幻影(illusion)を悪くしない最も大きいィスプレイ空間を受け取る制御メカニズムが提供される。焦点は、対話型ドラッギングと共にポインタクリックを用いて効果的に操作され得る。このような操作のトランジションは、滑らかに動かされ得る。
【０１４７】
該技法は、ツリーを視覚化するのによく適している。図２０及び２１に示されたように、ツリーはまずルートをより大きなリージョンの中心に表現するノード特徴を用いてディスプレイされるが、該表現は他のノード特徴をより大きなスペーシングのリージョンの中心へもたらすように滑らかに変換され得る。コンテキストは常に数世代の親、同胞、及び子を含み、ユーザが迷うことなく階層を探究するこをより容易にする。
【０１４８】
上記に記載した実施例は、双曲的幾何及び双曲面におけるレイアウトを用いる技法による。発明の他の実施例は、双曲的幾何を用いずに、双曲面以外の空間でのレイアウトで、等角マッピング(conformal mapping) 又は他のマッピングを実行することができた。
【０１４９】
上記に記載した実施例は円形のディスプレイリージョン中に表現を示すが、表現は、楕円形のようなあらゆる他の適切に形状化されたディスプレイリージョン中に、双曲面からの適切なマッピングにより示され得た。
【０１５０】
上記に記載した実施例は、矩形又は円形であるノード特徴、及び弧のような線又は直線であるリンク特徴を示すが、表現を他のタイプのノード及びリンク特徴を用いて示すことができる。例えば、ディスプレイ空間のより大きな利用法を、長円形の又は楕円形のノード特徴を用いて得ることができ、該ノード特徴は別の、未使用のディスプレイエリアへ広がる。さらに双曲面又は他のレイアウト空間中のノードに割り当てられるリージョンは、円形でない形を有することができる。
【０１５１】
上記に記載した実施例は、より大きなスペーシングの単一リージョンを示すが、表現をより大きなスペーシングの２つ以上のリージョンを用いて示し、より多くのノード特徴に焦点を合わせることができる。
【０１５２】
上記に記載した実施例は弧を保持するが、弧は保持される必要はない。
【０１５３】
上記に記載した実施例は、より大きなスペーシングのリージョンから表現の他のリージョンへの連続的な遷移を提供するが、エッジ、コーナー、又は別の非連続的な遷移を表現中に含むことができる。例えば、より大きなスペーシングのリージョンは、角錐の頂部を形成する正方形とすることができ、周辺ブランチはより大きなリージョンから離れる側に示される。
【０１５４】
本発明は、構成図用のブラウザー、ファイルシステム階層、ハイパーテキスト階層、ワールドワイドウェブ連結性構造、部品故障、ＳＧＭＬ構造、又はあらゆる他の大きなノードリンク構造を含む多くの方法に適用され得る。ブラウザーは、構造又はその内容を編集するのに使用され得る。
【図面の簡単な説明】
【図１】図１は、ノードリンク構造の２つの表現を示すディスプレイを示す概略フロー図であり、各々はより大きなスペーシングのリージョンと周辺ブランチを有するが、第２の表現は第１の表現の変更された継続物として知覚することができる。
【図２】ノード特徴により占められるエリアが凸包を決定することを示す概略図。
【図３】図１のシーケンスのような表現のシーケンスを示す際の一般的な動作を示すフローチャート。
【図４】図１のシーケンスのような表現のシーケンスを示すマシンの一般的な構成要素を示す概略図。
【図５】ノードリンク構造の表現のシーケンスを示すことができるシステムの構成要素を示す概略ブロック図であり、各々がより大きなスペーシングのリージョン及び周辺ブランチを有するが、最後の表現を第１の表現が変更された継続物として知覚することができる。
【図６】図５のマシンが位置変更のリクエストに応答してエッジに近すぎないノードの部分集合の位置を変換して、マッピングすることによりブラウザーインタフェースを提供することができる動作を示すフローチャート。
【図７】図５のマシンが位置変更のリクエストに応答して全ノードの位置を連続的に変換して、マッピングすることによりブラウザーインタフェースを提供することができる動作を示すフローチャート。
【図８】図６の技法を実施する図５のシステムによるアニメーションオペレーションの動作を示すフローチャート。
【図９】図８のレイアウトオペレーションの動作を示すフローチャート。
【図１０】図８のドラッギングに応答して動作を示すフローチャート。
【図１１】図８のキープレスに応答して動作を示すフローチャート
【図１２】図８のクリックに応答して動作を示すフローチャート
【図１３】図８のレイアウトからディスプレイにマッピングする際の動作を示すフローチャート。
【図１４】図１３の技法により生成された画像を示し、中心のより大きなスペーシングのリージョンにルート、及びエッジ付近に周辺ブランチを有する円形バックグランドの均一なツリー表現を有する。
【図１５】図１３の技法により生成された別の画像を示し、中心のより大きなスペーシングのリージョンにルート、及びエッジ付近に周辺ブランチを有する円形バックグランドの不均一なツリー表現を有する。
【図１６】図１３の技法により生成された別の画像を示し、図１５と同じ不均一なツリーの表現を有するが、より大きなスペーシングのリージョンにルート以外の部分を有する。
【図１７】図１３の技法により生成された別の画像を示し、内容を示す文字を含む矩形のノード特徴、線であるリンク特徴、及び中心にルート、を有する構成図(organization chart)の表現を示す。
【図１８】図１３の技法により生成された別の画像を示し、図１７に表現された構成図の別の表現を有するがより大きなスペーシングのリージョンの中心最も近いノードの子ががその親から右方向にある。
【図１９】図１３の技法により生成された別の画像を示し、各ノード特徴がノード特徴により占められるエリアを示す円形を有するバージョンの図１７の表現を示す。
【図２０】図８の技法により生成された画像のシーケンスを示し、画像が図１７の表現のような一表現から別の表現への連続動作を知覚することができる表現を含む。
【図２１】図８の技法により生成された画像の別のシーケンスを示し、画像が図１８の表現のような一表現から別の表現への連続動作を知覚することができる表現を含む。
【符号の説明】
１０    ディスプレイ
１２    画像
１４    表現
２０    画像
２２    表現
３０    ノード特徴
６０    ノード特徴
５５０    ウィンドウ
５５２    バックグランド
５５４    表現
５５６    ルート
５７０    子ノード特徴
５７２    子ノード特徴
【図１】
0003737169.tif 000002
【図２】
0003737169.tif 000003
【図３】
0003737169.tif 000004
【図４】
0003737169.tif 000005
【図５】
0003737169.tif 000006
【図６】
0003737169.tif 000007
【図７】
0003737169.tif 000008
【図８】
0003737169.tif 000009
【図９】
0003737169.tif 000010
【図１０】
0003737169.tif 000011
【図１１】
0003737169.tif 000012
【図１２】
0003737169.tif 000013
【図１３】
0003737169.tif 000014
【図１４】
0003737169.tif 000015
【図１５】
0003737169.tif 000016
【図１６】
0003737169.tif 000017
【図１７】
0003737169.tif 000018
【図１８】
0003737169.tif 000019
【図１９】
0003737169.tif 000020
【図２０】
0003737169.tif 000021
【図２１】
0003737169.tif 000022