0

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

例如,如果我有两个词:

blur
blue

这两个词生成的颜色应该是相似的颜色但不相同。

有什么算法可以用来做这个吗?

我在想也许可以使用 levenshtein() 来比较字符串。这会给我两个字符串匹配的紧密程度。但我根本不知道如何生成十六进制数字。

4

1 回答 1

2

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

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

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

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

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

  4. 将向量解释为HSV/HSL 颜色空间中的一个点。

请注意,完全按照描述使用此方法会将相同的颜色分配给互为字谜的单词,例如“音调”和“音符”。如果您不希望这样,您可以修改该方法,为单词中的每个字母位置选择一组新的随机向量。

于 2013-10-14T13:21:48.220 回答