By February 2025 the thesis line was choosing a 3-D representation. The three obvious candidates: point clouds (raw scan output), meshes (Houdini-native), SDFs (implicit, smooth-gradient). The Topic-8 study session was the literacy-and-compare exercise before committing.
The output of the study, recorded in this paper, is the structured comparison (§2), the analytic SDF building blocks (§3), and the GAN-SDF dead end (§4). The thesis-line consequences propagate forward — every downstream topic touching implicit surfaces (Hexplane AE [3], Hierarchical Triplane [4], Six-Plane Mesh [5], UODF [6]) inherits decisions made here.
| Representation | Pros | Cons |
|---|---|---|
| Point cloud (.ply / .npy) | Direct from LiDAR / photogrammetry; PointNet++ input | No topology; sparse; hard to texture |
| Mesh (triangles) | Explicit topology; rendering / texturing; Houdini-native | Variable vertex count breaks batched NN training |
| SDF | Smooth gradient (‖∇SDF‖ ≈ 1); differentiable; marching-cubes extractable | Closed surfaces only (use UDF / UODF for open surfaces) |
The SDF gradient-norm property is the load-bearing insight. A valid SDF satisfies the eikonal equation ‖∇SDF‖ = 1 almost everywhere. This is a hard geometric constraint that distinguishes valid SDFs from arbitrary scalar fields. Any neural network trained to produce SDFs is implicitly constrained to satisfy (approximately) this equation. The constraint is what makes SDF-based marching-cubes extraction stable.
A signed-distance field is not an arbitrary scalar field — it satisfies the eikonal equation:
‖∇f(x)‖ = 1 for almost every x ∈ ℝ³This is a hard geometric constraint. Geometrically: at every point in space, the gradient of the SDF has unit norm and points in the direction of fastest increase of distance to the surface. Equivalently: the SDF's level sets are parallel surfaces spaced at unit distance from one another. The constraint is what makes SDFs special among scalar fields — a random scalar field does not satisfy it.
The eikonal constraint has two consequences for ML use. First, marching-cubes surface extraction on an SDF produces a clean isosurface because the level sets are well-spaced. Second, an SDF can be queried for "distance to surface" at any point in space, not just at the surface itself — useful for collision detection, ray marching, and signed-distance-based losses.
The constraint can be enforced as a soft prior during neural-network training via the eikonal-loss term:
L_eik = E_x ( ‖∇f̂(x)‖ − 1 )²added to the reconstruction loss. The combination produces a network that learns to predict SDFs rather than arbitrary scalar fields.
Two primitive shapes, with the closed-form SDF expressions worked out from the geometric definition.
The CSG operators on SDFs are exact: min(a, b) is the SDF of the union, max(a, b) is the SDF of the intersection, max(a, −b) is the SDF of the difference. The compositionality is a unique property of SDFs that neither point clouds nor meshes have — combining two meshes requires explicit boolean-operation geometry; combining two SDFs requires a single min / max.
CSG (Constructive Solid Geometry) builds complex shapes by combining primitives via boolean operations. SDFs are unique among 3-D representations in that the CSG operators are exact closed-form expressions:
| Operation | SDF formula | Geometric meaning |
|---|---|---|
| Union A ∪ B | min(f_A, f_B) | Surface of the union of the two solids |
| Intersection A ∩ B | max(f_A, f_B) | Surface of the intersection |
| Difference A − B | max(f_A, −f_B) | Surface of A minus B |
| Smooth union (k-blend) | smin(f_A, f_B; k) = min − k · h² / 6, h = max(k − |f_A − f_B|, 0) | Union with rounded corner at the join |
The compositionality is what makes SDFs the right substrate for procedural-CAD use cases (see CAPRI-Net [9]). Combining two meshes requires explicit boolean-operation geometry (CGAL's polygon CSG library); combining two SDFs requires a single min or max. The SDFs are also differentiable through the CSG operators — min and max have well-defined gradients (subgradients at the matching surfaces, well-defined elsewhere), so gradient-based optimisation works on CSG trees of SDFs.
A short exploration of GAN-based SDF generation was attempted. The setup: a DeepSDF-class encoder produces a latent vector; a generator network produces an SDF field conditioned on the latent; a discriminator distinguishes generated SDFs from training-set SDFs.
The exploration ran into the standard GAN-instability traps: mode collapse, oscillating training loss, and gradient-norm violation in the generated SDFs (the discriminator does not directly enforce the eikonal constraint, so the generator drifts off the SDF manifold). Conclusion at the time: the diffusion alternative pursued from Topic 6 onward [1] avoids these traps because diffusion's denoising objective is more compatible with the SDF gradient-norm property than the GAN's adversarial objective. Carried forward as a decision rule: for any geometric-constraint-bearing representation, use diffusion (or flow matching) rather than GAN.
Three downstream thesis-line decisions trace back to the SDF study.
| Topic | Decision | Source in SDF study |
|---|---|---|
| Hexplane AE pivot to continuous features [3] | Drop binary occupancy; use continuous depth + normals | Continuous-gradient property (§2) |
| Six-Plane Mesh extraction [5] | Per-plane depth-map input; marching-squares per plane | SDF as the implicit-surface stepping stone |
| UODF cross-reference [6] | Axis-aligned representations preferred | SDF's rotational symmetry analysis |
SDFs are the right foundational 3-D representation for the thesis-line ML work. The smooth-gradient property, the exact CSG operators, and the differentiability all align with neural-network training requirements. GAN-SDF was explored and abandoned in favour of diffusion / flow matching as the generator family.