專利名稱:用于使用曲面法向約束的曲面膨脹的方法和裝置的制作方法
技術領域:
相關纟支術描述
在計算機輔助圖像設計中,基于草圖(sketch)的接口已經(jīng)成為用于快速三維(3D)形狀建模的流行方法。隨著建模特征集合不斷增加,功能強大的3D草圖繪制接口可以構造從直線工業(yè)對象到平滑有組織形狀的形狀。通常,這些形狀草圖繪制接口的應用是3D形狀設計。用戶繪制的二維(2D)曲線僅是獲得3D形狀這一最終結果的手段。
當前,在容易獲得的2D藝術設計軟件中,存在幾種3D形狀建模工具。 一種通常使用的建模原語是形狀擠壓,其中封閉2D曲線沿著直線(或曲線)進行掃掠(sweep)以創(chuàng)建棱柱形狀。與擠壓類似的是曲線旋轉,其中曲線繞軸旋轉,以構造旋轉對稱的形狀。另一種常用的原語是倒角(beveling),其中對輸入的2D曲線進行偏移和提升,以提供具有厚度和尖銳邊緣的3D形狀的外觀。這些3D建模原語受到其能夠支持的曲面特征類型的限制。例如,傳統(tǒng)的圖像設計應用不支持在經(jīng)過倒角的圖像內(nèi)部添加尖銳褶皺。一種當前的研究努力是改進2D設計工具中可能的曲面編輯的范圍。研究領域包括虛擬浮雕,以及更一般地,基于功能的曲面建模系統(tǒng)。這兩者使用隱式曲面表示來對其曲面進行建模(出于繪制目的,曲面被交互地多邊形化)。
發(fā)明內(nèi)容
描述了用于利用三維(3D)幾何學對二維(2D)藝術作品進行交互式增強的方法和裝置的各種實施例。曲面膨脹工具的實施例可以用來通過對插值曲面的輸入邊界的曲面進行膨脹來創(chuàng)建3D形狀。曲面膨脹工具的一個實施例例如可以獲得封閉的2D曲線(或邊界)作為輸入;對該邊界內(nèi)的區(qū)域進行細化(例如,三角剖分),以生成初始曲面;以及在保持固定邊界的同時對該曲面進行膨脹。使用針對邊界頂點而指定的約束或者存儲在邊界頂點處的約束,實施例可以使用單個線性系統(tǒng)來有效地控制經(jīng)膨脹的曲面。 一個實施例可以使用曲面法向約束作為邊界條件。 一個實施例可以^吏用平均曲率約束或曲面法向約束作為邊界約束。在一個實施例中,可以使用平均曲率約束和曲面法向約束作為邊界約束;例如,可以在外邊界的一部分上使用平均曲率約束,并且可以在相同外邊界的另一部分上或內(nèi)邊界上使用曲面法向約束。因此,可以在將要膨脹的對象上對內(nèi)邊界或外邊界應用平均曲率約束和/或曲面法向約束。實施例處理平滑位置約束和尖銳位置約束兩者。位置約束頂點還可以具有曲率約束,以用于控制局部曲面的膨脹。
曲面膨脹工具的實施例可以使用膨脹隱喻(metaphor),并且可以允許平滑內(nèi)邊界和尖銳內(nèi)邊界二者作為直接描繪在已膨脹曲面上以修改該曲面的約束曲線。實施例可以使用曲面法向和/或平均曲率約束來控制膨脹量,不同于傳統(tǒng)方法,這允許將問題公式化為單個線性系統(tǒng)。使用膨脹隱喻,實施例可以構造插值封閉輸入邊界的3D曲面。實施例允許設計者利用3D形狀建模特征(諸如尖銳褶皺)、平滑插值曲線和局部曲率控制或曲面法向控制來修改膨脹的曲面。
10實施例證明可以有效地使用可在3D形狀建模工具中找到的其它成
熟幾何建模技術來設計感興趣的視圖。
在一個實施例中,對于曲面法向約束,可以在邊界上并沿著尖
銳曲線引入虛像頂點(ghost vertex )。在一個實施例中,還引入有助于基于圖像建模領域的約束,尤其是像素位置約束,其規(guī)定頂點可以沿著矢量(例如,來自相機視點的矢量)自由地靠近或者遠離,只要其總是投影到同一個像素。 一個實施例可以允許用戶指定這些像素上的曲面法向約束,從而實現(xiàn)目標曲面定向而不需要顯式地指定深度。
由于實施例在開放邊界上滿足曲面法向約束,實施例還可以用作基于面片(patch)的建模系統(tǒng),其中每個面片都是獨立求解的線性系統(tǒng),其中曲面法向約束保證了面片邊界處的連續(xù)性。
曲面膨脹工具的實施例可以通過對插值給定的輸入邊界集合的曲面進行膨脹,從而創(chuàng)建3D形狀。曲面膨脹工具可被一見為3D "邊面片表示,可以圍繞其建立更大的建模系統(tǒng)。例如,實施例可^皮用于膨脹包括字體邊界的2D矢量藝術作品。實施例還可以在基于圖像的建模應用(諸如2D圖像的膨脹)中用作基本原語。
圖1示出了使用曲面膨脹工具的一個實施例的曲面膨脹結果的例子。
圖2a到圖2c示出了根據(jù)一個實施例的曲面膨脹工具中的工作流程。
圖3是根據(jù)一個實施例的曲面膨脹方法的流程圖。圖4示出了根據(jù)一個實施例的網(wǎng)格頂點和單環(huán)鄰居。圖5示出了根據(jù)一個實施例的位置^的網(wǎng)格頂點和單環(huán)鄰居yi。圖6是根據(jù)實施例的用于重新初始化和求解線性系統(tǒng)的方法的一般流程圖。
圖7a到圖7d示出了根據(jù)一個實施例的用于添加約束的步驟。圖8a到圖8c示出了根據(jù)一個實施例的定向位置約束。圖9示出了根據(jù)一個實施例的像素位置約束。圖10a到圖10e示出了根據(jù)一個實施例的3D字體i殳計的例子。圖lla到圖lld示出了根據(jù)一個實施例的筆劃設計的例子。圖12a和圖12b示出了根據(jù)一個實施例的照片膨脹的例子。圖13a到圖13h圖示了根據(jù)一個實施例的自由形式3D形狀設計。圖14a到圖14b根據(jù)一個實施例示出了利用平滑位置約束以及使用曲面法向約束指定的邊界處的凹角而生成的示例曲面。
圖15a和圖15b根據(jù)一個實施例示出了利用平滑位置約束以及使用曲面法向約束指定的邊界處的平面角而生成的示例曲面。
圖16a和圖16b根據(jù)一個實施例示出了利用平滑位置約束以及使用曲面法向約束指定的邊界處的凸角而生成的示例曲面。
圖17a到圖17c根據(jù)某些實施例示出了使用曲面法向約束來修改示例曲面的內(nèi)邊界處的角。
圖18示出了曲面膨脹工具的示例實施例。圖19示出了可以在實施例中使用的計算機系統(tǒng)的例子。雖然以若干實施例和示范'性附圖的例子描述了本發(fā)明,本領域的技術人員將認識到本發(fā)明不限于描述的實施例或附圖。應當理解,附圖和其詳細描述不旨在將本發(fā)明局限為公開的特定形式,而是相反,本發(fā)明覆蓋落在本發(fā)明的精神和范圍內(nèi)的所有修改、等同物和替換。此處使用的標題僅是出于組織目的,并且不意味著用于限制說明的范圍。在本申請中,單詞"可以,,用于允許含義(即,意口未著具有可能),而不是強制含義(即,意味著必需)。類似地,單詞"包括"("include", "including",和"includes")的含義是包含而非限制。
具體實施例方式
在下面的詳細描述中,記載了若干具體細節(jié),以提供對要求保護的主題內(nèi)容的透徹理解。然而,本領域的技術人員應當理解,可以實現(xiàn)所要求的主題內(nèi)容而不使用這些具體細節(jié)。在其他情況下,未詳細描述本領域的技術人員了解的方法、裝置或系統(tǒng),以免使得
所要求的主題內(nèi)容不明確。
下文詳細描述中的某些部分是按照存儲在特定裝置或專用計算 設備或平臺的存儲器內(nèi)的二進制數(shù)字信號的操作的算法或符號表示 給出的。在本特定說明書的上下文中,術語"特定裝置"等包括通用 計算機,其之前被編程以便按照程序軟件中的指令執(zhí)行特定功能。 算法描述或符號表示是信號處理或相關領域的技術人員用于將其工
法 一般被認為是獲取所希望結果的操作或類似信號處理的自給序 列。在這個上下文中,操作或處理涉及物理量的物理操作。通常, 雖然不必要,這些量可以采用能夠被存儲、傳輸、組合、比較或操 作的電子或磁信號的形式。已經(jīng)證實,有時,主要出于公共使用的 原因,將這種信號稱為位、數(shù)據(jù)、值、元素、符號、字符、項、數(shù) 字、數(shù)值等是方便的。然而應當理解,所有這些或類似的術語與適 當?shù)奈锢砹肯嚓P聯(lián),并且僅是方便的標記。除非特定說明,從下面 討論中可以明了,應當理解在整個說明書的討論中,使用術語諸如
"處理","計算"("computing", "calculating"),"確定"等指示特定裝 置諸如專用計算機或類似的專用電子計算設備的活動或處理。因此 在本說明書的上下文中,專用計算機或類似的專用電子計算設備能 夠操縱或傳輸通常被表示為專用計算機或類似的專用電子計算設備 的存儲器、寄存器或其他信息存儲設備、傳輸設備或顯示設備內(nèi)的 物理的電或磁量值信號。
描述了用于利用三維(3D)幾何學對二維(2D)藝術作品進行 交互式增強的方法和裝置的各種實施例。可以使用曲面膨脹方法的 實施例(其實現(xiàn)為或實現(xiàn)在工具、模塊、插件、獨立應用等中)通 過對插值輸入邊界的曲面進行膨脹來創(chuàng)建和修改3D形狀。為了簡單 起見,此處描述的曲面膨脹方法的實施例的實現(xiàn)將被總稱為曲面膨 脹工具。實施例可以在以下一個或多個中使用,但不限于此字體 設計,筆劃設計,照片增強和自由形式3D形狀設計。各種實施例可以使用平均曲率約束、曲面法向約束、或平均曲 率約束和曲面法向約束的組合作為控制膨脹的邊界條件。曲面的平 均曲率是曲率的外在測量,其局部地描述曲面的曲率。因此,平均 曲率約束是特定邊界位置處(即,外邊界或內(nèi)邊界上的特定點或頂
的曲面法向(或簡稱法向)是垂直于該曲面的一個矢量。類似地, 非平坦曲面的曲面法向是垂直于該曲面上某點處的切平面的矢量。
因此,曲面法向約束規(guī)定在曲面上的這一點處(即,曲面外邊界
或內(nèi)邊界上的某點處),曲面法向指向指定的方向。作為例子,用
戶可能希望在邊界上的某點處,曲面法向朝向面外45度,以生成 45度的倒角,并且因此可以將該點處曲面法向約束設置為45度???以在特定邊界位置處(即,外邊界或內(nèi)邊界上的特定點或頂點)或 者針對外邊界或內(nèi)邊界的特定段來指定曲面法向約束值。
一個實施例可以使用平均曲率約束作為邊界條件。 一個實施例 可以使用曲面法向約束作為邊界條件。 一個實施例可以^:用平均曲 率約束或曲面法向約束作為邊界條件。在一個實施例中,可以使用 平均曲率約束和曲面法向約束兩者作為邊界條件;例如,可在邊界 的一部分上使用平均曲率約束,而在同一邊界的另一個部分上或在 其他邊界上使用曲面法向約束。可將平均曲率約束和/或曲面法向約 束應用于將要膨脹的曲面的內(nèi)邊界或外邊界。在實施例中,可以針 對邊界上不同位置處的曲率約束而指定不同的值。實施例可以提供 一個或多個用戶接口元件,通過該元件用戶可以指定或修改邊界位 置處的約束值。實施例可以提供一個或多個用戶接口元件,通過該 元件用戶可以添加、刪除或修改外邊界或內(nèi)邊界。
外邊界和內(nèi)邊界的例子例如參見圖13a和圖13b。圖13a和圖13b 中陰影曲面的外部邊界是外邊界的例子。圖13b中"眼睛"上的兩條 白線是內(nèi)邊界的例子。注意,內(nèi)邊界可以是單個點、開放的線或曲 線或者封閉邊界。由于在膨脹過程中邊界的位置是固定的,外邊界 和內(nèi)邊界兩者可被認為是對曲面的一類"約束"。因此,此處內(nèi)邊界
14和外邊界可總稱為位置約束。
除了位置約束(外邊界和內(nèi)邊界)、平均曲率約束和曲面法向 約束之外,某些實施例可以允許指定其他類型的約束。例如, 一個 實施例可以允許在曲面上的點或者區(qū)域處指定像素位置約束;像素 位置約束可用于限制沿著矢量的膨脹。例如,像素位置約束可被用 于將膨脹限制于Z軸,并且因此防止曲面沿^和7軸發(fā)生不希望的移 動。作為另一個例子, 一個實施例可以允纟午為曲面法向約束添加定 向的位置約束。某些實施例還可以允許針對曲面的區(qū)域或部分指定 任意流向,或是針對整個曲面來指定。 一個例子是導致曲面"向下" 流動的重力操作。
不論是使用平均曲率約束、曲面法向約束或是兩者,實施例可 以利用線性變分曲面編輯技術的特性來執(zhí)行實際的膨脹。線性變分 曲面編輯技術使用某階的拉普拉斯算子來求解平滑曲面,其可以提 供簡單性和高效性,但是由于某些局限性而尚未針對基于草圖的建
模接口進行完整探究。然而,如此處所示,實施例中可以利用這些
局限性來獲得附加的藝術自由度。對于3D建模的某些領域,特別是 對于2D建模(例如,3D字體設計)和基于面片的建模,實施例可 以通過利用線性變分曲面編輯技術的特性來提供效率、穩(wěn)定性和附 加的控制。
與使用隱式曲面表示進行曲面建模的傳統(tǒng)方法相反,實施例可 以使用多邊形(例如,三角形)網(wǎng)格對給定的曲線進行膨脹。實施 例可以使用膨脹隱喻而不使用弦軸。實施例可以允許直接描繪在經(jīng) 膨脹的曲面上的平滑內(nèi)邊界和尖銳內(nèi)邊界兩者對該曲面進行修改。 與傳統(tǒng)方法相反,實施例實現(xiàn)一種線性系統(tǒng)并且逐步解決其缺陷, 而不是使用無法確保收斂的、較慢的迭代非線性求解器。另外,實 施例可以提供比傳統(tǒng)方法更大范圍的建模操作。盡管這種方法可能 不允許將整個網(wǎng)格作為統(tǒng) 一 系統(tǒng)來進行求解,但實施例仍提供了 一 種可能對于用戶來說更為直觀的備選的基于面片的方法,這是因為 傳統(tǒng)方法中的全局解可能導致曲面編輯趨于具有失敗的全局效果。雖然通常將實施例描述為使用三角網(wǎng)格,但是也可以使用其他多邊
形網(wǎng)格。
通過將存儲在邊界頂點處或針對邊界頂點而指定的平均曲率值 或曲面法向值用作自由度,實施例能夠使用單個線性系統(tǒng)來有效地 控制曲面的膨脹。實施例可以處理平滑位置約束和尖銳位置約束兩 者。位置約束頂點也可以具有曲率約束,以用于控制局部曲面的膨脹。
通常,形狀草圖繪制接口的應用是在3D形狀設計中。傳統(tǒng)上, 用戶繪制的二維(2D)邊界僅意味著3D形狀這一最終結果的開始。 不同于使用2D邊界來設計3D形狀,實施例可以使用作為結果得到 的插值的3D形狀來增強已有的2D邊界。即,實施例可以將形狀草 圖繪制接口應用于另 一個感興趣的應用2D藝術作品的創(chuàng)作和設計。
使用膨脹隱喻,實施例可以構造插值封閉輸入邊界的3D曲面。 實施例允許設計者利用3D形狀建模特征(諸如尖銳褶皺)、平滑插 值曲線和局部曲率控制來^f奮改膨脹的曲面。實施例i正明,可以有效 地使用可在3D形狀建模工具中找到的其它成熟的幾何建模技術來 設計感興趣的視圖。圖1示出了使用此處描述的曲面膨脹工具的一 個實施例的曲面膨脹的結果的例子。在這個例子中,輸入單詞 "Hello!"作為字體輪廓(邊界,位置約束),添加了邊界條件(平 均曲率和/或曲面法向約束),并且使用曲面膨脹方法的一個實施例
來按照該約束對字符的曲面進行膨脹。
曲面膨脹工具的實施例構造插值 一 個或多個輸入邊界的二維流 形曲面??梢詫⑶孀鳛樽兎謫栴}的解進行計算??梢詫η媾蛎?工具所實施的曲面膨脹方法進行公式化,以便在單個稀疏線性等式 中對最終曲面進行求解,在一個實施例中,這不需要邊界處的額外 三角形條帶。在采用平均曲率約束的實施例中,邊界上的頂點的平 均曲率是自由度;可以通過增加這些平均曲率值來對該曲面進行膨 脹。在采用曲面法向約束的實施例中,可以使用附加的虛像頂點來 控制內(nèi)部以及曲面邊界處的曲面法向;在這個實施例中,可以通過調(diào)整曲面法向約束、并由此使邊界的虛頂點圍繞邊界旋轉來對曲面 進行膨脹。由于變分設置,除了位置約束附近之外,膨脹的曲面是 平滑的。設計者可以在設計階段的任意時間添加、刪除或修改內(nèi)邊 界和約束,并且這些內(nèi)邊界和約束可以是平滑的或尖銳的。在一個 實施例中,內(nèi)邊界還可以具有曲率控制或曲面法向控制(類似于外 邊界),從而允許設計者對內(nèi)邊界附近的曲面進行局部膨脹或收縮。 在一個實施例中,外邊界和/或內(nèi)邊界可以具有拉伸控制,這允許設 計者擴展符合目標曲率約束或曲面法向約束的區(qū)域。在 一 個實施例 中,約束可被指定為像素位置約束,這意味著這些約束將其頂點約 束為從某個原始照相機視角看,總是投影到相同像素。
曲面膨脹工具的實施例可以使用膨脹隱喻,并且允許用于直接 描繪在膨脹的曲面上的平滑位置約束和尖銳位置約束二者對曲面進 行修改。實施例可以使用平均曲率約束和/或曲面法向約束來控制膨 脹量,與傳統(tǒng)方法不同,這允許將問題公式化為單個線性系統(tǒng)。
曲面膨脹工具的應用可以包括但不限于以下一個或多個字體 設計、筆劃設計、增強照片或其他圖像、以及從頭開始建立3D形狀 模型,在各個附圖中示出了其例子。曲面膨脹工具的某些實施例例 如可實現(xiàn)為2D藝術作品設計工具(諸如八(10&6@111118&&10^和GNU Gimp)的插件,或實現(xiàn)為其他類型的圖像處理應用的插件。其他實 施例例如可以實現(xiàn)為獨立的程序或工具,或實現(xiàn)為庫函tt。曲面膨 脹工具的各種實施例可以獲得、操縱和輸出按照各種數(shù)字圖像格式 中任意一種的數(shù)字圖像。
工作棘
圖2a到圖2c示出了根據(jù)一個實施例的曲面膨脹工具中的工作流 程的例子。如圖2a所示,輸入外邊界曲線。對輸入邊界(圖2a)所 限定的平坦區(qū)域進行細化。在一個實施例中,使用三角形來細化。 增加邊界約束(平均曲率約束和/或曲面法向約束),并且對得到的 曲面(圖2b)進行膨脹(圖2c)。在這個例子中,例如可以在諸如八(1(^£@1111^^化^的藝術作品設計工具中創(chuàng)作2D邊界,并且將其作 為簡單的折線逼近來讀取。在各種實施例中,可以使用獲得輸入2D 邊界的其他方法。
圖3是根據(jù)一個實施例的曲面膨脹方法的流程圖。如100所示, 曲面膨脹工具以封閉2D邊界作為輸入。如102所示,曲面膨脹工具 對外邊界內(nèi)的區(qū)域進行細化(例如,三角剖分),以生成初始曲面。 如104所示,可以為輸入邊界添加邊界約束(平均曲率約束和/或曲 面法向約束)。還可以針對將要膨脹的曲面指定或應用其他約束和/ 或選項,諸如像素位置約束和任意流選項。如106所示,曲面膨脹 工具根據(jù)指定的約束和選項對曲面進行膨脹,同時保持所膨脹對象 的固定邊界。
三角剖分
如圖3的102所示,曲面膨脹工具對外邊界內(nèi)的區(qū)域進行細化, 以生成初始曲面。在執(zhí)行細化時,曲面膨脹工具的某些實施例可將 曲面表示限制為三角網(wǎng)格,該三角網(wǎng)格是通過對外邊界內(nèi)的曲面進 行三角剖分而獲得的??梢允褂酶鞣N三角剖分方法中的任意一種來 生成高質量的三角剖分。某些實施例可以對三角形保持最大面積約 束(這可以作為三角剖分方法中的可配置選項而提供)以防止由于 非常大的三角形而出現(xiàn)的繪制贗像。
由于網(wǎng)格自適應性,使用三角網(wǎng)格(與規(guī)則網(wǎng)格相反)來對膨 脹的曲面進行求解的優(yōu)點是網(wǎng)格適應性效率高可以將三角網(wǎng)格指 定為僅在復雜約束附近具有高度的細節(jié),而在沒有很多約束處是粗 糙的。在一個實施例中,在對曲面進行膨脹時,不對網(wǎng)格連接關系 進行更新。在其他實施例中,在具有高曲率的膨脹形狀的部分中, 可以動態(tài)地加密網(wǎng)格,這可以更為高效,并且使繪制更為平滑。
曲面膨月長
如圖3的106所示,曲面膨脹工具根據(jù)指定的約束對曲面進行膨脹,同時保持固定的邊界。在曲面膨脹方法的一個實施例中,可 以通過求解保持曲面平滑的變分系統(tǒng)來獲得曲面的未約束部分???以保持平滑度,這是因為它為膨脹的曲面提供了有機的外觀,并且 從曲面中去除了任何不自然和不必要的隆起和褶皺。
在一個實施例中,變分公式可以根據(jù)基于偏微分方程(PDE)的 邊界約束建模的原理,其中,對某些美學能量泛函的歐拉-拉格朗 日方程進行求解,以生成平滑的曲面。 一個實施例可以使用"薄板樣
條"作為期望的曲面;相應的歐拉-拉格朗日方程是雙調(diào)和方程。在
這個實施例中,對于位置x處的所有自由頂點,求解PDEA2(;c)=
0。該PDE的解產(chǎn)生各處C2連續(xù)的曲面,只有位置約束處例外(曲 面在此可能是C、戈C。連續(xù))。 一個實施例可以使用拉普拉斯算子 A(x)的基于余切權重的離散化。
交互地求解四階PDE (A2 ( x ) =0)可能太'隄。因此, 一個實 施方式假設在求解過程中曲面的參數(shù)化不改變,從而將非線性問題 轉換為線性問題。在實踐中,這意味著用于拉普拉斯公式的余切 權重僅計算一次(使用平坦的未膨脹曲面),并且隨后在對曲面進 行膨脹時不發(fā)生改變。這種近似已被廣泛地用于構造平滑形狀形變, 但是在某些情況下它可能明顯不同于正確的解。不同于利用較慢的、 有時發(fā)散的、迭代的非線性求解器對其進行修正,實施例可以設置 該線性解的特征,并且使用其突然彎曲(quirk)來提供藝術作品控 制的額外維度。
在求解器中使用線性系統(tǒng)的優(yōu)點是線性系統(tǒng)具有唯 一 解。相反, 非線性系統(tǒng)可能產(chǎn)生多個解(例如,全局和局部最小值)。因此, 使用非線性系統(tǒng),求解器可能陷入局部最小值,這可能產(chǎn)生不希望 的解(即,可能未找到全局最優(yōu)值)。不同的非線性求解器可能獲 得不同的局部最小值。因此,使用線性系統(tǒng)可以提供一致性和效率。 對使用線性系統(tǒng)的 一種權衡是得到的曲面可能不像非線性系統(tǒng)的 全局最優(yōu)解那樣平滑。然而對于藝術作品而言,線性系統(tǒng)產(chǎn)生的解 就足夠了 。線性系統(tǒng)
平均曲率約束實施例
下面描述根據(jù)使用平均曲率約束的實施例的變分線性系統(tǒng)的公 式表述。在這些實施例中,可以實現(xiàn)線性系統(tǒng)^ = ^,其中矩陣^是 稀疏的nX"矩陣(其中"是自由頂點數(shù)目的3倍),其表示頂點及其 鄰居之間的局部幾何關系。長度為"的矢量i表示自由頂點的位置, 并且長度為"的矢量f表示已知的量。對于每個自由頂點的所有三個 坐標,以公式表示對于頂點的鄰居而言是線性的方程。在一個實施 例中,該公式表示可以主要基于離散幾何建模方法。本領域中已經(jīng) 描述了一種方法用于對可以處理平滑或尖銳內(nèi)部約束的線性系統(tǒng)進
行公式化;不幸的是,該公式表示需要三角形的條帶,以便使邊界
頂點的單環(huán)鄰域是完整的。生成這個三角形條帶并不簡單,尤其是 當邊界曲線具有較大凹度時。另外,本領域中已經(jīng)描述了一種曲面 建模系統(tǒng),其采用(^邊界約束并且不需要邊界上的特殊三角形條
帶。然而,該曲面建模系統(tǒng)需要兩個線性解 一個針對平均曲率標 量場,而另一個針對滿足所計算的平均曲率場的位置。曲面膨脹方 法的實施例結合了這兩種方法的益處。在這種結合中,使用平均曲 率約束的曲面膨脹方法的實施例不需要邊界上的三角形條帶來執(zhí)行 膨脹,并且僅求解一個線性系統(tǒng)。這是可行的,因為該曲面膨脹方 法將邊界頂點處的平均曲率視為自由度,其可以用來對該曲面進行 膨脹。
一個實施例可以使用共軛梯度實現(xiàn)來求解線性系統(tǒng)^ = ^ 。由于 矩陣j是稀疏的、對稱的和正定的,其他實施例可以對該矩陣進行 因式分解,這可以減少迭代更新次數(shù)。例如,在一個實施例中,可 以執(zhí)行矩陣j的Cholesky分解,并且在一個實施例中,可以使用直 接求解器來求解該線性系統(tǒng)。在其他實施例中,可以使用其他求解 器來求解該線性系統(tǒng)。例如,可以使用稀疏Cholesky求解器或共輒 梯度求解器。還可以使用其他技術諸如多重網(wǎng)格求解器。圖4示出了根據(jù)一個實施例的位置x的網(wǎng)格頂點和單環(huán)鄰居y,。 圖4示出了下面的方程中使用的各個變量。頂點x具有位于邊界上的
鄰居y。和jM (受約束的平均曲率)和具有完整單環(huán)鄰域的內(nèi)部鄰居
n,",少4 (未約束的平均曲率)。通過對在所有頂點處具有如下 等于0的雙重拉普拉斯算子的平面進行求解,可以獲得所需要的c2
平滑的曲面
△2O) = A(Ax) = 0 (1)
網(wǎng)格頂點處的拉普拉斯算子由其單環(huán)鄰域給出??梢允褂秒x散
拉普拉斯算子,例如可以使用針對網(wǎng)格而定義的Laplace-Beltrami算 子
其中w,是正則化的余切權重,并且l是一個標量項,其包括改進
拉普拉斯算子逼近的、頂點x周圍的加權面積^。注意,在各種實施
例中,可以使用用于網(wǎng)格的其他拉普拉斯算子。代入方程(1):
/f 、
zfx =-Zl x-=0 (2)
、 , 乂
由于A是線性算子
△2x = Ax - Z w,Ay, =0 ( 3 )
考慮圖4的情況,其中某些單環(huán)鄰居在網(wǎng)格內(nèi)部,并且某些在
邊界上。假設給出邊界頂點的平均曲率作為約束。假設".表示平
均曲率、已知的單環(huán)頂點。對于這些頂點,可以-使用表達式
A少,(、 )/2來簡單地計算拉普拉斯算子。將這些已知的拉普拉斯算
子移到方程(3)的右側,獲得以下方程
△2x = 0H J>,A_y,. ( 4 )
注意,項(、 )/2實質上表示由相鄰頂點"施加于頂點x的力,
其方向 ,大小為0.5、。在某些實施例中,力施加于初始頂點法向
少/ 少,z
的方向上(平坦配置中的法向-Z軸)。 一個實施例不使用膨脹狀態(tài) 中的頂點法向,這是由于可能產(chǎn)生路徑相關的、不直觀的非線性頂點運動。
因此,通過增加、的值,增加頂點x上力的大小,有效地將其提升。
最后,展開公式(3)中具有未知平均曲率的頂點的拉普拉斯算 子,以便得到自由頂點x的線性方程
少,'
/ y/ 、
(5)
針對每個自由頂點構造這種方程將產(chǎn)生線性系統(tǒng)^=^,該線性 系統(tǒng)的解提供膨脹的曲面。
曲面法向約束實施例
下面描述根據(jù)使用曲面法向約束的實施例的變分線性系統(tǒng)的公 式表述。在這些實施例中,可以實現(xiàn)線性系統(tǒng)^ ="其中矩陣J是 稀疏的mx"矩降(其中"是自由頂點數(shù)目的3倍),其表示頂點及其 鄰居之間的局部幾何關系。長度為"的矢量^表示自由頂點的位置, 并且長度為"的矢量f表示已知的量。對于每個自由頂點的所有三個 坐標,以公式表示對于頂點的鄰居而言是線性的方程。在這個實施 例中,公式表示可以主要基于離散幾何建模方法,其中添加了約束 類型。在本領域中已經(jīng)描述了一種方法,用于對可以處理平滑或尖 銳內(nèi)部約束的線性系統(tǒng)進行公式化,;不幸的是,該公式表示需要 三角形條帶,以便使邊界頂點的單環(huán)鄰域是完整的。生成這個三角 形帶并不容易,尤其是當邊界曲線具有較大凹度時。因此,使用曲 面法向約束的曲面膨脹工具的實施例提供了 一種利用局部修正的 "虛像"頂點來"偽造"這些三角形的方法。
圖5示出了根據(jù)一個實施例的位置x的網(wǎng)格頂點和單環(huán)鄰居y,。
圖5示出了下面方程中使用的各個變量。頂點;c具有位于邊界上的鄰
居^0和JM,以及具有完整單環(huán)鄰域的內(nèi)部鄰居少2, ", JM。每個邊 界頂點都具有自己的虛像頂點以及兩個相應的虛像三角形(例如,
具有虛像頂點g),以便人為地提供所需要的單環(huán)鄰域。
考慮如圖5所示的位置;c的網(wǎng)格頂點和單環(huán)鄰居;;i。通過對在所有頂點處具有如下等于0的雙重拉普拉斯算子的平面進行求解,可 以獲得所需要的C^平滑曲面 A2(x) = A(Ax) = 0 (6)
網(wǎng)格頂點處的拉普拉斯算子由其單環(huán)鄰域給出
其中w,是以頂點面積的倒數(shù)進行了縮放的非正則化余切權重。代入
等式(6):
<formula>formula see original document page 23</formula>由于A是線性算子
<formula>formula see original document page 23</formula>
其最終展開為
<formula>formula see original document page 23</formula>其中^是指使單環(huán)完整所需的虛像頂點。在一個實施例中,受約束 的頂點可以視為絕對約束,因此其位置被移動到系統(tǒng)的右側。由于
對系統(tǒng)進行過度約束(over-constrain )并且在最小平方的意義上滿足 其他類型的約束可能是方便的,因此在一個實施例中,通過以下的 的倒數(shù)來縮放整個方程
, 、
從而使得誤差量將與位置差成比例,并且不會以任何面積或平均曲 率值來縮放。針對每個自由頂點構造這種方程將給出線性系統(tǒng) ^ = 5,該線性系統(tǒng)的解提供了膨脹的曲面。由于構造不是對稱的, 并且可以是過度約束的,因此可以使用常規(guī)的方程來對其求解。
虛像頂點的放置
在一個實施例中,對于網(wǎng)^"曲面的每個面片,可以布l/沒標準 視角(canonical view )方向是已知的;其例如可以是拍攝原始照片 的方向,或是描繪原始邊界約束的方向。可以得到"向上"矢量,其指向該標準視角的相機。然后可將虛像頂點放置在垂直于該"向上" 矢量的平面內(nèi),并且其法向指向其父頂點的約束曲線。在一個實施 例中,每個虛像頂點可被放置在距離該曲線相同的固定距離d處。例
如,在圖5中,假設一個從紙面"向外的矢量,虛像頂點g被定位在
然后可以圍繞約束曲線(邊界)的切線旋轉虛像頂點,以便改 變法向方向。
注意,可以針對外邊界和內(nèi)邊界兩者增加虛像頂點。 內(nèi)部約束
在實施例中,用戶可以在膨脹的曲面上的任意位置描繪內(nèi)邊界 作為內(nèi)部位置約束,以便自動地獲得在適當位置具有新的內(nèi)邊界的 新膨脹曲面。用戶還可以為內(nèi)邊界指定邊界約束(平均曲率約束和/ 或曲面法向約束)。在增加了新的內(nèi)邊界之后,需要重新初始化以
及求解線性系統(tǒng)^ 圖6是根據(jù)這些實施例的重新初始化和求解
線性系統(tǒng)的方法的 一 般流程圖。針對具有平均曲率約束的內(nèi)邊界而
執(zhí)行的重新求解可以不同于針對具有曲面法向約束的內(nèi)邊界而執(zhí)行
的重新求解。
如200所示,將邊界頂點平均曲率改變?yōu)?,并且將所有內(nèi)部位 置約束移動到其2D位置,從而將現(xiàn)有曲面展平(沒有新的內(nèi)邊界)。 如202所示,通過使用展平的三角網(wǎng)格內(nèi)的重心坐標,來計算新的 內(nèi)邊界頂點的2D位置。如204所示,在內(nèi)邊界的2D位置的制約下, 對外邊界所限定的區(qū)域進行細化(例如,三角剖分)。如206所示, 對得到的曲面進行重新膨脹。在一個實施例中,對于平均曲率約束, 上述過程可以這樣來執(zhí)行將邊界頂點平均曲率設置為初始值,并 且將位置約束曲線移動到其原來的位置。在一個實施例中,對于曲 面法向約束,可以這樣來對得到的曲面進行重新膨脹將位置約束 曲線移動到其原來位置,并且針對自由頂點的位置重新求解該系統(tǒng)。
圖7a到圖7d示出的例子顯示了根據(jù)實施例的上述用于增加內(nèi)邊界的方法。假設用戶希望得到尖銳的內(nèi)邊界。如圖7a所示,用戶 可以在膨脹的曲面上描繪內(nèi)邊界。用戶可以針對新的內(nèi)邊界添加平 均曲率約束和/或曲面法向約束。如果需要,用戶還可以針對外邊界 來增加、去除或修改平均曲率約束和/或曲面法向約束。還可以針對 曲面來增加、去除或修改其他約束,諸如像素位置約束。如圖7b所 示,曲面膨脹工具將膨脹的曲面展平,并且計算內(nèi)邊界的2D位置。 然后,如圖7c所示,曲面膨脹工具在新內(nèi)邊界的制約下重新細化該 區(qū)域,重新膨脹曲面,并且在一個實施例中,將內(nèi)邊界移動到其原 始位置,以便生成如圖7d所示的新的膨脹曲面。在一個實施例中, 可以對用戶透明地執(zhí)行圖7b和圖7c所示的操作。
位置約束的平滑度
在一個實施例中,可以指定平滑(C1)或尖銳(CQ)的位置約 束??梢酝ㄟ^為方程(5)或方程(9)中的受約束頂點指派權重來 改變平滑度值。在一個實施例中,控制位置約束平滑度的權重可以 取0 ( C。連續(xù))到1 ( c'連續(xù))之間的任意浮點值。然而,在一個
實施例中,僅具有兩個選項(平滑/尖銳)、并且對于所有頂點描繪 具有固定的平滑度的位置約束可能是有用的。其它實施例可以允許
在各個位置約束之間改變平滑度。圖14a到圖17c示出了平滑/尖銳
位置約束的某些例子。
曲率約束
在一個實施例中,曲率約束可以與位置約束一起指定。當修改 曲率約束的值時,曲面被修改,使得約束點處的平均曲率的近似與 曲率約束的值相匹配??梢允褂们始s束來對受到位置約束的頂點 周圍的曲面進行局部地膨脹或收縮。由此,實施例可以提供基于草 圖的建模姿態(tài)。在一個實施例中,曲率約束的初始值被設置為0,但 是在其它實施例中,初始值可被設置為任何任意值。
25約束選項
為頂點設定平均曲率約束或曲面法向約束是沿著與初始的平坦 曲面相垂直的方向給其單環(huán)鄰居施加力的一種間4妻方法。然而,在 某些實施例中,可以修改默認行為,并且可以在任意方向上施加附 加的力。作為例子,在一個實施例中,可以給曲率約束增加"重力" 選項,其中在略微向下的方向上施加另一個力(方程(5)的右側), 使得整個曲面向下彎曲。這例如可以用于創(chuàng)建位于垂直面上的粘性
材料的圖示。例如,參見圖llb和圖13h。在某些實施例中,可以指 定"向下"之外的其它方向,以便使得曲面在指定的方向上流動。
定向位置約束
在 一 個實施例中,針對曲面法向約束而描述的虛 <象頂點這 一 才既 念可以擴展到內(nèi)邊界,其可用于控制曲面沿著該內(nèi)邊界的朝向。在 一個實施例中,為了這么做,如圖8a到圖8c所示,可以修改計算 受約束頂點處的拉普拉斯算子的方式。如從圖8a到圖8c中可見, 除了開放的內(nèi)邊界的端點之外,虛像拉普拉斯算子自然地擴展到內(nèi) 邊界;此處,不再有曲線的良定義側(尤其對于僅是單個點的內(nèi)邊 界),并且因此需要不同的方法來計算拉普拉斯算子。在一個實施 例中,可以僅使用其雙重拉普拉斯算子正被計算的發(fā)起頂點x以及相 對的虛像頂點g作為受約束頂點的"單環(huán)",這樣來定義這種退化情況 中的拉普拉斯算子。由于頂點面積和余切權重的計量沒有擴展到這 種情況,可以使用來自發(fā)起頂點的、經(jīng)過面積正則化的余切斥又重的 和。該方法繼而令兩個頂點同等地共享該權重和。因此,拉普拉斯 算子可定義為
<formula>formula see original document page 26</formula>
圖8a到圖8c示出了根據(jù)一個實施例的定向位置約束。圖8a中 示出了內(nèi)部定向位置約束。在計算頂點;c的雙重拉普拉斯算子時,一 個實施例可以通過創(chuàng)建虛像g來計算;;處的拉普拉斯算子,因此如圖 8b所示,頂點y的單環(huán)是( X , ", g" , W 2 )?!抵?意,^位于約束線的末端,因此,為了計算其拉普拉斯算子,取而代之將g沿著從x到"! 的矢量放置,并且僅使用頂點x、 ^和g來計算M處的拉普拉斯算子。
像素位置約束
圖9示出了根據(jù)一個實施例的像素位置約束。參考圖9,像素位 置約束允許頂點^沿著矢量d自由地移動。用戶可能希望這樣來約束 曲面上的頂點(或區(qū)域)從給定的視角看,其總是投影到屏幕空 間中的相同位置,而并非完全約束該頂點或區(qū)域的位置。在一個實 施例中,為了這樣做,可以通過稱為像素位置約束的附加約束來對 線性系統(tǒng)進行過度約束??梢詫⑦@些約束作為針對與照相機光線d _ 01和02正交的兩個任意單位矢量的兩個線性約束而寫入矩陣。對于 具有初始位置p,的點p,約束方程是。,.(/ -;/)=(),并且對于。2也是如 此。
注意,在沒有像素位置約束的情況下,可以針對x, j;和z單獨 書寫線性系統(tǒng),但是對于任意像素位置約束,x、 y和z可以任意耦
合。這可能具有性能代價,因為矩陣將大9倍。因此,對于形式較
不自由的應用,通過僅針對軸對齊的正交視角實施像素位置約束來 保持系統(tǒng)去耦合可能是有用的。在這些情況下,可以這樣來簡單地
實現(xiàn)約束在兩個維度中固定頂點坐標,而使其在第三維度中是自 由的。
像素位置約束可與平均曲率約束、曲面法向約束、或平均曲率 約束和曲面法向約束的組合一起使用。
混合像素位置和定向約束
在許多情況下,定向和像素位置是已知的,但是藝術家可能不 希望完全固定位置,例如,在對臉進行建模時,鼻子處可能存在某 個角度,但是藝術家可能仍然希望在對人物的臉頰進行膨脹時允許 平滑地移動鼻子。為了允許這樣, 一個實施例可以混合像素位置和 定向約束。頂點失去其雙調(diào)和平滑度約束,并且獲得虛像頂點和像素位置約束。虛像頂點是相對于像素位置約束的自由頂點而指定的, 不是絕對地指定的。然而,對于其增加的每兩個像素位置行,這去 除了矩陣中的三個雙調(diào)和約束行(假i殳耦合系統(tǒng)),這4吏得系統(tǒng)約 束過少。因此,可能需要附加的約束。在一個實施例中,對于第一
附加約束,可以觀察到當用戶描繪像素位置約束線條時,他們很 可能希望該線條保持一定的平滑度或初始形狀。因此,對于約束線 上的相鄰頂點A、化(其分別被允許沿著矢量力和^移動), 一個 實施例可以將頂點約束為滿足
(Pl-p2).W+4)/2 = 0
由于該系統(tǒng)仍然缺少一個約束, 一個實施例可以增加附加約束,
該附加約束規(guī)定約束線末端處的拉普拉斯算子(不使用任何虛像 頂點計算)應當與所期望的值(通過虛像頂點相對于約束曲線的定 位可知)相匹配。縮放這些拉普拉斯算子約束將調(diào)整受約束頂點移 動的程度,以便滿足法向約束。
使用線性化
在此描述的系統(tǒng)是線性系統(tǒng),因為正如在某些原始配置中計算 的,已經(jīng)使得非線性區(qū)域和余切項成為常量??梢赃@樣來理解線性 化除了實際曲率之外,允許將三角形的"拉伸(stretch)"視作曲率; 因此,三角形拉伸+曲率而非僅僅是曲率中,變分得以最小化。在 某些實施例中,可以通過有意地拉伸三角形來對此加以利用例如, 通過有意地移動虛像頂點,可以增加其效果區(qū)域。這類似于沿著曲 線的切線移動貝塞爾(Bezier)控制點。
如果所有控制頂點是共面的,線性化還可以使解向著一個平面 折疊(collapse)。當邊界處的虛像頂點被旋轉為共面并且位于形狀 內(nèi)部時,從而導致平坦的對折形狀時,可以在系統(tǒng)中看到這種情況。 然而,在一個實施例中,可以通過允許將系統(tǒng)用作基于面片的建模 系統(tǒng),其中虛像頂點強制面片邊界之間的C^連續(xù)性,從而避免利用 單個線性系統(tǒng)來建模這種形狀的需要。實施例的應用
下面描述曲面膨脹工具的實施例的應用的某些例子,這并非旨 在限制。
3D字體設計
曲面膨脹工具的實施例的應用可以為字體設計??梢詫ψ煮w字 符的輪廓進行膨脹,以提供字體深度。另外,可以通過增加平滑位 置約束或尖銳位置約束以及邊界約束(平均曲率約束或曲面法向約 束或兩者)來控制和增強膨脹字符的形狀。
圖10a到圖10e示出了根據(jù)一個實施例的3D字體設計的例子。 如圖10a所示,讀入字母"A"作為一對封閉邊界曲線(外邊界)。如 圖10b所示,提高受約束的邊界頂點處的平均曲率,從而對輸入曲 線所限定的曲面進行膨脹。接著,如圖10c所示,讀入內(nèi)部偏移曲 線作為曲率和尖銳位置約束。如圖10d所示,提升內(nèi)部曲線以給出 倒角的效果,并且繼而如圖10e所示,通過提高曲線頂點處的曲率 來4吏其更加尖銳。
筆劃設計
除了對已經(jīng)完整輸入的2D曲線(諸如字體輪廓)進行膨脹之外, 還可以使用曲面膨脹工具的實施例作為在生成2D元素時對2D元素 進行膨脹的工具。 一個例子是筆劃。當前,諸如Adobe Illustrator 的藝術作品工具支持具有各種畫筆形狀、厚度和入射角度的筆劃。 實施例可以允許增加筆劃的另一種選項深度。通過改變筆劃邊界 處的平均曲率或曲面法向,可以在實施例中實現(xiàn)變化的筆劃深度。 另外,在一個實施例中,可以提供筆劃的中軸作為約束曲線,這進 一步增加了可能的筆劃形狀的范圍。
圖lla到圖lld示出了根據(jù)一個實施例的筆劃設計的例子。如 圖lla所示,使用曲面膨脹工具對畫筆筆劃輪廓進行膨脹。如圖lib
29所示,可以選擇重力選項,以產(chǎn)生顏料滴落的效果。如圖llc所示, 增加筆劃的軸作為尖銳位置約束。如圖lld所示,通過對曲面的其 余部分進行膨脹來產(chǎn)生具有凹槽的筆劃。
照片膨脹
曲面膨脹工具的實施例的另 一 個應用可以是照片膨脹,或更一 般地,數(shù)字圖像膨脹。例如,使用曲面膨脹工具,通過在圖像上描 繪和操縱位置約束,用戶可以交互地為輸入的照片或其他數(shù)字圖像 增加深度。作為另一個例子,可以使用工具(諸如邊界追蹤或對象 定位工具)來自動地定位圖像(例如數(shù)字照片)上的邊界,并且可 將該邊界輸入曲面膨脹工具,以作為位置約束。位置約束可以是平 滑的(對于包含圓邊的圖像)、尖銳的(矩形的圖像)或其組合。 可以針對圖像上的邊界指定平均曲率約束、曲面法向約束或這兩種 類型的邊界約束。
圖12a和圖12b示出了根據(jù)一個實施例的照片膨脹的例子。在 這個例子中,使用曲面膨脹工具對泰姬陵(Taj Mahal)的數(shù)字照片 進行膨脹。如圖12a中的白線所示,指定不同類型的位置約束曲線 (例如,平滑的、尖銳的以及曲率約束的),以定義膨脹的形狀。在 圖12a中,白色實線表示尖銳位置約束,而黑的虛線表示平滑位置 約束。尖銳位置約束是曲面滿足位置約束曲線、但是越過位置約束 曲線上而沒有保持幾何平滑度之處。平滑位置約束是曲面滿足位置 約束曲線、同時越過位置約束曲線而保持平滑度之處。與虛線相關 聯(lián)的方塊表示已被選擇來指定位置約束的位置。例如,線段末端的 兩個方塊表示被選擇用來指定這兩個方塊之間的線段的位置。在一 個實施例中,可以通過該位置處進行鼠標點擊來選4,由方塊表示的 位置。作為例子,在泰姬陵最上部的f頂中,具有不同深度級別的 平滑曲線(虛線)的四個不同的點產(chǎn)生膨脹的常頂形狀。圍繞著f 頂?shù)募怃J位置約束曲線(白色實線)防止膨脹傳播到彎頂之外。在 指定所希望的約束之后,使用在此描述的曲面膨脹方法來膨脹圖像以生成如圖12b所示的膨脹的圖像。 3D形狀建模
曲面膨脹工具的實施例可被用于任意3D形狀的自由形式設計。 通過添加平滑和/或尖銳位置約束和邊界約束,可以修改膨脹的形狀。 可以1吏用平均曲率約束、曲面法向約束或這兩種約束。
圖13a到圖13h圖示了根據(jù)一個實施例的自由形式3D形狀設 計。給定卡通臉部輪廓(圖13a),對內(nèi)部進行膨脹,并且在眉毛附 近添加兩個平滑位置約束(圖13b)。將一個眉毛上拉而將另一個下 拉(圖13c)。在嘴附近添加尖銳位置約束(圖13d),并且通過修 改平均曲率約束或曲面法向約束來膨脹附近的曲面(圖13e)。在鼻 梁附近添加平滑位置約束(圖13f),以得到最終曲面(圖13g)。 可以可選4奪地為這個3D形狀添加重力或其他方向流動(見上面的討 論),以創(chuàng)建方向流動效果(圖13h)。
曲面法向約束示例
圖14a到圖16b示出了根據(jù)某些實施例的曲面法向約束的應用 的例子,并且還示出了曲面法向約束的效果。這些例子示出曲面 法向約束可被用于(被旋轉)在邊界處生成凹陷的、平坦的或凸出
的角度。
圖14a和14b示出了根據(jù)一個實施例的示例曲面,該曲面是利 用"+ "所表示的位置處的平滑位置約束、以及使用曲面法向約束而 指定的邊界處的凹角而生成的。圖14b中的箭頭表示曲面外邊界處 的曲面法向方向。
圖15a和15b示出了根據(jù)一個實施例的示例曲面,該曲面是利 用"+ ,,所表示的位置處的平滑位置約束、以及使用曲面法向約束而 指定的邊界處的平坦角而生成的。圖15b中的箭頭表示曲面外邊界 處的曲面法向方向。
圖16a和16b示出了4艮據(jù)一個實施例的示例曲面,該曲面是利用"+ ,,所表示的位置處的平滑位置約束、以及使用曲面法向約束而
指定的邊界處的一個凸角而生成的。圖16b中的箭頭表示曲面外邊 界處的曲面法向方向。
圖17a到17c示出了根據(jù)某些實施例的使用曲面法向約束來修 改示例曲面內(nèi)邊界處的角度。圖像中的內(nèi)邊界以黑白虛線表示。圖 17a示出了內(nèi)邊界上的平坦角。圖17b示出了內(nèi)邊界上的尖銳角。圖 17c示出了曲面通過內(nèi)邊界處的不同角度而被局部膨脹。
實現(xiàn)
圖18示出了實現(xiàn)此處描述的曲面膨脹方法的曲面膨脹工具的示 例實施例。如上所述,曲面膨脹工具300的應用可以包括4旦不限于 以下一個或多個字體設計、筆劃設計、增強照片、從頭開始對3D 形狀建模。曲面膨脹工具300的某些實施例可以例如實現(xiàn)為2D藝術 作品設計工具(諸如Adobe^、llustrato^和GNU Gimp )的插件。其他 實施例例如可纟皮實現(xiàn)為獨立的程序或工具。
曲面膨脹工具300可以提供用戶接口 302,用戶接口 302提供一 個或多個文本和/或圖形用戶接口元件、模式或技術,用戶可以通過 其來輸入、修改、指示或選擇將要膨脹的圖像或圖像區(qū)域(以輸入 圖像310表示);輸入、修改或選擇位置約束;選擇重力選項或類 似的任意方向流動選項;在形狀、圖像或數(shù)字圖像區(qū)域中輸入或描 繪筆劃;指定或修改包括平均曲率約束和曲面法向約束在內(nèi)的平滑 或尖銳的位置約束和邊界約束;指定像素位置約束;以及一般地為 使用在此描述的曲面膨脹工具300的實施例的曲面膨脹提供輸入和/ 或控制其各個方面。在一個實施例中,曲面膨脹工具300可以通過 顯示設備上的動態(tài)顯示將按照通過用戶接口 302的用戶輸入而做出 的對目標圖像310的修改實時地或近似實時地反饋給用戶。因此, 如中間圖320所示,用戶可以使用曲面膨脹工具300進行附加輸入 或者操縱圖像或形狀。結果作為最終圖像322而輸出。最終圖像322 (以及中間圖像320 )可被顯示在顯示設備上,打印和/或寫入或存儲
32在各種存儲器介質諸如存儲介質或存儲設備中的任意一種上。 示例系統(tǒng)
可以在可以與各種其他設備交互的 一 個或多個計算機系統(tǒng)上執(zhí)
行此處描述的曲面膨脹工具的實施例的各種組件。圖19示出了一個 這種計算機系統(tǒng)。在示出的實施例中,計算機系統(tǒng)700包括一個或 多個處理器710,其通過輸入/輸出(I/O)接口 730而連接到系統(tǒng)存 儲器720。計算機系統(tǒng)700還包括耦合到1/0接口 730的網(wǎng)絡接口 740,以及一個或多個輸入/輸出設備750,諸如光標控制設備760、 鍵盤770和顯示器780。在某些實施例中,可以想到可以使用計算 才幾系統(tǒng)700的單個實例來實現(xiàn)實施例,而在其他實施例中,多個這 種系統(tǒng)或構成計算機系統(tǒng)700的多個節(jié)點可被配置用于主控實施例 的不同部分或者實例。例如,在一個實施例中,某些元件可以一皮通 過計算機系統(tǒng)700的與實現(xiàn)其他元件的那些節(jié)點不同的一個或多個 節(jié)點實現(xiàn)。
在各種實施例中,計算機系統(tǒng)700可以是包括一個處理器710 的單處理器系統(tǒng),或包括若干處理器710的多處理器系統(tǒng)(例如, 兩個,四個,八個或另一個適合的數(shù)目)。處理器710可以是能夠 執(zhí)行指令的任意適合的處理器。例如,在各個實施例中,處理器710 可以是實現(xiàn)各種指令集體系結構(ISA)諸如x86, PowerPC, SPARC 或MIPS ISA或任意其他適合的ISA中的任意一種的通用或嵌入式處 理器。在多處理器系統(tǒng)中,處理器710中的每一個可以共同4旦不必 然實現(xiàn)相同的ISA。
在某些實施例中,至少一個處理器710可以是圖形處理單元。 圖形處理單元或GPU可被認為是用于個人計算機、工作站、游戲臺 或其他計算機系統(tǒng)的專用圖形呈現(xiàn)設備?,F(xiàn)代GPU在操縱和顯示計 算機圖形時可以非常高效,并且它們高度并行的結構可以使其對于 一系列復雜的圖形算法比通常的CPU更有效。例如,圖形處理器可 以按照以下方式來實現(xiàn)多個圖形原語操作,即執(zhí)行這些原語的操作遠遠快于利用主中央處理單元(CPU)直接在屏幕上進行描繪。在 各種實施例中,可由程序指令實現(xiàn)此處針對曲面膨脹公開的方法, 這些程序指令被配置為在這種GPU中的一個上執(zhí)行,或在這種GPU
中的兩個或多個上并行執(zhí)行。GPU可以實現(xiàn)允許程序員調(diào)用GPU的 功能的一個或多個應用程序員接口 (API)。可以從諸如NVIDIA公 司,ATI科技以及其他公司的供應商處在商業(yè)上獲得適合的GPU。 系統(tǒng)存儲器720可被配置為存儲可由處理器710訪問的程序指 令和/或數(shù)據(jù)。在各個實施例中,可以使用適合的存儲器技術諸如靜 態(tài)隨機訪問存儲器(SRAM),異步動態(tài)RAM ( SDRAM),非易失 /閃存類存儲器或任意其他類型的存儲器實現(xiàn)系統(tǒng)存儲器720。在示 出的實施例中,實現(xiàn)諸如上面針對曲面膨脹工具所述的那些的所希 望的功能的程序指令和數(shù)據(jù)被分別示出為作為程序指令725和數(shù)據(jù) 存儲735存儲在系統(tǒng)存儲器720中。在其他實施例中,程序指令和/ 或數(shù)據(jù)可被接收,發(fā)送或存儲在不同類型的計算機可訪問的介質上, 或與系統(tǒng)存儲器720或計算機系統(tǒng)700分離的類似介質上。 一般地 說,計算機可訪問介質可以包括存儲介質或存儲器介質,諸如磁或 光介質,例如通過I/0接口 730耦合至計算^/L系統(tǒng)700的盤或 CD/DVD - ROM。通過計算機可訪問介質存儲的程序指令和數(shù)據(jù)可 被以傳輸介質或信號諸如電、電磁或數(shù)字信號傳輸,可以通過通信 介質諸如網(wǎng)絡和/或諸如可以通過網(wǎng)絡接口 740實現(xiàn)的無線《連接傳遞 這些信號。
在一個實施例中,1/0接口 730可被配置為協(xié)調(diào)處理器710,系 統(tǒng)存儲器720和設備中的任意外圍設備,包括網(wǎng)絡接口 740或其他 外圍接口諸如輸入/輸出設備750之間的I/O流量。在某些實施例中, 1/0接口 730可以執(zhí)行任意必需的協(xié)議,定時或其他數(shù)據(jù)轉變,以侵_ 將一種組件(例如,系統(tǒng)存儲器720 )的數(shù)據(jù)信號轉換為適用于另一 種組件(例如,處理器710)的格式。在某些實施例中,1/0接口 730 可以包括對通過各種類型的外圍總線諸如例如各種外圍組件互連 (PCI)總線標準或通用串行總線(USB)標準附加的設備的支持。在某些實施例中,1/0接口 730的功能可被劃分為兩個或多個單獨組 件,諸如例如北橋和南橋。另外,在某些實施例中,1/O接口 730的 某些或全部功能,諸如到系統(tǒng)存儲器720的接口可被直接結合到處 理器710內(nèi)。
網(wǎng)絡接口 740可被配置為允許在計算機系統(tǒng)700和附接至網(wǎng)絡 的其他設備(諸如其他計算機系統(tǒng)之間)、或是在計算機系統(tǒng)700 的節(jié)點之間交換數(shù)據(jù)。在各種實施例中,網(wǎng)絡接口 740可以通過有 線或無線通用數(shù)據(jù)網(wǎng)絡諸如例如任意適合的以太網(wǎng)網(wǎng)絡,通過電信/ 電話網(wǎng)絡諸如模擬語音網(wǎng)絡或數(shù)字光纖通信網(wǎng)絡,通過存儲區(qū)域網(wǎng) 絡諸如Fibre Channel SAN,或通過任意其他適合的網(wǎng)絡和/或協(xié)議類 型支持通信。
在某些實施例中輸入/輸出設備750可以包括一個或多個顯示終 端,鍵盤,小鍵盤,觸摸板,掃描設備,語音或光學識別設備,或 適用于以一個或多個計算機系統(tǒng)700輸入或檢索數(shù)據(jù)的任意其他設 備。多個輸入/輸出設備750可存在于計算機系統(tǒng)700中,或可以分 布在計算機系統(tǒng)700的各個節(jié)點上。在某些實施例中,類似的輸入/ 輸出設備可被與計算機系統(tǒng)700分開,并且可以通過有線或無線連 接諸如通過網(wǎng)絡接口 740來與計算機系統(tǒng)700的一個或多個節(jié)點交 互。
如圖19所示,存儲器720可以包括配置為實現(xiàn)此處描述的曲面 膨脹工具的實施例的程序指令725,以及包括可由程序指令725訪問 的各種數(shù)據(jù)的數(shù)據(jù)存儲735。在一個實施例中,程序指令725可以包 括上圖中示出的曲面膨脹工具的軟件元件。數(shù)據(jù)存儲735可以包括 可用于這些實施例的數(shù)據(jù)。在其他實施例中,可以包括其他或不同 的軟件元件和數(shù)據(jù)。
本領域的技術人員應當理解,計算機系統(tǒng)700僅是說明性的, 而并非旨在將曲面膨脹工具的范圍限制為此處的公開。具體地,計 算機系統(tǒng)和設備可以包括可以執(zhí)行指出的功能的硬件或軟件的任意 組合,包括計算機,網(wǎng)絡設備,Internet應用,PDA,無線電話,尋
35呼機等。計算機系統(tǒng)700還可以連接未示出的其他設備,或取而代 之作為獨立的系統(tǒng)操作。另外,在某些實施例中,由示出的組件提 供的功能可被組合在更少的組件內(nèi)或分布在附加組件上。類似地, 在某些實施例中,可以不提供示出的實施例中的某一些的功能,和/ 或可以獲得其他附加的功能。
本領域的技術人員應當理解,雖然各種項目被示出為在使用時 被存儲在存儲器或存儲設備上,可以出于存儲器管理和數(shù)據(jù)完整性 的目的,在存儲器和其他存儲設備之間傳遞這些項目或它們的部分。 可替換地,在其他實施例中,可以在存儲器或另一設備上執(zhí)行軟件 組件中的某 一 些或全部,并且通過計算機間通信與示出的計算機系 統(tǒng)通信。系統(tǒng)組件或數(shù)據(jù)結構中的某一些或全部還可以被存儲(例 如,作為指令或結構化數(shù)據(jù))在計算機可訪問的介質上或以適當驅 動器讀取的便攜產(chǎn)品上,上面已經(jīng)描述了它們的各種例子。在某些
實施例中,存儲在與計算機系統(tǒng)700分離的計算機可訪問介質上的 指令可被通過傳輸介質或信號諸如通過通信介質諸如網(wǎng)絡和/或無線 鏈路傳遞的電,電磁或數(shù)字信號傳輸?shù)接嬎銠C系統(tǒng)700。各種實施例 還包括在計算機可訪問介質上接收,發(fā)送或存儲根據(jù)前面所述執(zhí)行 的指令和/或數(shù)據(jù)。因此,可以其它計算機系統(tǒng)配置實施本發(fā)明。
結論
各種實施例還可以包括在計算機可訪問介質上接收、發(fā)送或存 儲根據(jù)前面所述執(zhí)行的指令和/或數(shù)據(jù)。 一般而言,計算機可訪問介 質可以包括存儲介質或存儲器介質,諸如磁或光學介質,例如,盤 或DVD/CD - ROM,易失或非易失介質,諸如RAM(例如,SDRAM, DDR, RDRAM, SRAM等),ROM等,以及傳輸介質或諸如通過 通信介質諸如網(wǎng)絡和/或無線鏈路傳遞的電,電磁或數(shù)字信號的信號。
圖中示出并且在此處描述的各個方法表示這些方法的實施例的 例子。可以軟件、硬件或其組合實現(xiàn)這些方法。方法的順序可^皮改 變,并且各個元件可被增加,重新排列,組合,忽略,修改等。在本公開的教益下,對于本領域的技術人員很明顯可以做出各 種修改和改變。本發(fā)明旨在包括所有這些修改和改變,并且因此上 述描述被認為是說明性的而不是限制意義的。
權利要求
1.一種計算機實現(xiàn)的方法,包括對由封閉二維邊界限定的曲面進行細化,以生成初始細化曲面,其中所述初始細化曲面由所述邊界來限定;指定所述初始細化曲面的一個或多個邊界頂點處的曲面法向約束值;在保持所述邊界的同時,按照所述一個或多個邊界頂點處的指定曲面法向約束值來對所述初始細化曲面進行膨脹,以生成提供三維幾何效果的經(jīng)膨脹曲面;以及將所述邊界以及所述三維幾何效果顯示為膨脹的三維對象。
2. 如權利要求1的計算機實現(xiàn)的方法,其中所述細化包括對 由所述封閉二維邊界限定的曲面進行三角剖分,并且其中所述初始 細化曲面是三角形網(wǎng)才各。
3. 如權利要求l的方法,其中所述細化包括生成虛像頂點, 從而使所述初始細化曲面的邊界頂點的單環(huán)鄰域完整。
4. 如權利要求3的方法,其中所述對初始細化曲面進行膨脹包 括按照與虛像頂點相對應的、指定的曲面法向值來圍繞邊界旋轉便對初始細化曲面進行膨脹。
5. 如權利要求1的計算4幾實現(xiàn)的方法,還包括 指定經(jīng)膨脹曲面上的內(nèi)邊界;以及按照所述內(nèi)邊界以及 一 個或多個邊界頂點處的、指定的曲面法向 約束值,生成提供不同三維幾何效果的新的經(jīng)膨脹曲面。
6. 如權利要求5的計算機實現(xiàn)的方法,其中所述生成新的經(jīng)膨 脹曲面包括展平初始的經(jīng)膨脹曲面; 計算內(nèi)邊界的2D位置;在內(nèi)邊界的制約下,對曲面進4亍細化以生成新的細化曲面;指定所述新的細化曲面的位于內(nèi)邊界處的 一個或多個頂點處的曲面法向約束值;以及按照一個或多個邊界頂點處的、指定的曲面法向約束值以及所述 新的細化曲面的位于所述內(nèi)邊界處的一個或多個頂點處的曲面法向 約束值,來對所述新的細化曲面進行膨脹。
7. 如權利要求6的計算機實現(xiàn)的方法,還包括將內(nèi)邊界移動到 其原始2D位置。
8. 如權利要求5的計算機實現(xiàn)的方法,其中所述指定經(jīng)膨脹曲 面上的內(nèi)邊界包括通過用戶接口來接收用戶輸入,其中所述用戶 輸入指示所顯示的膨脹三維對象上的內(nèi)邊界。
9. 如權利要求1的計算機實現(xiàn)的方法,其中所述指定初始細化 曲面的 一個或多個邊界頂點處的曲面法向約束值還包括接收指示 所述一個或多個邊界頂點處的曲面法向約束值的用戶輸入。
10. 如權利要求1的計算機實現(xiàn)的方法,還包括針對由封閉二維邊界限定的曲面來指定流動方向;以及 在保持邊界的同時,按照一個或多個邊界頂點處的、指定的曲面 法向約束值以及曲面的流動方向來對初始細化曲面進行膨脹,以生 成提供三維幾何效果的經(jīng)膨脹曲面,其中所述三維幾何效果在所述 指定的流動方向上流動。
11. 如權利要求1的計算機實現(xiàn)的方法,其中所述對初始細化曲 面進行膨脹是按照線性系統(tǒng)來執(zhí)行的。
12. 如權利要求11的計算機實現(xiàn)的方法,其中所述線性系統(tǒng)不 需要將細化擴展到邊界之外。
13. 如權利要求1的計算4幾實現(xiàn)的方法,其中所述對初始細化曲 面進行膨脹是通過求解單個線性系統(tǒng)來執(zhí)行的。
14. 如權利要求1的計算機實現(xiàn)的方法,還包括 指定所述初始細化曲面的一個或多個其他邊界頂點處的平均曲率約束值;以及在保持邊界的同時,按照一個或多個邊界頂點處的、指定的曲面法向約束值以及 一 個或多個其他邊界頂點處的、指定的平均曲率約 束值來對初始細化曲面進行膨脹,以生成經(jīng)膨脹曲面。
15. 如權利要求1的計算機實現(xiàn)的方法,還包括指定初始細化 曲面上的頂點處的 <象素位置約束,其中所述對初始細〗匕曲面進^f亍膨 脹包括沿著由所述像素位置約束指示的一個或多個矢量來限制所 述頂點處的膨脹。
16. 如權利要求1的計算機實現(xiàn)的方法,還包括 在經(jīng)膨脹曲面上指定位置約束;指定所述位置約束的平滑度值,其中所述平滑度值指示尖銳位置 約束或平滑位置約束;以及按照所述位置約束和指定的平滑度值來生成提供不同三維幾何 效果的新的經(jīng)膨脹曲面,其中如果所述平滑度值指示尖銳位置約束, 則新的經(jīng)膨脹曲面滿足所述位置約束,但是越過位置約束曲線而沒 有保持幾何平滑度,并且其中如果所述平滑度值指示平滑位置約束, 則新的經(jīng)膨脹曲面滿足所述位置約束,同時越過位置約束曲線上而 保持平滑度。
17. —種系統(tǒng),包括 至少一個處理器; 顯示設備;以及包括程序指令的存儲器,其中所述程序指令可由所述至少一個處 理器來執(zhí)行,以實現(xiàn)曲面膨脹工具,所述曲面膨脹工具配置用于 對由封閉二維邊界限定的曲面進4亍細化,以生成初始細化曲面,指定所述初始細化曲面的 一 個或多個邊界頂點處的曲面法向約 束值;在保持所述邊界的同時,按照一個或多個邊界頂點處的、指定的 曲面法向約束值對所述初始細化曲面進行膨脹,以生成提供三維幾 何效果的經(jīng)膨脹曲面;以及在所述顯示設備上將所述邊界和所述三維幾何效果顯示為膨脹的三維對象。
18. 如權利要求17的系統(tǒng),其中為了進行細化,所述曲面膨脹 工具配置用于對由封閉二維邊界限定的曲面進行三角剖分,并且 其中所述初始細化曲面是三角形網(wǎng)# 。
19. 如權利要求17的系統(tǒng),其中為了進行細化,所述曲面膨脹 工具配置用于生成虛像頂點,從而使初始細化曲面的邊界頂點的 單環(huán)鄰域完整。
20. 如權利要求19的系統(tǒng),其中為了對初始細化曲面進行膨脹, 所述曲面膨脹工具配置用于根據(jù)與虛像頂點相對應的、指定的曲 面法向值來圍繞邊界旋轉虛像頂點,其中所述旋轉相應地旋轉初始 細化曲面的頂點,以便對初始細化曲面進行膨脹。
21. 如權利要求17的系統(tǒng),其中所述曲面膨脹工具配置用于 指定經(jīng)膨脹曲面上的內(nèi)邊界;以及按照所述內(nèi)邊界以及 一 個或多個邊界頂點處的、指定的曲面法向 約束值,生成提供不同三維幾何效果的新的經(jīng)膨脹曲面。
22. 如權利要求21的系統(tǒng),其中為了生成所述新的經(jīng)膨脹曲面, 所述曲面膨脹工具配置用于展平初始經(jīng)膨脹曲面; 計算內(nèi)邊界的2D位置;在內(nèi)邊界的制約下,對曲面進行細化以生成新的細化曲面; 指定所述新的細化曲面在內(nèi)邊界處的一個或多個頂點處的曲面法向約束值;以及按照一個或多個邊界頂點處的、指定的曲面法向約束值以及所述新的細化曲面在內(nèi)邊界處的一個或多個頂點處的曲面法向約束值,來對所述新的細化曲面進行膨脹。
23. 如權利要求22的系統(tǒng),其中所述曲面膨脹工具還配置用于 將內(nèi)邊界移動到其原始2D位置。
24. 如權利要求21的系統(tǒng),其中為了指定經(jīng)膨脹曲面上的內(nèi)邊 界,所述曲面膨脹工具配置用于通過用戶接口來接收用戶輸入,其中用戶輸入指示所顯示的膨脹三維對象上的內(nèi)邊界。
25. 如權利要求17的系統(tǒng),其中為了指定初始細化曲面的一個 或多個邊界頂點處的曲面法向約束值,所述曲面膨脹工具配置用于 接收指示一個或多個邊界頂點處的曲面法向約束值的用戶輸入。
26. 如權利要求17的系統(tǒng),其中所述曲面膨脹工具配置用于 針對由封閉二維邊界限定的曲面來指定流動方向;以及 在保持邊界的同時,按照一個或多個邊界頂點處的、指定的曲面法向約束值以及曲面的流動方向來對初始細化曲面進行膨脹,以生 成提供三維幾何效果的經(jīng)膨脹曲面,其中所述三維幾何效果在所述 指定的流動方向上流動。
27. 如權利要求17的系統(tǒng),其中為了對初始細化曲面進行膨脹, 所述曲面膨脹工具配置用于按照線'性系統(tǒng)來執(zhí)行所述膨脹,其中所 述線性系統(tǒng)不需要將細化擴展到邊界之外。
28. 如權利要求17的系統(tǒng),其中為了對初始細化曲面進行膨脹, 所述曲面膨脹工具配置用于通過求解單個線性系統(tǒng)來執(zhí)行所述膨 脹。
29. 如權利要求17的系統(tǒng),其中所述曲面膨脹工具還配置用于 指定初始細化曲面的 一個或多個其他邊界頂點處的平均曲率約束值;以及在保持邊界的同時,按照一個或多個邊界頂點處的、指定的曲面 法向約束值以及一個或多個其他邊界頂點處的、指定的平均曲率約 束值來對初始細化曲面進行膨脹,以生成經(jīng)膨脹曲面。
30. 如權利要求17的系統(tǒng),其中所述曲面膨脹工具還配置用于 指定初始細化曲面上的頂點處的像素位置約束,其中,為了對初始 細化曲面進行膨脹,所述曲面膨脹工具還配置用于沿著由所述像素 位置約束指示的一個或多個矢量來限制所述頂點處的膨脹。
31. 如權利要求17的系統(tǒng),其中所述曲面膨脹工具配置用于 在經(jīng)膨脹曲面上指定位置約束;指定所述位置約束的平滑度值,其中所述平滑度值指示尖銳位置約束或平滑位置約束;以及按照所述位置約束和指定的平滑度值來生成提供不同三維幾何 效果的新的經(jīng)膨脹曲面,其中如果所述平滑度值指示尖銳位置約束, 則新的經(jīng)膨脹曲面滿足所述位置約束,但是越過位置約束曲線而沒 有保持幾何平滑度,并且其中如果所述平滑值指示平滑位置約束, 則新的經(jīng)膨脹曲面滿足所述位置約束,同時越過位置約束曲線而保 持平滑度。
32. —種計算機實現(xiàn)的方法,包括在計算平臺上執(zhí)行指令,從而使二進制數(shù)字電子信號表示對由 封閉二維邊界限定的曲面進行細化,以生成初始細化曲面,其中所 述初始細化曲面是由所述邊界限定的;在計算平臺上執(zhí)行指令,從而使二進制數(shù)字電子信號表示指定 所述初始細化曲面的 一個或多個頂點處的曲面法向約束值;在計算平臺上執(zhí)行指令,從而使二進制數(shù)字電子信號表示在保 持所述邊界的同時,按照一個或多個邊界頂點處的、指定的曲面法 向約束值來對所述初始細化曲面進行膨脹,以生成提供三維幾何效 果的經(jīng)膨脹曲面;以及將所述邊界和所述經(jīng)膨脹曲面作為膨脹的三維對象存儲在計算 平臺的存儲器位置中。
33. —種系統(tǒng),包括 至少一個處理器; 顯示設備;以及包括程序指令的存儲器,其中所述程序指令可由所述至少一個處 理器來執(zhí)行,以實現(xiàn)曲面膨脹工具,所述曲面膨脹工具配置用于對由封閉二維邊界限定的曲面進行細化,以生成初始細化曲面, 其中所述初始細化曲面由所述邊界限定;指定所述初始細化曲面的一個或多個邊界頂點處的平均曲率約 束值;指定所述初始細化曲面上的頂點處的像素位置約束;在保持邊界的同時,按照一個或多個邊界頂點處的、指定的平均 曲率約束值來對所述初始細化曲面進行膨脹,以生成提供三維幾何 效果的經(jīng)膨脹曲面,其中頂點處的膨脹沿著由所述像素位置約束指示的一個或多個矢量而受到限制;以及在所述顯示設備上將所述邊界和所述三維幾何效果顯示為膨脹 的三維對象。
34. 如權利要求33的系統(tǒng),其中為了進行細化,所述曲面膨脹 工具配置用于對由封閉二維邊界限定的曲面進行三角剖分,并且 其中初始細化曲面是三角形網(wǎng)格。
35. 如權利要求33的系統(tǒng),其中為了對初始細化曲面進行膨脹, 所述曲面膨脹工具配置用于按照線性系統(tǒng)來執(zhí)行膨脹,其中所述 線性系統(tǒng)不需要將細化擴展到邊界之外。
全文摘要
用于利用3D幾何學來對2D藝術作品進行交互式增強的方法和裝置。通過對插值輸入邊界的曲面進行膨脹,曲面膨脹工具可以用來創(chuàng)建3D形狀。曲面膨脹工具例如可以獲取封閉的2D邊界作為輸入,對邊界內(nèi)部的區(qū)域進行細化以生成初始曲面,在保持固定邊界的同時對曲面進行膨脹。使用邊界頂點處的指定的曲面法向值和/或平均曲率值作為約束,該工具可以使用單個線性系統(tǒng)來有效地控制經(jīng)膨脹的曲面。實施例處理平滑位置約束和尖銳位置約束兩者。位置約束頂點還可以具有為了控制局部曲面的膨脹而指定的約束。
文檔編號G06T15/00GK101685547SQ200910138728
公開日2010年3月31日 申請日期2009年3月17日 優(yōu)先權日2008年3月17日
發(fā)明者J·L·安德魯斯, N·A·卡爾, P·P·喬西 申請人:奧多比公司