專利名稱:產(chǎn)生具有所要求的幾何連續(xù)度的參數(shù)化曲面的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)輔助設(shè)計(jì)領(lǐng)域,特別是計(jì)算機(jī)輔助產(chǎn)生參數(shù)化曲面(parametric surface)。
背景技術(shù):
市場(chǎng)上提供有多種系統(tǒng)和程序,用于零部件的設(shè)計(jì)和零部件的組裝,例如本申請(qǐng)人的商標(biāo)為CATIA的產(chǎn)品。這些所謂的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)允許使用者構(gòu)建和處理零部件或零部件組件的復(fù)雜的三維(3D)模型。
產(chǎn)生3D計(jì)算機(jī)圖形涉及到各種步驟,包括建模和處理步驟(細(xì)分基本網(wǎng)格,轉(zhuǎn)化成參數(shù)化曲面,重飾...)。
多種不同的建模技術(shù)可以被用于產(chǎn)生一個(gè)組件的模型。這些技術(shù)包括實(shí)體建模、線架建模和曲面建模。實(shí)體建模技術(shù)是為拓?fù)鋵W(xué)3D模型而提供的,其中3D模型是例如互連的邊和表面的集合。從幾何學(xué)上講,3D實(shí)體模型是限定出封閉表皮的多個(gè)修剪和定界曲面的集合。修剪的曲面對(duì)應(yīng)于由邊限定邊界的拓?fù)浔砻?。封閉表皮限定出由零部件材料填充的3D空間的邊界區(qū)域。另一方面,線架建??梢员挥糜诒憩F(xiàn)作為簡(jiǎn)單3D線條集合的模型,而曲面建??梢员挥糜诒憩F(xiàn)作為外表面集合的模型。CAD系統(tǒng)可以組合這些以及其它建模技術(shù),例如參數(shù)化建模技術(shù)。CAD系統(tǒng)因此而利用邊或線條(有時(shí)用曲面)提供了對(duì)建模對(duì)象的表現(xiàn)。建模對(duì)象包括多個(gè)線條或邊;它們可以用各種方式表現(xiàn)出來(lái),例如非均勻有理B樣條曲線(NURBS)、Bezier曲線或其它描繪曲線的算法。
關(guān)于處理步驟,在對(duì)象建模過(guò)程中,CAD程序通常使用基本網(wǎng)格(base mesh)?;揪W(wǎng)格是由互連的基元多邊形例如三角形或四邊形形成的網(wǎng)絡(luò)。
在設(shè)計(jì)過(guò)程中,使用者修改基本網(wǎng)格以獲得所需的模型,然后將其轉(zhuǎn)化為多個(gè)參數(shù)化曲面,例如NURBS即B樣條曲面。
關(guān)于被建模的產(chǎn)品,新潮的消費(fèi)產(chǎn)品的特點(diǎn)通常是具有平滑流線形狀,其復(fù)雜性要超過(guò)簡(jiǎn)單分析表面例如平面、箱體和圓柱體。這樣的產(chǎn)品的建模通常需要使用樣條曲線和曲面等。在設(shè)計(jì)產(chǎn)品時(shí),對(duì)象曲面的平滑度是主要考慮的。結(jié)果,3D建模者通常具有各式各樣的用于產(chǎn)生平滑曲面的工具。
在下面的描述中,“曲率”被用作幾何術(shù)語(yǔ)來(lái)表示曲線或曲面偏離完全筆直或平整形狀的程度。曲率通常是由局部密切半徑的倒數(shù)來(lái)計(jì)算出的。因此,當(dāng)曲線略微彎曲時(shí),其具有小曲率和大半徑,而當(dāng)曲線劇烈彎曲時(shí),其具有大曲率和小半徑。對(duì)于圓弧、圓或以它們?yōu)榛A(chǔ)的曲面,曲率是恒定的;對(duì)于更為復(fù)雜的形狀,例如樣條(以及以其為基礎(chǔ)的曲面),曲率沿曲線長(zhǎng)度連續(xù)變化。
此外,術(shù)語(yǔ)“連續(xù)度(continuity)”將被用于表示一曲線或曲面上的各個(gè)點(diǎn)之間、以及對(duì)接曲線或曲面之間的偏離(或關(guān)系)。這種關(guān)系可以歸入不同級(jí)別的連續(xù)度C0、C1或C2。C0只表示位置連續(xù)性(對(duì)接曲線/曲面時(shí)的情況也是如此)。在這種情況下,曲線在C0點(diǎn)表現(xiàn)出拐點(diǎn)。類似地,曲面具有沿C0接縫的折痕。對(duì)接曲線和曲面彼此接觸,但它們沒(méi)有曲率相似性。C1表示增加了切線連續(xù)性的連續(xù)度級(jí)別,C2增加了曲率連續(xù)性。如果曲線上一個(gè)點(diǎn)的兩側(cè)曲率相等,則曲線是無(wú)接縫的。
此外,可以參考G0、G1和G2幾何連續(xù)度(geometricalcontinuity),所述幾何連續(xù)度從數(shù)學(xué)的角度來(lái)看與前者略有不同,如本領(lǐng)域中所公知。例如,對(duì)于兩個(gè)結(jié)合的曲線段來(lái)說(shuō),如果各曲線的n階導(dǎo)數(shù)在結(jié)點(diǎn)處具有相同的方向(由某些矩陣限定的比例性就足夠了,不要求相等),則所述曲線段具有Gn連續(xù)度。結(jié)果,Cn就意味著Gn,但反過(guò)來(lái)就不一定正確。
在曲面建模的核心技術(shù)中,通常使用逐段低階代數(shù)曲面或隱式曲面片。曲面片通常是通過(guò)一個(gè)格子的控制點(diǎn)而控制的,從而可以變形。使用曲面片時(shí)重要的一點(diǎn)是,曲面片必須被適宜地結(jié)合,以確保沿曲面片邊界的幾何連續(xù)性。通常,曲面片單元被遞歸細(xì)分,以使局部曲率適應(yīng)于所要求的連續(xù)度。
在各種應(yīng)用中(例如計(jì)算機(jī)繪圖),細(xì)分曲面,例如Catmull-Clark,被用于逼近(模擬)由基本網(wǎng)格得出的曲面。特別地講,Catmull-Clark細(xì)分曲面目前被用于從任意的網(wǎng)格(即具有任意的拓?fù)鋵W(xué)結(jié)構(gòu))產(chǎn)生平滑的曲面。它們被描述為對(duì)用無(wú)限細(xì)化過(guò)程產(chǎn)生限制。一個(gè)關(guān)鍵的概念是細(xì)化通過(guò)反復(fù)細(xì)化初始多邊形網(wǎng)格,一系列的網(wǎng)格被產(chǎn)生,它們收斂到所產(chǎn)生的細(xì)分曲面。每個(gè)新細(xì)分步驟產(chǎn)生一個(gè)新的網(wǎng)格,其具有更多的多邊形單元并且更為平滑。特別地講,Catmull-Clark細(xì)分曲面可以被看作是雙三次均勻B樣條的產(chǎn)物。重要的一點(diǎn)是,所產(chǎn)生的網(wǎng)格主要包括四邊形,因此普通頂點(diǎn)的預(yù)期階數(shù)(valence,即坐標(biāo)數(shù))為4。在這一方面,有時(shí)要在開(kāi)式頂點(diǎn)(open vertex)和閉式頂點(diǎn)(closedvertex)之間作出區(qū)分。開(kāi)式/閉式頂點(diǎn)在本領(lǐng)域中是公知的。簡(jiǎn)而言之,假定一個(gè)頂點(diǎn)v被邊E1、E2、En+1包圍并結(jié)合,以使得En+1=E1,那么,如果沒(méi)有邊是尖銳邊,則該頂點(diǎn)被認(rèn)為是閉式的。
然而,在CAD領(lǐng)域,細(xì)分曲面由于不是參數(shù)化的而不常被采用。因此,CAD系統(tǒng)提供了轉(zhuǎn)化算法,以將細(xì)分曲面轉(zhuǎn)化成由一組曲面片例如NURBS曲面片組成的參數(shù)化曲面。
不過(guò),所產(chǎn)生的參數(shù)化曲面仍然導(dǎo)致連續(xù)性質(zhì)量不足。事實(shí)上,這些曲面在除下述點(diǎn)之外的任何地方具有曲率連續(xù)性這些點(diǎn)對(duì)應(yīng)于初始基本網(wǎng)格中那些不與四條邊關(guān)聯(lián)的頂點(diǎn),即超常規(guī)頂點(diǎn)(extraordinary vertices)。
在這一方面,大多數(shù)用于產(chǎn)生參數(shù)化曲面的現(xiàn)有技術(shù)沒(méi)有解決超常規(guī)頂點(diǎn)所產(chǎn)生的連續(xù)性問(wèn)題。
此外,與本申請(qǐng)相并行的一種方法被公開(kāi)其涉及離散傅里葉變換(參考C.LoopSecond Order Smoothness over Extraordinaryvertices,Eurographics Symposium on Geometry Processing,2004)。然而,這種方法被明確地指出僅僅適用于閉式超常規(guī)頂點(diǎn)。
因此,簡(jiǎn)而言之,需要有一種方法來(lái)產(chǎn)生參數(shù)化曲面,該方法應(yīng)同時(shí)符合下面條件-滿足給定的幾何連續(xù)度Gi的要求(例如G1或G2);-同時(shí)適用于開(kāi)式頂點(diǎn)和閉式頂點(diǎn);-使用局部的線性解析算法,以確保在出現(xiàn)高階數(shù)頂點(diǎn)的情況下,仍具有穩(wěn)定性。
此外,作為本發(fā)明的發(fā)明人的最大程度的了解,盡管現(xiàn)有技術(shù)中從總體上建議了產(chǎn)生參數(shù)化曲面的一些相關(guān)特征和變型,但現(xiàn)有技術(shù)沒(méi)有公開(kāi)下面描述的本發(fā)明的具有高度優(yōu)點(diǎn)的特征。
發(fā)明內(nèi)容
本發(fā)明涉及一種由一組參數(shù)化基元曲面產(chǎn)生具有所要求的Gi級(jí)幾何連續(xù)度的參數(shù)化曲面的方法。所述方法包括以下步驟提供一組參數(shù)化基元曲面,每個(gè)基元曲面具有邊,相鄰的邊通過(guò)頂點(diǎn)結(jié)合,每個(gè)基元曲面具有至少等于所要求的Gi級(jí)幾何連續(xù)度的Cj級(jí)內(nèi)部連續(xù)度(internal continuity)。這意味著,j大于或等于i,也就是說(shuō),所述內(nèi)部連續(xù)度至少涵蓋了所要求的幾何連續(xù)度。相反,至少兩個(gè)基元曲面之間在公共邊兩側(cè)的幾何連續(xù)度低于所要求的Gi級(jí)幾何連續(xù)度。此外,對(duì)于每個(gè)奇異頂點(diǎn),例如超常規(guī)頂點(diǎn),所述方法還包括以下步驟確定一個(gè)方程組,其與位于結(jié)合至奇異頂點(diǎn)的邊兩側(cè)的參數(shù)化基元曲面參數(shù)(包括所謂控制點(diǎn)的位置坐標(biāo))有關(guān),并可在結(jié)合的邊兩側(cè)實(shí)現(xiàn)所要求的幾何連續(xù)度;以及求解方程組,以獲得所述參數(shù)。所述奇異頂點(diǎn)結(jié)合著至少一條邊,在所述邊的兩側(cè),相鄰基元曲面之間的連續(xù)度低于所要求的Gi級(jí)幾何連續(xù)度。
因此,算法從根本上講是局部性的,對(duì)于每個(gè)超常規(guī)頂點(diǎn)確定出一套方程組并且對(duì)其求解。此外,同時(shí)考慮到開(kāi)式和閉式頂點(diǎn),開(kāi)式頂點(diǎn)沒(méi)有被棄用。此外,構(gòu)建局部方程可以實(shí)現(xiàn)線性解,這反過(guò)來(lái)又極大地簡(jiǎn)化或加速了處理過(guò)程。在完成處理過(guò)程后,由于上述方程組的實(shí)質(zhì),因此可以達(dá)到目標(biāo)連續(xù)度。
在一個(gè)實(shí)施例中,所述提供一組參數(shù)化基元曲面的步驟可以包括提供基本網(wǎng)格,其具有多個(gè)頂點(diǎn),這些頂點(diǎn)通過(guò)邊相連,以限定出表面;將基本網(wǎng)格的每個(gè)表面轉(zhuǎn)化成一個(gè)基元參數(shù)化曲面。因此,轉(zhuǎn)化步驟可以由具有任意拓?fù)浣Y(jié)構(gòu)的基本網(wǎng)格開(kāi)始工作,并且可以使用Catmull-Clark細(xì)分曲面。表面至曲面的測(cè)繪可以確保初始拓?fù)浣Y(jié)構(gòu)被遵從。
在一個(gè)改型中,基本網(wǎng)格的頂點(diǎn)包括階數(shù)為4的規(guī)則頂點(diǎn)和階數(shù)不為4的不規(guī)則頂點(diǎn);并且所述基本網(wǎng)格具有在頂點(diǎn)和/或邊處定義的對(duì)比度值;對(duì)比度代表的是由網(wǎng)格構(gòu)建的曲面上的頂點(diǎn)或邊的吸引力。對(duì)比度可以展示例如初始網(wǎng)格與有限細(xì)分曲面之間的差異,或者初始網(wǎng)格與以給定細(xì)分級(jí)別形成的網(wǎng)格之間的差異。所述轉(zhuǎn)化步驟還包括-提供至少三種不同類型的參數(shù)化曲面;以及-對(duì)于具有規(guī)則頂點(diǎn)并且在表面的頂點(diǎn)和/或邊處只具有第一對(duì)比度值(例如缺省值)的表面,應(yīng)用第一種參數(shù)化曲面;-對(duì)于具有規(guī)則頂點(diǎn)并且在至少一個(gè)頂點(diǎn)和/或邊具有第二對(duì)比度值(例如非缺省值)的表面,應(yīng)用第二種參數(shù)化曲面;以及-對(duì)于具有至少一個(gè)不規(guī)則頂點(diǎn)的表面,應(yīng)用第三種參數(shù)化曲面。
具有規(guī)則頂點(diǎn)并且頂點(diǎn)和邊處的對(duì)比度為缺省值的表面的一個(gè)典型例子是具有4階頂點(diǎn)和不尖銳邊的表面。
具有規(guī)則頂點(diǎn)并且頂點(diǎn)和邊處的對(duì)比度為非缺省值的表面的典型例子是(i)表面具有至少一個(gè)3階頂點(diǎn),該頂點(diǎn)位于兩個(gè)尖銳邊的結(jié)合部;(ii)表面具有由尖銳邊結(jié)合的4階頂點(diǎn)。請(qǐng)注意,位于尖銳邊上的3階頂點(diǎn)不被認(rèn)為是不規(guī)則頂點(diǎn)。因此,這樣的表面(包括具有開(kāi)式頂點(diǎn)的表面)將受到特殊處理。
具有至少一個(gè)不規(guī)則頂點(diǎn)的表面的一個(gè)典型例子是包括由非尖銳邊結(jié)合的超常規(guī)頂點(diǎn)的表面。因此,具有超常規(guī)頂點(diǎn)的表面在算法中被區(qū)別對(duì)待,并且被應(yīng)用適應(yīng)性參數(shù)化曲面。
此外,如前所述,方案同時(shí)考慮到規(guī)則和不規(guī)則頂點(diǎn),因此可以考慮采用頂角正交型四面體(tri-rectangular)網(wǎng)格。
因此,提供了一種漸進(jìn)式的參數(shù)化(因此而最優(yōu)化)方法。所應(yīng)用的曲面的類型(以及復(fù)雜性)被根據(jù)對(duì)比度的局部值和頂點(diǎn)的性質(zhì)而選擇,從而提供了對(duì)建模曲面的適應(yīng)性精細(xì)化。這極大地防止了提供過(guò)多的控制點(diǎn)。之后的解方程也因此而變得容易了。
因此,第一種參數(shù)化曲面的控制點(diǎn)數(shù)量?jī)?yōu)選少于第二、第三種參數(shù)化曲面的控制點(diǎn)數(shù)量。
此外,第三種參數(shù)化曲面的控制點(diǎn)數(shù)量?jī)?yōu)選多于第一、第二種參數(shù)化曲面的控制點(diǎn)數(shù)量。
由于應(yīng)用不同類型的曲面所提供的靈活性,因此在一個(gè)改型中,第一、第二和第三種參數(shù)化曲面的是B樣條類型的,同時(shí)還具有不同的結(jié)點(diǎn)矢量。
在一個(gè)優(yōu)選實(shí)施例中,所提供的參數(shù)化基元曲面是B樣條類型的,并且所述求解步驟中的參數(shù)是B樣條控制點(diǎn)的位置坐標(biāo)。這使得所要解決的問(wèn)題保持為線性問(wèn)題成為可能。
在另一個(gè)優(yōu)選實(shí)施例中,在確定方程組的步驟,所確定的方程組中的系數(shù)被設(shè)定為常數(shù),或是根據(jù)奇異點(diǎn)的類型而被設(shè)定。所述系數(shù)可以例如以多邊形的形式給出,由各個(gè)邊的相對(duì)長(zhǎng)度和邊之間的角度獲得。隨后,本領(lǐng)域技術(shù)人員可以根據(jù)預(yù)期的曲面視覺(jué)質(zhì)量調(diào)節(jié)所述系數(shù),例如通過(guò)試算和誤差校正。這樣,由于在解方程組之前設(shè)定了系數(shù),因此求解問(wèn)題保持為線性。
請(qǐng)注意,在一個(gè)改型中,上述參數(shù)可以包括一些系數(shù),例如根據(jù)使用者的要求,以使得問(wèn)題是至少部分非線性的。盡管在這種情況下非線性可能導(dǎo)致求解中的額外成本,但相對(duì)于所要求的連續(xù)度,如此解出的系數(shù)質(zhì)量可以提高。
前面非常廣義地概述了本發(fā)明的特征和優(yōu)點(diǎn),以便更好地理解后面對(duì)本發(fā)明所作詳細(xì)描述。本發(fā)明的其它特征和優(yōu)點(diǎn)將在后面描述,以展現(xiàn)權(quán)利要求中限定的主題。本領(lǐng)域技術(shù)人員可以理解,這里公開(kāi)的思想和特定實(shí)施例容易被用作基礎(chǔ)來(lái)修改或設(shè)計(jì)用于執(zhí)行與本發(fā)明相同目的的其它過(guò)程。本領(lǐng)域技術(shù)人員還可以理解,這種等價(jià)的過(guò)程沒(méi)有脫離權(quán)利要求中限定的本發(fā)明的精神和范圍。通過(guò)下面結(jié)合附圖所作的詳細(xì)描述,可以更好地理解那些作為本發(fā)明獨(dú)特特點(diǎn)的新穎特征以及其它目的和優(yōu)點(diǎn)。然而,需要著重指出,附圖僅僅是出于解釋的目的而給出的,并不意味著限定出本發(fā)明的范圍。
通過(guò)下面參照附圖所做描述,可以更全面地理解本發(fā)明。
圖1是廣義上顯示出本發(fā)明優(yōu)選實(shí)施例的流程圖。
圖2是該優(yōu)選實(shí)施例中處理超常規(guī)頂點(diǎn)時(shí)的流程圖。
圖3示出了對(duì)象表面轉(zhuǎn)化之后的建模對(duì)象的參數(shù)化曲面,其中根據(jù)該表面應(yīng)用了不同類型的基元曲面。
圖4A示出了另一建模對(duì)象的參數(shù)化曲面,其中基元曲面的邊結(jié)合在6階超常規(guī)頂點(diǎn)。
圖4B示出了處理完成后獲得的圖4A中的參數(shù)化曲面以及基元曲面的控制點(diǎn)分布。
圖4C和4D分別示出了圖4A中的參數(shù)化曲面的切向和法向等高線輪廓。
圖5示出了一個(gè)超常規(guī)頂點(diǎn)和兩個(gè)基元曲面以及得出連續(xù)性方程所需的系統(tǒng)成分。
具體實(shí)施例方式
本發(fā)明涉及一種方法,其適于應(yīng)用在CAD軟件中。使用者可以通過(guò)使用者繪圖界面(GUI)來(lái)控制處理過(guò)程,該界面可以是典型的CAD界面,具有常規(guī)的菜單條,以及底部和側(cè)面工具條。所述菜單條和工具條包含一組可供使用者選擇的圖標(biāo),每個(gè)圖標(biāo)與一個(gè)或多個(gè)操作或功能相關(guān)聯(lián),如本領(lǐng)域所公知。
一些所述圖標(biāo)與用于編輯和/或表現(xiàn)建模對(duì)象的軟件工具相聯(lián)系。所述軟件工具還可以被分組到各工作臺(tái)(workbench)中。除非以其它方式設(shè)置,否則每個(gè)工作臺(tái)包括一個(gè)與其它不同的軟件工具子組。特別地講,一個(gè)工作臺(tái)是編輯平臺(tái),其適于編輯建模對(duì)象的幾何特征。在操作中,設(shè)計(jì)者可以例如預(yù)選擇對(duì)象的一部分,然后通過(guò)選擇適宜的圖標(biāo)并且啟動(dòng)適宜的工具而開(kāi)始操作(例如改變形狀、尺寸、顏色等)。
GUI可以例如顯示與被顯示對(duì)象相關(guān)的數(shù)據(jù)(被稱作特征樹(shù))。數(shù)據(jù)通常以樹(shù)形圖的方式顯示在GUI的左側(cè)。GUI還可以顯示其它類型的繪圖工具,用以例如方便顯示對(duì)象的3D定向。
作為示例,本發(fā)明的方法可以應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)中的配有數(shù)據(jù)庫(kù)的PLM系統(tǒng)中。在這種情況下,GUI在一個(gè)具有顯示器和存儲(chǔ)器并且被進(jìn)一步連接到計(jì)算機(jī)網(wǎng)絡(luò)的終端上運(yùn)行,所述終端可以受益于一個(gè)產(chǎn)品數(shù)據(jù)管理(PDM)系統(tǒng)。PDM系統(tǒng)允許管理多個(gè)文件和數(shù)據(jù),它們可能具有分層次相關(guān)性。因此,多個(gè)使用者可以利用例如類似的局部設(shè)施和公共環(huán)境而以集中的方式對(duì)不同的部件/產(chǎn)品進(jìn)行工作。
這里描述的方法主要是為了有助于設(shè)計(jì)者產(chǎn)生具有所要求的幾何連續(xù)度Gi(例如連續(xù)度G2)的參數(shù)化曲面。下面,假定連續(xù)度G2被關(guān)注,但要記住本發(fā)明的方法可以應(yīng)用于任何理想級(jí)別的連續(xù)度。圖1在廣義上示出了本發(fā)明優(yōu)選實(shí)施例的流程圖。
參看圖1,本方法的處理過(guò)程包括第一步驟S10,提供基本網(wǎng)格,其對(duì)具有任意拓?fù)鋵W(xué)結(jié)構(gòu)的給定對(duì)象(例如圖3所示的對(duì)象)進(jìn)行建模。如一般情況,所述網(wǎng)格包括多個(gè)通過(guò)邊相連的頂點(diǎn),所述便限定出對(duì)象的表面。
在步驟S12,所述網(wǎng)格經(jīng)受曲面細(xì)分,例如根據(jù)Catmull-Clark法則。如前所述,所述細(xì)分導(dǎo)致可以由初始網(wǎng)格復(fù)原出平滑的曲面,從而產(chǎn)生具有更多多邊形單元并因此而更平滑的新網(wǎng)格。如前所述,除了那些與不與四條邊關(guān)聯(lián)的頂點(diǎn)即超常規(guī)頂點(diǎn)相對(duì)應(yīng)的點(diǎn)以外,Catmull-Clark曲面在任何地方都具有曲率連續(xù)性。因此,將描述可以用于重獲所要求的連續(xù)度的方案(流程)。
所述處理過(guò)程包括另一步驟S14,即數(shù)據(jù)初始化,其通常包括升級(jí)缺省值或使用者設(shè)定值。初始化過(guò)程可以例如前進(jìn)到根據(jù)缺省值或使用者設(shè)定參數(shù)而進(jìn)行曲面修剪。使用者可以例如在考慮到邊的邊界情況下輸入或修改特定的曲面細(xì)節(jié)。此時(shí)各個(gè)邊可以是尖銳的或平滑的,用以例如模擬外圓角/內(nèi)圓角特征。
在Catmull-Clark細(xì)分之后,對(duì)比度(sharpness)值可以在步驟S12或S14被設(shè)定和存儲(chǔ)。對(duì)比度值可以例如被基于網(wǎng)格特征而自動(dòng)設(shè)定,或者同樣可以由使用者設(shè)定。這樣,在需要時(shí),使用者被建議輸入對(duì)比度的非缺省值(特殊的頂點(diǎn)或邊);對(duì)比度的缺省值在其它任何地方都被采用。
接下來(lái),在步驟S16進(jìn)行這里廣以上的參數(shù)化步驟(或轉(zhuǎn)化)。在完成參數(shù)化步驟之后,程序提供出一組參數(shù)化基元曲面(parametric elementary surface),所述曲面具有由頂點(diǎn)結(jié)合的邊。這種基元曲面具有內(nèi)部連續(xù)度Cj,其至少等于所要求的連續(xù)度G2。例如,如果所要求的連續(xù)度為G2,則所產(chǎn)生的基元曲面的內(nèi)部連續(xù)度至少為C2。為了清楚起見(jiàn),C2級(jí)別的內(nèi)部連續(xù)度要求在后面被采用。同內(nèi)部連續(xù)度C1相比,提供內(nèi)部連續(xù)度C2可以改進(jìn)所產(chǎn)生的曲面的質(zhì)量。
請(qǐng)注意,在完成參數(shù)化步驟后得到的對(duì)象幾何連續(xù)度取決于兩個(gè)基元曲面,二者在整個(gè)公共邊處具有更低的連續(xù)度。因此,在這個(gè)階段,幾何連續(xù)度通常低于G2(所要求的連續(xù)度)。
所述參數(shù)化步驟S16包括轉(zhuǎn)化步驟,其中細(xì)分曲面被轉(zhuǎn)化成一組基元曲面。作為轉(zhuǎn)化過(guò)程的結(jié)果,基本網(wǎng)格的每個(gè)初始表面被轉(zhuǎn)化成一個(gè)基元曲面。因此,可以實(shí)現(xiàn)表面至曲面的測(cè)繪,從而基本網(wǎng)格的初始拓?fù)浣Y(jié)構(gòu)被遵從。結(jié)果,建模對(duì)象的管理得到簡(jiǎn)化。
作為示例,所述轉(zhuǎn)化步驟的結(jié)果顯示于圖3中,圖中示出了建模對(duì)象10的參數(shù)化曲面,其中根據(jù)對(duì)象10的初始表面應(yīng)用了不同類型的曲面40、42、44。曲面40和42(相應(yīng)地42和44)具有公共邊41(相應(yīng)地43)。附圖標(biāo)記30、32、34表示表面轉(zhuǎn)化完成后獲得的控制點(diǎn)。
可以看到,頂點(diǎn)包括4階頂點(diǎn)(參看例如頂點(diǎn)20)和階數(shù)不是4的頂點(diǎn)(例如超常規(guī)頂點(diǎn)22、24)。此外,位于對(duì)象10的平面上的頂點(diǎn)22與位于對(duì)象10的頂部尖銳邊頂點(diǎn)24、26(請(qǐng)注意,事實(shí)上頂點(diǎn)24、26位于兩個(gè)尖銳邊45、47的交叉部)不同。然而,連接著兩個(gè)尖銳邊的3階超常規(guī)頂點(diǎn)通常不被認(rèn)為是不規(guī)則的。因此,考慮到轉(zhuǎn)化步驟,后文中將頂點(diǎn)22稱作不規(guī)則頂點(diǎn),而頂點(diǎn)24被認(rèn)為是半規(guī)則頂點(diǎn)。然而,為了將在后面描述的其它目的,將會(huì)采用不同的分類方案(后面將提到奇異頂點(diǎn)(singularvertices),以便不與前面的不規(guī)則頂點(diǎn)相混淆)。
此外,如前所述,網(wǎng)格可以在轉(zhuǎn)化步驟之前(例如在步驟S12或S14)與頂點(diǎn)或邊上定義的對(duì)比度值相聯(lián)系。所述對(duì)比度代表相應(yīng)頂點(diǎn)或邊的局部吸引力。例如,非尖銳邊41、43將被賦予缺省值“0”。在與邊41和43不同的地方,邊45由于構(gòu)成對(duì)象10的尖銳邊界邊緣而可以例如被賦予缺省值“1”。對(duì)比度值可以是二進(jìn)制的,如上面的例子。然而,優(yōu)選地,對(duì)比度值被存儲(chǔ)為0至100的整數(shù)值,100代表最大對(duì)比度。各種算法可以被用于確定所述對(duì)比度值,例如根據(jù)初始基本網(wǎng)與有限細(xì)分曲面之間的差異。
根據(jù)所述定義的對(duì)比度值和頂點(diǎn)的性質(zhì),所述處理過(guò)程接下來(lái)可以在轉(zhuǎn)化步驟中提供不同類型的將要被應(yīng)用的參數(shù)化曲面,從而適用于基本網(wǎng)格中存在的各種類型的表面,并且恢復(fù)漸進(jìn)式參數(shù)化。
作為示例,在發(fā)現(xiàn)初始表面包括具有缺省值的規(guī)則頂點(diǎn)20和邊41時(shí),應(yīng)用第一種參數(shù)化曲面40。接下來(lái),對(duì)于包括邊45的表面,也就是說(shuō),對(duì)比度值為非缺省值,應(yīng)用第二種參數(shù)化曲面44。請(qǐng)注意,相應(yīng)的表面同時(shí)包括規(guī)則頂點(diǎn)和半規(guī)則頂點(diǎn)24、26(在這里不認(rèn)為是不規(guī)則的)。最后,對(duì)于包括不規(guī)則或超常規(guī)頂點(diǎn)22的表面,應(yīng)用第三種曲面42。
請(qǐng)注意,由于包括規(guī)則頂點(diǎn)以及至少一個(gè)具有非缺省對(duì)比度值的頂點(diǎn)或邊的各種表面在轉(zhuǎn)化算法中被區(qū)別考慮,因此所述轉(zhuǎn)化同時(shí)適用于網(wǎng)格的閉式和開(kāi)式頂點(diǎn)。
如我們目前的認(rèn)識(shí),所應(yīng)用的曲面的復(fù)雜性是相對(duì)于局部對(duì)比度值和頂點(diǎn)的性質(zhì)而選擇的,由此所應(yīng)用的曲面的精細(xì)化是局部最優(yōu)化的。特別地講,第三種曲面42具有大量的控制點(diǎn)32,第一種參數(shù)化曲面40中的控制點(diǎn)30的數(shù)量少于第二、第三種曲面42、44中的控制點(diǎn)32、34中的數(shù)量。換言之,根據(jù)所應(yīng)用的曲面的類型,相應(yīng)網(wǎng)格中的控制點(diǎn)的數(shù)量的密度更多或更少。
控制點(diǎn)的數(shù)量可以例如基于賦予的對(duì)比度值而計(jì)算(值“0”導(dǎo)致標(biāo)準(zhǔn)密度,非缺省值例如“1”或“100”導(dǎo)致密度增加)。
控制點(diǎn)隨后可以被移動(dòng)以局部修改曲面,例如達(dá)到兩個(gè)參數(shù)化曲面片之間所要求的給定幾何連續(xù)度。具有規(guī)則頂點(diǎn)和非尖銳邊的表面不會(huì)導(dǎo)致缺少連續(xù)性,從而可以應(yīng)用低密度曲面。相反,在超常規(guī)頂點(diǎn)附近,容易出現(xiàn)不連續(xù)性,應(yīng)當(dāng)為相應(yīng)曲面提供網(wǎng)絡(luò)形式的更密的控制點(diǎn),從而可以復(fù)原所要求的連續(xù)度。
非工作控制點(diǎn)因此而被棄用,以使得隨后的步驟加速,如后文所述。
現(xiàn)在返回圖1,一旦在步驟S16中提供了不同類型的曲面,算法將考慮每個(gè)表面并且前進(jìn)到步驟S20-24,根據(jù)表面是否具有超常規(guī)頂點(diǎn)而進(jìn)行區(qū)別處理。
在發(fā)現(xiàn)超常規(guī)頂點(diǎn)的情況下,所述處理過(guò)程執(zhí)行中間均一化步驟S26,在此用于算法后續(xù)部分的細(xì)節(jié)被確定。作為示例,此處可以前進(jìn)到改變體系,例如從B樣條改變到Bézier形式,以便使后續(xù)的步驟加速。
然后,對(duì)于每個(gè)超常規(guī)頂點(diǎn)(S28,每個(gè)超常規(guī)頂點(diǎn)在這里被認(rèn)為是奇異頂點(diǎn)),特定的方案被應(yīng)用,以復(fù)原所要求的連續(xù)度G2(S30-44)。下面參照?qǐng)D2描述這一方案。
首先,所述方案(流程)區(qū)分處理開(kāi)式頂點(diǎn)、閉式頂點(diǎn)和與尖銳邊相連的閉式頂點(diǎn)(分別在S31,S38-40和S38-39)。
在檢測(cè)到閉式頂點(diǎn)時(shí),定義一個(gè)方程組,所述方程組與結(jié)合所述頂點(diǎn)的邊的兩側(cè)基元曲面參數(shù)(例如控制點(diǎn)的位置坐標(biāo))有關(guān),所述方程組可以在連接所述閉式頂點(diǎn)的邊的兩側(cè)實(shí)現(xiàn)所要求的連續(xù)度。然后,所述方程的系數(shù)被計(jì)算并且方程被求解,如后文詳細(xì)描述(S38-40)。
對(duì)于開(kāi)式頂點(diǎn)(S31),根據(jù)與所述開(kāi)式頂點(diǎn)結(jié)合的邊,在步驟S32計(jì)算不同的區(qū)間(sectors)。區(qū)間被定義為由結(jié)合所述開(kāi)式頂點(diǎn)的兩個(gè)接近尖銳邊限定的空間。然而,如果只存在一個(gè)尖銳邊,則只有一個(gè)區(qū)間被確定,其包括圍繞所述頂點(diǎn)的邊形成的圓所限定的空間。在這種情況下,對(duì)于每個(gè)計(jì)算出的區(qū)間分別定義一個(gè)方程組,以便實(shí)現(xiàn)所述區(qū)間內(nèi)的結(jié)合邊兩側(cè)的所要求的幾何連續(xù)度。
接下來(lái)看定義的方程組,所述方程組與結(jié)合至所述頂點(diǎn)的所有關(guān)聯(lián)邊兩側(cè)的基元曲面參數(shù)有關(guān)。請(qǐng)注意,在閉式頂點(diǎn)的情況下,所述邊涉及所有相關(guān)的邊,而在開(kāi)式頂點(diǎn)或由尖銳邊結(jié)合的閉式頂點(diǎn)的情況下,則局限在從屬于單一區(qū)間的邊。
所述方程實(shí)現(xiàn)結(jié)合邊兩側(cè)的幾何連續(xù)性。特別地講,對(duì)每個(gè)被考察的頂點(diǎn)定義方程組;因此,難度取決于被考察的頂點(diǎn)的數(shù)量。方程依從于固定的約束,如下面所解釋。
參看圖5,考慮兩個(gè)對(duì)接的B樣條曲面S1和S2,以及從超常規(guī)頂點(diǎn)28引出的用于定義各個(gè)邊Eu、Ev、r、Es的局部方向的單位矢量u、v、r、s。在本例中,頂點(diǎn)28是奇異頂點(diǎn),因?yàn)樗Y(jié)合了邊Ev,r,在該邊的兩側(cè),曲面S1和S2之間的連續(xù)度假定低于所要求的連續(xù)度G2。
利用常規(guī)的符號(hào)方法,連續(xù)度G0產(chǎn)生下面的條件S1(0,v)=S2(r,0)=C(t) (1)
其中C(t)是曲面S1和S2的公共曲線。連續(xù)度G1適用于下面的條件α(t)∂S1(0,t)∂u+β(t)∂S2(t,0)∂r+γ(t)∂S2(t,0)∂s=0,α(t),γ(t)>0---(2)]]>或等價(jià)于α(t)∂S1(0,t)∂u+β(t)∂S1(0,t)∂v+γ(t)∂S2(t,0)∂s=0---(3)]]>其中α、β、γ是形狀參數(shù),即連續(xù)度條件方程的系數(shù),可能取決于t,如后文中詳細(xì)描述。接下來(lái),假定方程(2)或(3)中的條件滿足,則在下述條件下可實(shí)現(xiàn)連續(xù)度G2α2∂2S1∂u2+γ2∂2S2∂s2+2βγ∂2S2∂r∂s+β2∂2S2∂r2+δ∂S2∂r+η∂S2∂s=0---(4)]]>其中為了保持清楚,符號(hào)(0,t)、(t,0)等被去掉。
上面的各個(gè)方程暗中涉及曲面控制點(diǎn)的位置坐標(biāo)。
至此,還沒(méi)有太多地介紹形狀參數(shù),即系數(shù)α、β、γ...;它們可以例如設(shè)置為常數(shù),例如α0、β0、γ0...;或者可以根據(jù)奇異點(diǎn)的類型設(shè)置(步驟S36或S40),可能是由使用者設(shè)定的。
還可以將這些系數(shù)α、β、γ...選擇為緩慢變化的多項(xiàng)式而預(yù)參數(shù)化(例如通過(guò)試算和誤差校正),從而逐漸提高最終的繪圖質(zhì)量。
作為示例,參照?qǐng)D4A,α0、β0、γ0、δ0、η0的適宜數(shù)值分別為1.0、-0.618034、1.0、0.0和0.0。
所述系數(shù)仍可以給出低階多項(xiàng)式形式,其取決于局部邊的相對(duì)長(zhǎng)度和邊之間的角度。此外,在解方程組之前,這些系數(shù)被計(jì)算出來(lái)(S36或S40),由此解上述方程組就僅僅是線性問(wèn)題,例如隨著奇異頂點(diǎn)的數(shù)量而線性增大。本領(lǐng)域的技術(shù)人員可以構(gòu)想出各種的系數(shù)形式。
在完成求解步驟之后,根據(jù)返回的新的控制點(diǎn)位置更新圍繞每個(gè)奇異頂點(diǎn)的NURBS(S42)。
請(qǐng)注意,結(jié)合至尖銳邊的閉式頂點(diǎn)被上述流程(S38-39)檢測(cè),并隨后以與開(kāi)式頂點(diǎn)相同的方式處理(由于這兩種情況之間存在拓?fù)鋵W(xué)相似性),從而復(fù)原所要求的連續(xù)度。因此,閉式和開(kāi)式(也結(jié)合至尖銳邊)超常規(guī)頂點(diǎn)都被認(rèn)為是奇異頂點(diǎn),并且在本流程中以類似方式處理。
與此不同,在前面描述的轉(zhuǎn)化步驟(S16)區(qū)別對(duì)待包含不規(guī)則頂點(diǎn)(例如超常規(guī)開(kāi)式頂點(diǎn))的表面和包含結(jié)合至尖銳邊的頂點(diǎn)(半規(guī)則性)的表面。
算法在步驟S44結(jié)束。
這樣,在完成后,上述流程返回到目標(biāo)參數(shù)(相關(guān)控制點(diǎn)的位置坐標(biāo)),并且據(jù)此修改曲面,從而獲得所要求的連續(xù)度,在此為G2。結(jié)果,由于對(duì)接曲面之間的結(jié)合部的曲率(至少部分地)成比例,因此所產(chǎn)生的結(jié)合部是無(wú)接縫且不可視覺(jué)分辨的。
這種情況在圖4A-D中例舉,圖中顯示了建模對(duì)象10的參數(shù)化曲面,其中基元曲面具有結(jié)合在6階超常規(guī)頂點(diǎn)28的邊51-56,并且在完成處理過(guò)程中后獲得控制點(diǎn)的分布(圖4B),或是獲得切向或法向等高線輪廓(highlight contour)。
可以看出(圖4B),所獲得的控制點(diǎn)分布顯示出在G2條件下獲得的典型無(wú)接縫輪廓。所達(dá)到的曲面質(zhì)量還反映在圖4C-D中的切向或法向等高線輪廓中。
可以看到,上面總體上描述的算法可以實(shí)現(xiàn)給定的幾何連續(xù)度,從根本上講是局部性的,還同時(shí)考慮到開(kāi)式和閉式頂點(diǎn),并且能夠?qū)崿F(xiàn)線性求解。由于執(zhí)行的是表面至曲面的測(cè)繪,因此這種算法確保了基本網(wǎng)格的初始拓?fù)浣Y(jié)構(gòu)被遵從。這里,由表面至表面的途徑被考察。本發(fā)明的不同之處在于,通過(guò)局部關(guān)聯(lián)方案而復(fù)原幾何連續(xù)性(在每個(gè)奇異點(diǎn)周?chē)?,因此所需控制點(diǎn)的數(shù)量少于采用由曲面至曲面的途徑。因此,本發(fā)明完全脫離了現(xiàn)有的普通方法。
權(quán)利要求
1.一種由一組參數(shù)化基元曲面產(chǎn)生具有所要求的幾何連續(xù)度Gi的參數(shù)化曲面的方法,包括以下步驟-提供一組參數(shù)化基元曲面,每個(gè)基元曲面具有邊,并且相鄰的邊通過(guò)頂點(diǎn)結(jié)合,每個(gè)基元曲面具有至少等于所要求的幾何連續(xù)度Gi的內(nèi)部連續(xù)度Cj,至少兩個(gè)基元曲面之間在相應(yīng)邊兩側(cè)的幾何連續(xù)度低于所要求的幾何連續(xù)度Gi;-對(duì)于每個(gè)奇異頂點(diǎn)-確定一個(gè)方程組,其與結(jié)合至所述奇異頂點(diǎn)的邊兩側(cè)的參數(shù)化基元曲面參數(shù)有關(guān),所述方程組可在所述結(jié)合的邊的兩側(cè)實(shí)現(xiàn)所要求的幾何連續(xù)度;以及-求解所述方程組,以獲得所述參數(shù);其中,奇異頂點(diǎn)結(jié)合著至少一條邊,在所述邊的兩側(cè),相鄰基元曲面之間的連續(xù)度低于所要求的幾何連續(xù)度Gi。
2.如權(quán)利要求1所述的方法,其特征在于,所述提供一組參數(shù)化基元曲面的步驟包括-提供基本網(wǎng)格,其具有多個(gè)頂點(diǎn),這些頂點(diǎn)通過(guò)邊相連,以限定出表面;-將基本網(wǎng)格的每個(gè)表面轉(zhuǎn)化成一個(gè)基元參數(shù)化曲面。
3.如權(quán)利要求2所述的方法,其特征在于,在所述提供基本網(wǎng)格的步驟-基本網(wǎng)格的頂點(diǎn)包括階數(shù)為4的規(guī)則頂點(diǎn)和階數(shù)不為4的不規(guī)則頂點(diǎn);并且-所述基本網(wǎng)格具有在頂點(diǎn)和/或邊處定義的對(duì)比度值;所述轉(zhuǎn)化步驟還包括-提供至少三種不同類型的參數(shù)化曲面;-對(duì)于具有規(guī)則頂點(diǎn)并且在表面的頂點(diǎn)和/或邊處只具有第一對(duì)比度值的表面,應(yīng)用第一種參數(shù)化曲面;-對(duì)于具有規(guī)則頂點(diǎn)并且在至少一個(gè)頂點(diǎn)或邊處具有第二對(duì)比度值的表面,應(yīng)用第二種參數(shù)化曲面;以及-對(duì)于具有至少一個(gè)不規(guī)則頂點(diǎn)的表面,應(yīng)用第三種參數(shù)化曲面。
4.如權(quán)利要求3所述的方法,其特征在于,所述基本網(wǎng)格根據(jù)Catmull-Clark細(xì)分規(guī)則被細(xì)分。
5.如權(quán)利要求4所述的方法,其特征在于,所述參數(shù)化曲面包括樣條曲面。
6.如權(quán)利要求5所述的方法,其特征在于,第一種參數(shù)化曲面的控制點(diǎn)數(shù)量少于第二、第三種參數(shù)化曲面的控制點(diǎn)數(shù)量。
7.如權(quán)利要求6所述的方法,其特征在于,第三種參數(shù)化曲面的控制點(diǎn)數(shù)量多于第一、第二種參數(shù)化曲面的控制點(diǎn)數(shù)量。
8.如權(quán)利要求5所述的方法,其特征在于,第一、第二和第三種參數(shù)化曲面的是B樣條類型的,具有不同的結(jié)點(diǎn)矢量。
9.如權(quán)利要求1所述的方法,其特征在于,-所提供的參數(shù)化基元曲面是B樣條類型的;以及-所述求解步驟中的參數(shù)是B樣條控制點(diǎn)的位置坐標(biāo)。
10.如權(quán)利要求1所述的方法,其特征在于,在確定方程組的步驟,所確定的方程組中的系數(shù)被設(shè)定為常數(shù)。
11.如權(quán)利要求1所述的方法,其特征在于,在確定方程組的步驟,所確定的方程組中的系數(shù)根據(jù)奇異點(diǎn)的類型而被設(shè)定。
12.如權(quán)利要求1所述的方法,其特征在于,所提供的參數(shù)化基元曲面是B樣條類型的,并且所述求解步驟中的參數(shù)是-用于實(shí)現(xiàn)所要求的連續(xù)度的方程中的系數(shù);-B樣條控制點(diǎn)的位置坐標(biāo)。
13.一種由一組參數(shù)化基元曲面產(chǎn)生具有幾何連續(xù)度G2的參數(shù)化曲面的方法,包括以下步驟-提供基本網(wǎng)格,其具有多個(gè)頂點(diǎn),這些頂點(diǎn)通過(guò)邊相連,以限定出表面,所述基本網(wǎng)格根據(jù)Catmull-Clark規(guī)則被細(xì)分;-將基本網(wǎng)格的每個(gè)表面轉(zhuǎn)化成一個(gè)具有內(nèi)部連續(xù)度C2的基元參數(shù)化曲面,至少兩個(gè)基元曲面之間在相應(yīng)邊兩側(cè)的幾何連續(xù)度低于所要求的幾何連續(xù)度G2,每個(gè)基元曲面具有邊,并且相鄰的邊通過(guò)頂點(diǎn)結(jié)合;-對(duì)于每個(gè)奇異頂點(diǎn)-確定一個(gè)方程組,其與結(jié)合至所述頂點(diǎn)的邊的兩側(cè)的參數(shù)化基元曲面控制點(diǎn)坐標(biāo)位置有關(guān),所述方程組可在所述結(jié)合的邊的兩側(cè)實(shí)現(xiàn)所要求的幾何連續(xù)度;-設(shè)定所述方程組的系數(shù);以及-求解所述方程組以獲得所述坐標(biāo)位置;其中,奇異頂點(diǎn)結(jié)合著至少一條邊,在所述邊的兩側(cè),相鄰基元曲面之間的連續(xù)度低于所要求的幾何連續(xù)度G2。
全文摘要
本發(fā)明涉及一種由一組參數(shù)化基元曲面產(chǎn)生具有所要求的幾何連續(xù)度Gi的參數(shù)化曲面的方法,包括以下步驟提供一組參數(shù)化基元曲面,每個(gè)基元曲面具有邊,相鄰邊通過(guò)頂點(diǎn)結(jié)合,每個(gè)基元曲面具有至少等于所要求的幾何連續(xù)度Gi的內(nèi)部連續(xù)度Cj,至少兩個(gè)基元曲面之間在相應(yīng)邊兩側(cè)的幾何連續(xù)度低于所要求的幾何連續(xù)度Gi。對(duì)于每個(gè)奇異頂點(diǎn),所述方法確定一個(gè)方程組,其與位于結(jié)合至奇異頂點(diǎn)的邊兩側(cè)的參數(shù)化基元曲面參數(shù)(包括通常稱作控制點(diǎn)的位置坐標(biāo))有關(guān),并可在結(jié)合的邊兩側(cè)實(shí)現(xiàn)所要求的幾何連續(xù)度;求解方程組,以獲得所述參數(shù)。奇異頂點(diǎn)結(jié)合著至少一條邊,在邊的兩側(cè),相鄰基元曲面之間的連續(xù)度低于所要求的幾何連續(xù)度Gi。
文檔編號(hào)G06T15/00GK1916967SQ200610108680
公開(kāi)日2007年2月21日 申請(qǐng)日期2006年8月3日 優(yōu)先權(quán)日2005年8月4日
發(fā)明者樊尚·尼格羅 申請(qǐng)人:達(dá)索系統(tǒng)公司