| English page is here. |
力学モデルを用いたグラフデータの視覚化手法の改良 |
概要
グラフデータを視覚化する際に最も重要な技術は、 「グラフデータを構成するノードの配置を決定する問題」 を解くことです。この問題に対して私たちは、 バネモデル(フックの法則)や分子間力モデル(ファン・デル・ワールス力) に類似した力学モデルを適用した方法を提案しています。
この条件を満たさない配置結果と、条件を満たす配置結果を、 まったく同じ接続関係をもつグラフデータのイラストで比較してみましょう。 言うまでもなく、条件を満たす配置結果のほうが、 スッキリと読みやすい視覚化結果に仕上がっています。
以上の条件のいくつかを、ある程度満たすような配置結果を、 比較的高速に算出する手法として、 力学モデルを用いた手法が以前から知られています。 この手法では、以下の図でも示す通り、
この手法を実装した結果として、私たちは以下の問題点を重視しました。
[改良1] すべてのノードを初期段階から配置するのではなく、 1個ずつインクリメンタルに配置するアルゴリズム。
このアルゴリズムによって、力学モデルの計算を
「いま追加したばかりのノード」の周辺だけに局所化することに成功し、
私たちの測定結果において従来手法よりも4〜5倍程度の高速な処理を実現しました。
下の実行例からもわかる通り、 本手法は従来手法よりも読みやすい配置結果を実現し、 しかも処理時間の低減にも成功しています。
[改良2] アークの曲線化によって、 ノードとアークの重なりを避けるアルゴリズム。 本手法では、まず最低1個のノードが非常に近い距離にあるアークを検出し、 これを細かい線分列に分割します。 続いて、線分列の端点に対して、以下の3種類の力学モデルを仮想します。
以下に、本手法によってアークを曲線化(折れ線化) した実行結果の例を示します。 ノードとアークの重なりを回避することに成功しているのがわかります。
また私たちは、上記の改良手法を階層型グラフにも適用しました。 私たちの実装では最初に、階層型グラフの最上位階層を構成するグラフを配置します。 続いて以下の手順によって、配置処理を上位階層から下位階層に向けて反復します。
本手法を用いたウェブサイトの表示例を以下に示します。 ウェブページをノード、ウェブページ間のリンクをアーク、 とする階層型グラフを構築し、 それを本手法によって画面配置して表示した例を以下に示します。 ただし上記の [改良2] は、まだ階層型グラフには適用されていません。
当プロジェクトのトップページに戻る
|
| Last modified 27 Dec 2001 |