張夢,尹愛菊,陳丹
(1.馬鞍山師范高等??茖W校 藝術(shù)設(shè)計系,安徽 馬鞍山 243000; 2.大連科技學院 設(shè)計藝術(shù)學院,遼寧 大連116052)
在動漫創(chuàng)作領(lǐng)域中,使用計算機軟件進行設(shè)計是比較常見的一種方法,但這個過程,需要相關(guān)專家來將不同結(jié)構(gòu)的知識、數(shù)據(jù)進行融合,從而完成最后的創(chuàng)作,形成計算機動漫設(shè)計軟件[1]。從現(xiàn)實來看,擁有一定專業(yè)水準以及藝術(shù)造詣的人才有限,導(dǎo)致我國在動畫設(shè)計領(lǐng)域方面停滯不前,嚴重落后于歐美國家。目前以MAYA和2DMax為首的三維動畫軟件雖然較為成功,但需要使用者具備一定的專業(yè)水準才能夠達到熟練的狀態(tài)[2]。因此業(yè)內(nèi)的專家、科技人員都希望能夠?qū)赢嬛谱骷夹g(shù)進一步改良,朝著更為智能化、自動化的方向發(fā)展。李然[3]從網(wǎng)絡(luò)游戲出發(fā),認為要想三維游戲動畫角色更加形象,設(shè)計人員需要對三維游戲設(shè)計方面進行認真探索。李亞琴,方立剛等[4]提出一種基于三維動畫的數(shù)字水印算法,將動畫中的骨骼數(shù)據(jù)作為嵌入水印的載體。李寅以層次化產(chǎn)品造型結(jié)構(gòu)設(shè)計產(chǎn)品造型基因編碼,并由遺傳算子支撐產(chǎn)品造型設(shè)計方案的進化直至產(chǎn)生用戶滿意的方案。其發(fā)現(xiàn)虛擬現(xiàn)實環(huán)境下遺傳算法在工業(yè)產(chǎn)品造型設(shè)計中收斂到全局最優(yōu)結(jié)果速度更快[5]。本研究針對三維動畫角色的設(shè)計提出了一種新的方法,在動畫形象創(chuàng)新設(shè)計當中融入了計算機技術(shù),并以非均勻有理B樣條(Non-Uniform Rational B-Spline,簡稱NURBS)為基礎(chǔ),為動畫形象設(shè)計建立了一個更為智能化的系統(tǒng)。并根據(jù)動畫形象創(chuàng)新設(shè)計要求,在計算機軟件的輔助下完成制作過程,以此設(shè)計了一個全新的動畫模型。本系統(tǒng)由多個部分組成,作用較為廣泛,不僅可以完成進化設(shè)計,還可以在可視化環(huán)境下進行重構(gòu)、管理、組裝等,如果出現(xiàn)數(shù)據(jù)偏差或有其它需求,還可以進行人工修改。
在NURBS當中,B樣條方法是基礎(chǔ),它擁有著Bezier方法[6]的優(yōu)勢,同時還能夠克服傳統(tǒng)方法的劣勢,即由整體引發(fā)的局部不確定性。
K次B樣條曲線的定義:
(1)
在式(1)中,控制頂點(P(u)):P0,P1,…,Pn;規(guī)范B樣條基函數(shù)(K次):Ni,k(u),其中U為一個稱為節(jié)點矢量的非遞減參數(shù)u的序列:U:u0≤u1≤…un+k+1,所決定的K次分段多項式,即K次多項式樣條。i的取值范圍為0到n-k,表示B樣條函數(shù)的系數(shù),N(i,k)(u)是K次B樣條基函數(shù)。
NURBS方法又稱為非均勻有理B樣條,該樣條具有諸多優(yōu)點:首先在形狀構(gòu)件上較為多元化,不僅可以解析成為傳統(tǒng)的標準形狀,同時還可以形成自由型曲面形狀,該設(shè)計為數(shù)學帶來了一種新方法;其次它除了能夠使曲線曲面不斷控制改變,還具有很大的靈活性,能夠?qū)?quán)因子充分利用完善;最后就是該方法比較適合推廣。
1.3.1 NURBS曲線 如式(2)所示,對于NURBS曲線(K次),可以用有理多項式來進行表示,具體的函數(shù)如下:
(2)
NURBS曲線的特質(zhì)較為明顯,一是具有局部調(diào)整性的狀態(tài),二是可以產(chǎn)生凸包性,三是可以使幾何不變性。同時,權(quán)因子的加入使該曲線的優(yōu)勢更為顯著,整體調(diào)整十分靈活。
1.3.2 NURBS曲面 NURBS曲面(k1×k2次)的公式為:
(3)
其中Pi,j(i=0,1,…,n;j=0,1,…,m)是以控制網(wǎng)格的形式而存在的,原因是因為它的形態(tài)為拓撲矩形的狀態(tài)。權(quán)因子:i,j,它與控制點之間有所關(guān)聯(lián)。規(guī)范有理B樣條基函數(shù)(k1次):Ni,k2(v);規(guī)范有理B樣條基函數(shù)(k2次):Ni,k2(v)。
有理B樣條曲面中的幾何特質(zhì)較為明顯,并且與非有理B樣條曲面當中的幾何特質(zhì)十分相似。并且還與NURBS曲線有類似之處,那就是權(quán)因子同樣具有將曲面形狀進行調(diào)整的作用。NURBS曲面之所以優(yōu)點更為顯著,是因為它能夠?qū)㈩愃茍A柱、圓環(huán)等帶有曲面形狀的物體精準的變現(xiàn)出來,這也是它能夠與B樣條曲面區(qū)分開來的原因所在,由圖1可以看出NURBS所表現(xiàn)出的各類形態(tài)。

圖1 圓柱、網(wǎng)型、圓環(huán)(壺身)的NURBS擬合
NURBS曲面可以作為一個控制網(wǎng)格而存在,與NURBS曲線之間是一樣的,一張NURBS曲面(k×l次)的表示形式可以分為三種:
(1)有理分式:
(4)
在式(4)中,Pi,j(i=0,1,…,m;j=0,1,…,n)作為控制頂點而存在,形成了一個控制網(wǎng)格(拓撲矩形陣列);權(quán)因子:i,j,該權(quán)因子與控制頂點之間有所關(guān)聯(lián);節(jié)點矢量:u非有理B樣條基函數(shù)(k次):Ni,k(u)(i=0,1,…,m),該函數(shù)位于U上;節(jié)點矢量:v非有理B樣條基函數(shù)(l次):Ni,j(u)(j=0,1,…,n),該函數(shù)位于v上。
U=[u0,u1,…,um+k+1]與V=[v0,v1,…,vn+l+1]
(5)
其中u、v為節(jié)點值,是在德布爾遞推公式的基礎(chǔ)上決定從而得出的。盡管是以張量積曲面的形式推廣得出NURBS曲面公式,但該曲面的表現(xiàn)形式并非單獨的量積曲面,具體可由以下推理看出。
(2)有理基函數(shù):
(6)
在式(6)中,雙變量有機函數(shù)為Ri,k;j,l(u,v),該函數(shù)在參數(shù)化方向上具有“u和v”兩種。
(7)
在式(7)中可以看出,Ri,k;j,l(u,v)所表現(xiàn)出的形態(tài)并非是“u和v”的乘積,所以可以證實上述觀點,一張NURBS曲面并不是作為單獨的個體(一張張量積曲面)而存在的。
(3)齊次坐標:
(8)
在式(8)中,控制頂點:Pi,j=[i,jPi,ji,j],齊次坐標:Pi,j。超平面:=1投影:H{S(u,v)},P(u,v)想要構(gòu)建一張NURBS曲面,就需要在平面上進行投影。
如果一個造型想要進化,首先要先進行種群生成,生成方法是基于該構(gòu)件造型的標準之上,然后再將所形成的種群進行詳細的進化。在進化過程中需要精準把握,尤其對于每個個體之間,要合理化計算種群對他們是否適應(yīng)。在選擇父個體后,執(zhí)行遺傳操作,驗證是否滿足終止條件。具體流程如圖4所示。

圖4 卡通構(gòu)件創(chuàng)新設(shè)計流程圖
在遺傳算法當中,個體性能是一項重要的描述內(nèi)容,而該性能的主要指標為適應(yīng)度,主要決定著個體的選擇標準。由于卡通形象的特點比較夸張,形態(tài)較為圓滑,因此本文的適應(yīng)度計算方法將按照兩項比例標準來完成。第一項比例標準是最佳結(jié)構(gòu)線比例,該比例可以通過種子結(jié)構(gòu)線比例以及手工輸入結(jié)構(gòu)線比例兩種方法進行設(shè)定;第二項比例標準是當前個體結(jié)構(gòu)線比例。
以某一構(gòu)建為例,假設(shè)其中具有n條結(jié)構(gòu)線,并已經(jīng)明確了其中的兩項比例標準,則可以得出公式(9),即計算個體的適應(yīng)度。其中Besti為比值,代表的是第一項比例標準當中的比值,即第i條結(jié)構(gòu)線與第l條結(jié)構(gòu)線中的半徑;Currenti則代表該兩條結(jié)構(gòu)線(i條與l條)之間的比值。
(9)
fitnessi代表適應(yīng)度函數(shù),該函數(shù)的值越大,證明該個體的適應(yīng)度值越高,也就是更容易對陌生環(huán)境進行適應(yīng),從而更容易被繁殖。
如果一個新的個體沒有達到成熟的抑制狀態(tài)則被稱之為變異操作,該操作能夠起到維持種群多樣性的作用,用來搜索一些難以發(fā)現(xiàn)的區(qū)域,例如局部最優(yōu)解之外,其作用顯著。因此,在相同的種群批次中,每個個體的優(yōu)劣決定著它們的變異概率。如果個體的劣勢較多,那么它產(chǎn)生變異的概率越大;反之,一個個體如果較優(yōu)質(zhì),那么出現(xiàn)的變異概率就會很少。對此,為了防止早熟現(xiàn)象過多出現(xiàn),詳細分析了早熟程度,并設(shè)計了如下方法,能夠?qū)ψ儺惛怕视兴m應(yīng),使種群能夠保持多樣性的狀態(tài)。
(10)
Pm=Pm minf>favg
(11)
在以上公式中,Pm min、Pm min所代表的均為常數(shù),變異個體適應(yīng)度值由f來表現(xiàn),fmax代表當前種群最大適應(yīng)度,fmin代表當前種群最小適應(yīng)度,當前種群的平均適應(yīng)度由favg代表。由以上公式可以看出,變異概率不是固定的,而是能夠隨時變化,變化依據(jù)是染色體的早熟程度以及每個待變異個體的適應(yīng)度值。
(1)為了將初始種群P生成,需要對其進行實數(shù)編碼。
(2)為了將群體適應(yīng)度平均值(AVG)得出,需要先對其適應(yīng)度函數(shù)進行定義,并將每個個體(種群)中的適應(yīng)度值進行計算。
(3)將遺傳策略精準化確定,對種群大小(N)進行篩選,并進行一系列遺傳操作(變異、交叉)。
(4)判斷新一代群體適應(yīng)度均值能夠達到預(yù)定迭代次數(shù),如果沒有達到需要返回步驟2,或者對該策略進行修改再返回,如果達到標準即流程結(jié)束。
為了確定遺傳算法的精準度,在VC++.net平臺上進行了仿真模擬實驗,用戶可以自由操作,隨意更改數(shù)值,最終得到一個完整的卡通模型。下文將以大噴菇為實驗案例,將種群數(shù)N設(shè)定為100,交叉概率Pc設(shè)定為0.65,變異概率Pm設(shè)定為0.05,迭代次數(shù)設(shè)定為1000。圖5為最終得到的三維動畫形象“大噴菇”身體。經(jīng)過該實驗可以證實,采用遺傳算法來制作卡通構(gòu)件是可以做到的,更能體現(xiàn)出其中的智能型,能夠用于動漫制作當中,符合標準。

圖5 進化得到三維動畫形象“大噴菇”身體
我國在動畫制作方面的研究有限,整體技術(shù)還需進一步改良,朝著更為智能化、自動化的方向發(fā)展。因此,深入研究了當前創(chuàng)新設(shè)計現(xiàn)狀以及動畫形象設(shè)計過程,提出了以NURBS為基礎(chǔ)的進化設(shè)計方法,并構(gòu)建了一個CAD系統(tǒng),該系統(tǒng)能夠完成多種組成部分,并可以進行人工修改。利用該系統(tǒng)在VC++.net平臺上進行了仿真模擬實驗,結(jié)果證實能夠適用于動漫制作當中,為設(shè)計人員以及技術(shù)專家們提供了參考價值,提高了設(shè)計效率。