基于OpenGL的事故三维综合演示平台

2015-11-08 02:06周扬刘永涛
关键词:事故现场视点纹理

周扬,刘永涛

(1.西安航空学院车辆工程系,西安710077;2.长安大学汽车学院,西安710064)

基于OpenGL的事故三维综合演示平台

周扬1,刘永涛2

(1.西安航空学院车辆工程系,西安710077;2.长安大学汽车学院,西安710064)

利用3DMAX建模软件与OpenGL图形接口软件对道路交通事故现场进行三维重建,针对事故现场场景的渲染速度进行优化,生成参数化的现场环境,并通过漫游技术来提高系统的交互性。针对一起具体的交通事故进行模拟演示,结果表明:该系统能够对实际道路交通事故进行准确再现。

事故现场;三维重建;渲染速度;参数化

近年来,随着我国汽车保有量的不断增加,道路交通安全形势日趋严峻,道路交通事故发生总数及其伤亡人数一直居于高位。在处理交通事故时,通常是交警根据现场的痕迹或当事人的口述经过简单计算直接得出处理结果,其结果往往缺乏直观性,易引起纠纷[1]。随着虚拟现实技术的发展,目前能够运用计算机估计出事故发生前后车辆的速度、行驶轨迹等,再通过逼真的动画再现事故发生的整个场景与过程,使事故处理结果更具有说服性[2]。

在针对一起具体交通事故进行再现时,为了了解事故发生的整个过程,往往需要从较远的视点来俯瞰整个事故场景,涉及的场景较大,模型数量较多。为了保证事故再现时具有良好的流畅性与交互性,本文研究了常见的事故场景漫游方法,创建了用于辅助处理的事故三维综合演示平台,最后对一起真实交通事故进行了成功再现。本研究主要采用3DMAX建模软件建立三围模型,并通过OpenGL图形接口软件将模型导入到VC++编程环境中实现可视化。

1 事故场景构建

1.1场景快速渲染

为了逼真地再现事故现场,使用3DMAX建模软件对一般事故现场涵盖的道路设施、植物及周边环境进行建模。3DMAX软件具有强大的建模能力,利用其多边形建模工具[4]可以快速地创建所需模型,并保证模型具有较高的精细度。然而,由于创建的模型边数及定点数较多,在VC++编程环境中利用OpenGL图形接口软件对模型进行大规模调用时存在渲染速度较慢的问题。

编写程序对3DMAX生成的3DS模型进行读取后,模型的顶点、多边形、纹理等数据即被保存到专门的数组中[5],此时可采用两种方式渲染模型:①即时模式,即时给出函数命令,OpenGL随即采用给出的函数来绘制模型;②OpenGL显示列表,函数命令被存储到显示列表中,当需要渲染模型时即调用相应的显示列表,其中的OpenGL函数命令按顺序被执行。使用显示列表的一个优势在于当要多次在场景中渲染同一个复杂物体时,系统只需计算一次该物体的顶点、三角形等信息,可显著提高场景的渲染速度。

在对道路交通事故现场进行建模时,一般存在大量的模型(比如道路、隔离带、道路设施等)需要被重复调用,如果使用即时模式进行绘制,会由于大量的顶点计算而对计算机造成极大负担,场景的渲染速度将会受到严重影响[6]。而采用显示列表则会大大加快其渲染速度,使事故演示更加流畅。在场景渲染时可采用图1所示步骤。

图1 场景渲染方式

1.2参数化建模技术

为了节省建模时间以及提高事故三维综合演示平台对于交通事故再现的通用性,对于任意一起交通事故,通过输入相关参数如长度、坡度等即可生成事故现场的具体场景。对于一起具体的交通事故,其发生的场景一般都涉及到道路以及道路周边的地形环境。场景参数化建模[7]可通过以下方法实现:

1.2.1道路的参数化建模

道路的常见类型主要包括车道的数量,有两车道、四车道等。道路的常见设施包括隔离带、护栏、树木等。

通过调用预先制作好的道路、隔离带、护栏、树木三维模型,存入显示列表[8],连续调用相应模型的显示列表即可生成所需长度的道路及其配套设施,而模型调用的次数则取决于所需道路的长度。道路的参数化建模步骤如图2所示。

图2 道路参数化建模步骤

1.2.2地形的参数化建模

事故发生的现场地形一般较为复杂,有山峦也有平原。为了保证事故演示效果的流畅性,本研究通过分形算法绘制出所需的地形轮廓[9],采用纹理映射技术对地貌特征进行表现,最终得到渲染速度较快,且具有一定逼真度的事故现场场景。其具体方法如下:

1)采用分形方法生成地形。对山区进行建模时,由于山区地形存在随机性、复杂性,可采取分形算法来生成三维地形轮廓[10-11]。首先对每个地形块所在的平面高度进行随机赋值,山区地形或平缓或陡峭则取决于随机量的范围。然后对各个地形块的间距进行随机赋值,山峰的密集程度则同样取决于采用的随机数范围。

2)采用纹理映射技术对地貌特征进行表现。地形模型建好后,使用OpenGL纹理映射技术将地形的高程数据传递到地形模型上[12],纹理映射技术将纹理图片坐标与地形模型的几何坐标一一对应绑定,将纹理图片映射到地形模型上,实现立体逼真的地貌效果。实现纹理映射需要通过2个步骤:①定义纹理,初始化并指定纹理图片的映射方式;②纹理映射,说明纹理坐标与映射对象几何坐标的对应关系。最终生成的地形效果如图3、图4所示。

图3 较平缓的丘陵

图4 较陡峭的山区

2 事故再现实现

2.1场景漫游技术

为了增强事故演示时的交互性与沉浸感,本平台通过视点控制技术实现了场景漫游[13]。OpenGL图形接口中提供了工具函数gluLookAt()。该函数相当于一台摄影机,在函数中可以指定摄影机的位置(视点)、摄影机瞄准的参考点(注视点)以及摄影机的朝向。函数形式如下:

void gluLookAt(

GLdouble eyex,GLdouble eyey,GLdouble eyez,

GLdouble centerx,GLdouble centery,GLdouble centerz,

GLdouble upx,GLdouble upy,GLdouble upz)其中:eyex,eyey,eyez用来指定视点的位置;centerx,centery,centerz用来指定期望视线上的任意一点(即注视点),通常取观测场景的中心;upx,upy,upz用来指定向上方向。

在虚拟场景中,漫游即相当于视点在进行运动[14],同样也相当于摄影机在运动。观察者在场景中漫游时须考虑以下两种情况:①当观察者在场景中前进或后退时,此时视点与注视点同时移动,视点与注视点坐标值同时增大或减小;②当观察者在场景中转向时,此时视点应固定,而注视点以视点为中心旋转进行圆周运动。在键盘消息函数中定义相应的操作,如前进、后退、转向等,根据具体操作来改变视点和注视点的参数值即可实现场景漫游功能。

2.2演示动画实现

对于一起具体的交通事故进行事故再现,最终要生成事故演示动画。动画实现[15]的基本原理是利用人眼的视觉残留特性而以一定的速度播放静止的画面(帧),这些画面在人眼中形成了连续运动的效果。画面的播放速度不能过慢也不能过快,过慢会使得动画不够平滑、流畅,过快则导致人眼不能及时反应,一般播放速度应大于24帧/s。计算机在实现动画时可以采用“画—擦—画”的技术,即画好一幅图后,将其擦掉,紧接着再画另一幅图,这样当擦除图画达到一定的频率时就形成了连续的动画。

在OpenGL中,可利用双缓存技术[16]来实现上述的“画—擦—画”方式。该技术在显存中开辟两块完整的颜色缓冲区,在一个缓冲区中进行图形的绘制,在另一个缓冲区中进行图形的显示。当一帧图画绘制完成后,两个缓冲区进行交换,然后刚才用来绘图的缓冲区被用来进行显示,而用来显示的缓冲区则用于绘图。通过这样的交换使绘制的图形达到动画效果,并使效率大大提高。利用双缓存技术实现动画需要建立一个系统时钟及相应的驱动机制,时钟可使得系统每隔一段时间就驱动缓存进行交换,这样即可形成流畅的动画。

3 实例

使用所建平台对发生于2012年8月26日的延安“8.26”特大交通事故进行场景构建。通过输入相应的现场数据生成事故现场道路以及地形,导入相应车辆模型以及计算得出的车辆运行轨迹数据,最终得到事故演示的关键帧,如图5所示。通过键盘操作移动视点并改变观察的位置和角度,其效果如图6所示。

图5 事故关键帧

图6 变换视点后效果

4 结束语

本文综合运用3DMAX与OpenGL建立事故三维综合演示平台,对于场景渲染速度进行优化,使演示效果更加流畅,参数化生成事故现场道路以及周边环境,使得演示平台实用性得到增强。在此基础上通过漫游来提升交互性,利用双缓存技术实现事故动画的流畅演示。实际案例表明本平台可以满足事故再现的相关要求,能够为事故责任判定提供更为充实的依据。

[1]马社强,薛菁菁.我国道路交通事故责任认定理论和方法发展综述[J].中国人民公安大学学报:自然科学版,2013,(3):27-30.

[2]张伟,李一兵,胡远志.基于OpenGL的交互式虚拟三维事故场景构建[J].公路交通科技,2003,20(2):108 -110.

[3]肖潇,朱大明,夏蓉.基于OpenGL的火灾模型构建的研究与实现[J].科学技术与工程,2012,12(5):1090 -1093.

[4]包欣,王诺.基于3DMAX的三维虚拟校园建模的方法研究[J].数字技术与应用,2012(12):56-56.

[5]康凤娥,孔令德.MFC框架下3DS模型接口的研究与实现[J].山西师范大学学报:自然科学版,2013,27(1):43-48.

[6]刘鹏程,何宗宜,杨帮会.利用OpenGL显示列表技术实现GIS对象的符号化[J].测绘信息与工程,2005,30(6):26-27.

[7]纪振海,段建中,谷计划.基于OpenGL的渐开线弧齿锥齿轮三维参数化建模[J].工程设计学报,2009,16(6):432-435.

[8]阮宇智,杨钦,金宇林.基于OpenGL显示列表的三维地质体模型快速显示算法[J].石油工业计算机应用,2006,14(3):20-23.

[9]郑佳荣,王强,占文锋.三维建模方法研究现状综述[J].北京工业职业技术学院学报,2013,12(4):5-7.

[10]王芳,李壮志,郑卉卉.OpenGL和分形算法在地形绘制中的应用[J].微计算机信息,2007,23(1-3):312 -314.[11]黄斌.基于图像超分辨率三维几何建模技术[J].重庆理工大学学报:自然科学版,2013,27(3):85-90.

[12]马甜甜,段锦,祝勇,等.OpenGL中模拟目标与实时场景的融合技术[J].计算机系统应用,2013,22(3):205 -208.

[13]曹丹丹,朱彩英,刘晓春.基于碰撞检测的交互式三维场景漫游系统研究与实现[J].测绘通报,2014,(2):97-100.

[14]常洪强,刘爽,李国超.基于OpenGL的3DS文件解析及视点移动和三维选择的实现[J].电子设计工程,2011,19(20):14-17.

[15]庄建东,曾勇进.计算机动画处理技术及方法[J].计算机系统应用,2013,22(9):203-205.

[16]宋永军,苏鸿根.VC环境下OpenGL动画的实现方式与特性分析[J].计算机应用与软件,2004,21(4):102 -103.

(责任编辑杨黎丽)

Research About Three-Dimensional Demonstration Platform About Accidents Based on OpenGL

ZHOU Yang1,LIU Yong-tao2
(1.Department of Vehicle Engineering,Xi'an Aeronautical University,Xi'an 710077,China;2.School of Automobile,Chang'an University,Xi'an 710064,China)

Using the modeling software 3DMAX and the graphical interface OpenGL,the scene of road traffic accidents in three-dimension was reconstructed.The optimization of rendering speed of the road traffic accidents scene was studied and parameterized generation of the accident scene was obtained.Then the interaction of system by using roaming technology was improved.At last,this system was used to simulate a specific accident and the result turns out that it can be used for accurate reconstruction for actual road traffic accidents.

the scene of accident;three-dimensional reconstruction;rendering speed;parameterization

TP206

A

1674-8425(2015)04-0077-04

10.3969/j.issn.1674-8425(z).2015.04.015

2015-01-12

国家自然科学基金资助项目(51278062);西安航空学院校级研究项目(2014KY1208)

周扬(1989—),男,陕西汉中人,助教,硕士,主要从事道路交通安全研究。

周扬,刘永涛.基于OpenGL的事故三维综合演示平台[J].重庆理工大学学报:自然科学版,2015(4):77 -80.

format:ZHOU Yang,LIU Yong-tao.Research About Three-Dimensional Demonstration Platform About Accidents Based on OpenGL[J].Journal of Chongqing University of Technology:Natural Science,2015(4):77-80.

猜你喜欢
事故现场视点纹理
滑轮
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
环境视点
消除凹凸纹理有妙招!
靠脸吃饭
幽默大联盟
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点