Exercises

ex01-sdf-sphere

Easy

Verify that the SDF f(p)=βˆ₯pβˆ₯βˆ’Rf(\mathbf{p}) = \|\mathbf{p}\| - R satisfies the Eikonal equation βˆ₯βˆ‡f(p)βˆ₯=1\|\nabla f(\mathbf{p})\| = 1 for all pβ‰ 0\mathbf{p} \neq \mathbf{0}.

ex02-sdf-operations

Easy

Given SDFs fAf_A and fBf_B for two objects, write the SDFs for: (a) the union AβˆͺBA \cup B, (b) the intersection A∩BA \cap B, (c) the complement AΛ‰\bar{A}.

ex03-sphere-tracing-convergence

Easy

A ray r(t)=(0,0,t)\mathbf{r}(t) = (0, 0, t) is traced toward a sphere of radius R=1R = 1 centred at (0,0,5)(0, 0, 5). Starting from t0=0t_0 = 0, compute the first three sphere tracing iterates t1,t2,t3t_1, t_2, t_3.

ex04-eikonal-cylinder

Easy

Write the SDF for an infinite cylinder of radius RR whose axis is the zz-axis. Verify the Eikonal equation.

ex05-occupancy-sigmoid

Easy

Given the SDF f(p)=βˆ₯pβˆ₯βˆ’1f(\mathbf{p}) = \|\mathbf{p}\| - 1 (unit sphere), compute the occupancy field o(p)=Οƒ(βˆ’Ξ±f(p))o(\mathbf{p}) = \sigma(-\alpha f(\mathbf{p})) for Ξ±=10\alpha = 10 at (a) p=(0,0,0)\mathbf{p} = (0, 0, 0), (b) p=(1,0,0)\mathbf{p} = (1, 0, 0), and (c) p=(2,0,0)\mathbf{p} = (2, 0, 0).

ex06-positional-encoding

Medium

A neural SDF uses positional encoding with LL levels. What is the maximum spatial frequency (cycles per unit length) that the network can represent? For a mmWave system at f0=60f_0 = 60 GHz (Ξ»=5\lambda = 5 mm), what minimum LL is needed to represent features at the wavelength scale in a 11 m scene?

ex07-geraf-loss-gradient

Medium

Derive the gradient of the GeRaF data fidelity loss with respect to the SDF network parameters ΞΈ\theta, showing how the gradient flows through the rendering equation and the SDF evaluation.

ex08-mf-vs-sdf-resolution

Medium

A MIMO radar with aperture DD and bandwidth BB produces an MF image with cross-range resolution Ξ΄cr=Ξ»R/D\delta_{\text{cr}} = \lambda R / D and range resolution Ξ΄r=c/(2B)\delta_r = c/(2B). Explain how a neural SDF can recover surface details finer than Ξ΄cr\delta_{\text{cr}} and Ξ΄r\delta_r.

ex09-fresnel-two-angles

Medium

A planar dielectric interface is observed from two angles ΞΈ1=30∘\theta_1 = 30^\circ and ΞΈ2=60∘\theta_2 = 60^\circ. The measured power reflection coefficients are ∣RβŠ₯(ΞΈ1)∣2=0.04|R_\perp(\theta_1)|^2 = 0.04 and ∣RβŠ₯(ΞΈ2)∣2=0.15|R_\perp(\theta_2)|^2 = 0.15. Estimate Ο΅r\epsilon_r.

ex10-eikonal-gradient-compute

Medium

Describe how to compute βˆ‡pfΞΈ(p)\nabla_{\mathbf{p}} f_\theta(\mathbf{p}) for a neural SDF implemented as a PyTorch MLP. Write the key PyTorch code fragment.

ex11-occupancy-vs-sdf-normals

Medium

Compare the surface normals obtained from (a) a neural SDF and (b) an occupancy network, for a sphere of radius RR. Which method gives more accurate normals and why?

ex12-geometric-init

Hard

Explain the geometric initialisation strategy for neural SDFs: initialise the MLP so that fΞΈ(0)(p)β‰ˆβˆ₯pβˆ₯βˆ’R0f_\theta^{(0)}(\mathbf{p}) \approx \|\mathbf{p}\| - R_0 for some large R0R_0. How is this achieved, and why is it important for training convergence?

ex13-geraf-lensless

Hard

Explain why NeRF's ray-based sampling (one ray per pixel, sampled along the ray) does not directly apply to radar imaging. How does GeRaF resolve this?

ex14-eikonal-sampling

Hard

The Eikonal loss requires evaluating βˆ₯βˆ‡fΞΈ(p)βˆ₯\|\nabla f_\theta(\mathbf{p})\| at random 3D points. Describe two sampling strategies (uniform and importance-based) and explain their trade-offs.

ex15-marching-cubes

Hard

Describe the marching cubes algorithm for extracting a triangle mesh from a neural SDF evaluated on a N3N^3 grid. What determines the mesh resolution, and what is the computational cost?

ex16-material-ambiguity

Hard

Explain the geometry-reflectivity ambiguity in single-view radar imaging: given a single MF power measurement PMF(pq)P_{\text{MF}}(\mathbf{p}_q), show that the pair (fΞΈ,Γϕ)(f_\theta, \Gamma_\phi) is not uniquely determined. How does multi-view data resolve this?

ex17-sigma-annealing

Challenge

In GeRaF's rendering equation, the surface delta function is approximated by δσ(s)=1Οƒexp⁑(βˆ’s2/(2Οƒ2))\delta_\sigma(s) = \frac{1}{\sigma}\exp(-s^2/(2\sigma^2)). Propose and justify an annealing schedule for Οƒ\sigma during training.

ex18-multi-material-scene

Challenge

Design a neural architecture for jointly estimating the SDF and per-point material classification (concrete, glass, metal, drywall) from multi-view radar data. Define the loss function and explain how the discrete material classes interact with the continuous SDF.

ex19-primitive-vs-neural

Challenge

Compare the primitive-based SDF approach (representing a room as unions of half-spaces and cylinders) with the neural SDF approach for indoor RF imaging. Under what conditions does each approach perform better?

ex20-convergence-analysis

Challenge

Consider the simplified 1D case: a neural SDF fΞΈ(x)=MLPΞΈ(x)f_\theta(x) = \text{MLP}_\theta(x) trained on a single surface point x0=0x_0 = 0 with the loss L=fΞΈ(0)2+Ξ»Ex∼U[βˆ’1,1][(∣fΞΈβ€²(x)βˆ£βˆ’1)2]\mathcal{L} = f_\theta(0)^2 + \lambda \mathbb{E}_{x \sim \mathcal{U}[-1,1]}[(|f_\theta'(x)| - 1)^2]. Show that the minimiser is fΞΈ(x)=∣x∣f_\theta(x) = |x| (up to sign) and discuss the convergence rate.