沈 煜,屠 凡,秦 晉
(1.浙江省知識(shí)產(chǎn)權(quán)保護(hù)中心,浙江 杭州 310005;2.杭州電子科技大學(xué) 新型電子器件與應(yīng)用研究所,浙江 杭州 310018)
隨著我國基礎(chǔ)設(shè)施建設(shè)的不斷推進(jìn),作為公路重要組成部分的隧道的數(shù)量也在快速增長。為了進(jìn)一步保障隧道的行車安全,隧道燈光照明設(shè)計(jì)要求也越來越高[1]。 傳統(tǒng)照明設(shè)計(jì)采用散射光的配光設(shè)計(jì),其設(shè)計(jì)過程中較為依賴設(shè)計(jì)師的經(jīng)驗(yàn)并且存在效率較低以及可能會(huì)造成資源浪費(fèi)等問題[2]。 計(jì)算機(jī)輔助照明設(shè)計(jì)主要依賴于照明設(shè)計(jì)軟件,而現(xiàn)有的照明設(shè)計(jì)軟件主要針對(duì)室內(nèi)照明、道路照明以及景觀照明等,其并未對(duì)隧道照明的場景進(jìn)行具體優(yōu)化,因此通過該類軟件進(jìn)行隧道照明模擬時(shí),建立的模型較為復(fù)雜,模擬照明的程序也十分繁瑣[3]。
作為建筑學(xué)中一個(gè)重要的分支,隧道學(xué)在國內(nèi)外有著較為完備的仿真解決方案。從上個(gè)世紀(jì)九十年代以來,國內(nèi)外許多機(jī)構(gòu)都對(duì)隧道的仿真開發(fā)了解決方案,如Amra 和Creator 等。 然而其對(duì)隧道的模擬針對(duì)的是傳統(tǒng)建筑行業(yè),與隧道照明的設(shè)計(jì)并沒有較大的關(guān)系。 目前,在國際上使用較為廣泛的照明仿真軟件是DIA 公司的DIALux, 其燈具庫中存有燈具的全部數(shù)據(jù)信息,能夠真實(shí)顯現(xiàn)燈具在空間中的照明情況[4],然而該軟件的燈具庫中有且僅有合作商家的燈具。對(duì)于其他的廠家則需要自行導(dǎo)入燈具的數(shù)據(jù)文件,并建立模型。 由于沒有隧道模型,所以用該軟件進(jìn)行隧道照明模擬時(shí)需要構(gòu)建隧道模型,不僅構(gòu)建過程復(fù)雜,而且還會(huì)影響最終的模擬結(jié)果[5]。
本文基于OpenGL,利用Microsoft visual studio工具開發(fā)了一個(gè)隧道照明設(shè)計(jì)系統(tǒng),用戶輸入相應(yīng)的隧道參數(shù)、燈具參數(shù)和布燈要求等,系統(tǒng)將會(huì)自動(dòng)生成隧道仿真模型以及隧道內(nèi)的布燈示意。
對(duì)于隧道仿真模擬,需考慮其長度、凈空高度、隧道檢修道高度、隧道檢修道寬度、設(shè)計(jì)時(shí)速、縱坡和建筑限界高度。 其中隧道凈空高度通常在6m 至9m 之間,隧道檢修道高度如果為0,則檢修道寬度就稱為隧道富余寬度,通常大于25cm。建筑限界高度與隧道所在的公路類型及設(shè)計(jì)時(shí)速有關(guān),通常選擇4.5m,5m 和5.5m 三種。
交通運(yùn)輸部于2010 年7 月發(fā)布的《公路隧道設(shè)計(jì)細(xì)則規(guī)定》(JTG D70-2010)中,規(guī)定了隧道外形設(shè)計(jì)和安全限界標(biāo)準(zhǔn)規(guī)范。該規(guī)定中規(guī)范了各級(jí)公路隧道的建筑限界幾何形狀,如單向行車公路隧道建筑限界如圖1 所示。同時(shí)該規(guī)定也規(guī)范了公路隧道建筑限界橫斷面組成最小寬度標(biāo)準(zhǔn)。
圖1 單向行車公路隧道建筑限界(單位:cm)Figure 1 Construction boundary of one-way traffic highway tunnel (unit: cm)
圖1 中,H 為建筑限界高度,H=5m;LL為左側(cè)側(cè)向?qū)挾?;LR為右側(cè)側(cè)向?qū)挾?;C 為余寬;J 為檢修道寬度;h 為檢修道或人行道高度;EL為建筑限界左頂角寬度,EL=LL;ER為建筑限界右頂角寬度,當(dāng)LR≤1m 時(shí),EL=LR;當(dāng)LR≥1m 時(shí),EL=1m;
建筑限界與隧道內(nèi)輪廓應(yīng)符合圖2 所示關(guān)系。
圖2 建筑限界與隧道內(nèi)輪廓的關(guān)系(單位:cm)Figure 2 The relationship between the building boundary and the inner contour of the tunnel(unit:cm)
隧道照明是隧道建筑中重要的部分。一個(gè)隧道的最低亮度是由其車流量和設(shè)計(jì)時(shí)速?zèng)Q定的。由于人眼對(duì)光學(xué)的適應(yīng)性是一個(gè)逐步的過程,所以從交通安全的角度,隧道會(huì)被分為入口段、過渡段、中間段和出口段,亮度先逐級(jí)遞減,后逐級(jí)增加[7]。 隧道照明區(qū)域構(gòu)成如圖3 所示。
圖3 雙向交通隧道照明系統(tǒng)分段圖Figure 3 Segmentation diagram of two-way traffic tunnel lighting system
1.2.1 隧道分段亮度
對(duì)隧道進(jìn)行亮度分析,需先獲得隧道的洞外亮度L20(S)。 隧道的洞外亮度是指距洞口一個(gè)停車視距處、離路面1.5m 高,正對(duì)洞口20°視場范圍內(nèi)環(huán)境的平均亮度。
入 口 段TH1、TH2亮 度Lth1和Lth2應(yīng) 按 式(1)、(2)計(jì)算:
式中:Lth1——入口段TH1的亮度,cd/m2;
Lth2——入口段TH2的亮度,cd/m2;
k——入口段亮度折減系數(shù),可按表1 取值;
表1 入口段亮度折減系數(shù)kTable 1 The brightness reduction coefficient k at the entrance section
L20(S)——洞外亮度,cd/m2。
出 口 段EX1、EX2亮 度Lex1和Lex2應(yīng) 按 式(3)、(4)計(jì)算:
中間段亮度Lin應(yīng)按表2 取值。
表2 中間段亮度Lin 取值(單位:cd/m2)Table 2 The middle section brightness value Lin (unit: cd/m2)
1.2.2 隧道分段長度
隧道各分段與該條隧道的照明停車視距DS有關(guān),入口段TH1、TH2的長度Dth1和Dth2應(yīng)按式(5)計(jì)算:
出口段EX1、EX2長度固定為30m。
過渡段可通過查表3 得出,余下的部分即為中間段。
表3 過渡段長度Dtr 計(jì)算表(單位:m)Table 3 Calculation table of transition section length Dtr (unit: m)
常用的隧道燈具布置方式有4 種,為兩側(cè)交錯(cuò)布置、兩側(cè)對(duì)稱布置、中線布置和中線偏側(cè)布置,具體如圖4 所示。照明燈具的布置形式直接影響了系統(tǒng)的照明效率,其中中線布置、中線偏側(cè)布置的效率高于兩側(cè)布置,兩側(cè)交錯(cuò)布置的效率高于兩側(cè)對(duì)稱布置[6]。
圖4 隧道照明燈具布置圖示Figure 4 Diagram of the layout of tunnel lighting fixtures
本文中的仿真主要是利用基于OpenGL 開發(fā)的C# 語言API——SharpGL, 以Winform 為平臺(tái),進(jìn)行隧道模型的圖形可視化仿真。
考慮到配光原理,根據(jù)《公路隧道設(shè)計(jì)細(xì)則規(guī)定》(JTG D70-2010)和《JTG/T D70/2-01-2014 公路隧道照明設(shè)計(jì)細(xì)則》, 我們已經(jīng)知道了隧道的外觀設(shè)計(jì),在仿真中隧道斷面參考直接給出的隧道外形。 隧道的分段和亮度屬于隧道的性質(zhì),則面向隧道對(duì)象進(jìn)行開發(fā)。
由于不同地區(qū)對(duì)布燈的方式選擇不同,所以本系統(tǒng)采取的方式為手動(dòng)輸入燈的間距及每分段的加強(qiáng)燈個(gè)數(shù)來計(jì)算出是否達(dá)到光強(qiáng)要求。
本文中采用C#作為系統(tǒng)的開發(fā)語言。 由于該語言是面向?qū)ο箝_發(fā)的語言,所以在實(shí)現(xiàn)具體的算法功能之前,需要先構(gòu)建對(duì)應(yīng)的類,確定系統(tǒng)所需的具體數(shù)據(jù)。模型所需數(shù)據(jù)類主要包括隧道建筑類數(shù)據(jù)、燈光類數(shù)據(jù)以及攝像機(jī)類數(shù)據(jù)。
2.2.1 隧道建筑類數(shù)據(jù)
隧道仿真中所需要的參數(shù)都封裝到了此類中。該類主要包含三種字段和方法:直接使用的輸入?yún)⒘?、間接計(jì)算的需求值以及對(duì)象在每次調(diào)用都需要的方法。
作為需要使用的參數(shù),隧道總體寬度等于路面寬度和左右兩側(cè)檢修道寬度之和,即可設(shè)置三個(gè)字段,作為三個(gè)參數(shù)的接收值,再設(shè)置一個(gè)字段,返回值為前面三個(gè)字段之和。
其余的參數(shù)諸如分段長度、凈空高度等均使用這種方法,直接使用的輸入?yún)⒘吭O(shè)置字段,需要進(jìn)行運(yùn)算的則設(shè)置字段,返回算法得到的值。
2.2.2 燈光類數(shù)據(jù)
燈光類數(shù)據(jù)所包含的字段都是燈光安裝的參數(shù),包含安裝高度、安裝角度、安裝位置等。
2.2.3 攝像機(jī)類數(shù)據(jù)
攝像機(jī)類數(shù)據(jù)是整個(gè)攝像漫游的功能實(shí)現(xiàn),其包含初始位置點(diǎn)設(shè)置、視點(diǎn)變換速度設(shè)置和鼠標(biāo)移動(dòng)實(shí)現(xiàn)移動(dòng)的接口、位置方向變換的接口等功能。
2.3.1 構(gòu)建隧道模型
通過基本的幾何圖形繪制出隧道的模型,再利用OpenGL 中的紋理映射和材質(zhì)的光反射設(shè)置等功能完成對(duì)隧道內(nèi)地面、 墻壁的材質(zhì)等的渲染,使繪制的隧道模型能夠更加真實(shí)模擬現(xiàn)實(shí)隧道場景。
2.3.2 設(shè)置場景中的光照
OpenGL 中同時(shí)也封裝了一些計(jì)算光照強(qiáng)度等數(shù)據(jù)的算法,其中以平行光和二次衰減光為主,可以利用其確定光源位置、 光源屬性等性質(zhì)的接口完成方法的封裝。在設(shè)置完光源的屬性后,依據(jù)隧道的材質(zhì)屬性,就可以模擬光源在隧道內(nèi)部所呈現(xiàn)的亮度。
2.3.3 在場景中漫游
OpenGL 提供了視點(diǎn)變化、視角變換、模型變換、投影變換等函數(shù)。 利用攝像機(jī)類中封裝好的的這些變換可以在模擬隧道中任意改變觀察者位置, 轉(zhuǎn)變視線方向,對(duì)模擬隧道進(jìn)行多角度全方位觀察。
2.4.1 隧道外觀算法
隧道外觀算法流程如圖5 所示。算法首先輸入?yún)⒘?,判斷是否為寬隧道,針?duì)普通隧道和寬隧道進(jìn)行不同的外觀繪制,然后進(jìn)行圓弧、倒角的繪制;其次,判斷左右檢修道寬度是否相等,進(jìn)行對(duì)稱式或者非對(duì)稱式的建筑限界繪制;最后,進(jìn)行各個(gè)參量的標(biāo)注、圓弧分段取直線和延長繪制,完成隧道外觀繪制。
圖5 隧道外觀算法仿真流程Figure 5 Simulation process of tunnel appearance algorithm
2.4.2 隧道分段算法
隧道分段按照照明設(shè)計(jì)要求中的公式計(jì)算得出。 需要注意的是,在進(jìn)行分段計(jì)算時(shí),先要留出2倍基本燈間距的長度作為隧道出入余量,在得到入口段、過渡段各分段長度后,需要進(jìn)行判斷,向上取整至基本燈間距的整數(shù)倍,向上取整的長度從中間段長度中減去。余下的長度向下取整至基本燈間距整數(shù)倍,作為中間段。最終余留的長度(小于一個(gè)基本燈間距)補(bǔ)充至隧道余量之中。
2.4.3 隧道布燈算法
隧道布燈算法是本課題中十分復(fù)雜的算法,因此,設(shè)計(jì)中預(yù)先封裝了基本燈和加強(qiáng)燈繪制的算法,由此段燈的起點(diǎn)、單段插入數(shù)量、基本燈安裝間距、燈的安裝位置即可確定整個(gè)隧道內(nèi)此種燈的布置。
本系統(tǒng)以Microsoft Visual studio2015 為開發(fā)工具,使用Microsoft XML Web services(.NET)設(shè)計(jì)了一個(gè)Winform 應(yīng)用程序,其主要功能如下:
(1) 完成了隧道的簡單三維仿真效果,得到與隧道參數(shù)相應(yīng)的建筑外觀及輪廓,繪制了隧道內(nèi)的方向指示箭頭和車道實(shí)線。
(2) 實(shí)現(xiàn)了隧道的布燈示意,以不同的顏色代表不同規(guī)格和用途的遂道燈,4 種布燈方式可選,可以選擇其中的一種和幾種隧道燈顯示。
4 種隧道照明布燈方式仿真結(jié)果如圖6 所示。圖7 是國內(nèi)某已完工長隧道的光學(xué)照明設(shè)計(jì)方案。圖中展示隧道入口處方案,該方案采用兩側(cè)交錯(cuò)布燈12*0.69m,其中基本燈間距為0.69m,入口段長度45m。再將此條隧道參數(shù)輸入至隧道模擬軟件及平面驗(yàn)證軟件后,可得到圖8。 通過對(duì)比分析可知,在單獨(dú)一個(gè)隧道分段之內(nèi), 隧道布燈沒有任何問題。 但在隧道分段之間的分界點(diǎn)上,常常由于現(xiàn)場施工問題,設(shè)計(jì)院的配光工程師會(huì)做手動(dòng)調(diào)整。 對(duì)于隧道設(shè)計(jì)而言,因?yàn)橛斜疚牡娜S模擬效果及平面驗(yàn)證效果,燈光設(shè)計(jì)師只需要將需求輸入至軟件內(nèi),而后針對(duì)三維模擬中不合理的地方,手動(dòng)修改平面模擬輸出圖即可。 總體來說,本文采用的隧道模擬算法,能準(zhǔn)確模擬隧道的外觀及內(nèi)部布燈結(jié)構(gòu)。
圖6 同一位置的四種布燈方式視圖Figure 6 Views of four lighting methods at the same position
圖7 實(shí)際施工入口段示意Figure 7 Schematic diagram of the actual construction entrance section
圖8 隧道模擬軟件得出的某隧道入口示意Figure 8 Schematic diagram of a tunnel entrance obtained by tunnel simulation software
本文基于OpenGL 設(shè)計(jì)了一種專門用于隧道的照明設(shè)計(jì)系統(tǒng),根據(jù)輸入的隧道數(shù)據(jù)參數(shù)、燈具的基本參數(shù)和布燈方式,該系統(tǒng)可以完成隧道的簡單仿真,并能夠?qū)崿F(xiàn)隧道的布燈示意。 該系統(tǒng)能夠顯著提升隧道照明設(shè)計(jì)效率,方便選擇不同的布燈設(shè)計(jì)方案。