浙江大学学报(理学版), 2023, 50(6): 820-828 doi: 10.3785/j.issn.1008-9497.2023.06.017

第15届全国几何设计与计算学术会议专题

矩阵权NURBS曲面的拟合与光顺

董国鑫,, 杨勋年,,

浙江大学 数学科学学院,浙江 杭州 310058

Fitting and fairing quad-meshes by matrix weighted NURBS surfaces

DONG Guoxin,, YANG Xunnian,,

School of Mathematical Sciences,Zhejiang University,Hangzhou 310058,China

通讯作者: ORCID:https://orcid.org/0000-0001-7501-1378,E-mail:yxn@zju.edu.cn.

收稿日期: 2023-06-21   修回日期: 2023-07-19   接受日期: 2023-07-26  

基金资助: 国家自然科学基金资助项目.  12171429

Corresponding authors: zdxb_l@zju.edu.cn

Received: 2023-06-21   Revised: 2023-07-19   Accepted: 2023-07-26  

作者简介 About authors

董国鑫(1998—),ORCID:https://orcid.org/0000-0001-9112-4022,男,硕士研究生,主要从事计算机辅助几何设计研究. 。

摘要

介绍了利用矩阵权非均匀有理 B-spline(non-uniform rational B-spline,NURBS)曲面拟合与光顺带法向的网格数据。通过输入带法向的规则四边形网格,以网格的顶点为曲面的控制顶点,用法向信息计算每个控制顶点对应的矩阵权,构造矩阵权NURBS曲面。与传统NURBS曲面相比,矩阵权NURBS曲面具有拟柱面精度,当数据均匀采样自光滑曲面时,构造的矩阵权NURBS曲面具有较好的光顺性且能很好地拟合网格模型;当输入的网格数据掺杂噪声时,通过迭代在已有的矩阵权NURBS曲面上重新采样顶点和计算法向量构造新的矩阵权NURBS曲面,最后得到具有较好光顺性且仍能逼近原始网格数据的拟合曲面。

关键词: 矩阵权NURBS ; 曲面拟合 ; 光顺

Abstract

This paper proposes to employ matrix weighted NURBS surfaces to fit and fair quad meshes. For a quadrilateral mesh with given or estimated unit normals at vertices, a matrix weighted NURBS surface can be constructed by choosing the mesh vertices as control points and employing normals at each vertex for computing matrix weights. Compared with traditional NURBS surfaces, matrix weighted NURBS surfaces have quasi-cylindrical accuracy. When the input data is uniformly sampled from a smooth surface, the constructed matrix weighted NURBS surface has good smoothness and fits the mesh model well; if the input grid data contain noise, a fair fitting surface that approximates the original grid well can still be obtained by resampling control vertices on current fitting surfaces and re-calculating vertex normals based on the new quad meshes iteratively.

Keywords: matrix weighted NURBS ; surface fitting ; fairing

PDF (1541KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

董国鑫, 杨勋年. 矩阵权NURBS曲面的拟合与光顺. 浙江大学学报(理学版)[J], 2023, 50(6): 820-828 doi:10.3785/j.issn.1008-9497.2023.06.017

DONG Guoxin, YANG Xunnian. Fitting and fairing quad-meshes by matrix weighted NURBS surfaces. Journal of Zhejiang University(Science Edition)[J], 2023, 50(6): 820-828 doi:10.3785/j.issn.1008-9497.2023.06.017

0 引 言

曲面拟合与光顺在几何建模、计算机辅助设计、三维物体重建、数控加工等领域有广泛应用1-4。通过参数曲面拟合一系列离散点,例如非均匀有理B样条(non-uniform rational B-spline,NURBS)曲面拟合,可在节省存储空间的同时获得较为光顺的曲面。本文主要研究用矩阵权NURBS曲面拟合带法向的规则四边形网格数据。矩阵权NURBS曲面是NURBS曲面的自然的推广5,与传统NURBS曲面相比,矩阵权NURBS曲面具有更多的自由度控制与设计曲面形状。通过合理定义矩阵权并调整矩阵权中的参数,使得构造的矩阵权NURBS曲面能很好地逼近给定数据且曲面具有很好的光顺性,避免了传统B样条曲面拟合需要求解线性方程组的问题。

曲面拟合是指通过构造特定曲面逼近或插值给定的几何数据集,B样条曲面拟合主要分以下几步1:首先根据输入的数据点计算得到合适的参数,然后根据参数生成B样条的节点向量,最后通过构造线性方程组求解B样条曲面的控制顶点。目前已有不少对B样条曲面拟合的研究。ROGERS等6研究了带约束的B样条曲线和曲面的拟合问题;MA等7研究了逆向工程中NURBS曲线和曲面的拟合,采用两步线性方法拟合NURBS曲线和曲面;LIN等8提出在不求解线性方程组的情况下迭代构造有序点集的拟合曲面;SAPPA等9提出基于隐式B样条的方法对点云数据进行曲面重建,用隐式B样条表示可避免参数化问题;LIU等10提出了一种新的渐进迭代逼近方法,并将其用于B样条曲面拟合,与通常的拟合方法相比,该方法能得到低次数的B样条曲面和有效平滑的噪声数据,但求解效率不高。JIANG等11通过迭代的节点插入算法构造插值且全局光滑的B样条曲面,构造的曲面具有较少的控制顶点。

曲面光顺12是指对曲面进行平滑处理,其目的是获得尽可能光滑的曲面形状。如何度量曲面的光顺性取决于具体的应用,一般来说光顺曲面具有简单的形状,且不含多余的细节和振荡。通常光顺曲面通过求解包含光顺项的函数最小化构造13,例如LOTT等14构造了关于曲面曲率和距离的目标函数,基于最小化约束求解控制顶点得到光顺的B样条曲面;GREINER15提出通过简化的薄板能量泛函构造光顺曲面;DIETZ16通过模拟金属薄板的拉伸过程,结合薄板能量对离散的点云数据进行计算得到光顺的逼近曲面。除这一类曲面光顺方法外,也有基于几何迭代的拟合与光顺方法,即通过几何信息迭代更新控制顶点等数据。MAEKAWA等17提出了一种用几何算法构造光滑的曲面插值给定的网格;KINERI等18提出了一种基于几何迭代的算法,得到拟合点云数据的B样条曲面;KINERI等19研究了基于曲率编辑的曲面设计方法,根据几何规则调整控制顶点位置,使得B样条曲面能够插值特定位置和节点处的曲率。

YANG5将传统的NURBS推广至矩阵权NURBS,通过输入的顶点和法向数据构造可插值控制顶点的曲线和曲面。与传统的NURBS曲面相比,矩阵权NURBS曲面具有更优的性质和拟柱面再生等优点。对于光滑曲面,可以在曲面上合理采样控制顶点和法向信息并利用矩阵权NURBS曲面拟合该曲面。此外,对于同样的控制顶点和法向量,高阶矩阵权NURBS曲面的光顺性通常比低阶矩阵权NURBS曲面的更好,甚至高阶矩阵权NURBS曲面可有效地光顺噪声数据。由于矩阵权NURBS曲面丰富的性质,本文拟利用矩阵权NURBS曲面的构造与表达对规则网格数据曲面进行拟合与光顺。

1 矩阵权NURBS曲面

假设给定控制顶点{Pi,j}0im0jn,节点向量分别设为U={u0,u1,,um+k}V={v0,v1,,vn+l},传统的NURBS曲面定义为

S(u,v)=i=0mj=0nwi,jPi,jNi,k(u)Nj,l(v)i=0mj=0nwi,jNi,k(u)Nj,l(v)

其中,Ni,k(u)表示k阶B样条基函数:

Ni,1(u)=1,    uiu<ui+10,    其他
Ni,k(u)=u-uiui+k-1-uiNi,k-1(u)+ui+k-uui+k-ui+1Ni+1,k-1(u),   k2

作为传统NURBS的推广,YANG5提出了矩阵权NURBS,即将NURBS表达式中的实数权系数推广为矩阵。矩阵权NURBS曲面定义为

S(u,v)=i=0m j=0nMi,jNi,k(u)Nj,l(v)-1×i=0mj=0nMi,jPi,jNi,k(u)Nj,l(v), 

其中, u[uk-1,um+1], v[vl-1,vn+1],Mi,jRd×d0im,0jn为给定的一系列权矩阵。矩阵权可以有不同的选取方法,但首先要保证曲面S(u,v)定义的合理性,即i=0mj=0nMi,jNi,k(u)Nj,l(v)为可逆矩阵。记I为3阶单位矩阵,ni,jR3为单位向量,矩阵权定义为

Mi,j=ωi,j(I+μi,jni,jni,jT),  ωi,j>0, μi,j>-1, i=0,1,,m, j=0,1,,n

这样选取的矩阵权能够保证M(u,v)=i=0mj=0nMi,jNi,k(u)Nj,l(v)为可逆矩阵20,使矩阵权NURBS曲面是良定义的。

定理1 设ni,j为单位向量,矩阵Mi,j=ωi,j(I+μi,jni,jni,jT),0im,   0jn,对任意的正实数si,j,  0im,  0jn,ωi,j>0μi,j>-1时,i=0mj=0nsi,jMi,j为可逆矩阵。

证明 由矩阵Mi,j的形式,可知Mi,j为对称矩阵。下证Mi,j为正定矩阵。为此只需考虑矩阵 I+μi,jni,jni,jT的特征值。由于该矩阵的特征多项式为

|λI-(I+μi,jni,jni,jT)| = |(λ-1)I-μi,jni,jni,jT|

因此,可知该矩阵的特征值为1或1+μi,j,均大于0,所以Mi,j为正定矩阵,又因为si,j>0,因此i=0mj=0nsi,jMi,j为正定矩阵,故其为可逆矩阵。证毕。

假设控制顶点Pi,j处对应法向量ni,j的切平面为Fi,j,对于空间中任意一点Q,假设Qi,jQ点在Fi,j上的投影,于是从Qi,jQ的向量可表示为

Q-Qi,j=(ni,jni,jT)(Q-Pi,j)=Ai,j(Q-Pi,j)

容易发现Ai,jT=Ai,j以及Ai,j2=Ai,j,于是从Qi,jQ的距离为

||Q-Qi,j||2=[Q-Pi,j]TAi,j2[Q-Pi,j]

下面构造能量函数:

F(Q(u,v)) =i=0mj=0nωi,jNi,k(u)Nj,l(v)[Q-Pi,j]2+i=0mj=0nωi,jμi,jNi,k(u)Nj,l(v)×[Q-Pi,j]TAi,j2[Q-Pi,j]

可以证明F(Q(u,v))有唯一的最小二乘解,且该解就是所构造的矩阵权NURBS曲面。

性质1 当参数ωi,j>0μi,j>-1时,能量函数式(3)取最小值时的解Q(u,v)为矩阵权NURBS曲面。

证明 首先证明F(Q(u,v))0。由于ωi,j>0,Ni,k(u)0,Nj,l(v)0,只需证明

[Q-Pi,j]2+μi,j[Q-Pi,j]TAi,j2[Q-Pi,j]0

由于

[Q-Pi,j]2+μi,j[Q-Pi,j]TAi,j2[Q-Pi,j]=[Q-Pi,j]T(I+μi,jAi,j2)[Q-Pi,j],

而矩阵I+μi,jAi,j2=I+μi,jni,jni,jT为正定矩阵,因此上式非负,从而F(Q(u,v))0,且当F(Q)取最小值时,有

12F(Q)Q=i=0mj=0nωi,jNi,k(u)Nj,l(v)×[Q-Pi,j]+i=0mj=0nωi,jμi,jNi,k(u)×Nj,l(v)Ai,jTAi,j[Q-Pi,j]=i=0mj=0nωi,jNi,k(u)Nj,l(v){[Q-Pi,j]+μi,jAi,j[Q-Pi,j]}=0

其解为

Q(u,v)=i=0mj=0nMi,jNi,k(u)Nj,l(v)-1×i=0mj=0nMi,jPi,jNi,k(u)Nj,l(v),

其中,

Mi,j=ωi,j(I+μi,jni,jni,jT),    ωi,j>0, μi,j>-1,i=0,1,,m, j=0,1,,n

性质2 设Q(u,v)为矩阵权NURBS曲面,若参数μi,j趋向于无穷大,则曲面片上的点Q(u,v), u(ui,ui+k), v(vj,vj+l)几乎处于Pi,j的切平面上;同样,若参数ωi,j趋向于无穷大,则曲面片上的点Q(u,v), u(ui,ui+k), v(vj,vj+l)趋向于Pi,j

证明 由式(3)可知,当参数μi,j趋于无穷大时,Ni,k(u)Nj,l(v)[Q-Pi,j]TAi,j2[Q-Pi,j]必须趋于0才能使能量函数取最小值,此时[Q-Pi,j]TAi,j2[Q-Pi,j]趋于0,即Q(u,v)u(ui,ui+k),v(vj,vj+l)趋向于Pi,j的切平面;同理,当参数ωi,j趋向于无穷大时,[Q-Pi,j]2趋于0,即曲面片上的点Q(u,v), u(ui,ui+k), v(vj,vj+l)趋向于Pi,j

由性质2可知,本文的拟合和光顺算法可根据具体需要调整相应参数,以满足特定点以及特定点处法向逼近的要求。例如若希望顶点Pi,j处的法向量逼近ni,j,则可适当增大对应的μi,j值。此外,类似于矩阵权NURBS曲线具有螺线精度,矩阵权NURBS曲面也有相似的性质。方便起见,下文只考虑B样条函数的阶数为偶数且B样条函数的节点向量均匀选取的情形,其他情形可类似讨论。

性质3 假设点集{Pi,j}和法向量集合{ni,j}, i=0,1,m, j=0,1,,n,是从柱面上均匀采样得到的,设d1=k-12, d2=l-12,正整数qp满足d1qm-d1, d2pn-d2,令λq+i=Nq+i,k(uq+k2)ξp+j=Np+j,l(vp+l2),其中Ni,k(u)Nj,l(v)k阶和l阶B样条基函数,0<| i |d10<| j |d2uq+k2=12(uq+uq+k)vp+l2=12(vp+vp+l)。参数

μq,p=| i |=0d1| j |=0d2λq+iξp+jnq,pT(Pq,p-Pq+i,p+j)| i |=0d1| j |=0d2λq+iξp+jnq,pTAq+i,p+j(Pq+i,p+j-Pq,p),

其中,Aq+i,p+j=nq+i,p+jnq+i,p+jT,如果矩阵权中的参数wi,j=1, 0im, 0jn,且对于固定的q, p, μq+i,p+j=μq,p, | i |d1, | j |d2,则定义的矩阵权NURBS曲面在参数(uq+k2,vp+l2)处取到顶点Pq,p

证明 由性质1的证明可知,在矩阵权有理B样条曲面Q(u,v)上的任意一点均满足

i=0mj=0nωi,jNi,k(u)Nj,l(v)[Q-Pi,j]+i=0mj=0nωi,jNi,k(u)Nj,l(v)μi,jAi,j[Q-Pi,j]=0

假设Q(u,v)在参数(uq+k2,vp+l2)处取到顶点Pq,p,由条件wi,j=1,0im, 0jn,μq+i,p+j=μq,p,| i |d1, | j |d2,结合B样条基函数的性质,化简可得

| i |=0d1| j |=0d2λq+iξp+j[Pq,p-Pq+i,p+j]+| i |=0d1| j |=0d2λq+iξp+jμq,pAq+i,p+j×[Pq,p-Pq+i,p+j]=0

等式两边点乘nq,p,即可得到μq,p的表达式。

下证当μq,p的表达式为式(6)时,Q(u,v)在参数(uq+k2,vp+l2)处取到顶点Pq,p

首先,当μq,p的表达式为式(6)时,有

nq,pT| j |=0d2λq+iξp+j[Pq,p-Pq+i,p+j]+| i |=0d1| j |=0d2λq+iξp+jμq,pAq+i,p+j×[Pq,p-Pq+i,p+j] =0

Qq+i,p+jPq,pPq+i,p+j的切平面上的投影点,则Aq+i,p+j(Pq,p-Pq+i,p+j)=Pq,p-Qq+i,p+j,并且根据B样条基函数的性质,λq+i=λq-i, ξp+j=ξp-j,于是式(8)可化简为

nq,pTj=0d2λq+iξp+j[4Pq,p-Pq+i,p+j-Pq-i,p+j-Pq+i,p-j-Pq-i,p-j]+i=0d1j=0d2λq+iξp+jμq,p[4Pq,p-Qq+i,p+j-Qq-i,p+j-Qq+i,p-j-Qq-i,p-j] =0

分别考虑式(9)的前后两项,以前一项为例,

4Pq,p-Pq+i,p+j-Pq-i,p+j-Pq+i,p-j-Pq-i,p-j=2(2Pq,p-Pq,p+j-Pq,p-j)+(2Pq,p+j-Pq+i,p+j-Pq-i,p+j)+(2Pq,p-j-Pq+i,p-j-Pq-i,p-j),

由于{Pi,j}{ni,j} (i=0,1,m, j=0,1,,n)是从柱面上均匀采样得到的,不妨设Pi,j=(rcosθi,rsinθi,zj)ni,j=(cosθi,sinθi,0),因此2Pq,p-Pq,p+j-Pq,p-j,2Pq,p-Pq+i,p-Pq-i,p,2Pq,p-Qq,p+j-Qq,p-j,2Pq,p-Qq+i,p-Qq-i,p均平行于Pq,p处的法向量nq,p,从而4Pq,p-Pq+i,p+j-Pq-i,p+j-Pq+i,p-j-Pq-i,p-j平行于nq,p,同理可得4Pq,p-Qq+i,p+j-Qq-i,p+j-Qq+i,p-j-Qq-i,p-j平行于nq,p,于是由式(8)可推得式(7),从而可知当μq,p的表达式为式(6)时,有Q(uq+k2,vp+l2)=Pq,p。得证。

图(1)为不同阶数的矩阵权NURBS曲面拟合加噪声的柱面网格。给定一个柱面,其参数表示为

x(u,v)=cosu,y(u,v)=sinu,u[0,π],v[0,π]z(u,v)=v,

从该柱面上均匀地采样:u0=0, ui=ui-1+0.05 π,v0=0,vj=vj-1+0.05 π,i,j=1,2,,20,随后添加随机函数产生高斯噪声,将这些采样点作为控制顶点分别构造不同次数的矩阵权NURBS曲面,其中矩阵权和参数μi,j分别由式(2)和式(6)计算,曲面的颜色深浅代表该点处的Gauss曲率。从图1中可以看到,对于柱面采样网格,构造的矩阵权NURBS曲面经过所有的控制顶点,且曲面上所有点的Gauss曲率均较均匀;对于添加噪声的网格,双三次矩阵权NURBS曲面的Gauss曲率连续但不光滑,而提高次数后曲面的光顺性明显得到改善。

图1

图1   矩阵权NURBS曲面拟合采样自柱面的网格

数对(ij)分别表示参数uv方向的B样条基函数的次数。(a)和(b)为双三次矩阵权NURBS曲面分别拟合无噪声和有噪声的柱面网格;(c)和(d)分别为双五次和双七次矩阵权NURBS曲面的拟合结果。

Fig.1   The matrix weighted NURBS surface is used to fit the mesh sampled from a cylinder

Note The number pair (ij) represents the degree of the B-spline basis function in the parameter u and v directions respectively. (a) and (b) are bicubic matrix weighted NURBS surfaces fitted to cylindrical meshes with and without noise, respectively; (c) and (d) are the fitting results of matrix weighted NURBS surfaces with bi-degree five or bi-degree seven, respectively.


2 算法实现

2.1 矩阵权NURBS曲面的拟合

假设{Pi,j}{ni,j}(0im, 0jn)分别为给定的采样顶点和法向量,由式(6)选取参数μi,j,并且取ωi,j=1,于是每个控制顶点对应的矩阵权Mi,j均可直接计算,从而可以构造矩阵权NURBS曲面,但直接构造的矩阵权NURBS曲面不能拟合边界控制顶点,为了构造能拟合所有初始顶点的矩阵权NURBS曲面,需要在初始控制网格的边界添加边界对称点,获得扩展的控制网格。

假设要构造的矩阵权NURBS曲面的阶数为(k,l),设d1=k-12, d2=l-12,对于固定的 i, 0im,添加Pi,j关于Pi,0的对称点Pi,-j,j=1,2,,d2,其中,

Pi,-j=2Pi,0-Pi,j+2ai,jni,0,ai,j=(Pi,j-Pi,0)ni,0,j=1,2,,d2

同样,添加Pi,n-j关于Pi,n的对称点Pi,n+j,j=1,2,,d2,类似地,这些对称点的单位法向量可通过计算对应点对称的法向量得到。因为控制网格的边界有4条,还需用同样方法对另外2条边界添加对称点,例如对于固定的j, -d2in+d2,添加Pi,j关于P0,j的对称点P-i,j, i=1,2,,d1,其中,

P-i,j=2P0,j-Pi,j+2ai,jn0,j,ai,j=(Pi,j-P0,j)n0,j,    i=1,2,,d1

利用(Pi,j,ni,j),i=-d1,-d1+1,,m+d1,j=-d2,-d2+1,,n+d2构造矩阵权NURBS曲面

Q(u,v)=i=-d1m+d1 j=-d2n+d2Mi,jNi,k(u)Nj,l(v)-1×i=-d1m+d1j=-d2n+d2Mi,jPi,jNi,k(u)Nj,l(v)

由性质3可知,由扩展后的控制网格构造的矩阵权NURBS曲面Q(u,v)可以插值初始网格边界的控制顶点。为描述方便,对扩展后的顶点和法向量下标重新编号,分别记为{Pi,j'}{ni,j'},i=0,1,,m',j=0,1,,n',其中,m'=m+2d1,n'=n+2d2。矩阵权NURBS曲面的拟合算法步骤如下:

输入 点集{Pi,j}和法向量集{ni,j}以及 uv 两个方向B样条基函数的阶数。

输出 矩阵权NURBS曲面。

Step1 计算并添加边界对称点,设添加后的点集和法向量集为{Pi,j'}{ni,j'}

Step2 选取节点向量U={u0,u1,um'+k}V={v0,v1,vn'+l}

Step3 计算参数μi,j和矩阵权Mi,j

Step4 通过点集{Pi,j'}和矩阵权集合{Mi,j}构造矩阵权NURBS曲面;

Step5 输出矩阵权NURBS曲面Q(u,v)

2.2 矩阵权NURBS曲面的光顺

由前面的讨论可知,对于无噪声的数据,矩阵权NURBS曲面能很好地拟合且光顺性也很好,然而添加噪声后构造的矩阵权NURBS曲面可能并不光顺。为提高构造曲面的光顺性,参考YANG5关于矩阵权NURBS曲线光顺的思路,将其推广应用至曲面情形。首先构造初始的矩阵权NURBS曲面S(u,v),然后在该曲面上重新采样控制顶点,并重新计算每个顶点处的法向量,随后参照矩阵权NURBS曲面拟合算法构造曲面Q(u,v),根据给定的光顺迭代次数重复这一过程,得到更加光顺的曲面并且该曲面仍然逼近原始的控制网格。

假设初始构造的矩阵权NURBS曲面为

S(u,v)=i=0m' j=0n'Mi,jNi,k(u)Nj,l(v)-1×i=0m'j=0n'Mi,jPi,jNi,k(u)Nj,l(v)

其中,节点向量U={u0,u1,,um'+k}V={v0,v1,,vn'+l},在以下参数处采样:(ui,vj),i=k-1,k,,m'+1, j=l-1,l,,n'+1,获得新的控制顶点网格。类似地,对此网格做边界扩展,在边界处添加同样多的边界对称点。对法向量也进行迭代更新,顶点Pi,j处的法向量由该顶点1-领域内三角面片的法向量面积加权平均得到,将网格中的四边形视为由2个三角形拼接而成。当然原始的法向量数据可能包含噪声,因此在计算得到新的法向量后可考虑采用法向滤波技术21对法向量场进行降噪处理。矩阵权NURBS曲面的光顺算法步骤如下:

输入 点集{Pi,j}、法向量集{ni,j}、光顺迭代次数K以及 uv 两个方向B样条基函数的阶数。

输出 矩阵权NURBS曲面Q(u,v)

Step1 利用输入数据构造初始的矩阵权NURBS曲面S(u,v)

Step2 在曲面S(u,v)的节点位置重新采样并将其作为新的控制顶点;

Step3 在曲面的边界添加边界对称点;

Step4 重新计算每个顶点对应的法向量;

Step5 由新的顶点和对应的法向量构造矩阵权NURBS曲面Q(u,v)

Step6 用Q(u,v)代替S(u,v),重复step2~step5,直到满足迭代次数K

Step7 输出矩阵权NURBS曲面Q(u,v)

图2为利用带有噪声的控制网格构造的双五次矩阵权NURBS曲面,顶点和法向量采样自一个锥面,且人为地添加噪声。可以看到,初始构造的矩阵权NURBS曲面光顺性较差,经过10次顶点重采样、法向量计算以及曲面重建的迭代,最终得到了光顺的矩阵权NURBS曲面。

图2

图2   矩阵权NURBS曲面

Fig.2   The matrix weighted NURBS surface


3 结果与讨论

给出几个具体的用矩阵权NURBS曲面拟合和光顺给定网格数据的例子,并且将实验结果与B样条曲面拟合结果1进行对比。

首先为平面例子,给定一个包含噪声的平面网格数据,通过本文算法构造双三次矩阵权NURBS曲面并分别用光顺算法迭代10次、100次,所得结果如图(3)所示。可以看到,B样条曲面虽然能较好地拟合平面网格,但曲面的光顺性对数据噪声比较敏感;相比之下虽然图3(b)中初始构造的矩阵权NURBS曲面光顺性非常差,但随着迭代次数的增加,曲面逐渐变得平滑,最后得到的双三次矩阵权NURBS曲面不仅逼近初始平面网格,而且有效克服了噪声的影响。其中初始的双三次矩阵权NURBS曲面以及迭代10次和100次的曲面与原网格的最大距离偏差分别为0.063 9%,0.049 2%和0.060 0%,平均距离偏差分别为0.014 2%,0.008 2%和0.005 9%。

图3

图3   平面噪声网格的拟合与光顺

Fig.3   Fitting and fairing a noise plane


图4为用双三次B样条曲面和双三次矩阵权NURBS曲面拟合人耳模型得到的结果。与B样条曲面拟合得到的结果相比,光顺迭代5次的矩阵权NURBS曲面的光顺性相对较好,且随着迭代次数的增加,曲面越来越光滑。双三次B样条曲面与原网格的最大距离偏差为0.611 9%,双三次矩阵权NURBS曲面光顺迭代5次和20次后与原网格的最大距离偏差分别为0.474 3%和0.761 2%,平均距离偏差分别为0.054 5%和0.062 6%。

图4

图4   矩阵权NURBS曲面拟合与光顺噪声耳朵网格模型

Fig.4   Fitting and fairing an ear mesh model by matrix weighted NURBS surfaces


图5图6分别为含有噪声的人头模型和牙齿模型通过双三次矩阵权NURBS曲面拟合得到的结果。可以看到,经过多次光顺迭代后构造的矩阵权NURBS曲面令人满意。其中人头模型迭代5次和50次的最大距离偏差分别为0.556 8%和1.227 9%,平均距离偏差分别为0.052 0%和0.045 8%。牙齿模型迭代3次和30次的最大距离偏差分别为0.443 8%和0.616 1%,平均距离偏差分别为0.057 7%和0.070 1%。光顺迭代次数的增多可能会增大构造的矩阵权NURBS曲面与原网格数据的偏差,但也会增加其光顺性。

图5

图5   矩阵权NURBS曲面拟合与光顺人头模型

Fig.5   Fitting and fairing a head model by matrix weighted NURBS surfaces


图6

图6   矩阵权NURBS曲面拟合与光顺牙齿模型

Fig.6   Fitting and fairing a tooth model by matrix weighted NURBS surface


4 结 语

提出了利用矩阵权NURBS曲面拟合和光顺规则的四边形网格数据的方法,对于给定的顶点和法向量,直接选取这些顶点作为矩阵权NURBS曲面的控制顶点,利用法向数据计算矩阵权。当数据从光滑曲面上均匀采样时,构造的矩阵权NURBS曲面能很好地逼近顶点数据;对于包含噪声的数据,通过光顺算法,能直接且高效地构造光顺的矩阵权NURBS曲面。如果网格模型不包含法向数据,也可通过给定的顶点数据估计每个点处的法向量。本文方法适用于规则的四边形网格数据,不能直接用于任意拓扑三角网格模型或点云数据,并且本文只考虑有边界的单片NURBS曲面的拟合,对于可用NURBS表示的封闭网格可类似处理。其次,本文中B样条函数的节点向量是均匀选取的,并没有研究节点向量的不同选取对结果的影响。此外,如果光顺迭代次数过大,模型的尖锐特征也会逐渐被平滑,有待进一步研究。

http://dx.doi.org/10.3785/j.issn.1008-9497.2023.06.017

参考文献

PIEGL LTILLER W. The Nurbs Book[M]. 2nd ed. New YorkSpringer-Verlag1997. doi:10.1007/978-3-642-59223-2

[本文引用: 3]

YU Z JMA KWANG Z Jet al.

Surface modeling method for aircraft engine blades by using speckle patterns based on the virtual stereo vision system

[J]. Optics Communications, 201841133-39. DOI:10.1016/j.optcom.2017.10.064

YANG Z YSHEN L YYUAN C Met al.

Curve fitting and optimal interpolation for CNC machining under confined error using quadratic B-splines

[J]. Computer-Aided Design, 20156662-72. DOI:10.1016/j.cad.2015.04.010

CATMULL ECLARK J.

Recursively generated B-spline surfaces on arbitrary topological meshes

[J]. Computer-Aided Design, 1978106): 350-355. DOI:10.1016/0010-4485(78)90110-0

[本文引用: 1]

YANG X N.

Matrix weighted rational curves and surfaces

[J]. Computer Aided Geometric Design, 20164240-53. DOI:10.1016/j.cagd.2015.11.005

[本文引用: 4]

ROGERS D FFOG N R.

Constrained B-spline curve and surface fitting

[J]. Computer-Aided Design, 19892110): 641-648. DOI:10.1016/0010-4485(89)90162-0

[本文引用: 1]

MA W YKRUTH J P.

NURBS curve and surface fitting and interpolation

[C]// DAEHLEN M, LYCHE T, SCHUMAKER L L. Mathematical Methods for Curves and Surfaces. TennesseeVanderbilt University Press1995315-322.

[本文引用: 1]

LIN H WWANG G JDONG C S.

Constructing iterative non-uniform B-spline curve and surface to fit data points

[J]. Science in China Series F (Information Sciences), 2004473): 315-331. DOI:10.1360/02yf0529

[本文引用: 1]

ROUHANI MSAPPA A DBOYER Eet al.

Implicit B-spline surface reconstruction

[J]. IEEE Transactions on Image Processing, 2015241): 22-32. DOI:10. 1109/TIP.2014.2366374

[本文引用: 1]

LIU M ZLI B JGUO Q Jet al.

Progressive iterative approximation for regularized least square bivariate B-spline surface fitting

[J]. Journal of Computational and Applied Mathematics, 2018327175-187. DOI:10.1016/j.cam.2017.06.013

[本文引用: 1]

JIANG XWANG B LHUO G Yet al.

Scattered points interpolation with globally smooth B-spline surface using iterative knot insertion

[J]. Computer-Aided Design, 2022148103244. DOI:10.1016/j.cad.2022.103244

[本文引用: 1]

MORETON HSEQUIN C.

Functional optimization for fair surface design

[C]// Proceedings of the 19th Annual Conference on Computer Graphics and Interactive Techniques. New YorkACM1992167-176. DOI:10.1145/133994.134035

[本文引用: 1]

WEISS VANDOR LRENNER Get al.

Advanced surface fitting techniques

[J]. Computer Aided Geometric Design, 2002191): 19-42. DOI:10.1016/S0167-8396(01)00086-3

[本文引用: 1]

LOTT N JPULLIN D I.

Method for fairing B-spline surfaces

[J]. Computer-Aided Design, 19882010): 597-600. DOI:10.1016/0010-4485(88)90206-0

[本文引用: 1]

GREINER G.

Variational design and fairing of spline surfaces

[J]. Computer Graphics Forum, 2010133): 143-154. DOI:10.1111/1467-8659.1330143

[本文引用: 1]

DIETZ U.

Fair surface reconstruction from point clouds

[C]// Proceedings of the International Conference on Mathematical Methods for Curves and Surfaces Ⅱ Lillehammer. New YorkACM199879-86.

[本文引用: 1]

MAEKAWA TMATSUMOTO YNAMIKI K.

Interpolation by geometric algorithm

[J]. Computer-Aided Design, 2007394): 313-323. DOI:10.1016/j.cad.2006.12.008

[本文引用: 1]

KINERI YWANG M SLIN H Wet al.

B-spline surface fitting by iterative geometric interpolation/approximation algorithms

[J]. Computer Aided Design, 2012447): 697-708. DOI:10.1016/j.cad.2012.02.011

[本文引用: 1]

KINERI YENDO SMAEKAWA T.

Surface design based on direct curvature editing

[J]. Computer-Aided Design, 2014553): 1-12. DOI:10.1016/j.cad.2014.05.001

[本文引用: 1]

YANG X N.

Fitting and fairing Hermite-type data by matrix weighted NURBS curves

[J]. Computer-Aided Design, 201810222-32. DOI:10.1016/j.cad.2018.04.009

[本文引用: 1]

KAWASAKI TJAYARAMAN P KSHIDA Ket al.

An image processing approach to feature-preserving B-spline surface fairing

[J]. Computer-Aided Design, 2018991-10. DOI:10.1016/j.cad. 2018.01.003

[本文引用: 1]

/