数字模型的控制方法、打印系统及设备与流程

文档序号:30757374发布日期:2022-07-13 12:12阅读:97来源:国知局
数字模型的控制方法、打印系统及设备与流程

1.本发明涉及3d打印技术领域,尤其涉及一种数字模型的控制方法、打印系统及设备。


背景技术:

2.3d打印属于快速成型技术,它以数字模型为基础,利用金属粉末、陶瓷粉末、塑料或液体光敏树脂等材料,逐层地打印出整个三维物体。3d打印的过程中通过切片软件将三维模型“切片”成逐层的截面,继而3d打印机逐层打印截面,通过逐层叠加最终形成三维物件。目前切片软件主要用于切片,用户针对数字模型进行位置或方向变换时,出现目标位置与预期位置偏离较大,或目标位置或方向用户不可视的情况,如此切片软件中存在对数字模型控制的精准性较差的问题。


技术实现要素:

3.本发明实施例提供一种数字模型的控制方法、打印系统及设备,以解决现有技术中对数字模型控制的精准性较差的问题。
4.为了解决上述技术问题,本发明是这样实现的:
5.第一方面,本发明实施例提供了一种数字模型的控制方法,用于3d打印,所述方法包括:
6.接收基于用户操作生成的控制指令;
7.控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换。
8.第二方面,本发明实施例提供了一种打印系统,包括:切片装置和打印设备;
9.所述切片装置,用于执行如第一方面所述的数字模型的控制方法中的步骤,并基于所述数字模型生成切片文件;
10.打印设备,使用所述切片装置输出的切片文件,并依据所述切片文件得到待打印模型。
11.第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的数字模型的控制方法中的步骤。
12.第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的数字模型的控制方法中的步骤。
13.本发明实施例中,接收基于用户操作生成的控制指令;控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换。这样,通过用户操作生成的控制指令,能够在用户操作界面显示数字模型响应所述控制指令对应的精准变换,不会出现对数字模型进行位置或方向变
换后,目标位置与预期位置偏离较大,或目标位置的模型特征用户不可视的情况,从而能够增强切片软件中的人机交互功能,提高数字模型控制的精准性;并且,通过控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,相对于通过计算数字模型的坐标值控制数字模型进行变换,能够降低计算复杂度。
附图说明
14.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1是本发明实施例提供的一种数字模型的控制方法的流程图;
16.图2是本发明实施例提供的一种位移分解示意图;
17.图3是本发明实施例提供的一种坐标系旋转示意图之一;
18.图4是本发明实施例提供的一种坐标系旋转示意图之二;
19.图5是本发明实施例提供的一种用户操作界面显示示意图之一;
20.图6是本发明实施例提供的一种曲线示意图;
21.图7是本发明实施例提供的一种用户操作界面显示示意图之二;
22.图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.参见图1,图1是本发明实施例提供的一种数字模型的控制方法的流程图,如图1所示,包括以下步骤:
25.步骤101、接收基于用户操作生成的控制指令。
26.其中,所述控制指令可以包括将当前光标位置从第一位置点切换至第二位置点的移动指令;和/或,所述控制指令可以包括针对所述数字模型的缩放指令;和/或,所述控制指令可以包括针对所述数字模型上的第三位置点的缩放指令;和/或,所述控制指令可以包括针对所述数字模型的旋转指令;和/或,所述控制指令可以包括将所述当前光标位置从第一位置点切换为第二位置点以旋转坐标系的指令,示例地,用户操作界面上的当前光标位置在位置点a,用户可以点击用户操作界面上的位置点b以旋转坐标系,使得在用户操作界面显示数字模型的旋转;等等,本实施例对所述控制指令不进行限定。
27.步骤102、控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换。
28.其中,在所述控制指令为将当前光标位置从第一位置点切换至第二位置点的移动指令的情况下,可以控制三维空间坐标系中的虚拟摄像机根据所述移动指令对应的移动参数进行移动,以在用户操作界面显示数字模型的移动;在所述控制指令为针对所述数字模
型的缩放指令的情况下,可以控制三维空间坐标系中的虚拟摄像机根据缩放指令对应的移动参数进行移动,以在用户操作界面显示数字模型的缩放,其中,在所述数字模型的缩放过程中,所述移动参数的变化率与所述移动参数呈正相关;在所述控制指令为针对所述数字模型上的第三位置点的缩放指令的情况下,可以控制三维空间坐标系中的虚拟摄像机根据缩放指令对应的移动参数进行移动,控制三维空间坐标系中的虚拟摄像机进行二次移动,以在用户操作界面显示关于数字模型上第三位置点的局部缩放;在所述控制指令为针对所述数字模型的旋转指令的情况下,可以控制三维空间坐标系中的虚拟摄像机根据所述旋转指令对应的旋转角度进行转动,以在用户操作界面显示数字模型的旋转。
29.另外,所述三维空间坐标系可以为切片场景中的三维空间坐标系,通过控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,能够使得切片软件界面显示数字模型响应所述控制指令对应的精准变换。前述控制指令对应的具体实施方式将在后面逐一进行阐述。
30.一实施例中,所述控制指令为将当前光标位置从第一位置点切换至第二位置点的移动指令;
31.所述控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换,包括:
32.基于所述第二位置点在用户操作界面上对应的二维坐标值获取所述第二位置点在所述三维空间坐标系中对应的三维坐标值;
33.基于所述第二位置点对应的三维坐标值及所述第一位置点在所述三维空间坐标系中对应的三维坐标值之间的差值,计算所述移动指令对应的移动参数;
34.控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,以在用户操作界面显示数字模型的移动。
35.其中,用户操作可以是用户按压并拖动鼠标将当前光标位置从第一位置点切换为第二位置点的输入;或者,用户操作可以是用户通过点击鼠标将当前光标位置从第一位置点切换为第二位置点的输入;等等,本实施例对此不进行限定。
36.其中,所述移动参数可以包括,所述第二位置点对应的三维坐标值及所述第一位置点在所述三维空间坐标系中对应的三维坐标值之间的差值。所述移动参数可以用于指示虚拟摄像机与数字模型之间的距离变化值。移动参数可以以向量的形式表征,示例地,移动参数可以表征为:(δx,δy,δz),以第一位置点为位置点a,第二位置点为位置点b为例,δx为第二位置点对应的三维坐标值中的x轴坐标值b_x
obj
与第一位置点对应的三维坐标值中的x轴坐标值a_x
obj
的差值,δy为第二位置点对应的三维坐标值中的y轴坐标值b_y
obj
与第一位置点对应的三维坐标值中的y轴坐标值a_y
obj
的差值,δz为第二位置点对应的三维坐标值中的z轴坐标值b_z
obj
与第一位置点对应的三维坐标值中的z轴坐标值a_z
obj
的差值。可以控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,而三维空间坐标系中虚拟摄像机的移动直观带来的是在用户操作界面显示的数字模型的移动。
37.另外,可以基于所述第一位置点对应的三维坐标值确定所述第一位置点对应的标准设备坐标值,基于所述第二位置点在所述用户操作界面上对应的二维坐标值,及所述第一位置点对应的标准设备坐标值中的z轴坐标值,确定所述第二位置点在所述三维空间坐标系中对应的三维坐标值。
38.另外,以移动参数表征为:(δx,δy,δz)为例,控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,可以是控制三维空间坐标系中的虚拟摄像机在x轴上移动δx,在y轴上移动δy,z轴上移动δz。
39.以数字模型为切片场景中的数字模型为例,该移动参数可以包括场景移动距离,场景移动距离可以为所述第二位置点对应的三维坐标值与所述第一位置点对应的三维坐标值之间的差值,可以基于所述场景移动距离控制切片场景中的虚拟摄像机移动,从而实现移动所述切片场景中的数字模型。
40.该实施方式中,基于所述第二位置点在用户操作界面上对应的二维坐标值获取所述第二位置点在所述三维空间坐标系中对应的三维坐标值;基于所述第二位置点对应的三维坐标值及所述第一位置点在所述三维空间坐标系中对应的三维坐标值之间的差值,计算所述移动指令对应的移动参数;控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,以在用户操作界面显示数字模型的移动,这样,当光标在屏幕上从第一位置点移动到第二位置点时,屏幕第一位置点对应的模型特征位置移动到屏幕上的第二位置点,或第二位置点附近,不会偏离第二位置点太远,实现较为精准的模型控制。此外,通过控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,相对于通过计算数字模型的坐标值控制数字模型进行移动,能够降低计算复杂度。
41.一实施例中,所述基于所述第二位置点在用户操作界面上对应的二维坐标值获取所述第二位置点在所述三维空间坐标系中对应的三维坐标值,包括:
42.基于所述第一位置点在用户操作界面上对应的二维坐标值获取所述第一位置点在所述三维空间坐标系中对应的三维坐标值;
43.基于所述第一位置点在所述三维空间坐标系中对应的三维坐标值计算所述第一位置点对应的标准设备坐标值,所述标准设备坐标值为将三维坐标值按照比例投射至预设三维空间范围后得到的坐标值;
44.将所述第一位置点对应的标准设备坐标值中的z轴坐标值,确定为所述第二位置点对应的标准设备坐标值中的z轴坐标值;
45.基于所述第二位置点在用户操作界面上对应的二维坐标值,计算所述第二位置点对应的标准设备坐标值中的x轴坐标值和y轴坐标值;
46.基于所述第二位置点对应的标准设备坐标值中的x轴坐标值、y轴坐标值和z轴坐标值,计算所述第二位置点在所述三维空间坐标系中对应的三维坐标值。
47.其中,如图5所示,以第一位置点为位置点a,第二位置点为位置点b为例,用户操作为将所述当前光标位置从位置点a切换为位置点b的输入,可以获取位置点a从世界坐标系移动至标准设备坐标系后对应的深度信息,该深度信息包括位置点a在标准设备坐标系中的z轴坐标值。标准设备坐标系可以表征为一个[-1,-1,-1]到[1,1,1]的立方体。
[0048]
另外,基于所述第一位置点对应的三维坐标值计算所述第一位置点对应的标准设备坐标值的过程可以包括:
[0049]
将所述第一位置点对应的三维坐标值a(x
obj
,y
obj
,z
obj
,w
obj
)转换为摄像机坐标值a(x
eye
,y
eye
,z
eye
,w
eye
),计算方式如下:
[0050][0051]
其中,m
model
为模型矩阵,m
view
为视图矩阵。
[0052]
将所述第一位置点对应的摄像机坐标值a(x
eye
,y
eye
,z
eye
,w
eye
)转换为裁剪坐标值a(x
clip
,y
clip
,z
clip
,w
clip
),计算方式如下:
[0053][0054]
其中,m
projection
为投影矩阵。
[0055]
将所述第一位置点对应的裁剪坐标值a(x
clip
,y
clip
,z
clip
,w
clip
)转换为标准设备坐标值a(x
ndc
,y
ndc
,z
ndc
),计算方式如下:
[0056][0057]
其中,w
clip
为预设裁剪系数。
[0058]
另外,基于所述第二位置点在所述用户操作界面上对应的二维坐标值b(xw,yw)计算所述第二位置点对应的标准设备坐标值中的x轴坐标值及y轴坐标值b(x
ndc
,y
ndc
)的计算方式如下:
[0059][0060]
其中,x及y用于指定视见区域的左下角在窗口中的位置,通常均设置为0,w为视口宽度,h为视口高度。由于所述第二位置点对应的标准设备坐标值中的z轴坐标值b_z
ndc
与第一位置点对应的标准设备坐标值中的z轴坐标值a_z
ndc
相同,所述第二位置点对应的标准设备坐标值为b(x
ndc
,y
ndc
,z
ndc
)。
[0061]
基于第二位置点对应的标准设备坐标值b(x
ndc
,y
ndc
,z
ndc
)中的x轴坐标值、y轴坐标值和z轴坐标值计算第二位置点在所述三维空间坐标系中对应的三维坐标值b(x
obj
,y
obj
,z
obj
,w
obj
),具体过程如下:
[0062]
基于预设裁剪系数w
clip
将第二位置点对应的标准设备坐标值为b(x
ndc
,y
ndc
,z
ndc
)转换为第二位置点对应的裁剪坐标值b(x
clip
,y
clip
,z
clip
,w
clip
);基于投影矩阵m
projection
的逆矩阵将第二位置点对应的裁剪坐标值b(x
clip
,y
clip
,z
clip
,w
clip
)转换为第二位置点对应的摄
像机坐标值b(x
eye
,y
eye
,z
eye
,w
eye
);基于模型矩阵m
model
的逆矩阵及视图矩阵m
view
的逆矩阵将第二位置点对应的摄像机坐标值b(x
eye
,y
eye
,z
eye
,w
eye
)转换为第二位置点对应的三维坐标值b(x
obj
,y
obj
,z
obj
,w
obj
),从而可以确定第二位置点在所述三维空间坐标系中对应的三维坐标值。
[0063]
该实施方式中,基于所述第一位置点在用户操作界面上对应的二维坐标值获取所述第一位置点在所述三维空间坐标系中对应的三维坐标值;基于所述第一位置点在所述三维空间坐标系中对应的三维坐标值计算所述第一位置点对应的标准设备坐标值,所述标准设备坐标值为将三维坐标值按照比例投射至预设三维空间范围后得到的坐标值;将所述第一位置点对应的标准设备坐标值中的z轴坐标值,确定为所述第二位置点对应的标准设备坐标值中的z轴坐标值;基于所述第二位置点在用户操作界面上对应的二维坐标值,计算所述第二位置点对应的标准设备坐标值中的x轴坐标值和y轴坐标值;基于所述第二位置点对应的标准设备坐标值中的x轴坐标值、y轴坐标值和z轴坐标值,计算所述第二位置点在所述三维空间坐标系中对应的三维坐标值。这样,能够将用户操作界面上的二维坐标点转换为三维空间坐标系中的三维坐标点,从而能够基于三维坐标点计算移动参数,根据移动参数控制三维空间坐标系中的虚拟摄像机移动。
[0064]
一实施例中,所述控制指令为针对所述数字模型的缩放指令;
[0065]
所述控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换,包括:
[0066]
获取所述缩放指令对应的鼠标步进参数;
[0067]
基于所述鼠标步进参数确定所述缩放指令对应的移动参数,其中,所述移动参数与所述鼠标步进参数呈指数关系;
[0068]
控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,以在用户操作界面显示数字模型的缩放,其中,在所述数字模型的缩放过程中,所述移动参数的变化率与所述移动参数呈正相关。
[0069]
其中,所述控制指令可以是用户对用户操作界面显示的数字模型滑动鼠标中键的操作;或者还可以是其他操作鼠标以表征用户对用户操作界面显示的数字模型进行缩放的操作。以所述控制指令为用户对用户操作界面显示的数字模型滑动鼠标中键的操作为例,缩放指令对应的鼠标步进参数可以与用户滑动鼠标中键的速率成正比。
[0070]
另外,所述移动参数可以用于表征虚拟摄像机与数字模型之间的距离。
[0071]
其中,所述移动参数与所述鼠标步进参数的关系可以如下:
[0072]
y=e
x
[0073]
其中,y表征移动参数,x表征鼠标步进参数。
[0074]
另外,在所述数字模型的缩放过程中,所述移动参数的变化率与所述移动参数呈正相关,从而随着移动参数的变大,移动参数的变化率也变大,即移动参数越大,移动参数的变化越激进。以控制指令为控制数字模型缩小为例,当用户滑动鼠标中键缩小数字模型时,移动参数变大,虚拟摄像机与数字模型之间的距离变大,随着虚拟摄像机距离数字模型越远,数字模型缩小的程度越快。
[0075]
需要说明的是,相对于按照鼠标中键进行线性缩放,呈指数关系的缩放能够使用户获得较好的视觉体验。如图6所示,随着鼠标步进参数x的变化,用户感知缩放程度变化y1
可以表征为:y1=inx。从而用户感知数字模型距离较近时缩放程度较为缓慢,数字模型距离较远时缩放程度较为激进。
[0076]
该实施方式中,获取所述缩放指令对应的鼠标步进参数;基于所述鼠标步进参数确定所述缩放指令对应的移动参数,其中,所述移动参数与所述鼠标步进参数呈指数关系;控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动,以在用户操作界面显示数字模型的缩放,其中,在所述数字模型的缩放过程中,所述移动参数的变化率与所述移动参数呈正相关。这样,相对于线性缩放,呈指数关系的缩放能够使得距离较近时缩放程度较为缓慢,可以理解为,模型的局部特征不断放大时,越后面放大的越慢,用户可以看清该局部特征,不会出现一闪而过的情况;距离较远时缩放程度较为激进,可以理解为,模型在不断缩小时,越后面缩小的越快,用户才可以感知到模型的缩小,能够获得较好的用户体验。
[0077]
一实施例中,所述控制指令为针对所述数字模型上的第三位置点的缩放指令;
[0078]
所述控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动之后,所述方法还包括:
[0079]
控制三维空间坐标系中的虚拟摄像机进行二次移动,以在用户操作界面显示关于数字模型上第三位置点的局部缩放。
[0080]
其中,可以控制三维空间坐标系中的虚拟摄像机进行二次移动,使得第三位置点在虚拟摄像机根据所述移动参数进行移动前后的位置保持不变,以实现局部缩放的效果。
[0081]
需要说明的是,如图7所示,若未控制三维空间坐标系中的虚拟摄像机进行二次移动,在控制三维空间坐标系中的虚拟摄像机根据所述移动参数进行移动之后,第三位置点由位置点a移动至位置点b。通过控制三维空间坐标系中的虚拟摄像机进行二次移动,能够使得第三位置点保持在位置点a,便于用户观察及操作数字模型。
[0082]
一实施例中,所述控制三维空间坐标系中的虚拟摄像机进行二次移动,以在用户操作界面显示关于数字模型上第三位置点的局部缩放,包括:
[0083]
基于第三位置点在所述三维空间坐标系中对应的三维坐标值计算在所述虚拟摄像机移动之后的所述第三位置点在所述用户操作界面对应的目标二维坐标值;
[0084]
获取在所述虚拟摄像机移动之前的所述第三位置点在所述用户操作界面对应的初始二维坐标值;
[0085]
根据所述初始二维坐标值和目标二维坐标值计算在所述虚拟摄像机移动前后所述第三位置点对应的两个三维坐标值;
[0086]
根据所述两个三维坐标值之间的差值,计算局部移动参数;
[0087]
控制三维空间坐标系中的虚拟摄像机根据所述局部移动参数进行移动,以在用户操作界面显示关于数字模型上第三位置点的局部缩放。
[0088]
其中,基于第三位置点在所述三维空间坐标系中对应的三维坐标值计算在所述虚拟摄像机移动之后的所述第三位置点在所述用户操作界面对应的目标二维坐标值,可以包括,基于模型矩阵和视图矩阵将第三位置点在所述三维空间坐标系中对应的三维坐标值转换为摄像机坐标值,基于投影矩阵将摄像机坐标值转换为裁剪坐标值,基于预设裁剪系数将裁剪坐标值转换为标准设备坐标值,基于视口宽度和视口高度将标准设备坐标值转换为在所述虚拟摄像机移动之后的所述第三位置点在所述用户操作界面对应的目标二维坐标值。
[0089]
另外,以第三位置点在所述三维空间坐标系中对应的三维坐标值为位置点a,虚拟摄像机移动之后的第三位置点为位置点b为例,可以根据第三位置点在所述三维空间坐标系中对应的三维坐标值及目标二维坐标值计算在所述虚拟摄像机移动后所述第三位置点对应的三维坐标值,具体的,可以基于所述位置点a在所述三维空间坐标系中对应的三维坐标值计算所述位置点a对应的标准设备坐标值;将所述位置点a对应的标准设备坐标值中的z轴坐标值,确定为所述位置点b对应的标准设备坐标值中的z轴坐标值;基于所述位置点b的目标二维坐标值,计算所述位置点b对应的标准设备坐标值中的x轴坐标值和y轴坐标值;基于所述位置点b对应的标准设备坐标值中的x轴坐标值、y轴坐标值和z轴坐标值,计算所述位置点b在所述三维空间坐标系中对应的三维坐标值。同理,以第三位置点在所述三维空间坐标系中对应的三维坐标值为位置点a,虚拟摄像机移动之前的第三位置点为位置点b,可以得到虚拟摄像机移动前所述第三位置点对应的三维坐标值。
[0090]
另外,局部移动参数可以为所述两个三维坐标值之间的差值。局部移动参数可以以向量的形式表征,示例地,局部移动参数可以表征为:(δx,δy,δz),δx为虚拟摄像机移动后的第三位置点对应的三维坐标值中的x轴坐标值与虚拟摄像机移动前的第三位置点对应的三维坐标值中的x轴坐标值的差值,δy为虚拟摄像机移动后的第三位置点对应的三维坐标值中的y轴坐标值与虚拟摄像机移动前的第三位置点对应的三维坐标值中的y轴坐标值的差值,δz为虚拟摄像机移动后的第三位置点对应的三维坐标值中的z轴坐标值与虚拟摄像机移动前的第三位置点对应的三维坐标值中的z轴坐标值的差值。
[0091]
另外,以局部移动参数表征为:(δx,δy,δz)为例,控制三维空间坐标系中的虚拟摄像机根据所述局部移动参数进行移动,可以是控制三维空间坐标系中的虚拟摄像机在x轴上移动δx,在y轴上移动δy,z轴上移动δz。
[0092]
该实施方式中,基于第三位置点在所述三维空间坐标系中对应的三维坐标值计算在所述虚拟摄像机移动之后的所述第三位置点在所述用户操作界面对应的目标二维坐标值;获取在所述虚拟摄像机移动之前的所述第三位置点在所述用户操作界面对应的初始二维坐标值;根据所述初始二维坐标值和目标二维坐标值计算在所述虚拟摄像机移动前后所述第三位置点对应的两个三维坐标值;根据所述两个三维坐标值之间的差值,计算局部移动参数;控制三维空间坐标系中的虚拟摄像机根据所述局部移动参数进行移动,以在用户操作界面显示关于数字模型上第三位置点的局部缩放。这样,在用户对数字模型上的某一点进行局部缩放的前后,该点对应在屏幕上的位置保持不变或相差不远,便于用户观察数字模型上该点的细节特征,或该点周围的图像细节特征,且能够便于用户在数字模型的该点位置加支撑,增加模型打印的成功率。
[0093]
一实施例中,所述控制指令为针对所述数字模型的旋转指令;
[0094]
所述控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,以在用户操作界面显示数字模型响应所述控制指令对应的变换,包括:
[0095]
获取所述旋转指令对应的鼠标步进参数;
[0096]
基于所述鼠标步进参数确定所述旋转指令对应的旋转角度,所述旋转指令对应的旋转角度为所述鼠标步进参数与目标系数的乘积,所述目标系数与所述旋转指令对应的旋转角度呈正相关;
[0097]
控制三维空间坐标系中的虚拟摄像机根据所述旋转指令对应的旋转角度进行转
动,以在用户操作界面显示数字模型的旋转。
[0098]
其中,所述控制指令可以是用户对用户操作界面显示的数字模型滑动鼠标中键的操作;或者还可以是其他操作鼠标以表征用户对用户操作界面显示的数字模型进行旋转的操作。以所述控制指令为用户对用户操作界面显示的数字模型滑动鼠标中键的操作为例,旋转指令对应的鼠标步进参数可以与用户滑动鼠标中键的速率成正比。
[0099]
另外,目标系数可以是鼠标步进参数为1时的旋转角度,旋转灵敏度可以用目标系数表征,所述目标系数与所述旋转指令对应的旋转角度呈正相关,从而旋转角度越大,目标系数越大,用户感知的旋转灵敏度越高,旋转灵敏度为用户感知的模型旋转的快慢程度,以同样的速度滑动鼠标,旋转灵敏度高时用户感知到的模型旋转快于旋转灵敏度低时用户感知到的模型旋转。
[0100]
该实施方式中,获取所述旋转指令对应的鼠标步进参数;基于所述鼠标步进参数确定所述旋转指令对应的旋转角度,所述旋转指令对应的旋转角度为所述鼠标步进参数与目标系数的乘积,所述目标系数与所述旋转指令对应的旋转角度呈正相关;控制三维空间坐标系中的虚拟摄像机根据所述旋转指令对应的旋转角度进行转动,以在用户操作界面显示数字模型的旋转。这样,相对于线性旋转,引入目标系数能够使得数字模型的旋转灵敏度不是固定的值,在旋转角度较小时,旋转灵敏度较低,用户能够感知到数字模型的细微局部的旋转,从而便于用户看清数字模型的局部特征,避免出现一闪而过的情况;在旋转角度较大时,表征用户期望快速旋转数字模型,此时旋转灵敏度较高,用户能够感知到数字模型旋转得较快,能够获得较好的用户体验。
[0101]
一种实施方式中,所述控制指令可以为将所述当前光标位置从第一位置点切换为第二位置点以旋转坐标系的指令,如图2所示,以第一位置点为位置点a,第二位置点为位置点b为例,对位置点a至位置点b的移动位移进行屏幕坐标位移分解,得到位移dx及位移dy;如图3所示,对dx对应的三维坐标系旋转,旋转后的三维坐标系的x轴与旋转前的x轴的夹角为α,夹角α为预设系数与位移dx的乘积;如图4所示,基于夹角α可以获取位移dx对应的旋转矩阵r1,旋转矩阵r1为:
[0102][0103]
类似的,对dy对应的三维坐标系旋转,旋转后的三维坐标系的y轴与旋转前的y轴的夹角为β,基于夹角β可以获取位移dy对应的旋转矩阵r2,旋转矩阵r2为:
[0104][0105]
可以基于旋转矩阵r1及旋转矩阵r2确定视图矩阵m
view
,摄像机矩阵m
view
为旋转矩阵r1与旋转矩阵r2的乘积。基于旋转矩阵r1旋转虚拟摄像机的视角,可以实现翻转显示的场景旋转效果。第二位置点可以为切片场景中的任意一点,从而可以对切片场景实现360角度自由旋转。
[0106]
基于前述的实施方式可知,本发明通过用户操作生成的控制指令,能够在用户操
作界面显示数字模型响应所述控制指令对应的精准变换,不会出现对数字模型进行位置或方向变换后,目标位置与预期位置偏离较大,或目标位置的模型特征用户不可视的情况,从而能够增强切片软件中的人机交互功能,提高数字模型控制的精准性;并且,通过控制三维空间坐标系中的虚拟摄像机根据所述控制指令对应的变化参数进行移动,相对于通过计算数字模型的坐标值控制数字模型进行变换,能够降低计算复杂度。
[0107]
本发明实施例还提供了一种打印系统,包括:切片装置和打印设备;
[0108]
所述切片装置,用于执行如本发明实施例所述的数字模型的控制方法中的步骤,并基于所述数字模型生成切片文件;
[0109]
打印设备,使用所述切片装置输出的切片文件,并依据所述切片文件得到待打印模型。
[0110]
如图8所示,本发明实施例还提供一种电子设备200,包括:存储器202、处理器201及存储在所述存储器202上并可在所述处理器201上运行的程序,所述程序被所述处理器201执行时实现上述数字模型的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0111]
本发明实施例还提供一种可读存储介质,可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现上述数字模型的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0112]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0113]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
[0114]
上面结合附图对本公开的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1