Computing is quickly making much of geometry intriguing not only for philosophers and mathematicians, but also for scientists and engineers. What is the core set of topics that a practitioner needs to study before embarking on the design and implementation of a geometric system in a specialized discipline? This book attempts to find the answer. Every programmer tackling a geometric computing problem encounters design decisions that need to be solved. This book reviews the geometric theory then applies it in an attempt to find that elusive "right" design.