When dealing with geometric problems, we typically deal with 2D and 3D objects. These objects are represented mathematically in the computer. Therefore, the basic requirement is to have a good grasp of the mathematical entities that represent the objects, and be familiar with the tools that enable their manipulation. The basic geometric elements are linear (points, lines, planes), and the typical queries and manipulations we encounter in common geometric applications include distances, transformations, projections and so on.