一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

交通工具外壳造型中NURBS曲线曲面光顺生成方法

2022-11-19 14:47:00 来源:中国专利 TAG:

交通工具外壳造型中nurbs曲线曲面光顺生成方法
技术领域
1.本发明涉及一般的三维模型或者二维模型的数据拟合和光顺处理方法,尤其涉及nurbs曲线曲面光顺的渐进迭代逼近方法。


背景技术:

2.给定离散的数据点集,利用参数曲线曲面进行拟合,得到光顺的曲线曲面是许多领域的基本研究问题。在几何设计领域中,通常需要生成光滑的机翼翼型、船体造型和汽车引擎盖等,因为这些几何特性会极大地影响它们的物理性能。近年来,许多学者深入研究了光顺曲线在机器人路径规划中的应用,这使得如何灵活和高效地进行曲线曲面光顺成为了一个热点问题。
3.传统的光顺方法大致分为两类:全局光顺方法(参见h.hagen,g.-p.bonneau,variational design of smooth rational b
é
zier curves,computer aided geometric design 8,5(1991),393

399.)和局部光顺方法(参见g.farin,g.rein,n.sapidis,a.worsey,fairing cubic b-spline curves,computer aided geometric design 4,1(1987),91

103.)。这两类方法的主要特点是能高效的改变模型的能量值,从而获得光滑的曲线曲面。全局光顺法通常全局地调整能量值,而局部光顺法仅对局部区域进行调整。然而这两类方法,通常缺少足够的参数来微调和提升曲线曲面的光顺性。这使得曲线曲面的光顺过程可控性较差,灵活度较低。因此,精细调整光顺效果的能力是光顺曲线曲面的关键因素。
4.坏点移除法是一种交互式的光顺算法,通过对不满足光顺要求的点进行修改来提高曲线的光顺性(参见j.a.p.kjellander,smoothing of cubic parametric splines,computer aided design 15,3(1983),175

179.)。随后,farin等人首次提出了先节点删除再重新插入的方法以提高修改点的效率。然而,当遇到大量不满足光顺要求的点时,这种局部光顺方法只能进行逐点处理,这使得光顺过程变得十分低效。
5.能量最小化法的基本思想是找到使得曲线曲面能量模型最小的参数模型,从而得到最光滑的曲线曲面。通常,曲线曲面对应的能量值越小,该曲线曲面的光顺度越高、物理性能越好。其中常用的能量包括应变能(参见h.hagen,g.-p.bonneau,variational design of smooth rational b
é
zier curves,computer aided geometric design 8,5(1991),393

399.)、张力能(参见h.pottmann,smooth curves under tension,computer aided design 22,4(1990),241

245.)、和曲率半径的变化(参见t.c.rando,automatic fairness in computer-aided geometric design,ph.d.thesis,aai9102032(1990).)等。能量法虽然可以对参数模型进行全局优化,但在工业设计和制造中采集得到的数据点规模通常较大。能量法的计算耗时并且不能很好地控制拟合效果。
6.vassilev基于上述两种方法,提出了一种自动光顺算法(参见t.i.vassilev,fair interpolation and approximation of b-splines by energy minimization and points insertion,computer aided design 28,9(1996),753

760.)。与之前的方法不同
的是,该方法只在必要的时候才会插入新的点。从而大大减少了问题规模,提高了光顺效率。受这项工作的启发,许多研究者尝试提出更高效地识别坏点和更新能量最小化导出的控制点的方法。


技术实现要素:

7.本发明的目的在于针对现有技术的不足,提出一种交通工具外壳造型中nurbs曲线曲面光顺生成方法。
8.本方法利用了对应每个控制点的光顺权重,生成了可全局或局部调整的光顺曲线(曲面);发明了曲线曲面上差向量在控制点上的聚合方法,即归一化系数,保证了几何迭代光顺算法的收敛性;利用了几何迭代过程中参数便于灵活修改的特性,适用于节点插入,实现更好的光顺权重或数据参数化调整。
9.本发明采用的技术方案如下:
10.1)已知拟合参数模型的模型方程,针对交通工具外壳造型进行逆向工程的数据采集获得数据点集,数据点集通常为通过扫描仪扫描获得的点云。对数据点集参数化获得各个数据点的参数,根据各个数据点的参数处理获得模型方程的节点向量,并选取初始的控制点,由初始的控制点和模型方程的节点向量生成初始的拟合参数模型;
11.2)根据交通工具外壳造型光顺效果的实际要求对拟合参数模型和控制点进行双重迭代优化,获得最优的拟合参数模型,可再用拟合参数模型输入计算机中进行3d打印或者制造。
12.所述的拟合参数模型为nurbs曲线或nurbs曲面。
13.所述步骤2)具体为:
14.2.1)计算拟合参数模型与各个数据点之间的差向量di,i表示数据点的序数,将参数值在一个基函数的支撑域的数据点对应的差向量di分为一组,一组对应设置一个控制点;然后对一组中的所有差向量di进行加权求和,得到该组对应的控制点的拟合向量δj;一组数据点对应设置一个控制点。
15.拟合参数模型的每个控制点对应一个基函数,基函数的非零域作为支撑域。
16.2.2)设置光顺泛函根据光顺泛函获得每个控制点的光顺向量ηj;
17.2.3)根据交通工具外壳造型光顺效果的实际要求设置控制点的光顺权重ωj,并计算控制点的差向量bj:
[0018][0019]
其中,bj表示第j个控制点的差向量,上标k为迭代次数;表示第k次迭代下获得的第j个控制点的光顺向量ηj,表示第k次迭代下获得的第j个控制点的拟合向量δj;
[0020]
2.4)根据步骤2.3)得到的结果,按照以下公式更新控制点的坐标:
[0021][0022]
式中:μj为第j个控制点的归一化系数,以保证迭代收敛;表示第k次迭代的第j个控制点的坐标;
[0023]
2.5)将更新后的控制点的坐标代入拟合参数模型的模型方程,生成新的拟合参数
模型,再计算当前第k次迭代的相对迭代误差
[0024][0025]
a=(i-ω)n
t
n ωdr[0026][0027]
式中:k为迭代次数,i为单位矩阵,ω表示一个以光顺权重ωj为对角元素的对角矩阵,n表示配置矩阵,q为由数据点构成的矩阵,dr是由步骤3)中的光顺泛函构成的矩阵,r是对拟合参数模型的模型方程中的基函数求导的阶数,p
[k]
为第k次迭代后获得的控制点集合,j表示矩阵的第j行;a表示系数矩阵,(j,:)表示取矩阵第j行所有列的元素,||||2表示范数的平方,t表示矩阵的转置;
[0028]
将当前第k次迭代的相对迭代误差与前一次第k-1次迭代的相对迭代误差进行比较判断:
[0029]
若之间的差值小于预设的差值阈值ε
iter
时,则迭代终止,进行下一步骤;
[0030]
若之间的差值不小于预设的差值阈值ε
iter
时,则以新的拟合参数模型回到步骤2.1)进行下一次迭代;
[0031]
2.6)根据上一步骤中迭代终止得到的最新的拟合参数模型,计算相对拟合误差
[0032][0033]
其中,qi表示第i个数据点,i表示数据点的序号,m表示数据点的总数,ti表示第i个数据点的参数,p
[k]
(ti)表示第k次迭代后第i个数据点对应的参数值在拟合参数模型中的值;
[0034]
将相对拟合误差和预设的目标拟合精度ε
fit
进行比较判断:
[0035]
若相对拟合误差未达到目标拟合精度ε
fit
时,则调整拟合参数模型的模型方程的节点向量、调整控制点对应的光顺权重ωj或者调整数据点集的参数化;
[0036]
a)调整拟合参数模型的模型方程的节点向量:对拟合误差较大的区域,采用节点插入算法,按需插入节点,得到新的控制点。
[0037]
a)b)调整控制点对应的光顺权重ωj:修改每个控制点对应的光顺权重。ωj的数值越大,光顺效果越好;反之,拟合效果越好。
[0038]
b)c)调整数据点集的参数化:依照数据点的几何特征,重新参数化。
[0039]
回到步骤2.1)进行下一次迭代;
[0040]
若相对拟合误差达到目标拟合精度ε
fit
时,则最新生成的拟合参数模型作为最终结果
[0041]
由此不断迭代直至生成的拟合参数模型满足所述的目标拟合精度ε
fit
和光顺要求。
[0042]
所述的拟合参数模型为nurbs曲线,所述步骤1)中的nurbs曲线的模型方程为:
[0043][0044]
式中:为随机选取的初始的第j个控制点,t为nurbs(非均匀有理b样条)曲线的参数,nj(t)表示第j个基函数,n表示控制点的总数;p
[0]
(t)表示初始的nurbs曲线,其中上标[0]表示初始拟合曲线,t表示曲线参数。
[0045]
t值不加下标i时,表示一个连续的曲线参数值;加上下标i表示第i个数据点对应的曲线上的第i个数据点ti。t和ti本质表示的都是曲线上的参数。一个是连续值,一个是离散值。
[0046]
所述的拟合参数模型为nurbs曲线,所述步骤2.1)具体为:
[0047]
先按照以下公式计算nurbs曲线p
[k]
(t)与每个数据点qi之间的差向量
[0048][0049]
其中,p
[k]
(ti)表示第k次迭代后第i个数据点的参数值对应的拟合参数模型的值,表示第k次迭代后第i个数据点对应的差向量;
[0050]
然后将参数值在一个基函数的支撑域的数据点对应的差向量分为一组,对一组中所有数据点的差向量取加权和,作为这一组数据点对应的控制点的拟合向量δ
j[k]
,其中加权的权值为第j个基函数ni(t)在nurbs曲线的参数t处的值;
[0051]
2.2)设置光顺泛函根据光顺泛函获得每个控制点的光顺向量ηj。
[0052]
所述的拟合参数模型为nurbs曲线,所述步骤2.2)中,具体按照以下公式获得第j个控制点的光顺向量:
[0053][0054][0055]
式中:t为nurbs曲线的参数,范围是[t1,tm],tm表示第m个参数值,表示利用第j个基函数的r阶导构造的关于第l个基函数r阶导的光顺泛函n
r,j
(t)表示对nurbs曲线的第j个基函数求r阶导的结果,p
l[k]
表示为第k次迭代下的第l个控制点,n
r,l
(t)表示对nurbs曲线的第l个基函数求r阶导的结果,n表示基函数个数,表示第k次迭代后第j个控制点的光顺向量。
[0056]
所述的拟合参数模型为nurbs曲面,所述步骤1)中,曲面相关的数据点集和对应的参数值按曲面上的两个维度方向的顺序排列,将基函数和控制点也按字典序排列,表示为:
[0057]
[0058][0059]
式中:u,v为nurbs曲面上的两个维度方向参数,n1,n2分别为nurbs曲面上u,v方向的控制点个数;分别表示u方向上第n1个基函数,v方向上第n2个基函数,表示控制网格上第n1行第n2列所对应的控制点坐标,表示将所有控制点按上述规则排序后的第n1*n2个控制点,表示将所有基函数按上述规则排序后的第n1*n2个基函数;
[0060]
nurbs曲面的模型方程为:
[0061][0062]
式中:为随机选取的初始的第j个控制点,nj(u,v)表示第j个基函数n(u,v),(u,v)为基函数n(u,v)的参数值;p
[0]
(u,v)表示初始的nurbs曲面。
[0063]
按照上述模型方程生成nurbs曲面。
[0064]
所述的拟合参数模型为nurbs曲面,所述步骤2.1)具体为:
[0065]
先按照以下公式计算nurbs曲面p
[k]
(u,v)与每个数据点qi之间的差向量
[0066][0067]
其中,表示第k次迭代后第i个数据点对应的差向量,p
[k]
(ui,vi)表示第k次迭代后第i个数据点的参数值对应的拟合参数模型的值;
[0068]
然后将参数值在一个基函数的支撑域的数据点对应的差向量分为一组,对一组中所有数据点的差向量取加权和,作为该组数据点对应的控制点的拟合向量δ
j[k]
,其中加权的权值为第j个基函数ni(u,v)在nurbs曲面的参数(u,v)处的值。
[0069]
所述的拟合参数模型为nurbs曲面,所述步骤2.2)中,选择基于一阶偏导的光顺向量、基于二阶偏导的光顺向量、基于三阶偏导的光顺向量中的一个获得控制点的光顺向量,分别为:
[0070]
a)第j个控制点的基于一阶偏导的光顺向量计算为:
[0071][0072]
式中:u,v为nurbs曲面p
[k]
(u,v)上的两个维度方向参数,n1,n2分别为nurbs曲面沿两个方向u,v上的控制点个数;p
l[k]
表示为第k次迭代下的第l个控制点,l表示控制点的序数,表示第k次迭代后的第j个控制点对应的光顺向量;n
u,l
(u,v)、n
v,l
(u,v)分别表示nurbs曲面的第j个基函数nj(u,v)在两个方向u,v上的求一阶偏导的结果,表示u方向第j个一阶偏导光顺泛函,表示v方向第j个一阶偏导光顺泛函;
[0073]
上述两个光顺泛函计算为:
[0074]
[0075][0076]
其中,um表示u方向第m个参数值,vm表示v方向第m个参数值,m表示数据点的序数;
[0077]
b)第j个控制点的基于二阶偏导的光顺向量计算为:
[0078][0079]
式中:n
uu,j
(u,v)、n
uv,j
(u,v)和n
vv,j
(u,v)分别表示表示对第j个nurbs基函数nj(u,v)求二阶偏导的结果,表示第j个第一类二阶偏导光顺泛函,表示第j个第二类二阶偏导光顺泛函,表示第j个第三类二阶偏导光顺泛函;
[0080]
上述三个光顺泛函计算为:
[0081][0082][0083][0084]
c)第j个控制点的基于三阶偏导的光顺向量计算为:
[0085][0086]
式中:n
uuu,j
(u,v)、n
uuv,j
(u,v)、n
uvv,j
(u,v)和n
vvv,j
(u,v)分别表示对第j个nurbs基函数nj(u,v)求三阶偏导的结果,表示第j个第一类三阶偏导光顺泛函,表示第j个第二类三阶偏导光顺泛函,表示第j个第三类三阶偏导光顺泛函,表示第j个第四类三阶偏导光顺泛函;
[0087]
上述四个光顺泛函计算为:
[0088][0089][0090][0091][0092]
具体实施中,在步骤3.3)中控制点的光顺权重ωj对于每个控制点是可以不相同的。特别地,当光顺权重ωj等于一个常数值时,为能量最小化光顺法。
[0093]
步骤6)中迭代终止后,判断当前光顺效果和拟合误差是否达到阈值,若未满足,则全局或局部地插入新节点、调整光顺权重或数据参数化。然后利用前一轮迭代的曲线(曲面)结果作为下一轮迭代的初始曲线(曲面),继续迭代直至满足要求。这样可以得到光顺性高并且拟合误差也满足阈值的nurbs曲线(曲面)。
[0094]
所述的交通工具外壳造型为机翼翼型、船体造型和汽车引擎盖等光滑外壳件,但不限于此。
[0095]
本发明通过调整控制点对应的光顺权重实现了对曲线曲面的精准光顺,提高了光顺操作的灵活性与交互性。同时,几何迭代过程保证了用户在每步迭代后可以全局或局部地修改控制点的权值、节点向量或数据参数化等。
[0096]
本发明与背景技术相比较,其优点在于:
[0097]
1、本发明方法采用丰富的参数,即每个控制点对应一个光顺权重,来精细地调整和提高曲线曲面的光顺性。对于光顺权重的调节可以全局或局部调控光顺的效果,提高了模型光顺过程的可控性。
[0098]
2、本发明方法是一种高效且收敛的迭代算法,大大减少了计算的内存消耗。当所有的光顺权重相等时,本方法等效于能量最小化光顺法。
[0099]
3、本发明方法是一种灵活的、可交互的光顺算法,用户可以在每轮迭代后改变控制点的权重、节点向量或数据参数化等,这大幅度提高了光顺过程的灵活度。
附图说明
[0100]
图1是本发明方法的流程图。
[0101]
图2是实例1中的机翼截面数据点集,初始的控制点集和初始拟合曲线。
[0102]
图3是实例1中拟合曲线和拟合曲线的曲率杆图。
[0103]
图4是实例1中光顺曲线和光顺曲线的曲率杆图。
[0104]
图5是实例2中的三维牙齿数据点集。
[0105]
图6是实例2中拟合曲面和拟合曲面的斑马纹图。
[0106]
图7是实例2中光顺曲面和光顺曲面的斑马纹图。
具体实施方式
[0107]
下面结合附图和具体实施对本发明作进一步说明。
[0108]
如图1所示,本发明的实施例及其实施过程如下:
[0109]
实施例1:
[0110]
本实施例针对飞机机翼,通过三维扫描采集获得飞机机翼的截面数据点集,如图2所示。
[0111]
1)数据点的导入与参数化
[0112]
输入采集得到的数据点集qi,i=1,2,...,m,采用弦长参数化方法,给数据点分配对应参数值t1≤t2≤

≤tm。
[0113]
2)初始样条曲线的构造
[0114]
从数据点中随机选取初始控制点p
j[0]
,j=1,2,...,n,获得初始拟合的nurbs曲线
[0115][0116]
其中,nj(t)为第j个基函数。如图2所示。
[0117]
3)拟合向量,光顺向量和差向量的计算
[0118]
首先,计算nurbs曲线p
[k]
(t)与每个数据点qi之间的差向量
[0119]
[0120]
其次将参数值在一个基函数的支撑域的数据点对应的差向量分为一组,对一组中所有数据点的差向量取加权和,作为这一组数据点对应的控制点的拟合向量δ
j[k]
,其中加权的权重为第j个基函数nj(t)在nurbs曲线的参数t处的值。
[0121]
然后,设置光顺泛函这里选取r=2。根据光顺泛函获得每个控制点对应的光顺向量η
j[k]

[0122][0123][0124]
式中:t为nurbs曲线的参数,范围是[t1,tm],tm表示第m个参数值,表示一个光顺泛函,n
2,j
(t)表示对nurbs曲线的第j个基函数求2阶导的结果,p
l[k]
表示为第k次迭代下的第l个控制点,n
1,l
(t)表示对nurbs曲线的第l个基函数求2阶导的结果,n表示基函数个数,表示第k次迭代后第j个控制点的光顺向量。
[0125]
4)设置控制点的光顺权重ωj并计算控制点的差向量bj:
[0126][0127]
5)控制点的更新
[0128]
根据差向量bj调整控制点:
[0129][0130]
其中,μj是归一化系数,保证迭代收敛。和分别表示第k次和第k 1次迭代后生成的第j个控制点的坐标。
[0131]
6)节点,光顺权重或数据参数化的调整
[0132]
在整个迭代过程达到稳定停止之后,如果当前光顺曲线没有达到用户的光顺要求和拟合精度ε
fit
时,我们可以全局或局部地插入一些节点,调整光顺权重ωj或数据参数化,进一步提高整个网格的自由度,减小拟合误差或改善光顺效果。
[0133]
a)对拟合误差较大的区域,采用节点插入算法,按需插入节点,生成新的控制点。
[0134]
b)修改每个控制点对应的光顺权重ωj。ωj的数值越大,光顺效果越好;ωj的数值越小,拟合效果越好。
[0135]
c)依照数据点的几何特征,重新参数化。
[0136]
在完成上述修改后,令前一轮迭代的结果作为初始拟合曲线,继续迭代,直至满足用户需求,输出光顺曲线。如图4所示。
[0137]
对图3中三个方框内对应的光顺权重依次进行调整,得到如图4所示的光顺曲线。曲率杆图中的曲率杆长度反映了曲线上各点曲率值的大小;曲率杆变化的程度反映了曲线曲率的变化程度。如图4所示,光顺曲线的曲率值更小,曲率变化更平滑,即光顺性更好。
[0138]
实施例2:
[0139]
本实施例针对牙齿产品,通过三维扫描采集获得牙齿的数据点集,如图5所示。
[0140]
1)数据点的导入与参数化
[0141]
输入采集得到的数据点集q
ij
,i=1,2,...,m1,j=1,2,...,m2,采用弦长参数化方
法,给数据点分配对应参数值参数值{ui,vj},i=1,2,...,m1,j=1,2,...,m2,满足和将数据点qi,i=1,2,...,m按曲面上的两个维度方向的顺序排列,对应的参数值为(ui,vi),i=1,2,...,m。
[0142]
2)初始样条曲面的构造
[0143]
从数据点中随机选取初始控制点并将控制点也按字典序排列,表示为:
[0144][0145][0146]
nurbs曲面的模型方程为:
[0147][0148]
3)拟合向量,光顺向量和差向量的计算
[0149]
首先,计算nurbs曲面p
[k]
(u,v)与每个数据点qi之间的差向量
[0150][0151]
其次将参数值在一个基函数的支撑域的数据点对应的差向量分为一组,对一组中所有数据点的差向量取加权和,作为这一组数据点对应的控制点的拟合向量δ
j[k]
,其中加权的权重为第j个基函数nj(u,v)在nurbs曲面的参数(u,v)处的值。
[0152]
然后,设置光顺泛函根据光顺泛函获得每个控制点对应的光顺向量η
j[k]
,这里采用二阶偏导进行光顺向量的计算。
[0153]
第j个控制点的基于二阶偏导的光顺向量为:
[0154][0155]
式中:n
uu,j
(u,v)、n
uv,j
(u,v)和n
vv,j
(u,v)分别表示表示对第j个nurbs基函数nj(u,v)求二阶偏导的结果,表示第j个第一类二阶偏导光顺泛函,表示第j个第二类二阶偏导光顺泛函,表示第j个第三类二阶偏导光顺泛函;
[0156]
上述三个光顺泛函计算为:
[0157][0158][0159][0160]
4)设置控制点的光顺权重ωj并计算控制点的差向量bj:
[0161][0162]
5)控制点的更新
[0163]
根据差向量bj调整控制点:
[0164][0165]
其中,μj是归一化系数,保证迭代收敛。和分别表示第k次和第k 1次迭代后生成的第j个控制点的坐标。
[0166]
6)节点,光顺权重或数据参数化的调整
[0167]
在整个迭代过程达到稳定停止之后,如果当前光顺曲面没有达到用户的光顺要求和拟合精度ε
fit
时,我们可以全局或局部地插入一些节点,调整光顺权重ωj或数据参数化,进一步提高整个网格的自由度,减小拟合误差或改善光顺效果。
[0168]
a)对拟合误差较大的区域,采用节点插入算法,按需插入节点,生成新的控制点。
[0169]
b)修改每个控制点对应的光顺权重ωj。ωj的数值越大,光顺效果越好;ωj的数值越小,拟合效果越好。
[0170]
c)依照数据点的几何特征,重新参数化。
[0171]
在完成上述修改后,令前一轮迭代的结果作为初始拟合曲面,继续迭代,直至满足用户需求,输出光顺曲面。
[0172]
光顺曲面和光顺曲面的斑马纹图如图7所示。图6是牙齿模型的拟合曲面和拟合曲面的斑马纹图。斑马纹的疏密、弯曲能反映曲面的光顺程度,即斑马纹越宽、转折越少、越平缓,曲面的光顺性越好。对比图6与图7,可以说明本发明方法生成的曲面光顺性更好。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献