基于PV3D引擎的热点不变形理论研究

2016-12-08 10:02曾雪松张娅莉
商丘职业技术学院学报 2016年5期
关键词:全景图球面漫游

曾雪松,张娅莉

(信阳职业技术学院 数学与计算机科学学院,河南 信阳 464000)



基于PV3D引擎的热点不变形理论研究

曾雪松,张娅莉

(信阳职业技术学院 数学与计算机科学学院,河南 信阳 464000)

对三维全景漫游开发过程中的热点不变形技术难题进行必要的原因剖析和翔实的理论推导,提出采用基于PV3D免费引擎的函数或类调用,通过程序类关键代码的编写,成功解决三维全景虚拟现实漫游动画中的热点视频的不变形添加难题,为实现三维虚拟漫游动画中多个功能不同场景融合应用与设计,提供更多借鉴与参考.

全景漫游;PV3D引擎;热点不变形;视频添加

0 引言

全景漫游技术也称为三维全景虚拟现实技术[1]161-163,它的核心是全景图,通常采用普通相机或专业设备取景,然后通过相关软件制作生成.使用全景漫游可以降低实体模型建模难度,减小系统文件空间资源占用,提高网络运行速度.常见的全景图可分为立方体全景图、圆柱形全景图和球面全景图.在三维全景漫游虚拟技术应用开发过程中,原有的实体模型建模因其实体不规则或模型复杂导致模型数据量激增,从而使得实体模型在渲染输出时速度变得缓慢,使得很多场景相对复杂的模型不能在现有网络条件下畅快地展示给民众.随着三维建模技术的发展,图形与图像技术的综合应用不断融合提升,采用简单模型建模,然后将材质赋给模型,同时配合全景漫游实现三维虚拟效果,这样可以节省开发时间和降低开发成本,提高三维虚拟技术的实用性.本文主要采用球面全景图来做参考剖析热点的不变形理论依据.

1 PV3D概述

Papervision-3D简称PV3D[2]89-92,是由巴西Carlos团队开发的一款基于Action Script开源且免费提供给Flash动画领域应用比较成熟的三维立体引擎项目,其遵循MIT协议.因其交互能力强,开发技术简单,占用系统资源小,功能强大,能实现炫丽美观的Flash 3D动画应用程序开发,使得Flash 3D动画制作难度大大降低,从而使该3D引擎得到广泛应用.如基于3D模型的船舶驾驶仿真模拟动画,基于3D模型的机动车驾驶模拟动画,以及基于3D类人物游戏动画等.查阅相关资料发现,良好地使用该技术可以实现提高三维虚拟仿真动画的沉浸性、交互性和逼真性.

PV3D引擎因其效率和功能备受关注,但通过查阅相关资料发现,基于PV3D引擎的全景漫游技术[3]2140-2143存在相关功能不够完善的问题,主要表现在透视投影中会使热点随着相机的运动而变形的缺点,从而影响在实际动画运行中热点显示效果.本文主要通过相关基础理论分析和程序代码编写,成功解决热点变形问题,并用实例证实该法的可行性.

2 关键技术剖析与破解

2.1 热点的变形问题剖析

目前,使用全景技术实现虚拟场景漫游开发的方法很多,其中,基于PV3D的全景漫游开发技术在商业广告领域应用颇多,利用该技术能够实现F1ash3D应用程序开发,效果相当不错.其动画运行原理是:在3D动画运行过程中,全景图中的图像处在同一曲面坐标系中,包括全景图中人为创建的热点图像,都参与系统设计的绝对运动.所以,我们看到的将是完整的全部像素点运动,动画效果逼真.但在现实应用中,往往需要3D动画中局部不动,也就是人为设计热点区域,使之突出显示,实现动中有静效果.如何解决动画运行过程中热点区域图像不变的问题是本研究的重心.破解思路是:采取在全景图中构建热点,同时将全景图中的热点区域坐标作对应转换,生成二维平面图像,通过PV3D函数类编程实现三维图像动画运行中能正常让二维图像在三维空间的局部显示的方法实现.为此,需要解决两个问题,一是热点的选取,二是对应热点坐标的转换.热点的选取将根据需要容易解决,在此不再叙述,下面从理论上推理实现热点的不变形方法与技巧.

2.2 热点的不变形研究

设二维平面图中任意一点A(x,y),当采用球面全景图技术[4]45-68生成全景图时,与A点对应的球面上点A′(x′,y′,z′)对应几何关系,如图1、图2所示.

图1 平面图中任意点A的位置

图2 对应球面上点A′的位置

依据左手定则笛卡尔坐标系对应算法,可以算出A′(x′,y′,z′)的坐标值.如公式(1)所示.

(1)

利用上述数学公式,进一步代入计算,可得平面点A与曲面点A′的关系,如公式(2)所示.

(2)

通过推理与计算,得出三维球面全景图中的点A′在对应的二维平面图中的点A位置显示,从而实现立体图中任意一点与平面图中某点形成的完全一一映射关系.三维虚拟漫游技术中,要实现动中有静,则需要全景漫游动画中局部“不变”区域被人为保留出来,通过编写类代码来实现,且不影响其他区域动画效果.

2.3 热点的不变形添加

依据上述理论,通过编写程序类代码,实现求解平面上点A与球面全景图上点A′对应,本文采用PV3D引擎提供的calculateScreenCoords( )方法类和计时器Timer类[5]31-49综合应用,即时获取A′点在屏幕上的同步二维坐标A显示,进而完成热点的不变形添加.热点的不变形添加关键代码如下:

Varreal2dx:Number=0;

Varreal2dy:Number=0;

Plane.calculateScreenCoords(camera);

Real2dx=plane.screen.x+viewpoint.width/2;

Real2dy=plane.screen.y+viewpoint.height/2.

3 热点的不变形应用

在实际应用中,常常需要在3D虚拟漫游场景中播放视频资料,以提升虚拟仿真效果.本文利用PV3D 提供的平面类Plane和视频流材质类VideoStreamMaterial两个对象[5]31-43引擎实现,简述过程:首先实例化VideoStreamMaterial 对象中参数Video 对象和NetStream 对象,然后将VideoStreamMaterial 对象作为材质赋给Plane 对象,最后将Plane对象作为一个热点,即应用热点的不变形添加原理实现视频的不变形添加功能.视频的不变形添加关键代码如下:

Var video:video=new video();

Var NC:netconnection=new netconnection();

NC.connect(null);

Var NS:netstream=new netstream(NC);

NS.play(“/video/shiping.flv”);

Video.attzchnetstream(NS).

4 结语

本文主要对三维全景漫游开发过程中的热点不变形技术难题进行必要的原因剖析和翔实的理论推导,提出采用基于PV3D免费引擎的函数或类调用,通过程序类关键代码的编写,成功解决三维全景虚拟现实漫游动画中的热点,视频的不变形添加难题,为实现三维虚拟漫游动画中多个功能不同场景融合应用与设计提供更多借鉴与参考.本研究将对三维虚拟漫游场景中的文本、图片、流媒体等信息的拓展开发设计与应用提供更为丰富多彩的方法.

[1] 文卫民,江朝伟,童献文.基于三维全景技术的虚拟校园漫游系统设计及艺术表现探究[J].艺术与设计,2011,2(4).

[2] 李 卫,袁 铭.Flash Papervision3D中3D Web应用程序设计[J].现代电子技术,2012,35(21).

[3] 陈 宁,龚苏斌.基于PV3D的全景漫游关键技术研究[J].系统仿真学报,2013,25(9).

[4] 丁 雄.球面全景图技术研究[D].哈尔滨:国防科学技术大学,2002.

[5] 龚苏斌.基于视景重现的舰船IETM系统开发[D].镇江:江苏科技大学,2014.

[责任编辑 冰 竹]

Hot Deformation Theory Based on PV3D Engine Research

ZENG Xuesong, ZHANG Yali

(SchoolofMathematicsandComputerScience,XinyangVocationalandTechnicalCollege,Xinyang464000,China)

The paper made the necessary reason analysis and detailed theoretical derivation for the difficult problems in the process of development of three-dimensional panoramic roaming the hot deformation technology. It proposed that, through the written application class key code, function calls or class——which are based on PV3D free engine——successfully solved the heat in three-dimensional virtual reality panorama roaming animation and video deformation added problem, which provided more reference for the realization of the three-dimensional virtual roaming animation fusion applications with multiple functions in different scenario.

panoramic roaming; PV3D engine; hot spot deformation; video addition

2016-08-02

2016年度河南省教育科学“十三五”规划课题“三维数字化校园动漫设计与实现”(项目编号[2016-JKGHB-0394])

曾雪松(1980-),男,河南光山人,信阳职业技术学院讲师,主要从事三维虚拟技术与网络技术研究。

1671-8127(2016)05-0032-03

TP393.09

A

猜你喜欢
全景图球面漫游
球面检测量具的开发
嫦娥四号月背之旅全景图
霹雳漫游堂
Heisenberg群上移动球面法的应用——一类半线性方程的Liouville型定理
NASA漫游记
环保概念股全景图
球面稳定同伦群中的ξn-相关元素的非平凡性
拉伸筋在球面拉伸件拉伸模具中的应用
奇妙岛全景图
奇妙岛全景图