void-and-clusterアルゴリズム
手順
マップの準備
Alan Wolfeの記事ではしきい値は0.1くらいに設定してある
もう一枚、出力用の空のマップを作る
入れ替えフェーズ
この段階ではまだ出力マップは触りません
ここのガウシアンのσによってBlue Noiseのスペクトルの形が変わってくる
1のピクセルのうち一番密なところを抜き、0のピクセルのうち一番疎なところを埋める
収束するまで繰り返す
この結果を「プロトタイプ2値パターン」として保存しておく
除去フェーズ
ここから出力マップを触っていきます
一番密なところの1を2値マップから抜き、出力マップの同じ座標に順序を挿入する
最終的に2値マップの1がなくなるまで続ける
挿入フェーズ
2値マップをプロトタイプパターンにリセットする
一番疎なところの0を2値マップに埋め、出力マップの同じ座標に順序を挿入する
最終的に2値マップの0がなくなるまで続ける
原論文では、このフェーズが「1の最大空白に埋める」と「0の最密に埋める」の2フェーズに分かれているが、結局行っている操作の意味合いは変わらない……はず