一种基于触摸屏的3D模型高效拾取方法和装置制造方法及图纸

技术编号:34384080 阅读:87 留言:0更新日期:2022-08-03 21:04
本发明专利技术属于3D模型拾取技术领域,具体涉及一种基于触摸屏的3D模型高效拾取方法,包括以下步骤,简化模型:通过读取模型数据将各模型部件简化为长方体简模;面片转换:将长方体简模的各矩形面片转换成三角形面片;标记转换:把屏幕点击位置信息,转换成三维空间的射线;命中判断:通过算法判断射线与三角形面片是否相交;拾取输出:通过计算各交点与射线起点的距离来确定点击屏幕所拾取的模型部件,并对其进行输出。本发明专利技术基于触摸屏的3D模型高效拾取方法,利用算法来进行模型部件拾取,不仅可提高对3D模型部件的拾取效率,而且可有效的节省大量的内存使用空间。另外,本发明专利技术还提供了一种适用于上述拾取方法的3D模型高效拾取装置。述拾取方法的3D模型高效拾取装置。述拾取方法的3D模型高效拾取装置。

【技术实现步骤摘要】
一种基于触摸屏的3D模型高效拾取方法和装置


[0001]本专利技术属于3D模型拾取
,具体涉及一种基于触摸屏的3D模型高效拾取方法。

技术介绍

[0002]在智能化汽车娱乐系统或者人机交互界面中,加入了越来越多的3D元素,比如3D车模。在人机交互界面中,我们一般通过滑动屏幕来查看不同视角下的3D车模,并通过点击3D车模中各部分来对车辆的相应部分进行控制;例如:通过点击3D车模中的车尾箱来对车辆的车尾箱进行打开或关闭操作,通过点击3D车模中的引擎盖对车辆的引擎盖进行打开或关闭操作等等。
[0003]现有技术中,一般通过在OpenGL ES使用“纹理(颜色)拾取”技术来解决3D模型的选中和拾取问题,这种技术一般需要对场景进行两次渲染,一次叫做“纹理拾取”,纹理包含图元索引数据,另一次则直接渲染到实际的颜色缓冲;其中“纹理拾取”往往不输出到颜色缓冲区,属于无效渲染,所以这种拾取技术不仅拾取效率低,而且需要占用较大的内存空间。
[0004]因此,设计一种既可有效提高3D模型拾取效率,又可有效节省内存空间的3D模型拾取技术,对于我们本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于触摸屏的3D模型高效拾取方法,其特征在于,包括以下步骤,简化模型:通过读取模型数据将各模型部件简化为长方体简模;面片转换:将长方体简模的各矩形面片转换成三角形面片;标记转换:把屏幕点击位置信息,转换成三维空间的射线;命中判断:通过算法判断射线与三角形面片是否相交;拾取输出:通过计算各交点与射线起点的距离来确定点击屏幕所拾取的模型部件,并对其进行输出。2.根据权利要求1所述的3D模型高效拾取方法,其特征在于,在简化模型步骤中,包括,读取数据:通过读取各模型文件来获取各模型文件中所有mesh的数据,保存到mesh容器里,并为每一模型文件的mesh设置对应的名字;创建简模:为每一模型文件的mesh创建简模对象,生成包围原mesh的长方体简模。3.根据权利要求2所述的3D模型高效拾取方法,其特征在于,在创建简模步骤中,包括,S1、预设变量:预设简模对象包含成员变量m_PointMinx,m_PointMiny,m_PointMinz;m_PointMaxx,m_PointMaxy,m_PointMaxz;S2、变量赋值:将mesh中每个顶点的坐标值X,Y,Z与相应的成员变量单独作比较,把最小的X值赋给m_PointMinx,最小的Y值赋给m_PointMiny,最小的Z值赋给m_PointMinz;把最大的X值赋给m_PointMaxx,最大的Y值赋给m_PointMaxy,最大的Z值赋给m_PointMaxz;S3、生成简模:通过赋值后的m_PointMinx,m_PointMiny,m_PointMinz,m_PointMaxx,m_PointMaxy,m_PointMaxz,生成包围原mesh的长方体简模。4.根据权利要求3所述的3D模型高效拾取方法,其特征在于,在创建简模步骤中,通过以下公式对各成员变量进行赋值,如果X<m_PointMinx,则m_PointMinx=X;如果X>m_PointMaxx,则m_PointMaxx=X;如果Y<m_PointMiny,则m_PointMiny=Y;如果Y>m_PointMaxy,则m_PointMaxy=Y;如果Z<m_PointMinz,则m_PointMinz=Z;如果Z>m_PointMaxz,则m_PointMaxz=Z。5.根据权利要求3所述的3D模型高效拾取方法,其特征在于,在创建简模步骤中,赋值后长方体简模各顶点的坐标如下:顶点D0(m_PointMinx,m_PointMiny,m_PointMinz);顶点D1(m_PointMinx,m_PointMaxy,m_PointMinz);顶点D2(m_PointMaxx,m_PointMaxy,m_PointMinz);顶点D3(m_PointMaxx,m_PointMiny,m_PointMinz);顶点D4(m_PointMaxx,m_PointMaxy,m_PointMaxz);顶点D5(m_PointMinx,m_PointMaxy,m_PointMaxz);顶点D6(m_PointMinx,m_PointMiny,m_PointMaxz);顶点D7(m_PointMaxx,m_PointMiny,m...

【专利技术属性】
技术研发人员:徐永洪蔡智炳怀保胜李南山
申请(专利权)人:惠州市德赛西威汽车电子股份有限公司
类型:发明
国别省市:

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

1