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.
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.
Click any topic to jump in
Point clouds, meshes, voxels, and implicit surfaces — the raw materials of 3D vision.
World, camera, and image frames — where things live in space and how to express positions.
Tools for coordinate transforms
Rotation and translation — how to move and orient objects without deforming them.
Extending to 4D so rotation and translation combine into a single matrix multiply.
Representations in practice and in the wild
Euler angles, quaternions, and axis-angle — different ways to encode orientation and their trade-offs.
PLY, OBJ, PCD — file formats for storing and exchanging 3D geometry data.
Autonomous driving, AR/VR, and medical imaging — where 3D vision meets the real world.
Before we can process 3D data, we need to understand how three-dimensional geometry is stored in a computer. Unlike 2D images that are simply grids of pixel values, 3D data comes in many different forms, each with distinct strengths and trade-offs. Choosing the right representation profoundly affects algorithm design, memory usage, and computational cost.
A point cloud is an unordered set of 3D points, each defined by its (x, y, z) coordinates. Points may carry additional attributes like color (RGB), normals, or intensity values. Point clouds are the raw output of LiDAR sensors, depth cameras, and photogrammetry pipelines, making them the most common 3D data format in practice.
A point cloud is a set where each . The storage cost is exactly floats (plus per-point attributes). Because points are unordered, any algorithm must be permutation-invariant: if , then for any permutation . This constraint directly motivated architectures like PointNet, which uses per-point MLPs followed by a symmetric function (max pooling).
A LiDAR sensor returns 100,000 points, each with (x, y, z, intensity). How much memory does this require using 32-bit floats?
A mesh represents a 3D surface using vertices (3D points) connected by edges and faces (usually triangles). The vertex list stores positions, while the face list stores connectivity---which vertices form each triangle. Meshes explicitly encode surface topology, enabling rendering, collision detection, and surface analysis.
A mesh consists of vertices and faces . The Euler characteristic is a topological invariant: for any closed surface homeomorphic to a sphere. For a triangle mesh, (each edge shared by two faces), so . This means given and , you can predict exactly --- any deviation indicates holes or non-manifold geometry.
A mesh has 1,000 vertices and 1,996 triangular faces. Verify this satisfies Euler's formula for a closed surface: .
Voxels divide 3D space into a regular grid of small cubes, each storing an occupancy value or a signed distance. Implicit representations define surfaces as the zero level-set of a continuous function , without storing explicit geometry. Neural implicit representations (NeRF, DeepSDF) use neural networks to encode this function, enabling compact, continuous surface descriptions.
A voxel grid at resolution requires storage, but most voxels are empty. Octrees exploit this sparsity by recursively subdividing only occupied regions, reducing storage to where is the number of surface voxels (typically for a smooth surface). Implicit representations define the surface as . A signed distance function (SDF) has the property everywhere, meaning the gradient always points toward the nearest surface point and its magnitude gives the exact distance.
A voxel grid has resolution with a single float per voxel. How much memory is needed? What resolution would fit in 1 GB?