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].

Installation

  • Download the source
  • Run python setup.py install (or python setup.py develop)
  • Run python test/test_predicates.py to run the tests.

Usage

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

Changelog

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.

Maintainers

License

MIT License

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
geompreds-1.0.2.tar.gz (52.9 kB) Copy SHA256 hash SHA256 Source None Apr 24, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page