北京东方嘉宏机电技术有限责任公司
Beijing DFJZH Mechanical & Electrical technology Co.,Ltd
设为首页
站长信箱
  • 联系我们
  • 留言中心
  • 技术资料
  • 下载中心
  • 产品展示
  • 新闻中心
  • 公司简介
  • 首页
  • 今天是:
新闻分类
推荐新闻
图片新闻
  当前位置:首页 >> 新闻中心 >> 技术资料 >> 查看新闻
NURBS曲线详解
作者:dfjzh  来源:本站  发表时间:2009-8-17 10:57:20  点击:11812

NURBS(Non Uniform Rational B-spline)曲线通常称为非均匀有理B样条曲线,其数学定义如下:

基函数由递推公式定义:

非均匀:指节点向量的值与间距可以为任意值。这样我们可以在不同区间上得到不同的混合函数形状,为自由控制曲线形状提供了更大自由。均匀与非均匀的主要区别在于节点向量的值。如果适当设定节点向量,可以生成一种开放均匀样条,它是均匀与非均匀的交叉部分。开放样条在两端的节点值会重复d次,其节点间距是均匀的。例如:
{0,0,1,2,3,3},(d=2,n=3)
{0,0,0,1,2,2,2},(d=4,n=4)
开放均匀B样条与贝泽尔样条性质非常类似,如果d=n+1(即多项式次数为n),那么开放B样条就变成了贝泽尔样条,所有节点值为0或1。如四个控制点的三次开放B样条,节点向量为:{0,0,0,0,1,1,1}。
  有理B样条:有理函数是两个多项式之比,有理样条(rational spline)是两个样条函数之比,有理B样条用向量描述。
URBS曲线由以下三个参数定义:
(1) 控制点 :确定曲线的位置,通常不在曲线上,形成控制多边形。(见图1,图中

       
图1  控制点移动对曲线的影响

(2) 权因子 :确定控制点的权值,它相当于控制点的“引力”,其值越大曲线就越接近控制点(见图2,Bi为控制点)。

               
       图2 曲线随权因子变化

(3) 节点矢量K:NURBS曲线随着参数K的变化而变化,与控制顶点相对应的参数化点K称为节点,节点的集合Ki:[K0,K1…,Kn…,Kn+m+1]称为节点矢量。
节点:在曲线上任意一点有多于一个控制点产生影响(除了bezier的端点),节点就象一种边界,在这个边界上一个控制点失去影响作用,另一个控制点取得影响。

2、NURBS曲线怎样通过首末节点
多重节点序列使得样条曲线更靠近于重复节点位置。如果末端节点重复d+1次,则d阶B-样条必须插值最后一个控制点。因此,解决样条曲线不能横跨整个控制顶点序列的一个方法是,重复首尾两个节点,这样得到的样条曲线将插值首尾两个控制点。

对于非周期的样条,节点矢量为

 
即节点矢量两端各有m+1个相同的节点,以便曲线通过控制多边形首、末端点,并与首、末两边相切。

(参考系统编程篇§2.7程序示例)

3、NURBS曲线轨迹的矩阵计算法及矩阵表示
   因NURBS样条函数的节点参数沿参数轴的分布是不等距的,不同节点矢量形成的B样条基函数各不相同,需要单独计算,且算法中又增加了权因子,所以曲线轨迹点的计算较为复杂、费时,为了提高NURBS曲线插补的实时性,在实时插补前需进行必要的预处理,其主要任务是确定NURBS曲线轨迹计算公式的有关系数,以简化实时插补的计算量。
  若曲线采用三次NURBS形式表示(三次与K次计算方法相同,表达式不同),即K=3, ,则第i段曲线可以写成下列矩阵形式:
   

整理可得:
   

   由于控制点di及权因子Wi 均已知,而 Mi仅与节点向量有关,也是确定的, Ci与 Mi、Wi、di 有关,即也是确定的,故式中各项系数均已知,且与插补点的参数无关,可在插补前一次性求出,因式中i 的取值为3到 n,所以对整条NURBS曲线,可计算出的系数共有n-2 组,在插补中根据插补点所在的位置动态选用相应的系数。


   对于曲线上坐标X、Y、Z分别有:

 

上条新闻:运动控制系统抗干扰分析
下条新闻:火焰切割参数表


访问量:1619598   京ICP备05019329号