Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thchang/delaunayfan
Compute the umbrella neighbourhood of a vertex in the Delaunay triangulation, or equivalently, the Voronoi cell of a single site.
https://github.com/thchang/delaunayfan
Last synced: about 1 month ago
JSON representation
Compute the umbrella neighbourhood of a vertex in the Delaunay triangulation, or equivalently, the Voronoi cell of a single site.
- Host: GitHub
- URL: https://github.com/thchang/delaunayfan
- Owner: thchang
- License: mit
- Created: 2018-07-07T03:55:45.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-20T16:46:53.000Z (about 4 years ago)
- Last Synced: 2024-10-09T12:58:29.685Z (3 months ago)
- Language: Fortran
- Size: 305 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Delaunay Fan
Compute the umbrella neighbourhood of a single vertex in the Delaunay
triangulation or (equivalently) a single Voronoi cell, without
computing the entire Delaunay triangulation.
Designed for usage in arbitrary dimension.
This research code is written in Fortran 2008 and is based on the algorithm
described in:T. H. Chang, L. T. Watson, T. C.H. Lux, S. Raghvendra, B. Li, L. Xu,
A. R. Butt, K. W. Cameron, and Y. Hong. Computing the umbrella
neighbourhood of a vertex in the Delaunay triangulation and a single
Voronoi cell in arbitrary dimension. In Proceedings of IEEE Southeast
Conference 2018 (SEC 2018). IEEE, St. Petersburg, FL, 2018.Because some degeneracy issues could not be resolved, this code is not
robust for degenerate or near-degenerate inputs.## Getting Started
### Dependencies
DELAUNAYFAN depends on several procedures from BLAS and LAPACK.
For optimal performance, link a system installation using
```
-lblas
```
and
```
-llapack
```
Alternatively, minimal copies of BLAS and LAPACK are provided in the files
blas.f and lapack.f.### Contents
- delaunayfan.f90 contains the main subroutine DELAUNAYFAN
- delaunayneighbors.f90 contains a slight modification to DELAUNAYFAN,
DELAUNAYNEIGHBORS, which returns the indices of the Delaunay neighbors,
but not the simplices
- AFL.f90 contains the source code for the face list data structure described in Chang et. al, as well as a subset of the Vector class (see thchang/VectorClass)
- blas.f contains a minimal copy of BLAS, containing only the procedures required by delaunayfan.f90
- lapack.f contains a minimal copy of LAPACK, containing only the procedures required by delaunayfan.f90
- test\_fan.f90 contains driver code generating a command line program for
DELAUNAYFAN
- test\_neighbors.f90 contains driver code generating a command line program
for DELAUNAYNEIGHBORS
- Makefile for building the code using the gfortran compiler
- SAMPLE-2D-20N.dat contains a pseudo-randomly generated input set in
2-dimensions containing 20 vertices/input points
- SAMPLE-4D-43N-DEGEN.dat contains a degenerate dataset from a real world
problem in 4D with 43 data points. DELAUNAYFAN and DELAUNAYNEIGHBORS
throw errors (IERR=40) when run on these datasets.
- delvor-ieeesec.pdf contains a detailed description of the algorithm### Compiling and Testing
Use the included Makefile to compile the main program and all the subroutines (requires gfortran):
```
make -B
```
Then, try running the sample executable with the provided input file:
```
./delfan 2 20 [any integer from 1-20] SAMPLE-2D-20N.dat
```## Authors
* **Tyler H. Chang** - *Primary author*
For other authors, see the reference.
## Reference
To cite this work, use:
```
@inproceedings{chang2018computing,
author={T. H. Chang and L. T. Watson and T. C. H. Lux and S. Raghvendra and B. Li and L. Xu and A. R. Butt and K. W. Cameron and Y. Hong},
booktitle={Proceedings of SoutheastCon 2018},
title={Computing the Umbrella Neighbourhood of a Vertex in the {D}elaunay Triangulation and a Single {V}oronoi Cell in Arbitrary Dimension},
year={2018},
pages={1-8},
publisher = {IEEE},
location = {St. Petersburg, FL, USA},
doi={10.1109/SECON.2018.8479003},
month={April}
}
```## Related Work
If you found this work interesting, you may also consider
https://github.com/vtopt/DelaunaySparse