在細(xì)分曲面上雕刻2d圖像的制作方法
【專(zhuān)利摘要】一種方法,包括以下步驟:由用戶(hù)定義(S10)與細(xì)分曲面以及相應(yīng)的預(yù)定的網(wǎng)格到NURBS曲面轉(zhuǎn)換算法(PCCM(·))相關(guān)的基網(wǎng)格(B0),所述細(xì)分曲面表征所述3D建模對(duì)象;由所述用戶(hù)定義(S20)2D圖像和用于在所述細(xì)分曲面上雕刻所述2D圖像的位置;以及確定(S30)與將形變映射應(yīng)用(S36)在對(duì)所述基網(wǎng)格執(zhí)行(S34)所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果(S0=PCCM(B0))上對(duì)應(yīng)的NURBS曲面(S1),所述形變映射包括針對(duì)對(duì)所述基網(wǎng)格執(zhí)行(S34)所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果的位置提供的位移向量,所述位置與雕刻所述2D圖像的位置對(duì)應(yīng),所述位移向量是基于所述2D圖像的對(duì)應(yīng)像素值來(lái)計(jì)算(S32)的。該方法改善了3D建模對(duì)象的設(shè)計(jì)。
【專(zhuān)利說(shuō)明】
在細(xì)分曲面上雕刻2D圖像
技術(shù)領(lǐng)域
[0001] 本發(fā)明主要涉及計(jì)算機(jī)輔助設(shè)計(jì)(CAD)領(lǐng)域,尤其是一種用于通過(guò)圖形用戶(hù)交互 借助基于2D圖像的數(shù)據(jù)處理來(lái)設(shè)計(jì)3D建模對(duì)象的方法、程序和系統(tǒng),。
【背景技術(shù)】
[0002] 在市場(chǎng)中針對(duì)對(duì)象的設(shè)計(jì)、工程和制造提供有多個(gè)系統(tǒng)和程序。CAD是計(jì)算機(jī)輔助 設(shè)計(jì)的首字母縮寫(xiě),舉例來(lái)說(shuō),它涉及用于設(shè)計(jì)對(duì)象的軟件解決方案。CAE是計(jì)算機(jī)輔助工 程的首字母縮寫(xiě),舉例來(lái)說(shuō),它涉及用于仿真未來(lái)產(chǎn)品的物理行為的軟件解決方案。CAM是 計(jì)算機(jī)輔助制造的首字母縮寫(xiě),舉例來(lái)說(shuō),它涉及定義制造過(guò)程和操作的軟件解決方案。在 這些計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)中,圖形用戶(hù)界面扮演著與技術(shù)效率相關(guān)的重要角色。這些技術(shù) 可嵌入在產(chǎn)品生命周期管理(PLM)系統(tǒng)中。PLM指的是一種商業(yè)策略,圍繞"延伸性企業(yè)"的 概念,其幫助公司共享產(chǎn)品數(shù)據(jù)、應(yīng)用通用的過(guò)程,并且提升用于產(chǎn)品從概念到該產(chǎn)品生命 結(jié)束的開(kāi)發(fā)的企業(yè)知識(shí)。
[0003] 由DASSAULT SYSTEMES(商標(biāo)為CATIA、EN0VIA和DELMIA)提供的PLM解決方案提供 了:工程中心,其對(duì)產(chǎn)品工程知識(shí)進(jìn)行組織;制造中心,其對(duì)制造工程知識(shí)進(jìn)行管理;以及企 業(yè)中心,其使得能夠?qū)⑵髽I(yè)整合并結(jié)合到工程中心和制造中心二者中??傊?,該系統(tǒng)提供了 一種開(kāi)放的對(duì)象模型,將產(chǎn)品、過(guò)程、資源聯(lián)系起來(lái),以實(shí)現(xiàn)動(dòng)態(tài)的、基于知識(shí)的產(chǎn)品創(chuàng)新和 決策支持,這推動(dòng)了對(duì)產(chǎn)品定義、制造準(zhǔn)備、生產(chǎn)和服務(wù)的優(yōu)化。
[0004] CAD解決方案廣泛使用兩項(xiàng)主要的眾所周知的曲面(surface)建模技術(shù):非均勻有 理B樣條曲面(下稱(chēng)NURBS)以及細(xì)分曲面。
[0005] NURBS技術(shù)基于的是通過(guò)被稱(chēng)為"控制點(diǎn)"的3D點(diǎn)的矩形柵格(grid)進(jìn)行處理的多 項(xiàng)式參數(shù)化或有理參數(shù)化。通過(guò)移動(dòng)控制點(diǎn)來(lái)執(zhí)行對(duì)NURBS曲面的編輯。以多項(xiàng)式的次數(shù)不 取決于控制點(diǎn)的數(shù)量的方式來(lái)設(shè)計(jì)該技術(shù)。進(jìn)一步地,控制點(diǎn)的影響被限制在相鄰區(qū)域。因 此,用戶(hù)能夠局部修改表面的形狀,而不用觸及所述相鄰區(qū)域之外的區(qū)域。該領(lǐng)域經(jīng)典的參 考資料是課本《The NURBS book》,L· Piegl和T ·Wayne,Springer,第2版,2013年。
[0006] 另一方面,細(xì)分曲面是通過(guò)由點(diǎn)和線(xiàn)段構(gòu)成的三維"基網(wǎng)格"定義的。基網(wǎng)格由用 戶(hù)定義,其特定可以是任意的拓?fù)浣Y(jié)構(gòu),這與NURBS的控制點(diǎn)的矩形柵格相反?;W(wǎng)格控制 了細(xì)分曲面的整體形狀,并且可以由用戶(hù)編輯?;W(wǎng)格的改變會(huì)影響整個(gè)細(xì)分曲面。與 NURBS曲面相反,細(xì)分曲面是細(xì)分過(guò)程中的始于基網(wǎng)格的限定對(duì)象。圖1示出了三孔閉合基 網(wǎng)格11和第一細(xì)分步驟。限定曲面是光滑三孔環(huán)狀對(duì)象13。主要在如下參考中解釋了基本 原理:"Recursively generated B-Spline surfaces on arbitrary topological meshes",E·Catmull,J.Clark,Computer Aided Design,第 10卷第6期,1978年11 月。值得注 意的是,如文獻(xiàn)US 7595799 B2(對(duì)應(yīng)于EP 1750229B1)和US 7400323 B2中所解釋的,通過(guò) 將基網(wǎng)格轉(zhuǎn)換為NURBS曲面,經(jīng)由配置NURBS曲面來(lái)趨近細(xì)分曲面是可能的。
[0007] 簡(jiǎn)而言之,NURBS技術(shù)的特點(diǎn)在于局部修改能力和網(wǎng)格定義的拓?fù)浣Y(jié)構(gòu),細(xì)分技術(shù) 的特點(diǎn)在于任意拓?fù)浣Y(jié)構(gòu)和非局部編輯能力。顯然,由于其處理局部修改的能力,因此 NURBS技術(shù)能夠良好地支持在保存曲面的整體形狀的同時(shí)在其上進(jìn)行的小細(xì)節(jié)的創(chuàng)建。相 反,細(xì)分曲面技術(shù)則不支持該能力。另一方面,與自身拓?fù)浣Y(jié)構(gòu)被限制為矩形的控制點(diǎn)柵格 的NURBS曲面相反,細(xì)分曲面技術(shù)能支持任意拓?fù)浣Y(jié)構(gòu)。
[0008] 顯然,現(xiàn)有技術(shù)中缺乏在具有任意拓?fù)浣Y(jié)構(gòu)的曲面上作出局部改變的能力。在這 種環(huán)境下,仍然需要一種用以設(shè)計(jì)3D建模對(duì)象的改進(jìn)的解決方案。
【發(fā)明內(nèi)容】
[0009] 由此,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的設(shè)計(jì)3D建模對(duì)象的方法。該方法包括以下步驟:由 用戶(hù)定義與細(xì)分曲面以及相應(yīng)的預(yù)定的網(wǎng)格到NURBS曲面轉(zhuǎn)換算法相關(guān)的基網(wǎng)格。該細(xì)分 曲面代表該3D建模對(duì)象。該方法還包括以下步驟:由用戶(hù)定義2D圖像和在該細(xì)分曲面上雕 刻該2D圖像的位置。該方法還包括以下步驟:確定與將形變映射應(yīng)用在對(duì)基網(wǎng)格執(zhí)行網(wǎng)格 到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果上對(duì)應(yīng)的NURBS曲面。該形變映射包括針對(duì)對(duì)基網(wǎng)格執(zhí)行 網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果的位置提供的位移向量。該位置對(duì)應(yīng)于雕刻該2D圖 像的位置。該位移向量是基于該2D圖像的對(duì)應(yīng)像素值計(jì)算的。
[0010] 該方法可包括以下項(xiàng)目的一項(xiàng)或多項(xiàng):
[0011] -該方法包括計(jì)算位移向量,包括:從基網(wǎng)格確定與雕刻該2D圖像的位置對(duì)應(yīng)的第 一 3D網(wǎng)格;通過(guò)基于2D圖像的對(duì)應(yīng)像素值在第一 3D網(wǎng)格的法線(xiàn)方向上位移第一 3D網(wǎng)格的頂 點(diǎn),來(lái)從第一3D網(wǎng)格確定第二3D網(wǎng)格;以及針對(duì)對(duì)基網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所 得的結(jié)果的位置,計(jì)算一位移向量,該位移向量等于對(duì)第二3D網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn) 換算法所得的結(jié)果的對(duì)應(yīng)控制點(diǎn)與對(duì)第一 3D網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié) 果的對(duì)應(yīng)控制點(diǎn)之間的3D位置差;
[0012] -確定第一 3D網(wǎng)格包括提取基網(wǎng)格的與雕刻2D圖像的位置對(duì)應(yīng)的子網(wǎng)格,然后將 該子網(wǎng)格細(xì)分預(yù)定的倍數(shù);
[0013] -該預(yù)定的倍數(shù)是由用戶(hù)定義的和/或基于與2D圖像的細(xì)節(jié)水平有關(guān)的預(yù)定標(biāo)準(zhǔn) 而遞增;
[0014] -2D圖像的對(duì)應(yīng)像素值是像素灰度值;
[0015] -位移向量的幅度基于對(duì)應(yīng)的灰度值而遞增;和/或
[0016] -用戶(hù)進(jìn)一步從預(yù)定的二元表(binary list)中選擇雕刻方向。
[0017]進(jìn)一步提供了一種由該方法設(shè)計(jì)而成的3D建模對(duì)象。
[0018]進(jìn)一步提供了一種包括該3D建模對(duì)象的設(shè)計(jì)規(guī)格的計(jì)算機(jī)文件。
[0019] 進(jìn)一步提供了一種包括執(zhí)行該方法的指令的計(jì)算機(jī)程序。
[0020] 進(jìn)一步提供了一種其上存儲(chǔ)有該計(jì)算機(jī)程序的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)。
[0021] 進(jìn)一步提供了一種包括耦合到存儲(chǔ)器和圖形用戶(hù)界面的處理器的CAD系統(tǒng),該存 儲(chǔ)器上存儲(chǔ)有該計(jì)算機(jī)程序。
[0022] 進(jìn)一步提供了一種制造工業(yè)產(chǎn)品的方法,包括以下步驟:根據(jù)以上設(shè)計(jì)方法設(shè)計(jì) 代表工業(yè)產(chǎn)品的三維對(duì)象,然后基于所設(shè)計(jì)的三維對(duì)象制造該工業(yè)產(chǎn)品。
【附圖說(shuō)明】
[0023]現(xiàn)在將以非限制性例子的形式,參考附圖,描述本發(fā)明的實(shí)施例,其中:
[0024] -圖1示出了細(xì)分曲面;
[0025] -圖2是方法的例子的流程圖;
[0026]-圖3不出了系統(tǒng)的圖形用戶(hù)界面的例子;
[0027]-圖4不出了系統(tǒng)的例子;以及 [0028]-圖5至圖26闡釋了方法。
【具體實(shí)施方式】
[0029] 參考圖2的流程圖,提出了一種計(jì)算機(jī)實(shí)現(xiàn)的設(shè)計(jì)3D建模對(duì)象的方法。該方法包括 以下步驟:由用戶(hù)定義(SlO)與細(xì)分曲面以及相應(yīng)的預(yù)定的網(wǎng)格到NURBS曲面轉(zhuǎn)換算法相關(guān) 的基網(wǎng)格。該細(xì)分曲面代表該3D建模對(duì)象。該方法還包括由用戶(hù)定義(S20) 2D圖像和在該細(xì) 分曲面上雕刻該2D圖像的位置。該方法然后包括確定(S30)與將形變映射應(yīng)用在對(duì)基網(wǎng)格 執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果上對(duì)應(yīng)(即,所謂"對(duì)應(yīng)",意味著獲取NURBS曲面 的特定方式是個(gè)實(shí)施細(xì)節(jié),只要能夠通過(guò)以下步驟獲得結(jié)果(至少大約地獲得結(jié)果,例如, 一會(huì)兒提到的"近似值"的意思),即使這些特定步驟沒(méi)有被實(shí)施)的NURBS曲面。該形變映射 包括包括針對(duì)對(duì)基網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果的位置提供的位移向 量。這些位置對(duì)應(yīng)于雕刻2D圖像的位置。這些位移向量是基于2D圖像的對(duì)應(yīng)像素值來(lái)計(jì)算 的。該方法改善了 3D建模對(duì)象的設(shè)計(jì)。
[0030] 值得注意的是,該方法允許在與細(xì)分曲面以及相應(yīng)的預(yù)定的網(wǎng)格到NURBS曲面轉(zhuǎn) 換算法相關(guān)的基網(wǎng)格的環(huán)境下對(duì)3D建模對(duì)象進(jìn)行設(shè)計(jì)修改,帶來(lái)的優(yōu)勢(shì)是這樣的設(shè)計(jì)環(huán)境 對(duì)CAD領(lǐng)域來(lái)說(shuō)是及其熟悉的。事實(shí)上,貫穿整個(gè)方法保留了基網(wǎng)格結(jié)構(gòu)以及有關(guān)曲面設(shè)計(jì) 的相關(guān)用戶(hù)意圖,這只是相當(dāng)于對(duì)CAD設(shè)計(jì)者所習(xí)慣的基網(wǎng)格框架增加了設(shè)計(jì)規(guī)格 (specification)。不同于現(xiàn)有技術(shù)在基網(wǎng)格上實(shí)施的修改方案(例如,增加多分辨率信息 和/或在細(xì)分后增加細(xì)節(jié)),該方法不打算在基網(wǎng)格隨后的轉(zhuǎn)換(通過(guò)在S30的預(yù)定的網(wǎng)格到 NURBS曲面轉(zhuǎn)換算法)之前對(duì)該基網(wǎng)格作細(xì)分,從而使得所述隨后的轉(zhuǎn)換可以容易地(在計(jì) 算成本方面)實(shí)現(xiàn),而不會(huì)抑制控制點(diǎn)的數(shù)量。換句話(huà)說(shuō),隨后將要輸入到轉(zhuǎn)換算法的網(wǎng)格 的面數(shù)不會(huì)由于該方法而過(guò)度增長(zhǎng)。不同于現(xiàn)有技術(shù)在NURBS上實(shí)施的修改方案,該方法允 許對(duì)被提供為具有細(xì)分曲面的基網(wǎng)格的模型進(jìn)行修改,從而得益于該環(huán)境(優(yōu)勢(shì)在于在該 框架內(nèi)可能的任意拓?fù)浣Y(jié)構(gòu),以及相對(duì)于復(fù)雜NURBS而言,基網(wǎng)格所占用的小存儲(chǔ)空間),用 戶(hù)隨后可以以相對(duì)簡(jiǎn)單的方法執(zhí)行其它修改。事實(shí)上,如CAD領(lǐng)域眾所周知的,花式設(shè)計(jì)由 于這些原因而更適合在細(xì)分曲面上而不是在NURBS上執(zhí)行。因此,即使增加了在S20所定義 的設(shè)計(jì)規(guī)格之后,用戶(hù)也可以執(zhí)行對(duì)3D建模對(duì)象的基網(wǎng)格編輯。同樣,既然定義步驟S20執(zhí) 行在基網(wǎng)格層面上,那么該方法確保了 NURBS面片(patch)之間的連續(xù)性不會(huì)被過(guò)度地破 壞。
[0031]因此該方法向用戶(hù)提供了簡(jiǎn)單的、交互式的并且直觀的方式,通過(guò)在S20以在細(xì)分 曲面上具有位置的2D圖像的形式定義設(shè)計(jì)規(guī)格,從而在3D建模對(duì)象上增加局部細(xì)節(jié)。該編 輯仿真了真實(shí)的雕刻,同時(shí)也考慮到了用戶(hù)的工業(yè)需求,包括基于(利用基網(wǎng)格的)曲面細(xì) 分技術(shù)來(lái)保持一項(xiàng)設(shè)計(jì)的前后環(huán)境,此外在這里,最終的曲面的連續(xù)性也很重要。
[0032]該方法是計(jì)算機(jī)實(shí)現(xiàn)的。該方法的步驟實(shí)際上在計(jì)算機(jī)系統(tǒng)上由該計(jì)算機(jī)系統(tǒng)單 獨(dú)執(zhí)行,或者由圖形用戶(hù)交互(即,由用戶(hù)通過(guò)計(jì)算機(jī)系統(tǒng)的GUI進(jìn)行交互)執(zhí)行。因此,特定 由計(jì)算機(jī)系統(tǒng)執(zhí)行的步驟可以完全自動(dòng)地執(zhí)行。例如,對(duì)該方法的至少一些步驟的觸發(fā)可 以是通過(guò)用戶(hù)-計(jì)算機(jī)交互而執(zhí)行的。尤其是,定義步驟SlO和S20由在計(jì)算機(jī)上工作的用戶(hù) 在相同工作會(huì)話(huà)或不同工作會(huì)話(huà)中執(zhí)行。確定步驟S30可以由用戶(hù)在相同的工作會(huì)話(huà)中 (S10和S20二者的工作會(huì)話(huà),或者僅S20的工作會(huì)話(huà))或者在不同的工作會(huì)話(huà)中觸發(fā)。所需的 用戶(hù)-計(jì)算機(jī)交互水平可以取決于所預(yù)見(jiàn)的自動(dòng)化水平,并且與實(shí)現(xiàn)用戶(hù)愿望的需求保持 平衡。例如,該水平可以由用戶(hù)定義和/或預(yù)定義。
[0033]本方法的計(jì)算機(jī)實(shí)現(xiàn)方式的典型示例將通過(guò)適配于本目的的系統(tǒng)來(lái)執(zhí)行該方法。 該系統(tǒng)可包括耦合到存儲(chǔ)器和圖形用戶(hù)界面(GUI)的處理器,該存儲(chǔ)器在其上記錄有計(jì)算 機(jī)程序,該計(jì)算機(jī)程序包括用于執(zhí)行該方法的指令。存儲(chǔ)器還可存儲(chǔ)數(shù)據(jù)庫(kù)。該存儲(chǔ)器是任 意適用于這種存儲(chǔ)的硬件,可能包括若干不同的物理部分(例如,一個(gè)用于程序,可能還有 一個(gè)用于數(shù)據(jù)庫(kù))。
[0034]該方法通常處理建模對(duì)象。建模對(duì)象是由數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)定義的任意對(duì)象。 擴(kuò)展開(kāi)來(lái),"建模對(duì)象"這一表述指的是數(shù)據(jù)本身。"設(shè)計(jì)3D建模對(duì)象"指的是任意一個(gè)或系 列動(dòng)作,這些動(dòng)作是加工3D建模對(duì)象的過(guò)程的至少一部分。因此,該方法可包括從頭開(kāi)始創(chuàng) 建3D建模對(duì)象??商娲?,該方法可包括提供先前創(chuàng)建的3D建模對(duì)象,然后修改該3D建模對(duì) 象,尤其是通過(guò)由該方法所完成的雕刻來(lái)實(shí)現(xiàn)。
[0035] 根據(jù)系統(tǒng)的類(lèi)型,建模對(duì)象可由不同種類(lèi)的數(shù)據(jù)來(lái)定義。系統(tǒng)實(shí)際上可以是CAD系 統(tǒng)、CAE系統(tǒng)、CAM系統(tǒng)、PDM系統(tǒng)和/或PLM系統(tǒng)的任意組合。在這些不同系統(tǒng)中,建模對(duì)象由 對(duì)應(yīng)的數(shù)據(jù)來(lái)定義。人們可以因此提到CAD對(duì)象、PLM對(duì)象、PDM對(duì)象、CAE對(duì)象、CAM對(duì)象、CAD 數(shù)據(jù)、PLM數(shù)據(jù)、PDM數(shù)據(jù)、CAM數(shù)據(jù)、CAE數(shù)據(jù)。然而,這些系統(tǒng)之間互相并不排除,因?yàn)榻?duì) 象可以由與這些系統(tǒng)的任意組合相對(duì)應(yīng)的數(shù)據(jù)來(lái)定義。因此,系統(tǒng)也可以既是CAD也是PLM 系統(tǒng),正如在以下提供的這種系統(tǒng)的定義中將變得顯而易見(jiàn)的那樣。
[0036] 所謂CAD系統(tǒng),是指至少適用于基于建模對(duì)象的圖形化表征而設(shè)計(jì)建模對(duì)象的任 意系統(tǒng),例如CATIA。在這種情況下,定義建模對(duì)象的數(shù)據(jù)包括能夠?qū)崿F(xiàn)建模對(duì)象的表征的 數(shù)據(jù)。CAD系統(tǒng)例如可以使用邊沿或線(xiàn)條(在某些情況下通過(guò)面或曲面)來(lái)提供對(duì)CAD建模對(duì) 象的表征。線(xiàn)條、邊沿或曲面可由各種方式來(lái)表征,例如,非均勻有理B樣條(NURBS)。特別 地,CAD文件包含了生成幾何圖形所可以依據(jù)的設(shè)計(jì)規(guī)格,而該設(shè)計(jì)規(guī)格轉(zhuǎn)而使得能夠生成 表征。建模對(duì)象的設(shè)計(jì)規(guī)格可存儲(chǔ)在單個(gè)或多個(gè)CAD文件中。表征CAD系統(tǒng)中的建模對(duì)象的 文件的典型大小在每個(gè)部件IMB的范圍之內(nèi)。建模對(duì)象典型地可以是數(shù)以千計(jì)個(gè)部件的組 合。
[0037]在CAD系統(tǒng)的環(huán)境中,建模對(duì)象通??梢允?D建模對(duì)象,例如,表征一件產(chǎn)品,諸如 部件或是部件的組合,或可能表示產(chǎn)品的組合。所謂"3D建模對(duì)象",是指通過(guò)實(shí)現(xiàn)任意對(duì)象 的3D表征的數(shù)據(jù)所建模的該對(duì)象。3D表征允許從所有角度查看該部件。例如,3D建模對(duì)象當(dāng) 被3D展示時(shí),可圍繞其任意軸、或圍繞顯示該表征的屏幕中的任意軸對(duì)其進(jìn)行處理和旋轉(zhuǎn)。 這尤其不包括2D圖符(icon),其并不是3D建模的。3d表征的顯示有助于設(shè)計(jì)(即,提高了設(shè) 計(jì)者數(shù)據(jù)式地完成任務(wù)的速度)。這加快了行業(yè)中的制造過(guò)程,因?yàn)楫a(chǎn)品的設(shè)計(jì)是生產(chǎn)或建 模過(guò)程的一部分。3D建模對(duì)象還具有的特性是不僅由SlO的基網(wǎng)格定義、而且還由在S20定 義的數(shù)據(jù)來(lái)定義,在S20定義的數(shù)據(jù)構(gòu)成了對(duì)傳統(tǒng)3D建模對(duì)象的附加的設(shè)計(jì)規(guī)格。
[0038] 3D建模對(duì)象可表征在通過(guò)例如CAD軟件方案或CAD系統(tǒng)對(duì)產(chǎn)品的虛擬設(shè)計(jì)完成之 后將在實(shí)際世界中制造的產(chǎn)品的幾何圖形,諸如一個(gè)(例如,機(jī)械的)部件或部件的組合,或 更常規(guī)地,任意剛性體的組合(例如,移動(dòng)機(jī)構(gòu))XAD軟件方案允許設(shè)計(jì)各種非限制性行業(yè) 領(lǐng)域中的產(chǎn)品,這些行業(yè)領(lǐng)域包括:航空航天、建筑、建設(shè)、生活消費(fèi)品、高科技裝置、工業(yè)設(shè) 備、運(yùn)輸、海運(yùn)、和/或離岸業(yè)務(wù)(offshore)或運(yùn)輸。因此,由該方法設(shè)計(jì)的3D建模對(duì)象表征 工業(yè)產(chǎn)品,其可以是陸地交通工具的一部分(包括,例如,汽車(chē)和輕型卡車(chē)設(shè)備、賽車(chē)、摩托 車(chē)、卡車(chē)和摩托設(shè)備、卡車(chē)和公共汽車(chē)、火車(chē))、航空工具的一部分(包括,例如,機(jī)身設(shè)備、航 空航天設(shè)備、推進(jìn)設(shè)備、防御產(chǎn)品、航線(xiàn)設(shè)備、空間設(shè)備)、船舶工具的一部分(包括,例如,海 軍設(shè)備、商業(yè)船只、離岸設(shè)備、游艇和施工船、海運(yùn)設(shè)備)、機(jī)械部件(包括,例如,工業(yè)制造機(jī) 械、重移動(dòng)機(jī)械或設(shè)備、安裝設(shè)備、工業(yè)設(shè)備產(chǎn)品、裝配金屬產(chǎn)品、輪胎制造產(chǎn)品)、電動(dòng)機(jī)械 或電子部件(包括,例如,消費(fèi)類(lèi)電子設(shè)備、安保和/或控制和/或儀器產(chǎn)品、計(jì)算和通信設(shè) 備、半導(dǎo)體、醫(yī)用裝置和設(shè)備)、生活消費(fèi)品(包括,例如,家具、家居和園藝產(chǎn)品、休閑品、時(shí) 尚產(chǎn)品、耐用商品零售商的產(chǎn)品、軟商品零售商的產(chǎn)品)、包裝(包括,例如,食品和飲料以及 煙草、美容和個(gè)人護(hù)理、家庭產(chǎn)品包裝)。在3D建模對(duì)象的美學(xué)方面很重要時(shí),該方法尤其有 用。尤其是當(dāng)3D建模對(duì)象表征車(chē)輛或飛機(jī)的機(jī)械部件(例如可視部件)、或生活消費(fèi)品(例如 電子商品,如攝像機(jī))時(shí)尤為有用。
[0039]所謂PLM系統(tǒng),是指適配于管理表征物理制造的產(chǎn)品的建模對(duì)象的任意系統(tǒng)。在 PLM系統(tǒng)中,建模對(duì)象因此由適合于制造物理對(duì)象的數(shù)據(jù)來(lái)定義。這些典型地可以是維度值 和/或容限值。為了正確地制造對(duì)象,確實(shí)最好能有這些數(shù)值。
[0040] CAM代表計(jì)算機(jī)輔助制造。所謂CAM解決方案,是指適用于管理產(chǎn)品的制造數(shù)據(jù)的 任何(軟件或硬件)解決方案。制造數(shù)據(jù)通常包括與要制造的產(chǎn)品、制造進(jìn)程和所需資源相 關(guān)的數(shù)據(jù)。CAM解決方案用于計(jì)劃和優(yōu)化產(chǎn)品的整個(gè)制造過(guò)程。例如,可以向CAM用戶(hù)提供可 行性、制造過(guò)程的持續(xù)時(shí)間或可被用于制造過(guò)程的特定步驟的資源數(shù)等信息,例如特定自 動(dòng)設(shè)備;并因此使得能夠?qū)芾砘蛩柰顿Y進(jìn)行決策決策。CAM是CAD進(jìn)程和潛在的CAE進(jìn)程 之后的后續(xù)進(jìn)程。這些CAM解決方案由Dassault Systgmes在商標(biāo)DELMIA?下提供。
[0041] CAE代表計(jì)算機(jī)輔助工程。所謂CAE解決方案,是指適用于分析建模對(duì)象的物理行 為的任何(軟件或硬件)解決方案,。一種公知并廣泛使用的CAE技術(shù)是有限元法(FEM),其典 型地包括將建模對(duì)象劃分成可以通過(guò)方程式計(jì)算和仿真其物理行為的元件。這些CAE解決 方案由Dassault Systgmes在商標(biāo)SIMULIA?下提供。另一種新興的CAE技術(shù)涉及在無(wú)需 CAD幾何數(shù)據(jù)的情況下對(duì)由來(lái)自不同物理領(lǐng)域的多個(gè)分量組成的復(fù)雜系統(tǒng)的建模和分析。 CAE解決方案允許對(duì)待制造的產(chǎn)品進(jìn)行仿真,并且由此允許對(duì)其進(jìn)行優(yōu)化,改進(jìn)和驗(yàn)證。這 些CAE解決方案由Dassault Systgmes在商標(biāo)DYMOLA?下提供。
[0042] PDM代表產(chǎn)品數(shù)據(jù)管理。所謂PDM方案,是指適用于管理與特定產(chǎn)品相關(guān)的所有種 類(lèi)的數(shù)據(jù)的任何(軟件或硬件)解決方案。PDM解決方案可由參與到產(chǎn)品生命周期中的所有 參與者使用:主要是工程師,但也包括項(xiàng)目經(jīng)理、財(cái)務(wù)人員、銷(xiāo)售人員和購(gòu)買(mǎi)者。PDM解決方 案通常是基于面向產(chǎn)品的數(shù)據(jù)庫(kù)的。其允許用戶(hù)共享他們產(chǎn)品的一致數(shù)據(jù),并且由此防止 了參與者使用有差異的數(shù)據(jù)。這些I 3DM解決方案由Dassault Systgmes在商標(biāo)ENOVIA? 下提供。
[0043]圖3示出了系統(tǒng)的GUI例子,其中該系統(tǒng)是CAD系統(tǒng)。
[0044] GUI 2100可以是典型的類(lèi)CAD的界面,具有標(biāo)準(zhǔn)菜單條2110、2120、以及底部和側(cè) 邊工具條2140、2150。這些菜單條和工具條包括用戶(hù)可選圖標(biāo)的集合,如技術(shù)中已知的,每 個(gè)圖標(biāo)與一個(gè)或多個(gè)操作或功能相關(guān)。這些圖標(biāo)中的某些與軟件工具相關(guān),適用于在GUI 2100所顯示的3D建模對(duì)象2000上進(jìn)行編輯和/或工作,所顯示的3D建模對(duì)象2000例如是執(zhí) 行該方法所得的結(jié)果。軟件工具可分組為工作臺(tái)。每個(gè)工作臺(tái)包括軟件工具的子集。特別 地,工作臺(tái)中的一個(gè)是編輯工作臺(tái),適合于編輯該建模對(duì)象2000的幾何特征。操作中,設(shè)計(jì) 者例如可以預(yù)選擇對(duì)象2000的一個(gè)部件,然后發(fā)起一項(xiàng)操作(例如,改變大小、顏色、等等) 或者通過(guò)選擇一個(gè)合適的圖標(biāo),編輯幾何約束條件。例如,典型的CAD操作是對(duì)屏幕上所顯 示的3D建模對(duì)象的沖壓或折疊進(jìn)行建模。該GUI例如可以顯示與所示的產(chǎn)品2000相關(guān)的數(shù) 據(jù)2500。在圖2的例子中,數(shù)據(jù)2500被顯示為"特征樹(shù)",它們的3d表征2000有關(guān)于包括制動(dòng) 鉗和制動(dòng)盤(pán)的制動(dòng)組件。GUI還可顯示例如用于簡(jiǎn)化對(duì)象的3D方位、用于觸發(fā)對(duì)被編輯產(chǎn)品 的操作的仿真、或用于呈現(xiàn)所顯示產(chǎn)品2000的各種屬性的各種類(lèi)型的圖形工具2130、2070、 2080。指針2060可由觸覺(jué)裝置控制,以允許用戶(hù)與圖形工具交互。
[0045]圖4示出了該系統(tǒng)的例子,其中該系統(tǒng)是客戶(hù)端計(jì)算機(jī)系統(tǒng),例如用戶(hù)的工作站。 [0046]該例子中的客戶(hù)端計(jì)算機(jī)包括:中央處理單元(CPU) 1010,其與內(nèi)部通信BUS 1000 連接;隨機(jī)存取存儲(chǔ)器(RAM)1070,其也與BUS連接。該客戶(hù)端計(jì)算機(jī)還配備有圖形處理單元 (GPU) 1110,其與連接到BUS的視頻隨機(jī)存取存儲(chǔ)器1100相關(guān)聯(lián)。視頻RAM 1100作為幀緩沖 器是在本領(lǐng)域技術(shù)中公知的。大容量存儲(chǔ)裝置控制器1020管理對(duì)大容量存儲(chǔ)裝置的存取, 如硬盤(pán)驅(qū)動(dòng)器1030。適合有形體現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的大容量存儲(chǔ)裝置包括所有形式 的非易失存儲(chǔ)器,例如包括:半導(dǎo)體存儲(chǔ)裝置,諸如EPR0M、EEPR0M、閃存裝置;磁盤(pán),諸如內(nèi) 部硬盤(pán)和可移除盤(pán);磁性光盤(pán);以及⑶-ROM盤(pán)1040。前述的任意一個(gè)可以由專(zhuān)門(mén)設(shè)計(jì)的ASIC (專(zhuān)用集成電路)補(bǔ)充,或并入專(zhuān)門(mén)設(shè)計(jì)的ASIC(專(zhuān)用集成電路)中。網(wǎng)絡(luò)適配器1050管理對(duì) 網(wǎng)絡(luò)1060的接入??蛻?hù)端計(jì)算機(jī)還可包括觸摸裝置1090,如指針控制裝置、鍵盤(pán)等等。指針 控制裝置用于客戶(hù)端計(jì)算機(jī),使用戶(hù)可以選擇性地將指針定位于顯示器1080上任意期望的 位置。此外,指針控制裝置允許用戶(hù)選擇各種命令和輸入控制信號(hào)。指針控制裝置包括用于 向系統(tǒng)輸入控制信號(hào)的多個(gè)信號(hào)產(chǎn)生裝置。典型地,指針控制裝置可以是鼠標(biāo),鼠標(biāo)的按鍵 用于生成信號(hào)??商鎿Q地或是附加地,客戶(hù)端計(jì)算機(jī)系統(tǒng)可包括感應(yīng)/觸摸板、和/或感應(yīng)/ 觸摸屏。
[0047]計(jì)算機(jī)程序可以包括可由計(jì)算機(jī)執(zhí)行的指令,指令包括使得上述系統(tǒng)執(zhí)行該方法 的單元。程序可以是可被記錄在任何數(shù)據(jù)存儲(chǔ)介質(zhì)上的,包括該系統(tǒng)的存儲(chǔ)器在內(nèi)。程序例 如可以實(shí)現(xiàn)在數(shù)字電子電路中、或計(jì)算機(jī)硬件、固件、軟件或它們的組合中。程序可以被實(shí) 現(xiàn)為設(shè)備,例如在機(jī)器可讀存儲(chǔ)裝置中有形體現(xiàn)的用于由可編程處理器執(zhí)行的產(chǎn)品。方法 步驟可以由可編程處理器執(zhí)行,可編程處理器執(zhí)行程序指令以通過(guò)操作輸入數(shù)據(jù)和產(chǎn)生輸 出來(lái)實(shí)施該方法的功能。處理器因此可以是可編程的,并且耦合以從數(shù)據(jù)存儲(chǔ)系統(tǒng)、至少一 個(gè)輸入裝置、和至少一個(gè)輸出裝置處接收數(shù)據(jù)和指令,以及向數(shù)據(jù)存儲(chǔ)系統(tǒng)、至少一個(gè)輸入 裝置、和至少一個(gè)輸出裝置發(fā)送數(shù)據(jù)和指令。應(yīng)用程序可以被實(shí)現(xiàn)為高級(jí)程序或?qū)ο髮?dǎo)向 的編程語(yǔ)言,或者被實(shí)現(xiàn)為匯編語(yǔ)言或機(jī)器語(yǔ)言(如果需要的話(huà))。在任意情況下,語(yǔ)言可以 是已編譯的或已解譯的語(yǔ)言。程序可以是完整的安裝程序或更新程序。將程序應(yīng)用于系統(tǒng) 的在任何情況下得到的都是用于執(zhí)行該方法的指令。
[0048] 現(xiàn)在來(lái)討論定義SlO。
[0049] 如CAD領(lǐng)域所公知的,用戶(hù)常常會(huì)定義(即,設(shè)計(jì))網(wǎng)格,稱(chēng)為與細(xì)分曲面相關(guān)聯(lián)的 "基網(wǎng)格"。這就是本方法中SlO所做的事。網(wǎng)格表示具有頂點(diǎn)(3D位置)和邊沿(例如,段)的 任何圖形結(jié)構(gòu),邊沿將頂點(diǎn)兩兩連接并形成網(wǎng)格的所謂的面(即,邊沿的最小的環(huán))。網(wǎng)格可 以是不同類(lèi)型中的一個(gè),包括四方網(wǎng)格(主要或完全由四邊沿面組成)和三角形網(wǎng)格(主要 或完全由三邊沿面組成)。定義SlO可以以任意方式實(shí)現(xiàn),包括依據(jù)US 7893937 B2中的對(duì)稱(chēng) 操作進(jìn)行的快速?gòu)?fù)制。
[0050] CAD中的基網(wǎng)格關(guān)聯(lián)于細(xì)分曲面和對(duì)應(yīng)的預(yù)定的網(wǎng)格到曲面轉(zhuǎn)換算法。事實(shí)上,基 網(wǎng)格在定義3D建模對(duì)象幾何圖形的數(shù)據(jù)中是基礎(chǔ)網(wǎng)格。換句話(huà)說(shuō),對(duì)象的幾何圖形由網(wǎng)格 來(lái)表示。更特別地也是公知地,基網(wǎng)格在概念上與細(xì)分算法相關(guān)聯(lián)。依據(jù)所述細(xì)分算法對(duì)基 網(wǎng)格作無(wú)限細(xì)分將得到一個(gè)曲面,稱(chēng)為"細(xì)分曲面",其代表了所設(shè)計(jì)的3D建模對(duì)象的包絡(luò)/ 邊界,從而對(duì)該3D建模對(duì)象進(jìn)行建模。因此說(shuō)基網(wǎng)格"控制"細(xì)分曲面。細(xì)分算法可以是任意 已知的細(xì)分算法,例如四方網(wǎng)格情況下的Catmull-Clark細(xì)分算法,或三角形網(wǎng)格情況下的 循環(huán)細(xì)分算法。
[0051] 眾所周知,出于實(shí)用的目的,細(xì)分曲面實(shí)際上不由系統(tǒng)確定。作為替代,系統(tǒng)以參 數(shù)面片(典型的是NURBS(例如,Bgzier)曲面面片)的集合的形式確定細(xì)分曲面的近似值。例 如,系統(tǒng)存儲(chǔ)有用于執(zhí)行將網(wǎng)格轉(zhuǎn)換成與細(xì)分曲面近似的參數(shù)面片集合的方案的程序。從 這個(gè)意義上說(shuō),該方案對(duì)應(yīng)于基礎(chǔ)細(xì)分算法。在本方法的上下文中,這都意味著該方法運(yùn)行 于支持細(xì)分曲面技術(shù)的系統(tǒng)上,被配置為/適應(yīng)于針對(duì)用戶(hù)來(lái)定義基網(wǎng)格(如SlO處),以及 依據(jù)預(yù)定的細(xì)分方案(例如,Catmul I-Clark用于四方網(wǎng)格,或循環(huán)法用于三角形網(wǎng)格),基 于預(yù)定的轉(zhuǎn)換算法,自動(dòng)輸出/計(jì)算/確定與真實(shí)的和理論的細(xì)分曲面近似的曲面,例如用 于CAD中已知的對(duì)曲面進(jìn)行顯示/編輯/仿真或任何其它處理。所謂"近似",是指所定義(一 個(gè)正標(biāo)量函數(shù)的積分)的在理論細(xì)分曲面與網(wǎng)格到曲面轉(zhuǎn)換算法的輸出之間的標(biāo)量體積是 小于包絡(luò)該細(xì)分曲面的最小平行六面體邊沿框的體積的10%或5%的。
[0052]在本方法的情況下,系統(tǒng)的預(yù)定轉(zhuǎn)換算法是網(wǎng)格到NURBS曲面轉(zhuǎn)換算法,意味著該 基網(wǎng)格被轉(zhuǎn)換成與關(guān)聯(lián)于基網(wǎng)格的細(xì)分曲面近似的NURBS基本曲面/面片的集合(在隨后延 展性示出的例子中,該基網(wǎng)格是四方網(wǎng)格,細(xì)分方案是Catmu 11 -Cl ark細(xì)分方案)。所預(yù)定的 網(wǎng)格到NURBS曲面轉(zhuǎn)換算法可稱(chēng)為"近似算子",可以記為PCCM( ·)?;W(wǎng)格Bo的變換/轉(zhuǎn)換 以下將寫(xiě)作Sq = PCCM(Bo)。在一個(gè)例子中,算子PCCM( ·)是文獻(xiàn)US 7595799 B2(對(duì)應(yīng)于EP 1750229 BI)和US 7400323 B2(其中US 7595799 B2描述了如何生成NURBS面片,而US 7400323 B2描述了如何改善面片之間的幾何連接的質(zhì)量)中描述的網(wǎng)格到NURBS曲面轉(zhuǎn)換 算法,這些文獻(xiàn)通過(guò)引用并入本文,該算法被配置為:在除不規(guī)則(extraordinary)頂點(diǎn)附 近之外的任何地方(即,在所有NURBS面片對(duì)之間)都得到C 2的連續(xù)性,而在不規(guī)則頂點(diǎn)附近 得到的至少是C'但是預(yù)定的網(wǎng)格到NURBS曲面轉(zhuǎn)換算法可以是生成除在不規(guī)則頂點(diǎn)附近 之外(在不規(guī)則頂點(diǎn)附近連續(xù)性至少是C t3)彼此之間都具有C2連續(xù)性的未修整的面片的任意 其它已知的算子(Catmu 11-Clark細(xì)分收斂特性,參見(jiàn)"Recursively generated B-Spline surfaces on arbitrary topological meshes^ ?E.Catmull?J.Clark?Computer-Aided Design,第10卷第6期,1978年11月,第350-355頁(yè))。出于完整性的考慮,需要注意的是,如已 知的,這些算子會(huì)執(zhí)行初始數(shù)量的細(xì)分以便具有同質(zhì)(homogenous)的網(wǎng)格(經(jīng)常是兩個(gè)), 然后依據(jù)方程的求解,創(chuàng)建NURBS面片,該操作的復(fù)雜性基于所輸入的網(wǎng)格面的數(shù)量而遞 增。因此,這些算子與多分辨率網(wǎng)格(該網(wǎng)格帶有局部信息以修改預(yù)定的細(xì)分方案,從而增 加局部細(xì)節(jié))至少當(dāng)增加第二或第三級(jí)細(xì)分之外的信息包括多分辨率的設(shè)定時(shí)是不相容 的。
[0053]作為提示,如果頂點(diǎn)符合以下條件之一,頂點(diǎn)即可以被稱(chēng)為是規(guī)則的(相對(duì)的,其 它頂點(diǎn)被稱(chēng)為是不規(guī)則的):
[0054] ?該頂點(diǎn)不位于網(wǎng)格的獨(dú)立邊界(free border)上,并且被四個(gè)非銳邊沿(nonsharp edges) 包圍 (因此被四個(gè)面包圍 )。
[0055] ?該頂點(diǎn)位于網(wǎng)格的獨(dú)立邊界上,并且被兩個(gè)獨(dú)立邊沿和一個(gè)非獨(dú)立且非銳邊沿 包圍(因此被兩個(gè)面包圍)。
[0056] 還可以在文獻(xiàn),尤其是US 7595799 B2(對(duì)應(yīng)于EP 1750229 BI)和US 7400323 B2 中找到該定義。在Catmul I-Clark細(xì)分理論中規(guī)則頂點(diǎn)確保了最好的曲面質(zhì)量。
[0057] 如本身已知的那樣,NURBS曲面由所謂的"控制點(diǎn)"的(2D)柵格定義,其具有"柵格" 的通常的拓?fù)涠x,例如,具有若干(至少兩個(gè))行和若干(至少兩個(gè))列。貫穿整個(gè)方法,該 計(jì)算機(jī)系統(tǒng)根據(jù)預(yù)定的可逆函數(shù)確定(S20)屬于NURBS曲面并且對(duì)應(yīng)于控制點(diǎn)的柵格的曲 面點(diǎn)的柵格。曲面點(diǎn)是在幾何上位于/屬于該曲面的點(diǎn)。在NURBS的情況下,直接的曲面柵格 是示例的Grgville點(diǎn)的柵格。實(shí)現(xiàn)曲面Grgville點(diǎn)與NURBS的控制點(diǎn)(通常在曲面本身之 外)之間一對(duì)一的對(duì)應(yīng)的預(yù)定的可逆函數(shù)是從描述NURBS幾何結(jié)構(gòu)的眾所周知的數(shù)學(xué)運(yùn)算 中預(yù)先確定并得出的。出于完整性的考慮,這些數(shù)學(xué)運(yùn)算仍然將在下文中作詳細(xì)描述。需要 注意,確定S20可以以任意方式實(shí)現(xiàn),例如,作為后臺(tái)進(jìn)程,在每次曲面及其控制點(diǎn)被修改 時(shí),實(shí)時(shí)重新計(jì)算Gr6vi lie點(diǎn)。
[0058] NURBS曲面是一種廣泛應(yīng)用于CAD的曲面,其通過(guò)3D空間中的數(shù)值被定義在2D空間 中:5(11,¥)4(1,7,2)。通過(guò)兩個(gè)節(jié)點(diǎn)(1〇1〇1:)向量和控制點(diǎn)的一個(gè)二維陣列以及取決于所使 用的CAD的軟件的其它可能數(shù)據(jù)來(lái)表征NURBS曲面。典型地,節(jié)點(diǎn)向量是浮點(diǎn)數(shù)值的一維陣 列。對(duì)控制點(diǎn)陣列可以進(jìn)行索引。每個(gè)控制點(diǎn)是一個(gè)3D點(diǎn),具有坐標(biāo)x,y,z。在陣列中的位置 由兩個(gè)指標(biāo)i和j來(lái)定義;其中,〇 < i<M,0 < j<N。被認(rèn)為是Grgville參數(shù)的參數(shù)集可以從 節(jié)點(diǎn)向量算出,從而索引i或j的每個(gè)值可以與Gr6vilie參數(shù)(m,Vj)相關(guān)聯(lián)。傳統(tǒng)地,Gr6 Ville參數(shù)是節(jié)點(diǎn)向量的固定數(shù)量個(gè)連續(xù)值的若干個(gè)單元。該固定數(shù)量被稱(chēng)為"度",對(duì)于節(jié) 點(diǎn)向量的每個(gè)維度(u或V)而言,該固定數(shù)量可能是不同的??傊?,若干個(gè)度屬于表征NURBS 曲面的數(shù)據(jù)。更詳細(xì)的內(nèi)容,Gerald Farin的文章"Curves and surfaces for Computer Aided Geometric Design",編輯Morgan Kaufmann,(2001),介紹了NURBS曲面的基礎(chǔ)。
[0059] 經(jīng)典地,NURBS曲面由以下輸入所定義。
[0060] 1 · (n+l)(m+l)個(gè)控制點(diǎn)Pii E K3A e R3的柵格,{〇, · · ·,n},je {〇, · · ·,m}。
[0061] 2.兩個(gè)正整數(shù)p,q,其出于后續(xù)將要解釋的理由而被稱(chēng)為"度"。
[0062] 3.第一有序系列的被稱(chēng)為"u節(jié)點(diǎn)向量"的實(shí)數(shù)uQ<……<u P+n+1,使 得最先的P+1個(gè)值m是相等的,且最后p+1個(gè)值m也是相等的。
[0063] 4.第二有序系列的被稱(chēng)為"v節(jié)點(diǎn)向量"的實(shí)數(shù)< Vj < vj+1 < . . . < vq+m+1,使 得最先的q+1個(gè)值W是相等的,且最后q+1個(gè)值W也是相等的。
[0064] 5· (n+1)(m+1)個(gè)權(quán)數(shù) C0ijX)的柵格,其中,ie {〇,···,n},je {〇,···,m}。
[0065] 這些輸入定義了兩個(gè)B樣條基,分別記為,
和
樣條基函數(shù)和是分段多項(xiàng)式,分別具有度 數(shù)P和q。它們的具體定義對(duì)本發(fā)明而言沒(méi)有用處。冊(cè)1^5曲[
由以下有理參教仆忒宙々"
[0066]
[0067] 類(lèi)似地,NURBS曲線(xiàn)C:[i0,ip+"+1] -R3由度數(shù)p的一系列的n+1個(gè)控制點(diǎn)Pi和權(quán)重Oi 來(lái)定義,包含在以下公式中。
[0068]
[0069]事實(shí)上,從數(shù)學(xué)觀點(diǎn)來(lái)看,NURBS曲面是兩個(gè)NURBS曲線(xiàn)的張量乘積。為了清楚起 見(jiàn),主要用NURBS曲線(xiàn)而不是NURBS曲面來(lái)示例(在下面的附圖上)該方法。
[0070] 現(xiàn)在簡(jiǎn)要討論Gr6vi lie點(diǎn)。
[0073] 圖5示出了NURBS曲線(xiàn)及其n+1 = 6個(gè)控制點(diǎn)Pi和Gr6vi 11e點(diǎn)Gi。
[0074]需要注意的是,預(yù)定轉(zhuǎn)換算法可包括用于局部修改或擦除NURBS結(jié)構(gòu)(可能依據(jù)基 網(wǎng)格的局部特征,或依據(jù)添加到基網(wǎng)格的設(shè)計(jì)規(guī)格)的細(xì)化(例如,未披露的處理)。這例如 包括US 7952575 B2所說(shuō)的區(qū)段的平滑化,或者US 2013293541 Al所說(shuō)的特征線(xiàn)的定義。然 而,該曲面(其面積的 如果不是100%的話(huà) 至少90% )存在于NURBS的最后階段。需 要注意的是,該方法本身構(gòu)成了細(xì)化。還需注意的是,這些細(xì)化與包含在當(dāng)前方法中的局部 改變的設(shè)計(jì)規(guī)格之間的同時(shí)發(fā)生,可以以任意方式實(shí)現(xiàn),這僅僅是實(shí)施方式的細(xì)節(jié)。還需注 意的是,該方法的實(shí)施方式可以以任何方式執(zhí)行,以使得該細(xì)化之間的順序和處理的全部 序列是不相關(guān)的。這包含在這樣的事實(shí)中:就是說(shuō)在S30所確定的NURBS曲面"對(duì)應(yīng)于"執(zhí)行 給定處理。在S30所確定的NURBS因此可以被提交給該進(jìn)一步的細(xì)化過(guò)程,并且仍然對(duì)應(yīng)于 在S30中所應(yīng)對(duì)的主要處理。然而在一個(gè)示例中,基網(wǎng)格沒(méi)有配置其他的設(shè)計(jì)規(guī)格(除了S20 中的設(shè)計(jì)規(guī)格),即,基網(wǎng)格是"未加工的"。在另一個(gè)示例中,該同時(shí)發(fā)生的細(xì)化對(duì)整個(gè)曲面 的影響少于其面積的10%,或甚而少于其面積的5%,以使得對(duì)于補(bǔ)償面積,在S30確定的結(jié) 果與曾提到的處理之間,存在精確的匹配。
[0075]定義SlO由用戶(hù)執(zhí)行。其結(jié)果是得到基網(wǎng)格,該基網(wǎng)格達(dá)到對(duì)該曲面的描述與點(diǎn)的 數(shù)量之間的良好權(quán)衡。這與純粹的細(xì)分不同。在SlO定義的基網(wǎng)格不同于(例如,依據(jù)相關(guān)的 細(xì)分方案)來(lái)源于另一網(wǎng)格的純粹細(xì)分的網(wǎng)格。如果這樣的細(xì)分由用戶(hù)在設(shè)計(jì)過(guò)程中調(diào)用, 那么至少一個(gè)從細(xì)分得到的頂點(diǎn)可被手動(dòng)移動(dòng)(即,直接定位一一例如,圖形上而言,由用 戶(hù)規(guī)定的拖-放)??傊?,從零開(kāi)始,定義SlO可以包括多個(gè)低于5或2的細(xì)分。這些細(xì)分允許對(duì) 細(xì)節(jié)的定義,也因此允許復(fù)雜設(shè)計(jì),但是基網(wǎng)格是用戶(hù)設(shè)計(jì)的網(wǎng)格,因而它不會(huì)太復(fù)雜(相 對(duì)而言),也因而用以上提到的轉(zhuǎn)換算法種類(lèi)對(duì)其進(jìn)行轉(zhuǎn)換相對(duì)較快,并且能得到合理數(shù)量 的NURBS控制點(diǎn)。例如,考慮到3D建模對(duì)象的總長(zhǎng)度L(例如,包絡(luò)該3D建模對(duì)象的最小平行 六面體邊界框的最大長(zhǎng)度),在SlO中由用戶(hù)定義的用于表征3D建模對(duì)象的基網(wǎng)格的一條邊 沿的平均長(zhǎng)度可以高于L的1%、L的5%或甚至是L的10%。這些特征一直保留到該方法最后 階段,這保留了用戶(hù)的意圖。
[0076] 現(xiàn)在討論定義S20。
[0077]定義S20還是由用戶(hù)執(zhí)行。在這一點(diǎn)上,用戶(hù)輸入的數(shù)據(jù)可作為3D建模對(duì)象的附加 設(shè)計(jì)規(guī)格,保存于該模型中,因此該3D建模對(duì)象至少由基網(wǎng)格來(lái)定義(與對(duì)于系統(tǒng)來(lái)說(shuō)是預(yù) 先確定的細(xì)分算法/曲面以及與如上述被記為PCCMO的預(yù)定算子相關(guān)),以及由2D圖像和在 細(xì)分曲面上雕刻該2D圖像的位置來(lái)定義。因此該定義S20對(duì)應(yīng)于在基于特征的CAD系統(tǒng)中設(shè) 置一特征,和/或在基于歷史的CAD系統(tǒng)中設(shè)置一歷史設(shè)計(jì)操作,即,歷史樹(shù)的一個(gè)節(jié)點(diǎn),這 些系統(tǒng)本身是已知的。2D圖像是任意類(lèi)型的圖像。它可以是照片(例如,RGB的或灰度級(jí)的), 或者是用戶(hù)(同一用戶(hù)或者另外的用戶(hù))畫(huà)的2D圖(例如,也是RGB的或灰度級(jí)的)。通常來(lái) 說(shuō),該2D表征了將被雕刻在最終設(shè)計(jì)的和/或制造的對(duì)象上的局部細(xì)節(jié),例如一個(gè)logo。本 方法的目的是執(zhí)行"雕刻"設(shè)計(jì)操作,其也像這樣由確定S30的結(jié)果來(lái)定義,并且從視覺(jué)上表 征了(當(dāng)之后顯示由確定S30輸出的曲面時(shí))將2D視角中包含的設(shè)計(jì)向細(xì)分曲面上的真實(shí)的 雕刻。然而,這對(duì)系統(tǒng)而言是內(nèi)在的,為實(shí)施S30而(例如,依據(jù)用戶(hù)需求/用戶(hù)觸發(fā))預(yù)先確 定的。用戶(hù)僅僅指定2D圖像應(yīng)當(dāng)被應(yīng)用到哪個(gè)位置。用戶(hù)可以以任何方式指定細(xì)分曲面上 的這個(gè)位置,例如通過(guò)2D圖像和細(xì)分曲面之間的純粹同構(gòu)關(guān)系。
[0078] 例如,基網(wǎng)格與細(xì)分曲面相關(guān)聯(lián),系統(tǒng)被配置于計(jì)算其近似值(得益于算子PCCM ()),該方法可包括示出所述細(xì)分曲面(的近似值)。然后用戶(hù)可以圖形化地定義該位置。例 如,用戶(hù)可以將2D圖像的3d表征定位在細(xì)分曲面(基網(wǎng)格是3D的,2D圖像可以被移到包含3D 基網(wǎng)格的3D工作空間中)的任何地方上(附近),2D圖像的大小潛在地可以隨意增加或減少, 并且該系統(tǒng)可以執(zhí)行預(yù)定的投影(2D圖像到曲面上,或曲面到2D圖像上)。用戶(hù)還可以指定 2D圖像的取向。用戶(hù)還可以指定該投影。任何容易使用的和圖形化的執(zhí)行該定位的方式(相 當(dāng)于將該2D圖像投影/附著/應(yīng)用到細(xì)分曲面的表征上)都可以由該方法實(shí)現(xiàn)。
[0079] 用戶(hù)在S20處提供的位置在任何情況下都由系統(tǒng)解釋為細(xì)分曲面上的位置,也因 此會(huì)影響基網(wǎng)格或NURBS面片的基礎(chǔ)面。因此系統(tǒng)可將基網(wǎng)格的面和/或NURBS面片與該位 置關(guān)聯(lián)起來(lái)。事實(shí)上,預(yù)定轉(zhuǎn)換算法將基網(wǎng)格的面與所得到的NURBS面片關(guān)聯(lián)起來(lái)。因此,當(dāng) 用戶(hù)把3D圖像定位在細(xì)分曲面上時(shí),用戶(hù)實(shí)際上是將它定位在NURBS面片的子集上,從而定 位在基網(wǎng)格面的對(duì)應(yīng)子集上。該關(guān)聯(lián)/影響的檢索可以以任何方式實(shí)現(xiàn)。該方法可用于向細(xì) 分曲面增加小細(xì)節(jié),同時(shí)保存其整體形狀。首先,保存該曲面的拓?fù)浣Y(jié)構(gòu)。而且,初始細(xì)分曲 面(即,簡(jiǎn)單轉(zhuǎn)換基網(wǎng)格的結(jié)果)中超過(guò)75%,或超過(guò)90%可以留著不修改,針對(duì)這樣來(lái)調(diào)整 2D圖像的大小(例如,在可能的擴(kuò)展之后)。
[0080] 現(xiàn)在討論確定S30。
[00811該方法確定了NURBS曲面,該NURBS曲面不同于由預(yù)定網(wǎng)格到NURBS曲面轉(zhuǎn)換算法 (gp,PCCM()算子)所輸出的曲面(可被稱(chēng)為"未加工的結(jié)果"或"未加工的NURBS/曲面"。在 S30所確定的NURBS實(shí)際上是與將形變映射應(yīng)用在對(duì)基網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算法 所得的結(jié)果上對(duì)應(yīng)的曲面。因此,該形變映射(至少在概念上)修改了"未加工的結(jié)果",以用 2D圖像來(lái)雕刻該曲面。為此,通過(guò)定義,該形變映射包括針對(duì)所述未加工結(jié)果的位置提供的 位移向量,并不是任何位置,而是與雕刻2D圖像的位置對(duì)應(yīng)的位置。基于2D圖像的對(duì)應(yīng)的像 素值,精確計(jì)算該位移向量,從而使其的確是雕刻在細(xì)分曲面上的2D圖像。需要注意的是, 位移向量可以是空(即,不位移)。實(shí)際上,可以針對(duì)比2D圖像的雕刻位置更廣的范圍來(lái)定義 形變映射,例如,整個(gè)曲面,只要在適當(dāng)?shù)牡胤?尤其在不涉及雕刻的位置)位移向量為空即 可。這僅僅是一種實(shí)施方式。簡(jiǎn)而言之,形變映射是一種函數(shù),它指定了細(xì)分曲面的位置(進(jìn) 而是基礎(chǔ)NURBS面片的位置,諸如其控制點(diǎn),和/或基網(wǎng)格的面上的位置)的3D移動(dòng),該方法 實(shí)現(xiàn)了所述位置與2D圖像像素(例如,根據(jù)給定標(biāo)準(zhǔn)而保留的像素)之間的預(yù)定的關(guān)聯(lián)(或 者其計(jì)算,即,值是預(yù)定的,或者對(duì)其進(jìn)行計(jì)算的方式是預(yù)定的,并且不取決于用戶(hù)的任何 進(jìn)一步的輸入),該方法進(jìn)一步實(shí)現(xiàn)了基于相關(guān)聯(lián)像素的3D移動(dòng)值的預(yù)定計(jì)算。需要注意的 是,該3D動(dòng)作的方向(或者其計(jì)算,即,值是預(yù)定的,或者對(duì)其進(jìn)行計(jì)算的方式是預(yù)定的,并 且不取決于2D圖像或用戶(hù)的任何進(jìn)一步輸入,而是例如僅僅取決于基網(wǎng)格)可以是預(yù)定的。
[0082] 位移向量可以利用形成雕刻特征的函數(shù)來(lái)以任何方式計(jì)算,只要其是基于2D圖像 的。圖像的像素值被映射到細(xì)分曲面(得益于定義步驟S20)的位置上,并由此映射到所考慮 的NURBS曲面的位置上。在一個(gè)例子中,該方法所預(yù)期的像素值是像素灰度值。換句話(huà)說(shuō),關(guān) 聯(lián)于2D圖像的像素的灰度值被確定,并用于計(jì)算位移向量。該2D圖像可以以灰度形式提供, 此時(shí)灰度值可以直接是像素值。2D圖像還可以以RGB形式提供,此時(shí)該方法使用任意預(yù)定的 RGB-灰度轉(zhuǎn)換算法。在兩種情況下,該方法都可以對(duì)所保留的值實(shí)施任何進(jìn)一步的處理。
[0083] 在一例子中,位移向量的幅度(或大小)基于對(duì)應(yīng)的灰度值而遞增。換句話(huà)說(shuō),所保 留的像素值的(灰度)值越高,該方法對(duì)未加工的曲面進(jìn)行越多的修改(從幅度上說(shuō))??梢?實(shí)施任何遞增函數(shù)。在一例子中,該函數(shù)僅是指示函數(shù)(如果像素值高于一預(yù)定閾值,則位 移,否則不位移,"正位移"值和"不位移"值之間可能具有平滑化,用以避免突兀的轉(zhuǎn)換)。在 另一示例中,該函數(shù)是更細(xì)化的函數(shù),例如線(xiàn)性函數(shù)。
[0084]用戶(hù)還可以進(jìn)一步從預(yù)定的二元列表中選擇雕刻方向。通常,用戶(hù)手動(dòng)將2D圖像 投影/附著到曲面上,如此前已解釋的那樣,然后用戶(hù)可選擇該位移是應(yīng)當(dāng)在投影的方向上 (即,從用戶(hù)到曲面)還是反方向上(即,從曲面到用戶(hù))??商鎿Q地,雕刻方向可以如以上提 到的那樣預(yù)先確定。這些都是可配置的特征,用于增加系統(tǒng)的用戶(hù)友好性。
[0085] 現(xiàn)在參考圖6到圖19,討論該方法的一個(gè)特定例子。
[0086] 如圖6的流程圖所示,該例子中,該方法實(shí)際上通過(guò)在S32處計(jì)算位移向量(也因 此,形變映射),以及并行地在S34處對(duì)被標(biāo)示為Bo的基網(wǎng)格執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn)換算 法,來(lái)執(zhí)行S30,然后示例的方法實(shí)際上在S36處,對(duì)S34的結(jié)果(記為So = PCCM(Bo))應(yīng)用該形 變映射(記為刀)。
[0087]特別地,計(jì)算S32包括,根據(jù)Bo,首先確定(S320)對(duì)應(yīng)于2D圖像的雕刻位置的第一 3D網(wǎng)格(B4 = Rn(B1))13該第一 3D網(wǎng)格(記為Β4),對(duì)應(yīng)于Bo的一部分,在該部分處將根據(jù)在S20 的用戶(hù)設(shè)計(jì)規(guī)格來(lái)雕刻2D圖像。其可以對(duì)應(yīng)于Bo的受定義S20影響的所有面(與S20定義的 位置相關(guān)的相鄰區(qū)域,其可以以任何預(yù)定的方式確定),并且可以是它的細(xì)分。需要注意的 是,也可以被選擇性地保留無(wú)影響的面的狹帶。
[0088]那么,計(jì)算S32包括:根據(jù)Β4,在Β4的法線(xiàn)方向上,基于2D圖像的對(duì)應(yīng)的像素值,對(duì)Β4 的頂點(diǎn)進(jìn)行位移,以確定(S322)第二3D網(wǎng)格(B5 (i) = B4(i) +diN( i))。換句話(huà)說(shuō),該方法考慮 基網(wǎng)格的受雕刻影響的部分,并且依據(jù)該雕刻圖像的像素值對(duì)其位置進(jìn)行位移。按照網(wǎng)格 在頂點(diǎn)的法線(xiàn)方向來(lái)以預(yù)定方式計(jì)算位移方向(可以實(shí)施任何法線(xiàn)方向計(jì)算)??梢砸罁?jù)以 上的說(shuō)明完成該計(jì)算,例如,像素灰度值線(xiàn)性地/按比例地/遞增地確定位移的幅度(方向是 法向的,取向(朝向用戶(hù)或相反)是用戶(hù)可選的或是預(yù)定的)。
[0089] 那么,針對(duì)S34的結(jié)果的位置,計(jì)算S32可以計(jì)算(S324)位移向量(Δ (i,j)=Ci,j (S5)-Ci,」(S4)),該位移向量(Λ (i,j) = Ci,」(S5)-Ci,」(S4))等于對(duì)B5執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn) 換算法所得的結(jié)果(S 5 = PCCM(B5))的對(duì)應(yīng)控制點(diǎn)(Ci, j (S5))與對(duì)B4執(zhí)行網(wǎng)格到NURBS曲面轉(zhuǎn) 換算法所得的結(jié)果(S4 = PCCM(B4))的對(duì)應(yīng)控制點(diǎn)(Ci, j (S4))之間的3D位置差。在此,可計(jì)算 SjP S5以對(duì)其進(jìn)行快速執(zhí)行。但是可以考慮任何其它計(jì)算實(shí)施方式。
[0090] 基于圖6的特定示例執(zhí)行起來(lái)尤其有效率,這得益于它所執(zhí)行的特定計(jì)算方法。此 外,該示例確保了 PCCM()輸出的所需的連續(xù)性得以保持(除不規(guī)則頂點(diǎn)的相鄰區(qū)域外的任 何地方都是C2的連續(xù)性,在不規(guī)則頂點(diǎn)的相鄰區(qū)域得到的至少是事實(shí)上,與PCCM算子的 特征相關(guān),該例子實(shí)現(xiàn)的特定代數(shù)確保了這種保持。
[0091] 如圖7所示,其描述了整體環(huán)境,輸入的數(shù)據(jù)是細(xì)分曲面的基網(wǎng)格和二維圖像。目 標(biāo)在于在由基網(wǎng)格定義的曲面上雕刻2D圖像的細(xì)節(jié)。該雕刻的結(jié)果是得到局部形變。相對(duì) 于曲面定位該2-D圖像,以便定義圖像的細(xì)節(jié)將位于曲面上的哪里。輸出的數(shù)據(jù)是NURBS曲 面,體現(xiàn)了被雕刻的圖像。在雕刻細(xì)節(jié)之外,初始曲面的整體形狀并未改變。
[0092] 過(guò)程如下:
[0093] 1.通過(guò)使用初始基網(wǎng)格Bo,將輸入的細(xì)分曲面轉(zhuǎn)換為NURBS曲面So。
[0094] 2.通過(guò)使用初始基網(wǎng)格Bo和2D圖像,執(zhí)行基網(wǎng)格的計(jì)算。這提供了 NURBS曲面SjP &。曲面S4是局部的未改變的形狀,曲面S5是局部的所雕刻的形狀。
[0095] 3.由NURBS曲面SjP S5,計(jì)算控制點(diǎn)偏差。
[0096] 4.通過(guò)向NURBS曲面So應(yīng)用這些控制點(diǎn)偏差,來(lái)雕刻該2D圖像的細(xì)節(jié)。這樣可產(chǎn)生 所得的NURBS曲面Su
[0097]顯然,該方法保存了兩個(gè)世界(細(xì)分曲面設(shè)計(jì)和NURBS設(shè)計(jì))中的最佳部分,意味著 不需要改變雕刻區(qū)域以外的形狀,即可將圖像的細(xì)節(jié)雕刻在細(xì)分曲面上。這準(zhǔn)確捕獲了該 設(shè)計(jì)。
[0098]該例子的整個(gè)過(guò)程是完全自動(dòng)化的,可以作為"雕刻"特征存儲(chǔ)在基于歷史的CAD 系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中。輸入的是細(xì)分曲面和圖像,輸出的是雕刻后的NURBS曲面。在執(zhí)行了雕 刻操作之后,細(xì)分曲面能夠被編輯,或者圖像定義也能被改變。通過(guò)重新進(jìn)行該雕刻特征, 獲得對(duì)所得的曲面的修改版本。這允許了容易、快速地改變?cè)撛O(shè)計(jì)。
[0099]盡管所得曲面是NURBS曲面,然而從用戶(hù)的觀點(diǎn)來(lái)看,功能性是細(xì)分曲面的功能 性。這是因?yàn)榫庉嬍窃谳斎氲募?xì)分曲面上執(zhí)行的。所得的曲面的NURBS方面是一種不限制編 輯能力的處理該結(jié)果的方式。
[0100] 現(xiàn)在結(jié)合更多實(shí)施細(xì)節(jié)來(lái)討論該示例。
[0101]輸入的數(shù)據(jù)和算子以以下方式細(xì)化。由其基網(wǎng)格Bo定義的細(xì)分曲面近似于NURBS 曲面So。圖8示出了表征花瓶的3D建模對(duì)象的基網(wǎng)格Bo。圖9示出了NURBS曲面So(其被示出給 最終用戶(hù),例如,消費(fèi)者)。
[0102] 包括圖像的平面記為P,其設(shè)計(jì)規(guī)格由本方法連續(xù)確定(例如,更新)。其由點(diǎn)X0和 兩個(gè)正交的法向量U,V定義。平面上的任意點(diǎn)可以寫(xiě)成Xo+uU+vV,其中(ω,V) e R2。平面P的位 置定義了圖像將被雕刻在曲面So的哪里。依據(jù)平面P的U,V向量定義形變映射AR2 。其 捕獲與每個(gè)圖像點(diǎn)相關(guān)聯(lián)的灰度級(jí),d(u,v)=0意味著點(diǎn)(u,v)處沒(méi)有圖像細(xì)節(jié)。圖像被包 括在矩形I = [Umin,Umax] X [Vmin,Vmax]中,意味著在這個(gè)矩形外面d(U,V)=0。圖10示出了平 面P上的矩形I,和它有關(guān)于曲面So的定位。函數(shù)d可以是遞增函數(shù),這對(duì)于技術(shù)人員而言是 個(gè)實(shí)施細(xì)節(jié)。
[0103] 示例的方法可以實(shí)現(xiàn)從3D空間到平面P的平整化操作,平面P由映射4戶(hù)定 義。映射Q是否是線(xiàn)性的是不相關(guān)的。從3D空間正交投影到平面P是由線(xiàn)性映射?尸定 義的,也即:
[0104] H(X)= Xo+<X-Xo, U>U+<X-Xo, V> V
[0105] 從網(wǎng)格Mi到更精細(xì)網(wǎng)格Mi+1的網(wǎng)格細(xì)化被記為R,意味著Mi+1 = R(Mi)。典型地,算子R 是Catmull-Clark細(xì)分步驟。得到NURBS曲面S的控制點(diǎn)Pi, J^BSPid = Cid(S)O
[0106] 現(xiàn)在描述基網(wǎng)格計(jì)算的主要階段。圖11的圖表示出了整個(gè)過(guò)程,并構(gòu)成了圖7的方 塊圖"基網(wǎng)格計(jì)算"的細(xì)節(jié)。
[0107] 第一步是識(shí)別將在其上雕刻圖像的Bo面。令B1為從Bo提取得到的基網(wǎng)格,如圖12所 不。
[0108] 該網(wǎng)格通過(guò)B2 = Q(B1)操作而平整化到平面P,生成體現(xiàn)了相同的拓?fù)浣Y(jié)構(gòu)的平坦 網(wǎng)格B2,如圖13所示。
[0109] 現(xiàn)在,第一 3D網(wǎng)格(B4)的確定S310不僅包括提取基網(wǎng)格中對(duì)應(yīng)于2D圖像雕刻位置 的子網(wǎng)格也,如前所示地,還可包括此后的將子網(wǎng)格B 1細(xì)分預(yù)定倍數(shù)n,如前所述。這實(shí)現(xiàn)了 對(duì)2D圖像細(xì)節(jié)的調(diào)整,以及更精煉的雕刻。
[0110]預(yù)定倍數(shù)η可以由用戶(hù)(交互地)定義。然而它也可以基于與2D圖像的細(xì)節(jié)水平相 關(guān)聯(lián)的預(yù)定標(biāo)準(zhǔn)而遞增。在后者的情況下,可以完全自動(dòng)地通過(guò)評(píng)估該預(yù)定標(biāo)準(zhǔn)來(lái)執(zhí)行η的 確定。
[0111] 接下來(lái)提供該自動(dòng)化的例子。
[0112] 網(wǎng)格出將被細(xì)分,直到該網(wǎng)格的大小符合圖像的細(xì)節(jié)。這產(chǎn)生網(wǎng)格B3 = Rn (B2 ),其 中整數(shù)η是細(xì)分的倍數(shù),如圖14所示。相同的細(xì)分過(guò)程B3 = Rn(B2)然后被應(yīng)用到非平坦基網(wǎng) 格B1,即Β4 = Rn(B1 ),如圖15所示。網(wǎng)格Β4和B3具有相同的拓?fù)浣Y(jié)構(gòu)。網(wǎng)格B3是平坦的,網(wǎng)格Β4 是不平坦的。
[0113] 通過(guò)確保足夠數(shù)量的細(xì)分點(diǎn)以表示輸入的圖像,尤其在非空的形變區(qū)域,來(lái)估算 細(xì)分級(jí)數(shù)η:
[0114] -根據(jù)出容易估算兩個(gè)相鄰細(xì)分點(diǎn)之間的平均長(zhǎng)度。
[0115]-根據(jù)輸入的圖像,腐蝕類(lèi)的算法能夠計(jì)算圖像空間中所有非空形變區(qū)域的平均 厚度(參考"The Scientist and Engineer's Guide to Digital Signal Processing'', Steven ff.Smith)〇
[0116]然后n可以首先被選擇(為例如最小整數(shù),其確保)使得比值 大于1。該標(biāo)準(zhǔn)對(duì)用戶(hù)而言是個(gè)良好的指標(biāo)。
[0117]對(duì)于每個(gè)整數(shù)i,令Xi= (Xi,yi,Zi)為平坦網(wǎng)格B3的第i個(gè)點(diǎn)B 3⑴的3D坐標(biāo)。在平面 P的局部2D軸系統(tǒng)中,該點(diǎn)的2D坐標(biāo)是(m,Vi),其中m =〈Xi-X〇,U>U,Vi =〈Xi-X〇,V>V。令di = d (m,Vi)為平面P在點(diǎn)(m,Vi)處的形變映射的值。 網(wǎng)格B4現(xiàn)在被變?yōu)轶w現(xiàn)了相同的拓?fù)浣Y(jié)構(gòu)的另一網(wǎng)格B5,并且被修改如下。對(duì)于每 個(gè)整數(shù)i,令N(i)為按照網(wǎng)格irkBi)、通過(guò)使用B4(i)的鄰近點(diǎn)計(jì)算的法向量。通過(guò)對(duì)η-I級(jí) 的每個(gè)細(xì)分單元周?chē)姆ň€(xiàn)取平均,計(jì)算向量N(i)。然后,網(wǎng)格B 5的第i個(gè)點(diǎn)由B5(i)=B4(i) +cUN(i)定義。這在圖16中示出。
[0119]目前為止,所有計(jì)算都是在網(wǎng)格上執(zhí)行的?,F(xiàn)在,是時(shí)候翻譯控制點(diǎn)方面的信息 了,因?yàn)椋罱K,輸出的是NURBS曲面。令S4為與由網(wǎng)格B4定義的細(xì)分曲面近似的NURBS曲面, 即S4 = PCCM(B4),如圖17所示。類(lèi)似地,令S5為與由網(wǎng)格出定義的細(xì)分曲面近似的NURBS曲 面,即S 5 = PCCM(B5),如圖18所示。
[0120] 必須理解的是,S5不是所得曲面的局部形狀。&的邊界不適配初始曲面So。
[0121] 為了報(bào)告So的形變,由S4和S5計(jì)算新的函數(shù)Δ。
[0122] 通過(guò)構(gòu)造:
[0123] -除了不規(guī)則頂點(diǎn)的相鄰區(qū)域之外,來(lái)自S4(相應(yīng)的是S5)的NURBS面片互相之間是 C 2,在不規(guī)則頂點(diǎn)的相鄰區(qū)域它們至少是Ct^根據(jù)定義PCCM( ·))
[0124] -形變區(qū)域中的每個(gè)基網(wǎng)格面可以鏈接到兩個(gè)NURBS面片:一個(gè)在S4,一個(gè)在&。然 而,這兩個(gè)面片通常不具有相同的節(jié)點(diǎn)向量,并且在定義△之前,可以通過(guò)節(jié)點(diǎn)插入或度數(shù) 提升(參見(jiàn) "The NURBS Book",L· Piegl和T ·Wayne,Springer,第二版,2013年)而針對(duì)每對(duì) 面片均勻化其向量。
[0125] 控制點(diǎn)偏差的映射/,_;?Δ(?,_/)由SdPS4控制點(diǎn)的差來(lái)定義:Δ (i,j)=Ci,j(S5)-C^(S4)13該形變映射將僅被應(yīng)用于So上的形變區(qū)域面片的子集上。在此,這些面片的節(jié)點(diǎn)向 量大體上仍然與A的節(jié)點(diǎn)向量不一致,因此它們也需要被均勻化。
[0126] 一旦完成,通過(guò)對(duì)有關(guān)的NURBS曲面的控制點(diǎn)應(yīng)用偏差Δ (i,j),獲得初始曲面S0 的形變,生成輸出曲面31。通過(guò)應(yīng)用△,來(lái)保留S1的幾何連續(xù)性。如果Φ表征由△的控制點(diǎn)和 So的均勻化的節(jié)點(diǎn)向量計(jì)算出的形狀,那么除了不規(guī)則頂點(diǎn)的相鄰區(qū)域外,Φ的面片互相 之間是C 2,在不規(guī)則頂點(diǎn)的相鄰區(qū)域它們至少是(Λ因此S1可以表達(dá)為線(xiàn)性組合:51 = 5〇+&-54、5〇、54和55擁有相同的參數(shù)化(它們的面片共享相同的節(jié)點(diǎn)向量),它們幾乎在所有地方 都是C 2A1*是如此。正如已經(jīng)提到的,該方法可以在任何必要的地方實(shí)現(xiàn)上述合適的均勻 化(如眾所周知的,并且解釋在參見(jiàn)"The NURBS Book",L.Piegl和T.Wayne,Springer,第二 版,2013年)。
[0127] 圖19示出了最終結(jié)果。
[0128] 圖20至圖26示出了在實(shí)際案例中該方法的應(yīng)用。
[0129] 圖20示出了不同紋理,圖21示出了將這些紋理應(yīng)用于平行六面體3D建模對(duì)象(由 基礎(chǔ)基網(wǎng)格來(lái)建模,該基礎(chǔ)基網(wǎng)格沒(méi)有以圖21的模式向用戶(hù)示出,在該情況中其可以是很 簡(jiǎn)單的)的頂面上的結(jié)果,得益于該方法??梢?jiàn),該方法可用于在平面上鮮明地雕刻紋理。圖 22示出了吹風(fēng)機(jī),在它們的前面上雕刻有圖案。圖24示出了在平面上和在剃須刀柄上雕刻 圖23所示圖案的結(jié)果。圖25示出了完整設(shè)計(jì)的剃須刀,帶有雕刻于其上的所述圖案。圖26示 出了用該方法在3D建模對(duì)象264上雕刻標(biāo)志260和圖案/浮雕262的結(jié)果(對(duì)象264也由基礎(chǔ) 基網(wǎng)格來(lái)建模,該基礎(chǔ)基網(wǎng)格沒(méi)有以圖21的模式向用戶(hù)示出)。
【主權(quán)項(xiàng)】
1. 一種計(jì)算機(jī)實(shí)現(xiàn)的用于設(shè)計(jì)3D建模對(duì)象的方法,所述方法包括w下步驟: ?由用戶(hù)定義(S10)與細(xì)分曲面W及相應(yīng)的預(yù)先確定的網(wǎng)格到NURBS曲面轉(zhuǎn)換算法 (PCCM( ·))相關(guān)的基網(wǎng)格(Bo),所述細(xì)分曲面表征所述3D建模對(duì)象; ?由所述用戶(hù)定義(S20)2D圖像和用于在所述細(xì)分曲面上雕刻所述2D圖像的位置;W 及 ?確定(S30)與將形變映射(z',yH^Δ化y))應(yīng)用(S36)在對(duì)所述基網(wǎng)格執(zhí)行(S34)所述 網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果(S〇 = PCCM(B〇))上對(duì)應(yīng)的NURBS曲面(Si),所述形變 映射包括針對(duì)對(duì)所述基網(wǎng)格執(zhí)行(S34)所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果的位置 提供的位移向量,所述位置與所述用于雕刻所述2D圖像的位置對(duì)應(yīng),所述位移向量是基于 所述2D圖像的對(duì)應(yīng)像素值來(lái)計(jì)算(S32)的。2. 根據(jù)權(quán)利要求1所述的方法,其中,所述方法包括計(jì)算(S32)所述位移向量,包括: ?從所述基網(wǎng)格(Bo)確定(S320)與所述用于雕刻所述2D圖像的位置對(duì)應(yīng)的第一 3D網(wǎng)格 (B4=r(Bi)); ?通過(guò)基于所述2D圖像的對(duì)應(yīng)像素值在所述第一 3D網(wǎng)格的法線(xiàn)方向位移所述第一 3D 網(wǎng)格的頂點(diǎn),來(lái)從所述第一 3D網(wǎng)格確定(S322)第二3D網(wǎng)格(B5(i)=B4(i)+diN(i));W及 ?針對(duì)對(duì)所述基網(wǎng)格執(zhí)行(S34)所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果的位置,計(jì) 算(S324)位移向量(/\。〇')=(:1,^55)-(:1,^54)),該位移向量等于對(duì)所述第二30網(wǎng)格執(zhí)行 所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果(Ss = PCCM化))的對(duì)應(yīng)控制點(diǎn)化,j(Ss))與對(duì)所 述第一 3D網(wǎng)格執(zhí)行所述網(wǎng)格到NURBS曲面轉(zhuǎn)換算法所得的結(jié)果(S4 = PCCM(B4))的對(duì)應(yīng)控制 點(diǎn)(Cl,如4))之間的3D位置差。3. 根據(jù)權(quán)利要求2所述的方法,其中,確定(S320)所述第一3D網(wǎng)格(B4 = r(Bi))包括:提 取所述基網(wǎng)格中的與所述用于雕刻所述2D圖像的位置對(duì)應(yīng)的子網(wǎng)格(Bi),W及在之后W預(yù) 先確定的倍數(shù)(η)細(xì)分所述子網(wǎng)格(Bi)。4. 根據(jù)權(quán)利要求3所述的方法,其中,所述預(yù)先確定的倍數(shù)(η)是由所述用戶(hù)定義的和/ 或是基于與所述2D圖像的細(xì)節(jié)水平有關(guān)的預(yù)先確定的標(biāo)準(zhǔn)而遞增的。5. 根據(jù)權(quán)利要求1-4中的任一項(xiàng)所述的方法,其中,所述2D圖像的對(duì)應(yīng)像素值是像素灰 度值。6. 根據(jù)權(quán)利要求5所述的方法,其中,位移向量的幅度是基于對(duì)應(yīng)的所述灰度值而遞增 的。7. 根據(jù)權(quán)利要求1-6中的任一項(xiàng)所述的方法,其中,所述用戶(hù)進(jìn)一步從預(yù)先確定的二元 列表中選擇雕刻方向。8. -種3D建模對(duì)象,由權(quán)利要求1-7中的任一項(xiàng)所述的方法設(shè)計(jì)而成。9. 一種計(jì)算機(jī)文件,包括對(duì)權(quán)利要求8所述的3D建模對(duì)象的設(shè)計(jì)規(guī)格。10. -種制造產(chǎn)品的方法,包括根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的方法對(duì)3D建模對(duì)象的 設(shè)計(jì)、W及基于所述設(shè)計(jì)對(duì)所述產(chǎn)品的制造。11. 一種計(jì)算機(jī)程序,包括執(zhí)行權(quán)利要求1-8中的任一項(xiàng)所述的方法的指令。12. -種數(shù)據(jù)存儲(chǔ)介質(zhì),其上記錄有根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序。13. -種CAD系統(tǒng),包括禪合到GUI和存儲(chǔ)器的處理器,所述存儲(chǔ)器上記錄有根據(jù)權(quán)利要 求11所述的計(jì)算機(jī)程序。
【文檔編號(hào)】G06T17/30GK105844711SQ201610150690
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年2月2日
【發(fā)明人】R·邁松納夫
【申請(qǐng)人】達(dá)索系統(tǒng)公司