10
カオスゲームをプレイする
カオスゲームはフラクタルを生成するための簡単な方法です。開始点、長さ比r、および2D点のセットを指定して、次の操作を繰り返し実行します。 ポイントのセットから、ランダムに(均一に)選択します。 rと1-rを重みとして使用して、そのポイントと最後に描かれたポイント(または開始ポイント)を平均します(つまり、r = 0は開始ポイントを取得し、r = 1はランダムポイントを取得し、r = 0.5はユーザーを意味します中間点を取得します。) 結果のポイントを描画します。 たとえば、正三角形の頂点を選択し、r = 0.5の場合、プロットされたポイントはシェルピンスキーの三角形をマッピングします。 ウィキペディアで見つかった画像 カオスゲームを「再生」してフラクタルを作成するプログラムまたは関数を作成する必要があります。 入力 プログラムまたは関数のいずれかを作成し、ARGV、STDIN、または関数引数を介して次の入力を取得できます。 プロットするポイントの数。 開始座標(プロットする必要もあります!)。 区間[0,1]の平均重みr。 選択するポイントのリスト。 出力 画面にレンダリングするか、画像ファイルを書き込むことができます。結果がラスタライズされる場合、各側に少なくとも600ピクセル、すべてのポイントがキャンバス上にあり、画像の水平および垂直範囲の少なくとも75%がポイントに使用されている必要があります(これは避けるためです「本当にズームアウトしている」と黒のピクセルで答えます)。X及びY軸は、同じ規模である必要があり(すなわち、0,0の(より線)である(1,1)45度の角度でなければならない)とカオスゲームにプロットの各点は、単一のように表現されなければなりませんピクセル(プロットメソッドがポイントをアンチエイリアスする場合、2x2ピクセルに広がる可能性があります)。 色は選択できますが、少なくとも2つの区別できる色が必要です。1つは背景用、もう1つはカオスゲーム中にプロットされるドット用です。入力ポイントをプロットする必要はありますが、する必要はありません。 回答に3つの興味深い出力例を含めてください。 得点 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 編集:入力ポイントは実際には単一ピクセルとして表示されないため、入力ポイントをプロットする必要はなくなりました。