3D バイナリ配列のボリュームをすばやく「ペイント」できる関数を作成したいと考えています。
私が最初に試みたアプローチは、標準のフラッド フィル アルゴリズムを 3D に拡張することでした。これは簡単に実行できましたが、高速化することに興味がありました。フラッド フィル アルゴリズムを最適化する方法を調べたところ、' scanline ' フラッド フィル アルゴリズムが見つかりました。これを 2D に実装すると、すばらしい結果が得られました。これを 3D に拡張したかったのですが、ボクセル チェックの数を最小限に抑えてスキャンラインの精神を維持しながらこれを行う方法が明確ではありませんでした。
3D でのスキャンラインの既存の実装または説明を検索しましたが、何も見つかりませんでした。基本的に 3D グリッドを 2D 平面に分割し、各スライスでスキャンライン 2D 関数を実行することで、アルゴリズムを拡張することができました。これは改善ですが、もっと良い方法があるように感じます。
スキャンラインを 3D に拡張することはできますか?それとも、これらすべてに対するより良いアプローチはありますか?