0

自分で作成しているグラフ作成アプリケーション用に、フォースディレクテッドまたはフォースアトラスのコードベースを作成しようとしています。これが私が試みていることの例です:http ://sawamuland.com/flash/graph.html

WikiForce-atlasの記事で私が望むことを達成するためのいくつかの擬似コードを見つけることができました。Flashアプリケーションなので、これをActionScript3.0コードに変換しました。これが私の情報源です:

var timestep:int = 0;
var damping:int  = 0;
var total_kinetic_engery:int = 0;

for (var node in list) {
 var net_force:int = 0;
 for (var other_node in list) {
  net_force += coulombRepulsion(node, other_node, nodeList);
 }
 for (var spring in list[node].relations) {
  net_force += hookeAttraction(node, spring, nodeList);
 }
 list[node].velocity += (timestep * net_force) * damping;
 list[node].position += timestep * list[node].velocity;
 total_kinetic_engery += list[node].mass * (list[node].velocity) ^ 2;
}

現在の問題は、クーロン反発およびフック引力コードを実行するための擬似コードまたは関数を見つけることです。これを達成する方法が正確にはわかりません。

誰かが私が見ることができる良いリファレンスを知っていますか...すぐに理解して実装しますか?

一番。

4

2 に答える 2

1

これらへのリンクは同じ記事にあります。フックの力はリンクのエンドノード間のスプリング力であり、クーロンの力は近くのノードを反発します。

問題は実際には式ではなく、その中に適用される定数です。「Fruchterman, TMJ, & Reingold, EM (1991)。Force-Directed Placement によるグラフ描画。ソフトウェア: 実践と経験、21(11)」の元の記事をグーグルで読みます。PDFを読んで、著者の提案を確認してください。

ところで、変数は整数ではなく浮動小数点数でなければならない場合があります。

于 2009-09-29T19:54:26.850 に答える
0

フレアを見たことがありますか?力指向グラフを使用したデモがあります。

于 2010-08-30T22:16:52.477 に答える