diff --git a/README.md b/README.md index 3a22075..3f8d058 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,57 @@ -# Nurbs curve surface intersection check +# NurbsIntersection -## Dependencies +NURBS 曲线-曲面求交算法。实现 NURBS 几何体之间的求交计算,支持 BVH 加速和牛顿迭代优化。 -**STL**, **Libigl**, **Eigen** and the dependencies of the **igl::opengl::glfw::Viewer (OpenGL, glad and GLFW)**. The CMake build system will automatically download libigl and its dependencies using CMake FetchContent, thus requiring no setup on your part. +## 功能 +- NURBS 曲线与曲面求交 +- BVH(包围体层次结构)加速求交计算 +- 牛顿迭代法精确求解交点 +## 依赖 -## Platform +- **libigl**:几何处理与可视化(GLFW + OpenGL) +- **Eigen3**:线性代数 +- **STL**:C++ 标准库 -The project could run both on Linux and Windows. +## 平台 -## Compile -``` -mkdir build -cd build +支持 Linux 和 Windows。 + +## 编译 + +```shell +mkdir build && cd build cmake .. -make #if you are using visual studio, find the .sln project and build it. +make ``` -## Run +Windows 下使用 Visual Studio: +```shell +cmake -G "Visual Studio 17 2022" .. +# 打开生成的 .sln 文件编译 ``` -You could check out examples/ for more details. -If you are using Visual Studio in Windows Platform, please choose one of the example project as a setup project then run it. -``` \ No newline at end of file + +## 运行 + +参考 `examples/` 目录中的示例程序。 + +## 目录结构 + +``` +. +├── include/ +│ ├── bvh.hpp # BVH 加速结构 +│ ├── intersection.hpp # 求交核心算法 +│ ├── newton.hpp # 牛顿迭代求解 +│ └── show_libigl.hpp # libigl 可视化 +├── src/ # 对应实现文件 +├── examples/ # 示例程序 +├── cmake/ +│ └── libigl.cmake # libigl 自动下载 +└── CMakeLists.txt +``` + +## 作者 + +李采月