2

我试图通过使用整个图形的质心不知道最好的做法是将此图视为离散节点并使用质心坐标进行操作。如何计算图的质心,允许动态调整图的大小以允许新的节点,从而重新计算质心?

4

2 回答 2

0

听起来在您的情况下,更简单的做法是获取图形的容器(即 SVG)并计算其中心点。假设您正在绘制的图形的边距不是太大和/或不平衡,则行为将与计算图形的质心非常相似,但更容易实现。

代码看起来像这样。

var centerx = svg.getBBox().x + svg.getBBox().width/2,
    centery = svg.getBBox().y + svg.getBBox().height/2;
于 2013-03-30T12:34:16.457 回答
-1

也许这有帮助: http: //graphstream-project.org/doc/Algorithms/Centroid_1.0/。我知道您是在 D3.js 的上下文中询问的。但是可能有一些东西可以利用 GraphStream 中的质心。

于 2013-10-01T20:13:48.547 回答