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.

28 lines
956 B

2 years ago
# C2C4
2 years ago
Judgment of C2 or C4 intersection of NURBS curve.
## 依赖
+ tinynurbs
## 使用
```C++
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