粒子动画实现方法、装置、设备及存储介质与流程

文档序号:26352013发布日期:2021-08-20 20:25阅读:117来源:国知局
粒子动画实现方法、装置、设备及存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种粒子动画实现方法、装置、设备及存储介质。



背景技术:

粒子动画是诸多计算机动画中的一种,也可以称为粒子特效,常见的粒子特效有雨,云,星光等效果。尤其是在商业宣传上,粒子动画可以增强用户粘合度。

目前的粒子动画开发,首先需要写一套完整的逻辑,且对动画的每一部分进行不同的控制,特别是对于不规则的画面,其粒子坐标所形成的运行播放轨迹并不规则,会影响原有的控制逻辑,导致开发难度大,且实现的效果也随之下降。



技术实现要素:

本发明的主要目的在于解决现有的粒子动画生成技术实现流程复杂,且实现的动画画面也不流畅的技术问题。

本发明第一方面提供了一种粒子动画实现方法,其特征在于,所述粒子动画实现方法包括:获取当前不规则画布中的所有粒子的像素信息,其中所述像素信息包括像素值和颜色;基于所述不规则画布的轮廓确定纵坐标轴和横坐标轴,并从所有粒子中筛选出最小和最大的像素值,基于所述最小和最大的像素值确定所述纵坐标轴和横坐标轴的分布值,得到坐标体系;根据所述坐标体系和每个粒子的像素信息,计算出每个粒子在所述坐标体系中的坐标值,得到各粒子的坐标信息;基于各粒子的所述坐标信息和各粒子的颜色构建粒子矩阵;识别所述粒子矩阵中坐标信息相邻且颜色相同的粒子,并对识别得到的粒子进行缩放处理,得到缩放矩阵;将所述缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面。

可选的,在本发明第一方面的第一种实现方式中,所述获取当前不规则画布中的所有粒子的像素信息包括:利用视频裁剪算法提取当前不规则画布中的视频帧;识别所述视频帧中粒子的配置信息,并提取所述配置信息中的像素,生成粒子集和像素数据集;提取所述像素数据集中每个像素的三原色数据值,并根据所述三原色数值计算出所述粒子的透明度;将所述透明度添加到像素中,生成各粒子对应的像素信息。

可选的,在本发明第一方面的第二种实现方式中,所述基于各粒子的所述坐标信息和各粒子的颜色构建粒子矩阵包括:根据所述不规则画布构建粒子显示地图轮廓;根据所述坐标信息,依次将所有的粒子在所述显示地图轮廓中进行标点,形成粒子地图雏形;根据各粒子的三原色数值和透明度,对所述粒子地图雏形中的标点进行颜色渲染,并设置对应的透明度,形成完整粒子地图;利用二进制转换算法,将所述完整粒子地图中的透明度大于预设值的标点转换为非空值,将所述完整粒子地图中的透明度小于预设值的标点转换为空值,得到粒子矩阵。

可选的,在本发明第一方面的第三种实现方式中,在所述根据各粒子的三原色数值和透明度,对所述粒子地图雏形中的标点进行颜色渲染之后,在设置对应的透明度,形成完整粒子地图之前,还包括:将渲染后的标点进行颜色标记,并将标记相同的标点调整至相邻显示;建立标记相同的标点之间的颜色关联关系。

可选的,在本发明第一方面的第四种实现方式中,所述对识别得到的粒子进行缩放处理,得到缩放矩阵包括:对所述粒子矩阵中的每个非空值设置矩阵坐标,得到坐标矩阵;根据预设的缩放比例,计算出所述坐标矩阵中的每个矩阵坐标的缩放坐标值;对所述缩放坐标值进行取整处理,得到整数缩放坐标值;将所述整数缩放坐标值中纵横坐标均相同的坐标值进行合并,得到缩放矩阵。

可选的,在本发明第一方面的第五种实现方式中,所述将所述缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面包括:对所述缩放矩阵中的每个粒子进行单点调用,并利用光学原理采集所述粒子在调用显示后位置所述不规则画布中的位置和闪烁的光感度;在所述缩放矩阵中的粒子全部被调用结束后,根据记录的位子和光感度生成粒子的动态轨迹;分析所述动态轨迹中的可用的缓动动画函数;将所述不规则画布中动态轨迹之外的像素点设置为黑背景,并基于所述缓动动画函数对所述动态轨迹进行动画的渲染,得到粒子的动画画面。

可选的,在本发明第一方面的第六种实现方式中,所述基于所述缓动动画函数对所述动态轨迹进行动画的渲染,得到粒子的动画画面包括:提取所述动态轨迹中的起始点、终点和所述动态轨迹的持续时间长度;利用tween算法中的所述缓动动画函数制定所述粒子的起始点、终点以及所述持续时间长度,形成粒子的动画画面。

本发明第二方面提供了一种所述粒子动画实现装置,包括:获取模块,用于获取当前不规则画布中的所有粒子的像素信息,其中所述像素信息包括像素值和颜色;坐标构建模块,用于基于所述不规则画布的轮廓确定纵坐标轴和横坐标轴,并从所有粒子中筛选出最小和最大的像素值,基于所述最小和最大的像素值确定所述纵坐标轴和横坐标轴的分布值,得到坐标体系;计算模块,用于根据所述坐标体系和每个粒子的像素信息,计算出每个粒子在所述坐标体系中的坐标值,得到各粒子的坐标信息;矩阵构建模块,用于基于各粒子的所述坐标信息和各粒子的颜色构建粒子矩阵;缩放模块,用于识别所述粒子矩阵中坐标信息相邻且颜色相同的粒子,并对识别得到的粒子进行缩放处理,得到缩放矩阵;生成模块,用于将所述缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面。

可选的,在本发明第二方面的第一种实现方式中,所述获取模块具体用于利用视频裁剪算法提取当前不规则画布中的视频帧;识别所述视频帧中粒子的配置信息,并提取所述配置信息中的像素,生成粒子集和像素数据集;提取所述像素数据集中每个像素的三原色数据值,并根据所述三原色数值计算出所述粒子的透明度;将所述透明度添加到像素中,生成各粒子对应的像素信息。

可选的,在本发明第二方面的第二种实现方式中,所述矩阵构建模块包括:轮廓构建单元,用于根据所述不规则画布构建粒子显示地图轮廓;标记单元,用于根据所述坐标信息,依次将所有的粒子在所述显示地图轮廓中进行标点,形成粒子地图雏形;地图生成单元,用于根据各粒子的三原色数值和透明度,对所述粒子地图雏形中的标点进行颜色渲染,并设置对应的透明度,形成完整粒子地图;矩阵构建单元,用于利用二进制转换算法,将所述完整粒子地图中的透明度大于预设值的标点转换为非空值,将所述完整粒子地图中的透明度小于预设值的标点转换为空值,得到粒子矩阵。

可选的,在本发明第二方面的第三种实现方式中,所述矩阵构建单元还用于:将渲染后的标点进行颜色标记,并将标记相同的标点调整至相邻显示;建立标记相同的标点之间的颜色关联关系。

可选的,在本发明第二方面的第四种实现方式中,所述缩放模块包括:设置单元,用于对所述粒子矩阵中的每个非空值设置矩阵坐标,得到坐标矩阵;缩放单元,用于根据预设的缩放比例,计算出所述坐标矩阵中的每个矩阵坐标的缩放坐标值;取整单元,用于对所述缩放坐标值进行取整处理,得到整数缩放坐标值;合并单元,用于将所述整数缩放坐标值中纵横坐标均相同的坐标值进行合并,得到缩放矩阵。

可选的,在本发明第二方面的第五种实现方式中,所述生成模块包括:显示单元,用于对所述缩放矩阵中的每个粒子进行单点调用,并利用光学原理采集所述粒子在调用显示后位置所述不规则画布中的位置和闪烁的光感度;记录单元,用于在所述缩放矩阵中的粒子全部被调用结束后,根据记录的位子和光感度生成粒子的动态轨迹;分析单元,用于分析所述动态轨迹中的可用的缓动动画函数;渲染单元,用于将所述不规则画布中动态轨迹之外的像素点设置为黑背景,并基于所述缓动动画函数对所述动态轨迹进行动画的渲染,得到粒子的动画画面。

可选的,在本发明第二方面的第六种实现方式中,所述生成模块包括:提取单元,用于提取所述动态轨迹中的起始点、终点和所述动态轨迹的持续时间长度;画面生成单元,用于利用tween算法中的所述缓动动画函数制定所述粒子的起始点、终点以及所述持续时间长度,形成粒子的动画画面。

本发明第三方面提供了一种粒子动画实现设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述粒子动画实现设备执行上述的粒子动画实现方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的粒子动画实现方法。

本发明的技术方案中,通过矩阵转换的方式把零散的粒子进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,这样的方式实现了将矩阵的简化归类,避免了不规则画布中的粒子坐标过于复杂的现象,从而避免了粒子动画制作时坐标因素的影响,实现了仅仅在长宽为几乘几的范围内也制作出有规则的粒子随机运行,简化了现有的粒子动画生成技术实现流程复杂,也提高了动画画面的流畅度。

附图说明

图1为本发明实施例中粒子动画实现方法的第一个实施例示意图;

图2为本发明实施例中粒子动画实现方法的第二个实施例示意图;

图3为本发明实施例中粒子动画实现方法的第三个实施例示意图;

图4为本发明实施例中第一矩阵的示意图;

图5为本发明实施例中矩阵二的示意图;

图6为本发明实施例中矩阵三的示意图;

图7为本发明实施例中矩阵四的示意图;

图8为本发明实施例中坐标矩阵的示意图;

图9为本发明实施例中粒子动画实现装置的一个实施例示意图;

图10为本发明实施例中粒子动画实现装置的另一个实施例示意图;

图11为本发明实施例中粒子动画实现设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种粒子动画实现方法、装置、设备及存储介质,该方法主要是使用计算机图形学和算法相结合的方式,完善粒子动画在特定场景无法应用问题,通过矩阵转换的方式把零散的粒子进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,这样的方式实现了在有限的范围内也制作出有规则的粒子随机运行,简化了现有的粒子动画生成技术实现流程复杂。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中粒子动画实现方法的第一个实施例,该方法的实现步骤如下:

101、获取当前不规则画布中的所有粒子的像素信息;

该步骤中,所述不规则画布是用户在当前待展示画面中圈画出来的画面的轮廓,也可以是当前待展示画面中各个待展示区域的轮廓,当然该待展示区域为不规则形状的区域。

在本实施例中,所述像素信息具体指的是画面中粒子的像素大小和显示颜色信息,而这些信息通过图像识别技术来获取得到,当然,在该步骤中,还可以通过计算所述粒子所在的显示画面中的位置范围,基于位置范围与待展示画面中的色彩分配区域进行匹配得到粒子的显示颜色信息和占据待展示画面的百分比,从而得到所述粒子的像素大小。

在实际应用中,对于所述像素信息还可以通过初始化操作来获得,具体的该初始化操作通过如下方式实现:

包含新建画布并获取其上下文、绘制环境,为之后的图形绘制做准备。

绘制当前画布:使用drawimage将一个image对象或者canvas上指定位置和尺寸的图像,或video对象上的每一帧绘制到当前的画布上。

使用getimagedata接口:获取画布上指定位置的所有像素的数据,设置获取出的数组保存像素信息的排序规则。

存像素信息的排序规则为,第一个像素点的rgba值、第二个像素点的rgba值,……,第n个像素点的rgba值。

而在获取像素信息时,通过读取新建画布是产生的记录信息,基于该记录信息解析出各像素点的配置参数,从而得到对应粒子的像素信息。

102、基于不规则画布的轮廓确定纵坐标轴和横坐标轴,并从所有粒子中筛选出最小和最大的像素值,基于最小和最大的像素值确定纵坐标轴和横坐标轴的分布值,得到坐标体系;

103、根据坐标体系和每个粒子的像素信息,计算出每个粒子在坐标体系中的坐标值,得到各粒子的坐标信息;

该步骤中,该坐标体系具体是基于所述不规则画布所在的待展示画面构建,具体是以待展示画面的相邻的两条边作为纵横坐标,然后纵横坐标的具体数值根据所述待展示画面的分辨率和总尺寸来计算得到,基于该坐标体系,在确定所述粒子的像素信息后,将该像素信息转换为坐标体系中的坐标值,从而得到各粒子的坐标信息。

104、基于各粒子的坐标信息和各粒子的颜色构建粒子矩阵;

该步骤中,在构建粒子矩阵时,具体是根据粒子的坐标信息对所有粒子进行排序,优选以横坐标先对对所述粒子进行第一次排序,将相同横坐标的粒子归类为一行,从而形成矩阵的多个行元素,然后再对每行元素进行第二次排序,该第二次排序是以纵坐标的坐标值进行排序,从而得到完整顺序的行元素,最后将行元素中横纵标按照从上到下依次增大的顺序对多个行元素进行排序,得到所述粒子矩阵。

105、识别粒子矩阵中坐标信息相邻且颜色相同的粒子,并对识别得到的粒子进行缩放处理,得到缩放矩阵;

该步骤中,在形成粒子矩阵之后,对每个行元素中的粒子进行显示颜色的标注,得到颜色的关联关系,然后按照显示颜色再进行调整,将相同显示颜色的行元素调整至相邻排序,从而得到粒子矩阵。

在本实施例中,所述矩阵缩放算法指的是坐标的缩放规则,具体的以压缩2倍为例,将各行元素中的纵横坐标除以2,并采用取整舍余的方式得到最终的压缩坐标值,将压缩坐标值相同的粒子进行合并,从而得到缩放矩阵。

106、将缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面。

在本实施例中,获取所述缩放矩阵中对于粒子的单点播放配置参数,并对粒子进行单点调用,启动轨迹抓取程序,对单点调用的粒子的轨迹进行抓取,计算抓取到的粒子在显示画面中的坐标信息,与所述缩放矩阵中的粒子坐标信息进行比对,根据比对结果进行调用的排序,然后基于排序生成一个动画画面。

在实际应用中,对于动画画面的生成具体可以通过图像处理器中的着色器来生成,具体的着色器根据排序后的粒子序列进行三维建模,得到包含所有粒子的调用轨迹的显示模型,然后根据各粒子的显示颜色进行渲染,从而生成动态的粒子闪烁画面。

通过对上述方法的实施,把零散的粒子通过矩阵转换的方式进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,这样的方式实现了将矩阵的简化归类,避免了不规则画布中的粒子坐标过于复杂的现象,从而避免了粒子动画制作时坐标因素的影响,实现了仅仅在长宽为几乘几的范围内也制作出有规则的粒子随机运行,简化了现有的粒子动画生成技术实现流程复杂,也提高了动画画面的流畅度。

请参阅图2,本发明实施例中粒子动画实现方法的第二个实施例包括:

201、利用视频裁剪算法提取当前不规则画布中的视频帧;

在实际应用中,所述不规则画可以是一个静态的区域,也可以是一各动态的视频,有多个视频帧组成的完整显示区域,而当是视频时,则提取所述不规则画布中的所有粒子的像素信息的步骤,具体是通过视频裁剪算法来实现,而视频裁剪算法根据播放时间帧对所述视频进行视频帧提取,得到帧集合,然后对帧集合中的每个视频帧所显示的粒子进行记录。

202、识别视频帧中粒子的配置信息,并提取配置信息中的像素,生成粒子集和像素数据集;

该步骤中,通过对视频帧中的粒子的记录来识别出视频帧中是否存在粒子,若存在,则解析该视频帧得到粒子的调用的配置信息,通过对所述配置信息进行编译,结合预先构建的不规则画布的坐标体系计算出配置信息对应的像素,并建立该像素与对应粒子的关联关系,最后将识别到的所有粒子形成粒子集,和每个粒子对应的像素形成像素数据集。

203、提取像素数据集中每个像素的三原色数据值,并根据三原色数值计算出粒子的透明度;

在本实施例中,所述像素数据集中的像素包括分辨率信息和三原色的取值,三原色指的是红色、绿色和蓝色,通过三原色的具体取值来调配出像素点的具体显示颜色,也即是粒子的显示颜色,而根据三原色的取值集合粒子的显示配置,计算出该粒子的透明度。

204、将透明度添加到像素中,生成各粒子对应的像素信息;

在本实施例中,将透明度添加到像素中,与所述像素中的三原色的取值组成一个元素集,该元素集的表示形式为(r,g,b,a),其中rgb代表三原色的取值,a代表透明度的取值。

205、根据像素信息和基于不规则画布构建的坐标体系,计算出各粒子的坐标信息;

该步骤中,首先是基于不规则画布构建出坐标体系中的纵坐标轴和横坐标轴,具体是确定不规则画布轮廓的切线,选择相互垂直的两条切线分别作为纵坐标轴和横坐标轴,然后从所有粒子的像素信息中选择像素值最小的和最大计算差值,将差值按照等分计算分值,得到坐标轴的间距值,从而形成坐标体系。

207、基于各粒子的坐标信息和各粒子的颜色构建粒子矩阵;

该步骤中,具体是根据所述不规则画布构建粒子显示地图轮廓;

根据所述坐标信息,依次将所有的粒子在所述显示地图轮廓中进行标点,形成粒子地图雏形;

根据各粒子的三原色数值和透明度,对所述粒子地图雏形中的标点进行颜色渲染,并设置对应的透明度,形成完整粒子地图;

利用二进制转换算法,将所述完整粒子地图中的透明度大于预设值的标点转换为非空值,将所述完整粒子地图中的透明度小于预设值的标点转换为空值,得到粒子矩阵。

进一步的,在对所述粒子地图雏形中的标点进行颜色渲染之后,还包括:

将渲染后的标点进行颜色标记,并将标记相同的标点调整至相邻显示;

建立标记相同的标点之间的颜色关联关系;

然后,对调整后的标点进行透明度的设置。

208、识别粒子矩阵中坐标信息相邻且颜色相同的粒子,并对识别得到的粒子进行缩放处理,得到缩放矩阵;

209、将缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面。

通过上述的方式的实施,通过矩阵转换的方式对粒子进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,把图形转换为二维数组方式,并在非透明区域运行,实现了仅仅在有效的范围内制作出有规则的粒子随机运行,简化了现有的粒子动画生成技术实现流程复杂,也提高了动画画面的流畅度。

请参阅图3,本发明实施例中粒子动画实现方法的第三个实施例包括:

301、获取当前不规则画布中的所有粒子的像素信息;

302、根据像素信息和基于不规则画布构建的坐标体系,计算出各粒子的坐标信息;

该步骤中,具体是基于不规则画布的轮廓确定纵坐标轴和横坐标轴,并从所有粒子中筛选出最小和最大的像素值,基于最小和最大的像素值确定纵坐标轴和横坐标轴的分布值,得到坐标体系;根据坐标体系和每个粒子的像素信息,计算出每个粒子在坐标体系中的坐标值,得到各粒子的坐标信息。

303、基于坐标信息构建粒子矩阵;

在本实施例中,利用虚拟模型构建算法识别所述不规则画布中的边界线,基于边界线通过模型构建的方式构建出一个相同的轮廓,并基于该轮廓得到显示地图轮廓,然后在显示地图轮廓中添加粒子,具体是根据各粒子的坐标信息在显示地图轮廓中进行点标注,得到粒子地图雏形。

进一步的,根据上述步骤计算出的三颜色和透明度,对粒子地图雏形中的粒子进行显示参数的设置,从而得到完整粒子地图,在实际应用中,该完整粒子地图实际上可以理解为是一个标点的不规则矩阵,该不规则矩阵为每行的元素数量存在不相等的矩阵。

然后,通过设置的透明度的可识别阈值,利用数字信号转换的方式,将所述完整粒子地图中的粒子转换为数字信号,优选的该数字信号为二进制数值,在实际应用中,当识别到粒子中的透明度大于可识别阈值时,则确定该粒子的二进制数值为1,反之为0,在全部识别完成后,形成粒子矩阵。

304、对粒子矩阵中的每个非空值设置矩阵坐标,得到坐标矩阵;

在该步骤中,咋设置矩阵坐标时,具体是以矩阵中的总行数和总列数作为元素的做大坐标值,分别以每个元素所在的行和列的位置纵横坐标值,以得到该元素的坐标信息。

305、根据预设的缩放比例,计算出坐标矩阵中的每个矩阵坐标的缩放坐标值;

具体的,通过将坐标中的纵横坐标值成与缩放比例,得到缩放后的坐标值。

306、对缩放坐标值进行取整处理,得到整数缩放坐标值;

307、将所述整数缩放坐标值中纵横坐标均相同的坐标值进行合并,得到缩放矩阵;

在实际应用中,该取整处理具体是将缩放后的坐标值中的小数点后的数值去除,得到坐标的整数,然后将整数后的坐标中的相同坐标进行合并,得到新的坐标值,从而形成缩放矩阵。

308、对缩放矩阵中的每个粒子进行单点调用,并利用光学原理采集粒子在调用显示后位置不规则画布中的位置和闪烁的光感度;

309、在缩放矩阵中的粒子全部被调用结束后,根据记录的位子和光感度生成粒子的动态轨迹;

310、分析动态轨迹中的可用的缓动动画函数;

311、将不规则画布中动态轨迹之外的像素点设置为黑背景,并基于缓动动画函数对动态轨迹进行动画的渲染,得到粒子的动画画面。

在本实施例中,所述基于所述缓动动画函数对所述动态轨迹进行动画的渲染,得到粒子的动画画面包括:

提取所述动态轨迹中的起始点、终点和所述动态轨迹的持续时间长度;

利用tween算法中的所述缓动动画函数制定所述粒子的起始点、终点以及所述持续时间长度,形成粒子的动画画面。

下面结合具体的例子对上述的方法做具体的解析说明:

首先根据不规则画布中的待展示粒子生成第一矩阵,即是上述的完整粒子地图;

然后将完整粒子地图转换为粒子矩阵;

在实际应用中,将第一矩阵转换为粒子矩阵具体构建方式采用png的rgba中a的特性做出转换,a=0(即透明色)为0,a>0则为1,由此可以转换出“矩阵二”,具体如图4和5所示,注:rgba代表三元色和透明度,其中a为透明度区间为[0,1]的小数。

进一步的,通过缩放算法对上述矩阵二进行调整缩放处理,得到矩阵三,如图6所示。

进一步的,动画执行时通过实际点位执行缩放,对应关系见图7和8,具体参见图中的颜色标记,图中相同颜色代表对应关系,图中的*代表像素点。

由图7和8中标红可得p(4,0)=p`(8,0)、p`(9,0)、p`(8,1)、p`(9,1)

注:p代表“矩阵四”和p`代表坐标矩阵,其中括号里的数字分别代表矩阵下标和图片坐标

因次我们需要一个缩放算法,算法如下:

1)获得缩放系数:以s代表为例:

s=(p宽+p高)/(p`宽+p`高)=0.5

2)缩放算法如下

p(x,y)=p`(<x*s>,<y*s>)

注:<>代表舍弃小数点

图8的坐标转换“矩阵四”下标验证算法如下:

红色点位对照算式:

p`(<8*s>,<0*s>)=>p(<4>,0)=>p(4,0)

p`(<9*s>,<0*s>)=>p(<4.5>,0)=>p(4,0)

p`(<8*s>,<1*s>)=>p(4,0)=>p(4,0)

p`(<9*s>,<1*s>)=>p(<4.5>,0)=>p(4,0)

紫色点位对照算式:

p`(<10*s>,<0*s>)=>p(5,0)=>p(5,0)

p`(<11*s>,<0*s>)=>p(<5.5>,0)=>p(5,0)

p`(<10*s>,<1*s>)=>p(5,0)=>p(5,0)

p`(<11*s>,<1*s>)=>p(<5.5>,0)=>p(5,0)

黄色点位对照算式:

p`(<6*s>,<2*s>)=>p(3,1)=>p(3,1)

p`(<7*s>,<2*s>)=>p(<3.5>,1)=>p(3,1)

p`(<6*s>,<3*s>)=>p(3,<1.5>)=>p(3,1)

p`(<7*s>,<3*s>)=>p(<3.5>,<1.5>)=>p(3,1)

绿色点位对照算式:

p`(<8*s>,<2*s>)=>p(4,1)=>p(4,1)

p`(<9*s>,<2*s>)=>p(<4.5>,1)=>p(4,1)

p`(<8*s>,<3*s>)=>p(4,<1.5>)=>p(4,1)

p`(<9*s>,<3*s>)=>p(<4.5>,<1.5>)=>p(4,1)

蓝色点位对照算式:

p`(<8*s>,<4*s>)=>p(4,2)=>p(4,2)

p`(<9*s>,<4*s>)=>p(<4.5>,2)=>p(4,2)

p`(<8*s>,<5*s>)=>p(4,<2.5>)=>p(4,2)

p`(<9*s>,<5*s>)=>p(<4.5>,<2.5>)=>p(4,2)

由于上可见,完全命中压缩后矩阵下标。

最后:通过劫持粒子动画随机计算出的闪烁点坐标后,把坐标转换成矩阵下标,判断所在坐标数值,为1则闪烁动画执行,0则不执行重新获取坐标。

通过对上述提供的粒子动画实现方案,把零散的粒子通过矩阵转换的方式进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,改进后大大节约工作时间,对所有省市地图都采用的统一方式算法处理,达到标准化、易实施、低成本。

上面对本发明实施例中的粒子动画实现方法进行了描述,下面对本发明实施例中的粒子动画实现装置进行描述,请参照图9,本发明实施例中的粒子动画实现装置的一个实施例包括:

获取模块901,用于获取当前不规则画布中的所有粒子的像素信息;

计算模块902,用于根据所述像素信息和基于所述不规则画布构建的坐标体系,计算出各粒子的坐标信息;

构建模块903,用于基于所述坐标信息构建粒子矩阵;

缩放模块904,用于识别所述粒子矩阵中像素参数相同且序号存在关联关系的粒子,通过矩阵缩放算法对识别后的粒子矩阵进行缩放,得到缩放矩阵;

生成模块905,用于通过抓取显示轨迹的计算方式,根据所述缩放矩阵生成粒子的动画画面。

本发明实施例,通过矩阵转换的方式对粒子进行归类整合,然后对矩阵进行缩放,以得到缩放矩阵,基于缩放矩阵进行粒子的单点调用后抓取显示轨迹,以生成动画画面,把图形转换为二维数组方式,并在非透明区域运行,实现了仅仅在有效的范围内制作出有规则的粒子随机运行,简化了现有的粒子动画生成技术实现流程复杂,也提高了动画画面的流畅度。

请参阅图10,本发明实施例中的粒子动画实现装置的另一个实施例包括:

901获取模块,用于获取当前不规则画布中的所有粒子的像素信息,其中所述像素信息包括像素值和颜色;

902坐标构建模块,用于基于所述不规则画布的轮廓确定纵坐标轴和横坐标轴,并从所有粒子中筛选出最小和最大的像素值,基于所述最小和最大的像素值确定所述纵坐标轴和横坐标轴的分布值,得到坐标体系;

903计算模块,用于根据所述坐标体系和每个粒子的像素信息,计算出每个粒子在所述坐标体系中的坐标值,得到各粒子的坐标信息;

904矩阵构建模块,用于基于各粒子的所述坐标信息和各粒子的颜色构建粒子矩阵;

905缩放模块,用于识别所述粒子矩阵中坐标信息相邻且颜色相同的粒子,并对识别得到的粒子进行缩放处理,得到缩放矩阵;

906生成模块,用于将所述缩放矩阵中的粒子进行显示轨迹的转换处理,生成与所有粒子对应的动画画面。

在本实施例中,所述获取模块901具体用于:

利用视频裁剪算法提取当前不规则画布中的视频帧;

识别所述视频帧中粒子的配置信息,并提取所述配置信息中的像素,生成粒子集和像素数据集;

提取所述像素数据集中每个像素的三原色数据值,并根据所述三原色数值计算出所述粒子的透明度;

将所述透明度添加到像素中,生成各粒子对应的像素信息。

在本实施例中,所述矩阵构建模块904包括:

轮廓构建单元9041,用于根据所述不规则画布构建粒子显示地图轮廓;

标记单元9042,用于根据所述坐标信息,依次将所有的粒子在所述显示地图轮廓中进行标点,形成粒子地图雏形;

地图生成单元9043,用于根据各粒子的三原色数值和透明度,对所述粒子地图雏形中的标点进行颜色渲染,并设置对应的透明度,形成完整粒子地图;

矩阵构建单元9044,用于利用二进制转换算法,将所述完整粒子地图中的透明度大于预设值的标点转换为非空值,将所述完整粒子地图中的透明度小于预设值的标点转换为空值,得到粒子矩阵。

在本实施例中,所述矩阵构建单元9044还用于:将渲染后的标点进行颜色标记,并将标记相同的标点调整至相邻显示;建立标记相同的标点之间的颜色关联关系。

在本实施例中,所述缩放模块905包括:

设置单元9051,用于对所述粒子矩阵中的每个非空值设置矩阵坐标,得到坐标矩阵;

缩放单元9052,用于根据预设的缩放比例,计算出所述坐标矩阵中的每个矩阵坐标的缩放坐标值;

取整单元9053,用于对所述缩放坐标值进行取整处理,得到整数缩放坐标值;

合并单元9054,用于将所述整数缩放坐标值中纵横坐标均相同的坐标值进行合并,得到缩放矩阵。

在本实施例中,所述生成模块906包括:

显示单元9061,用于对所述缩放矩阵中的每个粒子进行单点调用,并利用光学原理采集所述粒子在调用显示后位置所述不规则画布中的位置和闪烁的光感度;

记录单元9062,用于在所述缩放矩阵中的粒子全部被调用结束后,根据记录的位子和光感度生成粒子的动态轨迹;

分析单元9063,用于分析所述动态轨迹中的可用的缓动动画函数;

渲染单元9064,用于将所述不规则画布中动态轨迹之外的像素点设置为黑背景,并基于所述缓动动画函数对所述动态轨迹进行动画的渲染,得到粒子的动画画面。

在本实施例中,所述生成模块906包括:

提取单元9065,用于提取所述动态轨迹中的起始点、终点和所述动态轨迹的持续时间长度;

画面生成单元9066,用于利用tween算法中的所述缓动动画函数制定所述粒子的起始点、终点以及所述持续时间长度,形成粒子的动画画面。

请参阅图11,下面从硬件处理的角度对本发明实施例中的粒子动画实现设备的一个实施例进行详细描述。

图11是本发明实施例提供的一种粒子动画实现设备的结构示意图,该粒子动画实现设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1110(例如,一个或一个以上处理器)和存储器1120,一个或一个以上存储应用程序1133或数据1132的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1120和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于路由的用户需求预测设备1100中的一系列指令操作。更进一步地,处理器1110可以设置为与存储介质1130通信,在粒子动画实现设备1100上执行存储介质730中的一系列指令操作。

粒子动画实现设备1100还可以包括一个或一个以上电源1140,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1160,和/或,一个或一个以上操作系统1131,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图11示出的粒子动画实现设备结构并不构成对粒子动画实现设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述粒子动画实现方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1