GEOMETRY
Geometric Calculations
GEOMETRY is a library of FORTRAN77 routines,
using double precision arithmetic,
for geometric calculations in 2, 3 and N dimensional space.
These calculations include angles, areas, containment, distances,
intersections, lengths, and volumes.
Some geometric objects can be described in a variety of ways.
For instance, a line has implicit, explicit and parametric
representations. The names of routines often will specify
the representation used, and there are routines to convert
from one representation to another.
Another useful task is the delineation of a standard geometric
object. For instance, there is a routine that will return
the location of the vertices of an octahedron, and others to
produce a series of "equally spaced" points on a circle, ellipse,
sphere, or within the interior of a triangle.
Related Data and Programs:
DUTCH
is a FORTRAN90 library of routines for computational geometry.
GEOMETRY is also available in
a C++ version and
a FORTRAN90 version and
a MATLAB version.
GEOMPACK
is a FORTRAN90 library of routines for computing the Delaunay
triangulation and Voronoi diagram of 2D data.
TRIANGULATION_DISPLAY_OPEN_GL
is an executable C++ program
which reads files defining a triangulation and displays an image
using Open GL.
TRIANGULATION_TRIANGLE_NEIGHBORS
is an executable FORTRAN90 program
that reads data defining a triangulation, determines the neighboring
triangles of each triangle, and writes that information to a file.
Reference:
-
Gerard Bashein, Paul Detmer,
Centroid of a Polygon,
in Graphics Gems IV,
edited by Paul Heckbert,
AP Professional, 1994,
ISBN: 0123361559,
LC: T385.G6974.
-
SF Bockman,
Generalizing the Formula for Areas of Polygons to Moments,
American Mathematical Society Monthly,
Volume 96, Number 2, February 1989, pages 131-132.
-
Adrian Bowyer, John Woodwark,
A Programmer's Geometry,
Butterworths, 1983,
ISBN: 0408012420.
-
Paulo Cezar Pinto Carvalho, Paulo Roma Cavalcanti,
Point in Polyhedron Testing Using Spherical Polygons,
in Graphics Gems V,
edited by Alan Paeth,
Academic Press, 1995,
ISBN: 0125434553,
LC: T385.G6975.
-
Daniel Cohen,
Voxel Traversal along a 3D Line,
in Graphics Gems IV,
edited by Paul Heckbert,
AP Professional, 1994,
ISBN: 0123361559,
LC: T385.G6974.
-
Thomas Cormen, Charles Leiserson, Ronald Rivest,
Introduction to Algorithms,
MIT Press, 2001,
ISBN: 0262032937.
-
Marc deBerg, Marc Krevald, Mark Overmars,
Otfried Schwarzkopf,
Computational Geometry,
Springer, 2000,
ISBN: 3-540-65620-0.
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1.
-
James Foley, Andries vanDam, Steven Feiner, John Hughes,
Computer Graphics, Principles and Practice,
Second Edition,
Addison Wesley, 1995,
ISBN: 0201848406,
LC: T385.C5735.
-
Martin Gardner,
The Mathematical Carnival,
Knopf, 1975,
ISBN: 0394494067
-
Priamos Georgiades,
Signed Distance From Point To Plane,
in Graphics Gems III,
edited by David Kirk,
Academic Press, 1992,
ISBN: 0124096735,
LC: T385.G6973.
-
Branko Gruenbaum, Geoffrey Shephard,
Pick's Theorem,
The American Mathematical Monthly,
Volume 100, Number 2, February 1993, pages 150-161.
-
John Harris, Horst Stocker,
Handbook of Mathematics and Computational Science,
Springer, 1998,
ISBN: 0-387-94746-9,
LC: QA40.S76.
-
Barry Joe,
GEOMPACK - a software package for the generation of meshes
using geometric algorithms,
Advances in Engineering Software,
Volume 13, 1991, pages 325-331.
-
Jack Kuipers,
Quaternions and Rotation Sequences,
Princeton, 1998,
ISBN: 0691102988.
-
Robert Miller,
Computing the Area of a Spherical Polygon,
in Graphics Gems IV,
edited by Paul Heckbert,
Academic Press, 1994,
ISBN: 0123361559,
LC: T385.G6974.
-
Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0-12-519260-6,
LC: QA164.N54.
-
Atsuyuki Okabe, Barry Boots, Kokichi Sugihara, Sung Nok Chiu,
Spatial Tesselations:
Concepts and Applications of Voronoi Diagrams,
Second Edition,
Wiley, 2000,
,
LC: QA278.2.O36,
ISBN: 0-471-98635-6.
-
Joseph ORourke,
Computational Geometry,
Second Edition,
Cambridge, 1998,
ISBN: 0521649765,
LC: QA448.D38.
-
Edward Saff, Arno Kuijlaars,
Distributing Many Points on a Sphere,
The Mathematical Intelligencer,
Volume 19, Number 1, 1997, pages 5-11.
-
Peter Schorn, Frederick Fisher,
Testing the Convexity of a Polygon,
in Graphics Gems IV,
edited by Paul Heckbert,
AP Professional, 1994,
ISBN: 0123361559,
LC: T385.G6974.
-
M Shimrat,
Position of Point Relative to Polygon,
ACM Algorithm 112,
Communications of the ACM,
Volume 5, Number 8, page 434, August 1962.
-
Kenneth Stephenson,
Introduction to Circle Packing,
The Theory of Discrete Analytic Functions,
Cambridge, 2005,
ISBN: 0521823560,
LC: QA640.7S74.
-
Allen VanGelder,
Efficient Computation of Polygon Area and Polyhedron Volume,
in Graphics Gems V,
edited by Alan Paeth,
AP Professional, 1995,
ISBN: 0125434553,
LC: T385.G6975.
-
Daniel Zwillinger, Steven Kokoska,
Standard Probability and Statistical Tables,
CRC Press, 2000,
ISBN 1-58488-059-7.
Source Code:
Examples and Tests:
List of Routines:
-
ATAN4 computes the inverse tangent of the ratio Y / X.
-
POLAR_TO_XY converts Polar to Cartesian coordinates.
-
R8_UNIFORM returns a scaled pseudorandom R8.
-
R8_UNIFORM_01 returns a unit pseudorandom R8.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
XY_TO_POLAR converts Cartesian to Polar coordinates.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 10 January 2007.