CH NEO-ZÜRICH EDITION
WEATHER · CLEAR 25°C
BLEND OF THE DAY · 07/ROGUE
EST. 2027
THE AEC CYBER MORNING NEWS

PAZ Kaffi

DESIGN · DEMOLITION · CAFFEINE · DISPATCH
EDITION 0617 · 17 June 2026
BROADCAST 04:42 CET
2,400 BROADSHEETS PRINTED
READ TIME · 47 MIN
Neural Radiance Fields & 3D Gaussians: Your Building, Fitted Not Modelled
AI
FRAME · 06:50
14-06-2026

Neural Radiance Fields & 3D Gaussians: Your Building, Fitted Not Modelled

How neural radiance fields and 3D Gaussian Splatting turn a phone walk-around into a metric-accurate building capture — the foundation, the maths, and a Hack.

Two papers, three years apart, quietly changed what “survey” means. In March 2020 Ben Mildenhall and colleagues presented NeRF: Representing Scenes as Neural Radiance Fields at ECCV; in 2023 Bernhard Kerbl’s team at INRIA Sophia-Antipolis answered with 3D Gaussian Splatting for Real-Time Radiance Field Rendering at SIGGRAPH. Between them they moved photogrammetry from something you reconstruct to something you fit. For an architect that distinction is not academic — it is the difference between a mesh you have to clean and a continuous model of how your building actually reflects light.

←TODAY: A five-minute phone walk-around of a façade now yields a metric-accurate capture good enough for as-built verification and clash-checking.
→3012: Every building carries a living radiance twin, re-fitted on each visit, so the record of a place is never frozen and never lost.
Fulcrum: The capture is cheap because the representation is differentiable — and differentiable is exactly what makes it auditable later.

What it is: A NeRF is one small multilayer perceptron — call it Fθ(x, y, z, θ, φ) → (RGB, σ) — that maps a point in space and a viewing direction to a colour and a volume density. To render a pixel you march a camera ray through the network and integrate the colour, weighted by accumulated transmittance. That integral is the emission-absorption equation Kajiya and Von Herzen formalised for smoke and clouds back in 1984; the 2020 trick was to wrap it in autograd so gradient descent can fit the weights to a hundred photos at once. The weights of Fθ are, literally, the building. 3D Gaussian Splatting keeps the same captured reality but flips the representation from implicit to explicit: the scene becomes a cloud of roughly a million anisotropic Gaussians, each with a mean, a covariance, an opacity and a view-dependent colour. Two languages, one physics.

Why it works: The implicit field works because the rendering operator is continuous and differentiable end-to-end — every photo becomes a constraint, and the network finds the field that satisfies all of them at once. The explicit field works for a blunter reason: rasterisation. Each Gaussian carries a 3×3 covariance Σ factored as RSSTRT — a unit-quaternion rotation times a per-axis scale — and a colour stored as spherical-harmonic coefficients up to degree three. Rendering is no longer a ray-march; each Gaussian is projected to the image plane, depth-sorted per tile and alpha-composited. That is why a consumer GPU saturates at 100+ FPS at 1080p. The price of that speed is honesty about state: several gigabytes per scene, which is exactly why 2024–2025 research — HyRF’s hybrid fields, Lee et al.’s 25× Compact-3DGS, MrGS’s RGB-thermal Gaussians — is racing to compress. As the PAZ concept panel on this topic puts it, an implicit field is a continuous physics model of how a building reflects light, and a splat is its rasterisable twin.

Origins: The lineage is short and well-documented. Act one: Mildenhall, Srinivasan, Tancik, Barron, Ramamoorthi and Ng, ECCV 2020 — exquisite reconstructions, training measured in hours, frames in seconds. Act two: Kerbl, Kopanas, Leimkühler and Drettakis at INRIA, SIGGRAPH 2023 — real-time, explicit, GPU-rasterised. The proving ground in between was Martin-Brualla et al.’s NeRF in the Wild (CVPR 2021), which fit clean monuments — the Brandenburg Gate, the Trevi Fountain, Sacré-Cœur — from unconstrained tourist photos under chaotic light and moving crowds. Mittal’s 2024 survey already catalogues more than five hundred NeRF preprints, and the field is still roughly doubling each year.

In practice: The signal that matters for a Swiss studio is not the demo, it is the planning instrument. Haitz, Hermann, Roth and the Weinmanns turned a nadir drone survey of central Delft (TU Delft, 2024) into the first serious urban-scale 3DGS benchmark — buildings stop being toy objects and become a cadastral surface. Map that onto a cantonal Denkmalpflege brief: a heritage façade in the Niederdorf, captured in one slow phone arc, becomes a metric reference for restoration tendering long before a measured survey is commissioned. The Notre-Dame case is the cautionary twin — after the April 2019 fire, the pre-fire tourist archive was re-trained into NeRF and 3DGS reconstructions as forensic memory of a building that no longer fully exists. Atelier: in a PAZ workflow this slots in upstream of BIM clash-checking — you check the model against a fitted capture of the real building, not against a CAD wish, and you feed the corrected geometry into the Grasshopper↔Archicad path rather than re-drawing it.

Hack: This Hack teaches you to measure a building corner you have only photographed — a survey dimension with no tape on site. The medium is runnable code; the domain is Geometry. Capture 80–150 stills of one corner with fixed exposure, run COLMAP for poses, train the INRIA 3DGS reference for 30k iterations, then load the trained Gaussians, drop the fuzzy floaters, and fit an oriented bounding box.

import numpy as np, open3d as o3d
from plyfile import PlyData

ply = PlyData.read("output/corner/point_cloud/iteration_30000/point_cloud.ply")['vertex']
xyz    = np.stack([ply['x'], ply['y'], ply['z']], axis=1)
opac   = np.array(ply['opacity'])                 # logit space
scale  = np.exp(np.stack([ply['scale_0'], ply['scale_1'], ply['scale_2']], axis=1))
keep   = (opac > -2.0) & (scale.max(axis=1)  5 cm

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(xyz[keep])
pcd, _ = pcd.remove_statistical_outlier(nb_neighbors=30, std_ratio=2.0)
w, d, h = sorted(pcd.get_oriented_bounding_box().extent, reverse=True)
print(f"corner  width={w:.3f} m  depth={d:.3f} m  height={h:.3f} m")

Check the printed numbers against a tape on site. With a slow walk, locked exposure and stable COLMAP poses, expect agreement inside one to two centimetres on a residential-scale corner — accuracy a junior surveyor charges half a day for.

One sharp caveat, in the spirit of the dependency graph: a radiance field is only as honest as its poses. COLMAP failure on reflective glass or a featureless render wall produces a confident, beautifully-rendered, geometrically wrong model — the failure mode is silent. Always anchor at least one tape measurement before you trust a captured dimension. Capture one corner this week, fit it, and measure it against reality; the gap you find is the calibration you’ll carry into every survey after.

FILED FROM
CO-SIGNERS
PAZ Academy
CONFIDENCE
HIGH
REPRINTS
© PAZ - PARAMETRIC ACADEMY ZURICH · ALL RIGHTS RESERVED
⚑ REPORT AN ERROR · SUBMIT A CORRECTION
◂ BACK TO FRONT PAGE · PAZ KAFFI

© 2026 PAZ Academy.