ルービックキューブとクールなアートの大ファンである私は、この2つを組み合わせていくつかの本当にクールなことをすることに取り組んでいます。基本的にミニチュアルービックキューブを解いて、ルービックキューブアートを構成する基本的なピクセルを形成します。このようなアートの例は、次のリンクから見ることができます:http : //google.com/search?q=rubik%27s+cube+ art
現在、このCode Golfの目的は、画像を入力として受け入れ、次の方法で変換するコードを作成することです。
画像は、最初はWebセーフグレースケールカラーに縮小されます。この理由は、Webセーフグレースケールパレット(つまり、000000、333333、666666、999999、CCCCCC、およびFFFFFF)を分離する必要があるためです。グレースケールに変換する比色法のアルゴリズムは、http://en.wikipedia.org/wiki/Grayscale#Colorimetric_.28luminance-preserving.29_conversion_to_grayscaleで入手できます。これをインスピレーションとして使用する必要があります。
次に、グレースケールを適切な色にレンダリングします。すばやく分解するには、000000はルービックの青、333333はルービックの赤、666666はルービックの緑、999999はルービックのオレンジ、CCCCCCはルービックの黄色、FFFFFFはルービックの白を指します。
結果のコードは、写真のパレットからルービックの色に直接レンダリングできると思います。Webセーフグレースケールへの変換から、対応するルービックパレットへの変換までの2段階の方法は、プロセスの背後にあるロジックについてのアイデアを提供するためのものです。
ルービックパレットの実際のRGB値は、以下に対応する必要があります。
- 赤:#C41E3A
- 緑:#009E60
- 青:#0051BA
- オレンジ:#FF5800
- 黄色:#FFD500
- 白:#FFFFFF
例として、次の画像からAbraham Lincolnの頭を切り取り、アルゴリズムをレンダリングして以下を生成しました。
グリッドが存在するため、画像を構成するために個々のミニチュアルービックキューブをどのように構成する必要があるかを確認できます。結果の画像の実際のサイズは45ピクセルx 45ピクセルです。つまり、(45/3)*(45/3)= 15 * 15 = 225のミニチュアルービックキューブを使用してこの画像を作成します。私が持っているようなグリッドで結果の画像を表示することを期待していません。
これが必要なものです:
このアルゴリズムで処理される画像は、幅xピクセル、高さyピクセルである必要があります。たとえば、xとyは3の倍数です。これは、ルービックキューブモザイクの一部としてのレンダリングを容易にするためです。画像が非常に大きい場合は、処理前に45 x 45〜75 x 75前後のサイズに縮小することをお勧めします。このサイズ変更コンポーネントはオプションです。
画像をモザイクを作成するには、六色のルービックキューブパレットに変換する必要があります。
結果の画像は、処理後に有効なグラフィックファイルである必要があります。コードが機能することを証明するには、アメリカ合衆国の大統領の1人、または有名なハリウッドの有名人のイメージに対して実行します。私の例ではすでにエイブラハム・リンカーンを使用しているため、この大統領は使用できなくなりました。使用した言語、バイトカウント、およびコードのテストに使用したプレジデント/セレブリティ(ショットの前後を含む)を必ず指定してください
各エントリには、テストケースとして一意の社長/有名人が必要です。重複は受け付けません。これにより、異なるコードエントリのテストに重複した結果が使用されないことが保証されます。コードが機能していると言うのは非常に良いことですが、それを証明することは別のことです。
5.最短のコードが優先されます。
これを人気コンテストに変更します...バイトカウントを競わなくても誰がこれを行えるか見てみたいです。だから、2014年2月28日以降、賞金とともにこれを授与します。
#000000 => #0051BA
など、