Beautiful Code [354]
Writing Programs for "The Book" > Further Reading
33.9. Further Reading
Avnaim, F., J.-D. Boissonnat, O. Devillers, F. P. Preparata, and M. Yvinec. "Evaluating signs of determinants using single-precision arithmetic." Algorithmica, Vol. 17, pp. 111–132, 1997.
Bentley, Jon L., and Thomas A. Ottmann. "Algorithms for reporting and counting geometric intersections." IEEE Transactions on Computers, Vol. C-28, pp. 643–647, 1979.
Braden, Bart. "The surveyor's area formula." The College Mathematics Journal, Vol. 17, No. 4, pp. 326–337, 1986.
Chazelle, Bernard, and Herbert Edelsbrunner. "An optimal algorithm for intersecting line segments in the plane." Journal of the Association for Computing Machinery, Vol. 39, pp. 1–54, 1992.
Forrest, A. R. "Computational geometry and software engineering: Towards a geometric computing environment." In Techniques for Computer Graphics (edited by D. F. Rogers and R. A. Earnshaw), pp. 23–37. New York: Springer-Verlag, 1987.
Forrest, A. R. "Computational geometry and uncertainty." In Uncertainty in Geometric Computations (edited by Joab Winkler and Mahesan Niranjan), pp. 69–77. Boston: Kluwer Academic Publishers, 2002.
Fortune, Steven, and Christopher J. Van Wyk. "Efficient exact arithmetic for computational geometry." In Proceedings of the Ninth Annual Symposium on Computational Geometry, pp. 163–172. New York: Association for Computing Machinery, 1993.
Guibas, Leonidas, and Jorge Stolfi. "Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams." ACM Transactions on Graphics, Vol. 4, No. 2, pp. 74–123, 1985.
Hayes, Brian. "Only connect!" http://bit-player.org/2006/only-connect. [Weblog item, posted September 14, 2006.]
Hayes, Brian. "Computing science: Up a lazy river." American Scientist, Vol. 94, No. 6, pp. 490–494, 2006. (http://www.americanscientist.org/AssetDetail/assetid/54078)
Hoffmann, Christoph M., John E. Hopcroft and Michael S. Karasick. "Towards implementing robust geometric computations." Proceedings of the Fourth Annual Symposium on Computational Geometry, pp. 106–117. New York: Association for Computing Machinery, 1988.
O'Rourke, Joseph. Computational Geometry in C. Cambridge: Cambridge University Press, 1994.
Preparata, Franco P., and Michael I. Shamos. Computational Geometry: An Introduction. New York: Springer-Verlag, 1985.
Qian, Jianbo, and Cao An Wang. "How much precision is needed to compare two sums of square roots of integers?" Information Processing Letters, Vol. 100, pp. 194–198, 2006.
Shewchuk, Jonathan Richard. "Adaptive precision floating-point arithmetic and fast robust geometric predicates." Discrete and Computational Geometry, Vol. 18, pp. 305–363, 1997. Preprint available at http://www.cs.cmu.edu/afs/cs/project/quake/public/papers/robustarithmetic.ps.
Shewchuk, Jonathan Richard. Lecture notes on geometric robustness. [Version of October 26, 2006.] (http://www.cs.berkeley.edu/~jrs/meshpapers/robnotes.ps.gz. See also source code at http://www.cs.cmu.edu/afs/cs/project/quake/public/code/predicates.c.)
Afterword
Andy Oram
Beautiful code surveys the range of human invention and ingenuity in one area of endeavor: the development of computer systems. The beauty in each chapter comes from the discovery of unique solutions, a discovery springing from the authors' power to look beyond set boundaries, to recognize needs overlooked by others, and to find surprising solutions to troubling problems.
Many of the authors confronted limitations—in the physical environment, in the resources available, or in the very definition of their requirements—that made it hard even to imagine solutions. Others entered domains where solutions already existed, but brought in a new vision and a conviction that something much better could be achieved.
All the authors in this book have drawn lessons from their projects. But we can also draw some broader lessons after making the long and eventful journey through the whole book.