19

我正在使用这个PHP 脚本来生成身份图标。它使用 Don Park 的原始标识符算法。

该脚本运行良好,我已将其改编为我自己的应用程序以生成身份图标。问题是有时会生成万字符。虽然万字符有和平的起源,但人们看到这些符号时确实会生气。

我想做的是改变算法,以便永远不会生成万字符。我做了一些挖掘,在微软的网站上找到了这个帖子,一位员工说他们已经添加了一个调整来防止产生万字符,但仅此而已。

有没有人确定要进行什么调整以及如何防止产生万字符?

4

3 回答 3

9

Jeff Atwood 的介绍线程中,Don Park 建议:

Re Swastika 评论说,这可以通过应用专门的类似 OCR 的视觉分析来识别所有违规代码,然后使用遗传算法将它们压缩成有效的布隆过滤器来解决。当过滤器返回 true 时,可以使用第二种类型的标识(即 4 块被子)。

或者,您可以通过将 identicons 替换为 unicorns 来完全避免该问题

于 2012-07-23T11:03:43.977 回答
9

在我看来(快速浏览)同名总是具有四重旋转对称性。万字符当然可以。以不同的方式重复四分之一块怎么样?如果你取一个会在当前模式中产生一个卐字符的四分之一块,并反射两个对角相对的四分之一,那么你就会得到一种太空入侵者。

基本上,任何具有反射对称性的东西都不会看起来很像万字符。我想如果有一个小卐字符完全包含在该季度内,那么您仍然有问题。

于 2012-07-23T11:21:59.513 回答
0

我最初的建议涉及视觉分析是在使用的特定算法的背景下,即 9 块被子。

如果您想尝试另一种没有 Swastika 问题的算法,请尝试将像在墨迹中看到的对称性引入流行的 16 块被子 Identicons。

于 2012-08-14T23:46:39.680 回答