小编典典

实现类似 Wordle 的词云的算法

all

语境

我的问题

  • 是否有可用的算法可以完成 Wordle 的工作?
  • 如果不是,有哪些替代方案可以产生类似的输出?

为什么我要问

  • 只是好奇
  • 想学

阅读 57

收藏
2022-06-21

共1个答案

小编典典

我是 Wordle 的创造者。以下是 Wordle 的实际工作方式:

数单词,扔掉无聊的单词,按计数排序,降序排列。保留一些 N 的前 N ​​个单词。为每个单词分配与其数量成正比的字体大小。使用 Java2D API
为每个单词生成一个 Java2D 形状。

每个单词“想要”在某个地方,例如“在垂直中心的某个随机 x 位置”。按照频率降序,对每个单词执行以下操作:

place the word where it wants to be
while it intersects any of the previously placed words
    move it one step along an ever-increasing spiral

而已。 困难
的部分是有效地进行交叉测试,为此我使用了最后一次命中缓存、分层边界框和四叉树空间索引(所有这些你都可以通过一些勤奋的谷歌搜索了解更多信息)。

编辑:正如 Reto Aebersold 指出的那样,现在有一个免费的书籍章节,涵盖了同样的领域:美丽的可视化,第 3
章:Wordle

2022-06-21