Judgment of C2 or C4 intersection of NURBS curve.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Dtouch d9565ae958 initial version 3 years ago
.idea initial version 3 years ago
cmake-build-debug initial version 3 years ago
include initial version 3 years ago
src initial version 3 years ago
.gitignore initial version 3 years ago
CMakeLists.txt initial version 3 years ago
README.md initial version 3 years ago
main.cpp initial version 3 years ago

README.md

C2C4

Judgment of C2 or C4 intersection of NURBS curve.

依赖

  • tinynurbs

使用

    C2C4 c2C4;
    // 按tinynurbs的使用方式配置好左右公有成员的NURBS曲面srf1、srf2的各项属性
    c2C4.srf1.degree_u = 2;
    ...
    c2C4.srf2.degree_u = 2;
    ...
    
    // 检查是否配置成功
    if (!surfaceIsValid(c2C4.srf1) || !surfaceIsValid(c2C4.srf2)) {
        // 曲面相关参数配置有误
        ...
        return -1;
    }
    // 判断C2、C4情形,res.first表示是否为C2,res.second表示为C4
    pair<float, float> res = c2C4.c2OrC4();
    
  • C2情形:3*4的雅可比矩阵:存在一个2阶子式行列式非0+所有3阶子式行列式含0。
  • C4情形:3*4的雅可比矩阵:去掉某一列后不含0(四个有一个即可)(也就是说存在一个3阶子式的行列式不含0)。若为C4,公有成员变量c4ExcludeCols中记录着去掉哪些列后子式行列式不含0