spcrv
通过均匀细分生成样条曲线
语法
spcrv(c,k)
spcrv(c)
spcrv(c,k,maxpnt)
说明
spcrv(c,k)
提供具有 B 样条系数 c
的 k
阶均匀 B 样条曲线 f 上各点的稠密序列 f(tt)。这是曲线
其中 B(·|a,...,z) 表示具有节点 a,...,z 的 B 样条,n
是 c
中系数的数目,即 [d,n]
等于 size(c)
。
spcrv(c)
选择阶 k
为 4。
spcrv(c,k,maxpnt)
确保至少生成 maxpnt
个点。要生成的位点 tt
的最大数量的默认值为 100
。
位点序列 tt
均匀填充的参数区间为区间 [k
/2 .. (n-k
/2)]。
输出由数组 f(tt) 组成。
示例
下面将显示一条不确定的虚线及其平滑版本:
points = [0 0 1 1 0 -1 -1 0 0 ; 0 0 0 1 2 1 0 -1 -2]; plot(points(1,:),points(2,:),':') values = spcrv(points,3); hold on, plot(values(1,:),values(2,:)), hold off
算法
重复进行中间节点插入,直到至少有 maxpnt
个位点。有些情况下,使用 fnplt
会更高效。