上記は、rand()を使用してランダムな座標を取得し、それらの座標のピクセル値に定数を追加することによって生成された画像の例です。これは、数千回の反復からどのように見えるかです。Mac OS X Lionでstdlib.hのrand()を使用しており、シードとしてtime(NULL)を指定しています。
奇数のx座標を持つものは、偶数のx座標を持つものよりも高い値を持っているかのように、垂直線をはっきりと見ることができます。
より良いアルゴリズムを実装するにはどうすればよいですか、または依存関係があまりないアルゴリズムをどこで見つけることができますか?(私はヘッダーのみのファイルを好みます)。
コードは次のとおりです(申し訳ありませんが、時間がかかりました):
void generate(int iterations = 1) {
for (unsigned int x = 0;x < (area * 4);++x) {
map[rand() % area] += 1;
}
number a = min();
number b = max();
for (int i = 0;i < area;++i) {
map[i] -= a;
map[i] /= b;
}
}
マップにはダブルフロートが含まれており、後でRGB値に変換されます。