• 
    

    
    

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

      基于OpenGL 的跟蹤式光伏設(shè)備的三維建模

      2014-04-29 23:21:39代冰輝高黃瑋
      電腦知識(shí)與技術(shù) 2014年10期
      關(guān)鍵詞:仿真模擬

      代冰輝 高黃瑋

      摘要:給出了一種利用OpenGL技術(shù)對(duì)跟蹤式光伏設(shè)備進(jìn)行三維建模的方法。首先分析跟蹤式光伏設(shè)備的特征及運(yùn)行方式,然后給出利用OpenGL進(jìn)行跟蹤式光伏設(shè)備三維建模的步驟,重點(diǎn)介紹利用三維變換矩陣函數(shù)對(duì)電池面板轉(zhuǎn)動(dòng)過(guò)程中邊界角點(diǎn)坐標(biāo)的計(jì)算方法,最后通過(guò)實(shí)驗(yàn)對(duì)某斜單軸跟蹤式光伏設(shè)備進(jìn)行了三維建模,并實(shí)現(xiàn)了電池面板上邊界角點(diǎn)坐標(biāo)的計(jì)算,為下一步跟蹤式光伏設(shè)備的應(yīng)用研究奠定基礎(chǔ)。

      關(guān)鍵詞:三維圖形變換;OpenGL;跟蹤式光伏設(shè)備;仿真模擬

      中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)10-2391-03

      Abstract: A method is proposed to model and simulate tracking photovoltaic devices using the technology of OpenGL. First, this paper analyzes the features and operation mode of tracking photovoltaic devices, and then provides the steps of modeling tracking photovoltaic devices, meanwhile introduce the calculation method of solar cell panels coordinate by using 3D graphics transformation matrix function. In the end, the method realizes the simulation of the photovoltaic cell panels movement and the calculation of photovoltaic cell panel angular points coordinate. The work of this paper lays foundation of the more application research of tracking photovoltaic devices.

      Key words: 3D graphics transformation; OpenGL; tracking photovoltaic devices; analog simulation

      1 概述

      隨著太陽(yáng)能產(chǎn)業(yè)的迅速發(fā)展,在光伏電站建設(shè)領(lǐng)域,越來(lái)越多的光伏設(shè)備投入使用,其中跟蹤式光伏設(shè)備因其發(fā)電效率高,年產(chǎn)能大,逐漸在小型的獨(dú)立光伏電站和大型的并網(wǎng)光伏電站建設(shè)中得到應(yīng)用[1]。在光伏電站建設(shè)過(guò)程中,要根據(jù)光伏設(shè)備占用的空間以及其陰影的變化情況對(duì)其陣列進(jìn)行排布,由于跟蹤式光伏設(shè)備的電池面板跟隨太陽(yáng)轉(zhuǎn)動(dòng),要確定其占用的空間及陰影變化情況,首先要對(duì)電池板轉(zhuǎn)動(dòng)過(guò)程中的空間坐標(biāo)進(jìn)行計(jì)算。

      OpenGL是一種高性能的開(kāi)放式的三維圖形庫(kù),通過(guò)便捷的編程接口提供了光照、物體材質(zhì)和顏色屬性等通用功能[2],可以構(gòu)造出高質(zhì)量的物體靜態(tài)或動(dòng)態(tài)的三維模型,并且可以實(shí)現(xiàn)對(duì)模型的實(shí)時(shí)交互操作[3]。該文以O(shè)penGL為基礎(chǔ),首先分析跟蹤式光伏設(shè)備的特征及運(yùn)行方式,然后闡述針對(duì)跟蹤式光伏設(shè)備的OpenGL三維建模步驟,最后通過(guò)實(shí)驗(yàn)對(duì)一具體實(shí)例進(jìn)行建模。

      2 跟蹤式光伏設(shè)備的特征及運(yùn)行方式

      從結(jié)構(gòu)特征來(lái)看,跟蹤式光伏設(shè)備主要由三部分組成:一是電池面板,它是設(shè)備最主要的組成部分,主要完成光電轉(zhuǎn)換,實(shí)現(xiàn)電能的產(chǎn)出;二是支架,它支撐電池面板,使電池面板具有轉(zhuǎn)動(dòng)的空間;三是控制組件,它控制電池面板跟隨太陽(yáng)轉(zhuǎn)動(dòng)。其中電池面板是所有組件中占用空間最大的部分,它一般由多塊矩形的光伏電池構(gòu)成。在三維建模過(guò)程中,它是最主要的部分。

      在天球理論中,太陽(yáng)的方位可由赤緯角和時(shí)角,或者高度角和方位角唯一確定,它們可以通過(guò)太陽(yáng)運(yùn)行軌跡模型求解[4]。根據(jù)跟隨太陽(yáng)方位的不同參數(shù),跟蹤式光伏設(shè)備可分為單軸跟蹤和雙軸跟蹤,其中單軸跟蹤又可分為東西方向平單軸跟蹤、南北方向平單軸跟蹤、斜單軸式跟蹤[5]。東西方向平單軸跟蹤設(shè)備的旋轉(zhuǎn)軸與地面平行南北方向放置,電池面板跟隨太陽(yáng)時(shí)角東西方向轉(zhuǎn)動(dòng)。南北方向平單軸跟蹤設(shè)備的旋轉(zhuǎn)軸與地面平行東西方向放置,電池面板跟隨太陽(yáng)高度角南北方向轉(zhuǎn)動(dòng)。斜單軸式跟蹤設(shè)備的旋轉(zhuǎn)軸南北方向放置,并且與地面有一定的夾角,電池面板跟隨太陽(yáng)時(shí)角東西方向轉(zhuǎn)動(dòng)。雙軸式跟蹤設(shè)備有兩個(gè)旋轉(zhuǎn)軸,一根軸與地面垂直,另一根軸與地面平行,從而實(shí)現(xiàn)電池面板對(duì)太陽(yáng)方位角和高度角的同時(shí)跟蹤。

      3 跟蹤式光伏設(shè)備的三維建模

      通過(guò)2中對(duì)跟蹤式光伏設(shè)備結(jié)構(gòu)特征和運(yùn)行方式的分析,利用OpenGL可通過(guò)以下步驟進(jìn)行三維建模,從而實(shí)現(xiàn)跟蹤式光伏設(shè)備的可視化顯示和光伏面板角點(diǎn)坐標(biāo)的計(jì)算。

      1) 定義空間坐標(biāo)系

      OpenGL使用的是右手坐標(biāo)系,可分為世界坐標(biāo)系和物體坐標(biāo)系,世界坐標(biāo)系是以屏幕中心為原點(diǎn),向右是X軸的正向,向上是Y軸的正向,垂直于屏幕穿出的方向是Z軸正向。物體坐標(biāo)系是繪制物體時(shí)的坐標(biāo)系,該坐標(biāo)系僅對(duì)繪制的當(dāng)前物體適用,用來(lái)簡(jiǎn)化對(duì)物體各部分坐標(biāo)的描述,在OpenGL初始化時(shí),世界坐標(biāo)系與物體坐標(biāo)系是重合的,當(dāng)對(duì)物體進(jìn)行平移、伸縮、旋轉(zhuǎn)等幾何變換時(shí),兩者不再重合,都是在物體坐標(biāo)系中進(jìn)行繪圖。

      跟蹤式光伏設(shè)備由于要跟隨太陽(yáng)轉(zhuǎn)動(dòng),在對(duì)其建模之前要明確坐標(biāo)系的含義,才能確定電池面板與太陽(yáng)之間的相對(duì)位置關(guān)系。定義世界坐標(biāo)系的X軸的正向?yàn)檎龞|,Z軸正向?yàn)檎希蒟軸和Z軸確定的平面與地面平行,Y軸的方向表示電池面板距地面的高度。

      2) 繪制跟蹤式光伏設(shè)備

      跟蹤式光伏設(shè)備的主體部分是電池面板,它由多塊矩形的光伏電池構(gòu)成,根據(jù)需要的不同,電池面板會(huì)被拼接成不同的形狀,而且面板距地面的高度也不一樣,因此要先獲取跟蹤式光伏設(shè)備的各部件的形狀、尺寸等參數(shù),然后將這些參數(shù)轉(zhuǎn)換為坐標(biāo)形式,轉(zhuǎn)換的過(guò)程中要遵循便于建模的原則。跟蹤式光伏設(shè)備由于要跟隨太陽(yáng)轉(zhuǎn)動(dòng),因此將世界坐標(biāo)系的原點(diǎn)定義為電池面板的中心點(diǎn),這樣便于后續(xù)各組件坐標(biāo)的設(shè)置以及光伏面板旋轉(zhuǎn)后坐標(biāo)值的計(jì)算。確定出設(shè)備各組件坐標(biāo)后,利用OpenGL中的glBegin()和glEnd()繪制出各組件。

      3) 太陽(yáng)方位的設(shè)置

      太陽(yáng)的方位決定跟蹤式光伏設(shè)備電池面板的朝向,其運(yùn)動(dòng)過(guò)程影響著電池面板的轉(zhuǎn)動(dòng),因此要對(duì)太陽(yáng)的方位進(jìn)行計(jì)算。設(shè)太陽(yáng)的赤緯角為[δ],時(shí)角為[ω],高度角為[α],方位角為[β],則其對(duì)應(yīng)的計(jì)算式如式(1)(2)(3)(4)。

      [δ=23.5sin(360×n+284365)] (1)

      [ω=(t-12)×15°] (2)

      [sinα=sin??sinδ+cos??cosδ?cosω] (3)

      [sinβ=cosδ?sinωcosα] (4)

      其中,n為積日,表示從1月1日起的日子的序數(shù)。t為真太陽(yáng)時(shí),即太陽(yáng)中天時(shí)對(duì)應(yīng)中午12點(diǎn)。[?]表示當(dāng)?shù)鼐暥?。通過(guò)上述4式就可以對(duì)太陽(yáng)的四個(gè)方位參數(shù)進(jìn)行計(jì)算,用于電池面板跟蹤太陽(yáng)轉(zhuǎn)動(dòng)時(shí)的角度參數(shù)設(shè)置。

      4) 地面的繪制

      如2)中所述,將電池面板的中心定義為世界坐標(biāo)系的原點(diǎn),因此在繪制地面時(shí),可以通過(guò)調(diào)整地面的坐標(biāo)來(lái)表示電池面板的距地面的高度。地面可以用OpenGL提供的四邊形繪制參數(shù)GL_QUADS來(lái)完成。具體代碼如下:

      glBegin(GL_QUADS);

      glColor3ub(163,204,136);//草綠色

      glVertex3f(1000.0f, -37.28f, -1000.0f);

      glVertex3f(-1000.0f, -37.28f, -1000.0f);

      glVertex3f(-1000.0f, -37.28f, 1000.0f);

      glVertex3f(1000.0f, -37.28f, 1000.0f);

      glEnd();

      上述代碼表示繪制一個(gè)2000×2000的草綠色矩形作為地面。其中-37.28表示電池面板中心距地面的高度。

      5) 旋轉(zhuǎn)變換控制

      跟蹤式光伏設(shè)備的電池面板跟隨太陽(yáng)轉(zhuǎn)動(dòng),因此要考慮對(duì)電池面板的旋轉(zhuǎn)控制。OpenGL中提供了旋轉(zhuǎn)變換函數(shù)glRotatef (),它可以實(shí)現(xiàn)物體的各種旋轉(zhuǎn)變換,然而該函數(shù)無(wú)法對(duì)物體旋轉(zhuǎn)變換后的坐標(biāo)值進(jìn)行計(jì)算,因此,要構(gòu)造能產(chǎn)生旋轉(zhuǎn)矩陣的函數(shù)。文獻(xiàn)[6]中給出了旋轉(zhuǎn)矩陣的函數(shù)如下:

      void m3dRotationMatrix44(M3DMatrix44f m, float angle, float x, float y, float z);

      其中,M3DMatrix44f是一個(gè)具有16個(gè)元素的float數(shù)組類(lèi)型,表示4×4矩陣。參數(shù)angel表示旋轉(zhuǎn)的弧度。參數(shù)m為得到的旋轉(zhuǎn)變換矩陣。x、y、z指示旋轉(zhuǎn)軸,從(0,0,0,)點(diǎn)向(x,y,z)點(diǎn)引一條直線,則該直線就為旋轉(zhuǎn)軸,旋轉(zhuǎn)方向遵循右手法則。

      跟蹤式光伏設(shè)備分為單軸跟蹤和雙軸跟蹤,其中單軸跟蹤可以通過(guò)上述函數(shù)確定出其旋轉(zhuǎn)變換矩陣,而雙軸式跟蹤由于圍繞兩個(gè)軸旋轉(zhuǎn),因此需要構(gòu)造兩個(gè)旋轉(zhuǎn)變換矩陣。在三維圖形變換中,不同的變換矩陣相乘可以組合成同時(shí)擁有多種變換的復(fù)合變換矩陣,因此運(yùn)用矩陣相乘函數(shù)將兩個(gè)旋轉(zhuǎn)矩陣相乘得到復(fù)合旋轉(zhuǎn)矩陣[7],從而對(duì)雙軸跟蹤的電池面板的角點(diǎn)坐標(biāo)進(jìn)行計(jì)算。文獻(xiàn)[6]提供了矩陣相乘函數(shù),函數(shù)聲明如下:

      void m3dMatrixMultiply44(M3DMatrix44f product, const M3DMatrix44f a, const M3DMatrix44f b );

      其中參數(shù)a表示左乘矩陣,b表示右乘矩陣,product表示相乘后得到的矩陣。

      下面針對(duì)四種不同跟蹤方式給出具體的旋轉(zhuǎn)矩陣函數(shù)的參數(shù)設(shè)置方法:

      ①東西方向平單軸跟蹤,即電池面板繞Z軸跟隨太陽(yáng)的時(shí)角[ω]轉(zhuǎn)動(dòng),函數(shù)參數(shù)設(shè)置為

      m3dRotationMatrix44(r1,[ω],0.0f,0.0f,1.0f);//r1為東西方向平單軸旋轉(zhuǎn)矩陣

      ②南北方向平單軸跟蹤,即電池面板繞X軸跟隨太陽(yáng)高度角[α]轉(zhuǎn)動(dòng),函數(shù)參數(shù)設(shè)置為

      m3dRotationMatrix44(r2,[α],1.0f,0.0f,0.0f);//r1為南北方向平單軸旋轉(zhuǎn)矩陣

      ③斜單軸式跟蹤,即電池面板先繞X軸轉(zhuǎn)到一個(gè)固定的角度[μ],再繞Z軸跟隨太陽(yáng)時(shí)角[ω]轉(zhuǎn)動(dòng),函數(shù)參數(shù)設(shè)置為

      m3dRotationMatrix44(r_t1,[μ],1.0f,0.0f,0.0f);

      m3dRotationMatrix44(r_t2,[ω],0.0f,0.0f,1.0f);

      m3dMatrixMultiply44(r3,r_t1,r_t2);//r3為斜單軸跟蹤旋轉(zhuǎn)矩陣

      ④雙軸式跟蹤,即電池面板繞Y 軸旋轉(zhuǎn)的同時(shí),也繞X軸旋轉(zhuǎn),函數(shù)參數(shù)設(shè)置為

      m3dRotationMatrix44(r_t3,[α],1.0f,0.0f,0.0f);

      m3dRotationMatrix44(r_t4,[β],0.0f,0.0f,1.0f);

      m3dMatrixMultiply44(r4, r_t3, r_t4 );//r4為雙軸跟蹤旋轉(zhuǎn)矩陣

      得到四種跟蹤光伏設(shè)備的旋轉(zhuǎn)矩陣后,再與電池面板上的角點(diǎn)坐標(biāo)相乘,就可以得到旋轉(zhuǎn)變換后的坐標(biāo)。

      通過(guò)以上五個(gè)步驟就可以完成對(duì)跟蹤式光伏設(shè)備的三維建模,并計(jì)算出電池面板轉(zhuǎn)動(dòng)過(guò)程中的各角點(diǎn)三維坐標(biāo)。

      4 實(shí)驗(yàn)結(jié)果

      以某斜單軸跟蹤式光伏設(shè)備為例,通過(guò)上述方法對(duì)其進(jìn)行三維建模。該設(shè)備由12塊9分米×16分米規(guī)格的矩形光伏電池構(gòu)成,由于轉(zhuǎn)動(dòng)需要,采用上寬下窄的拼接形式,電池面板南北向最大長(zhǎng)度為64.6分米,東西方向最大長(zhǎng)度為36.6分米,電池面板的中心距地面高度為27.5分米,面向正南與地面傾斜25度安裝,圖1(a)為其三維建模的結(jié)果圖。另外,為了驗(yàn)證本文方法對(duì)設(shè)備電池面板跟隨太陽(yáng)轉(zhuǎn)動(dòng)過(guò)程中邊界角點(diǎn)三維坐標(biāo)的計(jì)算,如圖1(b)所示,選取面板上的8個(gè)角點(diǎn)A~H,對(duì)其一天內(nèi)電池面板跟隨太陽(yáng)轉(zhuǎn)動(dòng)到不同時(shí)刻的角點(diǎn)坐標(biāo)進(jìn)行計(jì)算,結(jié)果如表1所示。可以看出,通過(guò)文中方法可以較好的對(duì)跟蹤式光伏設(shè)備進(jìn)行三維建模,并實(shí)現(xiàn)了跟蹤過(guò)程中電池面板角點(diǎn)坐標(biāo)的計(jì)算。

      5 結(jié)束語(yǔ)

      本文討論了基于OpenGL的跟蹤式光伏設(shè)備的三維建模方法。采用OpenGL函數(shù)庫(kù)提供的函數(shù)以及用于構(gòu)造變換矩陣的函數(shù),在對(duì)跟蹤式光伏設(shè)備建模的同時(shí),實(shí)現(xiàn)了電池面板在跟蹤太陽(yáng)過(guò)程中角點(diǎn)坐標(biāo)的計(jì)算,從而確定了光伏設(shè)備電池面板在空間中的實(shí)時(shí)位置,為光伏設(shè)備陰影的求解等研究奠定了基礎(chǔ)。

      參考文獻(xiàn):

      [1] 伍春生,劉四洋,廖華.一個(gè)多種跟蹤方式的并網(wǎng)光伏電站[J].可再生能源,2008,26(3):63-65.

      [2] 僧德文,李仲學(xué),李春民.基于OpenGL的真實(shí)感圖形繪制技術(shù)及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2005,22(3):173-175.

      [3] 石瓊,沈春林,譚皓.基于OpenGL的三維建模實(shí)現(xiàn)方法[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(18):122-124.

      [4] Kittler Richard,Darula Stanislav.Determination of time and sun position system[J].Solar Energy,2013,93:72-79.

      [5] 謝卿.太陽(yáng)光伏系統(tǒng)的自動(dòng)跟蹤式裝置[D].上海:華東理工大學(xué),2012.

      [6] 賴(lài)特.OpenGL超級(jí)寶典(第四版)[M].北京:人民郵電出版社,2010.

      [7] 任愛(ài)華,謝淼.計(jì)算機(jī)圖形學(xué)[M].北京:電子工業(yè)出版社,2011.

      猜你喜歡
      仿真模擬
      一種LNG船舶移動(dòng)安全區(qū)的仿真模擬研究
      科技資訊(2017年8期)2017-05-18 22:15:11
      工科類(lèi)研究生課程教學(xué)體系的研究
      基于em—plant虛擬制造技術(shù)在優(yōu)化零件工藝規(guī)劃中的應(yīng)用
      鋁型材擠壓過(guò)程仿真模擬基礎(chǔ)介紹
      鋼筋混凝土框架結(jié)構(gòu)強(qiáng)震破壞模式的控制
      MSS50雙幅整體澆筑式移動(dòng)模架力學(xué)性能仿真分析
      混合拉延筋對(duì)DP780覆蓋件成形回彈影響研究
      交叉口信號(hào)配時(shí)優(yōu)化模型
      基于仿真模擬平臺(tái)的土木工程主干專(zhuān)業(yè)課程實(shí)踐教學(xué)改革
      化工生產(chǎn)影像資料及仿真模擬在實(shí)習(xí)中的應(yīng)用
      龙口市| 赫章县| 定边县| 新蔡县| 阿拉尔市| 开鲁县| 呼伦贝尔市| 辽阳市| 东城区| 留坝县| 固原市| 新丰县| 博乐市| 松潘县| 沙田区| 葵青区| 石首市| 白河县| 宁夏| 广水市| 文安县| 鞍山市| 浦江县| 安化县| 北海市| 巴南区| 信宜市| 扎囊县| 曲麻莱县| 苗栗市| 平乐县| 怀来县| 宁都县| 星座| 贞丰县| 象山县| 普安县| 临泽县| 理塘县| 永德县| 明光市|