next up previous
Next: About this document Up: Geometric Tools Previous: Applications of computational geometry

Geometric tools, teaching, and software development

To reach the widest audience, computational geometry needs to be presented to non-specialists as a collection of easy-to-apply tools. ``Easy-to-apply'' means that traditional algorithmic descriptions are not good enough, because they require implementation from the potential user. The computational geometry community should make robust, easy-to-use implementations of the best computational geometry algorithms widely available and widely publicized.

It is instructive to compare the teaching of computational geometry to that of sorting or hashing. Computational geometry is typically taught in specialized courses, or as a single short section in algorithms classes. Similarly, detailed analyses of sorting and hashing are taught in specialized algorithms courses. The crucial difference is that sorting and hashing are widely applied in other disciplines (systems programming, e.g.), and are presented as black-box tools in non-algorithmic courses. Likewise, introductory Unix courses teach the power of commands like ``sort | uniq.''

In general, computational geometry has not provided the simple, flexible tools that would enable the kind of widespread use that sorting receives. Published libraries of geometric routines (see, for example, the list of geometric software maintained at the NSF Geometry Center) often have a large granularity of adoption: potential users must adopt the whole library and its data models if they want to use any part of it. Writers of geometric software need to provide lowest-common-denominator interfaces, as well as more efficient interfaces for sophisticated users.

I believe that computational geometry will achieve its full potential only if the geometry community publishes its successful algorithms in an easy-to-use form, accessible to the non-specialist public. We need, for example, books titled ``Geometric Recipes'' or ``Geometric Tools,'' with accompanying software; we need standard implementations of the standard algorithms; we need to give the computing public a reason to turn to computational geometry for solutions.


next up previous
Next: About this document Up: Geometric Tools Previous: Applications of computational geometry

John Hershberger
Thu May 9 13:12:40 PDT 1996