一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种圆角绘制方法、装置、及存储介质与流程

2021-10-27 14:06:00 来源:中国专利 TAG:绘制 计算机技术 装置 圆角 本文


1.本文涉及计算机技术,尤指一种圆角绘制方法、装置、及存储介质。


背景技术:

2.在使用wps office或者microsoft office等同类办公软件时,有时需要制作圆角多边形,但现有工具仅提供了常规的尖角多边形绘制工具和圆角矩形绘制工具,并未能提供绘制其他形状的圆角多边形(例如圆角六边形、圆角箭头等)相关功能,用户只能手动绘制,这种操作往往效率低下,需要消耗用户很多时间。


技术实现要素:

3.本技术提供了一种圆角绘制方法、装置、及存储介质,能够达到自动并且精确的为多边形绘制圆角的目的。
4.本技术提供了一种圆角绘制方法当接收到将所选择的多边形的角绘制为圆角的指令后,获取所选择的多边形顶点对应的圆角的指定绘制距离;根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数;所述每个顶点对应的圆角绘制参数包括该顶点对应的曲线节点的坐标和曲线的控制点坐标;一个顶点对应圆角的所述指定绘制距离是指该圆角的所述曲线节点到该顶点的距离;根据所确定的圆角绘制参数,针对所选择的多边形每个顶点分别设置曲线节点并进行绘制,以绘制出的曲线替代该顶点原先的角;所述图形参数包括所选择的多边形的每个顶点的坐标和每个顶点的角度参数。
5.与相关技术相比,本技术通过确定指定绘制距离,再根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数;其中,每个顶点对应的圆角绘制参数包括该顶点对应的曲线节点的坐标和曲线的控制点坐标,从而能够实现自动并且精确的为多边形绘制圆角。
6.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
7.附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
8.图1为本技术实施例圆角绘制方法流程图;
9.图2为本技术实施例获取的指定绘制距离示意图;
10.图3为本技术对多边形顶点绘制圆角展示过程图一;
11.图4为本技术对多边形顶点绘制圆角展示过程图二;
12.图5为本技术对多边形顶点绘制圆角展示过程图三;
13.图6为本技术对多边形顶点绘制圆角展示过程图四;
14.图7为采用本技术实施例方法对多种图形绘制圆角示意图;
15.图8为本技术对多边形顶点绘制圆角计算机处理一部分流程图;
16.图9为本技术对多边形顶点绘制圆角计算机处理另一部分流程图;
17.图10为本技术实施例圆角绘制模块示意图。
具体实施方式
18.本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
19.本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
20.此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本技术实施例的精神和范围内。
21.如图1所示,本技术实施例圆角绘制方法,包括如下操作:
22.s1、当接收到将所选择的多边形的角绘制为圆角的指令后,获取所选择的多边形顶点对应的圆角的指定绘制距离;
23.s2、根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数;所述每个顶点对应的圆角绘制参数包括该顶点对应的曲线节点的坐标和曲线的控制点坐标;一个顶点对应圆角的所述指定绘制距离是指该圆角的所述曲线节点到该顶点的距离;所述图形参数包括所选择的多边形的每个顶点的坐标和每个顶点的角度参数。
24.s3、根据所确定的圆角绘制参数,针对所选择的多边形每个顶点分别设置曲线节点并进行绘制,以绘制出的曲线替代该顶点原先的角。
25.如图2所示,五边形的5个顶点的指定绘制距离r均相等,即cp到p1的距离与cp到p2的距离相等。
26.在一个示例性实施例中,所述每个顶点的角度参数包括:每个顶点到相邻下一个
顶点的相对角度β;
27.其中,一个顶点到相邻下一个顶点的相对角度,采用以下方式获取:
28.根据本顶点和相邻下一个顶点的坐标,采用第一预定公式确定本顶点到相邻下一个顶点的相对角度β;
29.在一个示例性实施例中,所述第一预定公式为β=arctan(a/b);其中,a=y
2-y1,b=x
2-x1;x1表示本顶点的横坐标;x2表示相邻下一个顶点的横坐标;y1表示本顶点的纵坐标;y2表示相邻下一个顶点的横坐标。
30.在一个示例性实施例中,所述根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数,包括:
31.对所述每个顶点及相邻下一个顶点分别进行如下操作:
32.根据所获取的圆角的指定绘制距离r、本顶点的坐标(x1,y1)、本顶点p1到相邻下一个顶点p2的连接线段长度c、本顶点p1到相邻下一个顶点的相对角度β、以及本顶点到相邻下一个顶点的相对位置关系,采用第二预定公式确定位于本顶点和相邻下个顶点连接线上的本顶点及相邻下个顶点的曲线节点cp1、cp2坐标。
33.在一个示例性实施例中,所述采用第二预定公式分别确定位于本顶点和相邻下个顶点连接线上的本顶点及相邻下个顶点的曲线节点cp1、cp2坐标,包括:
34.当a大于或等于零,采用本顶点的曲线节点的横坐标cp1x计算公式:cp1x=x1 r
×
|cos(β)|,得到本顶点的曲线节点的横坐标cp1x;采用本顶点相邻下一个顶点的曲线节点横坐标cp2x计算公式:cp2x=x1 (c-r)
×
|cos(β)|,得到本顶点相邻下一个顶点的曲线节点横坐标cp2x;
35.当b大于或等于零,采用本顶点的曲线节点的纵坐标cp1y计算公式:cp1y=y1 r
×
|sin(β)|,得到本顶点的曲线节点的纵坐标cp1y;采用相邻下一个顶点的曲线节点的纵坐标cp2y计算公式:cp2y=y1 (c-r)
×
|sin(β)|,得到相邻下一个顶点的曲线节点的纵坐标cp2y;
36.当a小于零,采用本顶点的曲线节点的横坐标cp1x计算公式:cp1x=x
1-r
×
|cos(β)|,得到本顶点的曲线节点的横坐标cp1x;采用相邻下一个顶点的曲线节点的横坐标cp2x计算公式:cp2x=x
1-(c-r)
×
|cos(β)|,得到相邻下一个顶点的曲线节点的横坐标cp2x;
37.当b小于零,采用本顶点的曲线节点的纵坐标cp1y计算公式:cp1y=y
1-r
×
|sin(β)|,得到本顶点的曲线节点的纵坐标cp1y;采用相邻下一个顶点的曲线节点的纵坐标cp2y计算公式:cp2y=y
1-(c-r)
×
|sin(β)|,得到相邻下一个顶点的曲线节点的纵坐标cp2y。
38.在一个示例性实施例中,所述根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数,包括:
39.对所述每个顶点分别进行如下操作:
40.根据所获取的圆角的指定绘制距离r、本顶点坐标、每个顶点到相邻下一个顶点的相对角度β、以及每个顶点到相邻下一个顶点的相对位置关系,采用第三预定公式确定位于本顶点和相邻下个顶点连接线上的本顶点及相邻下个顶点的曲线的控制点cp1b1、cp1b2、cp2b1、cp2b2坐标。
41.在一个示例性实施例中,所述采用第三预定公式确定位于本顶点和相邻下个顶点连接线上的本顶点及相邻下个顶点的曲线的控制点cp1b1、cp1b2、cp2b1、cp2b2坐标,包括:
42.当a大于或等于零,采用本顶点的曲线的第一控制点的横坐标cp1b1x的计算公式:cp1b1x=x1 (r
×
0.5)
×
|cos(β)|,得到本顶点的曲线的第一控制点的横坐标cp1b1x;采用本顶点的曲线的第二控制点的横坐标cp1b2x的计算公式:cp1b2x=x
1-(r
×
0.5)
×
|cos(β)|,得到本顶点的曲线的第二控制点的横坐标cp1b2x;采用相邻下一个顶点的曲线的第一控制点的横坐标cp2b1x的计算公式:cp2b1x=x1 (c-r
×
1.5)*|cos(β)|,得到所述相邻下一个顶点的曲线的第一控制点的横坐标cp2b1x;采用相邻下一个顶点的曲线的第二控制点的横坐标cp2b2x的计算公式:cp2b2x=x
1-(c-r
×
1.5)*|cos(β)|,得到相邻下一个顶点的曲线的第二控制点的横坐标cp2b2x;
43.当a小于零,采用本顶点的曲线的第一控制点的横坐标cp1b1x的计算公式为:cp1b1x=x
1-(r
×
0.5)
×
|cos(β)|,得到本顶点的曲线的第一控制点的横坐标cp1b1x;采用本顶点的曲线的第二控制点的横坐标cp1b2x的计算公式:cp1b2x=x1 (r
×
0.5)
×
|cos(β)|,得到本顶点的曲线的第二控制点的横坐标cp1b2x;采用相邻下一个顶点的曲线的第一控制点的横坐标cp2b1x的计算公式:cp2b1x=x
1-(c-r
×
1.5)*|cos(β)|,得到相邻下一个顶点的曲线的第一控制点的横坐标cp2b1x;采用相邻下一个顶点的曲线的第二控制点的横坐标cp2b2x的计算公式:cp2b2x=x1 (c-r
×
1.5)*|cos(β)|,得到相邻下一个顶点的曲线的第二控制点的横坐标cp2b2x;
44.当b大于或等于零,采用本顶点的曲线的第一控制点的纵坐标cp1b1y的计算公式:cp1b1y=y1 (r
×
0.5)
×
|sin(β)|,得到本顶点的曲线的第一控制点的纵坐标cp1b1y;采用本顶点的曲线的第二控制点的纵坐标cp1b2y的计算公式:cp1b2y=y
1-(r
×
0.5)
×
|sin(β)|,得到本顶点的曲线的第二控制点的纵坐标cp1b2y;采用相邻下一个顶点的曲线的第一控制点的纵坐标cp2b1y的计算公式:cp2b1y=y1 (c-r
×
1.5)
×
|sin(β)|,得到相邻下一个顶点的曲线的第一控制点的纵坐标cp2b1y;采用相邻下一个顶点的曲线的第二控制点纵坐标cp2b2y的计算公式:cp2b2y的y
1-(c-r
×
1.5)
×
|sin(β)|,得到相邻下一个顶点的曲线的第二控制点纵坐标cp2b2y。
45.当b小于零,采用本顶点的曲线的第一控制点的纵坐标cp1b1y的计算公式:cp1b1y=y
1-(r
×
0.5)
×
|sin(β)|,得到本顶点的曲线的第一控制点的纵坐标cp1b1y;采用相邻下一个顶点的曲线的第二控制点的纵坐标cp1b2y的计算公式:cp1b2y=y1 (r
×
0.5)
×
|sin(β)|,得到相邻下一个顶点的曲线的第二控制点的纵坐标cp1b2y;采用相邻下一个顶点的曲线的第一控制点的纵坐标cp2b1y的计算公式:cp2b1y=y
1-(c-r
×
1.5)
×
|sin(β)|,得到相邻下一个顶点的曲线的第一控制点的纵坐标cp2b1y;采用相邻下一个顶点的曲线的第二控制点的纵坐标cp2b2y的计算公式:y1 (c-r
×
1.5)
×
|sin(β)|,得到相邻下一个顶点的曲线的第二控制点的纵坐标cp2b2y。
46.在一个示例性实施例中,所述本顶点到相邻下一个顶点的连接线段长度采用如下方式获取:
47.根据本顶点和相邻下一个顶点的坐标,采用预定第四公式确定所述本顶点到相邻下一个顶点的连接线段长度c;
48.在一个示例性实施例中,所述预定第四公式为:c=((x
2-x1)2 (y
2-y1)2)
0.5

49.本技术圆角绘制方法能够实现多种多边形的绘制,如图7所示,可以为5边形,星形,箭头等等图形。其中星形不仅可以为锐角顶点绘制,同时也能实现为钝角顶点绘制,从
而实现更美观的图形。
50.如图3-6所示,本技术等半径圆角或者等横截面圆角的绘制原理及计算机处理过程实施例,详细描述如下:
51.程序将遍历用户所选的多边形图形的每一个顶点,并通过每个顶点的纵、横坐标利用几何公式计算每个顶点到下一个顶点之间的线段的长度c(两顶点相对距离),例如图3所示,顶点p1到顶点p2的距离计算原理为:
52.p1的横坐标x1以及纵坐标y1为已知,p2的横坐标x2和纵坐标y2也是已知的;那么线段a的长度则为y
2-y1,线段b的长度则为x
2-x1;根据直角三角形边长关系:斜边的平方=两直角边平方和,在得知两直角边的长度情况下,斜边的长度是可以根据公式计算出来的,公式为c=(a2 b2)
0.5
,转换为两直角点坐标公式则为:c=((x
2-x1)2 (y
2-y1)2)
0.5

53.然后使用每个顶点的纵、横坐标计算出每个顶点到下一个顶点的相对角度,例如图4所示,p1到p2的相对角度β(可以理解为线段c的倾斜角度)计算公式为:β=arctan(a/b)。
54.然后计算每个顶点的对应圆角顶点的纵横坐标,如图5所示,其中圆角顶点cp1的横坐标x=x1±
r
×
|cos(β)|,纵坐标y=y1±
r
×
|sin(β)|;cp2的横坐标x=x1±
(c-r)*|cos(β)|,纵坐标y=y1±
(c-r)
×
|sin(β)|;前面4条公式中,
“±”
符号为加法运算或者减法运算,用加法还是用减法,需要依据p1和p2的相对位置关系(即x
2-x1以及y
2-y1是否大于等于0,即前面所述的b、a是否大于等于0)进行判断,判断逻辑如下:
55.若b大于等于0,cp1横坐标计算公式为x=x1 r
×
|cos(β)|,cp2横坐标计算公式为x=x1 (c-r)*|cos(β)|;
56.否则cp1横坐标计算公式为x=x
1-r
×
|cos(β)|,cp2横坐标计算公式为x=x
1-(c-r)*|cos(β)|;
57.若a大于等于0,cp1纵坐标计算公式为y=y1 r
×
|sin(β)|,cp2纵坐标计算公式为y=y1 (c-r)
×
|sin(β)|;
58.否则cp1纵坐标计算公式为y=y
1-r
×
|sin(β)|,cp2纵坐标计算公式为y=y1-(c-r)
×
|sin(β)|;
59.然后计算每个顶点到下一个顶点这条线上的圆角顶点cp1、cp2的第1、2控制点的纵横坐标,如图6所示,cp1、cp2的第1、2控制点计算方法为:
60.cp1的第1控制点b1横坐标x=x1±
(r
×
0.5)
×
|cos(β)|,纵坐标y=y1
±
(r
×
0.5)
×
|sin(β)|;
61.cp1的第2控制点b2横坐标x=x1
±
(r
×
1.5)
×
|cos(β)|,纵坐标y=y1
±
(r
×
1.5)
×
|sin(β)|;
62.cp2的第1控制点b1的横坐标x=x1±
(c-r
×
1.5)*|cos(β)|,纵坐标y=y1
±
(c-r
×
1.5)
×
|sin(β)|;
63.cp2的第2控制点b2的横坐标x=x1±
(c-r
×
0.5)*|cos(β)|,纵坐标y=y1
±
(c-r
×
0.5)
×
|sin(β)|;
64.前述计算控制点坐标的公式中,
“±”
符号为加法运算或者减法运算,使用逻辑与计算cp1、cp2纵横坐标的判断逻辑。
65.将每一个顶点到下一个顶点的线段上的圆角顶点及其控制点的纵横坐标计算出来之后,利用这些圆角顶点坐标(曲线节点坐标)在文档对应坐标上创建新图形,并在每一
个圆角顶点坐标上新增图形节点,然后根据对应的圆角顶点(控制点)第1、2控制点的坐标调整节点的第1、2控制点的位置,最终将得出一个新多边形图形,并且新多边形的角部是圆角。
66.如图8、图9所示,本技术圆角绘制方法计算机绘制示例,包括如下操作:
67.m1:用户选中多边形s,发起绘制圆角多边形指令;
68.m2:调出预设的参数设置界面,用户输入圆角大小值r;
69.m3:遍历s的所有顶点(以下将用p1代表循环当前次所指向的顶点,用p2代表下一个顶点),执行以下m4到m21步骤
70.m4:获取p1的横坐标x1和纵坐标y1、p2的横坐标x2和纵坐标y1;
71.m5:判断x2是否大于等于x1;若是,则赋值变量e=1;若不是,赋值变量e为-1;
72.m6:判断y2是否大于等于y1;若是,则赋值变量f=1;若不是,则,赋值变量f为-1;
73.m7:计算p1到p2线段上第一圆角顶点cp1的横坐标x的值,公式:
74.m8:计算p1到p2线段上第一圆角顶点cp1的纵坐标y的值,公式:
75.m9:根据x、y的值在文档对应坐标创建图形路径节点cp1;
76.m10:计算并设置圆角顶点cp1的第1控制点b1横坐标x的值,公式:
77.m11:计算并设置圆角顶点cp1的第1控制点b1纵坐标y的值,公式:
78.m12:计算并设置圆角顶点cp1的第1控制点b1横坐标x的值,公式:
79.m13:计算并设置圆角顶点cp1的第2控制点b1纵坐标y的值,公式:
80.m14:计算p1到p2线段上第二圆角顶点cp2的横坐标x的值,公式:
81.m15:计算p1到p2线段上第一圆角顶点cp2的纵坐标y的值,公式:
82.m16:根据x、y的值在文档对应坐标创建图形路径节点cp2;
83.m17:计算并设置圆角顶点cp2的第1控制点b1横坐标x的值,公式:
84.m18:计算并设置圆角顶点cp2的第1控制点b1纵坐标y的值,公式:
85.m19:计算并设置圆角顶点cp2的第1控制点b1横坐标x的值,公式:
86.m20:计算并设置圆角顶点cp2的第2控制点b1纵坐标y的值,公式:
87.m21:下一个顶点
88.m22:闭合新图形路径,生成新图形
89.如图10,所示本技术实施例圆角绘制装置,包括如下模块:
90.获取模块10,用于当接收到将所选择的多边形的角绘制为圆角的指令后,获取所选择的多边形顶点对应的圆角的指定绘制距离;
91.绘制参数确定模块20,用于根据所获取的圆角的指定绘制距离,和所选择的多边形的图形参数,确定所选择的多边形每个顶点对应的圆角绘制参数;所述每个顶点对应的圆角绘制参数包括该顶点对应的曲线节点的坐标和曲线的控制点坐标;一个顶点对应圆角的所述指定绘制距离是指该圆角的所述曲线节点到该顶点的距离;所述图形参数包括所选择的多边形的每个顶点的坐标和每个顶点的角度参数
92.圆角绘制模块30,用于根据所确定的圆角绘制参数,针对所选择的多边形每个顶点分别设置曲线节点并进行绘制,以绘制出的曲线替代该顶点原先的角。
93.本技术实施例还提供一种圆角绘制装置,包括处理器和存储器,所述存储器中存储有用于圆角绘制的程序;所述处理器用于读取所述用于圆角绘制的程序,执行上述中任一项所述的方法。
94.本技术实施例还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任一项所述的方法。
95.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他
磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜