私はこれを読んでいました:http ://www.gameprogrammer.com/fractal.html#diamond
そしてそれは言う:
これは、2つのステップで構成される反復サブディビジョンルーチンの開始点です。
ダイヤモンドステップ: 4点の正方形を取り、2つの対角線が交わる正方形の中点でランダムな値を生成します。中間値は、4つのコーナー値とランダムな量を平均することによって計算されます。これにより、複数の正方形がグリッドに配置されている場合にひし形が得られます。
四角いステップ: 4点の各ひし形を取り、ひし形の中心にランダムな値を生成します。コーナー値に加えて、ダイヤモンドステップに使用されたのと同じ範囲で生成されたランダムな量を平均することにより、中点値を計算します。これはあなたに再び正方形を与えます。
わかりません。すべての正方形の中点をとると、どのようにしてダイヤモンドができますか?すべてのダイヤモンドの中点をとると、どのように正方形になりますか?
誰かがこれを行う方法について言語に依存しないコードを提供できますか?
編集:
ステップ1:グリッドがあり、四隅を均一な高さにします。
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
ステップ2:正方形の中点を取り、4つのコーナーすべての平均にランダムな値を加えたものに設定します。
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ * ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
それで?どこにもダイヤモンドが見えない