【12月学习进度9/31 您所在的位置:网站首页 matlab100个经典案例画B样条曲线 【12月学习进度9/31

【12月学习进度9/31

2024-01-30 20:27| 来源: 网络整理| 查看: 265

B样条曲线的递归定义

B样条曲线与给定的阶数 k k k 和 节点向量都有关 ↓ 即使选取的阶数 k k k 相同,但节点向量不同,则得到的曲线也不同

一些规律: 递推图示:

k k k 阶B样条 N i , k ( u ) N_{i,k}(u) Ni,k​(u) 可由两个 k − 1 k-1 k−1 阶 N i , k − 1 ( u ) , N i + 1 , k − 1 ( u ) N_{i,k-1}(u),N_{i+1,k-1}(u) Ni,k−1​(u),Ni+1,k−1​(u) 递推得到

系数的含义:

系数分别为 u − u i u i + k − 1 − u i \frac{u-u_i}{u_{i+k-1}-u_i} ui+k−1​−ui​u−ui​​ 和 u i + k − u i u i + k − u i + 1 \frac{u_{i+k}-u_i}{u_{i+k}-u_{i+1}} ui+k​−ui+1​ui+k​−ui​​ 分母分别为两个 k − 1 k-1 k−1 阶基函数的支撑区间:

N i , k − 1 ( u ) N_{i,k-1}(u) Ni,k−1​(u) 的支撑区间为 [ u i , u i + k − 1 ) [u_i,u_{i+k-1}) [ui​,ui+k−1​) N i + 1 , k − 1 ( u ) N_{i+1,k-1}(u) Ni+1,k−1​(u) 的支撑区间为 [ u i + 1 , u i + k ) [u_{i+1},u_{i+k}) [ui+1​,ui+k​)

分子为参数 u u u 将 N i , k ( u ) N_{i,k}(u) Ni,k​(u) 的支撑区间 [ u i , u i + k ) [u_i,u_{i+k}) [ui​,ui+k​) 划分为两部分

u − u i {u-u_i} u−ui​ 为参数 u u u 距离左端节点位置 u i + k − u {u_{i+k}-u} ui+k​−u 为参数 u u u 距离右端节点位置

分子(距离)除以分母(区间长度)后,将距离归一化到 ( 0 , 1 ) (0,1) (0,1) 之间 因此, N i , p ( u ) N_{i,p}(u) Ni,p​(u) 是 N i , p − 1 ( u ) N_{i,p-1}(u) Ni,p−1​(u) 和 N i + 1 , p − 1 ( u ) N_{i+1,p-1}(u) Ni+1,p−1​(u) 的线性组合,有两个系数,都在 u u u 上是线性的,在0和1之间。

四阶均匀B样条曲线 1.计算四阶B样条基函数 N i , 4 ( u ) N_{i,4}(u) Ni,4​(u)

根据递推公式计算:

如上图所示,B样条基函数 N i , 4 ( u ) N_{i,4}(u) Ni,4​(u) 由四段三次多项式曲线拼接而成。 四条三次多项式曲线如下图所示: (分别为实线、虚线、点线、点划线)

其中B样条基函数 N i , 4 ( u ) N_{i,4}(u) Ni,4​(u) 曲线为下图中红色曲线:

均匀B样条基函数在曲线定义域内各个节点区间上都有相同图形 (相同公式,其中所有的 u i + 1 − u i u_{i+1}-u_i ui+1​−ui​ 都相同)

上图可以分析B样条的局部控制特性 例: 第一个控制点 P i P_i Pi​ 只与 N i , 4 ( u ) N_{i,4}(u) Ni,4​(u) 相乘(由B样条曲线定义式得),所以其影响 N i , 4 ( u ) N_{i,4}(u) Ni,4​(u) 的支撑区间 ( u i , u i + 4 ) (u_i,u_{i+4}) (ui​,ui+4​) 上的曲线的形状

2. 简化函数形式

以其中一个节点区间 [ u i + 3 , u i + 4 ) [u_{i+3},u_{i+4}) [ui+3​,ui+4​) 为例:

上图中 ( i , j ) (i,j) (i,j) 表示第 i i i 个基函数的第 j j j 段分片

上述公式中很多 u − u i + j u-u_{i+j} u−ui+j​ 形式的因子    ↓    ↓ 令 t j = u − u i + j t_j = u-u_{i+j} tj​=u−ui+j​    ↓ (仍以区间 [ u i + 3 , u i + 4 ) [u_{i+3},u_{i+4}) [ui+3​,ui+4​) 为例) 引入 t 3 = u − u i + 3 t_3 = u-u_{i+3} t3​=u−ui+3​ 则 u i + j ≤ u < u i + j + 1 < = > 0 ≤ t j < 1 u_{i+j} ≤ u < u_{i+j+1} 0≤t_j



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有