https://github.com/maosong2022/computation-geometry
Some algorithms in computation geometry
https://github.com/maosong2022/computation-geometry
algorithm geometry
Last synced: 4 months ago
JSON representation
Some algorithms in computation geometry
- Host: GitHub
- URL: https://github.com/maosong2022/computation-geometry
- Owner: MaoSong2022
- Created: 2023-06-06T15:00:56.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-07-31T09:07:01.000Z (over 2 years ago)
- Last Synced: 2025-08-11T20:04:48.875Z (4 months ago)
- Topics: algorithm, geometry
- Language: C++
- Homepage: https://maosong2022.github.io/Computation-Geometry/
- Size: 438 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Computation-Geometry
An C++ based computation geometry library, used to find the relationship between geometry shapes.
For details of implemented algorithms, check the github pages generated by [doxygen](https://www.doxygen.nl/):
https://maosong2022.github.io/Computation-Geometry/index.html
# Usage
To use this repository, first clone the repository:
```shell
git clone https://github.com/MaoSong2022/Computation-Geometry.git
cd Computation-Geometry/
```
then, navigate the `src/main.cpp` to view how to use algorithms.
You may modify the `main.cpp` to do something.
After modification, use [CMake](https://cmake.org/) to build the project:
```shell
# in root directory
mkdir build && cd build
cmake ..
cmake --build .
```
after building the project, you can run the program:
```shell
# in build directory
./src/Computation_Geometry_run
```
# Test
We use [googletest](https://github.com/google/googletest) as our test framework.
To check the test results, after building the project, run
```shell
# in build directory
ctest
```
to see the overall results.
For details of the project, run
```shell
# in build directory
./test/Computation_Geometry_test
```
to check the details of each test.
# Project Status
Done:
- [x] Implementation of GJK algorithm
- [x] Implementation of Separate Axis Theorem algorithm
- [x] add other collision detection algorithms
- [x] AABB-surrogate
- [x] circle-surrogate
Todo:
- [ ] add computations of distance if two shapes do not collide.
- [ ] add more test
- [ ] extend 2d to 3d
# Acknowledgement
When generating the github pages, I referred to the tutorial given by [Github-Documentation-With-Doxygen](https://github.com/satu0king/Github-Documentation-With-Doxygen).