洪韜濮,楊 超,吳亞東,張曉蓉,王 昉,王賦攀
1.西南科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,四川 綿陽 621000
2.中國空氣動力研究與發(fā)展中心 計算空氣動力研究所,四川 綿陽 621000
3.四川輕化工大學(xué) 計算機科學(xué)與工程學(xué)院,四川 自貢 643002
4.空氣動力學(xué)國家重點實驗室,四川 綿陽 621000
流場可視化指利用計算機圖形學(xué)技術(shù)將數(shù)值模擬產(chǎn)生的流場數(shù)據(jù)進行繪制、渲染,進而轉(zhuǎn)為直觀的圖形圖像的過程,它可以幫助研究人員直觀、形象、高效地理解和分析流場的物理規(guī)律和特征[1]。通過可視化方法可以提高流場的視覺空間表現(xiàn)力,三維流場中常見的可視化方法包括流線[2]、紋理[3]、體繪制[4]等。沉浸式技術(shù)的三維顯示及交互技術(shù)與三維科學(xué)可視化環(huán)境特性高度契合[5],目前已經(jīng)在醫(yī)療、工業(yè)、考古、地理、氣象等多個領(lǐng)域得到了廣泛應(yīng)用[6]。近年來隨著沉浸式技術(shù)的快速發(fā)展,為三維流場可視化技術(shù)帶來了新的可能性。
在流場數(shù)值模擬的過程中,由于對流場空間的不同網(wǎng)格劃分以及超算集群的分塊并行計算,流場數(shù)據(jù)通常以分塊的形式呈現(xiàn)給流場研究人員。對流場數(shù)據(jù)進行分塊能簡化復(fù)雜的流場結(jié)構(gòu),提供高質(zhì)量的網(wǎng)格[7],利于進行任務(wù)劃分、并行計算等操作。而流場可視化分析中使用的計算機圖形學(xué)技術(shù)必須應(yīng)用到對應(yīng)的數(shù)據(jù)塊之上。因此,對流場數(shù)據(jù)塊的組織和管理成為流場可視化分析的首要任務(wù)。
當前沉浸式環(huán)境下針對多塊流場數(shù)據(jù)精確組織和管理的方法較少。現(xiàn)有的桌面流場可視化軟件,如Tecplot[8]、Ensight[9]等,主要使用二維樹狀列表映射的方式,通過數(shù)據(jù)塊名映射到對應(yīng)數(shù)據(jù)塊,進而實現(xiàn)數(shù)據(jù)塊的組織和管理。然而,目前業(yè)界未形成統(tǒng)一的數(shù)據(jù)塊命名規(guī)范,使得數(shù)據(jù)塊精確管理效率較低,特別是在面對數(shù)百數(shù)千個數(shù)據(jù)塊時大大增加了用戶組織和管理數(shù)據(jù)塊的時間。另外,二維樹狀列表映射方式在沉浸式環(huán)境下還存在操作復(fù)雜、交互效率低、不直觀、影響沉浸式體驗等問題,導(dǎo)致難以應(yīng)用到沉浸式環(huán)境中。沉浸式三維環(huán)境下需要更加直觀、高效、自然的多塊流場數(shù)據(jù)組織和管理方案。
針對沉浸式三維環(huán)境下多塊流場數(shù)據(jù)的組織和管理需求,提出了一種基于多視圖交互的數(shù)據(jù)塊組織和管理方法。該方法通過主視圖的可視化數(shù)據(jù)與小視圖可視化概覽數(shù)據(jù)結(jié)合交互,協(xié)同高效地完成流場可視化的多塊數(shù)據(jù)組織和管理任務(wù)。
自20 世紀90 年代以來,沉浸式虛擬現(xiàn)實技術(shù)被廣泛應(yīng)用到科學(xué)可視化的研究中,并取得了顯著的成效[10]。Van Dam 等[11]指出沉浸式環(huán)境下更容易理解和探索復(fù)雜結(jié)構(gòu),并能顯示更多有意義的信息,促進更自然的交互。Donalek等[12]研究了在虛擬現(xiàn)實環(huán)境下的可視化技術(shù),其結(jié)果表明,沉浸式環(huán)境可以明顯地提高感知幾何形狀的效率,使參與者能更直觀地理解數(shù)據(jù),增強對數(shù)據(jù)關(guān)系的記憶。Drouhard 等[13]指出沉浸式技術(shù)能提供直觀的交互和高效的導(dǎo)航,并有助于進行復(fù)雜數(shù)據(jù)集的協(xié)作研究。流場可視化是科學(xué)可視化的重要分支之一[1],科學(xué)家很早就開始研究如何將其與沉浸式技術(shù)相結(jié)合。1991年,Bryson等[14]將虛擬現(xiàn)實技術(shù)應(yīng)用到CFD(computational fluid dynamics)領(lǐng)域,構(gòu)建了“虛擬風洞(virtual wind tunnel,VWT)”,進行流場特征分析。經(jīng)過20 多年發(fā)展VWT 已經(jīng)能夠進行幾乎實時的虛擬風洞實驗[15]。Wasfy 等人[16]利用沉浸式Cave 環(huán)境呈現(xiàn)CFD數(shù)據(jù)可視化結(jié)果,并支持通過菜單界面完成參數(shù)調(diào)節(jié)。Chen 等人[17]構(gòu)建了支持多通道交互的沉浸式流場可視化系統(tǒng)。
目前針對流場數(shù)據(jù)塊組織和管理形式的相關(guān)研究主要集中于一些商用的桌面端軟件。該類軟件通常采用樹狀列表的呈現(xiàn)形式,即以數(shù)據(jù)塊名為索引構(gòu)建映射表呈現(xiàn)給用戶的形式,從而將對流場數(shù)據(jù)塊的組織和管理轉(zhuǎn)化為對映射表中各條目的組織和管理。該方法在對流場數(shù)據(jù)塊進行可視化處理時,需要選中數(shù)據(jù)塊對應(yīng)的映射表條目以實現(xiàn)數(shù)據(jù)塊的操作,并可以使用連續(xù)選擇實現(xiàn)簡單的批量選取,但是使用過程中仍然存在許多不足。不同CFD 研究人員對數(shù)據(jù)塊命名習(xí)慣不同,使得難以從映射表條目名上快速獲知其所對應(yīng)的具體數(shù)據(jù)塊,只能進行逐一嘗試,操作復(fù)雜且不夠直觀;當流場數(shù)據(jù)塊數(shù)量很大時,其交互效率將會降低。
微型世界(world-in-mini,WIM)技術(shù)是一種有效增強用戶空間感知的解決方案。LaViola等[18]研究了一個用于大型沉浸式考古場景的導(dǎo)航交互方式,其提出的Step-WIM導(dǎo)航可以通過手勢在縮略圖和大型場景間切換,實現(xiàn)快速的移動。Datey[19]在沉浸式環(huán)境下為三維散點圖制作了場景概覽,并通過場景概覽上操作完成在空間中的跳躍移動。已有的研究表明,WIM 不僅能提供場景空間的整體概覽,增強用戶對整體數(shù)據(jù)的信息獲取效率,還能進行快速的空間定位操作,利于高效地移動。但目前依然缺乏關(guān)于微型世界對于虛擬現(xiàn)實中抽象數(shù)據(jù)可視化的研究[20]。
為保證對流場數(shù)據(jù)塊的管理和使用在整個流場可視分析的交互過程中能隨時進行,需要數(shù)據(jù)塊管理方法能夠支持直觀的數(shù)據(jù)塊組織呈現(xiàn)以及快速方便的數(shù)據(jù)塊使用。
在沉浸式環(huán)境下完整的流場數(shù)據(jù)信息通常直接呈現(xiàn)在一個三維空間場景中,用戶在該場景中分析流場特征,將此場景稱為主視圖。流場數(shù)據(jù)塊組織和管理方法需要解決的主要問題是能將數(shù)據(jù)塊直觀地呈現(xiàn)給用戶,從而能讓用戶可以方便地在主視圖中對單個或者多個數(shù)據(jù)塊進行可視分析。
通常CFD 數(shù)值模擬計算的流場空間尺度都比較大,在流場可視分析過程時,為了進行快捷精確的三維交互如流線布種等,用戶往往會沉浸在主視圖的整個流場數(shù)據(jù)之中。在沉浸式分析過程中,一方面,沉浸到流場中會使用戶難以高效地感知流場數(shù)據(jù)整體狀態(tài),分析流場整體的特征;另一方面,在流場分析時通常會隱藏部分數(shù)據(jù)塊,以免遮擋關(guān)鍵數(shù)據(jù)塊,但是當用戶需要再次分析這些被隱藏數(shù)據(jù)塊中的流場特征時,由于被隱藏而無法直接在主視圖中進行可視分析。另外,用戶在進行流場分析時,通常希望能快速地排除非關(guān)鍵數(shù)據(jù)塊,迅速定位到感興趣的塊。因此,需要一種應(yīng)用于沉浸式三維環(huán)境下的流場數(shù)據(jù)塊組織和管理方案,以方便用戶進行高效的數(shù)據(jù)分析。
本文基于WIM交互技術(shù),引入小視圖的概念,設(shè)計了三維數(shù)據(jù)管理視圖,以下簡稱三維小視圖。三維數(shù)據(jù)管理視圖以縮略圖的方式呈現(xiàn)于主視圖中,如圖1 所示,其中顯示了全部流場數(shù)據(jù)塊概覽信息,提供交互支持。并結(jié)合小視圖,提出了一種應(yīng)用于沉浸式流場可視化分析的多視圖數(shù)據(jù)塊組織和管理方法。該方法利用主視圖和小視圖的協(xié)作交互,幫助用戶完成對流場數(shù)據(jù)塊的高效可視分析。
圖1 場景中的三維數(shù)據(jù)管理視圖Fig.1 3D data management view in scene
研究人員在對數(shù)據(jù)進行操作時,既希望能具體觀察數(shù)據(jù)細節(jié),對關(guān)注的數(shù)據(jù)塊進行操作,又希望能高效快速地感知空間信息,管理整體數(shù)據(jù)塊。多視圖交互通過多個視圖呈現(xiàn)數(shù)據(jù)對象的不同狀態(tài)信息,研究人員可以隨時使用主視圖和三維小視圖進行數(shù)據(jù)塊管理和交互,進而完成可視化分析任務(wù)。圖2 展示了三維小視圖的組成結(jié)構(gòu),其中包括:
圖2 三維小視圖的組成結(jié)構(gòu)Fig.2 Composition structure of 3D data management view
(1)數(shù)據(jù)的概覽。小視圖的基本任務(wù)是組織管理數(shù)據(jù)塊,在不干擾用戶對主視圖觀察的情況下,向用戶提供主視圖的復(fù)雜大量的數(shù)據(jù)塊的概覽,使得用戶在對數(shù)據(jù)交互過程中不用縮小正在交互的主視圖,就能直接觀察到主視圖整體信息。因此,流場數(shù)據(jù)塊將按一定比例縮小顯示到三維小視圖上,并默認以白色半透明狀態(tài)顯示以方便觀察。
(2)用戶化身。用戶化身可以在三維小視圖上提供用戶自身位置映射,使用戶了解自身與數(shù)據(jù)塊的相對三維空間位置信息,增強用戶對空間結(jié)構(gòu)的把握。用戶的空間位置及朝向信息映射被到小視圖上顯示,以紅色圓球表示用戶位置,用戶的朝向由從圓球發(fā)射的射線表示。
(3)坐標軸。用戶在進行交互操作時,需要使用坐標軸來輔助理解空間中的三維方向信息。在主視圖中提供坐標軸顯示容易干擾用戶對數(shù)據(jù)塊細節(jié)的觀察,因此在三維小圖中將提供與小視圖契合的三維坐標軸,方便用戶把握整體方向信息。坐標軸顯示在三維小視圖中心,以紅綠藍射線代表XYZ軸。
(4)瀏覽交互控件。三維小視圖應(yīng)允許用戶進行小視圖的瀏覽操作,使用戶能方便高效地獲取流場數(shù)據(jù)塊的整體信息,該功能由瀏覽交互控件實現(xiàn)。瀏覽交互控件懸浮于數(shù)據(jù)概覽下方,由一個藍色環(huán)形瀏覽控件及環(huán)心的一個白色移動控件組成,分別控制三維小視圖的旋轉(zhuǎn)和縮放。
三維小視圖的功能包括:
(1)數(shù)據(jù)塊組織。區(qū)別桌面環(huán)境下二維樹狀列表數(shù)據(jù)管理方式,為了使用戶能在三維環(huán)境中直觀地理解數(shù)據(jù)塊映射,本文使用三維小視圖對數(shù)據(jù)進行組織,通過圖形的方式將數(shù)據(jù)塊呈現(xiàn)給用戶,并支持不同狀態(tài)數(shù)據(jù)塊的區(qū)別顯示。
(2)數(shù)據(jù)塊管理。三維小視圖需要向用戶提供對數(shù)據(jù)塊的交互,支持用戶完成多視圖數(shù)據(jù)塊管理任務(wù)。用戶可以通過三維小視圖提供對單個數(shù)據(jù)塊的精確管理,以及多個數(shù)據(jù)塊的批量管理。
(3)數(shù)據(jù)塊整體變換。小視圖提供了對數(shù)據(jù)塊整體的幾何變化操作。整體的幾何變換交互操作在數(shù)據(jù)內(nèi)部進行數(shù)據(jù)整體變換時,可以在變換過程中保持對空間信息的獲取,不易丟失整體信息。
(4)小視圖瀏覽。瀏覽操作向用戶提供更加全面地獲取空間信息的方式,使用戶能快速多視角地觀察三維小視圖。瀏覽功能不影響主視圖數(shù)據(jù)的變化。小視圖瀏覽包括其自身的移動、旋轉(zhuǎn)、縮放,其交互通過小視圖交互控件完成。
(5)空間導(dǎo)航。本文的三維小視圖還提供了可以進行快速跳躍移動的導(dǎo)航交互。
并且為了提供方便快捷的交互,使用戶能在可視化交互過程中即時地進行數(shù)據(jù)管理操作,小視圖可以由用戶在空間任意位置呼喚出來。
此外,當主視圖中的可視化數(shù)據(jù)縮放產(chǎn)生變化時,用戶與數(shù)據(jù)的相對位置也會產(chǎn)生變化。為保證小視圖在場景中的觀察效果,三維小視圖對可視化數(shù)據(jù)進行組織時的縮放交互應(yīng)滿足如下要求:
(1)為了保證小視圖的數(shù)據(jù)概覽大小適中,方便用戶對數(shù)據(jù)塊進行管理操作,小視圖顯示的數(shù)據(jù)概覽部分在較小時應(yīng)進行一定程度縮放。
(2)場景主視圖數(shù)據(jù)縮放時,用戶與主視圖數(shù)據(jù)相對位置將會發(fā)生變化。為了在小視圖上體現(xiàn)出位置變化,并保持數(shù)據(jù)概覽的尺寸,應(yīng)當以數(shù)據(jù)概覽為參照物來相對移動用戶化身。
(3)當用戶在數(shù)據(jù)外部距離數(shù)據(jù)較遠時,為了使用戶可以在小視圖上快速觀察到用戶化身,應(yīng)將用戶化身保持在小視圖一定距離內(nèi)。
(4)由于三維小視圖本身支持瀏覽時的縮放交互,三維小視圖縮放比例應(yīng)受用戶瀏覽交互的縮放的制約,能在瀏覽交互進行縮放時產(chǎn)生可視的縮放效果。
為此,本文定義了“最大顯示寬度”“有效顯示寬度”兩個量來衡量小視圖縮放后是否滿足以上幾個條件?!白畲箫@示寬度”表示用戶設(shè)定的允許小視圖顯示的最大寬度?!坝行э@示寬度”取小視圖上數(shù)據(jù)概覽和用戶化身在XYZ坐標軸上的投影能取到的最大值。測試表明,當“有效顯示寬度”剛好等于“最大顯示寬度”時能同時滿足上述幾個條件,并且顯示效果最好。故本文系統(tǒng)使用了如下公式計算主視圖到小視圖的縮放比率(Swim):
其中,Ldefault-max為用戶初始設(shè)定的小視圖的最大顯示寬度,Sview為用戶瀏覽縮放的比例,Lmax表示經(jīng)過縮放處理后的“最大顯示寬度”。
max 方法用于取兩個傳入?yún)?shù)的最大值,Luser為用戶位置沿坐標軸上投影的最大值,Sbyuser表示用戶位置沿坐標軸最大投影值等于“最大顯示寬度”時計算出的小視圖縮放比例,且不小于1。
Ldata×Sdata表示主視圖數(shù)據(jù)輪廓經(jīng)過縮放后的最大坐標軸投影寬度,該數(shù)值取數(shù)據(jù)AABB包圍盒[21]的坐標軸投影最大值的一半;Sbydata表示數(shù)據(jù)坐標軸最大投影值等于“最大顯示寬度”時計算出的小視圖縮放比例,且不會小于1;Sview表示小視圖縮放瀏覽縮放比例。
選擇是數(shù)據(jù)管理中的基本任務(wù),與一般科學(xué)可視化數(shù)據(jù)不同,由于多塊流場數(shù)據(jù)通常擁有大量的數(shù)據(jù)塊,這使得在進行數(shù)據(jù)塊的選擇操作時交互難度更高。
本文結(jié)合所見即所得的思想[22],利用主視圖的細節(jié)交互優(yōu)勢和小視圖的整體交互優(yōu)勢,通過多視圖方法完成對多塊數(shù)據(jù)的高效選擇,輔助完成數(shù)據(jù)管理任務(wù)。多視圖中的三維小視圖使用的數(shù)據(jù)概覽-數(shù)據(jù)塊的映射代替了傳統(tǒng)樹狀列表中數(shù)據(jù)條目-數(shù)據(jù)塊的映射方式,相比之下,多視圖交互不需要用戶間接理解數(shù)據(jù)塊條目,學(xué)習(xí)成本和難度更低,且交互過程更加直觀高效。
2.3.1 數(shù)據(jù)塊精確管理
通過精確管理可以快速完成對單個數(shù)據(jù)塊的選取任務(wù),實現(xiàn)快速操作特定數(shù)據(jù)塊。為了使在沉浸式三維環(huán)境中交互更為直觀,減小三維環(huán)境中復(fù)雜的界面操作,本文通過凝視+手勢的交互方式完成精確數(shù)據(jù)管理。即通過從沉浸式環(huán)境中用戶雙目中心沿用戶朝向發(fā)射一條射線與數(shù)據(jù)塊的包圍盒進行碰撞拾取,并通過預(yù)定義的確認手勢完成對拾取對象的選取。如圖3 所示,系統(tǒng)將在射線與數(shù)據(jù)塊碰撞處顯示一個紅色凝視點,用于向用戶提示當前選取的數(shù)據(jù)塊。
當流場數(shù)據(jù)塊在主視圖中顯示時,數(shù)據(jù)塊選擇可以直接在主視圖中進行,但當流場數(shù)據(jù)塊在主視圖隱藏后,由于其被隱藏不可見,難以通過直接的交互對主視圖中隱藏數(shù)據(jù)塊進行選取交互。為了實現(xiàn)對隱藏數(shù)據(jù)塊的管理,本文使用多視圖交互的方法,將隱藏的數(shù)據(jù)塊放入三維小視圖進行統(tǒng)一的管理。并允許通過視圖切換交互將小視圖中存放的數(shù)據(jù)塊和主視圖中存放的數(shù)據(jù)塊進行切換,如圖4 所示,以支持在主視圖中對已隱藏數(shù)據(jù)塊進行顯示及管理。為了與三維小視圖本身的數(shù)據(jù)概覽進行區(qū)別,放入三維小視圖中的數(shù)據(jù)塊將擁有相比于數(shù)據(jù)概覽更高的不透明度以及額外的線框。
圖4 視圖切換Fig.4 Views switching
2.3.2 數(shù)據(jù)塊批量管理
隨著多塊數(shù)據(jù)中數(shù)據(jù)塊量的增大,精確的單塊選取方式已經(jīng)不能滿足大量數(shù)據(jù)塊選取的交互需求,用戶需要一種沉浸式環(huán)境下更高效的多塊數(shù)據(jù)管理方案。
為此提出了一種小視圖交互、主視圖反饋的多視圖數(shù)據(jù)批量管理方法。該方法通過在小視圖上進行三維選取完成批量選取,并且由于小視圖整體偏小,使用戶較難直接觀察到即時的選取情況,故將交互反饋同時通過主視圖呈現(xiàn)。
小視圖上的批量管理交互使用了三維矩體碰撞選取的方式完成。用戶通過手勢操作在空間中拉取一個長方體,利用長方體與三維小視圖數(shù)據(jù)概覽中的數(shù)據(jù)塊進行碰撞檢測,選取碰撞的數(shù)據(jù)塊。通過矩體碰撞可以一次性選取多個數(shù)據(jù)塊,達到批量管理的目的。
由于精確管理和批量管理中的選取功能僅能選取單塊或連續(xù)矩體范圍的數(shù)據(jù)塊,難以適應(yīng)各種形狀的數(shù)據(jù)選取需求。為了使用戶能快速完成復(fù)雜選取形狀的管理交互,小視圖向用戶提供了重選、疊加、剔除三種選取狀態(tài),使用戶能通過三種選取狀態(tài)自由組合已選擇的數(shù)據(jù)塊。如圖5,在重選狀態(tài)下,每次的選取結(jié)果會取代已有選取結(jié)果。在疊加狀態(tài)下,每次的選取結(jié)果將加入已有的選取結(jié)果中。在剔除狀態(tài)下,會在已有的選取結(jié)果中剔除本次的選取結(jié)果。用戶能在三種選取狀態(tài)間自由切換,完成對特定形狀數(shù)據(jù)塊的管理。
圖5 數(shù)據(jù)塊選取狀態(tài)Fig.5 Block selection status
2.3.3 數(shù)據(jù)塊整體操作
在對科學(xué)可視化數(shù)據(jù)交互的過程中,通常需要對數(shù)據(jù)塊進行整體的變換,常見變換方式包括數(shù)據(jù)的平移、縮放和旋轉(zhuǎn)三種幾何變換。在已有的沉浸式科學(xué)可視化研究中,用戶通常在數(shù)據(jù)外部對數(shù)據(jù)對象進行直接的幾何變換。由于沉浸式實時流場可視化的特殊性,需要用戶浸入到流場中進行流線布種等三維操作,此時數(shù)據(jù)會包裹用戶成為場景的參考系,這使得用戶在直接對主視圖數(shù)據(jù)進行整體變換時容易產(chǎn)生視覺遮擋和眩暈感。
WIM技術(shù)可以有效解決該問題。用戶通過操作小視圖進行整體變換,并在變換結(jié)束后將變換結(jié)果直接反映到主視圖上,實現(xiàn)間接地操作主視圖。通過三維小視圖操作塊進行整體變換,在主視圖上只保留數(shù)據(jù)塊的開始狀態(tài)和最終狀態(tài),可以避免在交互過程中主視圖變換對用戶的視覺干擾遮擋和暈眩,使用戶能在交互過程中感知自身空間位置。但由于主視圖顯示的不連續(xù)性,使用三維小視圖進行整體變換容易使用戶丟失上下文信息。本文在通過WIM 整體變換交互的基礎(chǔ)上,額外引入除主視圖、小視圖外的第三個預(yù)覽視圖,提出了一種多視圖的數(shù)據(jù)整體操作方法。該方法在三維小視圖交互過程中,將二維預(yù)覽視圖以平面的方式置于小視圖上方,給予用戶交互結(jié)果的顯示。在小視圖連續(xù)的交互過程中,預(yù)覽視圖能持續(xù)更新交互結(jié)果在主視圖的顯示信息,保持用戶對第一人稱視圖信息的獲取,使用戶即使不即時更新主視圖也能同步獲取上下文信息。
本文設(shè)計了基于樹狀列表和多視圖的數(shù)據(jù)管理方案對比實驗,并從學(xué)習(xí)難度、交互效率及用戶評價幾個方面完成對實驗的評估,以驗證多視圖數(shù)據(jù)管理方法的有效性。在實驗過程中,用戶需要使用不同的數(shù)據(jù)管理方法按順序選取指定數(shù)據(jù)塊對象進行隱藏或顯示交互。
實驗選擇基于樹狀列表的數(shù)據(jù)管理方法作為多視圖方法的對比,是因為該方法是現(xiàn)有多塊流場可視化系統(tǒng)中傳統(tǒng)的數(shù)據(jù)管理方法。同時,考慮到二維交互和三維交互的差異性,樹狀列表管理方法實驗設(shè)計了包含二維環(huán)境和三維環(huán)境的實驗。二維桌面樹狀列表數(shù)據(jù)管理方法代表了傳統(tǒng)二維桌面下的數(shù)據(jù)管理方式,三維沉浸式列表數(shù)據(jù)管理方法代表了二維列表管理方法在三維環(huán)境下的應(yīng)用。
二維桌面樹狀列表管理方法的實驗使用了桌面科學(xué)可視化軟件Ensight[9]完成。三維沉浸式列表管理實驗程序由本系統(tǒng)提供,構(gòu)建了一個支持拖拽的三維交互界面,允許用戶在界面上進行數(shù)據(jù)塊管理操作,并且在數(shù)據(jù)塊隱藏后其列表中的名稱將以灰色顯示,方便用戶獲取其顯隱狀態(tài)。三維沉浸式列表的功能包含對數(shù)據(jù)塊的單塊管理以及批量管理。
本次實驗分別在桌面和沉浸式環(huán)境下進行,桌面實驗的交互使用鍵鼠完成,沉浸式環(huán)境實驗的交互方式以手勢及凝視交互為主。手勢凝視結(jié)合交互除了用于多視圖方法的數(shù)據(jù)精確管理外,還用于三維界面的交互操作。系統(tǒng)通過凝視點在界面的移動來模擬鼠標在界面的移動,并通過食指和拇指碰撞成OK形狀完成單擊手勢,模擬鼠標在界面的點擊。
系統(tǒng)基于VTK[23]和OpenVR[24]技術(shù)實現(xiàn),硬件使用了頭戴式顯示設(shè)備HTC Vive和基于機器視覺的手勢識別設(shè)備Leap Motion。Leap Motion 設(shè)備的手勢識別區(qū)域為前方錐形范圍。通過膠帶將Leap Motion 連接在HTC Vive 前方,保證頭戴式顯示設(shè)備和Leap Motion設(shè)備的相對位置不發(fā)生變化,并使用戶在交互時手勢動作輸入?yún)^(qū)域正好處于前方視野范圍內(nèi),更便于沉浸式環(huán)境下的交互。
實驗流場數(shù)據(jù)使用了CGNS[25]公開的YF-17戰(zhàn)斗機的非結(jié)構(gòu)化網(wǎng)格流場數(shù)據(jù)和SQNZ_S 結(jié)構(gòu)化網(wǎng)格流場數(shù)據(jù)。YF-17數(shù)據(jù)共包含15個數(shù)據(jù)塊,每個數(shù)據(jù)塊均有直觀的命名。為了保證沉浸式環(huán)境下的可視化結(jié)果易于操作和觀察,將主視圖數(shù)據(jù)塊大小縮放至長寬12 m,機頭距離機尾約1.2 m。SQNZ_S 數(shù)據(jù)包含12 個數(shù)據(jù)塊,數(shù)據(jù)塊以順序編號命名。
本次實驗共分為兩部分,分別為訓(xùn)練部分和任務(wù)部分。訓(xùn)練部分為對數(shù)據(jù)管理交互功能的學(xué)習(xí),保證參與者在進行實驗時能熟悉可行的交互功能,順利完成操作任務(wù),并統(tǒng)計在訓(xùn)練階段中的學(xué)習(xí)時長。實驗階段為參與者依次使用不同交互方式完成數(shù)據(jù)管理任務(wù),同時記錄每個任務(wù)完成時間。
訓(xùn)練部分的任務(wù)如表1 任務(wù)1.1 所示,任務(wù)共有三種學(xué)習(xí),分別為桌面列表管理方案、沉浸式列表管理方案、沉浸式多視圖管理方案。在訓(xùn)練過程中,會向參與者說明交互的方法和過程,并及時解答其提出的疑問。為了避免訓(xùn)練階段操作過數(shù)據(jù)塊的先驗知識對實驗階段結(jié)果的影響,在訓(xùn)練階段和實驗階段使用了不同的數(shù)據(jù)。訓(xùn)練階段使用SQNZ_S數(shù)據(jù)完成,實驗階段使用YF-17數(shù)據(jù)完成。
表1 實驗任務(wù)設(shè)計Table 1 Experimental tasks design
實驗部分任務(wù)如表1 中任務(wù)2.1、任務(wù)2.2 所示。在任務(wù)2.1中,參與者需要執(zhí)行精確管理數(shù)據(jù)任務(wù),依次完成指定單塊數(shù)據(jù)的選取和操作任務(wù)。在任務(wù)2.2 中,參與者執(zhí)行快速批量管理數(shù)據(jù)任務(wù),完成多個數(shù)據(jù)塊的選取和操作。在實驗過程中將統(tǒng)計每個任務(wù)的交互時間。
數(shù)據(jù)管理方法包含樹狀列表管理方法和多視圖管理方法兩種。在使用一種方法完成任務(wù)后,參與者需要使用另一種方法再次執(zhí)行該任務(wù)。
樹狀列表方法包含二維桌面列表管理方案和三維沉浸式列表管理方案兩種,如表2所示??紤]到二維樹狀列表和三維樹狀列表實驗類似,兩者實驗過程會相互影響,故將參與者均分為兩組,“桌面組”和“沉浸式組”。“桌面組”人員進行二維桌面列表管理方法實驗和多視圖管理方法實驗;“沉浸式組”人員進行三維沉浸式列表管理方法實驗和多視圖管理方法實驗。由于每個方案參與人數(shù)不相等,在最后的實驗統(tǒng)計時,取本方案參與者的交互數(shù)據(jù)平均值。
表2 實驗方案Table 2 Experimental scheme
在實驗過程中,允許用戶自由對數(shù)據(jù)進行變換,以切換最佳的觀察角度,并在每個實驗前,會告知參與者需要盡快完成任務(wù)。本次實驗共招募了12 名參與者,參與者年齡從21 歲到32 歲,均無視力障礙等影響交互認知的疾病,且均習(xí)慣使用右手,與本系統(tǒng)預(yù)定義的交互習(xí)慣相符合。其中4名用戶有VR頭戴式顯示器的使用或開發(fā)經(jīng)驗,6名用戶有流場相關(guān)知識背景,考慮到此類經(jīng)驗知識對交互學(xué)習(xí)、流場理解有一定程度的影響,故將上述人員均分到兩個實驗組之中。
本文實驗結(jié)果統(tǒng)計了包括所有參與者的平均訓(xùn)練時長、平均任務(wù)完成時長及用戶反饋。平均訓(xùn)練時長和平均任務(wù)完成時長數(shù)據(jù)通過實驗獲取,用戶反饋由用戶主觀評價獲取。
3.3.1 訓(xùn)練時長
為了使參與者在實驗進行時能較熟悉地完成實驗任務(wù),減小因不熟悉交互對實驗過程產(chǎn)生的影響,會在實驗前對參與者進行訓(xùn)練,并統(tǒng)計參與者對于每種交互方式學(xué)習(xí)的訓(xùn)練時長。
圖6 展示了參與者對三種交互方案在完成訓(xùn)練任務(wù)1.1 時的平均時長表現(xiàn)。從圖中可以看出,列表管理方式訓(xùn)練時長略短于多視圖管理方式訓(xùn)練時長,即更容易被學(xué)習(xí)??紤]其原因是多視圖管理交互需要更多的學(xué)習(xí)內(nèi)容。
圖6 任務(wù)1.1的訓(xùn)練時長Fig.6 Training duration of task 1.1
3.3.2 完成時間
圖7 展示了參與者通過不同方法分別完成數(shù)據(jù)管理任務(wù)的時長??梢钥闯黾词乖跀?shù)據(jù)塊有直觀命名的情況下,多視圖的方法在精確管理和批量管理任務(wù)中依然比樹狀列表的方法花費了更少的時間,其效率差距較為明顯。通過實驗過程觀察和后續(xù)的調(diào)研,發(fā)現(xiàn)列表用戶花費的時間主要集中在理解數(shù)據(jù)條目和數(shù)據(jù)塊映射關(guān)系上。
圖7 數(shù)據(jù)管理實驗完成時間Fig.7 Completion time of data management experiment
考慮到對數(shù)據(jù)條目映射熟悉度會影響交互效率,為了觀察映射關(guān)系對實驗結(jié)果的影響程度,邀請了已經(jīng)參與過實驗的人員繼續(xù)進行相同實驗。在后續(xù)的實驗中重復(fù)執(zhí)行任務(wù)2.2,觀察完成時間的變化趨勢。結(jié)果統(tǒng)計如圖8所示。
圖8 多次執(zhí)行任務(wù)2.2的完成時間Fig.8 Completion time of multiple task 2.2
從折線圖中可以明顯看出,隨著重復(fù)實驗的進行,二維和三維列表方式完成時間都大幅地縮短,相比之下,沉浸式多視圖的方式較為穩(wěn)定。這也說明了對條目到數(shù)據(jù)塊映射關(guān)系的理解確實會極大影響數(shù)據(jù)管理任務(wù)的交互速度。這與本文中提到的“樹狀列表需要間接理解數(shù)據(jù)塊條目,增加了學(xué)習(xí)成本”的觀點相吻合。
在多次實驗后,參與者已經(jīng)熟悉了列表方法中的條目和數(shù)據(jù)塊映射關(guān)系,此時其交互效率才與多視圖方法相近。
此外,無論是初次實驗還是后續(xù)實驗中,沉浸式列表方法相比沉浸式多視圖方法和桌面樹狀列表方法都表現(xiàn)更差,這也說明了相比于二維列表的方法,多視圖數(shù)據(jù)管理方法更適合沉浸式環(huán)境。
3.3.3 用戶反饋
在本實驗中還收集了參與者關(guān)于實驗的反饋。對于數(shù)據(jù)管理任務(wù),一名參與者表示,由于數(shù)據(jù)本身是側(cè)放著的,導(dǎo)致名為upper的數(shù)據(jù)塊在飛機左側(cè)而非上面,這對理解數(shù)據(jù)和列表的映射關(guān)系有影響。另一名參與者提出,樹狀列表中順序混亂也影響了查找數(shù)據(jù)塊的時間。還有參與了后續(xù)實驗的參與者表示,在多次實驗后他能僅通過對列表上條目名稱的記憶,不觀察流場數(shù)據(jù)塊就能快速完成數(shù)據(jù)塊管理任務(wù)。
在交互方面,一名用戶覺得沉浸式系統(tǒng)中沿手勢拖拽方向移動的導(dǎo)航交互難以理解,隱喻應(yīng)為拖拽數(shù)據(jù)而非用戶自身,可視化結(jié)果移動方向與手勢拖拽移動方向相同更容易理解。有三名參與者認為手勢識別不夠準確,導(dǎo)致其在一些任務(wù)中有時會需要進行重復(fù)操作。有一名參與者指出了手勢交互容易產(chǎn)生疲勞的問題。
此外,還有一名用戶指出系統(tǒng)光照方面的不足,當斜著看數(shù)據(jù)塊時亮度會變暗,容易誤判其已隱藏。
通過實驗結(jié)果可以看出:在沉浸式環(huán)境下,由于多視圖交互方式的多樣性,增加了部分學(xué)習(xí)成本,使得多視圖管理方法的學(xué)習(xí)效率略低于列表管理方法的學(xué)習(xí)效率,但在實驗過程中,多視圖呈現(xiàn)出明顯的交互效率優(yōu)勢。列表管理方法需要用戶在對數(shù)據(jù)和條目映射有一定理解后,才能達到與多視圖方法相當?shù)慕换バ省?/p>
此外,在對數(shù)據(jù)管理實驗時間統(tǒng)計中,值得注意的地方是桌面列表和沉浸式列表兩種方法在完成任務(wù)2.1 時花費的時間都是多于任務(wù)2.2的,而沉浸式多視圖則是在2.2任務(wù)中花費的時間更多。在參考了實驗數(shù)據(jù)后發(fā)現(xiàn)了其原因主要是,在進行精確管理和批量管理任務(wù)時,列表方法都是使用交互方式相近的鼠標點擊條目交互方式;而多視圖需要手勢、手勢+凝視等多種交互方式來回切換。用戶在進行連續(xù)相同的交互時會逐漸提高效率,因此列表方法花費時長更多地受任務(wù)數(shù)量的影響,而任務(wù)2.1中需要進行更多的選取和隱藏交互任務(wù),故花費時間更多;多視圖方法在任務(wù)2.1 中以連續(xù)的精確選取交互為主,在任務(wù)2.2 中,需要精確選取、批量選取、視圖切換等更多樣的交互來協(xié)同完成,對交互效率的影響較大。
總體來說,多視圖結(jié)合交互的方法能有效解決沉浸式數(shù)據(jù)塊管理問題,并且其在沉浸式環(huán)境下的交互效率是優(yōu)于二維列表方法的。
本文定義了用戶數(shù)據(jù)管理任務(wù)的三維數(shù)據(jù)管理視圖,并提出了一個應(yīng)用于沉浸式環(huán)境下流場多塊數(shù)據(jù)管理的多視圖交互方法。該方法使用了三維數(shù)據(jù)管理視圖和主視圖結(jié)合交互的方式,共同完成沉浸式環(huán)境下的多塊流場數(shù)據(jù)管理交互任務(wù)。最后以HTC Vive+Leap Motion 構(gòu)建沉浸式流場可視化系統(tǒng),定義了兩項沉浸式流場中的交互任務(wù),從訓(xùn)練時長、完成時間、用戶反饋三方面對比了傳統(tǒng)列表管理方法和多視圖管理方法的差異。實驗表明,基于多視圖的交互方法在沉浸式環(huán)境下表現(xiàn)更為優(yōu)異,擁有更高的交互自然性和交互效率。
未來的研究包括:(1)探索沉浸式環(huán)境下更多的多視圖應(yīng)用方式。(2)研究多視圖交互對數(shù)據(jù)分析過程的影響。(3)研究多人協(xié)同分析時的多視圖應(yīng)用。