1. ホーム

[解決済み】美観を損なわないカラーパレットをランダムに生成するアルゴリズム【終了しました

2022-03-28 23:20:13

質問

私は、ランダムで美的感覚に優れた色を大量に生成する簡単なアルゴリズムを探しています。だから、クレイジーなネオンカラーや、うんこを連想させる色などはありません。

この問題に対する解決策を見つけたのですが、それらはRGB以外のカラーパレットに依存しています。 私は、マッピングを行ったり来たりするよりも、ストレートにRGBを使用したいのです。また、これらのソリューションは、最大でも32色程度のランダムな色を生成することができるのみです。

何かアイデアがあれば教えてください。

解決方法は?

ランダムな色のRGB値を一定の色のRGB値と平均化することができます。

(Javaでの例)

public Color generateRandomColor(Color mix) {
    Random random = new Random();
    int red = random.nextInt(256);
    int green = random.nextInt(256);
    int blue = random.nextInt(256);

    // mix the color
    if (mix != null) {
        red = (red + mix.getRed()) / 2;
        green = (green + mix.getGreen()) / 2;
        blue = (blue + mix.getBlue()) / 2;
    }

    Color color = new Color(red, green, blue);
    return color;
}



ランダムな色に白(255, 255, 255)を混ぜると、元の色の色相を保ったまま明度を上げてニュートラルなパステルカラーを作ることができます。これらのランダムに生成されたパステルは、通常、特に数が多い場合によく合います。

上記の方法で生成したパステルカラーを紹介します。



また、ランダムカラーに一定のパステルカラーを混ぜることで、中間色の色合いとなる。例えば、水色を使用すると、このような色になります。



さらに、補色や濃淡のレベルを考慮したヒューリスティックをジェネレーターに追加することもできますが、すべてはランダムカラーで達成したい印象に依存します。

その他の資料もあります。