2025年9月20日土曜日

iq系SDFで作った3次元画像を別次元に写して戻すには、

 要旨:SDFはフーリエ変換の3D版ではなく、形状を符号付き距離として表す“スカラー場”です。そこで、iq系SDFで作った3次元画像を別次元に写して戻すには、まずSDF φ(x) を有界BBox内でN^3グリッドにサンプル化します(外周に余白)。次に用途に応じて可逆または準可逆の変換を選びます。汎用は3D-DCT/FFT(圧縮・周期検出)、多解像なら3D離散ウェーブレット、投影データからの再構成は3Dラドン変換(逆投影)、表面重視ならゼロ等位面をメッシュ化してLaplace–Beltrami固有基底(形状スペクトル)、球領域の直交展開なら3DツェルニケやRBFです。逆変換で得た場は一般に|∇φ|=1を満たさないため、Fast Marching/Sweepingやre-distancing PDEで再正規化し、符号を保ちつつ正しいSDFに戻します。実装の肝は、変換前の距離値クリッピング(±dmax)、ゼロパディングや反射境界でのリーケージ抑制、逆変換後の符号維持と再距離化です。誤差評価は体積L2だけでなくゼロ面のHausdorff/法線誤差で行います。元のGLSLを完全復元はできませんが用途別の使い分けは、圧縮・ノイズ除去ならDCT/DWT、格子や繰返し・対称検出をしたいならFFT、投影データからの復元ならラドンが目安です。さらに、点群化→RANSACで球・箱・円柱などを当て、3D-FFTのピークからrepeatベクトルや対称面を推定し、CSG/平滑min(smin)のDSLへ当てはめると、元コードに近い“同等生成子”を得やすくなります。最後に微分可能レンダ+Eikonal正則化で連続パラメータを微調整すると安定します。注意点は、ノイズやドメインワープ等の装飾は逆変換で失われやすいこと、境界条件の扱いを誤るとラップアラウンド歪みが出ることです。以上。