ランダムに生成されたタイルを並べたいのですが、同系色の色では境界が解りづらくなります。
更に、タイルごとにテキストで文字を表示させたいのですが、
これも背景色に対して出来る限り目立つ色にしたいと思っています。
これをアルゴリズムで解決できませんでしょうか?
使用、言語に依存しな記述で解りやすく説明頂けると助かります。
例えば、
100回ループ
背景色=隣のタイルに使える色候補最小<色の最大範囲の乱数<隣のタイルに使える色候補最大値
隣のタイルに使える色候補最大値=(関数)背景色と差別が計れる最大値
隣のタイルに使える色候補最小値=(関数)背景色と差別が計れる最小値
文字色=背景色の正反対の色
(関数)背景色と差別が計れる最大値
そんなアルゴリズムがあるのか?
(関数)背景色と差別が計れる最小値
そんなアルゴリズムがあるのか?
以上、
大雑把ですが、自分なりに流れを考えてみたのですが、
これが、よい方法なのかどうかすら検討がつきません。
そもそも、色相関の理論的なことが解ってないのと
色や数学に対しての知識がないため、
出来る限り、素人にもやさしい言葉で説明して頂ける方がいましたらほんとうに助かります♪
図々しいお願いですが、締め切りが迫りこまっておりますどうぞお助けくださいmOm
No.1ベストアンサー
- 回答日時:
その様な案件に取り組む場合、私なら色を「HSL色空間」で管理して、
タイルの色は「隣接する色から、色相が60度以上離れている」ことで対応します。
色相H = 隣接色の色相 + 乱数(60~300)度
彩度S = 隣接色の彩度
輝度L = 隣接色の輝度
文字色なら簡単に「背景色の色相に180度を加えた色」、つまり補色を使います。
色相H = 背景色の色相 + 180度
彩度S = 背景色の彩度
輝度L = 背景色の輝度
彩度や輝度での差別化は少々ややこしいアルゴリズムになりそうですので、まずは色相だけで試してみてはいかがでしょうか。
ただし RGB色空間しか使えない環境の場合は、RGBとHSLの変換アルゴリズムを用意する必要があります。
>隣接する色から、色相が60度以上離れている」ことで対応
>色相だけで試す
>RGBとHSLの変換アルゴリズム
この辺りで挑戦してみます。
糸口が全くなかったので具体的に教えて頂き助かります。
No.2
- 回答日時:
テキスト色については、テレビなどで使われている中抜き装飾(Microsoft Wordのフォント設定の文字飾りの中抜き)のような感じにするといいと思います。
テキストのサイズが小さい場合には、背景色に応じて白色または黒色にします。白色のときには影を付けるといい感じになります。
質問の主旨と異なりますが、タイル(背景色)に応じて色を変えるというのは実用的ではありません。
色というのは、一種の記号で情報伝達を担っているのでランダムに変えるのは実用性が無いです。たとえば、ブラウザでは青の文字はリンクを意味する、道路交通標識の色による意味の違いなどです。
それよりも重要度が高いのですが一般に理解されていない問題として、人間の視覚処理能力というのは個人差があって色を区別する能力に秀でている人もいれば、病気などが原因で色を区別する能力が劣る人もいます。健常者は区別できても、視覚障碍(がい)者、高齢者は区別できない結果になることも考えられます。
公共サービス機関のサイトでは問題になるため、このような色をチェックするツールがあります。(富士通がWEBアクセシビリティのチェックツールとして提供しています)
まあ、ゲームなどだったら気にする必要はないことですが。
実用性を考えると、背景色と文字色のペアを事前に検証して最低2セット用意しておき、それらをタイル状に並べる方法が有効と思います。タイル状に配置するので背景色は最小で2色あれば十分です。市松模様になります。
アルゴリズムというよりもデザインによる解決ですが。
アルゴリズムで解決するとなると、少なくともRGB表現ではなくHSV表現を使って、色の距離を求める方法が有効と思います。RGB表現はあくまでも機械の都合なので人間的要素との親和性がありません。
変換式は Wikipedia にそれっぽいのがあります。
http://ja.wikipedia.org/wiki/HSV色空間
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Photoshop(フォトショップ) Photoshopで背景の色を知りたいのですが、文字の色は出るのに背景の色は計測できません。どうすれ 2 2023/01/23 00:06
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- その他(Microsoft Office) マクロについて教えて下さい 3 2022/05/28 15:36
- Visual Basic(VBA) エクセルから、パワーポイントのスライドを複数作成する。 1 2022/07/08 09:40
- Windows 95・98 タスクバーの背景の色だけを変えたい。 2 2022/07/13 14:44
- その他(ソフトウェア) ペイントで切り抜いた画像の背景を透明に 2 2022/09/15 10:20
- その他(Microsoft Office) マクロについて教えてください、、 5 2023/06/06 22:07
- Illustrator(イラストレーター) パソコン系に強い方助けてください。今パワーポイントで資料を作り文字の背景に色を使ったり色々したのです 4 2022/08/02 18:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
Dijkstraて
-
アルゴリズムとプロトコールの違い
-
BCDについて
-
「FFTW」についての質問です。
-
Stuck
-
三次元形状曲面の導出法
-
パラメトリック曲線の描画アル...
-
JPEG圧縮で8×8に分割する理由に...
-
小町算(+,-のみ)のトレースです。
-
乗換案内の作り方が知りたいです。
-
C言語についての質問です
-
ハッシュアルゴリズム
-
ハノイの塔のさいきアルゴリズ...
-
期間重複チェックがわかりません
-
画像から文字を認識してテキス...
-
マージソートの比較回数の計算...
-
Officeのラスタ画像の拡大縮小...
-
65536は2の何乗なのでしょうか?
-
あるプログラムのコマンドライ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
Stuck
-
アルゴリズムとプロトコールの違い
-
画像から文字を認識してテキス...
-
[ EXCEL VBA ] 図形を読み込む...
-
BCDについて
-
期間重複チェックがわかりません
-
gooという検索エンジンの後にGo...
-
2つのテキストファイルを比較...
-
ハッシュアルゴリズム
-
理系の高校生です。大学で情報...
-
あいまい検索(文字列一致率)
-
デジタル時計のアルゴリズム
-
経路探索について
-
グループを均等に分けるには?...
-
m個の数字をn個のグループに分...
-
乱数って・・・
-
確率論的な麻雀の勝ち方を教え...
-
多変数関数の最小値を求めるプ...
-
OpenCVのライセンスについて
おすすめ情報