一种卷绕数计算方法、装置及相关设备制造方法及图纸

技术编号:37857858 阅读:12 留言:0更新日期:2023-06-15 20:48
本申请实施例公开一种卷绕数计算方法、系统及相关设备,用于提高卷绕数计算的效率。本申请实施例提供的卷绕数计算方法可包括:创建一个与目标位图像素点数量相同的二维数组buff[W][H],并将每个数组元素取值设置为相同的初始值;发起W个或H个并行的赋值运算过程,每个所述赋值运算过程包括:在直角坐标系中,以当前编号为横坐标x,计算当前横坐标下与闭和矢量路径交点的全部纵坐标y,并将交点buff[x][y]进行赋值操作;其中,所述赋值操作是指,按照矢量路径与交点处的纵轴线的三种位置关系依次将交点buff[x][y]赋值为第一标定值、第二标定值、第三标定值;按列或行计算每一个数组元素的前缀和,并将每一个数组元素的前缀和作为对应像素点的卷绕数。作为对应像素点的卷绕数。作为对应像素点的卷绕数。

【技术实现步骤摘要】
一种卷绕数计算方法、装置及相关设备


[0001]本申请涉及矢量绘图
,尤其涉及一种卷绕数计算方法、系统及相关设备。

技术介绍

[0002]矢量绘图
中,矢量图形使用封闭的有向路径描述填充图形的边界,该有向路径对位图中目标像素点的卷绕数(winding number)可以表示有向路径环绕该目标像素点的圈数以及方向,可以通过计算目标像素点的卷绕数的值来确定目标像素点是否位于封闭的有向路径内部。
[0003]相关技术中,计算目标点的卷绕数往往是根据定义累加有向路径中各个段起点以及终点与该目标像素点组成的夹角,最后将夹角的累加值除于2π得到目标像素点的卷绕数。现有技术中,在每个像素点处都需要完全重新计算夹角三角函数,然后用反三角函数求解角度进行累加,效率低下。

技术实现思路

[0004]针对上述现有技术中存在的问题,本申请实施例提供了一种卷绕数计算方法,可以删除待压缩文件中的内嵌字体列表中冗余的字符,减小了内嵌字体列表的大小,从而节省了待压缩文件的占用内存。
[0005]第一方面,本申请实施例提供了一种卷绕数计算方法,其中,包括:
[0006]创建一个与目标位图像素点数量相同的二维数组buff[W][H],并将每个数组元素取值设置为相同的初始值;其中,W、H分别表示目标位图在行、列方向的像素点的数量;
[0007]发起W个或H个并行的赋值运算过程,每个所述赋值运算过程包括:在直角坐标系中,以当前编号为横坐标x,计算当前横坐标下与闭和矢量路径交点的全部纵坐标y,并将交点buff[x][y]进行赋值操作;其中,所述赋值操作是指,按照矢量路径与交点处的纵轴线的位置关系从左到右、相切、从右到左依次将交点buff[x][y]赋值为第一标定值、第二标定值、第三标定值;其中,第一标定值、第三标定值为相反数;
[0008]按列或行计算每一个数组元素的前缀和,并将每一个数组元素的前缀和作为对应像素点的卷绕数。
[0009]进一步地,所述按列或行计算每一个数组元素的前缀和,可包括:
[0010]按列或行对数组进行第一组合求和操作,所述第一组合求和操作是指,按长度为2的幅度,将每列或每行数组元素依次分割为多个小组,并对每个小组中数组元素的数值进行求和,并将数组元素的和更新在每个小组中排序最大的数组元素中;
[0011]对第一组合求和操作之后的数组元素的和进行多次组合求和操作,后一次组合求和操作将上一次组合求和操作的所得的和值按长度为2的幅度分为小组,并对每个小组中数组元素的数值进行求和,并将和值更新在每个小组中排序最大的数组元素中;
[0012]将多次组合求和操作之后的数组中排序最大的数组元素进行数值置零操作;
[0013]对数值置零操作之后的数组进行多次分割求和操作,每一次分割求和操作中,将
数值置零操作之后的数组等分为第一分组和第二分组,对两分组中排序最大的数组元素求和并将和值更新在第二分组中排序最大的数组元素中,同时将第二分组中排序最大的数组元素的值赋给所述第一分组中排序最大的数组元素;
[0014]将多次分割求和操作之后的数组中的各个数组元素的值加上其初始赋值。
[0015]进一步地,所述按列或行计算每一个数组元素的前缀和,可包括:
[0016]采用迭代算法按列或行依次计算每一个当前数组元素以及所述当前数组元素之前的所有数组元素的数值之和为所述数组元素的前缀和。。
[0017]进一步地,本申请实施例中的卷绕数计算方法还可以包括:
[0018]若目标数组元素的前缀和大于预设值,则将所述目标数组元素对应像素点的颜色区别显示,以将闭合的闭和矢量路径内部的像素点与外部的像素点区别
[0019]第二方面,本申请实施例还提供了一种卷绕数计算装置,可包括:
[0020]创建模块,用于创建一个与目标位图像素点数量相同的二维数组buff[W][H],并将每个数组元素取值设置为相同的初始值;其中,W、H分别表示目标位图在行、列方向的像素点的数量;
[0021]第一计算模块,发起W个或H个并行的赋值运算过程,每个所述赋值运算过程包括:在直角坐标系中,以当前编号为横坐标x,计算当前横坐标下与闭和矢量路径交点的全部纵坐标y,并将交点buff[x][y]进行赋值操作;其中,所述赋值操作是指,按照矢量路径与交点处的纵轴线的位置关系从左到右、相切、从右到左依次将交点buff[x][y]赋值为第一标定值、第二标定值、第三标定值;其中,第一标定值、第三标定值为相反数;
[0022]第二计算模块,按列或行计算每一个数组元素的前缀和,并将每一个数组元素的前缀和作为对应像素点的卷绕数。
[0023]第三方面,本申请实施例还提供了一种电子设备,其中,包括:存储器以及处理器,所述存储器用于存储并支持处理器执行第一方面中任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
[0024]第四方面,本申请实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,其中,所述程序代码使所述处理器执行所述第一方面的任一所述方法。
[0025]本申请实施例带来了以下有益效果:
[0026]本申请实施例中同时并行发起W个或H个并行的赋值运算过程,然后同时对目标位图中W个行或或H个列像素点的卷绕数进行计算,大大提高了目标位图像素点的卷绕数的计算效率。其次,本申请实施例中,通过多次组合求和操作和多次分割求和操作可以减少求和计算的次数,降低计算的复杂度,进一步提高了卷绕数计算的效率。
附图说明
[0027]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0028]图1为现有理论中的卷绕数计算示意图;
[0029]图2为本申请实施例中的卷绕数计算方法的一个实施例示意图;
[0030]图3为本申请实施例中卷绕数计算方法的一个具体实施例示意图;
[0031]图4为本申请实施例中卷绕数计算方法的另一个具体实施例示意图;
[0032]图5为本申请实施例中的电子设备的一个实施例示意图。
[0033]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0034]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷绕数计算方法,其特征在于,包括:创建一个与目标位图像素点数量相同的二维数组buff[W][H],并将每个数组元素取值设置为相同的初始值;其中,W、H分别表示目标位图在行、列方向的像素点的数量;发起W个或H个并行的赋值运算过程,每个所述赋值运算过程包括:在直角坐标系中,以当前编号为横坐标x,计算当前横坐标下与闭和矢量路径交点的全部纵坐标y,并将交点buff[x][y]进行赋值操作;其中,所述赋值操作是指,按照矢量路径与交点处的纵轴线的位置关系从左到右、相切、从右到左依次将交点buff[x][y]赋值为第一标定值、第二标定值、第三标定值;其中,第一标定值、第三标定值为相反数;按列或行计算每一个数组元素的前缀和,并将每一个数组元素的前缀和作为对应像素点的卷绕数。2.根据权利要求1所述的方法,其特征在于,所述按列或行计算每一个数组元素的前缀和,包括:按列或行对数组进行第一组合求和操作,所述第一组合求和操作是指,按长度为2的幅度,将每列或每行数组元素依次分割为多个小组,并对每个小组中数组元素的数值进行求和,并将数组元素的和更新在每个小组中排序最大的数组元素中;对第一组合求和操作之后的数组元素的和进行多次组合求和操作,后一次组合求和操作将上一次组合求和操作的所得的和值按长度为2的幅度分为小组,并对每个小组中数组元素的数值进行求和,并将和值更新在每个小组中排序最大的数组元素中;将多次组合求和操作之后的数组中排序最大的数组元素进行数值置零操作;对数值置零操作之后的数组进行多次分割求和操作,每一次分割求和操作中,将数值置零操作之后的数组等分为第一分组和第二分组,对两分组中排序最大的数组元素求和并将和值更新在第二分组中排序最大的数组元素中,同时将第二分组中排序最大的数组元素的值赋给所述第一分组中排序最大的数组元素;将多次分割求和操作之后的数组中的各个数组元素的值加上其初始赋值。3.如权利要求1所述的方法,其特征在于,所述按列或行计算每一个数组元素的前缀和,包括:采用迭代算法按列或行依次计算每一个当前数组元素以及所述当前数组元素之前的所有数组元素的数值之和为所述数组元素的前缀和。4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:若目标数组元素的前缀和大于预设值,则将所述目标数组元素对应像素点的颜色区别显示,以将闭合的闭和矢量路径内部的像素点与外部的像素点区别显示。5.一种卷绕数计算装置,其特征在于,包括,。创建模块,用于创建一个与目标位图像素点数量相同的二维数组buff[W][H],并将每个数组元素取值设置为相同的初始值;其中,W、H分别表示目标位图在行、列方向的像素点的数...

【专利技术属性】
技术研发人员:胡舒健
申请(专利权)人:深圳市博思云创科技有限公司
类型:发明
国别省市:

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

1