Fruchterman-Reingold算法绘制有向力图 此实现的重点不是性能,而是尝试使用这种相对简单的算法并可视化其过程。 大意 绘制图形的想法只是简单地获取图形并以“令人愉悦”的方式将其显示在屏幕上,无论这意味着什么。 Fruchterman和Reingold处理此问题的方式是将顶点视为空间中的粒子,这些粒子对彼此施加排斥力,并对通过某个边缘连接的物体施加吸引力。 可视化 使用实现实时可视化。 以下是一些起始位置(随机)和结果位置的示例: 双K5 10个顶点的随机图。 [以p = 0.41生成,种子= -957442595] 20个顶点的随机图。 [以p = 0.15,种子= -173247684生成] 用法 执行 lein run 为了尝试其他图,您可能只需要更改的以下几行: ( def W 600 ) ( def H 600 ) ( def line-weight 3 ) (
1