著录项信息
专利名称 | 一种在移动终端中实现连续动画效果的方法和装置 |
申请号 | CN201010103191.6 | 申请日期 | 2010-01-27 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-07-28 | 公开/公告号 | CN101789133A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T13/00 | IPC分类号 | G;0;6;T;1;3;/;0;0查看分类表>
|
申请人 | 深圳市五巨科技有限公司 | 申请人地址 | 江苏省南通市通州区金沙镇工业园
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 南通玖伍捌科技企业孵化器有限公司 | 当前权利人 | 南通玖伍捌科技企业孵化器有限公司 |
发明人 | 喻翀 |
代理机构 | 北京连和连知识产权代理有限公司 | 代理人 | 王光辉 |
摘要
本发明涉及一种在移动终端中实现连续动画效果的方法和装置,方法包括:将初始图像分为背景部分和变换部分,为变换部分定义纹理图像,将变换部分定义为多边形,记录各顶点在初始图像中的坐标以及局部空间坐标;根据预定角度,计算变换后各顶点在初始图像中的新坐标;将多边形分成多个三角形,对于每个三角形,计算出构成三角形每条扫描线上各个像素点在初始图像中的坐标以及局部空间坐标,然后在所述背景部分上将纹理图像中局部空间坐标所在像素点的信息对应地填充至坐标的像素点中;按预定时间间隔重复依次执行上述步骤以实现连续动画的效果。本发明能将初始图像中需要变换的部分连续地绘制出来以实现连续动画的效果。
1.一种在移动终端中实现连续动画效果的方法,其特征在于,包括:
步骤1:将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;
步骤2:根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;
步骤3:将步骤2中得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的新坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述新坐标的像素点中;
按预定时间间隔重复依次执行上述步骤以实现连续动画的效果;
其中,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的新坐标以及对应的局部空间坐标具体为:
计算从所述三角形最上方顶点的纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量以及相应的局部空间坐标的偏移量,从而得到左边和右边像素点的在初始图像中的新坐标以及在所述纹理图像中的局部空间坐标;
计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量,累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在所述纹理图像中的局部空间坐标。
2.一种移动终端,其特征在于,包括实现连续动画效果的装置,所述装置包括:
定义坐标模块,用于将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;
计算模块,用于根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;
绘制模块,用于将所述计算模块得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的新坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述新坐标的像素点中;
定时模块,用于按预定时间间隔指示所述定义坐标模块、计算模块、绘制模块重复依次执行以实现连续动画的效果;
其中,所述绘制模块中包括:
第一计算单元,用于计算从所述三角形最上方顶点的纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量以及相应的局部空间坐标的偏移量,从而得到左边和右边像素点的在初始图像中的新坐标以及在所述纹理图像中的局部空间坐标;
第二计算单元,计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量,累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在所述纹理图像中的局部空间坐标。
一种在移动终端中实现连续动画效果的方法和装置\n技术领域\n[0001] 本发明涉及移动终端应用领域,特别是涉及一种在移动终端中实现连续动画效果的方法和装置。\n背景技术\n[0002] 目前,随着移动通信技术的不断发展,移动终端已经深入到人们的生活中,移动通信也已成为最广泛使用的通信方式。这里,本发明所称的移动终端是指手机、个人数字助理(PDA,Personal Digital Assistant)等具有无线通讯功能的小型手持式移动通信设备。\n[0003] 以手机为例,目前,在手机游戏动画的制作过程中或者桌面动画的制作过程中,如果绘制连续旋转的图片或者膨胀收缩的连续动画时,开发人员经常用连续的几帧图片连续播放来达到上述效果。此种实现连续动画效果的方法具有以下缺陷,首先是图片变换不够平滑,其次需要占用很多资源来存储图片,而且大量的图片制作占用了开发人员的大量时间,往往一张图片的旋转或缩放要制作几张图片来实现。\n发明内容\n[0004] 针对现有技术中存在的缺陷和不足,本发明的目的是提出一种在移动终端中实现连续动画效果的方法,能够将图片中需要变换的部分按预定时间间隔自动连续绘制出来,而无需使用大量资源来存储连续的几帧图片。\n[0005] 为了达到上述目的,本发明提出一种在移动终端中实现连续动画效果的方法,包括:\n[0006] 步骤1:将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0007] 步骤2:根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;\n[0008] 步骤3:将步骤2中得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述坐标的像素点中;\n[0009] 按预定时间间隔重复依次执行上述步骤以实现连续动画的效果。\n[0010] 作为上述技术方案的优选,步骤3中根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的坐标以及对应的局部空间坐标具体为:\n[0011] 计算从所述三角形最上方顶点的纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量以及相应的局部空间坐标的偏移量,从而得到左边和右边像素点的在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0012] 计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量,累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在所述纹理图像中的局部空间坐标。\n[0013] 本发明还提出一种移动终端,包括实现连续动画效果的装置,所述装置包括:\n[0014] 定义坐标模块,用于将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0015] 计算模块,用于根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;\n[0016] 绘制模块,用于将所述计算模块得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述坐标的像素点中;\n[0017] 定时模块,用于按预定时间间隔指示所述定义坐标模块、计算模块、绘制模块重复依次执行以实现连续动画的效果。\n[0018] 作为上述技术方案的优选,所述绘制模块中包括:\n[0019] 第一计算单元,用于计算从所述三角形最上方顶点的纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量以及相应的局部空间坐标的偏移量,从而得到左边和右边像素点的在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0020] 第二计算单元,计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量,累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在所述纹理图像中的局部空间坐标。\n[0021] 本发明提出的一种在移动终端中实现连续动画效果的方法和装置能够将初始图像中需要变换的部分连续地绘制出来以实现连续动画的效果。因此,无需在移动终端中存储多帧图片来连续播放,节省了移动终端的存储空间,同时也节省了开发人员制作多帧图片的时间。\n[0022] 下面结合附图,对本发明的具体实施方式作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。\n附图说明\n[0023] 图1为本发明提出的移动终端中实现连续动画效果的方法的第一优选实施例的流程图。\n具体实施方式\n[0024] 如图1所示,一种在移动终端中实现连续动画效果的方法,包括:\n[0025] 步骤1:将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0026] 步骤2:根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;\n[0027] 步骤3:将步骤2中得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述坐标的像素点中;\n[0028] 按预定时间间隔重复执行上述步骤以实现连续动画的效果,该时间间隔应小于人恰好能分辨出画面停滞或不流畅的时间间隔。\n[0029] 下面列举具体实施例进行描述:\n[0030] 在移动终端中实现连续动画效果的方法包括:\n[0031] 步骤101:将初始图像分为背景部分和叠加在所述背景部分的变换部分,为变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形(本实施例中为四边形:\n例如矩形、梯形、平行四边形等),并初始化定义一个结构体,记录所述四边形4个顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0032] 这里,定义局部空间坐标是为了变换后三角形的纹理寻址,以及确定图像旋转围绕的中心点,在初始图像中的坐标是定义了需要变换的部分。\n[0033] 步骤102:将初始图像数据(包括背景部分及变换部分)载入缓存中,所述数据包括图像的长宽、位深、图像的像素信息等;\n[0034] 步骤103:根据三角学原理的下述公式以及变换部分需要旋转的角度,计算出四个顶点旋转后的在初始图像中的新坐标;\n[0035] x=rcos(α)\n[0036] y=rsin(α)\n[0037] sin(α+β)=sinαcosβ+sinβcosα\n[0038] cos(α+β)=cosαcosβ-sinαsinβ\n[0039] 步骤104:将上述变换后的四边形分成两个三角形,根据每个三角形开始绘制新的图形,对于每个三角形均进行以下步骤:\n[0040] 步骤1041:根据三角形三个顶点(步骤101中的四个顶点中的三个)的坐标计算三角形左右两边的斜率;\n[0041] 其中,左右两边是指三角形最上方的顶点所延伸出的两条边;\n[0042] 例如,三角形的三个顶点的坐标从上至下依次为:A(x0,y0)、B(x1,y1)、C(x2,y2),其中B顶点的y坐标位于三个顶点y坐标之间,用变量yrestart保存其y坐标,则三角形A顶点到B顶点,A顶点到C顶点的高度差分别为:\n[0043] dy_left=y1-y0;\n[0044] dy_right=y2-y0;\n[0045] A顶点到B顶点,A顶点到C顶点的宽度差分别为:\n[0046] dx_left=x1-x0;\n[0047] dx_right=x2-x0;\n[0048] 因此,三角形A顶点到B顶点,A顶点到C顶点的斜率的倒数分别为:\n[0049] dx_left_slope=dx_left/dy_left;\n[0050] dx_right_slope=dx_right/dy_right;\n[0051] 如果dx_right_slope>dx_left_slope,则说明B顶点实际位于A顶点的右侧,记录该点为向右的拐点,将B顶点与C顶点的坐标以及上文所计算的额所有差值进行值互换。\n否则B顶点实际位于A顶点的左侧,记录三角形的该点为左拐点,经过以上变化,dx_left_slope和dx_right_slope的意义分别表示为:从三角形的最上方顶点A纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的点的横坐标偏移量;\n[0052] 步骤1042:该三角形的三个顶点对应在纹理图像中的局部空间坐标已在步骤101中记录,依次为:A’(u0,v0)、B’(u1,v1)、C’(u2,v2),计算从三角形最上方顶点A纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量对应的局部空间坐标的偏移量:\n[0053] dul=(u1-u0)/dy_left;\n[0054] dvl=(v1-v0)/dy_left;\n[0055] dur=(u2-u0)/dy_right;\n[0056] dvr=(v2-v0)/dy_right。\n[0057] 步骤1043:根据步骤1041计算出的偏移量就可以得到从A开始每向下移动一个像素,分别对应在所述三角形左边和右边的像素点的坐标,即:\n[0058] 当在A点时,分别对应在所述初始三角形左边和右边的点L、R即与A点重合,其横坐标分别为;\n[0059] XL=x0;\n[0060] XR=x0;\n[0061] 当从A开始每向下移动一个像素,分别对应在所述初始三角形左边和右边的点L、R的横坐标分别为:\n[0062] XL+=dx_left_slope;\n[0063] XR+=dx_right_slope;\n[0064] 同理,可以得到从A开始每向下移动一个像素,三角形的两边的像素点对应在纹理图像中的局部空间坐标,即:\n[0065] UL’+=dul;\n[0066] VL’+=dvl;\n[0067] UR’+=dur;\n[0068] VR’+=dvr;\n[0069] 步骤1044:计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量:\n[0070] dxrl=XR-XL;\n[0071] dxul=(UR’-UL’)/dxrl;\n[0072] dxvl=(VR’-VL’)/dxrl;\n[0073] 步骤1045:累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在纹理图像中的局部空间坐标:\n[0074] UXLR+=dxul;\n[0075] VXLR+=dxvl。\n[0076] 然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至三角形扫描线上每个像素点的坐标所对应的像素点中,重复这一双重循环(从A开始向下移动,从三角形每一扫描线左边的点L向右移动)直到光栅化结束,即已从初始三角形最上方的顶点向下移动到三角形的最低点,或已移动到手机屏幕的最下方,三角形也已绘制完成。\n[0077] 在上述实施例中,当三角形底边不与x轴平行时,从顶点A在y轴上移动到yrestart的位置时,还要根据情况将左边或右边的斜率修改为底边的斜率(即底边成为新的左边或右边),并重新按照上述步骤计算B到C的各种增量,至于是左边要改还是右边要改,则根据上文记录的三角形为左拐还是右拐,进行判断,左拐则要改变的为左,右拐则要改变的是右。\n[0078] 上述两个三角形的绘制可以同时进行,也可以依次进行。\n[0079] 按照上述步骤完成的仅为初始图像的一次变换,要表现出连续变换的效果,就需要按预定时间间隔重复执行上述步骤,即不停地绘制变换后的图形。\n[0080] 本发明提出的一种移动终端,包括实现连续动画效果的装置,所述装置包括:\n[0081] 定义坐标模块,用于将初始图像分为背景部分和叠加在所述背景部分的变换部分,为所述变换部分定义对应的纹理图像,并将所述变换部分定义为一个多边形,记录所述多边形各顶点在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0082] 计算模块,用于根据所述变换部分需旋转的预定角度,计算变换后所述多边形各顶点在初始图像中的新坐标;\n[0083] 绘制模块,用于将所述计算模块得到的多边形分成多个三角形,对于每个三角形,根据三角形光栅化原理,计算出构成三角形的每条扫描线上各个像素点在初始图像中的坐标以及对应的局部空间坐标,然后在所述背景部分上将纹理图像中所述局部空间坐标所在像素点的信息对应地填充至所述坐标的像素点中;\n[0084] 定时模块,用于按预定时间间隔指示所述定义坐标模块、计算模块、绘制模块重复依次执行以实现连续动画的效果。\n[0085] 其中,所述绘制模块中包括:\n[0086] 第一计算单元,用于计算从所述三角形最上方顶点的纵坐标每向下移动一个像素时,分别对应在所述三角形左边和右边的像素点的横坐标偏移量以及相应的局部空间坐标的偏移量,从而得到左边和右边像素点的在初始图像中的坐标以及在所述纹理图像中的局部空间坐标;\n[0087] 第二计算单元,计算从所述三角形每条扫描线左边像素点每向右移动一个像素时相应的局部空间坐标偏移量,累加所述局部空间坐标偏移量,得到三角形每条扫描线上各个像素点所对应的在所述纹理图像中的局部空间坐标。\n[0088] 综上所述,通过本发明提出的一种在移动终端中实现连续动画效果的方法和装置能够将初始图像中需要变换的部分连续地绘制出来以实现连续动画的效果。因此,无需在移动终端中存储多帧图片来连续播放,节省了移动终端的存储空间,同时也节省了开发人员制作多帧图片的时间。\n[0089] 虽然,本发明已通过以上实施例及其附图而清楚说明,然而在不背离本发明精神及其实质的情况下,所属技术领域的技术人员当可根据本发明作出各种相应的变化和修正,但这些相应的变化和修正都应属于本发明的权利要求的保护范围。
法律信息
- 2020-01-17
未缴年费专利权终止
IPC(主分类): G06T 13/00
专利号: ZL 201010103191.6
申请日: 2010.01.27
授权公告日: 2011.09.14
- 2015-01-14
专利权的转移
登记生效日: 2014.12.31
专利权人由深圳市五巨科技有限公司变更为南通玖伍捌科技企业孵化器有限公司
地址由518040 广东省深圳市福田区天安数码城创新科技广场二期西座1203室变更为226300 江苏省南通市通州区金沙镇工业园
- 2011-09-14
- 2010-09-22
实质审查的生效
IPC(主分类): G06T 13/00
专利申请号: 201010103191.6
申请日: 2010.01.27
- 2010-07-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1997-07-09
| | |
2
| |
1999-09-29
|
1999-03-19
| | |
3
| |
2000-12-27
|
1998-10-30
| | |
4
| |
2008-06-18
|
2006-10-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |