3D力导向图节点与Apache Spark graphx的坐标计算

问题描述

有人知道Apache Spark GraphX的力导向3维图算法的任何实现吗?

我得到了一个必须可视化的图形,出于快速渲染的目的,我想计算apache spark graphx中每个图形节点的3d坐标,然后将这些坐标作为输出传递给渲染模块的应用程序。

到目前为止,我只知道d3.js库可以提供图形的3D渲染,但是它们非常有限,并且按我的需要正好相反-这些库接受图形节点和链接并实现所有坐标javascript中的演算,使其对大量数据(如果图形超过10万个节点)无用。目标是找到某种算法或库,以提供一种方法来计算Spark自身内部3d空间中每个节点的坐标,从而在Spark中保留大量计算,仅将位置{nodeID,x,y,z}的数组暴露给渲染模块。

在我的情况下,图的每个边实际上是一个方向力(例如,从节点A到节点B的 forceA值为4, 2.1从nodeB到nodeA ... )。算法的思想是执行以下操作:

  • 从外部源预加载图形数据。此数据包括nodeId和方向链接(力值)
  • 在计算开始之前:每个节点都被分配了一些随机的3d坐标初始值(x,y,z),最小差异 delta )被定义为常量,并且最小行进距离步骤)也被定义为常量
  • 算法执行一组迭代计算,并为图形坐标{nodeID,x,y,z}的每个节点计算一组坐标:对于每个节点和节点的力集(入站和出站),它找到所有这些力的结果向量,并通过 step
  • 单独移动该向量 一旦所有节点的新坐标距离上一次迭代的坐标小于 delta
  • 迭代就会停止

我知道,我的上述描述并不理想,似乎还不清楚,但是,也许听众中有人发现了足够接近的东西可以尝试。感谢使用Apache Spark GraphX实施此类建议以及对任何类似项目/存储库的引用

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)