Four pieces of mathematics recur in almost every chapter. This appendix states each in the symbols of the Notation table and names the chapters that use it. They are vectors and distances, rigid transformations, the covariance matrix with its eigendecomposition, and least-squares estimation together with the uncertainty it propagates.
We write a point in 3D space as a column vector:
We measure the separation of two points and by the Euclidean distance:
The dot product measures alignment, equalling for the angle between the two vectors. The cross product is a vector perpendicular to both, of magnitude equal to the area of the parallelogram they span.
Coordinate reference systems and the transformations between them are treated in section 3.2.
A rigid transformation, or proper isometry, moves points as one rigid body. So every distance between them is preserved. We build one from a rotation and a translation , and apply it to a point:
where is a orthogonal matrix satisfying and . These two constraints keep from stretching or reflecting the geometry and define the group .
Homogeneous coordinates carry the rotation and the translation in a single matrix:
This matrix belongs to the special Euclidean group , and composing two transformations becomes a matrix multiplication, . Registration (chapter 8) estimates such a transformation.
A rotation has several equivalent parameterisations, each suited to a different computation. The nine entries of are convenient for applying a rotation and awkward for estimating one, because the six orthogonality constraints in must be enforced during optimisation. Three Euler angles are minimal and easy to read but lose one rotational degree of freedom at specific configurations (gimbal lock). The axis-angle form carries a unit axis and a turn angle in the single vector . And Rodrigues' formula turns it into a matrix:
where is the skew-symmetric matrix with for every . Keeping only the first-order term leaves , the small-angle linearisation that point-to-plane ICP applies at every iteration (section 8.3.2). The neglected terms are of order , which is why that iteration needs a starting alignment close to the answer.
The unit quaternion , four numbers of unit norm, composes rotations with little computation, has no singular configuration, and represents every rotation twice, since and give the same . Estimation code, including the registration of chapter 8, carries the rotation in whichever form suits the solver and applies each increment in the three unconstrained parameters of .
Principal Component Analysis (PCA) summarises the local shape of a point neighbourhood. Given points with centroid , we shift them onto that centroid. We collect their spread into the covariance matrix:
Dividing by rather than by the of the usual sample covariance multiplies all three eigenvalues by the same factor and leaves the eigenvectors and the eigenvalue ratios of chapter 10 unchanged.
is symmetric and positive semi-definite. So it has three real, non-negative eigenvalues with corresponding orthonormal eigenvectors . The eigenvectors give a local frame aligned with the principal directions of variation and the eigenvalues the spread along each. Each eigenvector is fixed only up to sign, so PCA returns an unoriented direction that a separate orientation step has to resolve. When two eigenvalues are equal, the eigenvectors inside their common subspace are not determined, although the subspace is. Full isotropy requires .
The eigenvector belonging to the smallest eigenvalue approximates the surface normal, because points on a locally flat surface vary least in the direction perpendicular to it. That approximation is exact for a planar neighbourhood. On a curved surface, sampling symmetric about the query point removes the covariance between the normal and the tangent components. So one eigenvector lies along the normal and the other two span the tangent plane. Whether the normal carries the smallest variance is a second condition that can fail. On the paraboloid sampled uniformly over a disc of radius in projection, the tangent variances are and the normal variance . So leaves the normal once , above about three and a half radii of curvature. A sphere sampled evenly around the query point never crosses that threshold. The fitted plane there becomes a secant, offset into the surface by about and parallel to the tangent plane. So PCA returns the exact radial direction for every support smaller than the sphere's full diameter. At the full diameter the covariance is isotropic and no normal direction is defined. The direction degrades where the sampling is asymmetric, at a coverage edge, under a density gradient, or where an occlusion truncates the neighbourhood. The angular error then grows with the support radius, the high-bias failure of the support curve of figure 7.4. Section 7.3.1 bounds that error and gives the radius that minimises it.
The ratios among the three eigenvalues encode the local shape, which chapter 10 develops into the linearity, planarity, and sphericity features of figure 10.1. Chapter 7 treats normal estimation, chapter 11 seeds plane fitting on flat neighbourhoods, and example A.1 runs the computation on three points small enough to check by hand.
Many algorithms fit a model by minimising a sum of squared residuals. The ordinary least squares estimate is the parameter vector that makes that sum smallest:
For a model linear in its parameters, each model value is for a row vector built from . We stack those rows into a design matrix and the observations into a vector . And the normal equations give the minimum in closed form, with no search. If has full column rank, is invertible and the minimiser is unique:
Without full column rank, is singular, equation A.8 does not apply, and the minimum-norm solution is with the Moore–Penrose pseudoinverse that the SVD supplies directly. Geometrically, is the orthogonal projection of onto the column space of , the closest the linear model comes to the observations.
Equation A.8 applies where the residual is measured along one axis, as in the moving least squares fitting of chapter 6, whose polynomial step fits a height above a reference plane. Two problems that recur in point cloud processing are not of that form. Fitting a plane to a point neighbourhood minimises the perpendicular distance from each point to the plane, orthogonal distance regression (Shakarji, 1998). Its solution is the eigenvector of the smallest eigenvalue of equation A.6, the computation of section A.3 rather than equation A.8. The distinction matters, because the form cannot represent a vertical plane, and vertical planes are the façades of a terrestrial scan. Point-to-point ICP is the second, since it estimates a rotation under an orthogonality constraint that section 8.2.1 solves in closed form through the SVD of the cross-covariance matrix.
When the observations differ in reliability, each residual receives a weight and the solution minimises . This gives the weighted least squares estimate with , valid when is nonsingular. Weights come from one of two places. Where the measurement variance is known, makes the weighted estimate the maximum-likelihood one for independent Gaussian errors. Where the concern is contamination rather than known precision, the weights are recomputed from the current residuals at each pass of an iteratively reweighted solution. This is used in the robust plane fitting of section 7.5 and the robust correspondence kernels of section 8.6.2.
Every estimate above rests on measurements that carry errors, and one first-order calculation propagates them into what follows. Write the derived quantity as in uncertain inputs . Near their estimated values with the Jacobian , so the covariances satisfy . With set to the inverse covariance of the observations, the weighted estimate above has covariance . The off-diagonal entries are the reason for the matrix form, because two inputs that share an observation, a trajectory or a calibration are correlated. And a difference of two such estimates then has variance rather than the sum. So a shared error partly cancels. State which errors cancel before reading a difference. Section 2.10 carries a range budget into a coordinate this way, chapter 14 two epoch precisions into a level of detection.
A model nonlinear in its parameters usually has no closed-form minimiser, although special structure sometimes supplies one, as the point-to-point ICP rotation above does. Where none is available the estimate is reached by iteration. Gauss–Newton linearises the residuals about the current estimate, solves the resulting linear problem for a correction, and repeats. Levenberg–Marquardt solves each correction from the damped normal matrix , where is the Jacobian of the residuals. A small returns the Gauss–Newton step and a large one a short gradient step scaled by , so the iteration still makes progress from a poor starting estimate. The damping rises after a step that fails to reduce the residual and falls after one that succeeds. In the reference algorithms of the National Institute of Standards and Technology (NIST), and starts at . Each increase multiplies it by 10 and each decrease by 0.04 (Shakarji, 1998). Bundle adjustment (chapter 3) and pose-graph optimisation (section 8.8.1) are solved this way, and each pass of point-to-plane ICP (section 8.3.2) is one Gauss–Newton step on a re-linearised pose.
4 chapters and the appendix are free. The complete book is €39: all 20 chapters online and the complete PDF.
All 20 chapters online, and the complete PDF.
Everything in the book, plus the companion video course as it ships.
By Abderrazzaq Kharroubi, geomatics engineer at the University of Liège: a decade of LiDAR fieldwork, 2,000+ students taught. One payment, lifetime access, 30-day refund. Compare all tiers.
You get an email when the video course and the paperback ship.
One email per release. Unsubscribe any time. Privacy