为什么降低摩擦力(即增加摩擦参数)会导致d3.js的力导向图中的链路变弱?
d3.js中的代码相对简单,暗示节点移回其先前位置,其大小与摩擦常数成正比:
o.x -= (o.px - (o.px = o.x)) * friction;
o.y -= (o.py - (o.py = o.y)) * friction;
但我无法从概念上理解为什么当摩擦参数较高时,这会导致链接节点之间的距离更大。下面是一个小提琴的例子:
http://jsfiddle.net/pkerpedjiev/akd7dzg6/
高摩擦参数:
friction = 0.95
节点之间的距离:
(index):107 35.14850879446412
(index):107 34.77210062116354
(index):107 36.06111990572048
(index):107 36.09670409235906
(index):107 35.152385179015
增加(减小参数)摩擦导致节点之间的距离更近:
friction = 0.10
(index):107 28.78454446981791
(index):107 29.591866108497356
(index):107 28.645142627737293
(index):107 29.546890048512065
任何人都可以定性地描述为什么会这样,以及是否有办法解决这个问题,以便无论摩擦参数是什么,链接距离都保持不变?