[发明专利]一种基于移动终端的三维模型手势触控浏览交互方法在审
申请号: | 201410155067.2 | 申请日: | 2014-04-17 |
公开(公告)号: | CN103942053A | 公开(公告)日: | 2014-07-23 |
发明(设计)人: | 韩鹏飞;赵罡 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F3/0488;G06T17/00 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 移动 终端 三维 模型 手势 浏览 交互 方法 | ||
1.一种基于移动终端的三维模型手势触控浏览交互方法,其特征在于:该方法具体步骤如下:
步骤一:准备工作;基于应用程序界面库创建应用程序可视化窗口,利用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;
步骤十三:判断应用程序是否退出;
步骤十四:若没有退出则自步骤三循环,否则直接退出程序。
2.根据权利要求1所述的一种基于移动终端的三维模型手势触控浏览交互方法,其特征在于:在步骤一中所述的“应用程序界面库”,是移动系统为开发者所提供。
3.根据权利要求1所述的一种基于移动终端的三维模型手势触控浏览交互方法,其特征在于:在步骤一中所述的“载入和渲染”,为OpenGL ES所提供的基本功能,利用glVertexPointer()、glNormalPointer()、glDrawElements()函数初始化面片信息,为模型分配内存空间,利用setCamera()、glLightfv()、glMaterialfv()函数分别设置摄像机位置、光照、材质,利用drawView()函数开始逐帧绘制三维模型。
4.根据权利要求1所述的一种基于移动终端的三维模型手势触控浏览交互方法,其特征在于:在步骤三中所述的“利用步骤二中提供的方法获得触摸事件中的手指数量”,是指在步骤二提供的方法中获得(NSSet*)类型的变量touches,记录了触摸到屏幕上的手指根数信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410155067.2/1.html,转载请声明来源钻瓜专利网。