This book gives senior undergraduate and beginning graduate students and researchers in computer vision, applied mathematics, computer graphics, and robotics a self-contained introduction to the geometry of 3D vision; that is the reconstruction of 3D models of objects from a collection of 2D images. Following a brief introduction, Part I provides background materials for the rest of the book. The two fundamental transformations, namely rigid body motion and perspective projection are introduced and image formation and feature extraction discussed. Part II covers the classic theory of two view geometry based on the so-called epipolar constraint. Part III shows that a more proper tool for studying the geometry of multiple views is the so- called rank considtion on the multiple view matrix. Part IV develops practical reconstruction algorithms step by step as well as discusses possible extensions of the theory. Exercises are provided at the end of each chapter. Software for examples and algorithms are available on the author's website.