任意四邊形網(wǎng)格上光滑曲面的重建方法
【專利摘要】任意四邊形網(wǎng)格上光滑曲面的重建方法,包括以下步驟:1)生成四邊形區(qū)域邊界曲線;2)對每個四邊形區(qū)域,由邊界曲線和內(nèi)部數(shù)據(jù)點擬合生成B樣條曲面;3)在正則頂點處進(jìn)行C2相容性調(diào)整,奇異頂點處G1相容性調(diào)整;4)正則邊界上進(jìn)行C2連續(xù)調(diào)整;5)非正則邊界上進(jìn)行近似G1連續(xù)調(diào)整。本發(fā)明提供了一種簡化求解、提高效率、提升重建效果的任意四邊形網(wǎng)格上光滑B樣條曲面的重建方法。
【專利說明】
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于曲面造型領(lǐng)域,涉及一種在經(jīng)過四邊形劃分后網(wǎng)格上重建光滑拼接曲 面片的方法。 任意四邊形網(wǎng)格上光滑曲面的重建方法
【背景技術(shù)】
[0002] 在對諸如人體器官、骨骼、玩具公仔等以自由曲面為主的復(fù)雜模型逆向工程建模 中,很難用單一曲面片對模型進(jìn)行表述,通常首先需要對原始模型進(jìn)行四邊形劃分,然后在 每個四邊形區(qū)域上進(jìn)行曲面重建,并逼近內(nèi)部數(shù)據(jù)點,同時曲面片之間應(yīng)該實現(xiàn)光滑拼接。 衡量光滑程度通常用兩種連續(xù)性:一是參數(shù)連續(xù)性,記為C";二是幾何連續(xù)性,記為G n,η指 連續(xù)階數(shù)。參數(shù)連續(xù)是指在曲面切平面的任一方向上兩曲面片的方向?qū)?shù)相等,Cn連續(xù)指 0-n階方向?qū)?shù)相等。幾何連續(xù)中的G°是指位置連續(xù),G 1指切平面連續(xù),G2指主曲率和主 方向連續(xù)。
[0003] 四邊形網(wǎng)格的頂點根據(jù)頂點的度數(shù)(與頂點相連的邊的條數(shù))分為正則頂點和奇 異頂點:網(wǎng)格內(nèi)部的正則頂點度數(shù)為4,奇異頂點度數(shù)為3、5及以上;網(wǎng)格邊界上的正則頂 點度數(shù)為3,奇異頂點度數(shù)為2、4及以上。如果一條邊的兩個頂點都是正則頂點,則該邊為 正則邊,否則為非正則邊。
[0004] 多張曲面間的連續(xù)拼接問題,已有不少學(xué)者對此進(jìn)行了研究,出現(xiàn)了多種連續(xù)拼 接曲面的重建方法。Milroy等[1]提出了一種近似G 1連續(xù)的分片B樣條曲面擬合方法,將 G1連續(xù)條件作為約束條件,通過求解非線性最小二乘問題的解來保證曲面間的連續(xù)性。該 方法計算量比較大,而且只能得到近似的G 1連續(xù)。Eck和Hoppe[2]利用Peter[3]提出的曲面 樣條構(gòu)造方法來生成雙三次B樣條曲面片,對四邊形網(wǎng)格進(jìn)行兩次Doo-Sabin細(xì)分 [5]后得 至IJ一個生成B樣條曲面片的控制網(wǎng)格,B樣條曲面片的控制頂點由控制網(wǎng)格頂點的線性組 合得到,構(gòu)造過程自動保證了 B樣條曲面片間的G1連續(xù)。曲面的擬合轉(zhuǎn)化為對控制網(wǎng)格頂 點位置的最小二乘求解。為了得到保證精度的曲面,曲面構(gòu)造需要迭代進(jìn)行,整個過程非常 耗時。Peter [4]通過對任意四邊形網(wǎng)格進(jìn)行Catmull-Clark細(xì)分[6],在每個四邊形面片上, 得到一張雙三次B樣條曲面,并且曲面片間除了奇異點處C 1連續(xù),其他各處達(dá)到了 C2連續(xù), 但由于Catmull-Clark細(xì)分的收縮性,重建的曲面模型會有較大的收縮。施錫泉等在[7] 中給出了在經(jīng)過四邊形區(qū)域劃分后的模型上重建收斂G 1連續(xù)的雙三次B樣條曲面片的方 法,隨著曲面控制頂點的增加,曲面片間趨向于G1連續(xù)。隨后,在[8]中討論了內(nèi)部沒有重 節(jié)點的雙五次B樣條曲面片間的G 1連續(xù)性條件,給出了生成嚴(yán)格的G1連續(xù)的雙五次B樣條 曲面的局部構(gòu)造方法。局部構(gòu)造方法首先擬合得到一個G°連續(xù)的曲面片網(wǎng)格,然后再根據(jù) G 1連續(xù)性條件對曲面的控制頂點進(jìn)行局部修改使曲面片間連續(xù)。
[0005] 已有的分片連續(xù)曲面重建方法得到的曲面大部分只有G1連續(xù),而且有的方法求解 復(fù)雜,效率不高,或者重建的曲面不能較好的保持原始模型的幾何特征,并不實用。
【發(fā)明內(nèi)容】
[0006] 為了克服已有分片連續(xù)曲面重建方法的求解復(fù)雜、效率不高、重建效果較差的不 足,本發(fā)明提供了一種簡化求解、提高效率、提升重建效果的任意四邊形網(wǎng)格上光滑B樣條 曲面的重建方法。
[0007] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0008] 任意四邊形網(wǎng)格上光滑曲面的重建方法,所述重建方法包括下述步驟:
[0009] 1)生成四邊形區(qū)域邊界曲線
[0010] 用三次B樣條曲線擬合四邊形區(qū)域邊界上的采樣點得到邊界曲線,而且對所有的 邊界曲線采用相同的節(jié)點向量,使相對的兩條邊的節(jié)點向量相容;
[0011] 在生成邊界曲線時,首先找出四邊形網(wǎng)格上的長邊,長邊由依次相連的多條邊組 成,長邊的首末端點為奇異頂點或網(wǎng)格邊界上的正則頂點;得到長邊后,取出組成長邊的每 條邊上的采樣點,將它們合在一起,擬合出一條長曲線,該曲線插值長邊上的頂點,逼近每 條邊上的采樣點;再將長曲線在頂點處打斷,得到每條邊上對應(yīng)的邊界曲線,使邊界曲線在 正則頂點處C 2連續(xù),奇異頂點處G°連續(xù);
[0012] 2)對每個四邊形區(qū)域,由邊界曲線和內(nèi)部數(shù)據(jù)點擬合生成B樣條曲面;
[0013] 3)在正則頂點處進(jìn)行C2相容性調(diào)整,再進(jìn)行奇異頂點處G1相容性調(diào)整,過程如 下:
[0014] 3. 1)正則頂點處的C2相容性調(diào)整按下述方法進(jìn)行:
[0015] 計算與正則頂點P相連的4個曲面{Si (Ui, Vi), i = 1,…,4}在P處的混合偏導(dǎo)
【權(quán)利要求】
1.任意四邊形網(wǎng)格上光滑曲面的重建方法,其特征在于:所述重建方法包括下述步 驟: 1) 生成四邊形區(qū)域邊界曲線 用三次B樣條曲線擬合四邊形區(qū)域邊界上的采樣點得到邊界曲線,而且對所有的邊界 曲線采用相同的節(jié)點向量,使相對的兩條邊的節(jié)點向量相容; 在生成邊界曲線時,首先找出四邊形網(wǎng)格上的長邊,長邊由依次相連的多條邊組成,長 邊的首末端點為奇異頂點或網(wǎng)格邊界上的正則頂點;得到長邊后,取出組成長邊的每條邊 上的采樣點,將它們合在一起,擬合出一條長曲線,該曲線插值長邊上的頂點,逼近每條邊 上的采樣點;再將長曲線在頂點處打斷,得到每條邊上對應(yīng)的邊界曲線,使邊界曲線在正則 頂點處C 2連續(xù),奇異頂點處G°連續(xù); 2) 對每個四邊形區(qū)域,由邊界曲線和內(nèi)部數(shù)據(jù)點擬合生成B樣條曲面; 3) 在正則頂點處進(jìn)行C2相容性調(diào)整,再進(jìn)行奇異頂點處G1相容性調(diào)整,過程如下: 3. 1)正則頂點處的C2相容性調(diào)整按下述方法進(jìn)行: 計算與正則頂點P相連的4個曲面{Si, i = 1,...,4}在P處的混合偏導(dǎo)
對它們 進(jìn)行平均,將平均后的混合偏導(dǎo)作為曲面在P點處的新的混合偏導(dǎo),并調(diào)整曲面相應(yīng)的控 制頂點,則曲面在P點處有公共的2至4階混合偏導(dǎo),在P點處C2相容; 3. 2)奇異頂點處G1相容性調(diào)整按下述方法進(jìn)行: 記與奇異頂點P相連的曲面片為{Si (Ui, Vi),i = 1,· · ·,η},邊界曲線為{Ci, i = 1,. . .,η};要使G1連續(xù)的曲面片{Si (Ui,Vi),i = 1,. . .,η}在頂點P處扭矢相容,要求邊界 曲線{CJ在頂點P處達(dá)到G2連續(xù);在頂點P點處構(gòu)造一張C 2連續(xù)的基曲面S,其中S在P 點的一階、二階導(dǎo)數(shù)分別為Su、Sv、S uu、Suv、Svv ;邊界曲線ΙΑ,i = 1,. . .,η}在Ρ點處G2連 續(xù),則Ρ點處新的切矢7Γ和曲率矢< 滿足下述關(guān)系式:
其中ai,β。入^ Yi為常數(shù),將曲面片= 1,...,η}在Ρ點處的扭矢 取為
則以(Ui,Vi),i = 1,…,η}在P點處G1相容; 首先在Ρ點處求出一個公共切平面11,將1\投影到Π,得到新的切矢If;然后用最小二 乘法求出曲率矢 <和扭矢r/在法向N上的投影<ΛΓ> ? <if,JV > ,調(diào)整后的曲率矢 和扭矢E為
求得新的曲率矢! = 1,...,ri丨和扭矢= 1,....?丨后,調(diào)整曲面片的相應(yīng)控制頂點,使 {Si,i = 1,. . .,η}在頂點P處G2連續(xù)并且G1相容; 4) 正則邊界上進(jìn)行C2連續(xù)調(diào)整 計算與正則邊Ci(v)相連的兩曲面Sg、Si的一階、二階跨界導(dǎo)矢曲線狄(v>、 DD,. i v)、D/ (r)、Di)/ (v),對它們進(jìn)行平均,得到新的跨界導(dǎo)矢曲線、DO,. #(v)、 β廠(v}、DD廣(ν):
再根據(jù)新的跨界導(dǎo)矢曲線調(diào)整曲面靠近邊界Q (v)的第二、第三排控制頂點,使 SH、Si在邊界C?上C2連續(xù); 5) 非正則邊界上進(jìn)行近似G1連續(xù)調(diào)整 首先計算兩曲面在公共邊界上內(nèi)部節(jié)點處的一階跨界導(dǎo)矢..... ?Ι);?νΑ-:α· = 4.…根據(jù)切平面矯正調(diào)整這些跨界導(dǎo)矢,然后求出新的跨界導(dǎo)矢曲線 4(1..'卜 ,使舄 W、?,:(ν)插值.界= 4,...,n丨、{1>Πν?),Α =4,...,n} ?且滿足如下端點條 件:
接著由新的跨界導(dǎo)矢曲線調(diào)整兩個曲面靠近公共邊界的第二排控制頂點,檢查兩曲面 在公共邊界上法矢的夾角,在夾角大于給定的誤差允許值的地方插入節(jié)點,重新計算跨界 導(dǎo)矢曲線;整個過程迭代進(jìn)行,直到各個節(jié)點區(qū)間的法矢夾角都小于給定的誤差允許值或 插入的節(jié)點數(shù)量達(dá)到一個上限值。
2. 如權(quán)利要求1所述的任意四邊形網(wǎng)格上光滑曲面的重建方法,其特征在于:所述步 驟2)中,給定四邊形區(qū)域的四條邊界曲線及內(nèi)部數(shù)據(jù)點集,通過最小二乘擬合重構(gòu)一張雙 三次B樣條曲面,重構(gòu)曲面插值四條邊界曲線,逼近內(nèi)部點。
3. 如權(quán)利要求2所述的任意四邊形網(wǎng)格上光滑曲面的重建方法,其特征在于:所述步 驟2)中,首先由4條邊界曲線創(chuàng)建一張雙線性Coons曲面,然后將散亂點P k投影到該基曲 面計算得到點Pk的參數(shù)值(uk,vk);曲面S(u,v)邊界上的控制頂點由4條邊界曲線的控制 頂點確定,內(nèi)部的控制頂點通過最小二乘擬合如下的目標(biāo)函數(shù)F得到, F = Fls(1+X Ffai,,其中Flsq為最小二乘項,F(xiàn)fai,為光順項,λ為光順項系數(shù)。
4. 如權(quán)利要求1?3之一所述的任意四邊形網(wǎng)格上光滑曲面的重建方法,其特征在于: 所述步驟5)的具體步驟如下: StepO:設(shè)定初始值:兩個曲面在公共邊界上法矢夾角Θ的最大誤差為θ_,在公共邊 界上允許插入的最大節(jié)點個數(shù)為Nmax,當(dāng)前插入的節(jié)點個數(shù)NinsOTte;d = 0,邊界曲線初始的節(jié) 點向量為 V = {〇, 〇, 〇, 〇, v4, v5, · · ·,vn,1,1,1,1}; Stepl:在節(jié)點{vk, k = 4, · · ·,η}處,計算曲線 Q (v)的切矢{C' i (vk), k = 4, · · ·,η}, S^Si 沿著邊界(:? 的跨界導(dǎo)矢鞏也―),/f =4,...,?丨、= ; S^Si 在點 Ci(vk) 處的法矢、
St印2:矯正采樣點Ci(vk)處的跨界導(dǎo)矢,使C' JvkhAh)、β/(ν*)共面,滿足G1連 續(xù)條件,首先確定兩個曲面在點Ci(vk)處的公共法向
矯正后的跨界導(dǎo)矢〇/(4)#為
Step3:以當(dāng)前邊界曲線(;卜)的節(jié)點向量V作為跨界導(dǎo)矢曲線的節(jié)點向量,擬合新 的跨界導(dǎo)矢曲線5使D?插值Ο
且 St印4:根據(jù)矯正后的跨界導(dǎo)矢曲線巧>)、D,>·)調(diào)整S^Si靠近邊界(:?的第二 排控制頂點; Step5:經(jīng)過上述調(diào)整,在節(jié)點{vk, k = 3, · · · , n+1}處已經(jīng)達(dá)到G1連續(xù),在每個 節(jié)點區(qū)間[vk, vk+1] (k = 3,. . .,η)內(nèi)再取m個采樣點
計算Sg、Si在節(jié)點{vk,』,k = 3,. . .,n, j = 1,. . .,m}處的跨界導(dǎo)矢 -W(vi-._/)丨、^(ν?:.7))+,法矢彳-U、?·υ+;求出兩個法向的夾角{Q k,j}; Step6:找出每個區(qū)間內(nèi)夾角最大處的節(jié)點值{vk,」,k = 3,. . .,n, j = pk},如 果該處的夾角大于θ_,則將^義加入到待插入的節(jié)點集合,記待插入節(jié)點集合為
St印7:如果F、0,將節(jié)點<(/ = 0,...,.、')+分別插入到曲線C?及曲 面Sg、Si中去,得到新的節(jié)點向量V = V U V%計算當(dāng)前已插入的節(jié)點 數(shù)Ninserted = Ninserted+S+1 ;矯正{vp = 0,...,4處的跨界導(dǎo)矢,得到新的跨界導(dǎo)矢 IT%叫、'丨、Ο, = !0/(<),/二0,...,.、1 ,新的待擬合的跨界導(dǎo)矢集合為D_ = D_ U D_*、D+ = D+ U D+* ; Step8:重復(fù) Step3 - Step7,直到 K = 0 或者 Ninserted > Nmax,算法結(jié)束。
【文檔編號】G06T17/30GK104157013SQ201410383403
【公開日】2014年11月19日 申請日期:2014年8月6日 優(yōu)先權(quán)日:2014年8月6日
【發(fā)明者】葉修梓, 蔣躍華, 陳志楊 申請人:杭州新迪數(shù)字工程系統(tǒng)有限公司