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

一种基于连杆坐标系的空间计算方法及装置与流程

2022-06-01 15:23:19 来源:中国专利 TAG:


1.本技术涉及图像技术领域,更具体的说,涉及基于连杆坐标系的空间计算方法及装置。


背景技术:

2.目前,随着图像数字技术的进步,三维渲染技术的处理效率变得越来越重要。更快的三维空间计算方法,将极大的提高三维渲染技术的效率,极大的提高游戏等三维应用程序的显示速度和显示质量。
3.在传统的三维空间计算方法中,主要由三维直角坐标系来表示曲线、曲面和曲体等。例如,在三维直角坐标系中,使用表达式x2 y2=r2表示圆形,使用表达式x2 y2 z2=r2表示球面,使用表达式x2 y2 z2≤r2表示球体。
4.通过上述举例的圆形、球面和球体的表达式可以得知,曲线、曲面和曲体的表达式均涉及平方的计算,即表达式较为复杂且运算量较大,所以在传统的三维空间计算方法涉及到曲线、曲面和曲体的计算时,运算效率明显下降,从而降低了游戏等程序的三维渲染效率,影响游戏等程序的画面质感和流畅度。


技术实现要素:

5.本技术提供一种基于连杆坐标系的空间计算方法,以降低曲线、曲面和曲体的表达式的运算量,进而降低空间计算的复杂度。
6.第一方面,本技术提供了一种基于连杆坐标系的空间计算方法,该方法包括:建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴。获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形。
7.在第一方面中,在使用连杆坐标系的第二节点绘制第一图形时,需要用到的数学表达式仅包括连杆的长度和第二节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲线、曲面和曲体的数学表达式的运算量,进而降低空间计算的复杂度。
8.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,旋转角度组包括第二节点在第一位置相对于三个旋转轴中的每个旋转轴的旋转角度。
9.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的第一长度和第一旋转角度组。根据数学表达式调用第二节点绘制第一图形,包括:根据数学表达式调用第二节点绘制第一空间点,第一空间点为第二节点按照第一连杆的第一长度和第一旋转角度组由第一位置移动至第二位置所在的空间点。
10.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和第二旋转角度组,第一连杆的至少一个长度构成第一长度范围。根据数学表达式调用第二节点绘制第一图形,包括:根据数学表达式调用第二节点绘制第一直线,第一直线为第二节点按照第一连杆的第一长度范围和第二旋转角度组由第一位置移动至第二位置所在的空间点组成的直线。
11.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的第二长度和至少一个旋转角度组,至少一个旋转角度组构成第一角度范围。根据数学表达式调用第二节点绘制第一图形,包括:根据数学表达式调用第二节点绘制第一曲线,第一曲线为第二节点按照第一连杆的第二长度和第一角度范围由第一位置移动至第二位置所在的空间点组成的曲线。
12.其中,在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为固定值时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲线,所以在使用连杆坐标系的节点绘制曲线时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲线的数学表达式的运算量,进而降低空间计算的复杂度。
13.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第二长度范围,至少一个旋转角度组构成第二角度范围。根据数学表达式调用第二节点绘制第一图形,包括:根据数学表达式调用第二节点绘制第一曲面,第一曲面为第二节点按照第一连杆的第二长度范围和第二角度范围由第一位置移动至第二位置所在的空间点组成的曲面。
14.其中,在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为一个长度范围时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲面,所以在使用连杆坐标系的节点绘制曲面时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲面的数学表达式的运算量,进而降低空间计算的复杂度。
15.在第一方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第三长度范围,至少一个旋转角度组构成第三角度范围。根据数学表达式调用第二节点绘制第一图形,包括:根据数学表达式调用第二节点绘制第一曲体,第一曲体为第二节点按照第一连杆的第三长度范围和第三角度范围由第一位置移动至第二位置所在的空间点组成的曲体。
16.在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为一个长度范围时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲体,所以在使用连杆坐标系的节点绘制曲体时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲体的数学表达式的运算量,进而降低空间计算的复杂度。
17.在第一方面的一种可能的实现方式中,三个旋转轴中的任意两个旋转轴是相互垂直的。
18.第二方面,本技术提供了一种电子设备,该电子设备包括:建立模块,用于建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一
连杆相连接,第一节点上设置有三个旋转轴。获取模块,用于获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。处理模块,用于根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形。
19.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,旋转角度组包括第二节点在第一位置相对于三个旋转轴中的每个旋转轴的旋转角度。
20.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的第一长度和第一旋转角度组。处理模块,具体用于根据数学表达式调用第二节点绘制第一空间点,第一空间点为第二节点按照第一连杆的第一长度和第一旋转角度组由第一位置移动至第二位置所在的空间点。
21.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和第二旋转角度组,第一连杆的至少一个长度构成第一长度范围。处理模块,具体用于根据数学表达式调用第二节点绘制第一直线,第一直线为第二节点按照第一连杆的第一长度范围和第二旋转角度组由第一位置移动至第二位置所在的空间点组成的直线。
22.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的第二长度和至少一个旋转角度组,至少一个旋转角度组构成第一角度范围。处理模块,具体用于根据数学表达式调用第二节点绘制第一曲线,第一曲线为第二节点按照第一连杆的第二长度和第一角度范围由第一位置移动至第二位置所在的空间点组成的曲线。
23.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第二长度范围,至少一个旋转角度组构成第二角度范围。处理模块,具体用于根据数学表达式调用第二节点绘制第一曲面,第一曲面为第二节点按照第一连杆的第二长度范围和第二角度范围由第一位置移动至第二位置所在的空间点组成的曲面。
24.在第二方面的一种可能的实现方式中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第三长度范围,至少一个旋转角度组构成第三角度范围。处理模块,具体用于根据数学表达式调用第二节点绘制第一曲体,第一曲体为第二节点按照第一连杆的第三长度范围和第三角度范围由第一位置移动至第二位置所在的空间点组成的曲体。
25.在第二方面的一种可能的实现方式中,三个旋转轴中的任意两个旋转轴是相互垂直的。
26.第三方面,本技术实施例提供了一种电子设备,该电子设备包括存储器和与存储器连接的处理器,存储器用于存储指令。处理器用于执行指令,以使计算机设备执行以下操作:建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴。获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图
形。
27.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有软件代码,软件代码为在被一个或多个处理器读取后能够执行以下操作:建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴。获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形。
附图说明
28.图1所示的为本技术实施例提供的一种连杆坐标系的示意图;
29.图2所示的为本技术实施例提供的另一种连杆坐标系的示意图;
30.图3所示的为本技术实施例提供的又一种连杆坐标系的示意图;
31.图4为子节点b由图3所在的初始位置带动连杆l1绕x轴逆时针旋转90度的示意图;
32.图5为子节点b由图4所在的位置带动连杆l1绕y轴逆时针旋转45度的示意图;
33.图6为子节点b由图5所在的位置带动连杆l1绕z轴逆时针旋转30度的示意图;
34.图7所示的为连杆坐标系的初始状态的示意图;
35.图8为子节点b由图7所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图;
36.图9为在连杆坐标系中调用子节点b绘制直线h1的示意图;
37.图10为子节点b由图3所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图;
38.图11为在连杆坐标系中调用子节点b绘制曲线h2的示意图;
39.图12所示的为本技术实施例提供的又一种连杆坐标系的示意图;
40.图13为子节点b由图12所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图;
41.图14为在连杆坐标系中调用子节点b绘制曲面h3的示意图;
42.图15所示的为本技术实施例提供的又一种连杆坐标系的示意图;
43.图16为在连杆坐标系中调用子节点b绘制曲体h4的示意图;
44.图17所示的为本技术实施例提供的一种基于连杆坐标系的空间计算方法的流程图;
45.图18所示的为本技术实施例提供的一种电子设备的示意图;
46.图19所示的为本技术实施例提供的又一种电子设备的示意图。
具体实施方式
47.在上述背景技术中已经提到,在传统的三维空间计算方法中,主要由三维直角坐标系来表示曲线、曲面和曲体等。但是,在使用三维直角坐标系来表示曲线、曲面和曲体时,使用的表达式均涉及平方的计算,即表达式较为复杂且运算量较大。为了降低曲线、曲面和曲体的表达式的运算量,进而降低空间计算的复杂度,本技术提供了一种基于连杆坐标系的空间计算方法,下面介绍一下该方法。
48.通常情况下,连杆坐标系包括一个根节点、至少一个子节点和至少一个连杆。其中,子节点的数量与连杆的数量相同,连杆的长度可以被设定为固定长度,连杆的长度也可以被设定为在一个范围内。用户可以根据具体的应用场景来定义一个连杆坐标系的子节点的数量、连杆的数量、连杆的长度和根节点与子节点之间的层级关系。
49.请参见图1所示,图1所示的为本技术实施例提供的一种连杆坐标系的示意图。假设一个具体的应用场景中仅需要一个子节点和一个连杆,图1中的连杆坐标系包括根节点a、子节点b和连杆l1,连杆l1的长度为1cm。
50.在图1所示的示例中,根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
51.介绍一下上层节点的概念。如果第一子节点与根节点通过第一连杆相连,那么第一子节点的上层节点为根节点。如果第一子节点与第二子节点通过第一连杆相连,且第二子节点相对于第一子节点更靠近根节点,那么第一子节点的上层节点为第二子节点。
52.介绍一下下层节点的概念。如果第一子节点与根节点通过第一连杆相连,那么根节点的下层节点为第一子节点。如果第一子节点与第二子节点通过第一连杆相连,且第二子节点相对于第一子节点更靠近根节点,那么第二子节点的下层节点为第一子节点。
53.请参见表1所示,表1为图1所示的连杆坐标系中子节点与子节点的上层节点的映射关系表。
54.子节点子节点的上层节点子节点b根节点a
55.表1
56.结合图1和表1可以得知,子节点b的上层节点为根节点a。由于根节点a为顶层节点,所以根节点a不存在上层节点。
57.当然,也可以通过下述数学表达式(1)体现图1所示的连杆坐标系中子节点b的上层节点。
58.数学表达式(1)=[根节点a]。其中,数学表达式(1)表示子节点b的上层节点为根节点a。
[0059]
请参见图2所示,图2所示的为本技术实施例提供的另一种连杆坐标系的示意图。假设一个具体的应用场景中需要三个子节点和三个连杆,图2中的连杆坐标系包括根节点a、子节点b、子节点c、子节点d、连杆l1、连杆l2和连杆l3,连杆l1、连杆l2和连杆l3的长度均为1cm。
[0060]
在图2所示的示例中,根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b和子节点d的上层节点,子节点b可以带动连杆l1绕着根节点a旋转,子节点d可以带动连杆l3绕着根节点a旋转。子节点b是子节点c的上层节点,子节点c可以带动连杆l2绕着子节点b旋转。
[0061]
请参见表2所示,表2为图2所示的连杆坐标系中子节点与子节点的上层节点的映射关系表。
[0062]
子节点子节点的上层节点子节点b根节点a子节点c子节点b
子节点d根节点a
[0063]
表2
[0064]
结合图2和表2可以得知,子节点b的上层节点为根节点a,子节点c的上层节点为子节点b,子节点d的上层节点为根节点a。由于根节点a为顶层节点,所以根节点a不存在上层节点。
[0065]
当然,也可以通过下述数学表达式(2)体现图2所示的连杆坐标系中每个子节点的上层节点。
[0066]
数学表达式(2)=[根节点a,子节点b,根节点a]。其中,数学表达式(2)表示每个子节点与上层节点的映射关系,具体的,子节点b的上层节点为根节点a,子节点c的上层节点为子节点b,子节点d的上层节点为根节点a。
[0067]
通过图1和图2所示的示例可以说明,用户可以根据具体的应用场景来定义一个连杆坐标系的子节点的数量、连杆的数量、连杆的长度和根节点与子节点之间的层级关系。
[0068]
为了体现一个连杆坐标系中的位置关系,可以在连杆坐标系中的根节点或子节点上设置三个旋转轴。对于末端的子节点不需要设置三个旋转轴,末端的子节点指的是没有下层节点的子节点。
[0069]
下面结合图3至图6所示的示例,来说明如何利用连杆坐标系绘制出空间点。
[0070]
请参见图3所示,图3所示的为本技术实施例提供的又一种连杆坐标系的示意图。假设一个具体的应用场景中仅需要一个子节点和一个连杆,图3中的连杆坐标系包括根节点a、子节点b和连杆l1,其中,连杆l1的长度为10cm。根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
[0071]
在图3所示的示例中,为了体现连杆坐标系中根节点a和子节点b之间的位置关系,需要在根节点a上设置三个旋转轴,这三个旋转轴分别是x轴、y轴和z轴,这三个旋转轴交汇于根节点a上。而且,这三个旋转轴中的任意两个旋转轴是相互垂直的,即x轴与y轴是相互垂直的,x轴与z轴是相互垂直的,y轴与z轴是相互垂直的。另外,可以将子节点b的初始位置设置在y轴上,连杆l1与y轴重合。
[0072]
在图3所示的示例中,连杆坐标系中子节点b带动连杆l1绕着根节点a的旋转均使用欧拉角表示,逆时针旋转为正方向。可以将子节点b带动连杆l1绕着根节点a的一次旋转过程,转换成子节点b分别绕三个旋转轴的三次旋转过程,这三次旋转过程为子节点b带动连杆l1绕x轴旋转α度,子节点b带动连杆l1绕y轴旋转β度,子节点b带动连杆l1绕z轴旋转γ度。在子节点b设置在y轴上且连杆l1的长度=10cm时,说明子节点b位于初始位置上,子节点b在初始位置上相对于三个旋转轴的旋转角度为[α=0,β=0,γ=0]。
[0073]
在图3所示的示例中,如果设定子节点b在初始位置上相对于三个旋转轴(x轴,y轴和z轴)的旋转角度为[α=90度,β=45度,γ=30度],说明需要子节点b带动连杆l1绕x轴逆时针旋转90度,子节点b带动连杆l1绕y轴逆时针旋转45度,子节点b带动连杆l1绕z轴逆时针旋转30度。
[0074]
请结合图3至图6所示,图4为子节点b由图3所在的初始位置带动连杆l1绕x轴逆时针旋转90度的示意图,图5为子节点b由图4所在的位置带动连杆l1绕y轴逆时针旋转45度的示意图,图6为子节点b由图5所在的位置带动连杆l1绕z轴逆时针旋转30度的示意图。
[0075]
在图3至图6所示的示例中,可以使用数学表达式(3)来表示子节点b所在位置的空间点,数学表达式(3)=[α=90度,β=45度,γ=30度,连杆l1的长度=10cm,子节点b]。数学表达式(3)指示在连杆l1的长度为10cm的情况下,子节点b在初始位置带动连杆l1绕三个旋转轴旋转[α=90度,β=45度,γ=30度]后所在位置的空间点。即数学表达式(3)表示图6所示的子节点b所在位置的空间点。
[0076]
下面结合图7至图9所示的示例,来说明如何利用连杆坐标系绘制出直线h1。
[0077]
请参见图7所示,图7所示的为连杆坐标系的初始状态的示意图。假设一个具体的应用场景中仅需要一个子节点和一个连杆,图7中的连杆坐标系包括根节点a、子节点b和连杆l1,其中,连杆l1的长度∈[5cm,10cm]。根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
[0078]
在图7所示的示例中,由于连杆l1的长度在一个长度范围(5cm-10cm)内,所以可以将子节点b的初始位置设置在y轴上的5cm至10cm的位置上。在子节点b位于y轴的5cm至10cm的位置上时,子节点b在初始位置上相对于三个旋转轴的旋转角度为[α=0,β=0,γ=0]。
[0079]
请结合图7至图9所示,图8为子节点b由图7所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图,图9为在连杆坐标系中调用子节点b绘制直线h1的示意图。
[0080]
在图7至图9所示的示例中,可以使用数学表达式(4)来表示子节点b所在位置组成的直线h1,数学表达式(4)=[α=0度,β=0度,γ=-30度,连杆l1的长度∈[5cm,10cm],子节点b]。数学表达式(4)指示在连杆l1的长度∈[5cm,10cm]的情况下,子节点b在初始位置带动连杆l1绕三个旋转轴旋转[α=0度,β=0度,γ=-30度]后所在位置组成的直线h1。数学表达式(4)可以表示图8所示的子节点b所在位置组成的直线h1,数学表达式(4)也可以表示图9所示直线h1。
[0081]
在图7至图9所示的示例中,由于子节点b带动连杆l1绕z轴旋转-30度,而且连杆l1的长度∈[5cm,10cm],所以子节点b旋转后所在位置的每种可能性都会形成一个空间点,子节点b旋转后所在位置的所有可能性形成的空间点会组成直线h1。
[0082]
下面结合图3、图10和图11所示的示例,来说明如何利用连杆坐标系绘制出曲线h2。其中,图10为子节点b由图3所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图,图11为在连杆坐标系中调用子节点b绘制曲线h2的示意图。
[0083]
在图3、图10和图11所示的示例中,连杆坐标系包括根节点a、子节点b和连杆l1,其中,连杆l1的长度为10cm。根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
[0084]
在图3、图10和图11所示的示例中,使用数学表达式(5)可以调用子节点b绘制图10和图11中的曲线h2,数学表达式(5)=[α=0度,β=0度,γ∈[0度,-30度],连杆l1的长度=10cm,子节点b]。数学表达式(5)指示在连杆l1的长度=10cm的情况下,子节点b在初始位置带动连杆l1绕三个旋转轴旋转[α=0度,β=0度,γ∈[0度,-30度]]后所在位置组成的曲线h2。
[0085]
在图3、图10和图11所示的示例中,由于子节点b带动连杆l1绕z轴旋转的角度范围∈[0度,-30度],所以子节点b旋转后所在位置的每种可能性都会形成一个空间点,子节点b旋转后所在位置的所有可能性形成的空间点会组成曲线h2。
[0086]
下面结合图12至图14所示的示例,来说明如何利用连杆坐标系绘制出曲面h3。其中,图12所示的为本技术实施例提供的又一种连杆坐标系的示意图,图13为子节点b由图12所在的初始位置带动连杆l1绕z轴顺时针旋转30度的示意图,图14为在连杆坐标系中调用子节点b绘制曲面h3的示意图。
[0087]
请参见图12所示,假设一个具体的应用场景中仅需要一个子节点和一个连杆,图12中的连杆坐标系包括根节点a、子节点b和连杆l1,其中,连杆l1的长度∈[0cm,10cm]。根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
[0088]
在图12所示的示例中,由于连杆l1的长度在一个长度范围(0cm-10cm)内,所以可以将子节点b的初始位置设置在y轴上的0cm至10cm的位置上。在子节点b位于y轴的0cm至10cm的位置上时,子节点b在初始位置上相对于三个旋转轴的旋转角度为[α=0,β=0,γ=0]。
[0089]
请结合图12至图14所示,可以使用数学表达式(6)来表示子节点b绘制的曲面h3,数学表达式(6)=[α=0度,β=0度,γ∈[0度,-30度],连杆l1的长度∈[0cm,10cm],子节点b]。数学表达式(6)指示在连杆l1的长度∈[0cm,10cm]的情况下,子节点b在初始位置带动连杆l1绕三个旋转轴旋转[α=0度,β=0度,γ∈[0度,-30度]]后所在位置的空间点组成的曲面h3。
[0090]
在图12至图14所示的示例中,由于连杆l1的长度∈[0cm,10cm],而且子节点b带动连杆l1绕z轴旋转的角度范围∈[0度,-30度],所以子节点b旋转后所在位置的每种可能性都会形成一个空间点,子节点b旋转后所在位置的所有可能性形成的空间点会组成曲面h3。
[0091]
下面结合图15和图16所示的示例,来说明如何利用连杆坐标系绘制出曲体h4。其中,图15所示的为本技术实施例提供的又一种连杆坐标系的示意图,图16为在连杆坐标系中调用子节点b绘制曲体h4的示意图。
[0092]
请参见图15所示,假设一个具体的应用场景中仅需要一个子节点和一个连杆,图15中的连杆坐标系包括根节点a、子节点b和连杆l1,其中,连杆l1的长度∈[0cm,5cm]。根节点a是连杆坐标系的原点,根节点a在连杆坐标系中不可移动。根节点a为子节点b的上层节点,子节点b可以带动连杆l1绕着根节点a旋转。
[0093]
在图15所示的示例中,由于连杆l1的长度在一个长度范围(0cm-5cm)内,所以可以将子节点b的初始位置设置在y轴上的0cm至5cm的位置上。在子节点b位于y轴的0cm至5cm的位置上时,子节点b在初始位置上相对于三个旋转轴的旋转角度为[α=0,β=0,γ=0]。
[0094]
在图15和图16所示的示例中,可以使用数学表达式(7)来表示子节点b绘制的曲体h4,数学表达式(7)=[α∈[0度,360度],β∈[0度,360度],γ∈[0度,360度],连杆l1的长度∈[0cm,5cm],子节点b]。数学表达式(7)指示在连杆l1的长度∈[0cm,5cm]的情况下,子节点b在初始位置带动连杆l1绕三个旋转轴旋转[α∈[0度,360度],β∈[0度,360度],γ∈[0度,360度]]后所在位置的空间点组成的曲体h4。
[0095]
在图15和图16所示的示例中,由于连杆l1的长度∈[0cm,5cm],而且子节点b可以带动连杆l1绕x轴旋转的角度范围∈[0度,360度],子节点b还可以带动连杆l1绕y轴旋转的角度范围∈[0度,360度],子节点b还可以带动连杆l1绕z轴旋转的角度范围∈[0度,360度],所以子节点b旋转后所在位置的每种可能性都会形成一个空间点,子节点b旋转后所在
位置的所有可能性形成的空间点会组成曲体h4。
[0096]
在图15和图16所示的示例中,曲体h4为半径为5cm的球体。可以理解的是,曲体h4是由子节点b绘制而成的。
[0097]
请参见图17所示,图17所示的为本技术实施例提供的一种基于连杆坐标系的空间计算方法的流程图,图17所示的基于连杆坐标系的空间计算方法可以应用在电子设备上,具体的,电子设备可以为计算机、智能手机、平板电脑或智能电视等设备。图17所示的方法包括以下步骤s101至s103。
[0098]
s101、建立连杆坐标系。
[0099]
其中,电子设备可以根据工作人员输入的初始参数建立连杆坐标系。连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴,三个旋转轴中的任意两个旋转轴是相互垂直的。
[0100]
在s101的一种可能的场景中,连杆坐标系仅包括第一节点、第二节点和第一连杆,不包括其他的节点和其他的连杆,所以只能利用第二节点来绘制图形。
[0101]
例如,请结合图3所示,图3所示的连杆坐标系包括根节点a、子节点b和连杆l1,连杆l1的长度为10cm。
[0102]
在图3所示的示例中,如果需要子节点b来绘制图形,那么需要在根节点a上设置三个旋转轴,这三个旋转轴分别为x轴、y轴和z轴,子节点b可以带动连杆l1绕着根节点a上的三个旋转轴转动,从而利用子节点b绘制图形。
[0103]
在s101的另一种可能的场景中,连杆坐标系不仅包括第一节点、第二节点和第一连杆,还包括其他的节点和其他的连杆,不仅可以利用第二节点来绘制图形,还可以利用其它节点来绘制图形。
[0104]
例如,请结合图2所示,连杆坐标系包括根节点a、子节点b、子节点c、子节点d、连杆l1、连杆l2和连杆l3,连杆l1、连杆l2和连杆l3的长度均为10cm。
[0105]
在图2所示的示例中,如果需要子节点b或子节点d来绘制图形,那么需要在根节点a上设置三个旋转轴(图2中未示出根节点a上的三个旋转轴),根节点a上的三个旋转轴分别为x1轴、y1轴和z 1轴,子节点b可以带动连杆l1绕着根节点a上的三个旋转轴转动,从而利用子节点b绘制图形。子节点d也可以带动连杆l3绕着根节点a上的三个旋转轴转动,从而利用子节点d绘制图形。
[0106]
在图2所示的示例中,如果需要子节点c来绘制图形,那么需要在子节点b上设置三个旋转轴(图2中未示出子节点b上的三个旋转轴),子节点b上的三个旋转轴分别为x2轴、y2轴和z2轴,子节点c可以带动连杆l2绕着子节点b上的三个旋转轴转动,从而利用子节点c绘制图形。
[0107]
s102、获取第一位置和数学表达式。
[0108]
其中,在电子设备建立好连杆坐标系以后,电子设备需要获取工作人员输入的第一位置和数学表达式。具体的,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。
[0109]
例如,请结合图3所示,电子设备建立连杆坐标系,该连杆坐标系包括根节点a、子节点b和连杆l1,连杆l1的长度为10cm。在根节点a上设置三个旋转轴,这三个旋转轴分别为x轴、y轴和z轴,子节点b可以带动连杆l1绕着根节点a上的三个旋转轴转动。工作人员向电
子设备输入子节点b在三个旋转轴中的初始位置为y轴上。
[0110]
在图3所示的示例中,如果工作人员需要子节点b来绘制图形,那么工作人员还需要向电子设备输入数学表达式。当然,绘制不同的图形需要不同的数学表达式,具体的数学表达式需要根据实际情况来编写。
[0111]
s103、根据数学表达式调用第二节点绘制第一图形。
[0112]
其中,在电子设备获取到工作人员输入的第一位置和数学表达式以后,电子设备需要根据数学表达式调用第二节点绘制第一图形。具体的,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形,第一图形可以为空间点、直线、曲线、曲面或曲体。
[0113]
在图17所示的实施例中,在使用连杆坐标系的第二节点绘制第一图形时,需要用到的数学表达式仅包括连杆的长度和第二节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲线、曲面和曲体的数学表达式的运算量,进而降低空间计算的复杂度。
[0114]
在图17所示的实施例中,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,旋转角度组包括第二节点在第一位置相对于三个旋转轴中的每个旋转轴的旋转角度。
[0115]
在工作人员需要绘制一个特定位置的空间点时,数学表达式包括第一连杆的第一长度和第一旋转角度组。
[0116]
示例的,请结合图3至图6所示,在工作人员需要绘制一个特定位置的空间点时,工作人员会向电子设备输入数学表达式(3),其中,数学表达式(3)=[α=90度,β=45度,γ=30度,连杆l1的长度=10cm,子节点b]。电子设备可以根据数学表达式(3)调用节点b绘制出如图6所示的子节点b所在位置的空间点。
[0117]
在图3至图6所示的示例中,数学表达式(3)中的旋转角度组为[α=90度,β=45度,γ=30度],即子节点b绕着三个旋转轴的旋转角度是一个固定值。而且,连杆l1的长度为10cm,即连杆l1的长度为一个固定值。
[0118]
通过图3至图6所示的示例可以得知,在数学表达式中的旋转角度组和连杆的长度均为固定值时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的空间点。
[0119]
在工作人员需要绘制一个特定位置的直线时,数学表达式包括第一连杆的至少一个长度和第二旋转角度组,第一连杆的至少一个长度构成第一长度范围。
[0120]
示例的,请结合图7至图9所示,在工作人员需要绘制一个特定位置的直线h1时,工作人员会向电子设备输入数学表达式(4),其中,数学表达式(4)=[α=0度,β=0度,γ=-30度,连杆l1的长度∈[5cm,10cm],子节点b]。电子设备可以根据数学表达式(4)调用节点b绘制出如图9所示的直线h1。
[0121]
在图7至图9所示的示例中,数学表达式(4)中的旋转角度组为[α=0度,β=0度,γ=-30度],即子节点b绕着三个旋转轴的旋转角度是一个固定值。而且,连杆l1的长度∈[5cm,10cm],即连杆l1的长度为一个长度范围。
[0122]
通过图7至图9所示的示例可以得知,在数学表达式中的旋转角度组为固定值且连杆的长度构成一个长度范围时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的直线。
[0123]
在工作人员需要绘制一个特定位置的曲线时,数学表达式包括第一连杆的第二长度和至少一个旋转角度组,至少一个旋转角度组构成第一角度范围。
[0124]
示例的,请结合图3、图10和图11所示,在工作人员需要绘制一个特定位置的曲线h2时,工作人员会向电子设备输入数学表达式(5),其中,数学表达式(5)=[α=0度,β=0度,γ∈[0度,-30度],连杆l1的长度=10cm,子节点b]。电子设备可以根据数学表达式(5)调用节点b绘制出如图11所示的曲线h2。
[0125]
在图3、图10和图11所示的示例中,数学表达式(5)中的至少一个旋转角度组构成角度范围为[α=0度,β=0度,γ∈[0度,-30度]],即子节点b绕着三个旋转轴的旋转角度是一个角度范围。而且,连杆l1的长度=10cm,即连杆l1的长度为一个固定值。
[0126]
通过图3、图10和图11所示的示例可以得知,在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为固定值时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲线,所以在使用连杆坐标系的节点绘制曲线时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲线的数学表达式的运算量,进而降低空间计算的复杂度。
[0127]
在工作人员需要绘制一个特定位置的曲面时,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第二长度范围,至少一个旋转角度组构成第二角度范围。
[0128]
示例的,请结合图12至图14所示,在工作人员需要绘制一个特定位置的曲面h3时,工作人员会向电子设备输入数学表达式(6),其中,数学表达式(6)=[α=0度,β=0度,γ∈[0度,-30度],连杆l1的长度∈[0cm,10cm],子节点b]。电子设备可以根据数学表达式(6)调用节点b绘制出如图14所示的曲面h3。
[0129]
在图12至图14所示的示例中,数学表达式(6)中的至少一个旋转角度组构成角度范围为[α=0度,β=0度,γ∈[0度,-30度]],即子节点b绕着三个旋转轴的旋转角度是一个角度范围。而且,连杆l1的长度∈[0cm,10cm],即连杆l1的长度为一个长度范围。
[0130]
通过图12至图14所示的示例可以得知,在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为一个长度范围时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲面,所以在使用连杆坐标系的节点绘制曲面时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲面的数学表达式的运算量,进而降低空间计算的复杂度。
[0131]
在工作人员需要绘制一个特定位置的曲体时,数学表达式包括第一连杆的至少一个长度和至少一个旋转角度组,第一连杆的至少一个长度构成第三长度范围,至少一个旋转角度组构成第三角度范围。
[0132]
示例的,请结合图15和图16所示,在工作人员需要绘制一个特定位置的曲体h4时,工作人员会向电子设备输入数学表达式(7),其中,数学表达式(7)=[α∈[0度,360度],β∈[0度,360度],γ∈[0度,360度],连杆l1的长度∈[0cm,5cm],子节点b]。电子设备可以根据数学表达式(7)调用节点b绘制出如图16所示的曲体h4。
[0133]
在图15和图16所示的示例中,数学表达式(7)中的至少一个旋转角度组构成角度范围为[α∈[0度,360度],β∈[0度,360度],γ∈[0度,360度]],即子节点b绕着三个旋转轴的旋转角度是一个角度范围。而且,连杆l1的长度∈[0cm,5cm],即连杆l1的长度为一个长
度范围。
[0134]
通过图15和图16所示的示例可以得知,在数学表达式中的至少一个旋转角度组构成一个角度范围且连杆的长度为一个长度范围时,电子设备可以根据数学表达式调用第二节点绘制一个特定位置的曲体,所以在使用连杆坐标系的节点绘制曲体时,需要用到的数学表达式仅包括连杆的长度和节点相对于三个旋转轴的旋转角度,不会涉及到高阶或复杂的运算,从而可以降低曲体的数学表达式的运算量,进而降低空间计算的复杂度。
[0135]
请参见图18所示,图18所示的为本技术实施例提供的一种电子设备的示意图。图18所示的电子设备包括以下模块:
[0136]
建立模块11,用于建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴。
[0137]
获取模块12,用于获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。
[0138]
处理模块13,用于根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形。
[0139]
在图18所示的实施例中,关于每个模块能够实现的附加功能和实现上述功能的更多细节,请参考前面图17所示的方法实施例中的描述,在这里不再重复。
[0140]
图18所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0141]
请参见图19所示,图19所示的为本技术实施例提供的又一种电子设备的示意图。图19所示的电子设备包括处理器21和存储器22。
[0142]
在图19所示的实施例中,处理器21用于执行存储器22中存储的指令,以使电子设备执行以下操作:建立连杆坐标系,连杆坐标系包括第一节点、第二节点和第一连杆,第一节点与第二节点通过第一连杆相连接,第一节点上设置有三个旋转轴。获取第一位置和数学表达式,第一位置为第二节点在三个旋转轴中的初始位置,数学表达式用于指示第一连杆的长度和第二节点在第一位置相对于三个旋转轴的旋转角度。根据数学表达式调用第二节点绘制第一图形,第一图形为第二节点按照数学表达式由第一位置移动至第二位置所在的点组成的图形。
[0143]
处理器21是一个或多个cpu。可选的,该cpu为单核cpu或多核cpu。
[0144]
存储器22包括但不限于是随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom或者快闪存储器)、快闪存储器、或光存储器等。存储器22中保存有操作系统的代码。
[0145]
可选地,电子设备还包括总线23,上述处理器21和存储器22通过总线23相互连接,也可以采用其他方式相互连接。
[0146]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0147]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本技术的这些修改和变型属于本发明权利要求的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

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

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

相关文献