公務(wù)員期刊網(wǎng) 論文中心 正文

隧道照明設(shè)計(jì)的軟件開(kāi)發(fā)實(shí)現(xiàn)

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了隧道照明設(shè)計(jì)的軟件開(kāi)發(fā)實(shí)現(xiàn)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

隧道照明設(shè)計(jì)的軟件開(kāi)發(fā)實(shí)現(xiàn)

摘要:目前國(guó)內(nèi)外沒(méi)有專門針對(duì)隧道照明設(shè)計(jì)的軟件。為實(shí)現(xiàn)隧道照明的自動(dòng)化設(shè)計(jì),設(shè)計(jì)一款專業(yè)的隧道照明設(shè)計(jì)軟件。軟件基于Winform框架進(jìn)行開(kāi)發(fā)。繪圖是軟件的核心功能,其中二維圖形采用GDI+繪制,三維部分使用C#語(yǔ)言封裝下的OpenGL圖形軟件接口實(shí)現(xiàn)。以VisualStudio為開(kāi)發(fā)工具,利用SQLite實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì),軟件能使設(shè)計(jì)人員快速、準(zhǔn)確地制作設(shè)計(jì)方案,并進(jìn)行仿真模擬。經(jīng)過(guò)測(cè)試,軟件整體設(shè)計(jì)符合規(guī)范要求,能有效減少隧道照明設(shè)計(jì)人員的工作量。

關(guān)鍵詞:隧道照明;照明設(shè)計(jì);GDI+;OpenGL

0引言

公路隧道是陸路交通體系中重要的組成部分,隧道照明設(shè)計(jì)作為光學(xué)、建筑學(xué)、信息學(xué)、交通安全等多個(gè)學(xué)科的交叉課題,是公路隧道設(shè)計(jì)過(guò)程中極其重要的環(huán)節(jié)。隧道照明設(shè)計(jì)過(guò)程中需考慮亮度、照度、均勻度、功率、可控性及安全性等設(shè)計(jì)參數(shù)[1]?,F(xiàn)階段我國(guó)對(duì)隧道照明的LED燈具設(shè)計(jì)與規(guī)劃,仍采用傳統(tǒng)散射光的配光設(shè)計(jì),一般均為電氣設(shè)計(jì)工程師代為規(guī)劃,沒(méi)有專業(yè)照明設(shè)計(jì)人員[2]。專業(yè)隧道照明配光軟件是智能隧道技術(shù)及產(chǎn)業(yè)發(fā)展亟待滿足的重要需求。針對(duì)隧道照明應(yīng)用設(shè)計(jì)開(kāi)發(fā)一款專業(yè)軟件,可以方便照明企業(yè)與設(shè)計(jì)院快速、準(zhǔn)確地制作設(shè)計(jì)方案,以便設(shè)計(jì)方選擇燈具的配光、功率進(jìn)行燈光布置。本軟件是基于Microsoft.NETFramework開(kāi)發(fā)環(huán)境,使用C#編程語(yǔ)言,基于Winform框架開(kāi)發(fā)的一款標(biāo)準(zhǔn)的Windows桌面應(yīng)用軟件,其中二維圖形繪制與輸出采用GDI+圖形設(shè)備接口,三維部分使用C#語(yǔ)言封裝下的OpenGL圖形軟件接口。軟件功能包括生成隧道的截面圖、截面燈光圖、縱向燈光圖和三維仿真圖,并能進(jìn)行隧道的分段亮度計(jì)算,生成隧道布燈圖。該軟件極大簡(jiǎn)化了整個(gè)隧道燈光設(shè)計(jì)過(guò)程,且整體設(shè)計(jì)符合規(guī)范要求,能有效減輕隧道配光師和隧道燈光安裝人員的工作強(qiáng)度.

1系統(tǒng)設(shè)計(jì)

1.1系統(tǒng)總體架構(gòu)(1)總體架構(gòu)。軟件采用C#語(yǔ)言編寫(xiě),是基于微軟.netframework框架的Winform桌面應(yīng)用程序[3]。(2)數(shù)據(jù)庫(kù)架構(gòu)。采用輕量級(jí)的SQLite數(shù)據(jù)庫(kù),用于存儲(chǔ)用戶權(quán)限信息、燈具信息和文件瀏覽歷史信息等。(3)繪圖與圖像輸出。軟件主要功能是實(shí)現(xiàn)各種仿真和布燈圖的繪制與輸出。繪圖主要是采用C#語(yǔ)言內(nèi)置的GDI+進(jìn)行繪制[4],采用C#語(yǔ)言內(nèi)置圖形對(duì)象的輸出方法進(jìn)行輸出。(4)三維圖像的生成。軟件的三維圖采用SharpGL控件進(jìn)行繪制。該控件在底層封裝了OpenGL框架,能進(jìn)行三維建模[5]。1.2系統(tǒng)功能模塊設(shè)計(jì)根據(jù)軟件界面劃分的各模塊的主要功能如下:(1)登錄界面。該界面提供登錄功能,用戶輸入用戶名和密碼后,登錄系統(tǒng),系統(tǒng)會(huì)根據(jù)用戶所屬類別,加載不同的功能頁(yè)面。同時(shí)還提供瀏覽模式,該模式無(wú)需密碼就能進(jìn)入系統(tǒng),但是只提供打開(kāi)和瀏覽功能,不能進(jìn)行任何修改。(2)軟件主頁(yè)面。該界面提供打開(kāi)項(xiàng)目與新建項(xiàng)目的功能,點(diǎn)擊相應(yīng)按鈕即可進(jìn)入相應(yīng)功能,并且提供打開(kāi)項(xiàng)目歷史記錄的功能,可快速打開(kāi)最近打開(kāi)過(guò)的項(xiàng)目文件。(3)參數(shù)輸入界面。該界面的功能是讓用戶輸入隧道的基本參數(shù)、燈具的基本參數(shù)和燈具的布置參數(shù)還有項(xiàng)目相關(guān)信息等,為后續(xù)的仿真與設(shè)計(jì)提供基本的數(shù)據(jù)[6]。(4)隧道參數(shù)界面。該界面會(huì)展示前一界面輸入的各項(xiàng)參數(shù),如需修改可在此界面進(jìn)行修改。后續(xù)也可在此界面展示其它界面中修改的隧道參數(shù)。(5)軟件功能主界面。在打開(kāi)項(xiàng)目或者新建項(xiàng)目輸入?yún)?shù)確認(rèn)后會(huì)進(jìn)入此界面界面左側(cè)有一列功能按鈕,點(diǎn)擊相應(yīng)功能按鈕即可進(jìn)入相應(yīng)功能,在界面右側(cè)顯示相應(yīng)功能的子界面。(6)隧道截面圖界面。該界面根據(jù)隧道基本參數(shù)自動(dòng)生成隧道的截面圖,并標(biāo)注各項(xiàng)基本參數(shù),讓設(shè)計(jì)者對(duì)隧道有基本的直觀認(rèn)識(shí)。(7)隧道截面燈光圖界面。該界面根據(jù)燈具的布置參數(shù)自動(dòng)生成隧道的截面燈光仿真圖,用戶可根據(jù)此圖參照設(shè)計(jì)規(guī)范和實(shí)際需求對(duì)燈具布置參數(shù)進(jìn)行修改以滿足實(shí)際項(xiàng)目需求。(8)隧道縱向燈光圖界面。該界面根據(jù)燈具的布置參數(shù)自動(dòng)生成隧道的縱向燈光仿真圖,用戶可根據(jù)此圖參照設(shè)計(jì)規(guī)范和實(shí)際需求對(duì)燈具布置參數(shù)進(jìn)行修改以滿足實(shí)際項(xiàng)目需求。(9)分段亮度計(jì)算界面。該界面提供根據(jù)隧道照明設(shè)計(jì)規(guī)范自動(dòng)計(jì)算的各段亮度值,如果實(shí)際項(xiàng)目中需要對(duì)其進(jìn)行調(diào)整,可在該界面中完成。(10)布燈圖界面。該界面根據(jù)隧道和燈具的各項(xiàng)參數(shù)自動(dòng)生成隧道的布燈圖并以矢量圖格式輸出,與布燈相關(guān)的各項(xiàng)參數(shù)能在此界面進(jìn)行修改。(11)隧道三維圖界面。該界面支持查看隧道的三維模型。(12)燈具數(shù)目統(tǒng)計(jì)界面。該界面支持對(duì)隧道布燈圖中所使用的燈具規(guī)格和數(shù)目的統(tǒng)計(jì)。(13)權(quán)限管理界面。該界面支持對(duì)當(dāng)前用戶密碼的修改,新建用戶和重置用戶密碼等功能。該界面與用戶權(quán)限相關(guān)聯(lián)。只有管理員賬戶才能使用全部功能。

2系統(tǒng)實(shí)現(xiàn)

為方便設(shè)計(jì)人員使用,本軟件采用基于C#語(yǔ)言的Winform框架進(jìn)行開(kāi)發(fā),是一款標(biāo)準(zhǔn)的Windows桌面應(yīng)用程序,由于軟件功能模塊較多,只選取最核心的功能介紹系統(tǒng)實(shí)現(xiàn)。2.1隧道、燈具和其它輔助類建立由于C#是面向?qū)ο箝_(kāi)發(fā)語(yǔ)言,所以在正式功能算法實(shí)施之前,先要進(jìn)行模型也就是類的建立。類就是對(duì)具有相同數(shù)據(jù)元素和功能對(duì)象的抽象,實(shí)際上就是一種數(shù)據(jù)類型。類的構(gòu)成包括字段和函數(shù)。當(dāng)用戶新建項(xiàng)目時(shí),要求用戶輸入隧道和燈具及燈具布置的相關(guān)參數(shù),隧道參數(shù)包括[7]:車道寬度、左側(cè)檢修道寬度、右側(cè)檢修道寬度、建筑界限高度、隧道頂高、檢修道高度、隧道長(zhǎng)度、設(shè)計(jì)時(shí)速、縱坡、車道數(shù)、洞外亮度、通行方式、設(shè)計(jì)小時(shí)交通量等。燈具參數(shù)包括各分段燈具的功率、光效以及燈具利用系數(shù)、養(yǎng)護(hù)系數(shù)等。燈具安裝參數(shù)有基本燈安裝間距、燈具安裝高度、燈具與隧道中線的距離、安裝傾角、投射角、縱向投射角、布燈方式、出入口安裝余量等。對(duì)于所需的參數(shù),都封裝到隧道類和燈具類中,然后再對(duì)其中需要處理的數(shù)據(jù)進(jìn)行方法的封裝[8]。除了兩個(gè)核心類,軟件同時(shí)需要建立一些輔助仿真與繪圖的類,如三維圖繪制所需的向量計(jì)算類和攝像機(jī)類[9]。還有隧道相關(guān)計(jì)算需要的隧道工具類,管理項(xiàng)目和權(quán)限的項(xiàng)目類和用戶類等。 2.2隧道截面圖與平面配光圖繪制各種二維圖形的繪制與輸出是本軟件的核心功能,采用圖形設(shè)備接口GDI+(GraphicsDeviceInterface)進(jìn)行二維圖形繪制。它是一組通過(guò)C++類實(shí)現(xiàn)的應(yīng)用程序編程接口,主要負(fù)責(zé)在屏幕和打印設(shè)備輸出有關(guān)信息。具體編程流程是:先創(chuàng)建一個(gè)圖形對(duì)象(Graphics),然后通過(guò)面向?qū)ο蟮木幊谭绞秸{(diào)用它的各種方法,如Draw-Line(Penpen、Pointpt1、Pointpt2),DrawElilpse(Penp、floatx、floaty、floatwidth、floatheight),實(shí)現(xiàn)圖形繪制[10]。對(duì)于隧道建筑建模而言,隧道的走線及凈空斷面是模型的關(guān)鍵,走線指決定隧道長(zhǎng)度及方向隧道縱向的主軸中心線凈空斷面決定隧道的外形結(jié)構(gòu)。由于燈具屬于隧道內(nèi)建筑,還需要考慮隧道的建筑界限[11]。根據(jù)《公路隧道設(shè)計(jì)規(guī)范》關(guān)于隧道截面設(shè)計(jì)圖的規(guī)定,軟件通過(guò)GDI+接口進(jìn)行編程繪制隧道的截面圖。同時(shí)要根據(jù)輸入的燈具布置參數(shù)如投射角、安裝傾角燈進(jìn)行隧道配光的仿真,包括截面與縱向燈光的配光仿真,其主要意義是驗(yàn)證配光的均勻性,同時(shí)使設(shè)計(jì)能滿足一些其它配光上需要考慮的因素,如隧道配光要求燈光能照射到隧道側(cè)壁兩米高的范圍,這樣能通過(guò)側(cè)壁反射,提高路面大概10%亮度。2.3隧道分段亮度計(jì)算隧道照明是隧道各項(xiàng)設(shè)計(jì)中一個(gè)重要環(huán)節(jié),通常一個(gè)隧道的最低亮度由其車流量和設(shè)計(jì)時(shí)速?zèng)Q定[12]。由于人眼對(duì)光學(xué)的適應(yīng)性是一個(gè)逐步的過(guò)程,所以從交通安全角度上,隧道被分為入口段、過(guò)渡段、中間段和出口段,從亮度角度而言先逐級(jí)遞減,后逐級(jí)增加?!豆匪淼勒彰髟O(shè)計(jì)細(xì)則》中對(duì)各個(gè)分段的亮度進(jìn)行了詳細(xì)的建議性規(guī)定,軟件可根據(jù)用戶輸入的參數(shù)對(duì)隧道進(jìn)行自動(dòng)分段,并根據(jù)《公路隧道照明設(shè)計(jì)細(xì)則》計(jì)算出各段的亮度值,某些情況下設(shè)計(jì)師希望改變亮度值,軟件也提供了修改各段亮度的功能,以方便調(diào)整后續(xù)的布燈操作。2.4隧道布燈圖繪制與輸出隧道布燈圖繪制是該軟件最核心的功能,它能直接指導(dǎo)隧道布燈工作[13]。隧道燈分為基本燈與加強(qiáng)燈,各個(gè)分段都要布置基本燈,基本燈布燈間距可根據(jù)規(guī)定算出參考值,設(shè)計(jì)師也可手動(dòng)修改其值,一般除了中間段,其它分段都要布置加強(qiáng)燈,可根據(jù)計(jì)算出的各段亮度值、燈具的布置系數(shù),結(jié)合《公路隧道照明設(shè)計(jì)細(xì)則》中的計(jì)算公式進(jìn)行計(jì)算:Eav=η•φ•Μ•ωW•S由上式可得出各段的加強(qiáng)燈間距和各段基本燈間距內(nèi)加強(qiáng)燈的個(gè)數(shù)。如果設(shè)計(jì)師需要修改各段基本燈間距內(nèi)加強(qiáng)燈的個(gè)數(shù),也可手動(dòng)修改。繪圖時(shí)同時(shí)要考慮隧道的布燈方式,布燈方式主要有:中線布置、中線側(cè)偏布置、兩側(cè)對(duì)陣布置、兩側(cè)交錯(cuò)布置4種,繪制時(shí)可根據(jù)實(shí)際需求進(jìn)行選擇,布燈同時(shí)需要考慮一些其它條件,如入口段布燈通常比較密集,可以選擇將入口段的燈具布成兩排,這也是設(shè)計(jì)師通常會(huì)采用的布燈方式。隧道出口和入口一般會(huì)留有一定的余量不進(jìn)行布燈,繪制布燈圖時(shí)也要考慮該因素[14]。隧道布燈圖要進(jìn)行一些標(biāo)注,比如要標(biāo)注各分段名稱及其長(zhǎng)度、各分段加強(qiáng)燈的間距、出入口余量長(zhǎng)度、行車方向,同時(shí)還要區(qū)分加強(qiáng)燈與基本燈。繪圖時(shí)采用GDI+圖形設(shè)備接口進(jìn)行編程,輸出時(shí)采用windows的矢量圖格式emf進(jìn)行輸出,可以方便后期的編輯與使用。2.5隧道三維圖繪制首先運(yùn)用OpenGL建模功能。OpenGL雖然提供基本的點(diǎn)、線、多邊形的繪制函數(shù)與一部分復(fù)雜空間體及其組合,然而面對(duì)具有復(fù)雜三維結(jié)構(gòu)的隧道,無(wú)法直接使用函數(shù)進(jìn)行繪制[15]。使用OpenGL以頂點(diǎn)為圖元,以空間多邊形為空間體的各個(gè)面,可以避免凹多面體不能被函數(shù)直接表示的問(wèn)題,以基本幾何圖形尤其是矩形為基礎(chǔ)繪制隧道形狀。然后運(yùn)用OpenGL中的紋理映射、材質(zhì)的光反射設(shè)置、環(huán)境光源設(shè)置,完成對(duì)隧道內(nèi)地面、檢修道、隧道墻壁的材質(zhì)、紋理等的渲染,使三維場(chǎng)景可以模擬現(xiàn)實(shí)中的隧道外形。OpenGL提供視點(diǎn)變化、視角變換、模型變換、投影變換等函數(shù)。利用攝像機(jī)類中封裝好的的變換可以在模擬隧道中任意改變觀察者位置,轉(zhuǎn)變視線方向。利用封裝方法可以初始化自己的視點(diǎn),指定觀察角度、方向,也可以靜態(tài)地觀察圖像。通過(guò)這些方式,可以實(shí)現(xiàn)在模擬隧道中自由漫游,方便對(duì)模擬隧道進(jìn)行多角度全方位的觀察[16]。OpenGL中封裝了計(jì)算光照強(qiáng)度和光照方向的算法,其中以平行光和二次衰減光為主,可以利用其確定光源位置、光源屬性等接口完成方法的封裝。通常由于第一個(gè)光源與其它光源有一定設(shè)置差距,經(jīng)常被用作整體環(huán)境光源,在本文即為自然光源(洞外亮度L20(S))。完成光源設(shè)置后,根據(jù)光源的屬性,以及隧道外觀的材質(zhì)屬性可得到隧道內(nèi)部呈現(xiàn)的亮度,場(chǎng)景中光強(qiáng)的調(diào)節(jié)通過(guò)改變光源屬性中的RGBA分量實(shí)現(xiàn)。

3系統(tǒng)測(cè)試

軟件安裝后,通過(guò)桌面圖標(biāo)打開(kāi)軟件,進(jìn)入登錄界面,輸入默認(rèn)的管理員賬號(hào)與密碼,點(diǎn)擊登錄能正常進(jìn)入軟件主界面,當(dāng)輸入了錯(cuò)誤的用戶名或密碼后,將提示密碼錯(cuò)誤,不能進(jìn)入軟件。進(jìn)入軟件主界面后能選擇是新建項(xiàng)目還是打開(kāi)已保存的項(xiàng)目,還能快速打開(kāi)已記錄的歷史項(xiàng)目。當(dāng)選擇新建項(xiàng)目后,進(jìn)入?yún)?shù)輸入界面;當(dāng)輸入符合軟件校驗(yàn)規(guī)則的參數(shù)后可進(jìn)入軟件的功能主界面,當(dāng)輸入的參數(shù)不符合預(yù)設(shè)規(guī)則時(shí),軟件會(huì)給出相應(yīng)提示。軟件功能主界面默認(rèn)顯示隧道的屬性頁(yè)面。主界面左側(cè)列出各個(gè)子功能界面的按鈕.

4結(jié)語(yǔ)

本文設(shè)計(jì)并實(shí)現(xiàn)了基于C#和Winform框架的隧道照明設(shè)計(jì)軟件,功能包括生成隧道的截面圖、截面燈光圖、縱向燈光圖和三維仿真圖,并能計(jì)算隧道的分段亮度,生成并輸出隧道布燈圖,經(jīng)過(guò)多次測(cè)試及工程師試用證明,該軟件能大幅簡(jiǎn)化整個(gè)隧道的燈光設(shè)計(jì)過(guò)程,且整體設(shè)計(jì)符合規(guī)范要求,能有效減輕隧道配光師和隧道燈光安裝人員的工作量。

參考文獻(xiàn):

[1]劉翠萍.基于LED的公路隧道照明設(shè)計(jì)與中間視覺(jué)下LED隧道照明研究[D].青島:中國(guó)海洋大學(xué),2012.

[2]周曉波.LED燈光照明系統(tǒng)的仿真研究及其軟件開(kāi)發(fā)[D].武漢:武漢理工大學(xué),2004.

[3]繆平,朱曉輝,丁浩,陳蘇蓉.WinFrmo界面統(tǒng)一管理方法研究[J].軟件導(dǎo)刊,2017,16(09):1-3.

[4]陳本峰,蘇琦.WindowsGDI+的研究與應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2003,13(03):56-59.

[5]王曉松,徐妍,田董煒,劉志強(qiáng),胡夢(mèng)濤.SharpGL三維建模技術(shù)實(shí)現(xiàn)[J].軟件導(dǎo)刊,2017,16(04):205-208.

[6]楊超,程翠.公路隧道照明燈具利用系數(shù)研究[J].照明工程學(xué)報(bào),2017,28(1):97-101.

[7]涂耘,史玲娜,王小軍.新舊規(guī)范對(duì)比下的隧道照明節(jié)能設(shè)計(jì)研究[J].照明工程學(xué)報(bào),2015,26(1):50-54.

[8]DEGNANJ.Lightingmountains:thestateoforegonmakesitstun-nelsystemalotbrighter[J].Roads&Bridges,2005,43(10):42-46.

[9]祝敏.基于OpenGL的LED燈光情景仿真[D].哈爾濱:哈爾濱理工大學(xué),2007.

[10]閆宇晗,常鑫.在C#中用GDI+實(shí)現(xiàn)圖形動(dòng)態(tài)顯示[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,8(12):117-118+232.

[11]但小崗.SQLite數(shù)據(jù)庫(kù)在WindowsForms應(yīng)用開(kāi)發(fā)中的應(yīng)用研究[J].價(jià)值工程,2016,35(21):141-142.

[12]王鵬展.LED道路照明光環(huán)境優(yōu)化技術(shù)探索[D].上海:復(fù)旦大學(xué),2011.

[13]張善偉.公路隧道照明設(shè)計(jì)中DIALux的適用性及建模方法分析[J].照明工程學(xué)報(bào),2014,25(5):93-97.

[14]張玲,陳元春,孫勇.基于GDI+的通用圖形平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)工程,2005,23(12):218-220.

[15]吳偉和,郝愛(ài)民,李智.基于直接光照的全局光照模擬[J].計(jì)算機(jī)工程,2009,35(10):257-258.

[16]李寧.高速公路隧道照明節(jié)能技術(shù)及控制方法研究[D].昆明:昆明理工大學(xué),2013.

作者:王鵬宇 秦會(huì)斌 屠凡 單位:杭州電子科技大學(xué)電子信息學(xué)院

相關(guān)熱門標(biāo)簽