基于力的图形绘制算法中的带电边缘?

时间:2012-02-19 06:15:16

标签: language-agnostic physics graph-algorithm graph-drawing

我正在尝试用Python写一个简短的迷你程序,用force-based algorithms来绘制图形。

我正在努力减少线相交的次数。维基百科建议给线路充电,使它们相互排斥。我问我的物理老师我怎么模拟这个,她提到使用库仑定律的微积分,但我不确定如何开始。

有人能给我一个如何做到这一点的暗示吗? (或者,另一种方法是调整基于力的图形绘制算法以最小化线交叉的次数?)我只是在寻找一个提示;请没有源代码。

如果有人感兴趣,我的source codeyoutube vid就是我做的。

1 个答案:

答案 0 :(得分:1)

您需要在成本函数中明确包含一个术语,以最大限度地减少边缘交叉的数量。例如,对于每对交叉的边,你会产生一个固定的惩罚,或者,如果边是加权的,你会产生一个惩罚,这是两个权重的乘积。