亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        OpenGL在計(jì)算水力學(xué)后處理中的應(yīng)用

        2012-09-04 10:18:44張?jiān)姁?/span>吳東偉
        山東水利 2012年7期
        關(guān)鍵詞:水力學(xué)圖形化調(diào)用

        王 雷,張?jiān)姁偅瑓菛|偉

        (河海大學(xué),江蘇 南京 210098)

        通常水力學(xué)數(shù)值模擬的結(jié)果是一系列二進(jìn)制數(shù)據(jù)或ASCII數(shù)據(jù)文件,為便于分析水流運(yùn)動狀態(tài)需要把這些數(shù)據(jù)圖形化,這種數(shù)據(jù)可視化軟件稱為后處理軟件。目前常用的后處理軟件是Tecplot和Surfer軟件。他們提供了繪制流速矢量圖的簡單數(shù)據(jù)接口,但這些軟件一次僅能繪制一幅靜態(tài)矢量圖或標(biāo)量圖,若想生成動態(tài)效果,需要事先準(zhǔn)備大量數(shù)據(jù)。并且這些軟件不提供源代碼或通用數(shù)據(jù)接口,所以通常不能與水力學(xué)計(jì)算程序合并編譯。因此,開發(fā)一套較完善的計(jì)算水力學(xué)軟件必須研發(fā)其獨(dú)立的后處理模塊。本課題立足于此,根據(jù)水力學(xué)模型計(jì)算的數(shù)據(jù)結(jié)果,在通過OpenGL構(gòu)建的三維可視化虛擬場景中,利用底層圖形開發(fā)方式進(jìn)行洪水流場的可視化模擬分析研究,在流速變化較大區(qū)域和需要重點(diǎn)觀測區(qū)域提取斷面,分析斷面和洪水淹沒情況,從而解決洪水流場數(shù)值可視化的問題,彌補(bǔ)目前存在的中間數(shù)據(jù)存儲量大、模擬時(shí)間滯后和采用商業(yè)軟件很難進(jìn)行交互控制等不足。

        1OpenGL概述

        在計(jì)算水力學(xué)中常用的圖形有流速向量圖和流場內(nèi)物理量等值圖,這些圖須具有顯示準(zhǔn)確、便于查看以及美觀等特點(diǎn)。計(jì)算機(jī)高級編程語言VB、VC++和Delphi等均提供了繪圖工具。從理論上講,這些繪圖工具可以滿足流場的圖形化,但對于復(fù)雜的圖形,尤其是三維圖形,繪圖算法往往很復(fù)雜以致于難以實(shí)現(xiàn)。為高效地開發(fā)流場圖形化軟件,須選用圖形應(yīng)用程序接口(Application Programming Interface,簡稱API)。圖形API是由計(jì)算機(jī)軟件或硬件公司開發(fā)的通用繪圖程序,其中包含了構(gòu)造景物模型和實(shí)現(xiàn)人機(jī)交互的圖形操作函數(shù)。程序員只需要調(diào)用API指令集進(jìn)行布景、建模、光照與渲染,無須考慮圖形硬件和圖形效果的算法。

        目前常用的計(jì)算機(jī)圖形API有DirectX和OpenGL。DirectX僅能用于Windows系列的操作系統(tǒng),而OpenGL獨(dú)立于操作系統(tǒng)和硬件環(huán)境,具有良好的可移植性和易用性。OpenGL的圖形操作函數(shù)十分靈活,用戶可從點(diǎn)、線、面等最基本的圖形開始構(gòu)造自己的模型。實(shí)際上,OpenGL可以看做圖形硬件的軟件接口,其中不包含任何窗口函數(shù)。在Windows系統(tǒng)中,OpenGL圖形庫封裝在一個動態(tài)鏈接庫內(nèi)(OPENGL32.DLL),因此,必須使用一個“窗口”系統(tǒng)來實(shí)現(xiàn)OpenGL的圖形顯示和操作。目前VB、VC++以及Delphi等高級編程平臺均可用于OpenGL的“窗口”實(shí)現(xiàn)。

        2 流場圖形化軟件的設(shè)計(jì)和開發(fā)

        2.1 流場圖形化軟件的設(shè)計(jì)

        水力學(xué)計(jì)算程序大多是用FORTRAN或C語言編制,也有BASIC或PASCAL等語言。為保持軟件通用性,須采用多語言混合編程技術(shù)實(shí)現(xiàn)后處理模塊與計(jì)算程序間的數(shù)據(jù)傳遞。

        由于VC++包含了功能強(qiáng)大的窗口開發(fā)框架,并易實(shí)現(xiàn)多語言混合編程,本文采用Visual C++調(diào)用圖形庫OpenGL實(shí)現(xiàn)流場的圖像顯示,使用計(jì)算機(jī)語言混合編程技術(shù)實(shí)現(xiàn)水力學(xué)計(jì)算程序與后處理模塊的數(shù)據(jù)傳遞,并基于VC++實(shí)現(xiàn)友好的人機(jī)交互界面。軟件框架如圖1所示。

        2.2 流場圖形化軟件的開發(fā)

        2.2.1 VC++調(diào)用OpenGL實(shí)現(xiàn)流場可視化

        采用VC++調(diào)用OpenGL實(shí)現(xiàn)流場圖形化,首先須建立兩者之間的應(yīng)用接口,其具體方法是將支持OpenGL的動態(tài)鏈接庫函數(shù)添加到VC++預(yù)編譯頭文件中,然后調(diào)用OpenGL中的模型函數(shù)和功能函數(shù)進(jìn)行建模。OpenGL能夠建立線框模型和表面模型兩種幾何模型。在進(jìn)行建模時(shí)任意復(fù)雜的三維實(shí)體須用一個個小的多邊形面來近似表示。OpenGL的建模實(shí)質(zhì)上是根據(jù)所給定的頂點(diǎn)數(shù)據(jù)和面信息建立起各個多邊形面元,并將其存儲到顯示列表中,在需要時(shí)予以調(diào)用顯示。采用此方法可以方便地對水力學(xué)中起伏不平的河床和自由水面進(jìn)行三維仿真。

        繪制流速矢量圖時(shí),可以采用3條線段組成的箭頭表示矢量;等值圖則可以采用對節(jié)點(diǎn)設(shè)置不同的灰度或顏色來實(shí)現(xiàn)。

        2.2.2 基于VC++的多語言混合編程技術(shù)

        為保證計(jì)算水力學(xué)后處理程序的通用性,應(yīng)實(shí)現(xiàn)VC++與其他編程語言的混合編程。本文以常用的計(jì)算程序編程語言FORTRAN為例進(jìn)行闡述。

        實(shí)現(xiàn)混合編程的方法通常有兩種:一種是動態(tài)鏈接庫法,即將FORTRAN程序在Fortran PowerStation 4.0開發(fā)環(huán)境中做成動態(tài)鏈接庫,然后VC++程序調(diào)用此動態(tài)鏈接庫,通過數(shù)據(jù)列表實(shí)現(xiàn)VC++程序與FORTRAN程序的數(shù)據(jù)傳遞。

        第二種方法是VC++直接調(diào)用FORTRAN可執(zhí)行文件。這種方法簡單,不必對現(xiàn)有的FORTRAN程序進(jìn)行任何改動。實(shí)現(xiàn)方法是在VC++程序塊中使用語句調(diào)用exe可執(zhí)行文件。這種方法實(shí)際上是用存儲介質(zhì)作為兩種語言數(shù)據(jù)交流的載體,代替了第一種方法中的參數(shù)列表。由于多了寫入、讀出環(huán)節(jié),同樣的算例,第二種方法的耗時(shí)比第一種方法多,但是第一種方法要求VC++程序與FORTRAN程序?qū)?yīng)的變量字節(jié)數(shù)應(yīng)相同,否則可能得出不合理的結(jié)果,第二種方法就不必考慮這個問題。在數(shù)據(jù)量較小的情況下,兩種方法都具有較快的計(jì)算速度,均可采用。

        3 以明渠水流為例

        采用數(shù)值方法模擬寬淺河道中丁壩附近的流場。數(shù)值模擬方法為采用有限體積法離散求解基于坐標(biāo)的準(zhǔn)三維淺水方程,計(jì)算網(wǎng)格取為正交曲線網(wǎng)格,并采用FORTRAN語言編制計(jì)算程序。

        采用第二種VC++與FORTRAN的混合編程方法,后處理程序可以清楚地顯示河床地形。圖2為河道地形高程的等值圖。丁壩布置在河床右岸,設(shè)定壩頂高程為4.0m,壩底高程0.0 m,上游河床來水流量為264 m3/s,下游恒定水位為6.4 m。這些參數(shù)通過VC++編制的用戶界面?zhèn)鬟f給FORTRAN程序,F(xiàn)ORTRAN程序計(jì)算穩(wěn)定后將計(jì)算結(jié)果以硬盤文件的方式輸出,再由VC++調(diào)用OpenGL將結(jié)果圖形化。圖3為丁壩附近水面處流場矢量圖。

        通過實(shí)例分析可知,通過Visual C++調(diào)用圖形庫OpenGL可實(shí)現(xiàn)流場的圖像顯示,使用計(jì)算機(jī)語言混合編程技術(shù)可實(shí)現(xiàn)水力學(xué)計(jì)算程序與后處理模塊的數(shù)據(jù)傳遞,并可基于VC++編制友好的人機(jī)交互界面。

        猜你喜歡
        水力學(xué)圖形化調(diào)用
        飽和紫色土初始態(tài)和穩(wěn)定態(tài)細(xì)溝水力學(xué)特征研究*
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        LKJ自動化測試系統(tǒng)圖形化技術(shù)研究
        二維水力學(xué)模型在紅光大橋洪水影響評價(jià)中的應(yīng)用
        基于管網(wǎng)理論的人口遷移動力學(xué)模型構(gòu)建
        科技視界(2016年27期)2017-03-14 23:09:34
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        自排式沉沙池上游渠道水力學(xué)特性研究
        運(yùn)用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
        圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
        福利一区二区三区视频在线| 成人久久久久久久久久久| 国产亚洲美女精品久久久| 青青草综合在线观看视频| 亚洲无av码一区二区三区| 日韩少妇人妻中文字幕| 99精品人妻少妇一区二区| 国产伦精品一区二区三区视| 亚洲又黄又大又爽毛片| 极品一区二区在线视频| av鲁丝一区鲁丝二区鲁丝三区| 色先锋资源久久综合5566| 少妇bbwbbw高潮| 国产激情综合五月久久| 成人亚洲精品777777| 亚洲日韩欧美国产另类综合| 亚洲性爱区免费视频一区| 在线免费观看蜜桃视频| 久久久www成人免费毛片| 亚洲妇女水蜜桃av网网站| 亚洲美女性生活一级片| 在线观看国产成人自拍视频| 激情综合色综合久久综合| 欧美一级视频精品观看| 国产成人精品中文字幕| 日韩 亚洲 制服 欧美 综合| 伊人色综合视频一区二区三区| 日韩一二三四精品免费| av毛片亚洲高清一区二区| 亚洲精品美女久久777777| 国产精品户露av在线户外直播| 挑战亚洲美女视频网站| 国产av剧情刺激对白| 777亚洲精品乱码久久久久久| 亚洲午夜成人片| 伊人久久大香线蕉av色婷婷| 无码h黄肉3d动漫在线观看| 欧美亚洲精品一区二区| 亚洲av色香蕉一区二区蜜桃| 日韩人妻精品中文字幕专区| 久久久无码人妻精品一区|