曾雪松,張婭莉
(信陽職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,河南 信陽 464000)
?
基于PV3D引擎的熱點(diǎn)不變形理論研究
曾雪松,張婭莉
(信陽職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,河南 信陽 464000)
對(duì)三維全景漫游開發(fā)過程中的熱點(diǎn)不變形技術(shù)難題進(jìn)行必要的原因剖析和翔實(shí)的理論推導(dǎo),提出采用基于PV3D免費(fèi)引擎的函數(shù)或類調(diào)用,通過程序類關(guān)鍵代碼的編寫,成功解決三維全景虛擬現(xiàn)實(shí)漫游動(dòng)畫中的熱點(diǎn)視頻的不變形添加難題,為實(shí)現(xiàn)三維虛擬漫游動(dòng)畫中多個(gè)功能不同場(chǎng)景融合應(yīng)用與設(shè)計(jì),提供更多借鑒與參考.
全景漫游;PV3D引擎;熱點(diǎn)不變形;視頻添加
全景漫游技術(shù)也稱為三維全景虛擬現(xiàn)實(shí)技術(shù)[1]161-163,它的核心是全景圖,通常采用普通相機(jī)或?qū)I(yè)設(shè)備取景,然后通過相關(guān)軟件制作生成.使用全景漫游可以降低實(shí)體模型建模難度,減小系統(tǒng)文件空間資源占用,提高網(wǎng)絡(luò)運(yùn)行速度.常見的全景圖可分為立方體全景圖、圓柱形全景圖和球面全景圖.在三維全景漫游虛擬技術(shù)應(yīng)用開發(fā)過程中,原有的實(shí)體模型建模因其實(shí)體不規(guī)則或模型復(fù)雜導(dǎo)致模型數(shù)據(jù)量激增,從而使得實(shí)體模型在渲染輸出時(shí)速度變得緩慢,使得很多場(chǎng)景相對(duì)復(fù)雜的模型不能在現(xiàn)有網(wǎng)絡(luò)條件下暢快地展示給民眾.隨著三維建模技術(shù)的發(fā)展,圖形與圖像技術(shù)的綜合應(yīng)用不斷融合提升,采用簡(jiǎn)單模型建模,然后將材質(zhì)賦給模型,同時(shí)配合全景漫游實(shí)現(xiàn)三維虛擬效果,這樣可以節(jié)省開發(fā)時(shí)間和降低開發(fā)成本,提高三維虛擬技術(shù)的實(shí)用性.本文主要采用球面全景圖來做參考剖析熱點(diǎn)的不變形理論依據(jù).
Papervision-3D簡(jiǎn)稱PV3D[2]89-92,是由巴西Carlos團(tuán)隊(duì)開發(fā)的一款基于Action Script開源且免費(fèi)提供給Flash動(dòng)畫領(lǐng)域應(yīng)用比較成熟的三維立體引擎項(xiàng)目,其遵循MIT協(xié)議.因其交互能力強(qiáng),開發(fā)技術(shù)簡(jiǎn)單,占用系統(tǒng)資源小,功能強(qiáng)大,能實(shí)現(xiàn)炫麗美觀的Flash 3D動(dòng)畫應(yīng)用程序開發(fā),使得Flash 3D動(dòng)畫制作難度大大降低,從而使該3D引擎得到廣泛應(yīng)用.如基于3D模型的船舶駕駛仿真模擬動(dòng)畫,基于3D模型的機(jī)動(dòng)車駕駛模擬動(dòng)畫,以及基于3D類人物游戲動(dòng)畫等.查閱相關(guān)資料發(fā)現(xiàn),良好地使用該技術(shù)可以實(shí)現(xiàn)提高三維虛擬仿真動(dòng)畫的沉浸性、交互性和逼真性.
PV3D引擎因其效率和功能備受關(guān)注,但通過查閱相關(guān)資料發(fā)現(xiàn),基于PV3D引擎的全景漫游技術(shù)[3]2140-2143存在相關(guān)功能不夠完善的問題,主要表現(xiàn)在透視投影中會(huì)使熱點(diǎn)隨著相機(jī)的運(yùn)動(dòng)而變形的缺點(diǎn),從而影響在實(shí)際動(dòng)畫運(yùn)行中熱點(diǎn)顯示效果.本文主要通過相關(guān)基礎(chǔ)理論分析和程序代碼編寫,成功解決熱點(diǎn)變形問題,并用實(shí)例證實(shí)該法的可行性.
2.1 熱點(diǎn)的變形問題剖析
目前,使用全景技術(shù)實(shí)現(xiàn)虛擬場(chǎng)景漫游開發(fā)的方法很多,其中,基于PV3D的全景漫游開發(fā)技術(shù)在商業(yè)廣告領(lǐng)域應(yīng)用頗多,利用該技術(shù)能夠?qū)崿F(xiàn)F1ash3D應(yīng)用程序開發(fā),效果相當(dāng)不錯(cuò).其動(dòng)畫運(yùn)行原理是:在3D動(dòng)畫運(yùn)行過程中,全景圖中的圖像處在同一曲面坐標(biāo)系中,包括全景圖中人為創(chuàng)建的熱點(diǎn)圖像,都參與系統(tǒng)設(shè)計(jì)的絕對(duì)運(yùn)動(dòng).所以,我們看到的將是完整的全部像素點(diǎn)運(yùn)動(dòng),動(dòng)畫效果逼真.但在現(xiàn)實(shí)應(yīng)用中,往往需要3D動(dòng)畫中局部不動(dòng),也就是人為設(shè)計(jì)熱點(diǎn)區(qū)域,使之突出顯示,實(shí)現(xiàn)動(dòng)中有靜效果.如何解決動(dòng)畫運(yùn)行過程中熱點(diǎn)區(qū)域圖像不變的問題是本研究的重心.破解思路是:采取在全景圖中構(gòu)建熱點(diǎn),同時(shí)將全景圖中的熱點(diǎn)區(qū)域坐標(biāo)作對(duì)應(yīng)轉(zhuǎn)換,生成二維平面圖像,通過PV3D函數(shù)類編程實(shí)現(xiàn)三維圖像動(dòng)畫運(yùn)行中能正常讓二維圖像在三維空間的局部顯示的方法實(shí)現(xiàn).為此,需要解決兩個(gè)問題,一是熱點(diǎn)的選取,二是對(duì)應(yīng)熱點(diǎn)坐標(biāo)的轉(zhuǎn)換.熱點(diǎn)的選取將根據(jù)需要容易解決,在此不再敘述,下面從理論上推理實(shí)現(xiàn)熱點(diǎn)的不變形方法與技巧.
2.2 熱點(diǎn)的不變形研究
設(shè)二維平面圖中任意一點(diǎn)A(x,y),當(dāng)采用球面全景圖技術(shù)[4]45-68生成全景圖時(shí),與A點(diǎn)對(duì)應(yīng)的球面上點(diǎn)A′(x′,y′,z′)對(duì)應(yīng)幾何關(guān)系,如圖1、圖2所示.
圖1 平面圖中任意點(diǎn)A的位置
圖2 對(duì)應(yīng)球面上點(diǎn)A′的位置
依據(jù)左手定則笛卡爾坐標(biāo)系對(duì)應(yīng)算法,可以算出A′(x′,y′,z′)的坐標(biāo)值.如公式(1)所示.
(1)
利用上述數(shù)學(xué)公式,進(jìn)一步代入計(jì)算,可得平面點(diǎn)A與曲面點(diǎn)A′的關(guān)系,如公式(2)所示.
(2)
通過推理與計(jì)算,得出三維球面全景圖中的點(diǎn)A′在對(duì)應(yīng)的二維平面圖中的點(diǎn)A位置顯示,從而實(shí)現(xiàn)立體圖中任意一點(diǎn)與平面圖中某點(diǎn)形成的完全一一映射關(guān)系.三維虛擬漫游技術(shù)中,要實(shí)現(xiàn)動(dòng)中有靜,則需要全景漫游動(dòng)畫中局部“不變”區(qū)域被人為保留出來,通過編寫類代碼來實(shí)現(xiàn),且不影響其他區(qū)域動(dòng)畫效果.
2.3 熱點(diǎn)的不變形添加
依據(jù)上述理論,通過編寫程序類代碼,實(shí)現(xiàn)求解平面上點(diǎn)A與球面全景圖上點(diǎn)A′對(duì)應(yīng),本文采用PV3D引擎提供的calculateScreenCoords( )方法類和計(jì)時(shí)器Timer類[5]31-49綜合應(yīng)用,即時(shí)獲取A′點(diǎn)在屏幕上的同步二維坐標(biāo)A顯示,進(jìn)而完成熱點(diǎn)的不變形添加.熱點(diǎn)的不變形添加關(guān)鍵代碼如下:
Varreal2dx:Number=0;
Varreal2dy:Number=0;
Plane.calculateScreenCoords(camera);
Real2dx=plane.screen.x+viewpoint.width/2;
Real2dy=plane.screen.y+viewpoint.height/2.
在實(shí)際應(yīng)用中,常常需要在3D虛擬漫游場(chǎng)景中播放視頻資料,以提升虛擬仿真效果.本文利用PV3D 提供的平面類Plane和視頻流材質(zhì)類VideoStreamMaterial兩個(gè)對(duì)象[5]31-43引擎實(shí)現(xiàn),簡(jiǎn)述過程:首先實(shí)例化VideoStreamMaterial 對(duì)象中參數(shù)Video 對(duì)象和NetStream 對(duì)象,然后將VideoStreamMaterial 對(duì)象作為材質(zhì)賦給Plane 對(duì)象,最后將Plane對(duì)象作為一個(gè)熱點(diǎn),即應(yīng)用熱點(diǎn)的不變形添加原理實(shí)現(xiàn)視頻的不變形添加功能.視頻的不變形添加關(guān)鍵代碼如下:
Var video:video=new video();
Var NC:netconnection=new netconnection();
NC.connect(null);
Var NS:netstream=new netstream(NC);
NS.play(“/video/shiping.flv”);
Video.attzchnetstream(NS).
本文主要對(duì)三維全景漫游開發(fā)過程中的熱點(diǎn)不變形技術(shù)難題進(jìn)行必要的原因剖析和翔實(shí)的理論推導(dǎo),提出采用基于PV3D免費(fèi)引擎的函數(shù)或類調(diào)用,通過程序類關(guān)鍵代碼的編寫,成功解決三維全景虛擬現(xiàn)實(shí)漫游動(dòng)畫中的熱點(diǎn),視頻的不變形添加難題,為實(shí)現(xiàn)三維虛擬漫游動(dòng)畫中多個(gè)功能不同場(chǎng)景融合應(yīng)用與設(shè)計(jì)提供更多借鑒與參考.本研究將對(duì)三維虛擬漫游場(chǎng)景中的文本、圖片、流媒體等信息的拓展開發(fā)設(shè)計(jì)與應(yīng)用提供更為豐富多彩的方法.
[1] 文衛(wèi)民,江朝偉,童獻(xiàn)文.基于三維全景技術(shù)的虛擬校園漫游系統(tǒng)設(shè)計(jì)及藝術(shù)表現(xiàn)探究[J].藝術(shù)與設(shè)計(jì),2011,2(4).
[2] 李 衛(wèi),袁 銘.Flash Papervision3D中3D Web應(yīng)用程序設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(21).
[3] 陳 寧,龔蘇斌.基于PV3D的全景漫游關(guān)鍵技術(shù)研究[J].系統(tǒng)仿真學(xué)報(bào),2013,25(9).
[4] 丁 雄.球面全景圖技術(shù)研究[D].哈爾濱:國(guó)防科學(xué)技術(shù)大學(xué),2002.
[5] 龔蘇斌.基于視景重現(xiàn)的艦船IETM系統(tǒng)開發(fā)[D].鎮(zhèn)江:江蘇科技大學(xué),2014.
[責(zé)任編輯 冰 竹]
Hot Deformation Theory Based on PV3D Engine Research
ZENG Xuesong, ZHANG Yali
(SchoolofMathematicsandComputerScience,XinyangVocationalandTechnicalCollege,Xinyang464000,China)
The paper made the necessary reason analysis and detailed theoretical derivation for the difficult problems in the process of development of three-dimensional panoramic roaming the hot deformation technology. It proposed that, through the written application class key code, function calls or class——which are based on PV3D free engine——successfully solved the heat in three-dimensional virtual reality panorama roaming animation and video deformation added problem, which provided more reference for the realization of the three-dimensional virtual roaming animation fusion applications with multiple functions in different scenario.
panoramic roaming; PV3D engine; hot spot deformation; video addition
2016-08-02
2016年度河南省教育科學(xué)“十三五”規(guī)劃課題“三維數(shù)字化校園動(dòng)漫設(shè)計(jì)與實(shí)現(xiàn)”(項(xiàng)目編號(hào)[2016-JKGHB-0394])
曾雪松(1980-),男,河南光山人,信陽職業(yè)技術(shù)學(xué)院講師,主要從事三維虛擬技術(shù)與網(wǎng)絡(luò)技術(shù)研究。
1671-8127(2016)05-0032-03
TP393.09
A
商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào)2016年5期