Computational Geometry An Introduction