CN103247064B - 一种三维动态图形的生成方法、装置和移动终端 - Google Patents

一种三维动态图形的生成方法、装置和移动终端 Download PDF

Info

Publication number
CN103247064B
CN103247064B CN201210033250.6A CN201210033250A CN103247064B CN 103247064 B CN103247064 B CN 103247064B CN 201210033250 A CN201210033250 A CN 201210033250A CN 103247064 B CN103247064 B CN 103247064B
Authority
CN
China
Prior art keywords
texture coordinate
triangle
texture
disturbance
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210033250.6A
Other languages
English (en)
Other versions
CN103247064A (zh
Inventor
李宽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201210033250.6A priority Critical patent/CN103247064B/zh
Publication of CN103247064A publication Critical patent/CN103247064A/zh
Application granted granted Critical
Publication of CN103247064B publication Critical patent/CN103247064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种三维动态图形的生成方法、装置和移动终端,其中,方法包括:获得一多边形;选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;获得多个三角形中任意一个三角形中的任意一点的纹理坐标;获得对所述纹理坐标进行扰动的扰动因子;根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形。本发明的方案可以实现移动终端上三维动态图形的展现。

Description

一种三维动态图形的生成方法、装置和移动终端
技术领域
本发明涉及移动终端上的三维图像处理技术,特别是指一种三维动态图形的生成方法、装置和移动终端。
背景技术
随着移动终端技术的不断发展,用户对移动终端的开机平台或者其它平台的图像界面的要求也进一步提高,普通的二维界面已不能满足用户体验要求,开始追求更高层次的三维效果。在移动终端支持GPU之后,复杂的三维场景画面的实时显示成为了可能。
目前,在移动终端上实现动画效果,常见的有两种方法,一种是Tween动画,另一种是Frame动画。
其中,Tween动画框架是建立在View(浏览)级别上的,在View类中有一个接口StartAnimation,是动画开始,StartAnimation会将一个Animation类别的函数传给View,Animation用来指定使用的是哪种动画,现有的动画有平移、缩放、旋转以及Alpha变换等。
Frame动画,即顺序播放事先做好的图像,它的实现是通过Movie这个类对Gif文件进行读取和解码,同时在OnDraw函数中不断的绘制每一帧图片来完成,这个示例代码在Ondraw中调用Invalidate来反复让View失效让系统不断调用SampleView的Ondraw函数;至于选出哪一帧图片进行绘制,是传入系统当前时间给Movie类,然后让它根据时间顺序来选出帧图片。
上述Tween动画技术,存在的问题有:
1)支持的动画类型单调,只是简单的旋转、淡入淡出等效果,不能满足用户的体验要求;
2)创作出来的动画比较刻板,不能动态的更改参数,没有实现实时交互。
上述Frame动画技术,存在的问题有:
1)反复让View失效,比较消耗资源,给CPU带来很大的运算压力,会造成开机延迟等现象;
2)需要大量的Gif图片,消耗内存;
3)因为Android中使用的Libgif库存在不足,在播放一些Gif格式的动画时,会出现移动终端花屏的现象。
发明内容
本发明要解决的技术问题是提供一种三维动态图形的生成方法、装置和移动终端,可以在移动终端上实现真实的动态三维效果的图形,提高用户的使用体验。
为解决上述技术问题,本发明的实施例提供一种三维动态图形的生成方法,应用于移动终端,所述方法包括:
获得一多边形;
选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
获得对所述纹理坐标进行扰动的扰动因子;
根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形。
其中,所述获得一多边形的步骤包括:
绘制n个点;
将每一个点作为一个顶点,绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和第n+1个顶点相连得到线段n,最后一个顶点和第一个顶点相连得到最后一个线段,总共绘制n条线段;
把每三个顶点作为一个独立的三角形,绘制一组相连的三角形,对于奇数n,,忽略最后一个顶点,顶点n、n-1和n-2定义了第n个三角形;对于偶数n,顶点n-1、n和n-2定义了第n个三角形,总共绘制n-2个三角形,所有三角形组合在一起,形成所述多边形。
其中,获得多个三角形中任意一个三角形中的任意一点的纹理坐标的步骤包括:
通过三角插值的方法获得多个三角形中任意一个三角形中的任意一点的纹理坐标。
其中,通过三角插值的方法获得多个三角形中任意一个三角形中的任意一点的纹理坐标的步骤包括:
设置所述三角形的三个顶点在坐标系中分别表示为V1(x1,y1,z1),、V2(x2,y2,z2)和V3(x3,y3,z3);
根据所述V1、V2和V3的坐标,得到所述三角形中的任意一点的纹理坐标为p0=V1+U(V2-V1)+V(V3-V1),其中,参数U控制V2在结果中占多大的权值,参数V控制V3占多大权值,1-U-V控制V1在结果中占多大权值。
其中,获得对所述纹理坐标进行扰动的扰动因子的步骤包括:
通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,所述扰动因子包括图形振动的振幅和频率,t为时间,C为指定的振幅初始值,D为指定的频率初始值。
其中,根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标的步骤包括:
获得一局部变量F=A×s+B×t;
根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值。
其中,上述方法还包括:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。
其中,根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形的步骤包括:
根据扰动后的纹理坐标,将完整的纹理映射到所述多边形的所有顶点上;
加载与所述纹理相关的图像数据,并将所述纹理渲染到所述移动终端的屏幕上,得到显示在所述移动终端的屏幕上的动态三维图形。
本发明的实施例还提供一种三维动态图形的生成装置,应用于移动终端,包括:
第一获得模块,用于获得一多边形;
第一处理模块,用于选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
第二获得模块,用于获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
第三获得模块,用于获得对所述纹理坐标进行扰动的扰动因子;
第二处理模块,用于根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
第三处理模块,用于根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形。
其中,所述第三获得模块具体用于:通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,所述扰动因子包括图形振动的振幅和频率,t为时间,C为指定的振幅初始值,D为指定的频率初始值。
其中,所述第二处理模块包括:
第一处理子模块,用于获得一局部变量F=A×s+B×t;
第二处理子模块,用于根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值。
其中,所述第二处理子模块还用于:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。
本发明的实施例还提供一种移动终端,包括图形处理器,设置于所述图形处理器中的如上所述的三维动态图形的生成装置。
本发明的上述技术方案的有益效果如下:
上述方案中,通过对多边形进行处理,得到三角形,并获得三角形内任意一点的纹理坐标,对该纹理坐标利用扰动因子进行扰动,从而得到扰动后的纹理坐标,最后再根据扰动后的纹理坐标,对各个三角形进行渲染,从而得到具有动态效果的三维图形,该动态效果如可以是动态拉窗帘效果的三维图形;从而在移动终端上实现了三维动态图形的展现,尤其是该三维图形应用于移动终端的开机画面时,实现了该移动终端开机画面的三维动态画面的展现,提高用户的体验。
附图说明
图1为本发明的实施例三维动态图形的生成方法流程示意图;
图2-图6为图1所示方法中绘制一多边形的过程示意图;
图7为图1所示方法中多边形为六边形时的示例图;
图8为本发明的实施例三维动态图形的生成装置结构框示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明的实施例提供一种三维动态图形的生成方法,应用于移动终端,其中,所述方法包括:
步骤11,获得一多边形;
步骤12,选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
步骤13,获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
步骤14,获得对所述纹理坐标进行扰动的扰动因子;
步骤15,根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
步骤16,根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形。
该实施例中,通过对多边形进行处理,得到三角形,并获得三角形内任意一点的纹理坐标,对该纹理坐标利用扰动因子进行扰动,从而得到扰动后的纹理坐标,最后再根据扰动后的纹理坐标,对各个三角形进行渲染,从而得到具有动态效果的三维图形;从而在移动终端上实现了三维动态图形的展现,尤其是该三维图形应用于移动终端的开机画面时,实现了该移动终端开机画面的三维动态画面的展现,提高用户的体验。
在本发明的另一实施例中,包括上述步骤11-16的基础上,上述步骤11具体可以包括:
步骤111,绘制n个点;
步骤112,将每一个点作为一个顶点,绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和n-1个顶点相连得到线段n,最后一个顶点和第一个顶点相连得到最后一个线段,总共绘制n条线段;
步骤113,把每三个顶点作为一个独立的三角形,绘制一组相连的三角形,对于奇数n,忽略最后一个顶点,顶点n、n-1和n-2定义了第n个三角形;对于偶数n,顶点n-1、n和n-2定义了第n个三角形,总共绘制n-2个三角形,所有三角形组合在一起,形成所述多边形;如图2-图6所示。
在本发明的另一实施例中,包括上述步骤11-16的基础上,上述步骤13可以包括:
步骤131,通过三角插值的方法获得多个三角形中任意一个三角形中的任意一点的纹理坐标。
具体地,上述步骤131可以包括:
步骤1311,设置所述三角形的三个顶点在坐标系(如迪卡尔坐标系)中分别表示为V1(x1,y1,z1)、V2(x2,y2,z2)和V3(x3,y3,z3);
步骤1312,根据所述V1、V2和V3和坐标,得到所述三角形中的任意一点的纹理坐标为p0=V1+U(V2-V1)+V(V3-V1),其中,其参数U控制V2在结果中占多大的权值,参数V控制V3占多大权值,1-U-V控制V1在结果中占多大权值。
在本发明的另一实施例中,包括上述步骤11-16的基础上,上述步骤14中,扰动因子优选包括:图形振动的振幅和频率,步骤14具体可以包括:
步骤141,通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,t为时间,C为指定的振幅初始值,D为指定的频率初始值。
相应地,上述步骤15具体可以包括:
步骤151,获得一局部变量F=A×s+B×t;
步骤152,根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值。
优选的,该实施例中,在根据扰动因子对纹理坐标进行扰动时,还包括:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。其中,纹理通常是指一个二维的图片,纹理坐标是纹理图片到要贴纹理图像的表面(三维图形)的一个映射,比如纹理坐标是(0.5,0.0),就是把二维纹理图像横向二分之一处(整个是1)的点映射到随后定义的物体顶点上去;纹理实际上是一个二维数组,它的元素是一些颜色值,单个的颜色值被称为纹理元素或纹理像素。每一个纹理像素在纹理中都有一个唯一的地址,这个地址可以被认为是一个列和行的值,它们分别由U和V来表示;纹理坐标位于纹理空间中,也就是说,它们和纹理中的(0,0)位置相对应;当将一个纹理应用于一个图元时,它的纹理像素地址必须要映射到对象坐标系中,然后再被平移到屏幕坐标系或像素位置上。
在本发明的另一实施例中,包括上述步骤11-16的基础上,上述步骤16具体可以包括:
步骤161,根据扰动后的纹理坐标,将完整的纹理映射到所述多边形的所有顶点上;
步骤162,加载与所述纹理相关的图像数据,并将所述纹理渲染到所述移动终端的屏幕上,得到显示在所述移动终端的屏幕上的动态三维图形。
其中,渲染是把物体坐标(动态三维图形的各个顶点的坐标)所指定的图元转化成帧缓冲区中的图像。
优选的,在渲染时,还可以增加一些特效,如光照效果等,使该动态三维图形看起来更多样化。
下面结合具体的实现实例说明上述方法的实现过程:
利用OpenGLES的着色语言实现上述动态三维图形的生成,OpenGlES着色语言分为顶点着色器和片段着色器两部分,动态波浪三维图形生成过程包括:
1),绘制一多边形;
2),选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;该多边形优选为凸多边形,即在多边形内选择任意一点,该点与该多边形的各个顶点的连线在所述多边形内部;
3),获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
4),创建片段着色器对象;
5),在片段着色器可以使用之后,将纹理坐标传递给着片段色器对象;
6),获得扰动因子,该扰动因子包括图形的振幅和频率;其中振幅值如为(0.05,0.05);频率值为(4,4);振幅初始值如为1等;
7),根据扰动因子,对纹理坐标进行扰动处理,得到扰动后的纹理坐标;
8),根据扰动后的纹理坐标,利用渲染引擎就可以画出三维图形的动态波纹或者说是拉窗帘的效果。
按照上述算法,对一个原始多边形为矩形表面进行处理时,用矩形模拟的窗帘进行处理,可以实现动态的有波浪感的开机特效画面。同时,窗帘的贴图也可以随时更换,同时也可以增加不同形式的光照,增进了趣味性,给用户带来良好的用户体验。
当然,该原始多边形还可以是圆形表面或者其它多边形表面,在是圆形表面时,可以对圆形用多边形逼近的方法将其近似为多边形,例如使用12边形或者24边形来逼近一个圆形;
在对一个多边形进行动态三维图形生成时,如图7所示,对于一个六边形,可以将该六边形放入一个包围盒中,包围盒由A,B,C,D四点及其边组成,内部的六边形由a,b,c,d,e,f六点以及边组成,定义包围盒的坐标系C1如下:A(0,0),B(1,0),C(1,1),D(0,1),然后根据a,b,c,d,e,f与A,B,C,D的相对位置给出其在C1下的坐标,该坐标类似于纹理坐标,再计算六边形内任意点的坐标,首先在其内部定一个点,假设为图中的g点,依次连接(a,g,b),(b,g,c),(c,g,d),(d,g,e),(e,g,f)则构成六个三角形,对于任意一个三角形中的任意一点,都可以通过三角插值的方法得到其纹理坐标,然后可以使用扰动因子对该纹理坐标进行扰动处理,最后再根据扰动处理后的纹理坐标,根据扰动处理后的纹理坐标还原纹理顶点的位置,这样可以得到新的具有波浪效果的3D图像;
该方法通过在片段着色器中对纹理坐标的修改达到动态3D窗帘的特效,实现过程中,在利用扰动因子对纹理坐标进行修改时,主要应用了一个正弦函数,它会在纹理查找操作之前扰动纹理坐标,具体的过程如下:
1)计算上述纹理坐标x方向的扰动因子(包括振幅和频率):先计算一下局部变量F,它是纹理坐标s和t的线性函数,如F=A×s+B×t;
在这里以正弦函数为例,频率为基于时间的正弦函数如C×sin(D×t),其中,t为时间,C为振幅,D为频率,s为纹理坐标;
最终乘以频率的值,以控制震动的快慢;最后的x方向的纹理坐标X=(A×s+B×t)×C×sin(D×t);
2)计算上述纹理坐标y方向的扰动因子和计算x方向的扰动因子相同,也是先计算一个局部变时,该局部变量也是s和t的一个线性函数。
但是为了避免对称,所用的函数尽可能不要相同,此处控制上述公式中的A和B可以得到不对称的线性函数;
3)执行纹理访问;
4)计算出片段着色器最终的颜色值(渲染的过程)。
由于OpenGLES基于GPU(图形处理器)进行处理,因此,相比于现有技术中的处理算法,使用具有可编程能力的图形硬件(如GPU),可以在着色器内部指定动画效果,可以减少CPU的负担;
当上述动态三维图形应用于移动终端的开机画面上时,可以实现开机动画的多样性、沉浸感:只需要简单修改片段着色器,就实现如:粒子系统、地形系统、自然景象等特效,并可以以非常简单的方式支持关键帧插值;创造出的动画真实,夺目,更能满足人们的要求;
交互性更强:通过交互操作,用户可以任意修改贴图(即上述纹理)、振幅和频率等,甚至可以改变开机动画的方式,避免审美疲劳的出现,满足了娱乐身心的需要。
当然,本发明的上述方法实施例并不限于用OpenGLES语言实现,还可以用其它可以处理图形的语言来实现。
如图8所示,本发明的实施例还提供一种三维动态图形的生成装置,应用于移动终端,包括:
第一获得模块81,用于获得一多边形;
第一处理模块82,用于选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
第二获得模块83,用于获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
第三获得模块84,用于获得对所述纹理坐标进行扰动的扰动因子;
第二处理模块85,用于根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
第三处理模块86,用于根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形。
其中,所述第三获得模块84具体用于:通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,t为时间,C为指定的振幅初始值,D为指定的频率初始值。
其中,所述第二处理模块85包括:
第一处理子模块,用于获得一局部变量F=A×s+B×t;其中,
第二处理子模块,用于根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值。
其中,所述第二处理子模块还用于:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。
其中,第三处理模块具体用于:将扰动后的纹理坐标,将完整的纹理映射到所述多边形的所有顶点上;并加载与所述纹理相关的图像数据,并将所述纹理渲染到所述移动终端的屏幕上,得到显示在所述移动终端的屏幕上的动态三维图形。
需要说明的是,该装置实施例与上述方法实施例相对应,上述方法实施例中的所有实现方式均适用于该装置实施例中,也能达到相同的技术效果,在此不再赘述。
本发明的实施例还提供一种移动终端,包括图形处理器,设置于所述图形处理器中的如上所述的三维动态图形的生成装置。可以实现在移动终端上实现开机画面的动态波纹效果的三维图形。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种三维动态图形的生成方法,应用于移动终端,其特征在于,所述方法包括:
获得一多边形;
选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
获得对所述纹理坐标进行扰动的扰动因子;
根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形;
获得对所述纹理坐标进行扰动的扰动因子的步骤包括:
通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,所述扰动因子包括图形振动的振幅和频率,t为时间,C为指定的振幅初始值,D为指定的频率初始值;
根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标的步骤包括:
获得一局部变量F=A×s+B×t;
根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值。
2.根据权利要求1所述的三维动态图形的生成方法,其特征在于,所述获得一多边形的步骤包括:
绘制n个点;
将每一个点作为一个顶点,绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和第n-1个顶点相连得到线段n,最后一个顶点和第一个顶点相连得到最后一个线段,总共绘制n条线段;
把每三个顶点作为一个独立的三角形,绘制一组相连的三角形,对于奇数n,忽略最后一个顶点,顶点n、n-1和n-2定义了第n个三角形;对于偶数n,顶点n-1、n和n-2定义了第n个三角形,总共绘制n-2个三角形,所有三角形组合在一起,形成所述多边形。
3.根据权利要求1所述的三维动态图形的生成方法,其特征在于,获得多个三角形中任意一个三角形中的任意一点的纹理坐标的步骤包括:
通过三角插值的方法获得多个三角形中任意一个三角形中的任意一点的纹理坐标。
4.根据权利要求3所述的三维动态图形的生成方法,其特征在于,通过三角插值的方法获得多个三角形中任意一个三角形中的任意一点的纹理坐标的步骤包括:
设置所述三角形的三个顶点在坐标系中分别表示为V1(x1,y1,z1)、V2(x2,y2,z2)和V3(x3,y3,z3);
根据所述V1、V2和V3的坐标,得到所述三角形中的任意一点的纹理坐标为p0=V1+U(V2-V1)+V(V3-V1),其中,参数U控制V2在结果中占多大的权值,参数V控制V3占多大权值,1-U-V控制V1在结果中占多大权值,每一个纹理像素在纹理中都有一个唯一的地址,U和V分别表示地址的列和行的值。
5.根据权利要求1所述的三维动态图形的生成方法,其特征在于,还包括:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。
6.根据权利要求1所述的三维动态图形的生成方法,其特征在于,根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形的步骤包括:
根据扰动后的纹理坐标,将完整的纹理映射到所述多边形的所有顶点上;
加载与所述纹理相关的图像数据,并将所述纹理渲染到所述移动终端的屏幕上,得到显示在所述移动终端的屏幕上的动态三维图形。
7.一种三维动态图形的生成装置,应用于移动终端,其特征在于,包括:
第一获得模块,用于获得一多边形;
第一处理模块,用于选择所述多边形内任意一点,并连接所述多边形内任意一点到所述多边形的各个顶点,得到多个三角形;
第二获得模块,用于获得多个三角形中任意一个三角形中的任意一点的纹理坐标;
第三获得模块,用于获得对所述纹理坐标进行扰动的扰动因子;
第二处理模块,用于根据所述扰动因子对所述纹理坐标进行处理,得到扰动后的纹理坐标;
第三处理模块,用于根据扰动后的纹理坐标,对各个三角形进行渲染,得到动态三维图形;
所述第二处理模块包括:
第一处理子模块,用于获得一局部变量F=A×s+B×t;
第二处理子模块,用于根据所述局部变量和所述扰动因子,获得x方向的纹理坐标X=(A1×s+B1×t)×C×sin(D×t),以及y方向的纹理坐标Y=(A2×s+B2×t)×C×sin(D×t);其中,A和B为变量,s为纹理坐标,A1和A2为变量A的不同值或者相同值,B1和B2为变量B的不同值或者相同值,t为时间,C为指定的振幅初始值,D为指定的频率初始值。
8.根据权利要求7所述的三维动态图形的生成装置,其特征在于,所述第三获得模块具体用于:通过基于时间的正弦函数C×sin(D×t)获得对所述纹理坐标进行扰动的扰动因子;其中,所述扰动因子包括图形振动的振幅和频率。
9.根据权利要求7所述的三维动态图形的生成装置,其特征在于,所述第二处理子模块还用于:对于x方向的纹理坐标X和y方向的纹理坐标Y对应的纹理的每一帧,用不同的扰动因子进行扰动。
10.一种移动终端,包括图形处理器,其特征在于,还包括:设置于所述图形处理器中的如权利要求7-9任一项所述的三维动态图形的生成装置。
CN201210033250.6A 2012-02-14 2012-02-14 一种三维动态图形的生成方法、装置和移动终端 Active CN103247064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210033250.6A CN103247064B (zh) 2012-02-14 2012-02-14 一种三维动态图形的生成方法、装置和移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210033250.6A CN103247064B (zh) 2012-02-14 2012-02-14 一种三维动态图形的生成方法、装置和移动终端

Publications (2)

Publication Number Publication Date
CN103247064A CN103247064A (zh) 2013-08-14
CN103247064B true CN103247064B (zh) 2016-03-30

Family

ID=48926569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210033250.6A Active CN103247064B (zh) 2012-02-14 2012-02-14 一种三维动态图形的生成方法、装置和移动终端

Country Status (1)

Country Link
CN (1) CN103247064B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657097A (zh) * 2013-11-25 2015-05-27 中国移动通信集团公司 一种波浪型动态图像的显示方法和设备
CN106157357B (zh) * 2015-04-01 2020-02-07 Tcl集团股份有限公司 一种基于gpu加速的动态光效实现方法及系统
CN106600698B (zh) * 2016-12-15 2019-09-24 西安汇明光电技术有限公司 一种三维模型的快速绘制方法
CN107230239A (zh) * 2017-05-11 2017-10-03 广州视源电子科技股份有限公司 图形绘制方法、装置及设备
CN107730440B (zh) * 2017-09-13 2020-11-17 杭州电子科技大学 一种基于移动端窗帘图像模型生成的方法
CN108537867B (zh) * 2018-04-12 2020-01-10 北京微播视界科技有限公司 根据用户肢体运动的视频渲染方法和装置
CN111486854A (zh) * 2019-01-29 2020-08-04 阿里巴巴集团控股有限公司 电子地图中道路的绘制方法、系统、设备及存储介质
CN111111177A (zh) * 2019-12-23 2020-05-08 北京像素软件科技股份有限公司 游戏特效扰动背景的方法、装置和电子设备
CN111340918B (zh) * 2020-03-06 2024-02-23 北京奇艺世纪科技有限公司 动态图生成方法、装置、电子设备及计算机可读存储介质
CN113744124A (zh) * 2020-05-29 2021-12-03 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051390A (zh) * 2007-05-15 2007-10-10 北京金山软件有限公司 一种用于河流模拟的方法和系统
CN102254340A (zh) * 2011-07-29 2011-11-23 北京麒麟网信息科技有限公司 一种基于gpu加速的环境光遮挡图像绘制方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051390A (zh) * 2007-05-15 2007-10-10 北京金山软件有限公司 一种用于河流模拟的方法和系统
CN102254340A (zh) * 2011-07-29 2011-11-23 北京麒麟网信息科技有限公司 一种基于gpu加速的环境光遮挡图像绘制方法及系统

Also Published As

Publication number Publication date
CN103247064A (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
CN103247064B (zh) 一种三维动态图形的生成方法、装置和移动终端
Kalnins et al. Coherent stylized silhouettes
CN103677828B (zh) 一种图层绘制方法、绘图引擎及终端设备
CN100578547C (zh) 一种用于河流模拟的方法和系统
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
CN106415667A (zh) 具有增强的深度效果的计算机图形
CN104123742A (zh) 一种将静态漫画图片转化为二维动画的方法和播放器
CN105913471B (zh) 图片处理的方法和装置
WO2013184534A4 (en) Non-static 3d map views
CN111951156B (zh) 一种绘制图形光电特效的方法
CN101840566A (zh) 一种基于gpu并行计算的实时阴影生成方法及系统
CN112135161A (zh) 虚拟礼物的动效展示方法及装置、存储介质及电子设备
US9056247B2 (en) System and method for efficient character animation
CN102819855A (zh) 二维图像的生成方法及装置
CN103632390A (zh) 一种利用d3d技术实现裸眼3d动画实时制作的方法
CN104657097A (zh) 一种波浪型动态图像的显示方法和设备
CN101686336B (zh) 三维场景中计时装置的显示方法
US20110018890A1 (en) Computer graphics method for creating differing fog effects in lighted and shadowed areas
CN107436765A (zh) 视图控件的处理方法和装置
CN102663804A (zh) 一种交互式图形快速渲染方法
Li et al. Design and implementation of traditional kite art platform based on human-computer interaction and WebAR technology
JP4868586B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
WO2017174006A1 (zh) 图片处理的方法和装置
CN104167009A (zh) 一种动画效果的实现方法
CN107277633B (zh) 一种展示直播间礼物效果的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant