有没有一个简单(-左右)的算法来绘制力导图?

问题描述 投票:0回答:1

enter image description here

我想用P5js写一个小的图形可视化器,但我找不到一个简单(-左右)的算法可以遵循。

我找到了用D3做的方法,也找到了一些密密麻麻的教科书片段(如 这个)但我正在寻找介于两者之间的东西。

谁能解释一下画图的最简单算法(强制导向或其他),或者给我指出一个好的资源?

谢谢你的帮助!我想写一个小图。

algorithm graph p5.js force-layout
1个回答
1
投票

我真的刚开始 类似.

这很容易编码,你只需要考虑作用在每个节点上的3个独立的力,把它们加在一起,然后除以节点的质量,得到每个节点的运动。

  1. 重力,把一个简单的力作用在画布的中心,这样节点就不会把自己推出画框外。

  2. Node-Node replusion,你可以使用库仑斯力(描述粒子-粒子斥力)或使用 万有引力方程 倒过来

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

© www.soinside.com 2019 - 2024. All rights reserved.