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