论文部分内容阅读
【摘 要】为了能提供给用户具有真实感和沉浸感的新一代用户界面,三维交互式显示技术得到了科学界和工程界的重视。三维交互式显示技术运用AutoCAD、3DMAX等三维建模软件建立逼真的三维模型,模型导入开发环境中通过连接层与底层数据库进行交互,最终实现将三维模型信息动态实时的反馈给用户同时提供了立体直观的视觉体验。
【关键词】煤场 三维立体 数据库 WPF 交互显示
一、引言
社会经济正在飞速发展,尤其是在数字化的时代背景下的体验经济不断发展,使得人们对于信息资源的认识发生了巨大的变化。同时在这种形势下,用户对于信息的获取也与以往单一、线性的方式有所不同,呈现出多维性、非线性等开放式特点。通常的二维平面显示在某些方面已不能满足人类的需求,技术上存在着较大缺陷,人们希望显示器能真实地还原显示出空间的三维信息。通过具有实时互动的三维交互式显示技术来获得更逼真、更生动的体验。三维交互方式与真实世界密切相关,三维环境中使得用户在应用中有更直观的感觉。因此,三维立体交互式显示技术应运而生,并得到了不断发展,成为当今的一个研究热点。
但在发展过程中还存在着诸多问题。由于HTML缺乏空间立体描述和对多媒体文件的处理能力较差,无法与底层数据库直接关联,影响了界面的交互效果,真实物理世界中物体的动作还无法精确的表现出来,缺乏沉浸感;针对以上问题,可以用3DMAX等高级建模软件,对实体进行严格的坐标计算,精确的描绘出自然界中的物体模型,增强用户的真实体验感和沉浸感。再结合Visual Studio环境进行面向对象的逻辑语言编写,通过连接层和逻辑代码的控制与数据库进行交互,对数据的变化迅速的在前端表现出来,精确的反馈给用户。
二、三维交互式界面
三维交互式界面[1]是动态的的,是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合。交互式界面能与后台数据库进行交互。三维交互式界面需要在制作动态页面的基础上结合三维建模工具,例如AutoCAD或3DMAX等,技术的难点在于如何建立逼真的立体模型;将模型导入网页后如何克服光线、视角、材质丢失等问题。
(一)AutoCAD与Flash建模
Flash是一款平面矢量动画制作软件,其创建的图形不具备三维信息,也可以直接插入HTML中,单独制作成网页,与AutoCAD结合可以克服Flash[2]只能制做二维动画的局限性,并广泛应用于机械、建筑、航空等领域进行三维动画的模拟仿真。首先运用AutoCAD的三维实体建模和布尔运算功创建立体的三维模型,在Flash中编辑修改具有三维效果的图元文件并润色。在Flash中运用补间动画、逐帧动画等技术实现三维动画。
Flash也可以与数据库关联,实现对模型的动态操作,Flash不能直接查询数据库,要通过够访问ASP网页来实现对数据库的交互。Flash与数据库的连接可看成是3层架构,Flash是应用层,ASP是连接层,数据库是底层。Flash应用程序发出数据请求给ASP脚本,然后对数据库进行数据调用,将原始数据反馈给ASP连接层,最后将文本数据传递回应用层。
(二)3DMAX建模
3DMAX的高性能工具集可制作逼真的三维立体并呈现真实的三维的场景。3DMAX的优势是可以利用材质编辑器、高质量硬件渲染器、纹理贴图以及HDR合成器,制作写实图像[3]。将3DMAX建立的模型导入Expression Blend 中进行进一步调整,使用丰富的布局和自定义可视效果,突出显示任务必需的屏幕元素,或者淡化次要元素。最终在web上显示的模型效果就会达到最佳状态并生成 WPF应用程序,所显示的设计方案由 Xaml 来表示。它可以与 Visual Studio 2010 中的WPF[4]页项目交互使用,后台通过ADO.NET访问数据库实现模型与数据库的交互[5]。
三、三维交互式显示技术应用实例
将三维交互式显示技术与火力发电厂燃料与燃煤信息管理系统的视图模块相结合,通过模拟煤场三维场景、建立系统数据库实现交互。该项目中的模型对象为子煤场中的煤堆模型,三维煤堆的模型设计对于整个三维显示模块至关重要,模型建立的成功与否直接关系着整个模块总体效果,所以在建模工具上选择3DMAX。通过了解实际煤场中煤堆的形状,结合煤场现场的图片,对煤堆三维模型进行了设计,并调整三维模型的灯光和视角以及摄像机角度,使得三维模型在一个最佳的视角。建立煤堆模型如图1所示。
图1 煤堆模型
图2 变化后的煤堆模型
确定煤堆的三维模型后,将模型以“obj”格式导出至Microsoft Expression Blend 3中。通过 Blend 3可以获得表示三维模型的Xaml源码,利用三维模型的源码实现对模型对象的调用。
模型的控制应用WPF中的动画功能,通过动画可以创建动态交互界面。动画是WPF模型的核心部分,动画本质就是在一个时间段里对象位置、角度、颜色、透明度等属性值的连续变化。WPF使用声明的方式创建动画,用封装好的类配置动画。访问数据库是通过ADO.NET[6]技术,项目中煤堆模型的变化比率是按照数据库中煤的数量与煤堆总量的比例计算得到。煤的数量可以通过三维模型的大小线性显示给用户,程序中运用了DispatcherTimer方法,设置刷新数据库的时间为10秒,每10秒钟刷新读取一次数据库,将数据库中变化的煤量传给模型,模型根据具体数量显示大小。 如图2 显示了煤区中变化后的煤堆。
四、结论
将三维建模软件与底层数据库进行交互就可在UI界面中制作出逼真的三维动画,可广泛应用于机械、建筑、航空等领域进行三维模型的仿真与展示。本文已经完成了三维交互式显示技术的目标。并在实际的项目中得到应用,在交互性上也取得了良好的效果,由于没有扎实的美工技术支持,模型的真实感不强,需要在建立模型的过程中做进一步研究。通过前端美工基础与后台技术的结合,进一步提高系统的整体效果。
参考文献:
[1]初士军,基于web3D的虚拟钻井培训系统研究与实现。东北石油大学硕士生毕业论文。2012,3
[2] 黄立婧,运用flash 和AutoCAD 实现三维动画的研究。宁波职业技术学院学报 2008,10 第12卷第5期
[3]宋杨,基于3DMAX结构建模的两相流系统可视化应用研究。哈尔滨理工大学硕士生毕业论文。2011,3
[4]张洪定,孟冬梅,基于Expression Blend 4中文版WPF和Silverlight项目设计基础,清华大学出版社,2011.8.
[5]李涛,刘凯奎,王永皎,Visual C++ SQL Server数据库开发与实例,清华大学出版社,2006,7,1
[6] Cuiru Wang, Shuangxi Liu. SOA Based Electric Power Real-time Data Warehouse[C].Workshop on Power Electronics and Intelligent Transportation System, Guangzhou, China, Aug 2008.
【关键词】煤场 三维立体 数据库 WPF 交互显示
一、引言
社会经济正在飞速发展,尤其是在数字化的时代背景下的体验经济不断发展,使得人们对于信息资源的认识发生了巨大的变化。同时在这种形势下,用户对于信息的获取也与以往单一、线性的方式有所不同,呈现出多维性、非线性等开放式特点。通常的二维平面显示在某些方面已不能满足人类的需求,技术上存在着较大缺陷,人们希望显示器能真实地还原显示出空间的三维信息。通过具有实时互动的三维交互式显示技术来获得更逼真、更生动的体验。三维交互方式与真实世界密切相关,三维环境中使得用户在应用中有更直观的感觉。因此,三维立体交互式显示技术应运而生,并得到了不断发展,成为当今的一个研究热点。
但在发展过程中还存在着诸多问题。由于HTML缺乏空间立体描述和对多媒体文件的处理能力较差,无法与底层数据库直接关联,影响了界面的交互效果,真实物理世界中物体的动作还无法精确的表现出来,缺乏沉浸感;针对以上问题,可以用3DMAX等高级建模软件,对实体进行严格的坐标计算,精确的描绘出自然界中的物体模型,增强用户的真实体验感和沉浸感。再结合Visual Studio环境进行面向对象的逻辑语言编写,通过连接层和逻辑代码的控制与数据库进行交互,对数据的变化迅速的在前端表现出来,精确的反馈给用户。
二、三维交互式界面
三维交互式界面[1]是动态的的,是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合。交互式界面能与后台数据库进行交互。三维交互式界面需要在制作动态页面的基础上结合三维建模工具,例如AutoCAD或3DMAX等,技术的难点在于如何建立逼真的立体模型;将模型导入网页后如何克服光线、视角、材质丢失等问题。
(一)AutoCAD与Flash建模
Flash是一款平面矢量动画制作软件,其创建的图形不具备三维信息,也可以直接插入HTML中,单独制作成网页,与AutoCAD结合可以克服Flash[2]只能制做二维动画的局限性,并广泛应用于机械、建筑、航空等领域进行三维动画的模拟仿真。首先运用AutoCAD的三维实体建模和布尔运算功创建立体的三维模型,在Flash中编辑修改具有三维效果的图元文件并润色。在Flash中运用补间动画、逐帧动画等技术实现三维动画。
Flash也可以与数据库关联,实现对模型的动态操作,Flash不能直接查询数据库,要通过够访问ASP网页来实现对数据库的交互。Flash与数据库的连接可看成是3层架构,Flash是应用层,ASP是连接层,数据库是底层。Flash应用程序发出数据请求给ASP脚本,然后对数据库进行数据调用,将原始数据反馈给ASP连接层,最后将文本数据传递回应用层。
(二)3DMAX建模
3DMAX的高性能工具集可制作逼真的三维立体并呈现真实的三维的场景。3DMAX的优势是可以利用材质编辑器、高质量硬件渲染器、纹理贴图以及HDR合成器,制作写实图像[3]。将3DMAX建立的模型导入Expression Blend 中进行进一步调整,使用丰富的布局和自定义可视效果,突出显示任务必需的屏幕元素,或者淡化次要元素。最终在web上显示的模型效果就会达到最佳状态并生成 WPF应用程序,所显示的设计方案由 Xaml 来表示。它可以与 Visual Studio 2010 中的WPF[4]页项目交互使用,后台通过ADO.NET访问数据库实现模型与数据库的交互[5]。
三、三维交互式显示技术应用实例
将三维交互式显示技术与火力发电厂燃料与燃煤信息管理系统的视图模块相结合,通过模拟煤场三维场景、建立系统数据库实现交互。该项目中的模型对象为子煤场中的煤堆模型,三维煤堆的模型设计对于整个三维显示模块至关重要,模型建立的成功与否直接关系着整个模块总体效果,所以在建模工具上选择3DMAX。通过了解实际煤场中煤堆的形状,结合煤场现场的图片,对煤堆三维模型进行了设计,并调整三维模型的灯光和视角以及摄像机角度,使得三维模型在一个最佳的视角。建立煤堆模型如图1所示。
图1 煤堆模型
图2 变化后的煤堆模型
确定煤堆的三维模型后,将模型以“obj”格式导出至Microsoft Expression Blend 3中。通过 Blend 3可以获得表示三维模型的Xaml源码,利用三维模型的源码实现对模型对象的调用。
模型的控制应用WPF中的动画功能,通过动画可以创建动态交互界面。动画是WPF模型的核心部分,动画本质就是在一个时间段里对象位置、角度、颜色、透明度等属性值的连续变化。WPF使用声明的方式创建动画,用封装好的类配置动画。访问数据库是通过ADO.NET[6]技术,项目中煤堆模型的变化比率是按照数据库中煤的数量与煤堆总量的比例计算得到。煤的数量可以通过三维模型的大小线性显示给用户,程序中运用了DispatcherTimer方法,设置刷新数据库的时间为10秒,每10秒钟刷新读取一次数据库,将数据库中变化的煤量传给模型,模型根据具体数量显示大小。 如图2 显示了煤区中变化后的煤堆。
四、结论
将三维建模软件与底层数据库进行交互就可在UI界面中制作出逼真的三维动画,可广泛应用于机械、建筑、航空等领域进行三维模型的仿真与展示。本文已经完成了三维交互式显示技术的目标。并在实际的项目中得到应用,在交互性上也取得了良好的效果,由于没有扎实的美工技术支持,模型的真实感不强,需要在建立模型的过程中做进一步研究。通过前端美工基础与后台技术的结合,进一步提高系统的整体效果。
参考文献:
[1]初士军,基于web3D的虚拟钻井培训系统研究与实现。东北石油大学硕士生毕业论文。2012,3
[2] 黄立婧,运用flash 和AutoCAD 实现三维动画的研究。宁波职业技术学院学报 2008,10 第12卷第5期
[3]宋杨,基于3DMAX结构建模的两相流系统可视化应用研究。哈尔滨理工大学硕士生毕业论文。2011,3
[4]张洪定,孟冬梅,基于Expression Blend 4中文版WPF和Silverlight项目设计基础,清华大学出版社,2011.8.
[5]李涛,刘凯奎,王永皎,Visual C++ SQL Server数据库开发与实例,清华大学出版社,2006,7,1
[6] Cuiru Wang, Shuangxi Liu. SOA Based Electric Power Real-time Data Warehouse[C].Workshop on Power Electronics and Intelligent Transportation System, Guangzhou, China, Aug 2008.