B_SPLINE -- B样条平滑

类型

数学函数

描述

TABLE中的数据进行B样条平滑。

语法

B_SPLINE(type, data_start, points, data_out, ratio)

type:类型,目前只支持1-B样条

data_start:图形数据在TABLE中的起始位置

points:图形数据的个数

data_out:平滑后的图形数据在TABLE中起始位置

ratioB_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个控制点

 

起点、dtoutcontrol1dtoutcontrol2、终点一起构成贝塞尔的4个控制点。

适用控制器

通用

例子

例一 type1

B_SPLINE(1,0,10,100,10)    '平滑一个10点的图形数据,源图形点在table的位置为从09,平滑为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)