Context
- 看看Wordle:http://www.wordle.net/
- 它比我见过的任何其他词云生成器都要好看得多
- 注意:来源不可用 - 请阅读常见问题解答:http://www.wordle.net/faq#code
我的问题
- 有没有一种算法可以完成 Wordle 的功能?
- 如果不是,有哪些替代方案可以产生类似的输出?
我为什么要问
我是 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
就是这样。这hard部分是有效地进行交叉测试,为此我使用了最后命中缓存、分层边界框和四叉树空间索引(所有这些都是您可以通过一些勤奋的谷歌搜索了解更多信息)。
编辑:正如 Reto Aebersold 指出的那样,现在有一个免费的书籍章节涵盖了同样的领域:美丽的可视化,第 3 章:Wordle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)