0

ユーザーがカラーピッカーから複数の色を選択し、一部の色が選択される可能性が等しい確率を設定する必要があるアプリを作成しています。

例: ユーザーが赤、緑、青の色を選択し、赤が選択されるチャンスが 3 つあり、他のトウは 1 つだけであることを選択したとします。したがって、最終的に赤は 60% のチャンス、緑は 20%、青は 20% の確率になります。 %。

今、私はそれをやりたいのですが、グラフィカルで理解しやすいです。

私にはいくつかのアイデアがありますが、どれが良いのか、簡単なのか、それとも何なのかわかりません。

アイデア 1:

ピッカー1

ユーザーは、どの色が得られる可能性が高いかを選択します。数値は基本的にすべての色に付けられた重みです。これに関する問題は、明らかな理由により、色の完全なスペクトル (16,777,216 個すべて) を正確に持つことができないことです。

アイデア 2:

ピッカー2

ユーザーは領域から色を選択します。これは、色の全範囲を使用できるため、より優れています...しかし、選択される可能性が高い色を使用する簡単な方法は考えられません(上記の重みのように)。

これらは私の欠陥のあるアイデアです。これらを改善したり、他のアイデアを提供したりできます。私が望むことを正確に行うカラーピッカーのソースコードへのリンクは、より良いでしょう。:)

4

4 に答える 4

0

私が正しければ、ユーザーは色と数字/重さの間で割り当てを行う必要があります。アイデア#1では、それがどのように簡単に機能するかがわかりますが、#2では、チェックする明確な色の値がないためです。

おそらくできる唯一の考えは、ユーザーの形状入力(これらのブロブ)を長方形に変換し(または最初から許可するだけで)、各長方形にも重みが割り当てられた状態でアプリに保存することです。

その情報に基づいて、いくつかの「ウェイトバンド」を計算できます。

  1. 仮定:3つの長方形(画面上のどこにあるかは関係ありませんが、わかりやすくするために、左、中央、右に名前を付けます):左(​​重み4)、中央(重み2)、右(重み6)

  2. すべての重みを合計する(12)

  3. 合計から範囲0..1->factor=1/12まで取得する正規化係数を見つけます

  4. 各rectについて、正規化された重みを計算します
    。L = 4 * 1/12 = 0.333
    M = 2 * 1/12 = 0.167
    R = 6 * 1/12 = 0.500

=>結果の3つのバンド:
#1 0.0から0.167
#2 0.167から0.500(= 0.167 + 0.333)
#30.500から1.000

  1. 0から1の間のランダムな値、たとえば0.75を生成します。

  2. ランダムな値を正規化された重みバンドと比較します->0.75は0.5から1.0の間です->3番目の長方形

関連する長方形が見つかったので、他の2つのランダムな値を取得します。境界は、決定した長方形のX(最初の値の場合)およびY(2番目の値の場合)座標の最小値と最大値です(これらの長方形は、ユーザーは最初にそれらのブロブ/長方形を描画しました)。

最後のステップは、上に示した色範囲テクスチャで、生成されたばかりの新しい座標とボイラーで色の値を検索することです。これにより、長方形に割り当てられた重みに基づいて色が決定されます。

于 2013-01-04T23:22:04.910 に答える
0

いくつかの場所で最初の方法を試しましたが、理想的な方法は、カラー パレットを使用して色をグループ化することです。これは、Benjamin Moore のようなほとんどのカラー会社が行っている方法です。このようにして、必要な色のしきい値/重みを制御できます。

これをチェックしてください

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

于 2013-01-05T00:20:26.977 に答える