科學計算可視化(VISC)
科學計算可視化(VISC,Visualization in Scientific Computing)也稱為科學可視化(Scientific Visualization)或簡稱為可視化(Visualization),是計算機圖形學的一個重要研究方向,是圖形學的一個新的研究領域,它涉及計算機圖形學、圖像處理、計算機輔助設計、計算機視覺及人機互動等。科學計算可視化的實質是運用計算機圖形學和圖像處理技術,將科學計算過程中產生的數據或者數據採集獲得的數據(如有限元分析數據等)轉換為圖像,在螢幕上顯示出來並進行互動處理,它將符號變為幾何形體,使研究者可以觀察他們的仿真或計算結果。可視化提供了一種觀察不可見事物的方法 。
流場可視化的研究內容
流場可視化的研究內容主要有以下幾個方面:
(1)幾何體與格線的顯示及評估。計算幾何體的定義和格線劃分的好壞直接影響到計算的收斂性和精度,流場可視化要求能夠顯示格線生成的結果,並提供互動式格線生成和質量檢測技術。
(2)計算過程的顯示與流體結構辨識。 為加深對流場的研究,有必要跟蹤顯示流場的計算過程,這樣就可以方便地檢驗算法的正誤和直觀感受結果的生成。流體運動中會形成多種結構,如激波和渦,流場可視化要提供對此類結構的辨識。
(3)結果顯示與分析。結果顯示就是繪製流場和物理量的分布狀況。流場中涉及到的物理量有速度、溫度、壓力、密度、渦強和應力等,流場可視化要支持這些物理量的三維顯示。結果分析是指通過提供互動技術(如視角變換)對流場進行觀測和研究,並要求提供儘可能實時地操作環境。
(4)數據比較。數據比較是指通過提供直接的可視化比較方法促進不同流場模擬或流場模擬與實驗結果之間的快速比較 。
流場可視化的研究模型
數據流模型
關於流場可視化的研究模型,目前廣泛採用的是面向數據的數據流模型(Data FlowModel),如圖1所示。在數據流模型中,濾波是從原始數據中提取感興趣的數據,映射是構造數據的幾何表示,繪製則是將數據的幾何表示轉換成可被顯示的圖像信息。此模型很容易理解和利用,但它沒有考慮可視化技術同套用領域之間的關係。
模型中心法
由於數據流模型沒有考慮可視化技術同套用領域之間的關係,為此,Brodile 又提出了可視化過程的模型中心法(Model-Centered Approach),如圖2所示。在模型中心法中,建模是指從採樣數據構造經驗模型,此模型要與套用領域相一致,以便於數據的正確插值等處理,觀察是根據套用領域的不同,選擇合適的技術顯示數據,如用直接體繪製顯示 CT 數據,用流線顯示流場速度場等。同數據流模型相比,模型中心法的建模相當於數據流模型中濾波的一部分,觀察對應於餘下的部分。模型中心法考慮到了不同套用領域的不同需求,更符合現實的需要 。
流場可視化工作
流體的運動,是一個非常複雜的過程。為了了解流體的運動規律,通常在一定的假設條件下,建立某種數學模型,使用數學表達式去描述其可能的運動規律。然而,面對求解數學表達式得到的大量數據,需要採用一種直觀的方式去展示以供分析,而科學計算可視化正是將數據信息轉換成圖像、圖形信息的重要手段。
流場可視化工作一般包括三部分:數據預處理,數據轉化,圖形圖像顯示。其中數據轉化又包括兩步:映射(數值數據轉化成幾何數據)、繪製(幾何數據轉化成圖像數據)。
數據預處理
計算數據來自各方面,種類繁多,格式各異,數量巨大,因此必須把數據規範化,而且要有統一的輸入格式。由於現代計算的輸出結果大多比較龐大,因此數據大多是以某種方式壓縮的,這就要求數據預處理模組能反壓縮數據。
映射
此模組將數值數據轉換成幾何數據,是可視化技術的核心。因為可視化系統處理的數據類型因套用領域不同而不同,因此對不同類型的數據應採用不同的可視化技術,如標量場可視化、矢量場可視化、張量場可視化等。事實上,在同一數據類型和確定維數下,可視化技術可提供多種表現方法,如對三維標量數據可以採用等值面表示等,又如三維矢量數據可採用三維箭頭、三維流線表示等。
繪製
此模組將幾何數據轉化成圖像數據。計算機圖形學日趨成熟,它為研究人員提供了豐富的繪製算法,包括掃描轉換、消隱、光照、紋理映射和反走樣技術,它雖然不是可視化技術的核心,但在一些新的可視化研究方面,繪製技術將成為研究的關鍵技術,如體繪製技術。
顯示
顯示模組的功能是將繪製模組生成的圖形數據按用戶指定的要求輸出。從這方面來說,它有點類似於圖形用戶界面(GUI)技術,為軟體提供各種設備驅動程式,用戶的反饋信息是通過顯示模組的驅動程式送到其它功能模組,以實現人機互動功能,例如最簡單的對展示結果進行旋轉、縮放等操作 。
流場可視化技術
直接可視化
直接可視化是指幾乎不經過預處理而直接運用如圖示法或顏色編碼等方法來可視化整個數據場的技術,是一種全局可視化技術。
(1)常用的圖示法有點圖示法、線圖示法和面圖示法等。其中的線圖示法通常被認為是基於幾何的可視化方法,而面圖示法主要是套用於三維的情況。套用較多的點圖示法是箭頭表示法,它是最簡單的顯示矢量場數據的方法,對於每一個採樣點,用具有大小和方向的箭頭映射矢量的大小和方向。點圖示法可以較好的反應出矢量的方向和大小信息,並且容易實現,但同時也存在很多缺陷,比如對於採樣密集的數據場,將所有矢量逐點映射為點圖示常常會導致所生成的圖像雜亂無章,而顯示太少又不能準確描繪流場的變化情況。
(2)顏色編碼法在流場的可視化中起著非常重要的作用。對於標量場數據,比如溫度、壓力、密度等,可以通過在標量值和顏色之間建立一一映射的關係,由顏色值的變化顯示標量值的變化。而對於矢量場數據,不僅有大小還有方向,目前一般是採用將矢量值轉化為標量,如轉化為矢量的大小、矢量和另一個方向上矢量的點積等,將這些標量值映射為顏色值,主要有動態體繪製技術、粒子方法等。動態體繪製技術可以將可視化的結果合成在一副圖像中,同時可以生成具有較高真實感效果的圖形。該技術存在的問題是,對場中的標量進行動態體繪製常常使人產生錯覺,即使沒有顯示矢量也可能產生具有方向的效果。粒子方法可用於模糊對象的造型和繪製,能表示出不規則的複雜幾何形狀,如可將速度矢量映射為粒子運動的動態性質,而將其它物理量映射為粒子的其它性質,用粒子來顯示流場,靈活、方便,但有可能丟失流場的連續性。
幾何可視化
幾何可視化是指從流場數據中抽取諸如流線、跡線、條紋線、等時線等幾何體來用於可視化的顯示。
(1)流線是同一時刻,瞬時速度與流場相切的所有質點組成的曲線。它給出該時刻不同流體質點的運動方向。目前,流線的構造方法主要有:數值積分法(生長法)和雙流函式法(Dual Stream Functions)。
(2)跡線是一特定流體質點隨時間改變位置而形成的軌跡。
(3)條紋線是指在某一時間間隔內相繼經過空間一固定點的流體質點依次串連起來而形成的曲線,可由跡線方程間接求解。一般情況下,流線、跡線、條紋線是不同的,但在定常流中,它們是互相重合的。
(4)等時線是由一系列相鄰流體質點在不同瞬間所組成的曲線,它可用於觀察流場畸變、收斂、擴散等特性,等時線也可通過跡線方程求解。
與點圖示法相比,矢量線方法可以更好的觀察矢量場,在一定程度上表現出場的連續性,但也存在一定缺陷。可視化質量的好壞,嚴重依賴於初始質點源位置的選取,選的不好或過少常常會漏掉流場中重要的特徵和細節,選的過密,又會造成視覺上的混亂。
基於紋理的可視化
該方法主要套用紋理來顯示流場的方向信息。紋理是顏色按一定方式排列組成的圖案,兼具形狀和顏色兩種屬性。紋理空間在圖像空間進行,具有圖像空間的連續性,可生成具有圖像空間解析度的細緻圖形。基於紋理的可視化可表現出一定的幾何形狀,並且通過顏色的有序排列,表達出了一定的方向信息,它克服了傳統的基於顏色的映射方法無法揭示方向的缺點。可見,基於紋理的映射方法綜合了幾何形狀映射方法和顏色映射方法兩者的長處,又克服了兩者各自存在的缺點。基於紋理的映射方法主要包括點噪聲(Spot Noise)方法和線積分卷積(Line Integral Convolution-LIC)方法以及積分和畫(Integrate and DrawID)方法等。
(1)點噪聲方法是由 VanWijk 於 1991 年提出的,他最早將紋理映射技術引入矢量場可視化,沿矢量方向對點噪聲濾波生成圖像。點噪聲紋理是由隨機分布的、具有一定大小和形狀的二維點疊加所形成的一種隨機紋理,靠改變點的屬性整體或局部地控制紋理的模式,點的大小控制了紋理的粒度。由於點有一定的大小,其大小與矢量值的大小有關,在矢量方向變化很大的區域,該方法很難準確的表達出矢量的方向,比如有旋渦的海洋流場等。
(2)用卷積表示矢量場的方向源於一種運動模糊的思想。欲在一副靜止的圖像上表達出速度的方向,可將某一時刻矢量場的前後幾幀圖像疊加起來,也就是說最終合成的靜止圖像中每一像素點的灰度值不僅與質點所在的當前位置的速度大小有關,同時還與這一時刻前一段時間內同一質點所經過處流場的速度值有關,即沿速度方向用一種擴展函式對輸入紋理進行卷積,得到該點最後的灰度值。
目前,基於紋理生成技術的流場可視化的研究大多集中在採用 LIC 的方法進行矢量映射,其基本思想是矢量場中任意一點處的局部特性是由一卷積核函式沿一條從該點開始向前向後追蹤出的一段流線積分的結果決定的。
LIC 利用濾波器沿流線卷積白噪聲圖像,它很好的可視化了流線的方向性,反映了整個流場的結構。具體地說,LIC 以白噪聲作為輸入紋理,輸出紋理的每個像素值均通過積分卷積得到,首先基於該像素沿矢量正、反方向對稱積分得到流線,將流線上所有像素對應的輸入噪聲值按卷積核參與卷積,結果作為輸出紋理的像素值。
線積分卷積法即使在矢量方向變化很大的區域,也能揭示出矢量的方向,可以較好地表達出矢量場的細節。卷積後的圖像具有像素解析度的連續性,描述數據場的信息非常豐富,但該方法只考慮了沿速度方向那條折線段上的像素點對該點的作用,沒有考慮與速度垂直方向上鄰近的像素點也可能對其紋理值產生影響,因而生成的圖像高頻噪聲較大。
特徵可視化技術
隨著現代科技的發展,人們在方便快捷的獲取所需數據的同時,不得不面對著一個問題:數據的規模越來越大,比如通過計算流體力學(CFD)模擬出的一個流場數據中可能包含數十萬甚至上百萬的物理量,而每個物理量可能還包含有多維的數據。這樣龐大的數據,很難找到一種好的可視化手段將數據中所蘊含的全部信息表現在二維螢幕上,由此產生了流場可視化研究領域的一個研究熱點-特徵可視化 。
流場可視化的發展和國內外的研究現狀
自 90 年代起國外興起了對矢量場和流的可視化問題的廣泛研究,每年 IEEE 可視化會議都有流場可視化的專題,且不斷湧現出許多新的算法。矢量場的可視化是流體動力學計算專家觀察流場結構、揭示流場動態變化規律、及時發現數學模型與計算問題的有效途徑。許多國家的大學、研究所、計算中心和商業公司等都在開展流場可視化的研究。比較有代表性的機構有:美國國家宇航局(NASA)對航空航天模擬的 CFD 數據進行研究;美國國家超級計算機套用中心(NCSA)開發出大氣及流體可視化軟體;美國 Stardent 公司開發出的 AVS (Application Visualization System)和 SGI 公司的 IRIS Exporer 都是很著名的可視化軟體;另外德國柏林的 ZIB 研究所和荷蘭的國家數據與計算機科學研究所也開展了大量的可視化基礎算法和套用研究。國內近年來的研究主要集中在標量場方面,矢量場的研究尚處於起步狀態 。