ジェネレーターを選んで、乱数で生成された色の分布を観察します。
ここでは各種ジェネレーターの特徴を見極めることが目的です。
色数
散布図スタイルで表示
色数を 10〜50 に設定し、何度か生成して期待どおりか確認します。
色数を 1000 以上に設定し「散布図スタイル」にチェックを入れて生成すると、確率分布の偏りが可視化されます(時間はかかります)。
赤・緑・青の各チャネルを乱数で選ぶだけの方法です。
色相・彩度・明度それぞれを乱数で選びます。
H/S/V の各チャネルを乱数で選びます。
ただ乱数を使うだけでは魅力的な配色になりません。HSV の方が RGB より優れているという意見もありますが、必ずしもそうとは限りません。
これらの基本ジェネレーターからも、乱数の分布はどの色空間を対象にするかで大きく左右されることが分かります。
L*/a*/b* の各座標を乱数で選ぶ方法です(人の知覚に近い空間)。
L*/a*/b* を乱数で生成し、パステル調だけが残るよう条件でフィルタします。
L*/a*/b* を乱数で生成し、派手な彩度の高い色だけを残すフィルタを適用します。
L*a*b* 色空間は目にとって自然な空間で、この空間で乱数を振ると自然な結果になりやすいです。
制約を加えることで「Pimp」「Pastel」のようにパレットの性質を調節しつつ、自然な分布を維持できます。
Force Vector(反発)アルゴリズムで RGB 空間上の色配置を最適化します。
L*a*b* 空間における Force Vector 版で、知覚空間そのものを均等に埋めます。
L*a*b* 空間の Force Vector に、派手な色だけを許可する条件を加えたバリエーションです。
The Force Vector strategy allows an even distribution of the colors in the space. It still allows some coontrol on the produced palette ('Fancy').
Note that contrary to the "naïve" generators, the colors are generated all at the same time (they depend on each other).
The k-Means algorithm clusterises the RGB color space. The resulting palette is constituted of these k-Means (the "centers" of color clusters).
The k-Means algorithm clusterises the L*a*b* color space. The resulting palette is constituted of these k-Means (the "centers" of color clusters).
Idem, but with an additional constraint (high chroma and lightness*).
This strategy also allows an even distribution of the colors, but with less "extreme" colors (the borders of the color space are not occupied). It allows more coordinated colors on small palettes.
NB: The palette strongly depends on the number of colors asked.
RGB(Red / Green / Blue): ディスプレイやテレビの仕組みに一致するため計算しやすく、知覚とも比較的相性の良い空間です。
HSV(Hue / Saturation / Value): Photoshop などで使われ、色相を他パラメータと分離できます。ただし色相によって明るさが異なるため(黄は明るく、青は暗い等)、知覚バイアスが大きくなります。
HSL(Hue / Saturation / Lightness)は HSV の変種で、同じくバイアスを含みます。
L*a*b*(Lightness* / a* / b*)は知覚に合わせて設計された空間です。Lightness* は黒→色→白のバイアスのない明度軸、a*・b* は色(およびグレー)を表します。存在しない色座標もあるため扱いは難しいものの、もっとも適切な結果を与えます。
HCL(Hue / Chroma / Lightness*)は L*a*b* から色相を独立させた変換で、HSL のバイアスを取り除いた形と見なせます。ただし L*a*b* 同様に存在しない色座標があり、凸ではないので計算上の扱いは難しいものの、結果を観察するには最適です。
上部の四角は各色空間の投影図です(例: RGB は R×G、G×B、R×B の3投影)。どこに色が集まり、どこが疎かを把握できます。 例えば HSV では均等でも、RGB では偏るといった現象が観察できます。
目的が「多様な色を生成すること」であるなら、色の偏りは似た色が多いことを意味し、パレットが紛らわしくなるので避けたいポイントです。
L*a*b* 空間で均等に分布しているパレットが、もっとも適した仕上がりになりやすいでしょう。
ソート済みパレットは生成された色そのものを並べ替えただけで、色自体は同じです。
似た色が無いかを確認するためのもので、並べ替えることで類似色が隣り合います。たとえば青系が似ていれば「Hue」ソートのパレットで隣りに並びます。
もっとも異なる色が先頭に来るよう並べ替えています。多くの場合「優先して区別したい対象」が決まっているので、上から順に使うと便利です。