基于OpenGL 的隧道照明模拟系统研究

2021-03-11 08:08煜,屠凡,秦
智能物联技术 2021年2期
关键词:限界灯具亮度

沈 煜,屠 凡,秦 晋

(1.浙江省知识产权保护中心,浙江 杭州 310005;2.杭州电子科技大学 新型电子器件与应用研究所,浙江 杭州 310018)

0 引言

随着我国基础设施建设的不断推进,作为公路重要组成部分的隧道的数量也在快速增长。为了进一步保障隧道的行车安全,隧道灯光照明设计要求也越来越高[1]。 传统照明设计采用散射光的配光设计,其设计过程中较为依赖设计师的经验并且存在效率较低以及可能会造成资源浪费等问题[2]。 计算机辅助照明设计主要依赖于照明设计软件,而现有的照明设计软件主要针对室内照明、道路照明以及景观照明等,其并未对隧道照明的场景进行具体优化,因此通过该类软件进行隧道照明模拟时,建立的模型较为复杂,模拟照明的程序也十分繁琐[3]。

作为建筑学中一个重要的分支,隧道学在国内外有着较为完备的仿真解决方案。从上个世纪九十年代以来,国内外许多机构都对隧道的仿真开发了解决方案,如Amra 和Creator 等。 然而其对隧道的模拟针对的是传统建筑行业,与隧道照明的设计并没有较大的关系。 目前,在国际上使用较为广泛的照明仿真软件是DIA 公司的DIALux, 其灯具库中存有灯具的全部数据信息,能够真实显现灯具在空间中的照明情况[4],然而该软件的灯具库中有且仅有合作商家的灯具。对于其他的厂家则需要自行导入灯具的数据文件,并建立模型。 由于没有隧道模型,所以用该软件进行隧道照明模拟时需要构建隧道模型,不仅构建过程复杂,而且还会影响最终的模拟结果[5]。

本文基于OpenGL,利用Microsoft visual studio工具开发了一个隧道照明设计系统,用户输入相应的隧道参数、灯具参数和布灯要求等,系统将会自动生成隧道仿真模型以及隧道内的布灯示意。

1 隧道建模及照明设计要求

1.1 隧道建筑外形要求

对于隧道仿真模拟,需考虑其长度、净空高度、隧道检修道高度、隧道检修道宽度、设计时速、纵坡和建筑限界高度。 其中隧道净空高度通常在6m 至9m 之间,隧道检修道高度如果为0,则检修道宽度就称为隧道富余宽度,通常大于25cm。建筑限界高度与隧道所在的公路类型及设计时速有关,通常选择4.5m,5m 和5.5m 三种。

交通运输部于2010 年7 月发布的《公路隧道设计细则规定》(JTG D70-2010)中,规定了隧道外形设计和安全限界标准规范。该规定中规范了各级公路隧道的建筑限界几何形状,如单向行车公路隧道建筑限界如图1 所示。同时该规定也规范了公路隧道建筑限界横断面组成最小宽度标准。

图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)

1.2 隧道照明分段及亮度要求

隧道照明是隧道建筑中重要的部分。一个隧道的最低亮度是由其车流量和设计时速决定的。由于人眼对光学的适应性是一个逐步的过程,所以从交通安全的角度,隧道会被分为入口段、过渡段、中间段和出口段,亮度先逐级递减,后逐级增加[7]。 隧道照明区域构成如图3 所示。

图3 双向交通隧道照明系统分段图Figure 3 Segmentation diagram of two-way traffic tunnel lighting system

1.2.1 隧道分段亮度

对隧道进行亮度分析,需先获得隧道的洞外亮度L20(S)。 隧道的洞外亮度是指距洞口一个停车视距处、离路面1.5m 高,正对洞口20°视场范围内环境的平均亮度。

入 口 段TH1、TH2亮 度Lth1和Lth2应 按 式(1)、(2)计算:

式中:Lth1——入口段TH1的亮度,cd/m2;

Lth2——入口段TH2的亮度,cd/m2;

k——入口段亮度折减系数,可按表1 取值;

表1 入口段亮度折减系数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)

1.3 隧道布灯方式

常用的隧道灯具布置方式有4 种,为两侧交错布置、两侧对称布置、中线布置和中线偏侧布置,具体如图4 所示。照明灯具的布置形式直接影响了系统的照明效率,其中中线布置、中线偏侧布置的效率高于两侧布置,两侧交错布置的效率高于两侧对称布置[6]。

图4 隧道照明灯具布置图示Figure 4 Diagram of the layout of tunnel lighting fixtures

2 基于OpenGL 的三维仿真

2.1 仿真系统概述

本文中的仿真主要是利用基于OpenGL 开发的C# 语言API——SharpGL, 以Winform 为平台,进行隧道模型的图形可视化仿真。

考虑到配光原理,根据《公路隧道设计细则规定》(JTG D70-2010)和《JTG/T D70/2-01-2014 公路隧道照明设计细则》, 我们已经知道了隧道的外观设计,在仿真中隧道断面参考直接给出的隧道外形。 隧道的分段和亮度属于隧道的性质,则面向隧道对象进行开发。

由于不同地区对布灯的方式选择不同,所以本系统采取的方式为手动输入灯的间距及每分段的加强灯个数来计算出是否达到光强要求。

2.2 模型所需数据类

本文中采用C#作为系统的开发语言。 由于该语言是面向对象开发的语言,所以在实现具体的算法功能之前,需要先构建对应的类,确定系统所需的具体数据。模型所需数据类主要包括隧道建筑类数据、灯光类数据以及摄像机类数据。

2.2.1 隧道建筑类数据

隧道仿真中所需要的参数都封装到了此类中。该类主要包含三种字段和方法:直接使用的输入参量、间接计算的需求值以及对象在每次调用都需要的方法。

作为需要使用的参数,隧道总体宽度等于路面宽度和左右两侧检修道宽度之和,即可设置三个字段,作为三个参数的接收值,再设置一个字段,返回值为前面三个字段之和。

其余的参数诸如分段长度、净空高度等均使用这种方法,直接使用的输入参量设置字段,需要进行运算的则设置字段,返回算法得到的值。

2.2.2 灯光类数据

灯光类数据所包含的字段都是灯光安装的参数,包含安装高度、安装角度、安装位置等。

2.2.3 摄像机类数据

摄像机类数据是整个摄像漫游的功能实现,其包含初始位置点设置、视点变换速度设置和鼠标移动实现移动的接口、位置方向变换的接口等功能。

2.3 OpenGL 功能使用

2.3.1 构建隧道模型

通过基本的几何图形绘制出隧道的模型,再利用OpenGL 中的纹理映射和材质的光反射设置等功能完成对隧道内地面、 墙壁的材质等的渲染,使绘制的隧道模型能够更加真实模拟现实隧道场景。

2.3.2 设置场景中的光照

OpenGL 中同时也封装了一些计算光照强度等数据的算法,其中以平行光和二次衰减光为主,可以利用其确定光源位置、 光源属性等性质的接口完成方法的封装。在设置完光源的属性后,依据隧道的材质属性,就可以模拟光源在隧道内部所呈现的亮度。

2.3.3 在场景中漫游

OpenGL 提供了视点变化、视角变换、模型变换、投影变换等函数。 利用摄像机类中封装好的的这些变换可以在模拟隧道中任意改变观察者位置, 转变视线方向,对模拟隧道进行多角度全方位观察。

2.4 具体算法

2.4.1 隧道外观算法

隧道外观算法流程如图5 所示。算法首先输入参量,判断是否为宽隧道,针对普通隧道和宽隧道进行不同的外观绘制,然后进行圆弧、倒角的绘制;其次,判断左右检修道宽度是否相等,进行对称式或者非对称式的建筑限界绘制;最后,进行各个参量的标注、圆弧分段取直线和延长绘制,完成隧道外观绘制。

图5 隧道外观算法仿真流程Figure 5 Simulation process of tunnel appearance algorithm

2.4.2 隧道分段算法

隧道分段按照照明设计要求中的公式计算得出。 需要注意的是,在进行分段计算时,先要留出2倍基本灯间距的长度作为隧道出入余量,在得到入口段、过渡段各分段长度后,需要进行判断,向上取整至基本灯间距的整数倍,向上取整的长度从中间段长度中减去。余下的长度向下取整至基本灯间距整数倍,作为中间段。最终余留的长度(小于一个基本灯间距)补充至隧道余量之中。

2.4.3 隧道布灯算法

隧道布灯算法是本课题中十分复杂的算法,因此,设计中预先封装了基本灯和加强灯绘制的算法,由此段灯的起点、单段插入数量、基本灯安装间距、灯的安装位置即可确定整个隧道内此种灯的布置。

3 仿真结果与设计方案验证

本系统以Microsoft Visual studio2015 为开发工具,使用Microsoft XML Web services(.NET)设计了一个Winform 应用程序,其主要功能如下:

(1) 完成了隧道的简单三维仿真效果,得到与隧道参数相应的建筑外观及轮廓,绘制了隧道内的方向指示箭头和车道实线。

(2) 实现了隧道的布灯示意,以不同的颜色代表不同规格和用途的遂道灯,4 种布灯方式可选,可以选择其中的一种和几种隧道灯显示。

4 种隧道照明布灯方式仿真结果如图6 所示。图7 是国内某已完工长隧道的光学照明设计方案。图中展示隧道入口处方案,该方案采用两侧交错布灯12*0.69m,其中基本灯间距为0.69m,入口段长度45m。再将此条隧道参数输入至隧道模拟软件及平面验证软件后,可得到图8。 通过对比分析可知,在单独一个隧道分段之内, 隧道布灯没有任何问题。 但在隧道分段之间的分界点上,常常由于现场施工问题,设计院的配光工程师会做手动调整。 对于隧道设计而言,因为有本文的三维模拟效果及平面验证效果,灯光设计师只需要将需求输入至软件内,而后针对三维模拟中不合理的地方,手动修改平面模拟输出图即可。 总体来说,本文采用的隧道模拟算法,能准确模拟隧道的外观及内部布灯结构。

图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

4 结语

本文基于OpenGL 设计了一种专门用于隧道的照明设计系统,根据输入的隧道数据参数、灯具的基本参数和布灯方式,该系统可以完成隧道的简单仿真,并能够实现隧道的布灯示意。 该系统能够显著提升隧道照明设计效率,方便选择不同的布灯设计方案。

猜你喜欢
限界灯具亮度
灯具
◆ 灯具
亮度调色多面手
亮度一样吗?
灯具技术要求22条
解读GB/T 31728—2015《带充电装置的可移式灯具》
基于斩波调制的LED亮度控制
人生的亮度
限界检查器设置方案的探讨
地铁隧道施工偏差限界检测软件开发与应用