999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種計算植物冠層光分布的并行仿真系統

2018-03-13 22:26:49謝文昊
現代電子技術 2018年6期

謝文昊

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

關鍵詞: 植物冠層; 光照分布; 并行仿真; 客戶機?服務器模式; MPI并行模式; 深度緩存排序算法

中圖分類號: TN212?34; TP181 文獻標識碼: 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 引 言

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

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

1 并行算法

1.1 深度緩存排序算法原理

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

當忽略光的反射、透射作用,只考慮光的直射影響時,植株結構相互遮擋是植物冠層內的光分布差異情況產生的主要原因,所以是可以應用深度緩存算法進行計算的。文獻[7]中給出了在計算植物冠層光分布時的原模型,如圖1所示。先確定一塊矩形的植物冠層區域為實際觀測區域,假設該實測區域周圍存在著與實測區域冠層結構完全相同的植物冠層,這樣假設是為了避免其周圍區域(稱其為復制域)的冠層結構因為遮擋而對區域內的光分布產生影響,見圖1。

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

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

上述投影過程中,面元的投影算法可以通過下式得到。設實測區域內任意一點[(x,y,z)]投影后的坐標就可以表示為:

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

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

1.2 算法的并行化

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

2 系統的設計與實現

植物冠層并行仿真系統采用客戶機?服務器系統結構模式,并基于面向對象的思想進行設計,使用C++語言進行實現,并結合OpenGL做三維可視化顯示。整個系統采用模塊化的設計思想,將系統不同功能封裝在不同的邏輯模塊中。其中主要的模塊有:并行運算模塊、服務器監聽模塊、客戶機人機交互模塊和三維顯示模塊。

2.1 并行計算模塊的設計和實現

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

1) Light類:系統光源類。主要建模實現了單方向上的平行光線。

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

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

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

5) Communicate類:節點通信控制類。負責不同計算節點之間的通信控制,管理讀寫鎖等工作。

各類的具體關系見圖3。

2.2 服務器監聽模塊的設計和實現

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

2.3 客戶機人機交互模塊的設計和實現

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

2.4 三維顯示模塊的設計和實現endprint

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

以上四部分相互協作完成了系統的主要數據輸入,并行仿真計算和結果輸出等功能。

3 實 驗

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

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

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

4 結 論

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

參考文獻

[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] 谷傳才,關楠,于金銘,等.多處理器混合關鍵性系統中的劃分調度策略[J].軟件學報,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] 盧云娥,黃宗宇,李超陽,等.基于微機集群系統的MPI并行計算[J].電子設計工程,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] 郭惠,符紅光,羅東輝.三維動態幾何中直線消隱的實現[J].計算機應用,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] 肖強,勞彩蓮,王春霞.植物冠層光輻射分布的快速深度緩存算法[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] 李靜,王文成,吳恩華.基于空盒自適應生成的動態場景光線跟蹤計算[J].計算機學報,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] 黃帆,勞彩蓮,肖翠霞.基于光線跟蹤的冠層光分布模型參數研究[J].中國農業大學學報,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] 王昊鵬,趙凱,宋鳳斌,等.植物冠層光照的建模與虛擬現實仿真研究[J].農業系統科學與綜合研究,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

主站蜘蛛池模板: 成人国产精品2021| 欧美一级高清免费a| 97久久精品人人做人人爽| 欧美啪啪一区| 国产欧美性爱网| 亚洲精品在线影院| 欧美A级V片在线观看| 日韩欧美国产成人| 久久精品亚洲专区| 国产成人综合日韩精品无码不卡| 一本色道久久88亚洲综合| 四虎国产在线观看| 粉嫩国产白浆在线观看| 五月天在线网站| 亚洲国产无码有码| 久久久久人妻一区精品色奶水| 久草性视频| 成年人福利视频| 六月婷婷精品视频在线观看 | 国产成a人片在线播放| 无码区日韩专区免费系列| 丁香五月亚洲综合在线| 国内精品久久久久久久久久影视| aⅴ免费在线观看| 免费在线色| 国产婬乱a一级毛片多女| 国产免费精彩视频| 国产SUV精品一区二区| 97久久免费视频| 中国国产高清免费AV片| 99re在线观看视频| 久久永久视频| 国产一线在线| 欧美日韩在线成人| 成人午夜视频网站| 18禁不卡免费网站| 亚洲婷婷在线视频| 成人一级黄色毛片| 精品国产美女福到在线不卡f| 免费一级成人毛片| 无码日韩人妻精品久久蜜桃| 国产精品香蕉| 波多野结衣中文字幕一区| 91精品国产无线乱码在线| 久久99精品国产麻豆宅宅| 亚洲综合色婷婷| 中文字幕 欧美日韩| 亚洲无线一二三四区男男| 超清无码一区二区三区| 色悠久久久| 国产视频大全| 老司机久久99久久精品播放| 99热最新在线| 91美女视频在线| 国产美女自慰在线观看| 91精品人妻互换| 国产精品福利社| 日韩成人在线网站| 精品黑人一区二区三区| 亚洲最大在线观看| 任我操在线视频| a欧美在线| 国产无吗一区二区三区在线欢| 国产99免费视频| 欧美日韩一区二区在线播放| 国产激情无码一区二区免费| 日韩毛片在线播放| 久久无码免费束人妻| 亚洲 欧美 偷自乱 图片| 欧美亚洲综合免费精品高清在线观看| 欧洲欧美人成免费全部视频 | 亚洲全网成人资源在线观看| 欧美精品啪啪一区二区三区| 日韩一二三区视频精品| 国产精品女主播| 国产精品网址在线观看你懂的| 国产亚洲视频中文字幕视频| 波多野结衣一区二区三区88| 欧美成人在线免费| 亚洲成A人V欧美综合| 亚洲欧美自拍中文| 中文字幕在线欧美|