Computational geometry is the part of theoretical computer science that concerns itself with geometrical objects; it aims to define efficient algorithms for problems involving points, lines, polygons, and so on. The field has gained popularity very rapidly during the last decade. This is partly due to the many application areas of computational geometry and partly due to the beauty of the field itself. This monograph focuses on three problems that arise in three-dimensional computational geometry. The first problem is the ray shooting problem: preprocess a set of polyhedra into a data structure such that the first polyhedron that is hit by a query ray can be determined quickly. The second problem is that of computing depth orders: we want to sort a set of polyhedra such that if one polyhedron is (partially) obscured by another polyhedron then it comes first in the order. The third problem is the hidden surface removal problem: given a set of polyhedra and a view point, compute which parts of the polyhedra are visible from the view point. These three problems involve issues that are fundamental to three-dimensional computational geometry. The book also contains a large introductory part discussing the techniques used to tackle the problems. This part should interest not only those who need the background for the rest of the book but also anyone who wants to know more about some recent techniques in computational geometry.