吳 璇,舒 后,程明智,洪 宇,趙云帆,李駿宇,杜 萌
(1.北京印刷學(xué)院,北京 102600; 2.三十五中國(guó)際部高二英才班,北京 102606; 3.中國(guó)農(nóng)業(yè)大學(xué),北京 100091)
數(shù)據(jù)可視化與信息圖形、信息可視化、科學(xué)可視化以及統(tǒng)計(jì)圖形密切相關(guān),是一種數(shù)據(jù)分析與挖掘的重要科學(xué)方法,旨在通過使用圖形化的手段,清晰有效地向人們傳達(dá)與溝通信息,增強(qiáng)人們理解與分析數(shù)據(jù)的能力。[1]虛擬現(xiàn)實(shí)技術(shù)(Virtual Reality,VR)的出現(xiàn),使人們能夠通過視覺、觸覺、聽覺等多感知的交互方式快速獲取數(shù)據(jù)中有價(jià)值的信息,為數(shù)據(jù)提供了更優(yōu)的展示途徑。虛擬現(xiàn)實(shí)應(yīng)用中的交互界面具有沉浸感與參與感兩種核心特性。[2]
沉浸式可視化技術(shù)即將數(shù)據(jù)可視化與虛擬現(xiàn)實(shí)技術(shù)的特點(diǎn)結(jié)合,在虛擬場(chǎng)景中進(jìn)行數(shù)據(jù)呈現(xiàn),使數(shù)據(jù)映射至可以被用戶體驗(yàn)和交互的虛擬場(chǎng)景,以增強(qiáng)用戶的沉浸感與參與感。沉浸式技術(shù)的發(fā)展為數(shù)據(jù)可視化提供了新的交互界面,由此產(chǎn)生了沉浸式可視化的相關(guān)研究。[3]目前沉浸式可視化技術(shù)常應(yīng)用于生物科學(xué)、地理科學(xué)等領(lǐng)域,例如在Kersten等人的研究中[4],調(diào)查了VR中沉浸式地形可視化的優(yōu)勢(shì),在虛擬空間中將數(shù)據(jù)實(shí)時(shí)映射至地理模型,讓研究者通過交互對(duì)數(shù)據(jù)進(jìn)行觀察和分析。
本文以鯨類生物為例,結(jié)合虛擬現(xiàn)實(shí)技術(shù)和數(shù)據(jù)可視化技術(shù),實(shí)現(xiàn)沉浸式可視化應(yīng)用,將相關(guān)數(shù)據(jù)通過立體生動(dòng)的模型呈現(xiàn)給用戶,用戶通過與沉浸式可視化界面交互而了解數(shù)據(jù)所包含的內(nèi)在信息。
沉浸式可視化界面需滿足虛擬現(xiàn)實(shí)空間的沉浸性、交互性、多感知性、構(gòu)想性、自主性五大特性,其中,沉浸性、交互性、多感知性最能夠體現(xiàn)虛擬現(xiàn)實(shí)空間的特點(diǎn)。沉浸性即讓用戶融入虛擬環(huán)境,全身心地投入對(duì)虛擬空間的感知中;交互性即用戶在虛擬現(xiàn)實(shí)空間中以觸覺、嗅覺、聽覺、語(yǔ)音系統(tǒng)等多種方式與空間或空間內(nèi)事物進(jìn)行交互,常稱其為多通道交互;多感知性指虛擬現(xiàn)實(shí)空間中多種感知方式互相融合,共同協(xié)助用戶在虛擬現(xiàn)實(shí)環(huán)境中自然交互。[5]沉浸式可視化界面的設(shè)計(jì)還要滿足數(shù)據(jù)可視化中導(dǎo)航、過濾等信息交互方式。
導(dǎo)航是常見的可視化系統(tǒng)交互方式之一。[6]當(dāng)可視化的數(shù)據(jù)空間較大時(shí),視圖中通常只能顯示從選定視點(diǎn)出發(fā)可見的局部數(shù)據(jù),并通過改變視點(diǎn)的位置觀察其他部分?jǐn)?shù)據(jù)。在沉浸式環(huán)境中,導(dǎo)航相當(dāng)于在物理空間中移動(dòng)視點(diǎn),是觀察整個(gè)空間的最有效手段;過濾指通過設(shè)置約束條件來實(shí)現(xiàn)信息查詢的一種交互方式,使用戶能夠基于某些特定條件來改變所呈現(xiàn)的數(shù)據(jù)項(xiàng)。
LightningChart 是一款微軟Visual Studio的插件,包含雷達(dá)圖、氣泡圖、散點(diǎn)圖等多種2D和3D可視化視圖。本文通過該工具進(jìn)行了三維餅圖、金字塔比例圖等模型的創(chuàng)建。
DXR(Data visualization for eXtend Reality)是一個(gè)開源的沉浸式可視化快速構(gòu)建工具,該工具由大量的預(yù)制件和腳本包組成,能夠?yàn)闃?gòu)建三維可視化設(shè)計(jì)提供高級(jí)接口。用戶可使用Vega-Lite語(yǔ)法快速編寫可視化映射,支持文本編輯器和內(nèi)置原位GUI,并支持用戶自定義marks和channels以滿足更復(fù)雜的可視化設(shè)計(jì)[7]。本文通過其生成鯨類地理信息數(shù)據(jù)展示界面。
本項(xiàng)目將數(shù)據(jù)應(yīng)用到沉浸式環(huán)境中,需遵循沉浸式環(huán)境中的交互設(shè)計(jì)原則。沉浸感界面的設(shè)計(jì)原則包括流暢性、空間感、表現(xiàn)力、易用性,流暢性即在用戶操作過程中,界面的收縮、場(chǎng)景的切換等功能可以及時(shí)響應(yīng)[8];空間感即在虛擬空間中物體的層次和擺放順序等應(yīng)適當(dāng),是能夠影響用戶體驗(yàn)感的重要因素;表現(xiàn)力即界面的美感,從視覺效果上看該界面能給用戶帶來良好的體驗(yàn)[9];易用性體現(xiàn)在界面表達(dá)的信息易于被獲取,減少多余的干擾因素。
為保證用戶操作的流暢性和界面的表現(xiàn)力,本文通過點(diǎn)擊切換選擇界面的形式進(jìn)行生物信息可視化界面、聲音可視化界面以及地理信息可視化界面的交互,并在三種類型的圖中區(qū)分鯨魚種類進(jìn)行展示,如圖1所示??紤]到用戶在進(jìn)行點(diǎn)擊選擇等交互時(shí)的空間感體驗(yàn),本文的信息呈現(xiàn)界面選擇以鯨類生物作為主體放在主要位置,其他圖表的重要程度按照由大到小進(jìn)行排列,布局上體現(xiàn)信息的主次,如圖2所示。易用性與導(dǎo)航交互結(jié)合,作用于優(yōu)化用戶體驗(yàn)。本文選擇創(chuàng)建一個(gè)虛擬界面進(jìn)行場(chǎng)景中的放大、縮小等系列交互,該界面呈現(xiàn)在用戶視角的下方,能夠引起用戶注意力的同時(shí)不遮擋其視線,減少了干擾因素,如圖3所示。
圖1 交互流程圖
本作品所用數(shù)據(jù)類型包括文本及音頻。生物信息圖界面展示的文本數(shù)據(jù)來源于相關(guān)學(xué)術(shù)論文,基于LightningChart工具包以及3dsMax工具,以3D餅圖、金字塔比例圖等沉浸式可視化界面的方式來呈現(xiàn)鯨類的生物信息;聲音可視化界面將鯨類的聲音信息進(jìn)行可視化表達(dá),聲音數(shù)據(jù)來源于網(wǎng)絡(luò),通過人工提取音頻中的音調(diào)、音色、頻率等數(shù)據(jù)信息,轉(zhuǎn)化為可實(shí)時(shí)變化的聲波圖形,聲波圖的顏色隨頻率大小進(jìn)行改變;地理信息界面展示內(nèi)容為鯨類在不同地域的分布信息,鯨類的分布數(shù)據(jù)來源于Google,通過數(shù)據(jù)分析生成文本數(shù)據(jù)。在虛擬現(xiàn)實(shí)設(shè)備中基于DXR工具包,以標(biāo)記地球模型的方式進(jìn)行呈現(xiàn)。
2.2.1 文本數(shù)據(jù)的映射
(1)生物信息數(shù)據(jù)的映射
本段代碼主要實(shí)現(xiàn)功能為生物信息數(shù)據(jù)在沉浸式場(chǎng)景中的映射,生物信息數(shù)據(jù)以3D餅圖、金字塔比例圖的形式呈現(xiàn)在場(chǎng)景中,數(shù)據(jù)映射為圖中的占比分布。
float angle=atan2(thisline.y,thisline.x)*15.92;
_element1=_element1-50;
_element2+=_element1 ;
_element3+=_element2 ;
_element4+=_element3 ;
_element5+=_element4 ;
//將場(chǎng)景中的模型按照數(shù)據(jù)比例分割
fixed3 additionaryColor;
//不同比例數(shù)據(jù)對(duì)應(yīng)不同顏色
if(angle<_element1){
additionaryColor=_Angle1Color;
}else if(angle<_element2){
additionaryColor=_Angle2Color;
}else if(angle<_element3){
additionaryColor=_Angle3Color;
}else if(angle<_element4){
additionaryColor=_Angle4Color;
}else if(angle<_element5){
additionaryColor=_Angle5Color;
}
(2)地理信息數(shù)據(jù)的映射
本段代碼主要實(shí)現(xiàn)功能為地理信息數(shù)據(jù)在沉浸式場(chǎng)景中的映射,場(chǎng)景中地球模型上旗子的不同位置代表鯨魚的地理信息分布。
{
"data": {
"url": "KW_Pos.json"
},
"mark": "radialbar",
"encoding": {
"latitude": {
"field": "lat",
"type": "quantitative"
},
"longitude": {
"field": "lng",
"type": "quantitative"
},
//經(jīng)緯度位置信息
"length": {
"field": "value",
"type": "quantitative",
"scale": {
"range": [ 0,1 ]
}
},
//bar的長(zhǎng)度設(shè)置
"color": {
"field": "value",
"type": "quantitative",
"scale": {
"domain": [1],
"range": [ "#FFFFFF" ]
},
//bar的顏色設(shè)置
"legend": {
"title": "Legend: Population Score"
//位置信息映射為bar
}
}
}
}
2.2.2 聲音數(shù)據(jù)的映射
本段代碼實(shí)現(xiàn)功能為聲音數(shù)據(jù)在沉浸式場(chǎng)景中的映射,聲音數(shù)據(jù)以波形圖的形式呈現(xiàn),聲波的形狀、顏色變化與聲音的音調(diào)、音色、頻率對(duì)應(yīng)。
void SwitchCC(){
cubeColorChange=!cubeColorChange;
}
void SwitchGC(){
gridColorChange=!gridColorChange;
}
//顏色隨聲音頻率進(jìn)行變化
void DynamicColor(){
if (cubeColorChange)
{
for (int i=0; i < 5461; i++)
{
cube_meshRenderers[i].material.SetColor("_Color",new Vector4(Mathf.Lerp(cube_meshRenderers[i].material.color.r,spectrumData[i] * 500f,0.2f),0.5f,1f,1f));
//thisAudioSource當(dāng)前幀頻率波功率,傳到對(duì)應(yīng)cube的localScale
}
}
if (gridColorChange)
{
float gridColor=Mathf.Lerp(gridOverlay.mainColor.r,spectrumData[2000] * 1000,0.5f);
if (gridColor > 1)
//當(dāng)頻率高于固定值時(shí),顏色變?yōu)榉凵?/p>
{
gridColor=1;
}
gridOverlay.mainColor=new Vector4(gridColor,0.5f,1f,1f);
}
}
鯨魚生物信息的展示界面如圖2所示,通過3D餅圖、金字塔比例圖等形式進(jìn)行信息的表達(dá),包括不同種類鯨的食物來源組成、族群組成、生長(zhǎng)周期等信息。餅圖和金字塔圖通過不同比例對(duì)應(yīng)不同顏色,表達(dá)族群組成和食物來源組成。生長(zhǎng)周期通過時(shí)間軸表示,圓球部分代表不同的時(shí)間節(jié)點(diǎn)。
圖2 生物信息可視化界面
地理信息展示界面如圖3所示,將鯨魚的位置信息以旗子的形式映射到地球模型上,旗子所在的點(diǎn)即表示該地區(qū)的鯨魚分布位置。通過點(diǎn)擊右下角的指示界面,可以進(jìn)行地球模型的放大、縮小、旋轉(zhuǎn)等操作。
圖3 地理信息可視化界面
鯨魚的聲音可視化界面如圖4所示,通過對(duì)不同鯨魚聲音的頻率、音調(diào)、音量等特質(zhì)的提取,將鯨魚聲音可視化為波形圖,其中頻率和音調(diào)映射為顏色變化,音量映射為波長(zhǎng)。
圖4 聲音可視化界面
本文研究了在虛擬現(xiàn)實(shí)場(chǎng)景中以可視化方式呈現(xiàn)數(shù)據(jù)的方法,將地理信息數(shù)據(jù)、聲音數(shù)據(jù)等與沉浸式環(huán)境結(jié)合,提出將數(shù)據(jù)映射至虛擬場(chǎng)景的方案。本研究實(shí)現(xiàn)的作品旨在通過沉浸式可視化技術(shù)呈現(xiàn)海洋生物的信息,在提高用戶的沉浸感和參與感的同時(shí),增強(qiáng)用戶的環(huán)保意識(shí)。本文主要研究成果能夠?yàn)槌两娇梢暬膽?yīng)用研究提供參考。
目前場(chǎng)景中呈現(xiàn)的沉浸式可視化界面仍存在一些需要改進(jìn)的問題。在交互設(shè)計(jì)方面,用戶在交互時(shí)依賴于場(chǎng)景中的二維指示界面,操作繁瑣,在未來的研究中可使用戶通過與模型直接交互以探索數(shù)據(jù);在地理信息可視化方面,旗子的呈現(xiàn)效果不夠美觀,在未來的研究中可替換成更簡(jiǎn)潔的柱狀模型,不僅能夠使用戶定位地理信息,還可以查看該地區(qū)鯨類的數(shù)量。