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

        ?

        一種計算植物冠層光分布的并行仿真系統(tǒng)

        2018-03-13 22:26:49謝文昊
        現(xiàn)代電子技術(shù) 2018年6期

        謝文昊

        摘 要: 光照對植物冠層生長、繁殖的影響是巨大的,但在仿真植物冠層光照分布的過程中由于需要處理的數(shù)據(jù)量很大,如果利用單處理器計算機(jī)計算,會導(dǎo)致計算耗時過長,甚至無法得到高精度的仿真結(jié)果。為了提高計算速度,將用于計算植物冠層光分布的深度緩存排序算法進(jìn)行并行化處理,移植到大型多處理器計算機(jī)上進(jìn)行計算,并通過在普通計算機(jī)上開發(fā)客戶端對仿真計算進(jìn)行控制。設(shè)計實(shí)現(xiàn)一套基于客戶機(jī)?服務(wù)器模式的仿真系統(tǒng)。應(yīng)用該系統(tǒng)對不同生長時期的水稻進(jìn)行光照仿真,得到了效果圖。從而得出結(jié)論該系統(tǒng)在分析植物生長趨勢模擬全天冠層光照變化方面有著很大的應(yīng)用前景。

        關(guān)鍵詞: 植物冠層; 光照分布; 并行仿真; 客戶機(jī)?服務(wù)器模式; MPI并行模式; 深度緩存排序算法

        中圖分類號: TN212?34; TP181 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)06?0150?04

        Abstract: Illumination has a great influence on the growth and propagation of plant canopy. As a large amount of data needs to be processed during the simulation process of plant canopy illumination distribution, the time consumption of calculation can be very long, and the high?precision simulation results cannot even be obtained if the single processor computer is used for calculation. To improve the calculation speed, the parallel processing is performed for the Z?buffer sorting algorithm which is used for calculation of plant canopy illumination distribution and then transplanted to the large multiprocessor computer for calculation. The simulation calculation is controlled by developing the client on the ordinary computer. A simulation system based on client?server mode was designed and implemented. The system was applied to illumination simulation for paddies in different grown periods and the effect diagram was obtained. It can be concluded that the system has a great application prospect in plant growth tendency analysis and full?day canopy illumination variation simulation.

        Keywords: plant canopy; illumination distribution; parallel simulation; client?server mode; MPI parallel mode; Z?buffer sorting algorithm

        0 引 言

        植物生長過程離不開光照的影響,因此計算光照在植物冠層內(nèi)的分布情況就很有必要[1]。隨著計算機(jī)圖形學(xué)的發(fā)展和應(yīng)用,目前常用的模擬方法有:輻射度方法[2]、光線跟蹤方法、深度緩存排序算法等[3]。其中深度緩存排序算法主要是先分別計算植物冠層在各方向光線直射下由于相互遮擋而產(chǎn)生的葉片對光輻射的截獲情況再進(jìn)行多方向疊加從而得到仿真結(jié)果。該方法雖然忽略了光的反射透射作用,但對于主要表現(xiàn)為光線直射部分的光合有效輻射分布的模擬有著很高的精度,因此被廣泛使用。另外,各方向上的光分布計算相互獨(dú)立,也很適合算法并行化處理。

        近年來,計算機(jī)硬件技術(shù)不斷創(chuàng)新發(fā)展,高性能的多處理器計算機(jī)已經(jīng)成為科學(xué)計算的主要工具之一[4]。MPI并行模式也已作為一種普遍流行的并行編程規(guī)范被人們廣泛接受。并行計算是相對于串行計算而言的,并行計算是指在同一時間間隔內(nèi)增加操作系統(tǒng)進(jìn)程數(shù)量,利用多臺計算機(jī)共同實(shí)現(xiàn)同一個任務(wù)。MPI(Message Passing Interface)可以將一個大型任務(wù)分解成多個進(jìn)程,再把這些進(jìn)程分配給多臺計算機(jī)進(jìn)行并行處理,通過計算結(jié)果的綜合來得到最終結(jié)果[5]。本文將傳統(tǒng)串行實(shí)現(xiàn)的用于計算植物冠層光分布的深度緩存排序算法并行化處理,并移植到高性能多處理器計算機(jī)上運(yùn)行,建立服務(wù)器程序。因?yàn)槠胀ㄓ脩艉茈y直接操作高性能計算機(jī),所以相應(yīng)地設(shè)計開發(fā)了安裝在普通電腦上用于控制服務(wù)器的客戶端。從而建立了一套客戶端?服務(wù)器模式的植物冠層光分布的并行仿真計算系統(tǒng)。

        1 并行算法

        1.1 深度緩存排序算法原理

        深度緩存(Z?buffer)[6]最早由Catmull提出,是一種典型的、最簡單的圖像空間面消隱算法,但所需的存儲容量較大。該算法的原理是,先將待處理的景物表面上的采樣點(diǎn)變換到圖像空間(屏幕坐標(biāo)系),計算其深度值,并根據(jù)采樣點(diǎn)在屏幕上的投影位置,將其深度值與已存儲在Z緩存器中相應(yīng)像素處的原可見點(diǎn)的深度值進(jìn)行比較。如果新的采樣點(diǎn)的深度(即Z軸坐標(biāo)值)大于原可見點(diǎn)的深度,表明新的采樣點(diǎn)遮住了原可見點(diǎn),則用該采樣點(diǎn)處的顏色值更新幀緩存器中相應(yīng)像素的顏色值,同時用其深度值更新Z緩存器中的深度值;否則,不做更改。深度緩存算法是在為物件進(jìn)行著色時,執(zhí)行“隱藏面消除”工作的一項(xiàng)技術(shù),所以隱藏物件背后的部分就不會被顯示出來。 在3D環(huán)境中每個像素中會利用一組數(shù)據(jù)資料來定義像素在顯示時的縱深度。Z?buffer所用的位數(shù)越高,則代表該顯示卡所提供的物件縱深感也越精確。endprint

        當(dāng)忽略光的反射、透射作用,只考慮光的直射影響時,植株結(jié)構(gòu)相互遮擋是植物冠層內(nèi)的光分布差異情況產(chǎn)生的主要原因,所以是可以應(yīng)用深度緩存算法進(jìn)行計算的。文獻(xiàn)[7]中給出了在計算植物冠層光分布時的原模型,如圖1所示。先確定一塊矩形的植物冠層區(qū)域?yàn)閷?shí)際觀測區(qū)域,假設(shè)該實(shí)測區(qū)域周圍存在著與實(shí)測區(qū)域冠層結(jié)構(gòu)完全相同的植物冠層,這樣假設(shè)是為了避免其周圍區(qū)域(稱其為復(fù)制域)的冠層結(jié)構(gòu)因?yàn)檎趽醵鴮^(qū)域內(nèi)的光分布產(chǎn)生影響,見圖1。

        此外,為了方便投影,該方法還要在三維空間坐標(biāo)系中對葉面進(jìn)行劃分,將其分割成很小的空間三角形面元,在如圖1所示的光線照射下來進(jìn)行投影[7]。

        該算法在投影過程中先在冠層正上方建立光照平面,將它作為全部入射光線的來源,并將光照平面進(jìn)行二維網(wǎng)格化[8],在光照平面二維網(wǎng)格化的基礎(chǔ)上假定每個網(wǎng)格上有一條入射光線。接下來,由光線方向?qū)⑷~片面元投影到上述的光照平面上。對于類似于圖1中的A這樣的投影不在投影平面的小面元,可以用復(fù)制域中和A位置相同的面元B的投影來代替它。最后使用Z?buffer深度排序法計算投影后落在同一個小網(wǎng)格的小面元序列的深度緩存值,以便找到距離光照平面最短的小面元。這樣可以通過此面元光照的分布情況,進(jìn)而統(tǒng)計出光照在植物冠層中的三維分布[9]。

        上述投影過程中,面元的投影算法可以通過下式得到。設(shè)實(shí)測區(qū)域內(nèi)任意一點(diǎn)[(x,y,z)]投影后的坐標(biāo)就可以表示為:

        [px=x+(ytop-y)?cos(SunAzimuth)tan(SunH)pz=z+(ytop-y)?sin(SunAzimuth)tan(SunH)]

        式中:采用右手坐標(biāo)系,x軸向正南,y軸向正上,z軸向正西;[px],[pz]為[x,z]方向上投影后的坐標(biāo)值;[ytop]為實(shí)測區(qū)域高度;SunAzimuth為太陽方位角,以正南為0°,向西為正,向東為負(fù);SunH為太陽高度角,即太陽與地平面的夾角。

        1.2 算法的并行化

        仿真野外條件下植物冠層光照的分布情況,就要在各方向上先分別對植物冠層進(jìn)行深度緩存排序來計算單一方向光入射時植物冠層光分布結(jié)果,再對各方向計算結(jié)果進(jìn)行累加。單處理器計算機(jī)只能依次串行的計算每個方向上的光照情況再將結(jié)果相加,工作量大、耗時長。另外又受到實(shí)際內(nèi)存限制常常得不到令人滿意的高精度仿真結(jié)果。而多處理器高性能計算機(jī)則可以同時并發(fā)地執(zhí)行多項(xiàng)任務(wù),所以并行化算法將每個方向上的光照分布計算工作平均分布到高性能計算機(jī)不同的處理器中并發(fā)執(zhí)行,并將結(jié)果匯總到共用的數(shù)據(jù)容器中,下面把像這樣的負(fù)責(zé)某一方向上深度緩存排序計算的處理器稱為計算節(jié)點(diǎn)。如圖2所示,每一個計算節(jié)點(diǎn)上運(yùn)行著一個計算光分布的進(jìn)程,彼此相互獨(dú)立平行。利于讀寫鎖維護(hù)共用數(shù)據(jù)容器的正確使用。當(dāng)最后一個計算節(jié)點(diǎn)上光分布運(yùn)算進(jìn)程結(jié)束時,共用數(shù)據(jù)容器中的光分布結(jié)果便是自然條件下多方向光同時入射植物冠層時產(chǎn)生的光輻射分布情況[10]。

        2 系統(tǒng)的設(shè)計與實(shí)現(xiàn)

        植物冠層并行仿真系統(tǒng)采用客戶機(jī)?服務(wù)器系統(tǒng)結(jié)構(gòu)模式,并基于面向?qū)ο蟮乃枷脒M(jìn)行設(shè)計,使用C++語言進(jìn)行實(shí)現(xiàn),并結(jié)合OpenGL做三維可視化顯示。整個系統(tǒng)采用模塊化的設(shè)計思想,將系統(tǒng)不同功能封裝在不同的邏輯模塊中。其中主要的模塊有:并行運(yùn)算模塊、服務(wù)器監(jiān)聽模塊、客戶機(jī)人機(jī)交互模塊和三維顯示模塊。

        2.1 并行計算模塊的設(shè)計和實(shí)現(xiàn)

        該模塊運(yùn)行在聯(lián)想深騰1800高性能多處理器計算機(jī)上,操作系統(tǒng)為Redhat5。算法采用MPI+C并行編程技術(shù),完成計算植物冠層光分布的深度緩存排序算法的并行化工作。其中主要類為:

        1) Light類:系統(tǒng)光源類。主要建模實(shí)現(xiàn)了單方向上的平行光線。

        2) Sky類:天空類。將天空半球的漫反射光線劃分為多方向上的平行入射光線,并為每一方向上的光線提供初始輻射強(qiáng)度。

        3) Triangle類:葉片面元類,記錄葉片面元坐標(biāo)信息,用于計算深度緩存排序。

        4) Calculatefork類:節(jié)點(diǎn)計算控制類。用于控制計算節(jié)點(diǎn)中光分布模擬的算法流程。

        5) Communicate類:節(jié)點(diǎn)通信控制類。負(fù)責(zé)不同計算節(jié)點(diǎn)之間的通信控制,管理讀寫鎖等工作。

        各類的具體關(guān)系見圖3。

        2.2 服務(wù)器監(jiān)聽模塊的設(shè)計和實(shí)現(xiàn)

        該模塊同樣運(yùn)行于高性能計算機(jī)上,主要負(fù)責(zé)監(jiān)聽客戶端發(fā)來的計算請求,根據(jù)請求建立并行運(yùn)算服務(wù),檢測用戶上傳數(shù)據(jù)是否合理,并在運(yùn)算過程中將實(shí)時信息傳給遠(yuǎn)程客戶端。模塊采用Socket套接字編程技術(shù)進(jìn)行網(wǎng)絡(luò)進(jìn)程間的通信。使用TCP/IP協(xié)議三步握手式建立連接方法,確保數(shù)據(jù)在本地服務(wù)器和遠(yuǎn)程客戶機(jī)之間的無誤傳輸。采用多進(jìn)程技術(shù)保證服務(wù)器可以同時響應(yīng)多個計算請求。主進(jìn)程一直等待監(jiān)聽,如有客戶端傳來的計算請求則開啟新的子進(jìn)程完成計算??偟膩碚f,該部分提供了并行計算模塊和遠(yuǎn)程客戶端之間的通信控制服務(wù)。其主要算法流圖如圖4所示。

        2.3 客戶機(jī)人機(jī)交互模塊的設(shè)計和實(shí)現(xiàn)

        該模塊運(yùn)行于普通個人電腦的Windows操作系統(tǒng)下,在VC++環(huán)境下采用MFC實(shí)現(xiàn)。它主要為用戶提供一個人機(jī)交互的GUI平臺,接收用戶設(shè)計的運(yùn)算參數(shù)和數(shù)據(jù)文件并進(jìn)行上傳。向用戶顯示運(yùn)算過程信息,并在運(yùn)算結(jié)束后將服務(wù)器指定位置下的運(yùn)算結(jié)果下載到本地,供科學(xué)分析和三維顯示模塊生成仿真效果圖使用。從而達(dá)到用客戶端GUI控制服務(wù)器并行運(yùn)算的目的。

        2.4 三維顯示模塊的設(shè)計和實(shí)現(xiàn)endprint

        該模塊負(fù)責(zé)根據(jù)下載到客戶端的光分布運(yùn)算結(jié)果數(shù)據(jù)建立仿真效果圖并用OpenGL方法來實(shí)現(xiàn)三維渲染,完成系統(tǒng)所需的可視化處理和輸出。為分析人員提供直觀感性的仿真結(jié)果。植物冠層光分布的并行仿真計算系統(tǒng)有客戶端、服務(wù)器兩大部分,并由服務(wù)器監(jiān)聽模塊、人機(jī)交互模塊、并行計算模塊以及三維顯示模塊四個主要模塊組成。它們的相互關(guān)系如圖5所示。

        以上四部分相互協(xié)作完成了系統(tǒng)的主要數(shù)據(jù)輸入,并行仿真計算和結(jié)果輸出等功能。

        3 實(shí) 驗(yàn)

        植物冠層光分布的并行仿真計算系統(tǒng)服務(wù)器程序的兩部分在Linux系統(tǒng)下分別使用Inter編譯器和GUN編譯器編譯成功,客戶端程序在Windows上用Visual Studio 2005開發(fā)調(diào)試成功,圖6給出了仿真計算不同時期水稻光照分布后客戶端顯示的效果截圖。

        通過圖6可以清楚地看到水稻不同時期光照的效果圖,并且能夠了解服務(wù)器端運(yùn)行信息,使用戶感覺計算就像在本地運(yùn)行一樣。同時由于每個計算節(jié)點(diǎn)任務(wù)量相對固定,均為單一方向光分布計算。所以該系統(tǒng)仿真計算耗時不隨天空光照方向數(shù)增多而增加。服務(wù)器返回結(jié)果顯示,每次計算耗時僅為十多秒,這極大地提高了計算效率,是普通串行算法無法達(dá)到的。

        另外系統(tǒng)客戶端不但能生成冠層的三維結(jié)構(gòu),還能應(yīng)用圖像控制標(biāo)簽欄對仿真效果圖進(jìn)行縮放、3D旋轉(zhuǎn)、顏色渲染等操作,這方便了對三維冠層的觀察操作,提供了一種良好的交互方式。同時系統(tǒng)還能通過任務(wù)標(biāo)簽欄管理計算結(jié)果文件。使科研人員可以進(jìn)一步查閱數(shù)據(jù)分析仿真結(jié)果。

        4 結(jié) 論

        綜上,植物冠層光分布的并行仿真計算系統(tǒng)將傳統(tǒng)的深度緩存排序算法進(jìn)行了并行化處理,并基于面向?qū)ο蟮脑O(shè)計思想進(jìn)行實(shí)現(xiàn),系統(tǒng)主要部分實(shí)現(xiàn)模塊化管理,使它擁有良好的擴(kuò)展性和維護(hù)性。目前系統(tǒng)基本功能已經(jīng)實(shí)現(xiàn),接下來還可以在客戶端根據(jù)用戶多種分析需要進(jìn)一步添加更多的計算結(jié)果數(shù)據(jù)顯示分析方法,使其不斷完善。而在服務(wù)器端,目前系統(tǒng)實(shí)現(xiàn)了深度緩存排序算法的并行化,在其并行化的基礎(chǔ)上還可以將其他光照分布算法做同樣處理并移植到大型機(jī)去進(jìn)行仿真計算,隨著系統(tǒng)的不斷成熟和發(fā)展,系統(tǒng)客戶端可以廣泛提供給沒有條件購買大型機(jī)的科研教學(xué)用戶使用,使更多人可以方便快速地進(jìn)行仿真計算。相信在不遠(yuǎn)的將來,該系統(tǒng)一定會成為科研和教學(xué)中十分有用的冠層光輻射分布計算的仿真模擬平臺。

        參考文獻(xiàn)

        [1] VERHOEF W. Light scattering by leaf layers with application to canopy reflectance modeling: the SAIL model [J]. Remote sensing of environment, 1984, 16(2): 125?141.

        [2] GORAL C M, TORRANCE K E, GREENBERG D P. Modeling the interaction of light between diffuse surfaces [J]. ACM SIGGRAPH computer graphics, 2008, 18(3): 213?222.

        [3] CHELLE M, ANDRIEU B. The nested radiosity model for the distribution of light within plant canopies [J]. Ecological modelling, 1998, 111(1): 75?91.

        [4] 谷傳才,關(guān)楠,于金銘,等.多處理器混合關(guān)鍵性系統(tǒng)中的劃分調(diào)度策略[J].軟件學(xué)報,2014,25(2):284?297.

        GU Chuancai, GUAN Nan, YU Jinming, et al. The division scheduling strategy of multiprocessor hybrid critical system [J]. Journal of software, 2014, 25(2): 284?297.

        [5] 盧云娥,黃宗宇,李超陽,等.基于微機(jī)集群系統(tǒng)的MPI并行計算[J].電子設(shè)計工程,2011,19(5):78?81.

        LU Yune, HUANG Zongyu, LI Chaoyang, et al. Parallel computation of MPI based on microcomputer cluster system [J]. Electronic design engineering, 2011, 19(5): 78?81.

        [6] 郭惠,符紅光,羅東輝.三維動態(tài)幾何中直線消隱的實(shí)現(xiàn)[J].計算機(jī)應(yīng)用,2007,27(3):663?665.

        GUO Hui, FU Hongguang, LUO Donghui. The realization of linear cancellation in three?dimensional dynamic geometry [J]. Computer application, 2007, 27(3): 663?665.

        [7] 肖強(qiáng),勞彩蓮,王春霞.植物冠層光輻射分布的快速深度緩存算法[J].計算機(jī)工程,2010,36(15):288?290.

        XIAO Qiang, LAO Cailian, WANG Chunxia. The rapid depth cache algorithm of the photoemission distribution of plant canopy [J]. Computer engineering, 2010, 36(15): 288?290.

        [8] 李靜,王文成,吳恩華.基于空盒自適應(yīng)生成的動態(tài)場景光線跟蹤計算[J].計算機(jī)學(xué)報,2009,32(6):1172?1182.

        LI Jing, WANG Wencheng, WU Enhua. The dynamic scene light tracking calculation based on the adaptive generation of the empty box [J]. Chinese journal of computers, 2009, 32(6): 1172?1182.

        [9] 黃帆,勞彩蓮,肖翠霞.基于光線跟蹤的冠層光分布模型參數(shù)研究[J].中國農(nóng)業(yè)大學(xué)學(xué)報,2013,18(6):96?101.

        HUANG Fan, LAO Cailian, XIAO Cuixia. Parameters in the model of canopy light distribution with ray tracing approach [J]. Journal of China Agricultural University, 2013, 18(6): 96?101.

        [10] 王昊鵬,趙凱,宋鳳斌,等.植物冠層光照的建模與虛擬現(xiàn)實(shí)仿真研究[J].農(nóng)業(yè)系統(tǒng)科學(xué)與綜合研究,2010,26(1):68?74.

        WANG Haopeng, ZHAO Kai, SONG Fengbin, et al. Study on the modeling of canopy illumination and virtual reality simulation [J]. System sciences and comprehensive studies in agriculture, 2010, 26(1): 68?74.endprint

        欧洲女人与公拘交酡视频| 国产精品国产三级国产三不| 操老熟妇老女人一区二区| 成人偷拍自拍视频在线观看| 国模无码一区二区三区不卡| 免费人成毛片乱码| 日韩av一区二区三区精品| 亚洲视频在线免费不卡| 色天使综合婷婷国产日韩av| 国内精品久久久久久久久齐齐| 久久国产欧美日韩高清专区| 国产一区二区三区不卡在线播放| 亚洲av免费手机在线观看| 中国农村熟妇性视频| 四虎影视久久久免费| 国产精品二区三区在线观看| 亚洲欧洲av综合色无码| 无码粉嫩虎白一线天在线观看| 人妻精品一区二区三区视频| 免费看片的网站国产亚洲| 大ji巴好深好爽又大又粗视频| 精品国产乱码久久久久久口爆网站| 黑森林福利视频导航| 国产精品成人va| 亚洲一区二区不卡日韩| 日韩精品久久中文字幕| 国产特级毛片aaaaaaa高清| 日本精品网| 黄片免费观看视频播放| 亚洲国产成人一区二区精品区| 国内少妇偷人精品视频免费| 男女发生关系视频网站| 手机免费在线观看av网址| 好屌草这里只有精品| 青春草在线视频精品| 美女脱掉内裤扒开下面让人插| 亚洲熟妇久久精品| 91高清国产经典在线观看| 亚洲精品色播一区二区| 五月天激情电影| 欧美白人最猛性xxxxx|