專利名稱:頭發(fā)模型建模方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機圖形學(xué)真實感角色建模領(lǐng)域,特別涉及一種基于可復(fù)用發(fā)型約束的真實感頭發(fā)發(fā)型建模方法,通過建立發(fā)型約束在任意虛擬角色模型間的映射關(guān)系,從而達到發(fā)型約束復(fù)用、實現(xiàn)快速頭發(fā)生成的目的。
背景技術(shù):
作為外表釋放給外界的第一印象,角色的頭發(fā)成為影視動畫制作中塑造虛擬角色的重要手段之一。然而迄今為止,真實感發(fā)型建模仍是一項非常困難的工作,其原因在于,發(fā)絲建模的數(shù)量級通常達50k-100k,針對發(fā)絲的幾何表示和控制方法存在隨著待建發(fā)型復(fù)雜程度增加,造型工作量大幅提升的問題。為了保證生成頭發(fā)的真實感、以及后期模擬頭發(fā)運動學(xué)和動力學(xué)的性能需求,目前研究工作主要集中在顯式的發(fā)絲幾何表示與建模方法。解決該問題的首要難點在于發(fā)絲的計算規(guī)模較大,難以有效控制發(fā)絲形狀。現(xiàn)有解決方法中,Watanabe (Watanabe Y, YSuenaga. A trigonal prism-based method for hair image generation.1EEE ComputerGraphics and Applications, 1992,12(1) :47-53)利用真實頭發(fā)成簇相似的特點,提出發(fā)絲聚簇方法(即wisp模型),有效解決了發(fā)型計算問題規(guī)模的限制。對于發(fā)絲形狀建模的問題,在建立發(fā)絲聚簇的基礎(chǔ)上,研究人員進一步提出了多種用于描述發(fā)絲形狀的基本模型例如Anjyo (Anjyo K, Usami Y, Kurihara T. Asimple method for extracting the natural beauty of hair. Proceedings of theACM SIGGRAPH1992, New York:ACM Press,1992:111-120)的懸臂梁模型、Hadap (HadapSj Magnenat-Thalmann N.1nteractive hair styler based on fluid flow. Proceedingsof the Eurographics2000Workshop on Computer Animation and Simulation, NewYork: SpringerVerlag,2000:87-100)的流體模型和 Yu (Yu Yi Zhou. Modeling realisticvirtual hairstyles.Proceedings of the9th Pacific Conference on ComputerGraphics and Applications,2001:295-304)的向量場模型等,這些基本模型能夠有效描述發(fā)型中的發(fā)絲形狀。然而如果僅釆用上述基本模型,缺少合理的交互支持,用戶難以實現(xiàn)直觀交互下的發(fā)型設(shè)計和建模,從而使得計算機輔助的發(fā)型設(shè)計與建模工作變得極為困難。為了解決上述問題,Choe (Choe B,Ko H S. A statistical wisp modeland pseudophysical approaches for interactive hair-style generation.1EEETransactionVisualization and Computer Graphics,2005,11 (2) : 160-170)結(jié)合了 向量場模型方法,提出一種釆用造型約束控制發(fā)絲形變的方法,允許用戶快速構(gòu)建基于顯式發(fā)絲的發(fā)型。但是,由于該方法缺少對具有多樣化外觀發(fā)型的造型約束支持,當待建發(fā)型較復(fù)雜時,現(xiàn)有造型約束失效,使該方法缺少普遍適用性。進一步,研究人員針對發(fā)型的“波動”和“卷曲”等自然形變外觀的構(gòu)建提出了一些方法。例如,Choe釆用基于樣例的馬爾可夫鏈模型,提取手繪平面曲線的一段并將其還原至整根發(fā)絲,從而模擬出波發(fā)效果。Yu使用特定的偏移函數(shù)模擬發(fā)絲的波動效果。這兩類方法都能夠在一定程度上豐富發(fā)絲的細節(jié)特征。但是,一方面使用上述方法能夠?qū)崿F(xiàn)的發(fā)絲細節(jié)效果比較單一,例如用戶無法針對特定的發(fā)絲局部區(qū)間生成特定的細節(jié)效果;另一方面,除了生成二維意義上的“波發(fā)”以外,許多情況下還需要產(chǎn)生在三維空間發(fā)生扭曲的效果,例如“卷發(fā)”,而現(xiàn)有方法則未涉及這部分內(nèi)容。另外,在當前虛擬現(xiàn)實和計算機動畫的內(nèi)容建模過程中,往往需要在大量不同的虛擬角色模型上分別構(gòu)建多樣化發(fā)型,如果采用現(xiàn)有方法會導(dǎo)致發(fā)型建模工作占據(jù)很大一部分工作成本。如果能夠利用發(fā)型間的相似性,實現(xiàn)現(xiàn)有頭發(fā)模型在不同虛擬角色模型上的快速復(fù)用,將極大地節(jié)約相關(guān)工作成本,提高生產(chǎn)效率。為了解決上述問題,Wang (LvdiWang, Y Yu, K Zhou, et al. Example-Based Hair Geometry Synthesis.1n:Proceedings ofthe ACM SIGGRAPH2009, New York, USA: ACM Press, 2009:56:1-56:9)等提出 了一種基于樣例的發(fā)型生成方法,首先提取樣例發(fā)型發(fā)絲的特征向量,通過參數(shù)化頭皮空間建立到目標模型的二維映射,并使用之前提取的特征向量重建出初始發(fā)型;為了消除初始發(fā)型中的不一致發(fā)絲,再通過計算發(fā)型的切向量場對新發(fā)型進行優(yōu)化處理。該方法能夠有效實現(xiàn)現(xiàn)有頭發(fā)模型復(fù)用,但是參數(shù)化頭皮空間要求發(fā)絲應(yīng)盡可能分布在上半球面,否則提取的發(fā)絲特征會攜帶比較嚴重的扭曲。此外由于針對發(fā)絲特征進行了降維,從而丟失了某些發(fā)型的細節(jié)特征。當源模型的發(fā)絲規(guī)模較大時,該方法的性能也會受到影響。因此,當前針對現(xiàn)有頭發(fā)模型的復(fù)用主要面臨兩個難題①需要滿足快速、精確提取源模型發(fā)型的外觀特征,并建立盡可能低失真的映射關(guān)系;②能夠根據(jù)發(fā)型特征快速生成符合目標模型的新發(fā)型,為了給用戶提供人工調(diào)整的接口,同時還應(yīng)滿足后續(xù)的可編輯性。
發(fā)明內(nèi)容
本發(fā)明所要解決的一個技術(shù)問題之一是提供一種普適性較高的頭發(fā)模型建模方法為此,本發(fā)明提供的頭發(fā)模型建模方法根據(jù)待生成整體發(fā)型的整體發(fā)型特征分別生成Q根樣例發(fā)絲,然后用該Q根樣例發(fā)絲分別表示各自所在發(fā)簇的形狀,根據(jù)各樣例發(fā)絲插值生成各自所在發(fā)簇內(nèi)的剩余發(fā)絲,從而在目標虛擬角色模型上生成整體發(fā)型,該方法的具體步驟如下步驟一,對于輸入的目標虛擬角色模型,根據(jù)待生成整體發(fā)型的整體形狀在目標虛擬角色模型上規(guī)定頭發(fā)生長區(qū)域即頭皮網(wǎng)格;采用網(wǎng)格參數(shù)化方法在頭皮網(wǎng)格上建立目標虛擬角色模型的頭皮網(wǎng)格參數(shù)域A ;步驟二,生成Q根樣例發(fā)絲的二維分布(I)在頭皮網(wǎng)格參數(shù)域A上生成全局發(fā)絲二維分布,將該結(jié)果映射至目標虛擬角色模型的頭皮網(wǎng)格上;或者,在目標虛擬角色模型的頭皮網(wǎng)格上生成全局發(fā)絲二維分布,將該結(jié)果映射至頭皮網(wǎng)格參數(shù)域A上;(2)采用K均值聚類方法將頭皮網(wǎng)格參數(shù)域A上的全局發(fā)絲二維分布均勻劃分成Q簇,使用Q根樣例發(fā)絲表示所在發(fā)簇的整體發(fā)絲形狀,同時各樣例發(fā)絲的發(fā)根均位于所在發(fā)簇的聚簇中心,進而得到Q根樣例發(fā)絲的二維分布,再將該Q根樣例發(fā)絲的二維分布映射至目標虛擬角色模型的頭皮網(wǎng)格上;
步驟三,構(gòu)建發(fā)型約束域根據(jù)待生成整體發(fā)型中發(fā)絲的形狀特征構(gòu)建多個發(fā)型約束域;同時根據(jù)待生成整體發(fā)型的整體發(fā)型特征和局部發(fā)型特征采用層次化的多隊列結(jié)構(gòu)建立多個發(fā)型約束域相互之間的關(guān)系,得到控制全局發(fā)絲形狀的發(fā)型約束域隊列和控制局部發(fā)絲形狀的發(fā)型約束域隊列;其中控制全局發(fā)絲形狀的發(fā)型約束域隊列為全局發(fā)型約束域隊列,該全局發(fā)型約束域隊列中的每個元素是由至少一個發(fā)型約束域組成的發(fā)型約束域集合,且該全局發(fā)型約束域隊列中共包含多個發(fā)型約束域中的η個發(fā)型約束域;控制局部發(fā)絲形狀的發(fā)型約束域隊列為局部發(fā)型約束域隊列,該局部發(fā)型約束域隊列中的每個元素是由至少一個發(fā)型約束域組成的發(fā)型約束域集合,且該局部發(fā)型約束域隊列中共包含多個發(fā)型約束域中除η個發(fā)型約束域外的m個發(fā)型約束域;其中,每個發(fā)型約束域的構(gòu)建包括設(shè)定激活條件、消隱條件和作用力函數(shù)Str ;所述激活條件為所構(gòu)建的發(fā)型約束域開始影響生長發(fā)絲形狀的條件;所述消隱條件為所構(gòu)建的發(fā)型約束域終止影響生長發(fā)絲形狀的條件;所述作用力函數(shù)為所構(gòu)建的發(fā)型約束域影響生長發(fā)絲形狀時,該發(fā)型約束域?qū)ιL發(fā)絲產(chǎn)生的作用力向量;步驟四采用下述方法在Q根樣例發(fā)絲的二維分布上分別生成Q根樣例發(fā)絲;0根樣例發(fā)絲均生成后得到樣例發(fā)絲集合;根據(jù)全局發(fā)型約束域隊列和局部發(fā)型約束域隊列計算生成當前樣例發(fā)絲,并且針對全局發(fā)型約束域隊列和局部發(fā)型約束域隊列同時進行下述步驟,下述方法中所述的發(fā)型約束域隊列指全局發(fā)型約束域隊列或局部發(fā)型約束域隊列;(I)取出位于發(fā)型約束域隊列隊首的發(fā)型約束域集合F ;(2)分別判斷F中的各發(fā)型約束域是否滿足激活條件,得到F中的K個滿足激活條件的發(fā)型約束域;(3)計算K個滿足激活條件的發(fā)型約束域施加在當前樣例發(fā)絲生長端點Pi上的作用力之和t, t = Σ Strk ;其中i為當前樣例發(fā)絲的生長端點序號,當前樣例發(fā)絲的生長起點P1為當前樣例發(fā)絲在Q根樣例發(fā)絲的二維分布中的頂點;Strk為第k個滿足激活條件的發(fā)型約束域施加在當前樣例發(fā)絲上的作用力分量,k = 1,2,3,…,K,且K為大于等于I的正整數(shù);(4)計算在t的作用下當前樣例發(fā)絲生長端點Pi處產(chǎn)生的切線方向Ti+1,Ti+1 =Ti+t,其中=Ti為生長端點Pi處的切線方向,T1為P1在頭皮網(wǎng)格上的法線方向;(5)計算當前樣例發(fā)絲下一個生長端點的空間位置Pi+1,pi+1 = Pi+sTi+1,其中s為當前樣例發(fā)絲的生長步長,且s > O ;(6)分別判斷F中的K個滿足激活條件的發(fā)型約束域是否滿足消隱條件,去除F中滿足消隱條件的發(fā)型約束域;(7)判斷F是否為空,當F為空時,將F從發(fā)型約束域隊列移除;(8)判斷全局發(fā)型約束域隊列和局部發(fā)型約束域隊列是否為空,當全局發(fā)型約束域隊列和局部發(fā)型約束域隊列均為空時,完成當前樣例發(fā)絲的生長,完成生長后的當前樣例發(fā)絲的生長端點總個數(shù)為I ;否則,執(zhí)行步驟(9); (9)統(tǒng)計執(zhí)行步驟(I)至(9)的迭代次數(shù),當?shù)螖?shù)達到常數(shù)G (G彡O)時,完成當前樣例發(fā)絲的生長,完成生長后的當前樣例發(fā)絲的生長端點總數(shù)為I ;否則,迭代執(zhí)行步驟(I)至(9);步驟五,根據(jù)樣例發(fā)絲集合中的每根樣例發(fā)絲插值計算生成樣例發(fā)絲所在發(fā)簇中的其他發(fā)絲,從而在虛擬角色模型上生成整體發(fā)型。上述步驟三中根據(jù)待生成整體發(fā)型中發(fā)絲的形狀特征構(gòu)建多個發(fā)型約束域?qū)τ诖烧w發(fā)型中的發(fā)絲生長方向相互平行的局部發(fā)型和發(fā)絲生長方向相互平行的全局發(fā)型分別構(gòu)建等距約束域,所述等距約束域是根據(jù)局部發(fā)型或全局發(fā)型的生長規(guī)模定義一空間作用域,該空間作用域是一個有限體積的長方體Sq ;其激活條件為當該等距約束域未滿足過激活條件和消隱條件,且發(fā)絲的生長端點首次位于Sq所包含的空間范圍內(nèi)部;其消隱條件為當該等距約束域已滿足激活條件,且發(fā)絲的生長端點處于Sq所包含的空間范圍外部;其作用力函數(shù)Str為一個常向量,該常向量的方向根據(jù)當前生長發(fā)絲的生長方向確定,該常向量的大小根據(jù)當前生長發(fā)絲發(fā)生形變的劇烈程度確定;對于待生成整體發(fā)型中的發(fā)絲生長方向聚簇到一點的局部發(fā)型和發(fā)絲生長方向聚簇到一點的全局發(fā)型分別構(gòu)建集簇約束域,所述集簇約束域的激活條件為當該集簇約束域位于全局發(fā)型約束域隊列或局部發(fā)型約束域隊列的隊首發(fā)型約束域集合中;其消隱條件為下列條件之一(I)生長發(fā)絲的當前生長端點位于Sc定義的空間范圍之內(nèi);(2)生長發(fā)絲的當前 生長端點位于Sp’定義的空間范圍之外;其中,Sc為一三維空間核,該三維空間核的核心為空間中任意頂點C、半徑為h,且
O< h < r,r為點s到點c的距離,點s為首次受該集簇約束域作用時的發(fā)絲生長端點;Sp,為一三維空間球,該三維空間球的球心為S、半徑為r ;
C — Cl其作用力函數(shù)敝=■-:一]其作用方向始終從當前發(fā)絲生長端點α指向點
C —Cl I
C ;步驟四中的(6)步驟中同時采用(式I)對受集簇約束域作用生成的Ti+1進行修正Ti+1 = q+dTi+1 (式 I)(式I)中q為表示散射方向的單位向量,d為散射系數(shù)。與現(xiàn)有技術(shù)相比,上述方法具有如下的特點該方法建立在描述發(fā)絲形狀的向量場模型、以及Choe的造型約束方法的基礎(chǔ)上,給出了一種交互式發(fā)型建模的發(fā)型約束域方法,通過建立多個發(fā)型約束域間的層次和順序關(guān)系,允許僅采用少量基本發(fā)型約束域即可構(gòu)建多樣化的復(fù)雜發(fā)型,同時具有建模方法簡單、快速的特點,針對發(fā)型建模工作具有普遍適用性。本發(fā)明的另一目的在于提供一種基于上述方法的快速復(fù)用頭發(fā)模型建模方法。該方法對模型庫中的所有虛擬角色模型均生成整體發(fā)型,首先在模型庫中任選一虛擬角色模型作為原型模型,并在原型模型上生成整體發(fā)型,通過提取已有的原型模型的發(fā)型約束域參數(shù),將該發(fā)型約束域參數(shù)歸一化為約束模版,并根據(jù)約束模版在其它虛擬角色模型上生成與已有原型模型的整體發(fā)型外觀相一致的整體發(fā)型,具體步驟如下步驟(I ),在模型庫中任選一虛擬角色模型作為原型模型,采用上述方法在原型模型上生成整體發(fā)型;步驟(2),針對模型庫中的其他每一個虛擬角色模型,根據(jù)待生成整體發(fā)型的整體形狀在虛擬角色模型上規(guī)定頭發(fā)生長區(qū)域即頭皮網(wǎng)格;利用網(wǎng)格參數(shù)化方法建立虛擬角色模型頭皮網(wǎng)格參數(shù)域;步驟(3),在坐標系A(chǔ)下,以原型模型為基準,對模型庫中的其他虛擬角色模型進行剛性配準,使其他每個虛擬角色模型具有與原型模型一致的世界坐標朝向;同時在坐標系A(chǔ)下,以原型模型頭皮網(wǎng)格參數(shù)域為基準,對模型庫中的其他虛擬角色模型頭皮網(wǎng)格參數(shù)域進行配準,使每個虛擬角色模型頭皮網(wǎng)格參數(shù)域上的點與原型模型頭皮網(wǎng)格參數(shù)域上的點一一對應(yīng);步驟(4),對模型庫中的其他虛擬角色模型分別采用如下方法生成整體發(fā)型1、將步驟(I)中生成的全局發(fā)絲二維分布與Q根樣例發(fā)絲的二維分布分別映射至當前虛擬角色模型的頭皮網(wǎng)格上;I1、采用隨機增量法計算原型模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為O'、半徑為R,球心O'在坐標系A(chǔ)中的坐標為(ω, ξ , ψ);II1、采用下述方法將步驟(I)中構(gòu)建的多個發(fā)型約束域映射至當前虛擬角色模型的頭皮網(wǎng)格上(i)采用隨機增量法計算當前虛擬角色模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為O"、半徑為R’,球心為O"在坐標系A(chǔ)中的坐標為(ω’,ξ ',Ψ’);以O(shè)'為原點建立局部坐標系,該局部坐標系的各坐標軸的方向與坐標系A(chǔ)中相應(yīng)坐標軸的方向
一致;(ii)分別采用下述方法計算步驟(I)中構(gòu)建的多個發(fā)型約束域中每個發(fā)型約束域在局部坐標系中的空間位置;并根據(jù)每個發(fā)型約束域在局部坐標系中的空間位置得到相應(yīng)的約束模板的參數(shù)根據(jù)當前發(fā)型約束域在坐標系A(chǔ)中的空間位置為(x,y,z)利用(式2)計算其在局部坐標系中的空間位置的歸一化方向向量 爐,)與該當前發(fā)型約束域相應(yīng)的約束模板
I
的參數(shù)為(熟;
權(quán)利要求
1.一種頭發(fā)模型建模方法,其特征在于,該方法根據(jù)待生成整體發(fā)型的整體發(fā)型特征分別生成Q根樣例發(fā)絲,然后用該Q根樣例發(fā)絲分別表示各自所在發(fā)簇的形狀,根據(jù)各樣例發(fā)絲插值生成各自所在發(fā)簇內(nèi)的剩余發(fā)絲,從而在目標虛擬角色模型上生成整體發(fā)型,該方法的具體步驟如下 步驟一,對于輸入的目標虛擬角色模型,根據(jù)待生成整體發(fā)型的整體形狀在目標虛擬角色模型上規(guī)定頭發(fā)生長區(qū)域即頭皮網(wǎng)格;采用網(wǎng)格參數(shù)化方法在頭皮網(wǎng)格上建立目標虛擬角色模型的頭皮網(wǎng)格參數(shù)域A ; 步驟二,生成Q根樣例發(fā)絲的二維分布 (1)在頭皮網(wǎng)格參數(shù)域A上生成全局發(fā)絲二維分布,將該結(jié)果映射至目標虛擬角色模型的頭皮網(wǎng)格上;或者,在目標虛擬角色模型的頭皮網(wǎng)格上生成全局發(fā)絲二維分布,將該結(jié)果映射至頭皮網(wǎng)格參數(shù)域A上; (2)采用K均值聚類方法將頭皮網(wǎng)格參數(shù)域A上的全局發(fā)絲二維分布均勻劃分成Q簇,使用Q根樣例發(fā)絲表示所在發(fā)簇的整體發(fā)絲形狀,同時各樣例發(fā)絲的發(fā)根均位于所在發(fā)簇的聚簇中心,進而得到Q根樣例發(fā)絲的二維分布,再將該Q根樣例發(fā)絲的二維分布映射至目標虛擬角色模型的頭皮網(wǎng)格上; 步驟三,構(gòu)建發(fā)型約束域 根據(jù)待生成整體發(fā)型中發(fā)絲的形狀特征構(gòu)建多個發(fā)型約束域;同時根據(jù)待生成整體發(fā)型的整體發(fā)型特征和局部發(fā)型特征采用層次化的多隊列結(jié)構(gòu)建立多個發(fā)型約束域相互之間的關(guān)系,得到控制全局發(fā)絲形狀的發(fā)型約束域隊列和控制局部發(fā)絲形狀的發(fā)型約束域隊列;其中控制全局發(fā)絲形狀的發(fā)型約束域隊列為全局發(fā)型約束域隊列,該全局發(fā)型約束域隊列中的每個元素是由至少一個發(fā)型約束域組成的發(fā)型約束域集合,且該全局發(fā)型約束域隊列中共包含多個發(fā)型約束域中的η個發(fā)型約束域;控制局部發(fā)絲形狀的發(fā)型約束域隊列為局部發(fā)型約束域隊列,該局部發(fā)型約束域隊列中的每個元素是由至少一個發(fā)型約束域組成的發(fā)型約束域集合,且該局部發(fā)型約束域隊列中共包含多個發(fā)型約束域中除η個發(fā)型約束域外的m個發(fā)型約束域; 其中,每個發(fā)型約束域的構(gòu)建包括設(shè)定激活條件、消隱條件和作用力函數(shù)Str ;所述激活條件為所構(gòu)建的發(fā)型約束域開始影響生長發(fā)絲形狀的條件;所述消隱條件為所構(gòu)建的發(fā)型約束域終止影響生長發(fā)絲形狀的條件;所述作用力函數(shù)為所構(gòu)建的發(fā)型約束域影響生長發(fā)絲形狀時,該發(fā)型約束域?qū)ιL發(fā)絲產(chǎn)生的作用力向量; 步驟四采用下述方法在Q根樣例發(fā)絲的二維分布上分別生成Q根樣例發(fā)絲;Q根樣例發(fā)絲均生成后得到樣例發(fā)絲集合; 根據(jù)全局發(fā)型約束域隊列和局部發(fā)型約束域隊列計算生成當前樣例發(fā)絲,并且針對全局發(fā)型約束域隊列和局部發(fā)型約束域隊列同時進行下述步驟,下述方法中所述的發(fā)型約束域隊列指全局發(fā)型約束域隊列或局部發(fā)型約束域隊列; (1)取出位于發(fā)型約束域隊列隊首的發(fā)型約束域集合F; (2)分別判斷F中的各發(fā)型約束域是否滿足激活條件,得到F中的K個滿足激活條件的發(fā)型約束域; (3)計算K個滿足激活條件的發(fā)型約束域施加在當前樣例發(fā)絲生長端點Pi上的作用力之和 t, t = Σ Strk ;其中i為當前樣例發(fā)絲的生長端點序號,當前樣例發(fā)絲的生長起點P1為當前樣例發(fā)絲在Q根樣例發(fā)絲的二維分布中的頂點;strk為第k個滿足激活條件的發(fā)型約束域施加在當前樣例發(fā)絲上的作用力分量,k = 1,2,3,…,K,且K為大于等于I的正整數(shù); (4)計算在t的作用下當前樣例發(fā)絲生長端點Pi處產(chǎn)生的切線方向Ti+1,Ti+1 = Ti+t,其中=Ti為生長端點Pi處的切線方向,Ti為P1在頭皮網(wǎng)格上的法線方向; (5)計算當前樣例發(fā)絲下一個生長端點的空間位置pi+1,pi+1=Pi+sTi+1,其中s為當前樣例發(fā)絲的生長步長,且s > O ; (6)分別判斷F中的K個滿足激活條件的發(fā)型約束域是否滿足消隱條件,去除F中滿足消隱條件的發(fā)型約束域; (7)判斷F是否為空,當F為空時,將F從發(fā)型約束域隊列移除; (8)判斷全局發(fā)型約束域隊列和局部發(fā)型約束域隊列是否為空,當全局發(fā)型約束域隊列和局部發(fā)型約束域隊列均為空時,完成當前樣例發(fā)絲的生長,完成生長后的當前樣例發(fā)絲的生長端點總個數(shù)為I ;否則,執(zhí)行步驟(9); (9)統(tǒng)計執(zhí)行步驟(I)至(9)的迭代次數(shù),當?shù)螖?shù)達到常數(shù)G(G ^ O)時,完成當前樣例發(fā)絲的生長,完成生長后的當前樣例發(fā)絲的生長端點總數(shù)為I ;否則,迭代執(zhí)行步驟(I)至(9); 步驟五,根據(jù)樣例發(fā)絲集合中的每根樣例發(fā)絲插值計算生成樣例發(fā)絲所在發(fā)簇中的其他發(fā)絲,從而在虛擬角色模型上生成整體發(fā)型。
2.如權(quán)利要求1所述的頭發(fā)模型建模方法,其特征在于,步驟三中根據(jù)待生成整體發(fā)型中發(fā)絲的形狀特征構(gòu)建多個發(fā)型約束域 對于待生成整體發(fā)型中的發(fā)絲生長方向相互平行的局部發(fā)型和發(fā)絲生長方向相互平行的全局發(fā)型分別構(gòu)建等距約束域,所述等距約束域是根據(jù)局部發(fā)型或全局發(fā)型的生長規(guī)模定義一空間作用域,該空間作用域是一個有限體積的長方體Sq ;其激活條件為當該等距約束域未滿足過激活條件和消隱條件,且發(fā)絲的生長端點首次位于Sq所包含的空間范圍內(nèi)部;其消隱條件為當該等距約束域已滿足激活條件,且發(fā)絲的生長端點處于Sq所包含的空間范圍外部;其作用力函數(shù)Str為一個常向量; 對于待生成整體發(fā)型中的發(fā)絲生長方向聚簇到一點的局部發(fā)型和發(fā)絲生長方向聚簇到一點的全局發(fā)型分別構(gòu)建集簇約束域,所述集簇約束域的激活條件為當該集簇約束域位于全局發(fā)型約束域隊列或局部發(fā)型約束域隊列的隊首發(fā)型約束域集合中; 其消隱條件為下列條件之一 (1)生長發(fā)絲的當前生長端點位于Sc定義的空間范圍之內(nèi); (2)生長發(fā)絲的當前生長端點位于Sp'定義的空間范圍之外; 其中,Sc為一三維空間核,該三維空間核的核心為空間中任意頂點C、半徑為h,且O<h < r,r為點s到點c的距離,點s為首次受該集簇約束域作用時的發(fā)絲生長端點;Sp'為一三維空間球,該三維空間球的球心為S、半徑為r ; 其作用力函數(shù)
3.一種快速復(fù)用頭發(fā)模型建模方法,其特征在于,該方法對模型庫中的所有虛擬角色模型均生成整體發(fā)型,首先在模型庫中任選一虛擬角色模型作為原型模型,并在原型模型上生成整體發(fā)型,通過提取已有的原型模型的發(fā)型約束域參數(shù),將該發(fā)型約束域參數(shù)歸一化為約束模版,并根據(jù)約束模版在其它虛擬角色模型上生成與已有原型模型的整體發(fā)型外觀相一致的整體發(fā)型,具體步驟如下 步驟(I ),在模型庫中任選一虛擬角色模型作為原型模型,采用權(quán)利要求1或2所述方法在原型模型上生成整體發(fā)型; 步驟(2),針對模型庫中的其他每一個虛擬角色模型,根據(jù)待生成整體發(fā)型的整體形狀在虛擬角色模型上規(guī)定頭發(fā)生長區(qū)域即頭皮網(wǎng)格;利用網(wǎng)格參數(shù)化方法建立虛擬角色模型頭皮網(wǎng)格參數(shù)域; 步驟(3),在坐標系A(chǔ)下,以原型模型為基準,對模型庫中的其他虛擬角色模型進行剛性配準,使其他每個虛擬角色模型具有與原型模型一致的世界坐標朝向;同時在坐標系A(chǔ)下,以原型模型頭皮網(wǎng)格參數(shù)域為基準,對模型庫中的其他虛擬角色模型頭皮網(wǎng)格參數(shù)域進行配準,使每個虛擬角色模型頭皮網(wǎng)格參數(shù)域上的點與原型模型頭皮網(wǎng)格參數(shù)域上的點--對應(yīng); 步驟(4),對模型庫中的其他虛擬角色模型分別采用如下方法生成整體發(fā)型1、將步驟(I)中生成的全局發(fā)絲二維分布與Q根樣例發(fā)絲的二維分布分別映射至當前虛擬角色模型的頭皮網(wǎng)格上; I1、采用隨機增量法計算原型模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為O'、半徑為R,球心O'在坐標系A(chǔ)中的坐標為(ω, ξ , ψ); II1、采用下述方法將步驟(I)中構(gòu)建的多個發(fā)型約束域映射至當前虛擬角色模型的頭皮網(wǎng)格上 (i)采用隨機增量法計算當前虛擬角色模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為O"、半徑為R’,球心為O"在坐標系A(chǔ)中的坐標為(ω’,ξ',ψ');以O(shè)'為原點建立局部坐標系,該局部坐標系的各坐標軸的方向與坐標系A(chǔ)中相應(yīng)坐標軸的方向一致; (ii)分別采用下述方法計算步驟(I)中構(gòu)建的多個發(fā)型約束域中每個發(fā)型約束域在局部坐標系中的空間位置;并根據(jù)每個發(fā)型約束域在局部坐標系中的空間位置得到相應(yīng)的約束模板的參數(shù) 根據(jù)當前發(fā)型約束域在坐標系A(chǔ)中的空間位置為(x,y,z)利用(式2)計算其在局部坐標系中的空間位置的歸一化方向向量(識,JM )與該當前發(fā)型約束域相應(yīng)的約束模板的參 I數(shù)為(ψ,7,η):
4.一種具有自然形變效果的頭發(fā)建模方法,其特征在于,該方法根據(jù)待生成整體發(fā)型的整體發(fā)型特征分別生成Q根樣例發(fā)絲,并根據(jù)待生成整體發(fā)型的自然形變特征分別完成Q根樣例發(fā)絲的自然形變效果處理,然后用該Q根樣例發(fā)絲分別表示各自所在發(fā)簇的形狀,根據(jù)各樣例發(fā)絲插值生成各自所在發(fā)簇內(nèi)的剩余發(fā)絲,從而在目標虛擬角色模型上生成整體發(fā)型,按下述步驟進行 步驟(一),執(zhí)行權(quán)利要求1所述方法的步驟一; 步驟(二),執(zhí)行權(quán)利要求1或2所述方法的步驟二至步驟三; 步驟(三),執(zhí)行權(quán)利要求1或2所述方法的步驟四; 步驟(四),在樣例發(fā)絲集合的基礎(chǔ)上,分別采用下述方法生成Q根樣例發(fā)絲的“卷曲”、“波動”的自然形變效果;當Q根樣例發(fā)絲的卷曲、波動等自然形變效果均生成完成后得到經(jīng)過自然形變處理的樣例發(fā)絲集合; 方法在當前樣例發(fā)絲曲線的局部區(qū)間生成自然形變效果,設(shè)當前樣例發(fā)絲曲線共包含N個生長端點,S卩[1,Ν]表示當前樣例發(fā)絲曲線的整個區(qū)間,定義樣例發(fā)絲曲線的局部區(qū)間[s0,S1],其中 I 彡 S。< N,I < S1 彡 N, 1)計算表示當前樣例發(fā)絲的最小旋轉(zhuǎn)標架(RMF); 2)根據(jù)待生成整體發(fā)型的自然形變特征構(gòu)建u個自然形變約束域,u> O ; 每個自然形變約束域是根據(jù)待生成整體發(fā)型中的局部發(fā)型的自然形變特征定義一空間作用域,該空間作用域是一個有限體積的長方體Sq";其激活條件為當該自然形變約束域未滿足過激活條件和消隱條件,且發(fā)絲的端點首次位于Sq"所包含的空間范圍內(nèi)部;其消隱條件為當該自然形變約束域已滿足激活條件,且發(fā)絲的端點處于Sq"所包含的空間范圍外部; 所構(gòu)建的u個自然形變約束域構(gòu)成自然形變約束域隊列;3)i= I ; 4)取出位于自然形變約束域隊列隊首的自然形變約束域,記為Na; 5)判斷Na是否滿足激活條件; 當Na滿足激活條件時 首先,分別計算當前樣例發(fā)絲生長端點Pi在RMF主法線方向上的偏移系數(shù)Epi,且Epi>O ;和,當前樣例發(fā)絲生長端點Pi在RMF副法線方向上的偏移系數(shù)Ep/,且Ep/ > O
5.一種快速復(fù)用頭發(fā)模型建模方法,其特征在于,該方法對模型庫中的所有虛擬角色模型均生成整體發(fā)型,首先在模型庫中任選一虛擬角色模型作為原型模型,并在原型模型上生成整體發(fā)型,通過提取已有的原型模型的發(fā)型約束域參數(shù),將該發(fā)型約束域參數(shù)歸一化為約束模版,并根據(jù)約束模版在其它虛擬角色模型上生成與已有原型模型的整體發(fā)型外觀相一致的整體發(fā)型,具體步驟如下 步驟①,從模型庫中任選一虛擬角色模型作為原型模型,采用權(quán)利要求4所述方法在原型模型上生成整體發(fā)型; 步驟②,針對模型庫中的其他每一個虛擬角色模型,根據(jù)待生成整體發(fā)型的整體形狀在虛擬角色模型上規(guī)定頭發(fā)生長區(qū)域即頭皮網(wǎng)格;利用網(wǎng)格參數(shù)化方法建立虛擬角色模型頭皮網(wǎng)格參數(shù)域; 步驟③,在坐標系B下,以原型模型為基準,對模型庫中的其他虛擬角色模型進行剛性配準,使其他每個虛擬角色模型具有與原型模型一致的世界坐標朝向;同時在坐標系B下,以原型模型頭皮網(wǎng)格參數(shù)域為基準,對模型庫中的其他虛擬角色模型頭皮網(wǎng)格參數(shù)域進行配準,使每個虛擬角色模型頭皮網(wǎng)格參數(shù)域上的點與原型模型頭皮網(wǎng)格參數(shù)域上的點一一對應(yīng); 步驟④,對模型庫中的其他虛擬角色模型分別采用如下方法生成整體發(fā)型1、將步驟①中生成的全局發(fā)絲二維分布與Q根樣例發(fā)絲的二維分布分別映射至當前虛擬角色模型的頭皮網(wǎng)格上; I1、采用隨機增量法計算原型模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為O'。、半徑為R。,球心O'。在坐標系B中的坐標為(ω。,ξ。,Ψ。),; II1、采用下述方法將步驟①中構(gòu)建的多個發(fā)型約束域和u個自然形變約束域映射至當前虛擬角色模型的頭皮網(wǎng)格上 (i)計算當前虛擬角色模型的頭部網(wǎng)格的最小包圍球,該最小包圍球的球心為Otl"、半徑為R'球心O"。在坐標系B中的坐標為(ω ' 0,ξ , 0) ψ ;。);以O(shè)'。為原點建立局部坐標系,該局部坐標系的各坐標軸的方向與坐標系B中相應(yīng)坐標軸的方向一致; (ii)分別采用下述方法計算步驟①中構(gòu)建的多個發(fā)型約束域和u個自然形變約束域中每個約束域在局部坐標系中的空間位置;并根據(jù)每個約束域在局部坐標系中的空間位置得到相應(yīng)的約束模板的參數(shù) 根據(jù)當前約束域在坐標系B中的空間位置為( , I0, z0)利用(式8)計算其在局部坐標系中的空間位置的歸一化方向向量與該當前約束域相應(yīng)的約束模板的參數(shù)為
全文摘要
本發(fā)明公開了頭發(fā)模型建模方法。首先采用發(fā)型約束域生成發(fā)型模型較為單一的發(fā)型,提供采用層次化的約束域隊列控制復(fù)雜發(fā)絲形變,從而支持生成多樣化發(fā)型;在此基礎(chǔ)上建立任意虛擬角色模型間發(fā)型約束域的映射關(guān)系,實現(xiàn)虛擬角色發(fā)型的快速可復(fù)用建模。該方法擴展了發(fā)型約束域的普遍適用性,并把發(fā)型約束域方法與基于樣例的發(fā)型建模相結(jié)合,使得采用發(fā)型約束方法能夠生成的發(fā)型的多樣化程度得到顯著提高,同時支持在任意虛擬角色模型上快速復(fù)用已構(gòu)建的發(fā)型約束,從而實現(xiàn)虛擬角色頭發(fā)的快速可復(fù)用建模。
文檔編號G06T17/30GK103035030SQ201210527580
公開日2013年4月10日 申請日期2012年12月10日 優(yōu)先權(quán)日2012年12月10日
發(fā)明者耿國華, 周明全, 李康, 韓翼, 劉倫椿, 尚鵬, 任少平, 賀潔瓊, 晉武俠, 郝妮, 杜宏強 申請人:西北大學(xué)