将类似单词映射到相似颜色的算法

时间:2013-10-14 13:04:09

标签: algorithm

我认为将颜色映射到字母可能是一个很酷的主意。

例如,如果我有两个词:

blur
blue

这两个单词的生成颜色应该是相似的颜色,但不一样。

我可以用一些算法来做这个吗?

我在考虑使用levenshtein()来比较字符串。这将给我两个匹配的字符串有多紧密。但是,除了我以后,如何生成十六进制数字。

1 个答案:

答案 0 :(得分:2)

我不知道有任何图书馆可以做这种事情,但这个想法很有意思。

你可以这样做的一种方法是:

  1. 将每个字母映射到随机unit vector。 (如果您只想改变颜色的hue,则为2D矢量;如果您还想改变亮度和/或饱和度,则为3D矢量。)

  2. 添加与单词中的字母对应的向量。

  3. 归一化得到的和矢量(即除以它的长度)。

  4. 将矢量解释为HSV / HSL color space

  5. 中的一个点

    请注意,完全按照所述方法使用此方法会为彼此anagrams的单词指定相同的颜色,例如" tone"和"注意"。如果您不想要,可以修改方法,为单词中的每个字母位置选择一组新的随机向量。