色を変更して背景よりも似ていないようにするアルゴリズム
単色で塗りつぶされた背景で、互いに跳ね返る20個のボールのデモを作成しています。各ボールの色はrandint(0, 255)、R、G、Bの各タプルコンポーネントに対してランダムに選択されます。 問題は、一部のボールが背景に非常に似た色になり、見づらくなることです。選択した色が類似している場合(特定のしきい値内)に別の色を回転させるか、背景色から遠ざけることで、それを回避したいと思います。 しきい値として使用する類似性インデックスを計算する方法は?または、色を変換して、たとえば青みを弱める方法はありますか? 明白な免責事項:私は色理論について何も知らないので、上記の概念が存在するかどうかも知りません! 私はPythonでコーディングしていますが、概念と戦略を探しているので、擬似コードは問題ありません(理論のみ)。 編集: いくつかのポイントを明確にするには: 各ボールには、独自のランダムな色があります。私はそれらを可能な限りランダムに保ち、色空間を可能な限り探索したい(RGBかHSVかにかかわらず、色pygameを定義するために両方の形式を受け入れます) それぞれの色が背景に「近すぎる」ことを避けたいだけです。問題は色相だけではありません:濃い青の背景に明るい青のボール(または「白っぽい」青に「フルブルー」)で完全に問題ありません 今のところ、ボールの色が他のボールと似ている(または同一である)かどうかは気にしません。それを避けることはボーナスですが、それは小さな問題です。 背景色は、一定の単一のRGB色です。今のところ、私は "basic" blueを使用(0, 0, 255)していますが、それで満足していません。したがって、背景は任意の色(任意の色相、明度、彩度など)であると考えてください。 EDIT2: TL、DRバージョン: Xランダムカラーを作成する方法を与えるだけで、任意の(ただし、単一で一定の)色の背景に対して「過度にフェードイン」しないようにする