D3.js 对力导向图使用什么算法?

2024-06-22

我有兴趣确切地知道 D3 使用什么算法来实现库中的力导向图功能。读过科布罗夫的总结 http://www.cs.brown.edu/~rt/gdhandbook/chapters/force-directed.pdf力导向图的历史让我有点困惑,不知道库中使用的确切算法或方法(算法/启发式的组合)是什么。

D3 API参考 https://github.com/mbostock/d3/wiki/Force-LayoutBarnes-Hut 算法用于计算作用在物体上的电荷,O(N*log(N)) 运算。 Kobourov的文章提到Quigley-Eades算法,而Hu的算法是利用Barnes-Hut的多级算法。 D3 中是否以某种方式利用了其中之一?

API wiki 进一步表示 Verlet 集成用于粒子定位。这源代码 https://github.com/mbostock/d3/blob/master/src/layout/force.js提到了 Gauss-Seidel 算法,该算法在胡氏算法 http://www.mathematica-journal.com/issue/v10i1/contents/graph_draw/graph_draw.pdf和德怀尔的图表布局纸 http://www.csse.monash.edu.au/~tdwyer/Dwyer2009FastConstraints.pdf。我想我正在寻找答案的问题是“综合”算法 D3 使用什么; Kobourov 的文章列出了几个,而 D3 强制导向的功能似乎并不直接适合其中任何一个。


在原来的d3 paper http://vis.stanford.edu/papers/d3、迈克·博斯托克等人。写道 Dwyer 的实现用于力图布局:

力布局结合了物理模拟和迭代约束松弛[7]以实现稳定的图形布局。

[7] T.德怀尔。可扩展、多功能且简单的约束图形布局。在欧洲视觉展,2009 年。

了解更多信息,德威尔的论文 http://www.csse.monash.edu.au/%7Etdwyer/Dwyer2009FastConstraints.pdf详细描述了整个算法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3.js 对力导向图使用什么算法? 的相关文章

随机推荐

  • 交错行二维 Numpy 数组

    我有一个 2D numpy 数组 如下所示 array x1 x2 x3 x4 x2 x3 x4 x5 x3 x4 x5 x6 y1 y2 y3 y4 y2 y3 y4 y5 y3 y4 y5 y6 我想交错行 使数组看起来像这样 arra
  • 使用查找函数未找到值的错误消息

    我使用此代码来检查条形码是否在数据库中 但每次条形码不在列表中时 它都会提示一条错误消息 运行时错误 91 未设置对象变量或 With 块变量 是否有一行我可以像消息框一样添加 表明输入的条形码无效 我知道这就是我所需要的 但显然 我不知道
  • rabbitmq的兑换次数有限制吗?

    在文档或谷歌上找不到任何关于此的信息 除了它应该绑定到服务器的可用资源 有人有在工作环境中一次进行大量交换的经验吗 仅创建交换不应成为问题 直到达到内存限制为止 而是在具有高消息吞吐量且主要是动态交换创建 删除的工作项目中使用它 考虑到 R
  • 为什么不允许使用 lock(),但允许使用 Monitor.Enter()?

    对于以下代码 我收到编译时错误 int 不是引用类型 lock 语句所要求的 int i 0 lock i 但没有错误 int i 0 Monitor Enter i 据我所知 由于装箱引起的复杂性 值类型不应该用于锁定 但是 那为什么它可
  • 如何将依赖包引用到 Android 库(如 .aar 文件)中?

    我有一个 android library 插件 它使用多个作为 jar 文件包含的 android 库 并直接从我的 build gradle 文件引用 compile fileTree dir libs include jar 然后我会发
  • C# 如何读取值并将其放入数组中

    我今天开始发现 C 如你所知 有一些困难 using System using System Collections Generic using System Linq using System Text namespace Console
  • 了解函数类型

    我在尝试理解 Haskell 如何确定函数类型时感到有点困惑 这是一个例子 boolFcn x y x 3 y 4 当我检查上述函数的类型时 它给出了结果 Num a1 Num a Eq a1 Eq a gt a gt a1 gt Bool
  • Realm.open 与新 Realm

    在 React Native 应用程序的上下文中 仅在本地使用 Realm 因此目前没有领域对象服务器 使用打开领域有什么区别Realm open schema Car Person 并创建一个新的 Realm 实例new Realm sc
  • 通常只允许每个套接字地址(协议/网络地址/端口)使用一次

    过去几周 我们在使用 Azure 搜索 SDK 1 1 1 1 1 2 并执行搜索时遇到了此错误消息 我们从内部 API 部署为 Azure Web 应用程序 使用搜索 SDK 这些 API 根据流量进行扩展 因此可能有超过 1 个 API
  • MvcMiniProfiler 是否需要 Web 应用程序才能工作,或者可以在纯库中使用,例如在单元测试中?

    我真的很喜欢我所看到的MvcMiniProfiler http code google com p mvc mini profiler 我很想在非 Web 应用程序 Windows 服务 单元测试等 上使用 SQL 监控功能 这可能吗 还是
  • JavaBean 和 ManagedBean 有什么区别

    我在读JSF MVC 框架中的 MVC 是什么组件 https stackoverflow com questions 5104094 what components are mvc in jsf mvc framework 在总体架构图中
  • 将 R 数据集中的数据写入 Redshift

    我使用 RPostgreSQL 包将 R 连接到 amazon Redshift 我可以连接 创建和删除表 查询数据库 将数据保存到 R 数据框架中并手动插入值 我不能做的是将数据插入直接从 R 数据帧读取的 Redshift 中 并且由于
  • 关于布局充气机 - 附加到根的澄清?

    我阅读了答案为什么 LayoutInflater 忽略我指定的layout width 和layout height 布局参数 https stackoverflow com questions 5026926 making sense o
  • jQuery 缓动与 SlideUp 缓动功能

    我刚刚读过这个StackExchange 的问答 https stackoverflow com questions 4427843 jquery easing problem 但该解决方案对我不起作用 这不起作用 top slide sl
  • Logstash 与 Kafka 有何不同

    Log stash 与 Kafka 有何不同 如果两者相同 哪个更好 如何 我发现这两个管道都可以将数据推送到进一步处理 Kafka 比 Logstash 强大得多 为了将 PostgreSQL 等数据同步到 ElasticSearch K
  • R新手 - 包含数量列的值的直方图/频率[重复]

    这个问题在这里已经有答案了 谷歌搜索这个并没有取得多大成功 新 R 用户 怀疑答案是用 reshape plyr 但还没能弄清楚 我有这种形式的数据 采样间隔 记录值 记录值 次 e g 45 3 17 3 48 19 2 制作数据的直方图
  • 404 - 在控制器 Y 上找不到公共操作方法 X(ActionInvoker.InvokeAction 返回 false)

    这不是一个重复的问题 这个问题让我发疯 我收到典型错误 控制器 Y 上未找到公共操作方法 X 该错误返回404 Not Found 屏幕截图给了你一个好主意 该图像显示调试器在引发异常的行执行之前暂停 base HandleUnknownA
  • 如何通过代码隐藏获取在 mvc 2 中运行的完整服务器名称和端口

    大家好 我有一个问题 例如 如果我有网址 http localhost 8512 bookuser 创建 http localhost 8512 bookuser Create 如何通过mvc2中的代码获取 http localhost 8
  • 如何使用 python 选择 CSV 文件中的每第 N 行

    我有一个包含数百行的 CSV 文件 我想选择每 3 行并将其导出到一个新的 CSV 文件 新的输出 CSV 文件以所选内容的第一行命名 例如在以下 CSV 文件中 1980 10 12 1 2 3 4 5 6 7 4 6 8 1 0 8 6
  • D3.js 对力导向图使用什么算法?

    我有兴趣确切地知道 D3 使用什么算法来实现库中的力导向图功能 读过科布罗夫的总结 http www cs brown edu rt gdhandbook chapters force directed pdf力导向图的历史让我有点困惑 不