Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/khuyentran1401/voronoi-diagram
Implementation of voronoi diagram with incremental algorithm
https://github.com/khuyentran1401/voronoi-diagram
algorithms-and-data-structures data-structures dcel-subdivision incremental-algorithm python voronoi-diagram
Last synced: 29 days ago
JSON representation
Implementation of voronoi diagram with incremental algorithm
- Host: GitHub
- URL: https://github.com/khuyentran1401/voronoi-diagram
- Owner: khuyentran1401
- Created: 2020-06-02T13:19:18.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-06-10T13:54:26.000Z (over 4 years ago)
- Last Synced: 2024-11-15T05:32:30.202Z (about 1 month ago)
- Topics: algorithms-and-data-structures, data-structures, dcel-subdivision, incremental-algorithm, python, voronoi-diagram
- Language: Jupyter Notebook
- Size: 5.71 MB
- Stars: 13
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Voronoi-diagram
Implementation of voronoi diagram with incremental algorithm
## Description of files
* [line_intersection.py](/line_intersection.py): Determine whether 2 lines intersect
* [bisector.py](/bisector.py): Define how to create the bisector and the functions realated to it such as finding intersection
* [xygraph.py](/xygraph.py): Create the empty frame for the initial double connected edgelist
* [dcel.py](/dcel.py):
* Double connected edge list implemetation
* Update new points
* [voronoid.py](/voronoid.py): Initalize the double connected edgelist and add new points
* [drawvoronoid.py](/drawvoronoid.py): Draw the voronoi diagram
* [plot.ipynb](/plot.ipynb): Import and visualize the datapoints
* [Hospital.ipynb](/Hospital.ipynb): Extract latitudes and longitudes of hospitals from the map then visualize them with Voronoi## How to Import and Run the Algorithm
To try out this algorithm with your data points, run
```python
from voronoid import Xygraph
from drawvoronoid import plotVoronoipoints = [(0, 1), (1, 8), (9, 0), (9, 4), (10, 10)]
plotVoronoi(points, -1, 13, -1, 11)
```
![image](https://github.com/khuyentran1401/Voronoi-diagram/blob/master/Screenshot%20from%202020-06-08%2023-31-46.png)