基于X3D的坐标点实时处理技术在铜鼓修复中的研究

2018-05-19 07:55项敏敏
绥化学院学报 2018年5期
关键词:鼓槌鼓面坐标值

项敏敏

(铜陵学院电气工程学院 安徽铜陵 244061)

铜鼓是少数民族世代相传的独特器物,它绵延数千年,流传甚广,铜鼓在先民心中不仅是一种器乐,也包含着权力的荣耀,财富的象征,并演变成少数民族虔诚祀礼的神器[1]。铜鼓最重要的文化意义就在于它的浑厚的音色以及瑰丽的纹饰,但是由于某些自然因素和人为因素,使得很多古文物铜鼓都破碎残损,鼓面受损,使它也失去原本音色,由于铜鼓鼓面特殊性,使得传统手工制作修复手段很难达到理想的状态,不尽人意,鼓面修复进而恢复其原貌对文物工作者来说是个巨大的挑战。随着科学技术的发展,虚拟现实技术应用而生,广泛应用于各大领域,如高端装备领域包括机械工业、航空航天、汽车仿真等,能源领域包括核电仿真、电力仿真、煤炭矿井等,在其他领域包括高等教育、应急演练、建筑艺术、科普文博等,利用虚拟现实技术结合网络技术对古文物文化遗产进行虚拟复原并进行网络展示已经成为热门。针对这种热门趋势,本文利用虚拟现实技术恢复铜鼓的外形,重点阐述了如何利用X3D坐标点实时处理技术对铜鼓鼓面不同位置的声音进行匹配,实现在虚拟的计算机世界里,完美重现古文物铜鼓。

一、三维建模

X3D中的造型具有几何尺寸和外观,两者由一个Shape节点定义。这些特征定义了创建和放置在虚拟空问中的造型。一个造型的确切几何尺寸和外观由给定节点和节点域的选择值控制。造型的外观由Appearance和Material节点来描述,X3D 提供 4 种原始几何造型:Sphere、Box、cylinder和Cone,任何复杂的物体都可以由这4种原始几何造型构成[2]。利用 X3D节点直接编写3D模型对于一部分不规则的模型可以采用挤压节点Extrusion来实现。如果模型较复杂,仅仅根据根据 X3D语法构造准确的三维模型是很困难的,需要采用外部建模软件来建模,本文的铜鼓模型是不规则物体,无法使用X3D直接生成,所以需要利用第三方的造型软件来建模,然后通过相应的接口导出X3D文件,最后编辑X3D源程序的相关部分来实现[3]。

本文模型的具体做法首先利用AutoCAD的线条勾勒出铜鼓的构造线条,之后将该样条线导入到3DS MAX中进行细致处理,在此过程中需要对每一个转角点进行圆滑处理,以提高模型的精细度,之后使用车削功能模拟出铜鼓的基本模型,再使用渲染功能中的位图功能对该模型的侧面以及正面进行贴图渲染,但由于铜鼓内部是镂空的,所以必须使用.JPG格式的图片进行贴图渲染,否则导出X3D文件之后模型会出现铜鼓内部无法渲染的问题。如下图1所示。

图1 三维建模

利用3DSMAX构建出铜鼓模型后,由于3DSMAX无法直接导出X3D模型,所以只能够先导出VRML文件,之后再利用X3D-Edit等软件转换为X3D文件。但是X3D虚拟场景一般是用于网页浏览在开发过程中需要考虑渲染速度以及传输速度,不能一味追求3D模型的逼真度,所以在不影响模型逼真度的前提下,需要对模型进行优化尽量减少模型线条数以及面数[4]。

二、实时取点

虚拟场景内坐标是定义物体位置的关键属性,在X3D内模型的坐标是由translation子节点定义的,属于SFVec3f类型,该子节点的定义局部坐标系统原点的位置,以米制计算的x、y、z值[5]。但通过该子节点只能够取得模型中心点的坐标,无法取得模型表面每个点的坐标。在X3D场景内提供了TouchSensor节点,用于跟踪指点设备的位置和状态,检测用户点击几何对象的时间。该节点内部提供hitPoint_changed事件,用于输出在子节点局部坐标系统点击点的定位,输出类型为SFVec3f以米制计算的x、y、z值,流程图如图2所示。

图2 流程图

在铜鼓模拟中,由于铜鼓鼓面与地面垂直,与鼓槌坐标系不同如果直接进行赋值的话会导致鼓槌位置偏移与坐标紊乱,所以需要使用ROUTE节点把hitpoint_changed事件输出的坐标值赋值给JavaScript节点内的事件进行相应的处理,之后把处理过的坐标系赋值给鼓槌以达到鼓槌敲击鼓面的效果。关键代码如下所示。

如上述代码所示,当鼠标点击鼓面时hitPoint_changed事件输出了一组坐标系,并通过ROUTE节点把该坐标系传值给JavaScript脚本内的chuizijin事件,该事件所接受到的坐标系是以“value”命名的SFVec3f类型的坐标系,value[0]表示X坐标值、value[1]表示Y坐标值、value[2]表示Z坐标值,鼓面坐标系与鼓槌坐标系不同,两个模型并不在同一个坐标系内,在赋值时需要把value坐标系内的X轴的坐标值赋值给鼓槌的Y轴坐标,而把value坐标系内的Y轴的坐标值赋值给鼓槌的Y轴坐标,并且由于整个铜鼓使用的是独立坐标系,比世界坐标系小,所以在赋值过程中需要把坐标值进行相应的放大计算。如图2所示。

图2 坐标系赋值

在X3D场景内使用hitPoint_changed事件输出鼠标点击点的坐标系,不仅可以给场景内的模型赋值,还可以直接输出为模型位移的参照点或输出为文本作为场景搭建时的坐标参照系,但是在使用过程中要注意场景内部坐标系的变化以及坐标单位的变化。

三、结语

本文利用虚拟现实技术实现铜鼓外貌修复及音色匹配,在很大程度上缩短铜鼓修复的周期,也避免了对铜鼓造成二次损坏,尽可能向人们展示铜鼓的原本外貌。本文针对铜鼓鼓面纹饰及音色匹配问题,研究了一种基于X3D的坐标点实时处理技术,对虚拟铜鼓鼓面的不同位置进行声音匹配,最终实现了铜鼓的外形复原也实现了铜鼓的声音复原。虚拟现实技术是一门新兴的科学技术,其应用潜力和前景广阔,这项技术在文物保护中的应用还不够完善,在很多地方还存在着进步的地方。

参考文献:

[1]梁燕理.壮泰铜鼓文化比较研究[J].传承,2016(5).

[2]刘立平,王育坚.基于X3D的虚拟校园交互技术研究与实现[J].北京联合大学学报(自然科学版),2011(4).

[3]常立言.浅析虚拟现实发展现况及所面临的技术难题[J].内江科技,2017(6).

[4]黄坤.虚拟现实技术在工业设计中的应用[J].赤峰学院学报(自然科学版),2017(11).

[5]付力娅.基于虚拟现实技术运用的数字媒体交互方式嬗变研究[J].新媒体研究,2016(13).

猜你喜欢
鼓槌鼓面坐标值
对“同心协力”最佳击球策略问题的分析与探讨
红蓼红了
娃娃敲鼓
彩泥变变变
——鼓
大鼓
胡椒会“跳舞”声音有秘密
基于二分法迭代的凸模数控铣削加工编程*
基于宏程序的数控车削加工应用
鼓槌石斛的资源现状与保护利用研究
使用Maya动力学制作拨浪鼓的效果