三维模型自适应变形方法技术

技术编号:17468750 阅读:167 留言:0更新日期:2018-03-15 05:51
本发明专利技术涉及一种三维模型的自适应变形方法,其特征在于,包括:计算所述三维模型的包围盒及中心点坐标;确定参考环形的参数;根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度;设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标;根据所述旋转参考点坐标以及所述顶点坐标计算变形后的顶点坐标。本发明专利技术的技术方案,可以仅根据参考环形的简单参数,高效地实现将任意的三维模型变形为环形的三维图形。

【技术实现步骤摘要】
三维模型自适应变形方法
本专利技术涉及三维模型的变形方法,具体涉及通过优化三维模型引擎来实现三维模型的自适应变形方法。
技术介绍
OpenGL是三维模型构建领域中最为广泛接纳的2D/3D图形API(应用程序编程接口,其定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,可用于三维模型或二维模型,是一个功能强大,调用方便的底层图形库,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGLES(OpenGLforEmbeddedSystems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以为HTML5Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。Direct3D是基于微软的通用对象模式COM(CommonObjectMode)的3D图形API。它是由微软Direct3D界面(Microsoft)一手树立的3DAPI规范,微软公司拥有该库版权,它所有的语法定义包含在微软提供的程序开发组件的帮助文件、源代码中。Direct3D是微软公司DirectXSDK集成开发包中的重要部分,适合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算。自1996年发布以来,Direct3D以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。但它也有缺陷,由于是以COM接口形式提供的,所以较为复杂,稳定性差,另外,目前只在Windows平台上可用。当前的大部分三维图形引擎基于上述3D图形API,三维图形引擎需要解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。场景渲染是场景中最重要的子模块之一,负责实现基本图元的绘制,光线处理和纹理处理等。实际上是三维真实感图形的再现过程。纹理图像提供了模型的真实感,可以有效的用来掩盖模型的多边形细节。但是,现有三维图形引擎中,将三维模型进行变形时,需要设置的参数较多,并且计算机运行效率较低,计算机内存占过多。
技术实现思路
本专利技术的技术方案,可以仅根据参考环形的简单参数,高效地实现将任意的三维模型变形为环形的三维图形。本专利技术公开了一种三维模型的自适应变形方法,其特征在于,包括:步骤1,计算所述三维模型的包围盒及中心点坐标;步骤2,确定参考环形的参数;步骤3,根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度;步骤4,设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标;步骤5,根据所述旋转参考点坐标以及所述顶点坐标计算变形后的顶点坐标。在本专利技术的方法中,所述参考环形的参数包括所述参考环形的中心点坐标,以及所述参考环形的周长。在本专利技术的方法中,所述设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标包括使用四元数旋转算法计算所述旋转参考点坐标。在本专利技术的方法中,重复执行步骤3-步骤5,确定所述三维模型中所有顶点变形后的坐标。在本专利技术的方法中,所述参考环形的周长大于等于所述三维模型的长度。在本专利技术的方法中,所述根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度通过以下公式进行计算:其中,θ1为所述顶点变形后所旋转的角度,X1为所述顶点的X轴坐标,X0为所述参考环形中心点的X轴坐标,C为所述参考环形的周长。在本专利技术的方法中,进一步包括计算所述变形后的顶点距离所述参考环形中心点的距离。在本专利技术的方法中,所述计算所述变形后的顶点距所述参考环形中心点的距离,通过以下公式进行计算:R1’=Rp-(Zp-Z1)其中,R1’为所述变形后的顶点距所述参考环形中心点的距离,Rp为所述包围盒中心点距所述参考环形中心点的距离,Zp为所述包围盒中心点的Z轴坐标,Z1为所述顶点的Z轴坐标。在本专利技术的方法中,根据所述旋转参考点坐标以及所述顶点坐标计算变形后的顶点坐标,通过以下公式进行计算:X1’=X0+XQ’,Y1’=Y1,Z1’=Z0+ZQ’其中,X1’为所述变形后的顶点的X轴坐标,X0为所述参考环形的中心点的X轴坐标,XQ’为所述旋转参考点的X轴坐标,Y1’所述变形后的顶点的Y轴坐标,Y1所述顶点的Y轴坐标,Z1’所述变形后的顶点的Z轴坐标,Z0为所述参考环形的中心点的Z轴坐标,ZQ’为所述旋转参考点的Z轴坐标。附图说明并入本说明书并形成本说明书的一部分的附图示出了本专利技术的实施例,并且连同在上面给出的说明和在下面给出的对优选实施例的详细说明一起用于解释本专利技术的原理。图1示出了本专利技术示例性实施例中的三维模型变形前的透视图;图2示出了本专利技术示例性实施例中的三维模型变形前,延Y轴负方向的俯视图;图3示出了本专利技术示例性实施例中的三维模型变形后的透视图;图4示出了本专利技术示例性实施例中的三维模型变形后,延Y轴负方向的俯视图;图5示出了本专利技术示例性实施例中的自适应变形方法步骤流程示意图。具体实施方式下面结合附图,对本专利技术的具体实施方式进行详细描述,但应当理解的是,本专利技术的保护范围并不受具体实施方式的限制。本专利技术中所针对的三维模型,由多个三角形构成,每个三角形包括三个顶点以及由所述三个顶点构成的面。所述三维模型的数据结构,通过顶点数组和面数组进行表示,所述面数组中包括每个面多对应的三个顶点的序号。本专利技术的技术方案实现了将指定三维模型自适应的变形为环形或者弧形的三维模型。参见图1-图4,在本专利技术的示例性实施例中,将显示文字为“STAR”的三维模型,根据参考环形的形状,变形为环形的三维模型,以下将结合附图对本专利技术的具体技术方案进行说明。本领域技术人员可以容易理解的是,本专利技术实施例中为了说明性的目的,使用了附图1-4中的三维模型和参考环形,但是本专利技术的技术方案,可以对任意形状的三维模型进行自适应变形,从而形成环形或者弧形的三维模型。图5示出了本专利技术方法步骤的示意性流程图,下面结合所述流程,对三维图形自适应变形方法进行具体说明。首先,参见图1-2,计算待变形三维模型的包围盒(附图中未示出),所述包围盒为包含三维模型且边平行于模型坐标轴的最小六面体,在三维坐标系中,用MinX、MaxX、MinY、MaxY、MinZ、MaxZ表示三维模型包围盒,所述包围盒的长、宽、高分别为L,W,H,其中,L=MaxX-MinX,W=MaxZ-MinZ、H=MaxY–MinY,并确定出所述包围盒的中心点P(Xp,Yp,Zp),其中,Xp,Yp,Zp表示了所述包围盒的中心点P在三维坐标系中X轴,Y轴,Z轴的坐标。接下来,确定要对上述三维模型进行变形的参考环形的中心点O(Xo,Yo,Zo),所述环形的周长为C,半径为R,所述包围盒的中心点P与所述参考环形的中心点O的距离为Rp。在本实施例中,Xo=Xp,Yo=Y本文档来自技高网
...
三维模型自适应变形方法

【技术保护点】
一种三维模型的自适应变形方法,其特征在于,包括:步骤1,计算所述三维模型的包围盒及中心点坐标;步骤2,确定参考环形的参数;步骤3,根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度;步骤4,设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标;步骤5,根据所述旋转参考点坐标以及所述顶点坐标计算变形后的顶点坐标。

【技术特征摘要】
1.一种三维模型的自适应变形方法,其特征在于,包括:步骤1,计算所述三维模型的包围盒及中心点坐标;步骤2,确定参考环形的参数;步骤3,根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度;步骤4,设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标;步骤5,根据所述旋转参考点坐标以及所述顶点坐标计算变形后的顶点坐标。2.根据权利要求1所述的方法,其特征在于,所述参考环形的参数包括所述参考环形的中心点坐标,以及所述参考环形的周长。3.根据权利要求1所述的方法,其特征在于,所述设定基准参考点坐标,并根据所述旋转角度计算旋转参考点坐标包括使用四元数旋转算法计算所述旋转参考点坐标。4.根据权利要求1所述的方法,其特征在于,重复执行步骤3-步骤5,确定所述三维模型中所有顶点变形后的坐标。5.根据权利要求1-4所述的方法,其特征在于,所述参考环形的周长大于等于所述三维模型的长度。6.根据权利要求1-4所述的方法,其特征在于,所述根据所述三维模型中的顶点坐标以及所述参考环形参数计算所述顶点的旋转角度通过以下公式进行计算:

【专利技术属性】
技术研发人员:唐龙
申请(专利权)人:梦工场珠宝企业管理有限公司
类型:发明
国别省市:广东,44

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

1