  This paper describes a general-purpose programming technique, called the
Simulation of Simplicity, which can be used to cope with degenerate input data
for geometric algorithms. It relieves the programmer from the task to provide a
consistent treatment for every single special case that can occur. The programs
that use the technique tend to be considerably smaller and more robust than
those that do not use it. We believe that this technique will become a standard
tool in writing geometric software.
