吴 洁 魏斌峰
(1、江西机电职业技术学院,江西 南昌 330013;2、江西经济管理干部学院,江西 南昌 330088)
仿真技术广泛使用在各领域,引起了人们的热切关注。它利用了计算机虚拟环境的方法实现多源信息融合的交互方式,借助各种传感设备达到在计算机显示设备中模拟真实场景的目的。目前,该技术已经发展的非常成熟。
在计算机辅助建筑设计方面,计算机图形学的不断创新和发展也使得计算机在辅助建筑设计领域取得不断深入,而三维仿真技术的成熟,必然引起一场计算机辅助建筑设计的伟大技术革命。
随着近年来CAD技术的发展和普及,已经使得效果图在很大程度上得到了普及。然而,效果图只是展示平面、静态的视觉体验,更无法提供交互的感觉,是一个静态的环境。观察者的视觉角度单一,也很被动,也很难获得丰富的信息。和其他用于观看黑板的公共建筑相同,阶梯教室也要求学生观看黑板的视线不会被遮挡,要有良好的视觉效果。
本章的主要内容就是在理论基础之上完成一个用于阶梯教室视线分析、优化及座位自动排布的应用程序,将理论成果应用到实践。本系统的主要功能包括以下几个部分:
⑴基于用户(建筑设计师)提供的需求,结合已有的视线分析资料(阶梯教室设计与讲台技术研究所提供),构建面向学生视线效果的分析计算模型,此模型是此软件的核心功能。
⑵根据编辑后的三维场景三维模型、讲台的相关数据、指定的学生坐席座椅,基于视线分析计算模型,自动分析指定位置的视线情况(判断是否有遮挡、遮挡率等)。提供多种视线分析功能,并提供不同视线分析的结果比较。如基于射线法的视线分析、基于深度图的视线分析等。
⑶根据所得数据,对所有的待分析的学生座位进行批量的视线分析,并保存分析结果。
⑷由阶梯教室设计和讲台技术研究所得到的分析过程中的定量和变量。实现简单的变量调整,人机交互功能。
⑴基于视线分析所得到的结果,联系当前阶梯教室学生座位的实际情况,构建成为减小学生席视线遮挡率的优化模型。
⑵根据优化模型计算出合适的视线升起C值,根据此值对场景中的所有座位进行视线优化,并在三维模拟场景中展示优化结果。
⑶提供优化前后的遮挡率以及座位视觉效果等级划分的对比。
⑴基于输入约束值的智能排布功能。
⑵支持智能排布不同座位的排列方式。
⑶支持手动调整排布结果。
⑷三维展示及保存排布的结果。
系统的需求分析实体关系图如图1-1所示。
图1-1 系统实体关系图
本章分为三部分,分别介绍阶梯教室学生的视线分析、优化及座位排布的实现。
在阶梯教室的三维模拟场景中,通过鼠标获取的方法选择某个座位进行视线分析。从选中的座位的人眼位置向黑板下沿位置的细分点发射一组射线,每条射线分别在场景中的物体(学生和建筑物)进行求交运算,如果运算结果返回交点,则改变当前射线的颜色(无遮挡为绿色,有遮挡为红色),表示该学生在此射线方向上的视线位置存在遮挡。在系统界面的右上角使用HUD显示当前座位的视线状况的参数。
在OSG中,osgUtil::LineSegmentIntersector继承自于osgUtil::Intersector类,用于检测所指定线段与模拟场景中图形之间的相交情况,并向程序源码提供了查询相交测试结果的函数。该类使用两个osg::Vec3作为线段的起始点和终结点,本程序中的osgUtil::LineSegmentIntersector(pStart,pEndMS),pStart和pEndMS就是两个osg::Vec3类型的三维空间点坐标。使用viewer->getSceneData()->accept(_iv)设置参与相交检测的模拟物体,本系统中使用的是场景中的所有模拟物体。然后,整个for循环遍历所有视线,完成一组视线的遮挡检测。如图2-1所示。
图2-1 视线分析
在阶梯教室视线分析的基础上,对学生席视线产生严重遮挡的阶梯教室进行座位排布优化。
在手动优化过程中,首先要做的就是要获取当前模拟场景中阶梯教室的类型,也就是判断是否存在横向的走道;第二步则是要针对不同类型的阶梯教室选择不同的优化方法来计算得到优化后的座位位置;第三步:设置用于控制座位排布范围的约束条件;第四步则是在三维模拟场景中重置阶梯教室中所有座位的位置,使得优化后的结果能够实时的展现;第五步要对优化后的座位重新进行视线分析;第六步对照优化前后的遮挡率或者合格座位占座位总数的百分比。如果建筑设计师对优化的结果满意,那么进行第七步,输出优化结果,最后优化完成。如果建筑设计师对优化结果并不满意,那么返回至第二步,调整约束条件,重复整个过程直到满意。
而自动优化过程,则采用“先计算,再调整”的方法进行优化。先针对当前模拟阶梯教室选取合适的C值,根据C值计算出理想状态下的座位高度,在这基础上再根据约束条件对座位位置进行调整,并不断重复这个过程,直到得到所有座位遮挡率之和最小的一种排布方式。这时重置模拟场景中座位位置并进行视线分析,然后对比优化前后的变化,输出优化结果。优化过程如图2-2所示。
图2-2 优化过程
优化后的阶梯教室视线分析结果如图2-3所示。
图2-3 优化后展示图
本文采用参数化设计方法将阶梯教室坐席排布的关键部分参数化,通过在软件对话框中输入关键参数的方式完成整个阶梯教室的坐席排布。教室的各项参数,输入完成后使用Qt的消息触发机制,将所获得的参数传给函数seatArrange(),该函数根据获得的参数进行座位排布。排布过程中使用三角形数解法计算每一排的视线升起值,利用for循环迭代所有排数,完成三维虚拟场景中的座位排布。排布结果如图2-4所示。
图2-4 排布结果三维效果图
本文介绍了阶梯教室视线仿真分析优化及智能排布系统的各项基本功能的实现,相对于传统的视线设计方法,该方法更便捷直观、更逼真、更可靠。通过数据模拟获得建筑的最佳数据量。
[1]刘天波.武汉某学校阶梯教室的结构设计[J].国外建材科技,2007,(6).
[2]杨晓.基于OSG的虚拟场景中包围盒碰撞检测的研究[J].计算机技术与发展,2011,9(21).
[3]Nagata Shojiro,Atsushi Nakazawa K I.An Interactive Multiview Autostereoscopic Display System for Digital Image Archives in Tele/Cyber Heritage Museums[A].In Proceedings of VSMM[C].IEEE,2002.4.
[4]Kazuhiro Shin-ike and Hitoshi Iima.A Method for Determining Classroom Seating Arrangements by Using Bioinformatics[J].Maizuru National College of Technology,234,Shiraya,Maizuru,Kyoto 625-8511,Japan.2011,2:10.