前書き
キキセルは量子ピクセルです。従来のピクセルと同様に、3つの整数値(赤、緑、青)で表されます。ただし、キクセルは、組み合わせではなく、これら3つの状態の上位にあります。このスーパーポジションは、キクセルが観測されるまで持続します。この時点で、3つの古典的なピクセルのいずれかに崩壊します。RGB(255,0,0)
、RGB(0,255,0)
およびRGB(0,0,255)
。
仕様
- 表現
- 各QUIXELは、0と255の間の3つの整数の配列として表されr、gそしてbそれぞれ。
- スーパーポジション
- 各キクセルは、それぞれR、Gおよびで表される赤、青、緑の状態の間の上位にありBます。
- 観察
- 各キクセルが観察されると、3つの状態のいずれかに崩壊します。各古典的状態の確率は
R = (r + 1) / (r + g + b +3)
、G = (g + 1) / (r + g + b + 3)
およびB = (b + 1) / (r + g + b + 3)
です。このように、各古典的な状態は常に、ゼロ以外の確率で現れます。
- 各キクセルが観察されると、3つの状態のいずれかに崩壊します。各古典的状態の確率は
- 入力
- 関数またはプログラムは、キクセルのイメージを取得する必要があります。これを行う方法は柔軟です。多次元配列などを使用したファイル名はすべて受け入れられます。
- 出力
- 関数またはプログラムは、古典的なピクセルの画像を生成する必要があります。この生成された画像のデータ構造も柔軟です。全ての画素が、これら三つの一つであることに注意してください:
RGB(255,0,0)
、RGB(0,255,0)
およびRGB(0,0,255)
- 出力は確定的であってはなりません。これらは量子ピクセルです!同じ入力でも異なる出力になるはずです。
- 言語に乱数を生成する方法がない場合は、ランダムなバイトを入力として使用できます
- 関数またはプログラムは、古典的なピクセルの画像を生成する必要があります。この生成された画像のデータ構造も柔軟です。全ての画素が、これら三つの一つであることに注意してください:
- 得点
- これはコードゴルフなので、バイト数が最も少なくなります。
画像
テディルーズベルトVS。ビッグフットによるSharpWriter
RGBK
ここでK=255*3-R-G-B
、量子ピクセルは4のいずれかになります(Kが選択されている場合、(0,0,0)を表示します。明らかな方法、3秒から4秒への変更、R + G + Bを追加する場合はKの追加など)。これを行った後のぼかしは、元のかなりノイズの多いコピーを再構築する必要があります。(Kはあなたが疑問に思った場合に備えて、黒またはキーを表します)