Skip to main content

Adaptive Precision Floating-Point Arithmetic and Fast Robust Predicates for Computational Geometry for Python

Project description

geompreds - A Python wrapper for 2D predicates of Jonathan Richard Shewchuk

Many computational geometry applications use numerical tests known as the orientation and incircle tests. The orientation test determines whether a point lies to the left of, to the right of, or on a line or plane defined by other points. The incircle test determines whether a point lies inside, outside, or on a circle defined by other points. [Adaptive Precision Floating-Point Arithmetic and Fast Robust Predicates for Computational Geometry].


  • Download the source

  • Run python install (or python develop)

  • Run python test/ to run the tests.


>>> from geompreds import orient2d, incircle
>>> orient2d( (0, 0), (10, 0), (10, 10)) # left turn (positive), looking from above
>>> orient2d( (0, 0), (10, 0), (20, 0)) # straight (zero)
>>> orient2d( (0, 0), (10, 0), (10, -10)) # right turn (negative), looking from above
>>> incircle((0,0), (10,0), (0,10), (0,10)) # on boundary
>>> incircle((0,0), (10,0), (0,10), (1,1)) # inside, value positive
>>> incircle((0,0), (10,0), (0,10), (-100,-100)) # outside, value negative


See CHANGES.txt.

Bug reports

If you discover any bugs, feel free to create an issue on Bitbucket.

Please add as much information as possible to help us fixing the possible bug. We also encourage you to help even more by forking and sending us a pull request.

The issue tracker lives here.



MIT License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geompreds-1.0.2.tar.gz (52.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page