中国农业大学-赵明老师-计算机图形学-moochttps://www.bilibili.com/video/BV1Dt411f7Qj?p=11
目录
一、bezier
1.1 bezier 曲线定义
给定空间中n+1个点, , 叫 n阶n次, 阶数和次数相同,一般说次,阶次概念和spline 不一样, 伯恩斯坦基参数方程为
参数为t, t在 0到1 之间;随着t 的变化,得到bezier 曲线
两个控制点,1次多项式
三个控制点,2次多项式
四个控制点,3次多项式
1.2 bernstein基函数的性质
- 正性
> 0, t ∈ (0,1);
= 0 t = 0,1
- 权性, 基函数有n+1项(和控制点数相同), n+1个基函数的和 正好等于1
3. 端点性质, 保证过第一个点和最后一个点
4. 对称性
n 次伯恩斯坦基 由 2 个 n-1次伯恩斯坦基 比例相加组成
5. 递推性
1.3 bezier 曲线的性质
一阶导数
说明bezier曲线的起点和终点处的切线方向和特征形的第一条边以及最后一条边的走向一致;
1.4 de casteljau 递推公式求解
避免了求解阶乘的负担, 阶次递归增加, 等比例计算
> i: 控制点索引
k: 次(j阶数)数,
比如三次样条
1次: P0 - P1 生成直线P01, P1-P2 生成直线P12, P2-P3 生成直线P23
2次:P01-P12 生成直线P01_12, P12 - P23 生成直线P12_23
3次: 三次直线方程,按比例求即可。
二、spline
spline定义
样条: 分段连续多项式
阶次:K阶 k-1次
支撑区间, bezier 支撑区间是[0,1], spline 支撑区间是k阶,k+1个点
比如,有n+1个点, n+1个点有n个小区间,每两点之间(每个小区间)构造一条多项式(比如三次),这样就有n个三次多项式, 段与段之间要求两次连续(三次多项式有的属性), 这就是三次样条
样条和贝塞尔数学表达式的最大区别在B上,样条的B与定点n+1没有关系,只与K阶有关;
同时u的取值也不同
B_i,k(u)称为K阶(k-1次)B样条基函数
K是刻画次数的,k可以是2到控制点个数n+1之间的任意整数
B样条基函数是一个称为节点矢量的非递减的参数u的序列所决定的k阶分段多项式,这个序列称为节点向量。节点向量个数等于“阶数+顶点”
u_0, ..., u_n+k-1, u_n+k
B样条基函数 de boor_Cox 递推构造,由0次构造1次, 1次构造2次, 2次构造3次...
为了获得第i个K阶B样条B_i,k(u), 需要用到u_i,...u_i+k共k+1个节点, 称为区间[u_i, u_i+k] 为B_i,k(u)的支撑区间
三、多项式最小二乘回归
least-square polynomial fitting using C++ Eigen Package
四、 cubic spline 三次样条曲线插值, 非deboor-cox 方法
无人驾驶汽车系统入门(二十)——基于自由边界三次样条插值的无人车路径生成