一种基于移动终端的三维模型手势触控浏览交互方法技术

技术编号:10252348 阅读:176 留言:0更新日期:2014-07-24 13:10
本发明专利技术提供了一种基于移动终端的三维模型手势触控浏览交互方法,它有十四大步骤。该方法利用应用程序三维图形编程接口OpenGL ES(OpenGL for Embedded Systems)在移动终端上对轻量三维模型进行渲染(轻量化及渲染方法不在本发明专利技术讨论范畴内),借助手势识别方法提供新的人机交互模式,有效改善传统的桌面端三维模型浏览方式的弊端,提高便携性,适应更多应用场合;实现手指与三维模型的自然交互模式,相对于基于鼠标、键盘等设备的交互方式更加灵活、直观、高效。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了,它有十四大步骤。该方法利用应用程序三维图形编程接口OpenGL?ES(OpenGL?for?Embedded?Systems)在移动终端上对轻量三维模型进行渲染(轻量化及渲染方法不在本专利技术讨论范畴内),借助手势识别方法提供新的人机交互模式,有效改善传统的桌面端三维模型浏览方式的弊端,提高便携性,适应更多应用场合;实现手指与三维模型的自然交互模式,相对于基于鼠标、键盘等设备的交互方式更加灵活、直观、高效。【专利说明】
本专利技术属于信息
,涉及,它可以被推广用于虚拟现实、人机交互、数字化制造等领域。
技术介绍
目前,桌面端的CAD软件诸如CATIA、Pro/E、UG、SolidWorks等在三维建模及曲面造型方面的功能日益强大,同时支持大部分格式的三维模型信息浏览。但在运用CAD系统设计产品时,建立的产品信息模型通常由产品结构形状、建模过程、工程约束、特征属性等信息组成,导致三维设计模型中保存了大量的非几何信息。上述信息对设计工程师是非常重要的,但对其他人员来说只需关注零件的几何结构信息。为此,一些CAD公司开发出支持多种CAD文件格式的轻量化三维模型的文档浏览软件,技术成熟,且与各CAD格式文件具备较好的兼容性,能实现大部分CAD软件的基本功能,具备可嵌入到Word、PPT、Web的ActiveX插件。如达索公司自主开发的文档浏览工具3dvia Composer,支持其自主推出的3DXML格式,并可无缝集成CATIA V5、SolidWorks等3D文件格式。Oracle AutoVue也是一款多用途的文档浏览、标注、协同作业的应用软件。无需通过专业软件,AutoVue即可直接浏览、标注产品信息,并完全保留原始文档的完整性和安全性。但是纵观PC桌面端三维模型浏览软件,不论是三维CAD造型软件还是三维模型的文档浏览软件,都因为过于依赖PC硬件环境,存在以下缺陷:I)模型浏览便携性差。局限于操作系统环境,各种CAD软件都无法脱离PC桌面端运行,这就给使用者带来不便,不同程度地降低了工作效率。2)人机交互方式落后。依赖于桌面端硬件,绝大部分CAD软件仍然依靠鼠标、键盘对三维模型进行平移、缩放、旋转等操作来浏览,虽能实现目标功能,但交互方式并不自然、友好。近年来,随着集成电路技术的飞速发展,平板电脑等移动终端已经具有很强大的处理能力(CPU主频、内存、固化存储介质以及智能操作系统),是一个完整的超小型计算机系统,可以完成复杂的处理任务,移动终端正在从简单的通讯工具变为一个综合信息处理平台。除此以外,借助移动终端的便携、多点触控等特性,可以有效解决上述弊端。
技术实现思路
(—)本专利技术的目的在于提供,利用应用程序三维图形编程接口 OpenGL ES (OpenGL for Embedded Systems)在移动终端上对轻量三维模型进行渲染(轻量化及渲染方法不在本专利讨论范畴内),借助手势识别方法提供新的人机交互模式,有效改善上述三维模型浏览方式的弊端。改进目标有以下两点:I)提高桌面端传统三维模型浏览方法的便携性,适应更多应用场合。2)实现手指与三维模型的自然交互模式,相对于基于鼠标、键盘等设备的交互方式更加灵活、直观、高效。(二)技术方案首先通过移动系统开发技术,将轻量化的OBJ格式三维模型存入终端设备,利用OpenGLES应用程序编程接口进行载入和渲染,然后借助本专利技术提供的三维模型手势触控浏览交互方法,实现手指与三维模型的自然交互模式。多点触控(Mult1-Touch)是采用人机交互与硬件设备共同实现的技术,能够同时接受来自屏幕上多个点的接触响应,在没有传统输入设备(鼠标、键盘等)的情况下进行人机交互操作。本专利技术在上述三维模型加载完成后,监听移动终端设备的触摸事件,根据接触手指数量及移动轨迹,识别三种手势:单指平移、双指平移、双指打开或拉近(Pinch),并分别对应三维模型的旋转、平移、缩放三种交互响应。本专利技术,该方法具体步骤如下:步骤一:准备工作。基于应用程序界面库创建应用程序可视化窗口,利用OpenGLES应用程序编程接口将轻量化的OBJ格式三维模型存入终端设备并进行载入和渲染。步骤二:利用移动系统开发接口为可视化窗口添加多点触控屏触摸事件监听。本专利技术中以iOS系统 为例,具体方法为-(void) touchesMoved: (NSSet*) toucheswithEvent:(UIEvent*)event。步骤三:触摸事件发生并被监听到后,利用步骤二中提供的方法获得触摸事件中的手指数量。步骤四:如果手指数量为1,则判定用户为单指滑动操作,规定其对应三维模型的旋转响应,分别获取先前接触点与当前接触点的坐标为Ptl(Xt), y0)、P1 (X1, Yi)。步骤五:分别计算横、纵坐标的差值X1 - Xtl、Y1 - yQ。步骤六:将计算结果加权常量缩放系数后逐帧赋值给三维模型沿Y轴及X轴的旋转量。示意如图1。步骤七:如果手指数量为2,则判定用户为双指平移或pinch操作,规定分别对应三维模型的平移或缩放响应。同理获取两个先前接触点及两个当前接触点共四个坐标Pao (xa0,yao)、Pai (xai,Yai)、Pbo (xbo,Ybo)、Pbi (xbi,Ybi)。步骤八:计算Pao与Pbo距离并记为preDistance,计算Pai与Pbi距离并记为currDistance ο步骤九:计算Pao> Pbo距离与Pa1、Pbi距离差值,即fabs (preDistance -currDistance)=d0步骤十:若d!=0.0,则判定为pinch操作,并将距离d加权常量缩放系数后赋值给三维模型的缩放参数,示意如图2。步骤十一:若Pao^Pbo距离与PA1、PB1距离相同,则判定为双指平移操作,任取两对点中的一对点。步骤十二:计算其X、Y坐标的差值(同步骤五),加权常量缩放系数后赋值给三维模型的位置参数,示意如图3。但实际情况中,双指的移动很难保证间距严格不变,故设置阈值ε,若d〈=e,则判定为双指平移操作。本方法中设置ε =0.005。步骤十三:判断应用程序是否退出。步骤十四:若没有退出则自步骤三循环,否则直接退出程序。流程图如图4所示。其中,在步骤一中所述的“应用程序界面库”,为移动系统为开发者所提供,本专利技术以苹果公司iOS系统为例,采用iOS UIKit库。其中,在步骤一中所述的“载入和渲染”,为OpenGL ES所提供的基本功能,利用glVertexPointer O、glNormalPointer ()、glDrawElements ()等函数初始化面片信息,为模型分配内存空间,利用setCameraO、glLightfvO > glMaterialfvO函数分别设置摄像机位置、光照、材质,利用drawViewO函数开始逐帧绘制三维模型。其中,在步骤三中所述的“利用步骤二中提供的方法获得触摸事件中的手指数量”,是指在步骤二提供的方法中可获得(NSSet*)类型的变量touches,记录了触摸到屏幕上的手指根数等信息。其中,在步骤四中所述的“获取先前接触点与当前接触点的坐标”,同上也可在步骤二提供的方法中获得。其中,在步骤六中所述本文档来自技高网
...

【技术保护点】
一种基于移动终端的三维模型手势触控浏览交互方法,其特征在于:该方法具体步骤如下:步骤一:准备工作;基于应用程序界面库创建应用程序可视化窗口,利用OpenGL ES应用程序编程接口将轻量化的OBJ格式三维模型存入终端设备并进行载入和渲染;步骤二:利用移动系统开发接口为可视化窗口添加多点触控屏触摸事件监听;具体方法为‑(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event;步骤三:触摸事件发生并被监听到后,利用步骤二中提供的方法获得触摸事件中的手指数量;步骤四:如果手指数量为1,则判定用户为单指滑动操作,规定其对应三维模型的旋转响应,分别获取先前接触点与当前接触点的坐标为P0(x0,y0)、P1(x1,y1);步骤五:分别计算横、纵坐标的差值x1–x0、y1–y0;步骤六:将计算结果加权常量缩放系数后逐帧赋值给三维模型沿Y轴及X轴的旋转量;步骤七:如果手指数量为2,则判定用户为双指平移或pinch操作,规定分别对应三维模型的平移或缩放响应;同理获取两个先前接触点及两个当前接触点共四个坐标PA0(xa0,ya0)、PA1(xa1,ya1)、PB0(xb0,yb0)、PB1(xb1,yb1);步骤八:计算PA0与PB0距离并记为preDistance,计算PA1与PB1距离并记为currDistance;步骤九:计算PA0、PB0距离与PA1、PB1距离差值,即fabs(preDistance–currDistance)=d;步骤十:若d!=0.0,则判定为pinch操作,并将距离d加权常量缩放系数后赋值给三维模型的缩放参数;步骤十一:若PA0、PB0距离与PA1、PB1距离相同,则判定为双指平移操作,任取两对点中的一对点;步骤十二:计算其X、Y坐标的差值,同步骤五,加权常量缩放系数后赋值给三维模型的位置参数;但实际情况中,双指的移动很难保证间距严格不变,故设置阈值ε,若d<=ε,则判定为双指平移操作,本方法中设置ε=0.005;步骤十三:判断应用程序是否退出;步骤十四:若没有退出则自步骤三循环,否则直接退出程序。...

【技术特征摘要】

【专利技术属性】
技术研发人员:韩鹏飞赵罡
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1