[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104157013A - 任意四边形网格上光滑曲面的重建方法 - Google Patents

任意四边形网格上光滑曲面的重建方法 Download PDF

Info

Publication number
CN104157013A
CN104157013A CN201410383403.9A CN201410383403A CN104157013A CN 104157013 A CN104157013 A CN 104157013A CN 201410383403 A CN201410383403 A CN 201410383403A CN 104157013 A CN104157013 A CN 104157013A
Authority
CN
China
Prior art keywords
place
curve
boundary
transboundary
curved surface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410383403.9A
Other languages
English (en)
Inventor
叶修梓
蒋跃华
陈志杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEW DIMENSION SYSTEMS Co Ltd
Original Assignee
NEW DIMENSION SYSTEMS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEW DIMENSION SYSTEMS Co Ltd filed Critical NEW DIMENSION SYSTEMS Co Ltd
Priority to CN201410383403.9A priority Critical patent/CN104157013A/zh
Publication of CN104157013A publication Critical patent/CN104157013A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

任意四边形网格上光滑曲面的重建方法,包括以下步骤:1)生成四边形区域边界曲线;2)对每个四边形区域,由边界曲线和内部数据点拟合生成B样条曲面;3)在正则顶点处进行C2相容性调整,奇异顶点处G1相容性调整;4)正则边界上进行C2连续调整;5)非正则边界上进行近似G1连续调整。本发明提供了一种简化求解、提高效率、提升重建效果的任意四边形网格上光滑B样条曲面的重建方法。

Description

任意四边形网格上光滑曲面的重建方法
技术领域
本发明属于曲面造型领域,涉及一种在经过四边形划分后网格上重建光滑拼接曲面片的方法。
背景技术
在对诸如人体器官、骨骼、玩具公仔等以自由曲面为主的复杂模型逆向工程建模中,很难用单一曲面片对模型进行表述,通常首先需要对原始模型进行四边形划分,然后在每个四边形区域上进行曲面重建,并逼近内部数据点,同时曲面片之间应该实现光滑拼接。衡量光滑程度通常用两种连续性:一是参数连续性,记为Cn;二是几何连续性,记为Gn,n指连续阶数。参数连续是指在曲面切平面的任一方向上两曲面片的方向导数相等,Cn连续指0-n阶方向导数相等。几何连续中的G0是指位置连续,G1指切平面连续,G2指主曲率和主方向连续。
四边形网格的顶点根据顶点的度数(与顶点相连的边的条数)分为正则顶点和奇异顶点:网格内部的正则顶点度数为4,奇异顶点度数为3、5及以上;网格边界上的正则顶点度数为3,奇异顶点度数为2、4及以上。如果一条边的两个顶点都是正则顶点,则该边为正则边,否则为非正则边。
多张曲面间的连续拼接问题,已有不少学者对此进行了研究,出现了多种连续拼接曲面的重建方法。Milroy等[1]提出了一种近似G1连续的分片B样条曲面拟合方法,将G1连续条件作为约束条件,通过求解非线性最小二乘问题的解来保证曲面间的连续性。该方法计算量比较大,而且只能得到近似的G1连续。Eck和Hoppe[2]利用Peter[3]提出的曲面样条构造方法来生成双三次B样条曲面片,对四边形网格进行两次Doo-Sabin细分[5]后得到一个生成B样条曲面片的控制网格,B样条曲面片的控制顶点由控制网格顶点的线性组合得到,构造过程自动保证了B样条曲面片间的G1连续。曲面的拟合转化为对控制网格顶点位置的最小二乘求解。为了得到保证精度的曲面,曲面构造需要迭代进行,整个过程非常耗时。Peter[4]通过对任意四边形网格进行Catmull-Clark细分[6],在每个四边形面片上,得到一张双三次B样条曲面,并且曲面片间除了奇异点处C1连续,其他各处达到了C2连续,但由于Catmull-Clark细分的收缩性,重建的曲面模型会有较大的收缩。施锡泉等在[7]中给出了在经过四边形区域划分后的模型上重建收敛G1连续的双三次B样条曲面片的方法,随着曲面控制顶点的增加,曲面片间趋向于G1连续。随后,在[8]中讨论了内部没有重节点的双五次B样条曲面片间的G1连续性条件,给出了生成严格的G1连续的双五次B样条曲面的局部构造方法。局部构造方法首先拟合得到一个G0连续的曲面片网格,然后再根据G1连续性条件对曲面的控制顶点进行局部修改使曲面片间连续。
已有的分片连续曲面重建方法得到的曲面大部分只有G1连续,而且有的方法求解复杂,效率不高,或者重建的曲面不能较好的保持原始模型的几何特征,并不实用。
发明内容
为了克服已有分片连续曲面重建方法的求解复杂、效率不高、重建效果较差的不足,本发明提供了一种简化求解、提高效率、提升重建效果的任意四边形网格上光滑B样条曲面的重建方法。
本发明解决其技术问题所采用的技术方案是:
任意四边形网格上光滑曲面的重建方法,所述重建方法包括下述步骤:
1)生成四边形区域边界曲线
用三次B样条曲线拟合四边形区域边界上的采样点得到边界曲线,而且对所有的边界曲线采用相同的节点向量,使相对的两条边的节点向量相容;
在生成边界曲线时,首先找出四边形网格上的长边,长边由依次相连的多条边组成,长边的首末端点为奇异顶点或网格边界上的正则顶点;得到长边后,取出组成长边的每条边上的采样点,将它们合在一起,拟合出一条长曲线,该曲线插值长边上的顶点,逼近每条边上的采样点;再将长曲线在顶点处打断,得到每条边上对应的边界曲线,使边界曲线在正则顶点处C2连续,奇异顶点处G0连续;
2)对每个四边形区域,由边界曲线和内部数据点拟合生成B样条曲面;
3)在正则顶点处进行C2相容性调整,再进行奇异顶点处G1相容性调整,过程如下:
3.1)正则顶点处的C2相容性调整按下述方法进行:
计算与正则顶点P相连的4个曲面{Si(ui,vi),i=1,...,4}在P处的混合偏导 V i = ∂ 2 S i ( u i , v i ) ∂ u i ∂ v i | u i = v i = 0 , X i = ∂ 3 S i ( u i , v i ) ∂ u i 2 ∂ v i | u i = v i = 0 , Y i = ∂ 3 S i ( u i , v i ) ∂ u i ∂ v i 2 | u i = v i = 0 , Z i = ∂ 4 S i ( u i , v i ) ∂ u i 2 ∂ v i 2 | u i = v i = 0 ; 对它们进行平均,将平均后的混合偏导作为曲面在P点处的新的混合偏导,并调整曲面相应的控制顶点,则曲面在P点处有公共的2至4阶混合偏导,在P点处C2相容;
3.2)奇异顶点处G1相容性调整按下述方法进行:
记与奇异顶点P相连的曲面片为{Si(ui,vi),i=1,...,n},边界曲线为{Ci,i=1,...,n};要使G1连续的曲面片{Si(ui,vi),i=1,...,n}在顶点P处扭矢相容,要求边界曲线{Ci}在顶点P处达到G2连续;在顶点P点处构造一张C2连续的基曲面S,其中S在P点的一阶、二阶导数分别为Su、Sv、Suu、Suv、Svv;边界曲线{Ci,i=1,...,n}在P点处G2连续,则P点处新的切矢和曲率矢满足下述关系式:
T i * = α i S u + β i S v ,
H i * = α i 2 S uu + 2 α i β i S uv + β i 2 S vv + λ i S u + γ i S v ,
其中αiiii为常数。将曲面片{Si(ui,vi),i=1,...,n}在P点处的扭矢取为
V i * = α i + 1 α i S uu + ( α i + 1 β i + α i β i + 1 ) S uv + β i + 1 β i S vv + ξ i S u + η i S v ;
则{Si(ui,vi),i=1,...,n}在P点处G1相容;
首先在P点处求出一个公共切平面∏,将Ti投影到∏,得到新的切矢然后用最小二乘法求出曲率矢和扭矢在法向N上的投影调整后的曲率矢和扭矢
H i * = H i + ( < H i * , N > - < H i , N > ) N , V i * = V i + ( < V i * , N > - < V i , N > ) N .
求得新的曲率矢和扭矢后,调整曲面片的相应控制顶点,使{Si,i=1,...,n}在顶点P处G2连续并且G1相容;
4)正则边界上进行C2连续调整
计算与正则边Ci(v)相连的两曲面Si-1、Si的一阶、二阶跨界导矢曲线 对它们进行平均,得到新的跨界导矢曲线 D i + * ( v ) , DD i + * ( v ) :
D i - * ( v ) = D i + * ( v ) = 1 2 ( D i - ( v ) + D i + ( v ) ) , DD i - * ( v ) = DD i + * ( v ) = 1 2 ( DD i - ( v ) + DD i + ( v ) ) .
再根据新的跨界导矢曲线调整曲面Si-1、Si靠近边界Ci(v)的第二、第三排控制顶点,使Si-1、Si在边界Ci(v)上C2连续;
5)非正则边界上进行近似G1连续调整
首先计算两曲面在公共边界上内部节点处的一阶跨界导矢 根据切平面矫正调整这些跨界导矢,然后求出新的跨界导矢曲线使插值 { D i - ( v k ) , k = 4 , . . . , n } , { D i + ( v k ) , k = 4 , . . . , n } , 且满足如下端点条件:
D i - ( 0 ) = T i - 1,0 , D i - ( 1 ) = T i - 1,1 , D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 ;
D i + ( 0 ) = T i + 1,0 , D i + ( 1 ) = T i + 1,1 , D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1 .
接着由新的跨界导矢曲线调整两个曲面靠近公共边界的第二排控制顶点,检查两曲面在公共边界上法矢的夹角,在夹角大于给定的误差允许值的地方插入节点,重新计算跨界导矢曲线;整个过程迭代进行,直到各个节点区间的法矢夹角都小于给定的误差允许值或插入的节点数量达到一个上限值。
进一步,所述步骤2)中,给定四边形区域的四条边界曲线及内部数据点集,通过最小二乘拟合重构一张双三次B样条曲面,重构曲面插值四条边界曲线,逼近内部点。
再进一步,所述步骤2)中,首先由4条边界曲线创建一张双线性Coons曲面,然后将散乱点Pk投影到该基曲面计算得到点Pk的参数值(uk,vk);曲面S(u,v)边界上的控制顶点由4条边界曲线的控制顶点确定,内部的控制顶点通过最小二乘拟合如下的目标函数F得到,
F=Flsq+λFfair,其中Flsq为最小二乘项,Ffair为光顺项,λ为光顺项系数。
更进一步,所述步骤5)中,具体步骤如下:
Step0:设定初始值:两个曲面在公共边界上法矢夹角θ的最大误差为θmax,在公共边界上允许插入的最大节点个数为Nmax,当前插入的节点个数Ninserted=0,边界曲线初始的节点向量为V={0,0,0,0,v4,v5,...,vn,1,1,1,1};
Step1:在节点{vk,k=4,...,n}处,计算曲线Ci(v)的切矢{C′i(vk),k=4,...,n},Si-1、Si沿着边界Ci(v)的跨界导矢Si-1、Si在点Ci(vk)处的法矢 N k - = D i - ( v k ) &times; C i &prime; ( v k ) , N k + = C i &prime; ( v k ) &times; D i + ( v k ) (k=4,...,n);
Step2:矫正采样点Ci(vk)处的跨界导矢,使共面,满足G1连续条件。首先确定两个曲面在点Ci(vk)处的公共法向
N k = ( N k - + N k + ) / | | N k - + N k + | | ;
矫正后的跨界导矢
D i - ( v k ) * = D i - ( v k ) - < D i - ( v k ) , N k > * N k ,
D i + ( v k ) * = D i + ( v k ) - < D i + ( v k ) , N k > * N k .
Step3:以当前边界曲线Ci(v)的节点向量V作为跨界导矢曲线的节点向量,拟合新的跨界导矢曲线使插值 D - { T i - 1,0 , D i - ( v 4 ) * , . . . , D i - ( v n ) * , T i - 1,1 } D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 , 插值 D + { T i + 1,0 , D i + ( v 4 ) * , . . . , D i + ( v n ) * , T i + 1,1 } D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1 ;
Step4:根据矫正后的跨界导矢曲线调整Si-1、Si靠近边界Ci(v)的第二排控制顶点;
Step5:经过上述调整,Si-1、Si在节点{vk,k=3,...,n+1}处已经达到G1连续,在每个节点区间[vk,vk+1](k=3,...,n)内再取m个采样点
v k , j = v k + j m + 1 ( v k + 1 - t k ) , ( j = 1 , . . . , m ) ;
计算Si-1、Si在节点{vk,j,k=3,...,n,j=1,...,m}处的跨界导矢法矢求出两个法向的夹角{θk,j};
Step6:找出每个区间内夹角最大处的节点值{vk,j,k=3,...,n,j=pk},如果该处的夹角大于θmax,则将加入到待插入的节点集合,记待插入节点集合为 V * = { v l * , l = 0 , . . . , s } ;
Step7:如果,将节点分别插入到曲线Ci(v)及曲面Si-1、Si中去,得到新的节点向量V=V∪V*,计算当前已插入的节点数Ninserted=Ninserted+s+1;矫正处的跨界导矢,得到新的跨界导矢 D - * = { D i - ( v l * ) , l = 0 , . . . , s } , D + * = { D i + ( v l * ) , l = 0 , . . . , s } , 新的待拟合的跨界导矢集合为D-=D-∪D-*、D+=D+∪D+*
Step8:重复Step3-Step7,直到或者Ninserted>Nmax,算法结束。
本发明的技术构思为:在任意拓扑四边形网格上重建G1/C2连续双三次B样条曲面片的方法。四边形网格的顶点根据顶点的度数(与顶点相连的边的条数)分为正则顶点和奇异顶点:网格内部的正则顶点度数为4,奇异顶点度数为3、5及以上;网格边界上的正则顶点度数为3,奇异顶点度数为2、4及以上。如果一条边的两个顶点都是正则顶点,则该边为正则边,否则为非正则边。整个算法包括下述步骤:1)生成四边形区域边界曲线;2)对每个四边形区域,由边界曲线和内部数据点拟合生成B样条曲面;3)在正则顶点处进行C2相容性调整,奇异顶点处G1相容性调整;4)正则边界上进行C2连续调整;5)非正则边界上进行近似G1连续调整。
本发明的有益效果主要表现在:1、简化求解、提高效率;2、得到的曲面片具有较好的连续性,并能保持原始模型的几何特征。
附图说明
图1是正则顶点处相连的曲面图。
图2是奇异顶点处相连的曲面图。
图3是公共边界为正则边的两张曲面图。
图4是公共边界为非正则边的两张曲面图。
图5是封闭网格模型曲面重建示例,其中,(a)是经过四边形划分的牙齿模型,(b)是重建的光滑曲面模型。
图6是非封闭网格模型曲面重建示例,其中,(a)是经过四边形划分的米老鼠模型,(b)是重建的光滑曲面模型。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,任意四边形网格上光滑曲面的重建方法,包括以下步骤:
1)四边形区域边界曲线的生成
用三次B样条曲线拟合四边形区域边界上的采样点得到边界曲线,而且对所有的边界曲线采用相同的节点向量,使相对的两条边的节点向量相容,以减少整个曲面网格的控制顶点数目。在生成曲线时,首先找出四边形网格上的长边,长边由依次相连的多条边组成,长边的首末端点为奇异顶点或网格边界上的正则顶点。得到长边后,取出组成长边的每条边上的采样点,将它们合在一起,拟合出一条长曲线,该曲线插值长边上的顶点,逼近每条边上的采样点。再将长曲线在顶点处打断,得到每条边上对应的边界曲线,使边界曲线在正则顶点处C2连续,奇异顶点处G0连续。
2)B样条曲面片的生成
给定四边形区域的4条边界曲线{Ci,i=1,...,4}及内部数据点集{Pk,k=1,...,l},通过最小二乘拟合重构一张双三次B样条曲面S(u,v),使重构曲面在逼近{Pk,k=1,...,l}的同时,插值4条边界曲线。
散乱数据点参数化采用经典的基面投影法,首先由4条边界曲线创建一张双线性Coons曲面,然后将散乱点Pk投影到该基曲面计算得到点Pk的参数值(uk,vk)。曲面S(u,v)边界上的控制顶点由4条边界曲线的控制顶点确定,内部的控制顶点通过最小二乘拟合如下的目标函数F得到,
F=Flsq+λFfair,其中Flsq为最小二乘项,Ffair为光顺项,λ为光顺项系数。
3)正则顶点处的C2相容性矫正,奇异顶点处的相容性调整;
如图1所示,P是正则顶点,与P相连的4条边界曲线{Ci,i=1,...,4}两两C2连续,与P相连的4个曲面{Si(ui,vi),i=1,...,4}具有一致的u、v方向。计算4个曲面{Si,i=1,...,4}在P处的混合偏导 V i = &PartialD; 2 S i ( u i , v i ) &PartialD; u i &PartialD; v i | u i = v i = 0 , X i = &PartialD; 3 S i ( u i , v i ) &PartialD; u i 2 &PartialD; v i | u i = v i = 0 , Y i = &PartialD; 3 S i ( u i , v i ) &PartialD; u i &PartialD; v i 2 | u i = v i = 0 , Z i = &PartialD; 4 S i ( u i , v i ) &PartialD; u i 2 &PartialD; v i 2 | u i = v i = 0 ; 对它们进行平均,将平均后的混合偏导作为曲面在P点处的新的混合偏导,并调整曲面相应的控制顶点,则曲面在P点处有公共的2至4阶混合偏导,在P点处C2相容。
如图2所示,P为奇异顶点,与P相连的曲面片为{Si,i=1,...,n},边界曲线为{Ci,i=1,...,n}。要使G1连续的曲面片{Si}在顶点P处扭矢相容,要求边界曲线{Ci}在顶点P处达到G2连续。我们在顶点P点处构造一张C2连续的基曲面S,其中S在P点的一阶、二阶导数分别为Su、Sv、Suu、Suv、Svv。边界曲线{Ci,i=1,...,n}在P点处G2连续,则P点处新的切矢和曲率矢满足下述关系式:
T i * = &alpha; i S u + &beta; i S v , - - - ( 1 )
H i * = &alpha; i 2 S uu + 2 &alpha; i &beta; i S uv + &beta; i 2 S vv + &lambda; i S u + &gamma; i S v . - - - ( 2 )
其中αiiii为常数。如果曲面片{Si}在P点处的扭矢取为
V i * = &alpha; i + 1 &alpha; i S uu + ( &alpha; i + 1 &beta; i + &alpha; i &beta; i + 1 ) S uv + &beta; i + 1 &beta; i S vv + &xi; i S u + &eta; i S v , - - - ( 3 )
则{Si}在顶点P处G1相容。
为使(1)式成立,首先调整切矢Ti,使它们共面。每一块曲面片在P点处的法向Ni=Ti×Ti+1,由{Ni,i=1,...,n}估算曲面片在P点处的公共法向
N = &Sigma; i = 1 n N i / | | &Sigma; i = 1 n N i | | .
由P和N可以确定公共切平面∏,将Ti投影到∏,得到新的切矢
T i * = T i - < T i , N > * N ( i = 1 , . . . , n ) ;
再根据这些新的切矢调整曲面片边界上对应的控制顶点。
不失一般性,取由下式可求得式(1)中每个所对应的系数(αii)
&alpha; i = < T i * , S u > / | | S u | | 2 , &beta; i = < T i * , S v > / | | S v | | 2 .
由(2)式,在法向N的投影为
< H i * , N > = &alpha; i 2 < S uu , N > + 2 &alpha; i &beta; i < S uv , N > + &beta; i 2 < S vv , N > ,
记s0=<Suu,N>,s1=<Suv,N>,s2=<Svv,N>,则
< H i * , N > = &alpha; i 2 s 0 + 2 &alpha; i &beta; i s 1 + &beta; i 2 s 2 . - - - ( 4 )
用最小二乘法拟合求出(s0,s1,s2),目标函数为
Min ( &Sigma; i = 1 n ( < H i * , N > - < H i , N > ) 2 ) .
求得后,由(4)式可以算出调整后的由下式求出
H i * = H i + ( < H i * , N > - < H i , N > ) N .
同样的,有
< V i * , N > = &alpha; i - 1 &alpha; i s 0 + ( &alpha; i - 1 &beta; i + &alpha; i &beta; i - 1 ) s 1 + &beta; i - 1 &beta; i s 2 . 新的扭矢
V i * = V i + ( < V i * , N > - < V i , N > ) N .
最后根据这些新的曲率矢和扭矢调整曲面片的对应控制顶点,使{Si,i=1,...,n}在顶点P处G2连续并且G1相容。
4)正则边界上的C2连续调整
如图3所示,P0、P1是两个正则顶点,曲面Si-1与Si的公共边界Ci(v)是一条正则边,Si-1、Si沿着公共边界方向具有相同的节点向量,如不一样,也可通过节点插入使它们相同。计算Si-1、Si的一阶、二阶跨界导矢曲线 对它们进行平均,得到新的跨界导矢曲线 DD i + * ( v ) :
D i - * ( v ) = D i + * ( v ) = 1 2 ( D i - ( v ) + D i + ( v ) ) ,
D i - * ( v ) = DD i + * ( v ) = 1 2 ( DD i - ( v ) + DD i + ( v ) ) .
再根据新的跨界导矢曲线调整曲面Si-1、Si靠近边界Ci(v)的第二、第三排控制顶点,使Si-1、Si在边界Ci(v)上C2连续。
5)非正则边界上的G1连续调整
如图4所示,Si-1、Si是与非正则边界Ci(v)相连的两张双三次B样条曲面,沿着公共边界方向具有相同的节点向量,记节点向量为V={0,0,0,0,v4,v5,...,vn,1,1,1,1},其中vk<vk+1(k=3,...,n),n为边界曲线Ci(v)的控制顶点个数。Si-1、Si在顶点P0、P1处G2连续且G1相容。在这里,通过一种迭代逼近方法来调整曲面Si-1、Si沿着公共边界Ci(v)的一阶跨界导矢,使Si-1、Si在Ci(v)上达到近似的G1连续。在工程上,当两相连曲面在公共边界上的法矢的夹角的最大值小于某个允许的误差值ε(比如ε=0.5°)时,两曲面可看成是G1连续。
该算法首先计算两曲面在公共边界上内部节点处的一阶跨界导矢根据切平面矫正调整这些跨界导矢,然后求出新的跨界导矢曲线使插值 { D i - ( v k ) , k = 4 , . . . , n } , 且满足如下端点条件:
D i - ( 0 ) = T i - 1,0 , D i - ( 1 ) = T i - 1,1 , D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 ;
D i + ( 0 ) = T i + 1,0 , D i + ( 1 ) = T i + 1,1 , D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1 .
接着由新的跨界导矢曲线调整两个曲面靠近公共边界的第二排控制顶点。检查两曲面在公共边界上法矢的夹角,在夹角大于给定的误差允许值的地方插入节点,重新计算跨界导矢曲线。整个过程迭代进行,具体步骤如下:
Step0:设定初始值:两个曲面在公共边界上法矢夹角θ的最大误差为θmax(比如0.5°),在公共边界上允许插入的最大节点个数为Nmax,当前插入的节点个数Ninserted=0,边界曲线初始的节点向量为V={0,0,0,0,v4,v5,...,vn,1,1,1,1}。
Step1:在节点{vk,k=4,...,n}处,计算曲线Ci(v)的切矢{C′i(vk),k=4,...,n},Si-1、Si沿着边界Ci(v)的跨界导矢Si-1、Si在点Ci(vk)处的法矢 N k - = D i - ( v k ) &times; C i &prime; ( v k ) , N k + = C i &prime; ( v k ) &times; D i + ( v k ) (k=4,...,n)。
Step2:矫正采样点Ci(vk)处的跨界导矢,使共面,满足G1连续条件。首先确定两个曲面在点Ci(vk)处的公共法向
N k = ( N k - + N k + ) / | | N k - + N k + | | ;
矫正后的跨界导矢
D i - ( v k ) * = D i - ( v k ) - < D i - ( v k ) , N k > * N k ,
D i + ( v k ) * = D i + ( v k ) - < D i + ( v k ) , N k > * N k .
Step3:以当前边界曲线Ci(v)的节点向量V作为跨界导矢曲线的节点向量,拟合新的跨界导矢曲线使插值 D - { T i - 1,0 , D i - ( v 4 ) * , . . . , D i - ( v n ) * , T i - 1,1 } D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 , 插值 D + { T i + 1,0 , D i + ( v 4 ) * , . . . , D i + ( v n ) * , T i + 1,1 } D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1 .
Step4:根据矫正后的跨界导矢曲线调整Si-1、Si靠近边界Ci(v)的第二排控制顶点。
Step5:经过上面的调整,Si-1、Si在节点{vk,k=3,...,n+1}处已经达到G1连续。在每个节点区间[vk,vk+1](k=3,...,n)内再取m个采样点
v k , j = v k + j m + 1 ( v k + 1 - t k ) , ( j = 1 , . . . , m ) ;
计算Si-1、Si在节点{vk,j,k=3,...,n,j=1,...,m}处的跨界导矢法矢求出两个法向的夹角{θk,j}。
Step6:找出每个区间内夹角最大处的节点值{vk,j,k=3,...,n,j=pk},如果该处的夹角大于θmax,则将加入到待插入的节点集合,记待插入节点集合为 V * = { v l * , l = 0 , . . . , s } .
Step7:如果,将节点分别插入到曲线Ci(v)及曲面Si-1、Si中去,得到新的节点向量V=V∪V*,计算当前已插入的节点数Ninserted=Ninserted+s+1;矫正处的跨界导矢,得到新的跨界导矢 新的待拟合的跨界导矢集合为D-=D-∪D-*、D+=D+∪0+*
Step8:重复Step3-Step7,直到或者Ninserted>Nmax,算法结束。
至此,曲面Si-1、Si沿着公共边界Ci(v)在节点处达到精确的G1连续,在其它地方达到近似的G1连续,且在拟合跨界曲线时将矫正后的扭矢作为插值条件,解决了顶点处的相容性问题。
本实施例的经过四边形划分的网格模型上重建连续拼接B样条曲面片的方法,首先构造在正则顶点处C2连续的曲线网格,然后由边界曲线和内部数据点拟合得到一个G0连续的双三次B样条曲面片网格,再通过跨界导矢矫正法使曲面片间连续拼接。该算法较好地解决了曲面片在顶点处的相容性,并使相连的曲面片在正则边界上保持C2连续,在非正则边界上保持近似的G1连续。算法实现简单,速度快,对四边形网格的拓扑结构没有限制,重建的曲面片在边界上保持光滑拼接的同时,内部逼近原始模型上的数据点,适用于逆向工程中对经过任意四边形划分的模型进行光滑B样条曲面重建。图5、6给出了利用该算法对四边形划分的三角网格模型进行B样条曲面重建的两个实例。图5a是个封闭的三角网格模型,有62856个面片,31432个顶点,划分为222个四边形区域;图5b是重建的曲面模型,曲面重建过程共耗时4.5s,测试环境为Inteli53.0GHz,4GB内存。图6a是个非封闭的三角网格模型,有30355个面片,15304个顶点,划分为367个四边形区域,图6b是重建的曲面模型,曲面重建过程共耗时5.6s。从图中可以看出,重建的曲面片在边界上具有较好的连续性,同时在曲面内部保持了模型的几何特征。

Claims (4)

1.任意四边形网格上光滑曲面的重建方法,其特征在于:所述重建方法包括下述步骤:
1)生成四边形区域边界曲线
用三次B样条曲线拟合四边形区域边界上的采样点得到边界曲线,而且对所有的边界曲线采用相同的节点向量,使相对的两条边的节点向量相容;
在生成边界曲线时,首先找出四边形网格上的长边,长边由依次相连的多条边组成,长边的首末端点为奇异顶点或网格边界上的正则顶点;得到长边后,取出组成长边的每条边上的采样点,将它们合在一起,拟合出一条长曲线,该曲线插值长边上的顶点,逼近每条边上的采样点;再将长曲线在顶点处打断,得到每条边上对应的边界曲线,使边界曲线在正则顶点处C2连续,奇异顶点处G0连续;
2)对每个四边形区域,由边界曲线和内部数据点拟合生成B样条曲面;
3)在正则顶点处进行C2相容性调整,再进行奇异顶点处G1相容性调整,过程如下:
3.1)正则顶点处的C2相容性调整按下述方法进行:
计算与正则顶点P相连的4个曲面{Si,i=1,...,4}在P处的混合偏导 V i = &PartialD; 2 S i ( u i , v i ) &PartialD; u i &PartialD; v i | u i = v i = 0 , X i = &PartialD; 3 S i ( u i , v i ) &PartialD; u i 2 &PartialD; v i | u i = v i = 0 , Y i = &PartialD; 3 S i ( u i , v i ) &PartialD; u i &PartialD; v i 2 | u i = v i = 0 , Z i = &PartialD; 4 S i ( u i , v i ) &PartialD; u i 2 &PartialD; v i 2 | u i = v i = 0 ; 对它们进行平均,将平均后的混合偏导作为曲面在P点处的新的混合偏导,并调整曲面相应的控制顶点,则曲面在P点处有公共的2至4阶混合偏导,在P点处C2相容;
3.2)奇异顶点处G1相容性调整按下述方法进行:
记与奇异顶点P相连的曲面片为{Si(ui,vi),i=1,...,n},边界曲线为{Ci,i=1,...,n};要使G1连续的曲面片{Si(ui,vi),i=1,...,n}在顶点P处扭矢相容,要求边界曲线{Ci}在顶点P处达到G2连续;在顶点P点处构造一张C2连续的基曲面S,其中S在P点的一阶、二阶导数分别为Su、Sv、Suu、Suv、Svv;边界曲线{Ci,i=1,...,n}在P点处G2连续,则P点处新的切矢和曲率矢满足下述关系式:
T i * = &alpha; i S u + &beta; i S v ,
H i * = &alpha; i 2 S uu + 2 &alpha; i &beta; i S uv + &beta; i 2 S vv + &lambda; i S u + &gamma; i S v ,
其中αiiii为常数,将曲面片{Si(ui,vi),i=1,...,n}在P点处的扭矢取为
V i * = &alpha; i + 1 &alpha; i S uu + ( &alpha; i + 1 &beta; i + &alpha; i &beta; i + 1 ) S uv + &beta; i + 1 &beta; i S vv + &xi; i S u + &eta; i S v ;
则{Si(ui,vi),i=1,...,n}在P点处G1相容;
首先在P点处求出一个公共切平面Π,将Ti投影到Π,得到新的切矢然后用最小二乘法求出曲率矢和扭矢在法向N上的投影调整后的曲率矢和扭矢
H i * = H i + ( < H i * , N > - < H i , N > ) N , V i * = V i + ( < V i * , N > - < V i , N > ) N ;
求得新的曲率矢和扭矢后,调整曲面片的相应控制顶点,使{Si,i=1,...,n}在顶点P处G2连续并且G1相容;
4)正则边界上进行C2连续调整
计算与正则边Ci(v)相连的两曲面Si-1、Si的一阶、二阶跨界导矢曲线 对它们进行平均,得到新的跨界导矢曲线 D i + * ( v ) , DD i + * ( v ) :
D i - * ( v ) = D i + * ( v ) = 1 2 ( D i - ( v ) + D i + ( v ) ) , DD i - * ( v ) = DD i + * ( v ) = 1 2 ( DD i - ( v ) + DD i + ( v ) ) ;
再根据新的跨界导矢曲线调整曲面Si-1、Si靠近边界Ci(v)的第二、第三排控制顶点,使Si-1、Si在边界Ci(v)上C2连续;
5)非正则边界上进行近似G1连续调整
首先计算两曲面在公共边界上内部节点处的一阶跨界导矢 根据切平面矫正调整这些跨界导矢,然后求出新的跨界导矢曲线使插值 { D i - ( v k ) , k = 4 , . . . , n } , { D i + ( v k ) , k = 4 , . . . , n } , 且满足如下端点条件:
D i - ( 0 ) = T i - 1,0 , D i - ( 1 ) = T i - 1,1 , D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 ;
D i + ( 0 ) = T i + 1,0 , D i + ( 1 ) = T i + 1,1 , D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1
接着由新的跨界导矢曲线调整两个曲面靠近公共边界的第二排控制顶点,检查两曲面在公共边界上法矢的夹角,在夹角大于给定的误差允许值的地方插入节点,重新计算跨界导矢曲线;整个过程迭代进行,直到各个节点区间的法矢夹角都小于给定的误差允许值或插入的节点数量达到一个上限值。
2.如权利要求1所述的任意四边形网格上光滑曲面的重建方法,其特征在于:所述步骤2)中,给定四边形区域的四条边界曲线及内部数据点集,通过最小二乘拟合重构一张双三次B样条曲面,重构曲面插值四条边界曲线,逼近内部点。
3.如权利要求2所述的任意四边形网格上光滑曲面的重建方法,其特征在于:所述步骤2)中,首先由4条边界曲线创建一张双线性Coons曲面,然后将散乱点Pk投影到该基曲面计算得到点Pk的参数值(uk,vk);曲面S(u,v)边界上的控制顶点由4条边界曲线的控制顶点确定,内部的控制顶点通过最小二乘拟合如下的目标函数F得到,
F=Flsq+λFfair,其中Flsq为最小二乘项,Ffair为光顺项,λ为光顺项系数。
4.如权利要求1~3之一所述的任意四边形网格上光滑曲面的重建方法,其特征在于:所述步骤5)的具体步骤如下:
Step0:设定初始值:两个曲面在公共边界上法矢夹角θ的最大误差为θmax,在公共边界上允许插入的最大节点个数为Nmax,当前插入的节点个数Ninserted=0,边界曲线初始的节点向量为V={0,0,0,0,v4,v5,...,vn,1,1,1,1};
Step1:在节点{vk,k=4,...,n}处,计算曲线Ci(v)的切矢{C′i(vk),k=4,...,n},Si-1、Si沿着边界Ci(v)的跨界导矢Si-1、Si在点Ci(vk)处的法矢 N k - = D i - ( v k ) &times; C i &prime; ( v k ) , N k + = C i &prime; ( v k ) &times; D i + ( v k ) (k=4,...,n);
Step2:矫正采样点Ci(vk)处的跨界导矢,使C′i(vk)、共面,满足G1连续条件,首先确定两个曲面在点Ci(vk)处的公共法向
N k = ( N k - + N k + ) / | | N k - + N k + | | ;
矫正后的跨界导矢
D i - ( v k ) * = D i - ( v k ) - < D i - ( v k ) , N k > * N k ,
D i + ( v k ) * = D i + ( v k ) - < D i + ( v k ) , N k > * N k
Step3:以当前边界曲线Ci(v)的节点向量V作为跨界导矢曲线的节点向量,拟合新的跨界导矢曲线使插值 D - { T i - 1,0 , D i - ( v 4 ) * , . . . , D i - ( v n ) * , T i - 1,1 } D i - &prime; ( 0 ) = V i - 1,0 , D i - &prime; ( 1 ) = V i - 1,1 , 插值 D + { T i + 1,0 , D i + ( v 4 ) * , . . . , D i + ( v n ) * , T i + 1,1 } D i + &prime; ( 0 ) = V i , 0 , D i + &prime; ( 1 ) = V i , 1 ;
Step4:根据矫正后的跨界导矢曲线调整Si-1、Si靠近边界Ci(v)的第二排控制顶点;
Step5:经过上述调整,Si-1、Si在节点{vk,k=3,...,n+1}处已经达到G1连续,在每个节点区间[vk,vk+1](k=3,...,n)内再取m个采样点
v k , j = v k + j m + 1 ( v k + 1 - t k ) , ( j = 1 , . . . , m ) ;
计算Si-1、Si在节点{vk,j,k=3,...,n,j=1,...,m}处的跨界导矢法矢求出两个法向的夹角{θk,j};
Step6:找出每个区间内夹角最大处的节点值{vk,j,k=3,...,n,j=pk},如果该处的夹角大于θmax,则将加入到待插入的节点集合,记待插入节点集合为 V * = { v l * , l = 0 , . . . , s } ;
Step7:如果将节点分别插入到曲线Ci(v)及曲面Si-1、Si中去,得到新的节点向量V=V∪V*,计算当前已插入的节点数Ninserted=Ninserted+s+1;矫正处的跨界导矢,得到新的跨界导矢 D - * = { D i - ( v l * ) , l = 0 , . . . , s } , D + * = { D i + ( v l * ) , l = 0 , . . . , s } , 新的待拟合的跨界导矢集合为D-=D-∪D-*、D+=D+∪D+*
Step8:重复Step3-Step7,直到或者Ninserted>Nmax,算法结束。
CN201410383403.9A 2014-08-06 2014-08-06 任意四边形网格上光滑曲面的重建方法 Pending CN104157013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410383403.9A CN104157013A (zh) 2014-08-06 2014-08-06 任意四边形网格上光滑曲面的重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410383403.9A CN104157013A (zh) 2014-08-06 2014-08-06 任意四边形网格上光滑曲面的重建方法

Publications (1)

Publication Number Publication Date
CN104157013A true CN104157013A (zh) 2014-11-19

Family

ID=51882501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410383403.9A Pending CN104157013A (zh) 2014-08-06 2014-08-06 任意四边形网格上光滑曲面的重建方法

Country Status (1)

Country Link
CN (1) CN104157013A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787226A (zh) * 2016-05-11 2016-07-20 上海理工大学 四边有限元网格模型的参数化模型重建
CN106168942A (zh) * 2016-07-12 2016-11-30 河海大学 一种基于奇异边界法的波动类型动态数据重构方法
CN106202822A (zh) * 2016-07-27 2016-12-07 西北工业大学 面向叶片自适应加工的b样条曲面模型重构方法
CN106420078A (zh) * 2016-09-29 2017-02-22 上海正雅齿科科技有限公司 非均匀厚度膜片的计算方法
CN107270858A (zh) * 2017-06-15 2017-10-20 天津大学 一种基于三坐标自由曲面的智能几何采样方法
CN108107836A (zh) * 2017-12-20 2018-06-01 天津大学 一种建立针对自由曲面的加工误差模型mem的方法
CN108132645A (zh) * 2016-12-01 2018-06-08 华中科技大学 一种保证刀具轨迹整体g2连续的曲线拟合方法
CN110211201A (zh) * 2019-05-07 2019-09-06 北京航空航天大学 一种b样条曲面重建方法
CN111469125A (zh) * 2020-04-01 2020-07-31 南京浦航机械科技开发有限公司 一种应用于曲面产品自动钻铆的孔位修正方法
CN111797555A (zh) * 2020-07-01 2020-10-20 上海理工大学 一种基于有限元模型的几何重构方法
CN113419409A (zh) * 2021-07-16 2021-09-21 中国科学院长春光学精密机械与物理研究所 一种自由曲面控制的方法及装置
CN114488522A (zh) * 2022-01-26 2022-05-13 北京理工大学 一种顺滑拼接自由曲面的光学描述方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
蒋跃华: "《基于网格的CAD曲面造型技术》", 《中国博士学位论文全文数据库》 *
蒋跃华等: "《任意四边形网格上 连续B样条曲面的构造》", 《浙江大学学报(工学版)》 *
蒋跃华等: "《基于C-C细分的四边形网格上插值光滑Bezier曲面的生成》", 《计算机辅助设计与图形学学报》 *
谭光华等: "《基于原始曲面信息的变形网格的曲面重构》", 《中国机械工程》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787226B (zh) * 2016-05-11 2018-11-20 上海理工大学 四边有限元网格模型的参数化模型重建
CN105787226A (zh) * 2016-05-11 2016-07-20 上海理工大学 四边有限元网格模型的参数化模型重建
CN106168942A (zh) * 2016-07-12 2016-11-30 河海大学 一种基于奇异边界法的波动类型动态数据重构方法
CN106168942B (zh) * 2016-07-12 2018-08-21 河海大学 一种基于奇异边界法的波动类型动态数据重构方法
CN106202822A (zh) * 2016-07-27 2016-12-07 西北工业大学 面向叶片自适应加工的b样条曲面模型重构方法
CN106202822B (zh) * 2016-07-27 2019-04-19 西北工业大学 面向叶片自适应加工的b样条曲面模型重构方法
CN106420078A (zh) * 2016-09-29 2017-02-22 上海正雅齿科科技有限公司 非均匀厚度膜片的计算方法
CN106420078B (zh) * 2016-09-29 2018-09-21 上海正雅齿科科技股份有限公司 非均匀厚度膜片的计算方法
CN108132645A (zh) * 2016-12-01 2018-06-08 华中科技大学 一种保证刀具轨迹整体g2连续的曲线拟合方法
CN107270858A (zh) * 2017-06-15 2017-10-20 天津大学 一种基于三坐标自由曲面的智能几何采样方法
CN108107836A (zh) * 2017-12-20 2018-06-01 天津大学 一种建立针对自由曲面的加工误差模型mem的方法
CN110211201A (zh) * 2019-05-07 2019-09-06 北京航空航天大学 一种b样条曲面重建方法
CN111469125A (zh) * 2020-04-01 2020-07-31 南京浦航机械科技开发有限公司 一种应用于曲面产品自动钻铆的孔位修正方法
CN111797555A (zh) * 2020-07-01 2020-10-20 上海理工大学 一种基于有限元模型的几何重构方法
CN111797555B (zh) * 2020-07-01 2022-06-24 上海理工大学 一种基于有限元模型的几何重构方法
CN113419409A (zh) * 2021-07-16 2021-09-21 中国科学院长春光学精密机械与物理研究所 一种自由曲面控制的方法及装置
CN113419409B (zh) * 2021-07-16 2022-09-20 中国科学院长春光学精密机械与物理研究所 一种自由曲面控制的方法及装置
CN114488522A (zh) * 2022-01-26 2022-05-13 北京理工大学 一种顺滑拼接自由曲面的光学描述方法
CN114488522B (zh) * 2022-01-26 2023-09-05 北京理工大学 一种顺滑拼接自由曲面的光学描述方法

Similar Documents

Publication Publication Date Title
CN104157013A (zh) 任意四边形网格上光滑曲面的重建方法
CN109035410B (zh) 一种基于离散化的多重曲面建筑网格划分方法
CN104570928A (zh) 基于共形参数化的网格曲面上数控加工轨迹规划方法
CN104331023A (zh) 一种用于五轴数控加工的等残留高度刀触点轨迹的生成及优化处理方法
Arapakopoulos et al. Parametric models for marine propellers
Gao et al. Grid generation on free-form surface using guide line advancing and surface flattening method
CN102981454A (zh) 一种基于势能场及能量泛函优化的刀具轨迹路径产生方法
CN106126794B (zh) 一种三角网格曲面下切割面动态调整的射线寻迹方法
Carruthers et al. Aerodynamics of aerofoil sections measured on a free-flying bird
CN105374068B (zh) 自由曲面网格结构的网格划分方法
CN102938008A (zh) 一种人体建模中曲面拟合的进化算法
CN108499785A (zh) 一种基于最小厚度约束的复杂曲面喷涂轨迹计算方法
CN107369127A (zh) 一种沿行切路径进给的三维类摆线抛光轨迹生成方法
CN104898556A (zh) 由成形刀具确定被加工螺旋曲面廓形的点矢量包络法
CN104238455B (zh) 一种利用球头刀铣削自由曲面的加工方法
CN109800442A (zh) 航空发动机叶片模型重构方法
CN106707969A (zh) 一种沿中心轴线进给的三维类摆线抛光轨迹生成方法
CN104898557A (zh) 螺旋曲面成形加工中确定刀具廓形的点矢量包络法
CN103480534A (zh) 机器人喷涂工件曲面造型方法
CN109241670B (zh) 一种圆弧齿廓双弧形螺旋齿轮真实齿面创成方法
CN103942366A (zh) 基于四段有理Bézier曲线表示的曲率连续的翼型及其生成方法
Zahle et al. Design of the LRP airfoil series using 2D CFD
CN103150419A (zh) 用解析函数表示的翼型及其生成方法
Gavrilenko et al. Discretely geometrical modelling of one-dimensional contours with a regular change of differential-geometric characteristics
Ma et al. Normal vector estimation for point clouds via local delaunay triangle mesh matching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141119

WD01 Invention patent application deemed withdrawn after publication