寧方美 于艷紅 傅愛(ài)武
摘? 要: 針對(duì)虛擬場(chǎng)景中角色漫游的實(shí)際需求,實(shí)現(xiàn)了幾種漫游軌跡的生成算法,并深入探討各算法的性能優(yōu)劣。在分析了玫瑰線(xiàn),圓內(nèi)旋輪線(xiàn)、圓外旋輪線(xiàn)、利薩茹曲線(xiàn)幾個(gè)曲線(xiàn)生成算法后,最終經(jīng)對(duì)比發(fā)現(xiàn)使用三體混沌原理生成的曲線(xiàn)路徑最佳,符合實(shí)際虛擬場(chǎng)景中角色的隨機(jī)漫游的效果。
關(guān)鍵詞: 三體; 非線(xiàn)性函數(shù); 玫瑰線(xiàn); 圓內(nèi)旋輪線(xiàn); 圓外旋輪線(xiàn); 利薩茹曲線(xiàn)
中圖分類(lèi)號(hào):TP312? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)08-97-03
Abstract: In this paper, according to the actual demand of character roaming in virtual scene, several algorithms for generating roaming trajectory are realized, and the performance of each algorithm is discussed in depth. After analyzing the curve generation algorithms of Rose line, Hypocycloid, Epicycloid and Lissajous curve, the final comparison found that the curve path generated by the ideas of three-body problem and chaos is the best, which is in line with the effect of random roaming of characters in the actual virtual scene.
Key words: three body; nonlinear function; Rose line; Hypocycloid; Epicycloid;? Lissajous curve
0 引言
目前虛擬現(xiàn)實(shí)技術(shù)正在滲透到國(guó)民生活的各個(gè)領(lǐng)域,如城市規(guī)劃、工程設(shè)計(jì)、環(huán)境藝術(shù)、文化傳播、旅游、教育等。一些應(yīng)用了虛擬現(xiàn)實(shí)技術(shù)的視景仿真和多媒體產(chǎn)品正越來(lái)越多地應(yīng)用于生產(chǎn)和生活中[1]。
在三維虛擬場(chǎng)景中,角色物體漫游是一個(gè)重要的表現(xiàn)手法。在現(xiàn)實(shí)需求中,經(jīng)常要使物體模型在一個(gè)固定空間中自由隨機(jī)地運(yùn)動(dòng)。如游戲中,非玩家角色(NPC)在一個(gè)場(chǎng)景區(qū)域中自由漫游。這種漫游的方法是由美工人員在建模工具中編輯好運(yùn)動(dòng)軌跡,然后在虛擬場(chǎng)景使物體沿著固定的軌跡循環(huán)移動(dòng)。這種方法有兩個(gè)缺點(diǎn),一是需要將軌跡數(shù)據(jù)保存到文件中,增加了數(shù)據(jù)量,二是運(yùn)動(dòng)軌跡是固定的,缺乏靈活度。
漫游路徑設(shè)計(jì)的優(yōu)劣直接影響虛擬漫游的真實(shí)性和沉浸感。漫游路徑生成時(shí)需要注意:設(shè)計(jì)規(guī)劃的合理性、漫游方向改變時(shí)彎道平滑優(yōu)化性、物體運(yùn)動(dòng)速度等,合理調(diào)整這些關(guān)鍵因素將有效地提高虛擬場(chǎng)景顯示畫(huà)面的穩(wěn)定性、降低畫(huà)面抖動(dòng)和搖擺[2]。本文將從數(shù)學(xué)中尋找能夠應(yīng)用于物體漫游的幾種曲線(xiàn)。
1 線(xiàn)性數(shù)學(xué)曲線(xiàn)
所謂線(xiàn)性,指兩個(gè)變量之間可用某個(gè)公式表示的一種關(guān)系。角色物體漫游時(shí),物體的坐標(biāo)位置與時(shí)間可以作為兩個(gè)變量。如果有某個(gè)公式能夠表示在某一時(shí)刻該物體的位置,即是其線(xiàn)性方程。在線(xiàn)性數(shù)學(xué)中,有幾種在某一區(qū)域內(nèi)游蕩的方程,下面我們一一進(jìn)行討論。
1.1 玫瑰線(xiàn)
玫瑰線(xiàn)是極坐標(biāo)系中的正弦曲線(xiàn),可以用如下的方程來(lái)表示:
1.2 圓內(nèi)旋輪線(xiàn)與圓外旋輪線(xiàn)
圓旋輪線(xiàn)被定義為:一個(gè)圓沿另外一個(gè)圓滾動(dòng)時(shí),圓上一定點(diǎn)所形成的軌跡。介于圓內(nèi)外的區(qū)別,于是有了兩種旋輪線(xiàn):
1.3 利薩茹曲線(xiàn)
利薩茹(Lissajous)曲線(xiàn),又稱(chēng)利薩茹圖形或鮑迪奇(Bowditch)曲線(xiàn),是兩個(gè)沿著互相垂直方向的正弦振動(dòng)的合成的軌跡。其參數(shù)方程如下:
2 三體混沌曲線(xiàn)
2.1 非線(xiàn)性數(shù)學(xué)
前面所列舉的幾種線(xiàn)性數(shù)學(xué)曲線(xiàn),都是有一定規(guī)律可循的,無(wú)法實(shí)現(xiàn)隨機(jī)性。用戶(hù)總能夠通過(guò)之前的運(yùn)動(dòng)路線(xiàn)推測(cè)出下一步的位置。若要實(shí)現(xiàn)真正的隨機(jī)性,需要采用非線(xiàn)性數(shù)學(xué)的混沌。
所謂非線(xiàn)性是指兩個(gè)變量間的關(guān)系,不成簡(jiǎn)單比例。與線(xiàn)性方程不同,非線(xiàn)性方程的解不滿(mǎn)足線(xiàn)性疊加原理。線(xiàn)性意味著系統(tǒng)的簡(jiǎn)單性,但自然現(xiàn)象就其本質(zhì)來(lái)說(shuō),都是復(fù)雜的,非線(xiàn)性的。所幸的是,自然界中的許多現(xiàn)象都可以在一定程度上近似為線(xiàn)性。傳統(tǒng)的物理學(xué)和自然科學(xué)就是為各種現(xiàn)象建立線(xiàn)性模型,并取得了巨大的成功。但隨著人類(lèi)對(duì)自然界中各種復(fù)雜現(xiàn)象的深入研究,越來(lái)越多的非線(xiàn)性現(xiàn)象開(kāi)始進(jìn)入人類(lèi)的視野。
2.2 三體問(wèn)題
最經(jīng)典的非線(xiàn)性問(wèn)題就是三體問(wèn)題了,它是研究三個(gè)質(zhì)點(diǎn)在萬(wàn)有引力作用下的運(yùn)動(dòng)觀律。三個(gè)天體質(zhì)量、初始位置和初始速度都是任意的。迄今為止,此類(lèi)問(wèn)題仍沒(méi)有普遍的解析解,在特殊情況下可得到比較滿(mǎn)意的結(jié)果。若這三個(gè)天體中有一個(gè)天體的質(zhì)量與其他兩個(gè)天體的質(zhì)量相比,小到可以忽略時(shí),三體問(wèn)題即變?yōu)橄拗菩匀w問(wèn)題。質(zhì)量很小的天體一般稱(chēng)為小天體,另兩天體稱(chēng)為大天體。小天體的質(zhì)量很小,可以不考慮它對(duì)另兩個(gè)天體的引力[3]。
在虛擬場(chǎng)景中,假設(shè)有兩個(gè)固定的天體,將可移動(dòng)的物體作為第三個(gè)小天體。計(jì)算可移動(dòng)物體在兩個(gè)固定天體引力作用下的運(yùn)動(dòng)軌跡。
2.3 物理公式
需要使用如下幾個(gè)物理公式:
⑴ 萬(wàn)有引力定律
F =[G] [m1m2r2]
用于計(jì)算物體的受力,運(yùn)動(dòng)天體中受另外兩個(gè)天體的萬(wàn)有引力。
(2) 勢(shì)能與動(dòng)能守恒定律
對(duì)物體軌跡的運(yùn)算中,為了提高計(jì)算效率,沒(méi)有使用微積分的精確求解,這會(huì)導(dǎo)致物體速度出現(xiàn)較大誤差,采用勢(shì)能與動(dòng)能守恒定律可以校正這一誤差。
2.4 三體的程序模擬
假設(shè)兩個(gè)固定天體的質(zhì)量用m1和m2來(lái)表示,運(yùn)動(dòng)天體的質(zhì)量用w表示;R1、R2 分別表示運(yùn)動(dòng)天體距兩個(gè)固定天體的距離;Ep1, Ep2分別表示運(yùn)動(dòng)天體在兩個(gè)固定天體上的引力勢(shì)能;F1, F2分別表示兩個(gè)固定天體上的的引力;A表示運(yùn)動(dòng)物體的當(dāng)前加速度;V表示運(yùn)動(dòng)天體的當(dāng)前速度;P表示運(yùn)動(dòng)天體的當(dāng)前位置;t表示時(shí)間間隔;g 表示萬(wàn)有引力系數(shù);Ek表示運(yùn)動(dòng)天體的當(dāng)前動(dòng)能;E表示運(yùn)動(dòng)物體的動(dòng)能與勢(shì)能的加和。其偽代碼如下:
2.5 對(duì)限制性三體的擴(kuò)展
假設(shè)將運(yùn)動(dòng)物體在多個(gè)固定天體的引力下運(yùn)動(dòng)則可以得到如圖5、圖6所示軌跡圖像。
3 總結(jié)
本文首先討論了幾種基于線(xiàn)性數(shù)學(xué)曲線(xiàn)的運(yùn)動(dòng)軌跡生成算法,玫瑰線(xiàn)的特點(diǎn)是有一個(gè)中心點(diǎn)會(huì)被多次經(jīng)過(guò),圓內(nèi)旋輪線(xiàn)與圓外旋輪線(xiàn)適合物體在圓形區(qū)域內(nèi)運(yùn)動(dòng),利薩茹曲線(xiàn)適合物體在矩形區(qū)域內(nèi)運(yùn)動(dòng),這四種曲線(xiàn)都是有一定規(guī)律可循的,無(wú)法實(shí)現(xiàn)隨機(jī)性。本文基于經(jīng)典的非線(xiàn)性問(wèn)題-三體來(lái)實(shí)現(xiàn)物體的運(yùn)動(dòng)軌跡算法,最終發(fā)現(xiàn)移動(dòng)物體在N個(gè)固定物體引力的作用下生成的運(yùn)動(dòng)軌跡最為理想。在實(shí)際應(yīng)用中該方法可控性高、設(shè)置簡(jiǎn)單、漫游平穩(wěn),且無(wú)視覺(jué)抖動(dòng)。
參考文獻(xiàn)(References):
[1] 羅立宏,張群英.基于Cardinal的虛擬場(chǎng)景自動(dòng)漫游算法桂林工學(xué)院學(xué)報(bào),2007.3:278-281
[2] 孫紅巖,李翠芳,孫曉鵬.基于二次有理Bezier方法的虛擬漫游路徑優(yōu)化計(jì)算機(jī)工程與設(shè)計(jì), 2013.11:3912-3915
[3] 陳坤,王妍. 一種平面圓形限制性三體問(wèn)題的數(shù)值模擬 實(shí)驗(yàn)研究, 2014. 9.
[4] 李銀山. 三體問(wèn)題綜述[J]. 中國(guó)科技信息, 2007. 23.
[5] 徐衛(wèi)青,陳朋,連磊等.三體問(wèn)題初探[J].中國(guó)高新技術(shù)企業(yè), 2007. 5.