v9.1.1
Menu

Chapter 1: Introduction to 3D Computer Vision

Week 1

Understand the foundational concepts of 3D computer vision: how 3D data is represented, how coordinate systems work, how rigid transformations move objects through space, and why homogeneous coordinates simplify everything. Explore rotation representations, common file formats, and the wide-ranging applications driving this field.

Topics
7
Demos
2
Videos
3
Min read
40

Chapter Overview

3D Computer Vision extends traditional image understanding into the third dimension. Instead of analyzing flat pixel grids, we reconstruct, interpret, and manipulate the full three-dimensional structure of the world.

What is this chapter about? We establish the mathematical and conceptual foundations you will use throughout every subsequent chapter. You will learn how 3D data is stored and represented, how different coordinate systems relate to each other, how objects are moved through space with rigid transformations, and why homogeneous coordinates are the standard tool for combining these operations.

Why does this matter? Every algorithm in 3D vision---from stereo matching to neural radiance fields---relies on coordinate transforms, rotation representations, and 3D data structures. A solid grasp of these fundamentals prevents confusion later when matrices start multiplying.

How the topics connect: We begin with 3D representations (point clouds, meshes, voxels) to understand what data we work with. Then coordinate systems explain where things live in space. Rigid transformations and homogeneous coordinates give us the tools to move between coordinate systems. Rotation representations address the subtleties of encoding orientation. We close with data formats for practical I/O and a survey of applications that motivate the entire field.

Chapter Roadmap

Click any topic to jump in

Explainer videoInteractive demo
1
3D Representations

Point clouds, meshes, voxels, and implicit surfaces — the raw materials of 3D vision.

Point CloudsTriangle MeshesVoxel Grids and Implicit Representations
Points need a reference frame
2
Coordinate Systems

World, camera, and image frames — where things live in space and how to express positions.

World Coordinate SystemCamera Coordinate SystemImage (Pixel) Coordinate System
Moving between frames

Tools for coordinate transforms

3
Rigid Transformations

Rotation and translation — how to move and orient objects without deforming them.

Rotation MatricesTranslation VectorsComposing Transformations
4
Homogeneous Coordinates

Extending to 4D so rotation and translation combine into a single matrix multiply.

From 3D to 4D: Adding the Homogeneous CoordinateThe 4x4 Transformation MatrixProjective Geometry and Points at Infinity
Practical encodings and storage

Representations in practice and in the wild

5
Rotation Representations

Euler angles, quaternions, and axis-angle — different ways to encode orientation and their trade-offs.

Euler Angles and Gimbal LockQuaternionsAxis-Angle and Rotation Vectors
6
3D Data Formats

PLY, OBJ, PCD — file formats for storing and exchanging 3D geometry data.

PLY (Polygon File Format)OBJ (Wavefront Object)PCD (Point Cloud Data) and Other Formats
Putting it all together
7
Applications

Autonomous driving, AR/VR, and medical imaging — where 3D vision meets the real world.

Autonomous Driving and RoboticsAugmented and Virtual RealityMedical Imaging and 3D Scanning

Topics

7 topics in this chapter

A photograph throws away the one quantity a robot most needs: how far away things are. Every pixel records colour along a ray, but not where along that ray the surface sits, so a 2D image alone cannot tell a small near box from a large distant one. 3D computer vision recovers and reasons about that missing geometry, and the very first decision is how to store it. Unlike an image, which is always a regular grid, 3D shape has several competing encodings. A LiDAR returns a loose cloud of points with no connectivity. A game engine wants a triangle mesh it can rasterize. A neural network for occupancy prediction is happiest with a regular voxel grid, and recent methods such as NeRF and DeepSDF store a surface as the zero level set of a learned function. This topic opens the plan by comparing the three main families, point clouds, meshes, and voxels or implicit functions, in terms of memory, what each makes easy, and what each makes hard. Later topics build the coordinate machinery needed to move any of them around in space.

Definition

A 3D representation is a data structure that encodes the geometry of a scene or object. Explicit representations store samples of the surface directly: points, or vertices joined by faces. Volumetric representations store values on a 3D grid. Implicit representations store a function whose zero level set is the surface, so geometry is queried rather than listed.

In this topic

  1. 1Point Clouds
  2. 2Triangle Meshes
  3. 3Voxel Grids and Implicit Representations
1 of 3
Point Clouds

A point cloud is an unordered set of 3D points {(xi,yi,zi)}i=1N\{(x_i, y_i, z_i)\}_{i=1}^{N}, often with extra per-point attributes such as colour, a surface normal, or LiDAR return intensity. It is the raw output of LiDAR scanners, depth cameras and photogrammetry, which makes it the most common 3D format in practice. Its strengths are simplicity and fidelity to the sensor: nothing is interpolated. Its weaknesses follow from what is missing. There is no connectivity, so the surface between points is unknown, density varies with range, and because the order of points is arbitrary, any learning method must give the same answer for every permutation of the list.

Mathematical Intuition

A point cloud is a set {pi}i=1N\{\mathbf{p}_i\}_{i=1}^N where each pi=(xi,yi,zi)∈R3\mathbf{p}_i = (x_i, y_i, z_i) \in \mathbb{R}^3. The storage cost is exactly 3N3N floats (plus per-point attributes). Because points are unordered, any algorithm must be permutation-invariant: if f({p1,…,pN})=yf(\{\mathbf{p}_1, \ldots, \mathbf{p}_N\}) = y, then f({pσ(1),…,pσ(N)})=yf(\{\mathbf{p}_{\sigma(1)}, \ldots, \mathbf{p}_{\sigma(N)}\}) = y for any permutation σ\sigma. This constraint directly motivated architectures like PointNet, which uses per-point MLPs followed by a symmetric function (max pooling).

Example:

A LiDAR sensor returns 100,000 points, each with (x, y, z, intensity). How much memory does this require using 32-bit floats?

2 of 3
Triangle Meshes

A triangle mesh represents a surface with a vertex list VV of 3D positions and a face list FF of index triples saying which three vertices form each triangle; edges are implied by the faces. Unlike a point cloud, a mesh states the surface explicitly, so normals, areas, geodesic distances, rendering and collision tests are all well defined. The price is that connectivity must be valid: holes, flipped faces and non-manifold edges break many algorithms. Euler's formula V−E+F=2V - E + F = 2 for a closed sphere-like surface gives a quick sanity check, because in a watertight triangle mesh every edge is shared by exactly two faces.

Mathematical Intuition

A mesh (V,F)(V, F) consists of vertices V∈R∣V∣×3V \in \mathbb{R}^{|V| \times 3} and faces F⊂(V3)F \subset \binom{V}{3}. The Euler characteristic χ=∣V∣−∣E∣+∣F∣\chi = |V| - |E| + |F| is a topological invariant: χ=2\chi = 2 for any closed surface homeomorphic to a sphere. For a triangle mesh, ∣E∣=3∣F∣/2|E| = 3|F|/2 (each edge shared by two faces), so ∣V∣−3∣F∣/2+∣F∣=2|V| - 3|F|/2 + |F| = 2. This means given ∣V∣|V| and ∣F∣|F|, you can predict ∣E∣|E| exactly --- any deviation indicates holes or non-manifold geometry.

Example:

A mesh has 1,000 vertices and 1,996 triangular faces. Verify this satisfies Euler's formula for a closed surface: V−E+F=2V - E + F = 2.

3 of 3
Voxel Grids and Implicit Representations

A voxel grid divides space into equal cubes and stores one value per cube, such as occupancy or a signed distance. It is the 3D analogue of an image, so 3D convolutions apply directly, but memory grows with the cube of the resolution, and almost all of it describes empty space. Implicit representations avoid the grid by storing a function f(x,y,z)f(x, y, z) and defining the surface as the set where f=0f = 0, with negative values inside. Neural implicit models such as DeepSDF, Occupancy Networks and NeRF learn ff with a network, giving continuous, compact shapes at the cost of having to query the network to extract a surface.

Mathematical Intuition

A dense grid at resolution nn costs O(n3)O(n^3) memory, but a smooth surface crosses only O(n2)O(n^2) cells, so in the probe a radius-120 sphere in a 2563256^3 grid touches about 1.1 percent of the voxels. Octrees and sparse hash grids store only those cells. An implicit signed distance function ff describes the surface as {x:f(x)=0}\{x : f(x) = 0\}. Where it is differentiable it satisfies ∥∇f∥=1\lVert \nabla f \rVert = 1, and ∇f\nabla f points away from the nearest surface point, so x−f(x)∇f(x)x - f(x) \nabla f(x) projects a point onto the surface. The identity fails on the medial axis, where two surface points are equally near.

Example:

A voxel grid has resolution 256×256×256256 \times 256 \times 256 with a single float per voxel. How much memory is needed? What resolution would fit in 1 GB?