摘要 针对三维扫描数据点的曲面重构技术在实际系统中的应用,本文提出了一种nurbs曲面构造方法,该方法根据已知数据点逼近目标曲面。通过实际系统应用验证,该方法是一种行之有效的曲面拟合方法。
关键词 数据点 曲线和曲面 重构 算法
0 引言
扫描设备使用某种有组织的方式频繁地扫描目标物体,产生多行数据点,这些行可能包含有相同或不同的数据点数,每行点的分布可能有较大的变化。本文基于曲面逼近理论,给出了一种nurbs曲面构造方法,用来合成目标曲面,并在自行开发的曲面造型系统中得到了验证。
给出已知数据点的格式如下:
q
i,j i=0…n, j=0…m
i
所求曲面为幂次(p,q)的nurbs曲面。已知数据点既不保证具有一个矩形拓朴结构,也不保证沿着每行均匀分布,在曲面拟合的过程中,主要解决两个关键的问题,第一是:彼此独立的每行数据点的曲线逼近;第二是:通过合适的节点矢量的控制避免数据量的大量增加。
1 曲线曲面逼近的基本理论
将nurbs曲面表示成有理基函数形式为:
上式中,p
i,j为控制顶点,n
i,k(u)、n
j,l(v)分别为u,v方向的k次和l次b样条基函数,w
i,j为权因子。权因子的加入虽然可以增加对曲面的局部控制能力,但权因子的选取缺乏明显的几何意义,为简化计算将权值赋1,使式(1)中的分母为1,消除有理式,简化求解过程。对曲面的u,v方向的次数选取从使用和表示的效果两方面考虑,取k=l=3,即工程中常用的三次曲面。曲面上u,v方向的节点序列的确定中,使每一序列的前端和后端的重复度为3,保证曲面的边缘控制点和型值点融合,中间内节点的选取上考虑数据点分布不均匀,采用了累积弦长法。通过上述权值、节点、次数的赋值,式(1.1)改变为:
2 曲线逼近
构成曲面的前提是必需对构成曲面的曲线作逼近处理,该处理过程包括曲线的计算、参数的计算、节点的选择和节点矢量的控制几个方面:
2.1 最小二乘曲线逼近
曲线逼近问题可表述如下:
给出一系列数据点r,r=0…m和预定义参数t
0,…,t
m以及预定义节点矢量u,
2.2 参数和节点的计算
参数的计算与节点的选择是相互影响的,如果选择了不合适的参数,那么节点就不可能被正确地选择,在实际应用过程中,通常采用累积弦长参数化方法:
为控制曲线误差在允差范围之内,常把最小二乘曲线拟合的过程使用作一个迭代过程,用来调整控制点的最大下标索引值n及参数值t。该迭代过程依赖于一个初始参数,而在已知大量数据点的前提下,采用累积弦长参数化方法所得到的参数值优于使用其它方法得到的参数值,故采用累积弦长参数化方法是一个较好的选择。
节点矢量的确定在有关文献中曾提出了许多种方法,实践表明可以通过对插值过程中使用的节点求取平均值的方法来得到所需的节点值。该算法表述如下:
(1)输入参数值t
r,r=0,…m,p是所求曲线的幂次,n是控制点最大下标索引值;
(2)i从0到p循环执行
u
i=t
0
u
n+i+1=t
m
结束i循环
(3)对变量nc赋初值为n-k-l
对变量inc赋初值(m+1)/(nc+1)
对变量begin、end赋值为0
(4)i从0到nc循环执行
d增加步长值inc
end取值为最接近d的整数
sum赋初值为0
j从begin到end循环执行
sum对参数t
j求和
w
i赋值为sum/(end-begin+1)
begin赋值为end+1
结束i循环
(5)对变量is赋初值为1-k
对变量ie赋初值为nc-p+1
对娈量r赋初值为p
(6)i从is到ie循环执行
js取值为0和i中的较大数
je取值为nc和i+p-1中的较小数
r增加单位长度1
sum赋值为0
j从js到je循环执行
sum对w
j求和
下标为r的节点值u
r赋值为sum/(je-js+1)
结束i循环
(7)输出节点矢量
节点矢量的选择对于曲线逼近到给定误差范围来说是非常关键的,要使误差越小,则要求n越接近于m值,反之也要求矢量尽量接近于插值曲线的节点矢量,否则,所得曲线可能出现变形和不稳定。
2.3 曲线逼近过程中节点矢量的控制
图1.1 选择节点矢量后生成的曲线(n=6,p=3)
从图上可以看出,尽管节点矢量的值有一定的偏差,但曲线并没有明显的偏移。实践表明,取per为100%,几乎可适用于所有的实际应用过程。
通过节点矢量的控制,使得各条曲线具有许多共同的节点,在作曲线兼容性处理时,仅有很少的节点需要被插入,从而使得合成曲面的节点数得到有效控制。
2.4 期望精度内的曲线逼近
要使一条成功拟合的曲线更简洁,应该尽可能减少控制顶点数,另一方面又要保证每一条拟合曲线的偏差不超出期望精度的范围,这样拟合而成的曲线,即在允差内由最少的控制顶点数定义的曲线称为优化曲线。在前面讨论的曲线逼近算法中已预先确定控制顶点数,在实际应用过程中,控制顶点数需根据所要求的误差范围来确定。下面是对上述算法的改进:
(1) 根据采样数据点计算参数值;
(2) 初始定义控制顶点数,用上述逼近算法作曲线逼近,同时相应地修改候选节点矢量;
(3) 计算曲线误差,根据误差来调整控制顶点数,使误差控制在给定范围ε之内;
(4) 通过增加新的节点来修改候选节点矢量;
(5) 输出所得曲线c及修改后节点矢量u
由于无法确定逼近已知数据点的曲线所需的控制顶点数,故最初给出一个近似的估计,然后使用前面讨论的逼近算法的一个迭代过程来调整曲线误差及相应的控制顶点数,最后得到所需曲线和增加相应节点后的节点矢量。
如果每一条拟合曲线的误差均小于误差精度,同时使用最少的控制顶点数,则拟合成功,否则是不成功的,需要调整控制顶点数,可用二分控制顶点数间隔范围的查找法来实现。
3 曲面逼近
综上所述,曲面逼近过程可表述如下:
图1.2所示即为拟合而成的曲面。
图1.2 拟合而成的曲面
4 结论
本文提出了一种根据已知数据点逼近曲面的方法,实践表明,该方法不失为一种行之有效的曲面拟合方法。在三维扫描数据点的曲面重构技术应用领域中具有较好的实用意义。
参考文献
[1] 张宏伟,赵小松,张国雄.三维曲面重构技术[j].
天津大学学报(自然科学与工程技术版),2002,(02):50-53.
[2] 王枫红,郑时雄,陈锦昌.逆向工程中自由曲面重构的算法探讨[j].
现代制造工程,2002,(11):66-68.
[3] 王英惠,赵汝嘉.逆向工程中自由曲面的自适应采样与建模[j].小型微型计算机系统,2002,(11):126-128.
[4] 田竹友,简斌.逆向工程中逐层扫描数据的近似蒙面算法.北京机械工业学院学报,2004.
[5]
曲学军,宁涛,席平.逆向工程中平面轮廓线数据的b样条曲面拟合.计算机工程,2004.
[6] 付剑晶,李在伟.复杂曲面造型原理及其工程应用.计算技术与自动化,2004.
本文链接:http://www.qk112.com/lwfw/jsjlw/xinxiguanli/259640.html