第四章 結果與討論
第三節 AR 可視化技術建立
一、VTK 可視化結果
在初步測試階段,本研究採用VTK 進行 AR 及流場可視化的整合 呈現。其步驟為:(1)先透過 ArUco 分析影像,取得目前相機相對於建 築的位置;(2)再將相機位姿(Pose)分配給 VTK 內的相機,分析所需載 入的資料後進行串流;(3)最後使用 VTK 內建函式繪製壓力等值面、流 線等流場常見的觀察模式。
圖4-27 為利用 VTK 進行建築表面壓力,我們從影片可以看出利用 條碼定位後相機追蹤的效果相當不錯,AR 呈現的圖像投射在模型上,
在模型或鏡頭移動後也都追蹤得很穩定。圖4-28 為以 VTK 做切面壓力 等值圖之AR 可視化結果,與前面的結果相同,切面顯示的可以有效投 射到實體模型上,但切面等值圖影像會有些不穩定,可能是目前串流處 理上尚未優化的原因。
同時檢視流線VR 可視化結果(圖 4-29)可以發現,周圍流線能夠被 顯示出來,但發現非常靠近建築物附近的流線會有穿透建築物的現象。
判斷可能是因為流場資料庫,在建築內部空間風速被不合理的內插出來,
使得流線位置定位不正確。不過本階段測試主要是測試AR 模型定位,
故暫不處理VTK 資料格式問題,後續會在 FLTK+OpenGL 時解決此問 題。
另在速度向量AR 可視化部分(圖 4-30),本段輸入資料為暫態,可 以看出在尾流以及建築兩側速度向量隨時間在變動,但是幅度很小。由 於外圍風速為均勻且較大,速度箭頭亦較密集,使得流場觀測並不容易。
後續可視化選單終將不採用全場的速度量,僅在切面中提供速度向量選 項。
圖4-27 以 VTK 做建築表面壓力 AR 可視化 資料來源:本研究製作
圖4-28 以 VTK 做切面壓力等值圖之 AR 可視化 資料來源:本研究製作
圖4-29 以 VTK 做建築物周圍之流線 AR 可視化 資料來源:本研究製作
圖4-30 以 VTK 做建築周圍速度向量 AR 可視化 資料來源:本研究製作
二、FLTK+OpenGL 可視化結果
除了VTK 測試外,本研究主要針對 FLTK+OpenGL 的 AR 可視化 方案架構AR 可視化技術。FLTK 部分經過測試,目前也能順利於建築 表面上繪製平均壓力資料(圖 4-31),在空間切面上的等值圖亦可以同樣 的方式處理,後續測試及建構之工作有:
(1) 在該框架裡實現底層 Octree;
(2) 流場資料串流以及最佳化;
(3) 渦度等值面 AR 可視化功能;
(4) Q 準則等值面 AR 可視化功能;
(5) 流線 AR 可視化功能。
圖4-31 以 FLTK 繪製建築壓力表面及其 GUI 資料來源:本研究製作
本研究為使用者提供了簡易的顯示結果切換功能與細節調整,在畫 面中即時渲染出疊加在鏡頭所照到真實建築模型上的壓力、流線、等值
面等資料。以流線為例,其選單如圖4-31 所示,先選擇動態流線(dynamic streamline)或穩態流線(steady streamline),接著決定流線釋放起始範圍、
條數等資訊。表面壓力與等值面設定界面亦採用類似方式進行設定,各 項功能對應的詳細設定可參考圖4-32 所示。
圖4-32 流線之功能選單示意圖 資料來源:本研究製作
圖4-33 流線之功能對應參數示意圖
資料來源:本研究製作
(1) 表面及切面等值圖
建築表面風壓以及空間切面等值圖的部分,建築表面風壓透過將建 築3D 位置傳入片元著色器(Fragment Shader),並在每個片元繪製時,
透過在載入之八元樹區塊中即時採樣壓力資料的方式,來繪製表面風壓 資料。同樣的方法也應用於切面等值圖部分,採用三線性插值(Trilinear Interpolation)方法,主要是用於在一個 3D 的立方體中,通過給定頂點 的數值然後計算立方體中任意其他點的數值的線性插值。圖 4-34 為鏡 頭影像與風壓、風速資料的片元整合結果,可以看出表面壓力影像與實 體模型位置定位呈現相當吻合,後續將進一步測試態資料載入時的順暢 度。
圖4-34 建築表面壓壓力與切面風速 AR 可視化結果 資料來源:本研究拍攝
(2) 流線
流線的部分,本系統提供了基本的靜態流線模擬和循環的流線動畫 繪製,在計算著色器中(Compute Shader)分散計算每條流線在八元樹流 場區塊中透過Runge Kutta 積分出的結果。流線模擬的一個目標是從給 定的力計算加速度,速度和位移。它通過對運動方程進行數值積分來實
現。計算運動方程的最簡單的數值積分方法是歐拉方法。而Runge-Kutta 方法是一種數值積分技術,可以更好地近似運動方程。與以一定間隔計 算一個斜率的歐拉方法不同,Runge-Kutta 會計算四個不同的斜率並將 其用作加權平均值。
本研究另外也提供了可調整流線起始點形狀、位置、大小、積分步 長的選項,如圖4-35 所示,流線可以清楚的描繪在建築周圍。
在採用非結構系統匯入流場資料庫以建立可視化AR 影像時,將流 場資訊內插至 Octree 區塊因無法明確定義出建築表面及內部格點所在 區域,會造成建築內部流場風速非零的狀況,使得流線在積分後,其路 徑發生穿過模型的現象。這部分所提出的解決方式為,在預處理時就先 將建築內部的風向,依據垂直表面的速度給與反向值,以減少穿模的可 能性。此外,後續將加入流線粗細、箭頭等選項,以增進流線的觀察性。
圖4-35 流線 AR 可視化結果 資料來源:本研究拍攝
(3) 渦度等值面
渦度(Vorticity)等值面是觀察鈍形體周圍渦散現象相當好的指標,
此部分採用幾何著色器(Geometry Shader)搭配行進立方法(Marching
Cube)來即時繪製所指定的渦度等值面。演算法的基本思想是逐個處理 資料場中的立方體(element),分離出與等值面相交的立方體,採用 插值計算出等值面與立方體邊的交點。根據立方體每一頂點與等值面的 相對位置,將等值面與立方體邊的交點按一定方式連接生成等值面,作 為等值面在該立方體內的一個逼近值來表示。
其中,Marching Cubes 的基本假設為沿六面體邊的數據場呈連續性 變化。如果一條邊的兩個頂點分別大於或小於等值面的值,則在該條邊 上有且僅有一點是這條邊與等值面的交點。直觀地說,就是用許多小正 方體去對空間進行切分,然後用小正方體內部的平面來近似表示當前的 等值面。小正方體的數量越多,逼近的效果越好,隨之帶來的是計算的 代價。
此外,加入了豐式著色法(Phong Shading)來強化使用者的觀看體驗。
圖4-36 為採用渦度為 800 時的等值面,可以看出呈現的效果相當不錯。
與流線計算時面對同樣的問題,透過 Octree 區塊所取樣出的渦度值,
可能會受建築內部的內插值影響,而造成建築周邊渦度值不準確的問題。
這部分後續考慮在匯入資料庫時,直接將渦度值作為參數輸入,以供使 用者切換使用以觀測渦流特性。
圖4-36 渦度等值面可視化結果
資料來源:本研究拍攝
三、程式運作流程 (1) 前處理流程
前處理工作主要透過輸入流場檔案及建築Obj 檔案,在重新採樣為 八元樹後輸出至資料庫,其流程如圖4-37。
圖4-37 前處理運作流程 資料來源:本研究製作
(2) 伺服端流程
伺服端會讀取資料庫中的流場資料,並透過網路接收請求來回傳對 應檔案的區塊資料給客戶端,其流程如圖4-38。
圖4-38 伺服端運作流程 資料來源:本研究製作
(3) AR 校正流程
AR 校正可分為鏡頭校正及標記地圖掃描。在鏡頭校正部分,透過 掃描固定排列的標記板來確定相機的外參。另在標記地圖掃描部分,透 過掃描自訂的標記分布來輸出參考用的標記地圖,其相關流程如見圖 4-39。
流場原檔
虛擬建築 重新取樣流場
過濾位於建築
內的取樣點 重新採樣流場 八元樹資料切 割輸出
八元樹資料 八元樹結構
八元樹結構
設定IP 等待客戶端連線 接收客戶端請求 讀取對應區塊 八元樹資料
區塊資料 傳送給客戶端
圖4-39 AR 校正流程
圖4-41 系統運作示意圖 資料來源:本研究製作
客戶端設備也就是移動設備如手機、平板,在安裝客戶端 APP 軟 體後,利用其相機鏡頭進行模型定位追蹤,在透過選單設定後,向伺服 主機提供需求並接收對應之影像資訊,本研究先以 Windows 系統之筆 記型電腦做為測試設備。以下將依序針對前處理程式、伺服端程式、測 試設備規格、功能選單等進行概要說明。
(1) 前處理程式
為了將原流場資料切割成方便串流使用的八元樹型式,本系統提供 了專用的前處理程式,介面如圖4-38。使用流程如下:
1.將原流場資料按照(X Y Z Pressure U V W)的文字格式以空格隔 開。
2.輸入前處理程式,指定輸出資料夾後等待處理完畢即可。
3.分配給伺服端準備串流。其中前處理的過程也能順帶縮減原檔的 大小,處理前後的大小結果如表4-2 所示。
客戶端設備
• Windows系統
• Android系統
• IOS系統
• 顯示AR結果 伺服端主設備
• 筆記型電腦
• 輸入並轉換CFD流 場資料
• WiFi Hot Spot
接收影像資訊
• 提出顯示需求
• 提供定位資訊
圖4-42 前處理程式介面 資料來源:本研究製作
表4-2 資料庫大小比較 原檔大小 重 新 採 樣
檔案大小
八 元 樹 檔 案大小 平 均 資 料
(1 筆) 675MB 182MB 188MB 瞬 時 資 料
(100 筆) 57.5GB 39.5GB 29.3GB 資料來源:本研究製作
(2) 伺服端程式
本系統在伺服器方面提供了簡便的設定及使用方式,透過 Boost 提供之網路連線函式庫ASIO 設計。只需要將前處理程式處理完之八元 樹檔案放置於指定檔案位子,並指定伺服器的IP 位置即可使用,其 IP 位址須與伺服器所配置之區網IP 相同(如圖 4-39)。
圖4-43 伺服端介面
資料來源:本研究製作
(3) 測試設備規格
測試資料串流時,本系統採用桌機做為伺服端及筆電做為客戶端的 配置,兩者皆外接一張支援IEEE 802.11ac 的 USB 無線網路卡,詳細規
測試資料串流時,本系統採用桌機做為伺服端及筆電做為客戶端的 配置,兩者皆外接一張支援IEEE 802.11ac 的 USB 無線網路卡,詳細規