### B_SPLINE -- B 样条平滑

类型 | 数学函数
描述 | 将 TABLE 中的数据进行 B 样条平滑。
语法 | B_SPLINE(type, data_start, points, data_out, ratio) type：类型，目前只支持 1-B 样条 data_start：图形数据在 TABLE 中的起始位置 points：图形数据的个数 data_out：平滑后的图形数据在 TABLE 中起始位置 ratio：B_SPLINE 函数的平滑比率，平滑后的个数为 points * ratio 新增加样条控制点的自动计算功能，此功能配合 MOVESPLINE 样条曲线运动使用，4 系列以上产品支持，4 系列控制器固件版本 20170621 B_SPLINE(type, axises, dtstartpos, dtendpos, dtlastpos, dtnexpos, dtoutcontrol1, dtoutcontrol2) type： 1 兼容原来的功能 11 为连续线段的第一条线段计算样条拟合的控制点. 12 为连续线段的中间线段计算样条拟合的控制点. 13 为连续线段的最后一条线段计算样条拟合的控制点. axises：参与样条插补的轴数 dtstartpos：线段起点坐标位于的 table 数组索引，多个轴连续存储不同的 table，下同 dtendpos：线段终点坐标位于的 table 数组索引 dtlastpos：线段起点的前面点的坐标索引，用于计算参考，第一条线段此参数无用 dtnexpos：线段终点的后面点的坐标索引，用于计算参考,最后一天线段此参数无用 dtoutcontrol1：输出样条的控制点数据，贝塞尔的第 1 个控制点(起点也作为控制点除外) dtoutcontrol2：输出样条的控制点数据，贝塞尔的第 2 个控制点 起点、dtoutcontrol1、dtoutcontrol2、终点一起构成贝塞尔的 4 个控制点。
适用控制器 | 通用
例子 | 例一 type1 B_SPLINE(1,0,10,100,10) '平滑一个 10 点的图形数据，源图形点在 table 的位置为从 0 到 9，平滑为 100 点的数据，并且平滑后的数据从 table 地址 100 开始存放 例二 新增模式 TABLE(0,0,0,0,100,100,100,200,100) 'XY 两轴连续 4 点的坐标数据 B_SPLINE(11, 2, 0, 2, -1, 4, 100,200) '第 1 条线段 ?TABLE(100),TABLE(101),TABLE(200),TABLE(201) B_SPLINE(12, 2, 2, 4, 0, 6, 100,200) '第 2 条线段 ?TABLE(100),TABLE(101),TABLE(200),TABLE(201) B_SPLINE(13, 2, 4, 6, 2, 6, 100,200) '第 3 条线段 ?TABLE(100),TABLE(101),TABLE(200),TABLE(201)