0

我正在制作一个应用程序,该应用程序要求用户从颜色选择器中选择多种颜色,并设置某些颜色被选择的概率大于相等的概率。

一个例子:假设用户选择红色、绿色和蓝色,并选择红色应该有 3 个机会被选中,而另一个只有 1 个机会。所以最终红色将有 60% 的机会,绿色 20% 和蓝色 20 %。

现在我想这样做,但图形化且易于理解。

我有一些想法,但我不确定哪个好……或容易……或其他什么。

想法1:

选择器1

用户选择哪种颜色更有可能获得。这些数字基本上是附加到每种颜色的权重。这样做的问题是,由于显而易见的原因,您不能完全拥有完整的颜色光谱(全部 16,777,216 种)......所以您需要相对较少的颜色(约 150 种或其他颜色)。

想法2:

选择器2

用户从区域中选择颜色。这更好,因为您可以拥有全系列的颜色......但我想不出一种简单的方法来获得更多机会选择的颜色(如上面的重量)。

这些只是我有缺陷的想法。您可以改进这些或提供其他想法。一个指向颜色选择器源代码的链接,它完全符合我的要求,不过会更好。:)

4

4 回答 4

1

似乎您正在寻找如何在移动设备上处理它的“创新想法”。对不起,那是你的功课。

但是,这篇文章可能会给您一些启发。

http://www.fastcompany.com/3002676/magical-tech-behind-paper-ipads-color-mixing-perfect

于 2013-01-04T23:06:23.437 回答
0

你应该在用户选择颜色的地方做,一旦他完成,他可以选择不同颜色的权重。

于 2013-01-04T23:03:22.650 回答
0

如果我猜对了,用户必须在颜色和数字/重量之间进行分配。我可以看到它如何轻松地与 Idea #1 一起使用,但不适用于 #2,因为在后者中,您没有要检查的不同颜色值。

您可能唯一能做的就是将用户形状输入(那些 blob)转换为矩形(或只允许以它们开头)并将它们存储在您的应用程序中,每个矩形也分配了权重。

根据该信息,您可以计算一些“体重范围”:

  1. 假设:三个矩形(它们在屏幕上的位置无关紧要,但为了清楚起见,我将其命名为左、中、右):左(权重 4)、中(权重 2)、右(权重 6)

  2. 将所有权重相加 (12)

  3. 找到归一化因子以从总和到范围 0..1 -> 因子 = 1/12

  4. 对于每个矩形计算归一化权重:
    L = 4 * 1/12 = 0.333
    M = 2 * 1/12 = 0.167
    R = 6 * 1/12 = 0.500

=> 产生三个波段:
#1 从 0.0 到 0.167
#2 从 0.167 到 0.500 (= 0.167 + 0.333)
#3 从 0.500 到 1.000

  1. 生成介于 0 和 1 之间的随机值,例如 0.75。

  2. 比较随机值,与归一化的权重带 -> 0.75 在 0.5 和 1.0 之间 -> 第三个矩形

现在您已经找到了相关的矩形,获取另外两个随机值,其边界是您确定的矩形的 X(对于第一个值)和 Y(对于第二个值)坐标的最小值和最大值(这些矩形是在用户首先绘制了这些斑点/矩形)。

最后一步是在刚刚生成的新坐标处查找上面显示的颜色范围纹理中的颜色值,瞧,您的颜色是根据分配给矩形的权重确定的。

于 2013-01-04T23:22:04.910 回答
0

我在某些地方尝试过第一种方法……但理想的方法是使用调色板对颜色进行分组。这就是本杰明摩尔等大多数色彩公司的做法。这样你就可以控制你想要的颜色阈值/重量。

看看这个

http://www.colourloves.com/palettes/most-loved/all-time/meta

于 2013-01-05T00:20:26.977 回答