2023年4月19日发(作者:网络托管)FR算法
FR算法将所有的结点看做是电⼦,每个结点收到两个⼒的作⽤:1. 其他结点的库伦⼒(斥due怎么读
⼒)2. 边对点的胡克⼒(引⼒)。那么在⼒的相
互作⽤之下,整个布局最终会称为⼀个平衡的状态。
算法结构:
1. 给所有的点⼀个初始的随机位置
2. 计算每个点收到其他点的库伦⼒以及所有边对该点的胡克引⼒,得到该点受到的最终⼒。
3. 根据步骤2计算的⼒得到位置的偏移,调整布局中点的位置。
4. 迭代2,3直到怎么画房子
⽹络区域平衡(全部结点的⼒的作⽤⼒较⼩),或者迭代达到⼀定的次数。
对于库伦⼒的计算:少林八极拳
库伦定理:真空中两个静⽌的电荷之间的相互作⽤⼒,与他们的电荷量的乘机成正⽐,与他们的距离的平⽅成反⽐。
在计算中,我们可以将点的点亮量度看成是1,具体的系数要根据布局图的⼤⼩来计算,使属蛇的明星
其得到⼀个相对的平衡。
所以,计算库伦⼒的公式演变成 k1/(distance*distance)
胡克定理:弹性物体的应⼒与应变成正⽐。
胡克定理的弹性系数也要根据时机情况⽽定,使其和库伦⼒保持⼀个相对的平衡。
所以,胡克⼒的公式演变成 k2*(distance 伊朗门事件
– idea_distance)
Idea_distance为预期想要的边的长度。
个⼈理解:算法最终的结果使得整个⽹络区域⼀个平衡的位置,相对是⽐较对称的,边的长度也⽐较平衡。但是对于交叉的边边并不⼀定能
够使其错开。所以对于边的交错⽐较严证的图,并不能很好的处理。如下:
但是我在⽹上看别⼈的demo跑出来的图,可以将其扭开。感觉代码也只有选取的ill
系数不⼀样⽽已。不知道是不是⾃⼰的理解有偏差
(~(#…