Open source package for computational geometry
Project description
CGEO
This project is a collection of several algorithms and applications of computational geometry.
It is built for quick and easy use of well-known performance-oriented algorithms and important data structures in the field of computational geometry in any Python program.
This is an ongoing project, some features are done and ready, and some are under construction.
Features
You can find the followong algorithms available:
- Convex Hull
- Gift-Wrapping Convex Hull by Jarvis march
- Grahm-Scan Convex Hull by Ronald Graham
- Devide & Conquer Convex Hull
- Segmentation Intersection
- Polygon Triangulation
- Shapes
- Balanced Binary Segment Tree
- Smallest Enclosing Disc
All the algorithms are implemented using c++. But a user can use this source code as a C++ extension for a Python program.
The source code is wrapperd with pybind11, and you can find multiple code-examples of python programs with the wrapped package via the following link.
How To Run
For some running examples you can checkout the examples directory which has some cool examples for each class and algorithm. And you can also run each one of it by yourself.
I suggest reading the relevant examples before trying to use the functionality by yourself.
You can use this project in one of the following options:
As a submodule within your repository with the following steps:
- Link the repository to your own repo with
git submodule add https://github.com/tomsabala/CGEO
. - Enter the
CGEO
directory.
2.1) Update the pybind11 extension withgit submodule update --init
.
2.2) Build the package with./run.sh
.
Clone this repo, to your local machine:
- Clone repo:
git clone git@github.com:tomsabala/CGEO.git
. - Enter the
CGEO
directory.
2.1) Update the pybind11 extension withgit submodule update --init
.
2.2) Build the package with./run.sh
.
You can import the library in any *.py
file with from CGEO.build import libGeo_2D
.
In order to run your file.py
program:
- Set the path for user defined modules with
export PYTHONPATH=.
. - Execute program
python file.py
.
::notice that the run.sh
shell script includes some linux os commands. If you are under windows OS, build the library using the suitable commands.
After scanning dependencies and build are finish, you can use it as an extension in your own python environment.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cgeo-0.1.4.tar.gz
.
File metadata
- Download URL: cgeo-0.1.4.tar.gz
- Upload date:
- Size: 413.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61dd0e816d3533d3c871418b151c11642c4f553a538e3252015dc41b63d55548 |
|
MD5 | 300ee545d5b7ea21362365bfbdb43dd7 |
|
BLAKE2b-256 | c5cb8128efb4ee161c47e0b1c8c594058008881e755f34482bf0e02674e99fbf |