Skip to content
AI360Xpert
Beta

Implicit Surfaces from 3D Fields

Implicit surfaces define shape as the level set of a continuous function, so detail is not capped by grid size.

Why Does This Exist?

Explicit shapes cap detail at vertex or voxel count. An implicit surface stores function f(p)f(p) and declares shape {p:f(p)=0}\{p : f(p) = 0\}, which resolves at any coordinate. Signed distance functions are one instance; occupancy fields are another; learned MLPs generalize both. This page covers the level-set idea before neural SDFs add learning.

Think of It Like This

A contour line on a topographic map

A hill is not stored as dots along one contour. The map stores height everywhere, and the 100100 m contour emerges wherever height equals 100100. Zooming the map does not pixelate the contour because height is continuous.

Fields are heights and surfaces are contours. The analogy stops at dimension: real fields vary through volume, not over a sheet.

How It Actually Works

Pick threshold cc (usually 00 or 0.50.5). The surface is S={p:f(p)=c}S = \{p : f(p) = c\}. Normals come from ∇f/∥∇f∥\nabla f / \lVert \nabla f \rVert. Marching cubes samples ff on a grid only for extraction; the stored shape stays continuous. Fidelity follows network capacity and supervision, not grid vv.

Worked example

Let f(x,y,z)=x2+y2+z2−1f(x, y, z) = x^2 + y^2 + z^2 - 1. The zero set is the unit sphere. Point (0.6,0.8,0)(0.6, 0.8, 0) gives 0.36+0.64−1=00.36 + 0.64 - 1 = 0, on the surface. Point (0.5,0.5,0)(0.5, 0.5, 0) gives 0.25+0.25−1=−0.50.25 + 0.25 - 1 = -0.5, inside. Gradient (2x,2y,2z)(2x, 2y, 2z) at (0.6,0.8,0)(0.6, 0.8, 0) is (1.2,1.6,0)(1.2, 1.6, 0), normalized (0.6,0.8,0)(0.6, 0.8, 0), the outward normal.

Watch Out For

Extracting at the wrong iso-value

Meshing occupancy at 0.00.0 instead of 0.50.5 inflates every object by half a cell. The symptom is boxes that never quite fit. Match the extraction threshold to the training target exactly.

The Quick Version

  • Implicit surfaces store a function; the shape is one level set.
  • Detail follows function capacity, not grid resolution.
  • Normals come from the gradient, meshing from marching cubes.
  • Do not use implicits when you need instant rasterization; extract a mesh first.
  • Unit-sphere fields are the minimal test before real scans.