智慧图书馆仿真平台体系的构建研究

2022-07-20 02:15郭新华陈建华
计算机仿真 2022年6期
关键词:纹理建模利用

郭新华,陈建华

(泉州信息工程学院软件学院,福建 泉州 362000)

1 引言

近年来,智慧城市、智慧社区、智慧校园的建设已经掀起一股热潮,作为智慧校园重要的有机组成部分——智慧图书馆的建设也被纳入国家建设体系中。欧美的图书馆最早提出了智慧图书馆这个概念。至今,学术界对智慧图书馆的概念众说纷纭,还未对其有统一准确的定义。智慧图书馆是通过大数据、云计算,物联网等一系列的技术和感知硬件、计算机等硬件的支撑,把馆藏资源转换成服务的基础平台,在时空上不受限制地为读者提供智慧服务。

智慧图书馆的建设上,作为高等教育重要组成部分的民办高校,其大部分的图书馆还处在传统、数字的模式,跟不上智慧化建设的步伐。经过对地方高校图书馆以及国内智慧化较成功的高校智慧图书馆调研分析,结合泉州信息工程学院图书馆实际情况进行智慧图书馆仿真平台体系的构建研究。泉州信息工程学院(以下简称泉信)图书馆建于2002年,现有馆舍建筑面积近1.79万平方米,普通阅览室座位1475位,多媒体电子阅览室拥有250台电脑终端供读者访问图书馆资源和网络资源,现处在实体图书馆和数据图书馆的服务状态。所以泉信图书馆存在一些传统性的、普遍性的问题:①随着师生人数不断的增多对图书馆使用需求也在巨增,受图书馆的开放时间的限制,读者在使用实体图书馆时经常在时间和空间上受到较大的影响。②传统的图书馆所提供的服务形式较单一,会出现如当读者没有携带证件就无法借还这样的问题。③传统的图书馆在进行阅读推荐时,几乎没有针对读者的个性化推荐。文章提出智慧图书馆仿真平台体系整体架构,并选择一个现实图书馆为样本,利用该架构实现智慧图书馆仿真平台,期望解决上述问题。

2 智慧图书馆仿真平台体系架构与技术需求

2.1 智慧图书馆仿真平台体系架构

智慧图书馆仿真平台是通过浏览器来体验馆内漫游、享受智慧推荐、访问馆内资源,让读者具有较强沉浸式体验的智慧图书馆。智慧图书馆仿真平台体系包括客户端和仿真端两部分。仿真端是对智慧图书馆的数据资源和硬件资源进行虚拟和仿真,让读者可以在不同的时空实现智慧图书馆的体验;客户端主要是让读者通过浏览器进行仿真平台的使用,体验沉浸式的智慧图书馆服务。主要采用已有的学校网站服务器作为整个体系的后台支持。

在图1中智慧图书馆仿真平台体系主要包括基础层、仿真层和服务层三层结构。基础层包括:①馆藏资料库,保存馆内图书、影像等资源信息,也可以链接到实体图书馆的数字资源服务器,实时更新资源信息;② 仿真模型库,包含图书馆外形、馆内装饰、馆藏书架和馆周边的三维仿真模型等;③辅助模型库,主要保存支撑仿真驱动引擎辅助决策模型和仿真模型需要的纹理图片、数据等,也可以保存引擎产生的实时信息或历史信息。仿真层由仿真驱动引擎生成图书馆虚拟场景,是仿真平台的核心部分,其直接关系到仿真平台为读者服务的功能和性能;仿真驱动引擎从功能上为服务层提供接口。服务层包括:①漫游图书馆,读者可以自行规划路线,进行馆内游览,操作鼠标和键盘进行三维地图的平移、放大、缩小和旋转等操作,实现对图书馆内的如书架、阅读区等场景的漫游;②馆藏信息查询,以不同分类方法查询馆藏信息,为读者提供快速便捷的馆藏资料浏览或搜索定位;③智慧服务,为读者提供智慧个性化推荐。智慧个性化推荐结合读者提供的信息及历史纪录进行推荐,可以采用实值的RBM与 Top N算法(RT—RBM)的协同过滤个性化推荐来实现。此个性化推荐可以为读者进行较精准的推荐,也能为在本馆历史记录、个人提供信息少的读者选择推荐图书馆中若干种的图书排行榜。

图1 智慧图书馆仿真平台体系结构图

2.2 智慧图书馆仿真平台的技术需求

为了实现上述体系架构,需要利用虚拟现实技术,通过对图书馆整体的数据采集,用Photoshop软件进行纹理处理,利用ArcGIS 绘制图书馆二维平面图,利用Esri CityEngine软件进行三维建模来进行仿真平台开发,最后进行平台集成。

虚拟现实(Virtual Reality简称VR)技术是上个世纪80年代新兴的一种综合集成技术,涉及到许多领域,如计算机图形学、人工智能、传感技术、人机交互技术等。它基于各种传感器设备和计算机软硬件构成的三维信息的虚拟环境,虚拟环境可以逼真地模拟现实的事物和环境,人参与到这种环境中,有"亲临其境"的感觉,并与其进行交互。中国国内从上个世纪90年代开始对VR进行研究,图书馆领域也把VR技术逐渐应用在漫游展示、借阅指引等方面。

ArcGIS作为一个兼容性较好的平台,它包含了许多组件,从单一的细粒度的对象(例如单个的几何形状)到复杂的粗粒度的对象(例如地图对象),涉及面极广。ArcGIS如在桌面、在服务器、在野外、通过Web等多种方式,为个体或群体读者提供全面的GIS功能。

Esri CityEngine是一个较新的三维建模软件,是城市进行三维建模的首选软件,应用领域很广,如国防、仿真、数字城市、游戏开发、轨道交通、建筑等领域。Esri CityEngine具有标准行业3D格式,可视化的接口设置,支持GIS数据、基于CGA规则批量建模、集成Python环境、支持多平台等特点。Esri CityEngine可以利用二维矢量图快速进行三维场景的创建,对ArcGIS的支持,可直接利用已有的GIS数据迅速进行三维建模,减少了投资的成本与建设周期。

上述技术再加上面向对象程序设计语言及其开发环境,基本能够支持智慧图书馆仿真平台架构的实现。

3 智慧图书馆仿真平台的设计实现

智慧图书馆仿真平台实现可分前期准备、三维建模与智慧推荐建模和仿真平台集成设计三个阶段,其基本流程如图2所示。首先进行前期的准备工作,包括数据采集、纹理处理和行为调研。数据采集包括馆藏资源库、已有读者相关信息、三维建模所需素材;纹理处理用位图软件Photoshop对采集的纹理进行背景、透视和明暗度等的处理,为三维建模做准备;行为调研是指对图书馆的读者,在馆内行为特征的调研。其次是基于前期的数据资料进行图书馆实体的外形、内饰、内景、书架、书形、馆物、周边景物等实物的三维建模和读者行为建模。最后是仿真平台集成设计,包括仿真驱动引擎设计、智慧推荐建模设计和服务集成设计三部分。服务集成包括漫游图书馆、馆藏信息查询、智慧服务三个模块。

图2 智慧图书馆仿真平台开发流程图

3.1 图书馆基础数据采集

基础数据采集包括图书馆矢量数据、属性数据、纹理数据、影像数据。

对于图书馆的矢量数据、属性数据可采用如下流程:在泉信图书馆附近,利用GPS-RTK技术布局设置GPS控制网,通过GPS接收仪器获取控制点坐标,通过专业软件处理得到观测点的点位, 结合泉信图书馆的平面图、GoogleEarth地图,再利用ArcGIS绘制泉信图书馆的二维矢量底图,也得到包括绿化带、路等的矢量数据。

对于图书馆的纹理数据、影像数据,采用拍摄、网站收集的方式来采集。图书馆纹理包括图书馆表面纹理和室内纹理。对于图书馆表面纹理采集先全景后特征。必须有八个方位的全景和与其对应的特征,还有图书馆建筑物特征:门、窗、建筑材质、封闭阳台、开放阳台、屋项重要装饰、下穿结构、门廊、屋檐、大型台阶、普通台阶、室外楼梯、支柱(墩)立面突出物或重要装饰、悬空通廊等。用高精度相机,进行图书馆多个侧面的纹理数据采集;通过学校网站、GoogleEarth地图等方式资料搜集,获得图书馆的层高(4层)、房顶面纹理;对于正常拍摄不到的图书馆死角可以通过无人机拍摄获取纹理资料。对于图书馆室内纹理,用高精度相机进行纹理数据采集。

3.2 图书馆纹理图片处理

Photoshop是位图处理领域中功专业且处理能力强大的软件,可以利用Photoshop来处理前面采集的纹理图片存在的一些问题。纹理图片存在的问题可以分以下几类进处理:(1)因拍摄而造成的纹理图片过大或有多余的背景,这样的问题可以用Photoshop的自由变换或裁剪进行处理;(2)因拍摄角度没把握好而造成纹理图片的透视问题,如倾斜、角度不正,这类问题可以用透视变换进行处理;(3)拍摄时因光线问题造成纹理图片亮度、色彩问题的,可以通过色彩调整命令进行处理;(4)对于纹理图片中被人或树等障碍物覆盖的部分,采用Photoshop的修复工具、仿制图章工具或通道的方式进行修复。通过上述四种情况的处理,一般可得到较理想的纹理图片。

3.3 图书馆三维建模

三维建模对象有:泉信图书馆为单独一栋圆形建筑,包含了4个楼层,正大门有一条水泥路,四周分布着草地花圃。利用Esri CityEngine软件对泉信图书馆实体进行三维仿真建模,用其内部的CAG语义进行自动建模。三维建模的流程如下:在数据采集、数据处理的前期准备下,接下来在CityEngine创建项目,把前期得到GPS数据、矢量二维数据导入,编写CAG规则,构建三维模型,三维模型导出。

3.3.1 图书馆主体建筑的三维建模

首先,在CityEngine软件中的“File”→“ New”…→“CityEngine” →“CityEngine project”选项按步骤创建一个新的CityEngine项目。将前期准备各种基础数据资源放入assets文件夹中,将GIS数据放入data文件夹中。把矢量二维平面图导入到Shape中,DXF、FGDB、COLLADA、DAE、OBJ、OSM、SHP这些格式都可以导入到Shape中,当然由ArcGIS绘制的二维矢量底图也在这些支持导入的类型中。

接下来,创建图书馆主体建筑的CGA规则文件,分为两部分,第一部分为图书馆的1~3层CGA规则,因为三层的建筑规模是相同的。利用拉伸(extrude) 函数的拉伸规则把地块变成一个10.5建筑模型。分割组件(comp)函数把前面得到的模型按表面和屋顶分开,接着对模型表面FloorFacade利用setupProjection、projectUV(0)、texture这3个函数进行贴图,再利用切割(split)把模型建筑分成3个楼层foors,同样split函数对foors进行A区、B区、C区的划分。屋顶Roof与表面一样也进行了纹理贴图。第二部分为图书馆的顶层CGA规则,因为只有B区、C区两区,所以单独写规则,规则与1~3层类似,利用拉伸(extrude) 函数的拉伸规则把地块变成一个3.5建筑模型。分割组件(comp)函数把前面得到的模型按表面和屋顶分开,接着利用setupProjection、projectUV(0)、texture这3个函数对模型表面进行贴图,再利用split函数对foors进行B区、C区两区的划分。屋顶Roof与表面一样也进行了纹理贴图。

在CityEngine工具栏上选择Assign,接着选择前面创建的规则或直接把规则拖拽到Shape上,点击 Generate,就可以生成图书馆主体建筑三维模型。此时生成的模型还比较简单,还需要细化。如在贴图时,需要注意建筑表面的特征(像玻璃或其它反光材料的纹理应进行反光、透明的参数设置),灵活地进行设置。还需要对楼顶进行精细的建模,利用分割函数split、偏移函数offset、索引函数等内部函数进行挤出、平移、分割等操作,得到建筑顶部的复杂建模。图3为图书馆的建筑模型。

图3 图书馆建模

规则建模部分代码如下:

Lot-->∥图书馆1-3层的建模规则

extrude(10.5)

comp(f) { side :FloorFacade| top(0): Roof }

FloorFacade-->

setupProjection(0,scope.xy,~4,~4)

projectUV(0)

texture("wenli.jpg")

split(y){ { 3.2:floors|0.3: walls }*|3.2:foors|0.3:topwall})

foors-->

split(x){′0.33:A|′0.34:B|0.33:C }

Roof-->

setupProjection(0,scope.xy,~4,~4)

projectUV(0)

texture("wenli.jpg")

Lot-->∥图书顶层的建模规则

extrude(3.5)

comp(f) { side :FloorFacade| top(0): Roof }

FloorFacade-->∥定义外观

setupProjection(0,scope.xy,~4,~4)

projectUV(0)

texture("wenli.jpg")

split(y){ 3.2:foors|0.3:topwall)

foors-->

split(x){′0.5:B|′0.5:C }

Roof-->∥定义屋顶

setupProjection(0,scope.xy,~4,~4)

projectUV(0)

texture(" wenli.jpg")

3.3.2 图书馆周围绿化、道路的三维建模

根据前期得到的道路中心线数据、绿化带面状数据矢量数据结合数字高程模型,在CityEngine中利用Map Layer图层的地形图创建一个有起伏的绿化带地形图,再利用Graph Layer图层来创建道路的网络图层,再利用绿化带的纹理还有道路纹理进行贴图。对于比较复杂的物体如路灯、树等,因Esri CityEngine支持标准行业3D格式,所以可以用3DMAX制作完较复杂不规则的模型再导入。

3.3.3 图书馆室内建模

通过复制图书馆三维模型的顶层面,并对顶层面挤出厚度、平移,并与复制图层结合成室内地板的建模。馆内装饰、书架、书、门、窗、桌椅、地板、过道等的建模,可以利用编写不同CAG规则,结合内部函数进行快速建模,再利用纹理数据对上述实物进行贴图,并按照实体馆内布局进行组合。图4为图书馆室内书架桌椅。

图4 图书馆室内书架桌椅建模

4 仿真平台集成设计

仿真平台集成设计包含仿真驱动引擎设计和服务集成设计两大部分。平台的仿真驱动引擎采用三维仿真引擎软件HLCSim进行开发。仿真驱动引擎设计中要解决平台中的管理、调度和驱动等核心问题。仿真管理设置主要包含:①仿真时间合理设定;②仿真运行速度控制;③仿真记录与回放、暂停与恢复;④系统参数监视与设置等。仿真平台调度是根据读者的操作实现仿真资源和服务功能的有序运行。仿真驱动是根据读者操作反映的服务需求生成虚拟现实的视觉场景和资源信息的联动。服务集成设计是仿真平台与读者的接口,包含漫游图书馆、馆藏信息查询、智慧服务三个模块。漫游图书馆可为读者提供自规划阅览路线和平台推荐浏览路线。馆藏信息查询为读者提供在馆内全部资料、物品及服务指南的查询。智慧服务,根据读者在本馆历史记录、个人提供信息提供个性化推荐。

利用Esri CityEngine把仿真平台导出为3ws格式的文件,可以利用调用本地服务或发布到ArcGIS Online两种方式来发布,发布之后就可以通过浏览器浏览建立的虚拟三维场景。

5 结束语

本文提出了智慧图书馆仿真平台体系架构,并以泉州信息工程学院的图书馆为样本,设计实现智慧图书馆仿真平台,解决了实体图书馆受时间和空间的限制、服务形式单一、个性化推荐差等问题;使读者不受时间空间限制,进行馆内漫游、浏览馆藏资源、享受智慧推荐服务,得到全新的体验,展现了智慧图书馆个性化服务的场景。该仿真平台体系架构的实现,对民办高校的图书馆智慧化建设具有重要的参考价值。

猜你喜欢
纹理建模利用
物理建模在教与学实践中的应用
在经历中发现在探究中建模
思维建模在连续型随机变量中的应用
求距求值方程建模
画与理
肺纹理增多是病吗?
童梦
TEXTURE ON TEXTURE质地上的纹理
利用“隐性”圆,巧解一类题
消除凹凸纹理有妙招!