• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于流體仿真技術的互動數(shù)字臺球系統(tǒng)設計與實現(xiàn)

      2014-07-19 17:38:59陳慕羿王洪源
      現(xiàn)代電子技術 2014年10期

      陳慕羿 王洪源

      摘 要: 流體仿真是虛擬現(xiàn)實、軍事仿真等領域的熱點和難點。目前基于流體力學的方法計算量巨大,普通計算機難以滿足實時性要求,而基于渲染的方法只能產(chǎn)生視覺效果,無法實現(xiàn)流體與物體的互動。為兼顧實時性與視覺真實性,所設計的互動數(shù)字臺球系統(tǒng)利用改進的LBM方法對流體進行模擬。將虛擬水面投影到鋪有專用幕布的臺球桌上,并利用數(shù)字攝像機捕捉臺球的運動軌跡。作為對水面的擾動,通過流體模擬,實現(xiàn)了真實臺球與虛擬水面的交互,并可達到35幀以上的幀率。設計新穎合理,有很好的用戶體驗和娛樂效果。

      關鍵詞: 流體仿真; Navier?Stokes方程; LBM; OpenCV

      中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2014)10?0020?04

      Abstract: Fluid simulation technology is a hot spot with many difficulties in virtual reality, military simulation, etc. The current simulation methods based on fluid mechanics need complex computation, which make real?time application impossible. In the meantime, the methods based on rendering can achieve visual effect only, but can not realize interaction of fluid with objects. To achieve both real?time performance and visual reality, the interactive digital billiard system simulates fluid by an improved lattice Boltzmann method (LBM). First, the system projects virtual water surface onto a pool table attached with special projection screen, and then captures the movement of the billiards by a digital camera, and the disturbance on the water surface is implemented by a well developed fluid simulation method. The requirements of real?time, interaction and good visual quality are all met. The frame rate could reach more than 35. The system is well designed, which could bring much amusement to the users.

      Keywords: fluid simulation; Navier?Stokes equation; lattice Boltzmann method; OpenCV;

      0 引 言

      流體仿真技術以流體力學方程為基本算法,利用計算機技術模擬流體的運動狀態(tài),是虛擬現(xiàn)實技術的熱點之一,在影視特效、動畫游戲、虛擬仿真等方面都有著十分重要的應用。

      目前的流體技術主要包含兩大方向,一是基于紋理的渲染技術,利用視覺欺騙實現(xiàn)水波蕩漾的效果,這種方式無法實現(xiàn)實時交互。二是建立在流體力學的基礎上[1],基于物理的仿真,但由于求解不可壓縮流體的Navier?Stokes方程所需的計算量過大,無法滿足實時性的要求。LBM(Lattice Boltzmann Method)方法[2?6]是20世紀80年代中期建立和發(fā)展起來的一種流場模擬方法,目前,除了在一般的流體力學問題中得到了成功的應用外,LBM方法在多相(元)流、化學反應擴散、滲流、粒子懸浮流、磁流體力學等相關領域也得到了比較成功的應用。本文所設計的互動數(shù)字臺球系統(tǒng)實現(xiàn)了真實臺球與虛擬水面的交互,為在實時性、互動和視覺真實性的條件下實現(xiàn)流體仿真,本文研究并實現(xiàn)了改進的LBM模型、并充分利用運行于GPU之上的著色器加強渲染效果,滿足了設計需求,并達到了很好的視覺效果,目前系統(tǒng)已投入實際使用。

      1 互動數(shù)字臺球總體設計方案

      系統(tǒng)首先利用數(shù)字攝像機捕捉臺球的運動軌跡,然后采用實時流體仿真技術,模擬臺球與水面互動時產(chǎn)生的波紋效果,再通過投影設備將渲染得到的輸出投影到鋪有專用幕布的臺球桌上。系統(tǒng)組成如圖1所示。

      1.1 硬件構成

      (1) 輸入設備:互動數(shù)字臺球的輸入設備由數(shù)字攝像機、專用幕布和臺球組成。臺球是系統(tǒng)的輸入部分,是流體運動的觸發(fā)裝置,當臺球運動時,流體根據(jù)臺球的運動做出相應的響應,在臺球的運動軌跡上形成波紋振蕩的效果。鋪設在臺球桌面上的專用幕布用于提高臺球定位的精度,也使投影圖像更加清晰明亮。數(shù)字攝像機置于臺球桌的正上方,用于監(jiān)控臺球的運動狀態(tài),并將采集到的視頻傳送到處理系統(tǒng)中。

      (2) 數(shù)據(jù)處理設備:采用計算機作為處理設備,利用軟件系統(tǒng)進行流體運動的求解及渲染。計算機根據(jù)接收到的視頻流,利用動態(tài)圖像分析方法及數(shù)字圖像處理算法,解算出每幀中各臺球的位置,速度等信息,作為流體仿真系統(tǒng)的輸入。然后流體仿真系統(tǒng)根據(jù)輸入的臺球運動信息,利用改進的LBM(Lattice Boltzmann Method)對流體進行模擬,控制水面產(chǎn)生波紋,并進行渲染。

      (3) 輸出設備:投影機,位于臺球桌的正上方,將渲染圖像同步投影到臺球桌上,以實現(xiàn)水面與臺球運動同步的效果。

      1.2 軟件框架設計

      軟件系統(tǒng)主要由以下模塊構成:

      (1) 臺球定位模塊:采用計算機視覺的方法,利用OpenCV視覺庫[7],根據(jù)攝像機的視頻輸入流,計算出每幀的臺球位置及運動狀態(tài)信息[8?10];

      (2) 流體仿真模塊:構造一個用于計算和渲染的網(wǎng)格(本系統(tǒng)采用360×320的網(wǎng)格),以臺球位置作為輸入,利用LBM方法求解流體方程,求出每幀中每個網(wǎng)格點所對應的高度值;

      (3) 渲染模塊:該模塊包括由CPU執(zhí)行的部分,采用OpenGL圖形庫編寫,以及由GPU執(zhí)行的部分(著色器),采用Cg語言編寫。該模塊對所計算出的三維水面網(wǎng)格進行渲染,并實現(xiàn)光照等效果;

      (4) 聲音模塊:實現(xiàn)音效部分;

      (5) 輸入處理部分:該部分可接收鼠標輸入,并根據(jù)其位置和運動產(chǎn)生相應的水波互動,主要用于調(diào)試和測試。

      由于現(xiàn)實中與虛擬現(xiàn)實相關的交互應用大多數(shù)需要滿足實時性,因此系統(tǒng)的運行速度是一個極為關鍵的參數(shù)。由于篇幅有限,后文將主要介紹流體仿真模塊的實現(xiàn)。

      2 流體仿真技術

      2.1 不可壓縮流體的Navier?Stokes方程

      4 結 論

      本系統(tǒng)在intel雙核2.53 GHz E5300,內(nèi)存1 GB,顯存512 MB的硬件條件下,可達到高于35 f/s的幀率,并保證了低延時,滿足了成本、實時性、真實性的要求。設計新穎合理,有很好的用戶體驗和娛樂功能,現(xiàn)已投入使用。

      參考文獻

      [1] STAM J. Stable fluids[C]// Proceedings of 1999 Computer Graphics. Addison Wesley Longman: Siggraph, 1999: 121?128.

      [2] RINALDI P, DARI E, V?NERE M, et al. Lattice?Boltzmann Navier?Stokes simulation on graphic processing units [J]. Asian Journal of Applied Science, 2011, 4: 762?770.

      [3] BORONI G, DOTTORI J, DALPONTE D, et al. An improved immersed?Boundary algorithm for fluid?solid interaction in lattice? Boltzmann simulations [J]. Latin American Applied Research, 2013, 43 (2): 181?188.

      [4] GARC?A B C, BORONI G, V?NERE M, et al. Realtime interactive animations of liquid surfaces with lattice Boltzmann engines [J]. Australian Journal of Basic and Applied Sciences, 2010, 4: 3730?3740.

      [5] CHEN S, DOOLEN G D. Lattice Boltzmann method for fluid flows [J]. Annual Reviews Fluid Mechanics, 1998, 30: 329?364.

      [6] ZHOU J G. Lattice Boltzmann methods for shallow water flows [M]. Berlin: Springer?Verlag, 2004.

      [7] Anon. OpenCV [M/OL]. [2013?12?31]. http://www.opencv.org.

      [8] 李振偉,陳翀,趙有.基于OpenCV的運動目標跟蹤及其實現(xiàn)[J].現(xiàn)代電子技術,2008,31(20):128?131.

      [9] 馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1998.

      (3) 輸出設備:投影機,位于臺球桌的正上方,將渲染圖像同步投影到臺球桌上,以實現(xiàn)水面與臺球運動同步的效果。

      1.2 軟件框架設計

      軟件系統(tǒng)主要由以下模塊構成:

      (1) 臺球定位模塊:采用計算機視覺的方法,利用OpenCV視覺庫[7],根據(jù)攝像機的視頻輸入流,計算出每幀的臺球位置及運動狀態(tài)信息[8?10];

      (2) 流體仿真模塊:構造一個用于計算和渲染的網(wǎng)格(本系統(tǒng)采用360×320的網(wǎng)格),以臺球位置作為輸入,利用LBM方法求解流體方程,求出每幀中每個網(wǎng)格點所對應的高度值;

      (3) 渲染模塊:該模塊包括由CPU執(zhí)行的部分,采用OpenGL圖形庫編寫,以及由GPU執(zhí)行的部分(著色器),采用Cg語言編寫。該模塊對所計算出的三維水面網(wǎng)格進行渲染,并實現(xiàn)光照等效果;

      (4) 聲音模塊:實現(xiàn)音效部分;

      (5) 輸入處理部分:該部分可接收鼠標輸入,并根據(jù)其位置和運動產(chǎn)生相應的水波互動,主要用于調(diào)試和測試。

      由于現(xiàn)實中與虛擬現(xiàn)實相關的交互應用大多數(shù)需要滿足實時性,因此系統(tǒng)的運行速度是一個極為關鍵的參數(shù)。由于篇幅有限,后文將主要介紹流體仿真模塊的實現(xiàn)。

      2 流體仿真技術

      2.1 不可壓縮流體的Navier?Stokes方程

      4 結 論

      本系統(tǒng)在intel雙核2.53 GHz E5300,內(nèi)存1 GB,顯存512 MB的硬件條件下,可達到高于35 f/s的幀率,并保證了低延時,滿足了成本、實時性、真實性的要求。設計新穎合理,有很好的用戶體驗和娛樂功能,現(xiàn)已投入使用。

      參考文獻

      [1] STAM J. Stable fluids[C]// Proceedings of 1999 Computer Graphics. Addison Wesley Longman: Siggraph, 1999: 121?128.

      [2] RINALDI P, DARI E, V?NERE M, et al. Lattice?Boltzmann Navier?Stokes simulation on graphic processing units [J]. Asian Journal of Applied Science, 2011, 4: 762?770.

      [3] BORONI G, DOTTORI J, DALPONTE D, et al. An improved immersed?Boundary algorithm for fluid?solid interaction in lattice? Boltzmann simulations [J]. Latin American Applied Research, 2013, 43 (2): 181?188.

      [4] GARC?A B C, BORONI G, V?NERE M, et al. Realtime interactive animations of liquid surfaces with lattice Boltzmann engines [J]. Australian Journal of Basic and Applied Sciences, 2010, 4: 3730?3740.

      [5] CHEN S, DOOLEN G D. Lattice Boltzmann method for fluid flows [J]. Annual Reviews Fluid Mechanics, 1998, 30: 329?364.

      [6] ZHOU J G. Lattice Boltzmann methods for shallow water flows [M]. Berlin: Springer?Verlag, 2004.

      [7] Anon. OpenCV [M/OL]. [2013?12?31]. http://www.opencv.org.

      [8] 李振偉,陳翀,趙有.基于OpenCV的運動目標跟蹤及其實現(xiàn)[J].現(xiàn)代電子技術,2008,31(20):128?131.

      [9] 馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1998.

      (3) 輸出設備:投影機,位于臺球桌的正上方,將渲染圖像同步投影到臺球桌上,以實現(xiàn)水面與臺球運動同步的效果。

      1.2 軟件框架設計

      軟件系統(tǒng)主要由以下模塊構成:

      (1) 臺球定位模塊:采用計算機視覺的方法,利用OpenCV視覺庫[7],根據(jù)攝像機的視頻輸入流,計算出每幀的臺球位置及運動狀態(tài)信息[8?10];

      (2) 流體仿真模塊:構造一個用于計算和渲染的網(wǎng)格(本系統(tǒng)采用360×320的網(wǎng)格),以臺球位置作為輸入,利用LBM方法求解流體方程,求出每幀中每個網(wǎng)格點所對應的高度值;

      (3) 渲染模塊:該模塊包括由CPU執(zhí)行的部分,采用OpenGL圖形庫編寫,以及由GPU執(zhí)行的部分(著色器),采用Cg語言編寫。該模塊對所計算出的三維水面網(wǎng)格進行渲染,并實現(xiàn)光照等效果;

      (4) 聲音模塊:實現(xiàn)音效部分;

      (5) 輸入處理部分:該部分可接收鼠標輸入,并根據(jù)其位置和運動產(chǎn)生相應的水波互動,主要用于調(diào)試和測試。

      由于現(xiàn)實中與虛擬現(xiàn)實相關的交互應用大多數(shù)需要滿足實時性,因此系統(tǒng)的運行速度是一個極為關鍵的參數(shù)。由于篇幅有限,后文將主要介紹流體仿真模塊的實現(xiàn)。

      2 流體仿真技術

      2.1 不可壓縮流體的Navier?Stokes方程

      4 結 論

      本系統(tǒng)在intel雙核2.53 GHz E5300,內(nèi)存1 GB,顯存512 MB的硬件條件下,可達到高于35 f/s的幀率,并保證了低延時,滿足了成本、實時性、真實性的要求。設計新穎合理,有很好的用戶體驗和娛樂功能,現(xiàn)已投入使用。

      參考文獻

      [1] STAM J. Stable fluids[C]// Proceedings of 1999 Computer Graphics. Addison Wesley Longman: Siggraph, 1999: 121?128.

      [2] RINALDI P, DARI E, V?NERE M, et al. Lattice?Boltzmann Navier?Stokes simulation on graphic processing units [J]. Asian Journal of Applied Science, 2011, 4: 762?770.

      [3] BORONI G, DOTTORI J, DALPONTE D, et al. An improved immersed?Boundary algorithm for fluid?solid interaction in lattice? Boltzmann simulations [J]. Latin American Applied Research, 2013, 43 (2): 181?188.

      [4] GARC?A B C, BORONI G, V?NERE M, et al. Realtime interactive animations of liquid surfaces with lattice Boltzmann engines [J]. Australian Journal of Basic and Applied Sciences, 2010, 4: 3730?3740.

      [5] CHEN S, DOOLEN G D. Lattice Boltzmann method for fluid flows [J]. Annual Reviews Fluid Mechanics, 1998, 30: 329?364.

      [6] ZHOU J G. Lattice Boltzmann methods for shallow water flows [M]. Berlin: Springer?Verlag, 2004.

      [7] Anon. OpenCV [M/OL]. [2013?12?31]. http://www.opencv.org.

      [8] 李振偉,陳翀,趙有.基于OpenCV的運動目標跟蹤及其實現(xiàn)[J].現(xiàn)代電子技術,2008,31(20):128?131.

      [9] 馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1998.

      祁东县| 淮滨县| 莱州市| 龙州县| 乌恰县| 九江市| 孟州市| 陆良县| 新蔡县| 綦江县| 城固县| 广水市| 大名县| 淮阳县| 略阳县| 繁峙县| 永靖县| 齐齐哈尔市| 广宗县| 鄢陵县| 辽中县| 朝阳市| 诸暨市| 卢湾区| 读书| 积石山| 察雅县| 陆河县| 壤塘县| 綦江县| 宁海县| 扎鲁特旗| 大港区| 西吉县| 和平区| 黎平县| 禹城市| 虞城县| 驻马店市| 黄平县| 西贡区|