【发布时间】:2020-09-28 20:55:52
【问题描述】:
我正在尝试在 P5js 中编写一个小图形可视化工具,但我找不到一个简单的 (-ish) 算法可以遵循。
我已经找到了使用 D3 的方法,并且我找到了一些密集的教科书 sn-ps(例如 this),但我正在寻找介于两者之间的东西。
谁能解释最简单的图形绘制算法(力导向或其他方式)或指出一个好的资源?
感谢您的帮助!
【问题讨论】:
标签: algorithm graph p5.js force-layout
我正在尝试在 P5js 中编写一个小图形可视化工具,但我找不到一个简单的 (-ish) 算法可以遵循。
我已经找到了使用 D3 的方法,并且我找到了一些密集的教科书 sn-ps(例如 this),但我正在寻找介于两者之间的东西。
谁能解释最简单的图形绘制算法(力导向或其他方式)或指出一个好的资源?
感谢您的帮助!
【问题讨论】:
标签: algorithm graph p5.js force-layout
我刚刚开始something similar。
编码相当容易,您只需要考虑作用在每个节点上的 3 个单独的力,将它们加在一起,然后除以节点的质量即可得到每个节点的运动。
重力,向画布中心施加一个简单的力,这样节点就不会脱离框架
Node-Node replusion,您可以使用库仑力(描述粒子-粒子斥力)或使用gravitational attraction equation 并将其反转
连接力,这有点棘手,将连接定义为 2 个节点以及它们之间的距离。当它们之间的实际距离与定义的距离不同时,在连接方向上加上一个力乘以定义的距离和实际距离之间的差
【讨论】: