FastGEO

FastGEO is a library that contains a wide range of highly optimized computational geometry algorithms and routines for many different types of geometrical operations such as geometrical primitives and predicates, hull construction, triangulation, clipping, rotations and projections. FastGEO offers a concise, predictable, highly deterministic interface for geometric primitives and complex geometric routines using the Object Pascal language. In the past it has been widely acknowledged by many computational geometers that vectorized primitives are in general the most efficient and highly optimized path for computational geometry solutions. Hence FastGEO’s primitives are mainly based around vector primitives that allow for seemingly complex operations to be carried out with little computational over-head hence allowing for high levels of efficiency in more complex algorithms which in theory are composites of the provided geometric primitives. FastGEO however does not provide an environment for arbitrary precision in its calculations. The results rendered will only be as good as the floating point processor’s error rating. A user of the library if needed could in theory modify FastGEO’s routines to be forward error correcting, and allow for the sampling of calculation errors, and hence allow for some corrective measures to be undertaken. This is left to the end user of the library. FastGEO as a library is not object oriented but rather structured, this is due to the fact that many of the algorithms are tightly coupled with the data structures they munge and hence would be computationally irresponsible to also have them endure the over-heads of object orientation. However this doesn’t mean FastGEO can’t be integrated into an object hierarchy. In fact for complex algorithms such as triangulation and convex hulls it is recommended that an object oriented approach be taken and to use the FastGEO library as a utilities library within the solution. FastGEO provides an environment where mathematical theory regarding computational geometry can be observed in the real-world using real-world data with little fuss and computational overhead. This type of programming model in conjunction with the usage of the object pascal language provide a good learning base for people interested in computational geometry and its related fields. (Source: http://freecode.com/)