# IGATrimGauss 等几何分析(IGA)中裁剪 NURBS 曲面上的高斯积分点计算。在裁剪曲面上生成背景网格并计算高精度数值积分规则,用于 IGA 有限元装配。 ## 功能 - 裁剪 NURBS 曲面的读取与处理 - 裁剪区域背景网格生成 - 裁剪单元上的高斯积分点计算 - 多种稀疏线性求解器(CHOLMOD、Eigen) ## 依赖 - **libigl**:几何处理与可视化(GLFW) - **Eigen3**:线性代数 - **SuiteSparse**:CHOLMOD 稀疏求解器 - **spdlog**:日志输出 - **fmt**:字符串格式化 - **MshIO**:网格文件读写 ## 编译 ```shell mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. make ``` ## 目录结构 ``` . ├── src/ │ ├── main.cpp # 主程序入口 │ ├── readnurbs.cpp # NURBS 曲面读取 │ ├── Config.cpp # 配置参数 │ ├── CreateBgMesh.cpp # 背景网格生成 │ ├── drawstuff.cpp # 可视化(OpenGL) │ └── LinSysSolver/ # 线性求解器(CHOLMOD、Eigen) ├── cmake/ ├── external/ │ ├── glm/ # OpenGL 数学库 │ └── MshIO/ # 网格 IO └── CMakeLists.txt ``` ## 相关方向 - 等几何分析(Isogeometric Analysis, IGA) - 裁剪曲面数值积分 - NURBS 几何处理 ## 作者 李采月