問題タブ [force-based-algorithm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
7000 参照

c++ - C++での力指向レイアウトの実装

GUIに使用されるC++での力指向レイアウトのオープンソース実装を知っていますか?できればBSD/MIT / Apacheまたは他の(非GPL)ライセンス。

0 投票する
2 に答える
2152 参照

flash - フラッシュ関係マップ

http://audiomap.tuneglue.net/に似た動作をする無料の Flash fla を知っている人はいますか(動作を確認するには、検索用語を入力する必要があります)。

私が求めているのは、真ん中にノードを作成して子に展開し、それらの子のそれぞれを互いに距離を保ちながら、より多くの子に展開することができるフラッシュです。ノードをクリックして展開すると、Web サイトに移動し、子を作成するために使用できる xml フィードを取得できるようにしたいと考えています。

ありがとう

0 投票する
2 に答える
1064 参照

algorithm - グラフ理論-力ベースの自動レイアウトアルゴリズム

実装を開始する直前に、自分の理論があることを確認したいだけです。

定数:

  • m=頂点の質量(すべて同じ-おそらくこれをノードの半径に設定します)
  • k=一定のエッジ力。
  • l=「エネルギー最小状態」でのエッジの長さ。

変数:

  • d=2つの頂点間の距離。
  • cl=エッジの現在の長さ。

理論: すべての頂点には、他のすべての頂点に反発力がありますm / (d^2)。すべてのエッジについて、両方の頂点がエッジを「エネルギー最小状態」にする方向に「ドラッグ」する力を示します。したがって、各頂点:-k * ((l - cl) / 2)

擬似コード:

コメント:それで、これはうまくいくでしょうか?何に設定すればよいmですkか?

0 投票する
1 に答える
543 参照

javascript - 強制有向グラフの視覚化: 特定のノードが他のノードよりも互いに近くなるようにすることは可能ですか?

Twitterの友達やフォロワーとの「親密さ」を分析するこのプロジェクトに取り組んでいます。親密さは、被験者が他の人に言及した回数、または他の人から言及された回数に基づいて測定されます。

その最後に、接続の「重み」のこのメトリックがあります。主題が中心にあり、友人/フォロワーに囲まれている場所と同じ視覚化を作成したいと思います。重みの高い友達/フォロワーを対象に近づけたいと思います。接続の重みが減少するにつれて、対象から遠ざかります。

私は現在、Graph Draculaを使用して、力指向のグラフを生成しています。一部のノードが常に他のノードよりも対象に近いことを保証することは可能ですか、それとも力有向グラフの視覚化に関する私の理解はすべて間違っていますか?

これはオープン ソース プロジェクトで、ここで見つけることができます。動作を確認したい場合は、ここで試してください

決して完全ではないので、バグや見つけたものは無視 (または報告) してください。はい、今のところ Chrome のみです。

0 投票する
1 に答える
964 参照

javascript - arbor js - グラフの保存と読み込み

私は arbor js を使用して、力ベースのアルゴリズムを使用して図を作成しています。

総エネルギーが特定のポイントを下回った後、ノードの x、y システム座標を保存できるようにしたいと考えています。ゼロからのエネルギー。

これを行うには2つの問題がありました:

  1. sys.energy().sumいつも戻ってくるNaN

    • setTimeout別の方法として、一定の時間が経過した後にグラフノードの位置を保存するために使用することにしました
  2. ノードの x、y システム座標を DB に保存できましたが、保存された xy 座標を使用して (sys.mergeまたはを使用してsys.addNode) データをグラフにロードしようとすると、グラフが表示されず、「メモリ不足」というメッセージが表示されます。コンソールログに表示されます。

以下は、保存されたノード x、y システム座標を含むデータの例です。これにより、arbor js がどの読み込みでクラッシュするかが決まります。

ノードの x、y 座標が入力データにあるグラフの例が見つかりません。