【问题标题】:Is there a simple(-ish) algorithm for drawing force-directed graphs?是否有用于绘制力导向图的简单(-ish)算法?
【发布时间】:2020-09-28 20:55:52
【问题描述】:

我正在尝试在 P5js 中编写一个小图形可视化工具,但我找不到一个简单的 (-ish) 算法可以遵循。

我已经找到了使用 D3 的方法,并且我找到了一些密集的教科书 sn-ps(例如 this),但我正在寻找介于两者之间的东西。

谁能解释最简单的图形绘制算法(力导向或其他方式)或指出一个好的资源?

感谢您的帮助!

【问题讨论】:

    标签: algorithm graph p5.js force-layout


    【解决方案1】:

    我刚刚开始something similar

    编码相当容易,您只需要考虑作用在每个节点上的 3 个单独的力,将它们加在一起,然后除以节点的质量即可得到每个节点的运动。

    1. 重力,向画布中心施加一个简单的力,这样节点就不会脱离框架

    2. Node-Node replusion,您可以使用库仑力(描述粒子-粒子斥力)或使用gravitational attraction equation 并将其反转

    3. 连接力,这有点棘手,将连接定义为 2 个节点以及它们之间的距离。当它们之间的实际距离与定义的距离不同时,在连接方向上加上一个力乘以定义的距离和实际距离之间的差

    【讨论】:

    • 这太完美了!正是我想要的,谢谢!
    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 2013-11-29
    • 2017-08-16
    • 1970-01-01
    • 2016-11-06
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多