見た目に美しいカラーパレットをランダムに生成するアルゴリズム [closed] 質問する

見た目に美しいカラーパレットをランダムに生成するアルゴリズム [closed] 質問する

ランダムで美しい色を大量に生成するシンプルなアルゴリズムを探しています。奇抜なネオンカラーや、排泄物を連想させる色などは不要です。

この問題の解決策は見つかりましたが、それらは RGB ではなく代替カラー パレットに依存しています。私は、前後にマッピングするよりも、RGB のみを使用する方がよいと思います。これらの他の解決策でも、最大で 32 色程度の魅力的なランダム カラーしか生成できません。

どんなアイデアでも大歓迎です。

ベストアンサー1

ランダムな色の 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) と混ぜると、元の色の色相を保ちながら明度が増し、ニュートラルなパステルが作成されます。ランダムに生成されたこれらのパステルは、通常、特に大量に混ぜると、相性がよいです。

上記の方法を使用して生成されたパステルカラーをいくつか示します。

初め

ランダムな色を一定のパステルカラーと混ぜて、中間色の色合いのセットを作成することもできます。たとえば、ライトブルーを使用すると、次のような色が作成されます。

2番

さらに、補色や陰影のレベルを考慮したヒューリスティックをジェネレーターに追加することもできますが、すべてはランダムな色で実現したい印象によって決まります。

追加のリソース:

おすすめ記事