5

私はD3 視覚化ライブラリ(http://mbostock.github.com/d3/)を使用して理解しようとしています。力指向のコードを見ていると、クアッドツリーを使用して粒子にかかる力を計算しているようです。 . コードは

      var k = kc * quad.count * dn * dn;
      node.px -= dx * k;
      node.py -= dy * k;

quad.count は quadtree ノード内のパーティクルの数です。しかし、https://github.com/mbostock/d3/blob/master/d3.geom.js#L696のquadtree コードを見ると、 への参照が見つかりません。また、その計算方法もわかりません。おそらく各ノードの「重量」または「料金」を変更するためにいくつかのことを変更したいので、私は尋ねます。count

4

1 に答える 1

5

メソッドを見てみましょうd3_layout_forceAccumulate

https://github.com/mbostock/d3/blob/master/src/layout/force.js#L294-324

四分木自体は、その粒子の電荷の中心を計算しません (四分木は粒子の位置についてのみ知っており、その電荷については何も仮定しないため)。四分木が生成された後、フォース レイアウトは再帰的に各象限の電荷の中心を計算します。

于 2011-09-14T18:09:48.630 に答える