技术简介:
本专利针对工程机械仪表动画渲染中硬件性能要求高、成本高的问题,提出基于同步步进值计算的显示方法。通过动态计算各参数变化步长,结合帧率与预设动画时长,实现低资源消耗的平滑动画效果,有效降低系统负载与开发成本。
关键词:动画显示优化,同步步进算法
1.本发明涉及工程机械技术领域,尤其涉及一种适用于工程机械的仪表的动画对象的显示方法、计算机可读存储介质及电子设备。
背景技术:2.随着技术发展以及人们对体验需求的提高,对工程机械多功能仪表也提出了更多需求。以往由于成本以及嵌入式硬件资源性能的限制,仪表呈现出来的内容通常是一个相对静止的页面,即使在不同页面切换的时候,也只是直接跳跃的切换方式。而对标当前的各种智能手机、平板电脑等设备,其动画对象及操作体验效果也推动了在工程机械领域的需求。然而在工程领域的嵌入式芯片系统,无法达到民用设备的cpu性能,因此也无法使用民用设备上的各种高算力的算法。本发明在基于综合考虑成本及硬件性能的因素下,完成了类似于民用领域智能电子设备的动画对象效果。
技术实现要素:3.基于前述的现有技术缺陷,本发明提供了一种适用于工程机械的仪表的低成本低要求简单易行的动画对象的显示方法、计算机可读存储介质及电子设备。
4.为了实现上述目的,本发明提供了一种动画对象的显示方法,适用于工程机械的仪表,包括:步骤一,获取动画对象的各个变量参数的初始值;步骤二,获取动画对象的各个变量参数的目标值;步骤三,根据所述各个变量参数的初始值和所述各个变量参数的目标值,判断是否进行动画对象渲染,如果进行则执行步骤四,如果不进行则结束;步骤四,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值;步骤五,按所述各个变量参数的同步变化步进值进行逐步渲染。
5.在一实施方式中,所述各个变量参数包括位置、旋转角度、透明度、缩放大小;位置三个方向的初始值为p0(x0,y0,z0),旋转角度三个轴向的初始值为a0(ax0,ay0,az0),透明度的初始值为opt0,缩放大小两个方向的初始值为s0(sx0,sy0);位置三个方向的目标值pdst(xd,yd,zd),旋转角度三个轴向的目标值adst(axd,ayd,azd),透明度的目标值为optdst,缩放大小两个方向的目标值为sdst(sxd,syd)。
6.在一实施方式中,所述步骤三,根据所述各个变量参数的初始值和所述各个变量参数的目标值,判断是否进行动画对象渲染,如果进行则执行步骤四,如果不进行则结束,包括:判断所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值是否等于0,如果等于0则不进行动画对象渲染,如果不等于0则进行动画对象渲染,其中,所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值的计算方法包括:(1)计算位置变化三个方向的差值并取绝对值分别为:
d_px = abs(xd-x0),d_py = abs(yd-y0),d_pz = abs(zd-z0),取位置变化三个方向的差值中的最大值为:transmax = max(d_px,d_py,d_pz);(2)计算旋转角度变化三个轴向的差值并取绝对值分别为:d_ax = abs(axd-ax0),d_ay = abs(ayd-ay0),d_az = abs(azd-az0),取旋转角度变化三个轴向的差值中的最大值为:anglemax = max(d_ax,d_ay,d_az);(3)计算透明度变化的差值并取绝对值为:d_opt = abs(optdst-opt0);(4)计算缩放大小变化两个方向的差值并取绝对值分别为:d_sx = abs(sxd-sx0);d_sy = abs(syd-sy0);取缩放大小变化两个方向的差值中的最大值为:scalemax = max(d_sx,d_sy);(5)根据以上计算的各个变量参数变化的差值中的最大值,再取其中最大的值为所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值:valuemax = max(transmax,anglemax,d_opt,scalemax)。
7.在一实施方式中,所述步骤四,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值,包括:average_ms = 1000/f,step_count = value_ms/average_ms,step = abs(dst-init)/step_count = abs(dst-init)*(1000/f)/value_ms,其中,常数1000单位为ms,f为仪表系统的渲染刷新帧率,每秒钟刷新界面的次数,average_ms为仪表系统渲染刷新一次界面的时间长度;value_ms为预设的一个动画对象完成变化的时间长度,单位为ms,step_count为完成动画对象变化所需要的渲染次数;dst为各变量参数的目标值,init为各变量参数的初始值,step为各个变量参数的同步变化步进值;根据上述公式,计算出各个变量参数的同步变化步进值包括:位置三个方向的同步变化步进值为:step_px = abs(xd-x0)/step_count = abs(xd-x0)*(1000/f)/value_ms,step_py = abs(yd-y0)/step_count = abs(yd-y0)*(1000/f)/value_ms,step_pz = abs(zd-z0)/step_count = abs(zd-z0)*(1000/f)/value_ms,旋转角度三个轴向的同步变化步进值为:step_ax = abs(axd-ax0)/step_count = abs(axd-ax0)*(1000/f)/value_ms,step_ay = abs(ayd-ay0)/step_count = abs(ayd-ay0)*(1000/f)/value_ms,step_az = abs(azd-az0)/step_count = abs(azd-az0)*(1000/f)/value_ms,透明度的同步变化步进值为:step_opt = abs(optdst-opt0)/step_count = abs(optdst-opt0)*(1000/f)/
value_ms,缩放大小两个方向的同步变化步进值为:step_sx = abs(sxd-sx0)/step_count = abs(sxd-sx0)*(1000/f)/value_ms,step_sy = abs(syd-sy0)/step_count = abs(syd-sy0)*(1000/f)/value_ms。
8.在一实施方式中,所述预设的一个动画对象完成变化的时间长度value_ms小于等于200ms。
9.在一实施方式中,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值,包括:average_ms = 1000/f,step_count = value_ms/average_ms,step = abs(dst-init)/step_count,y_step =
ꢀ‑
step*2*(x-1)/(step_count-1)+step*2,其中,常数1000单位为ms,f为仪表系统的渲染刷新帧率,每秒钟刷新界面的次数,average_ms为仪表系统渲染刷新一次界面的时间长度;value_ms为预设的一个动画对象完成变化的时间长度,单位为ms,step_count为完成动画对象变化所需要的渲染次数;dst为各变量参数的目标值,init为各变量参数的初始值,step为各个变量参数的同步变化步进值;x为动画对象逐步变化的次序,取值范围为[1,step_count],y_step为动画对象逐步变化每次的同步变化步进值;根据上述公式,计算出各个变量参数的同步变化步进值包括:位置三个方向的同步变化步进值为:step_px =
ꢀ‑
2*abs(xd-x0)*(x-1)/(step_count*(step_count-1))+2*abs(xd-x0)/step_count = 2*1000*abs(xd-x0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_py =
ꢀ‑
2*abs(yd-y0)*(x-1)/(step_count*(step_count-1))+2*abs(yd-y0)/step_count = 2*1000*abs(yd-y0)(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_pz =
ꢀ‑
2*abs(zd-z0)*(x-1)/(step_count*(step_count-1))+2*abs(zd-z0)/step_count = 2*1000*abs(zd-z0)(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),旋转角度三个轴向的同步变化步进值为:step_ax =
ꢀ‑
2*abs(axd-ax0)*(x-1)/(step_count*(step_count-1))+2*abs(axd-ax0)/step_count = 2*1000*abs(axd-ax0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_ay =
ꢀ‑
2*abs(ayd-ay0)*(x-1)/(step_count*(step_count-1))+2*abs(ayd-ay0)/step_count = 2*1000*abs(ayd-ay0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_az =
ꢀ‑
2*abs(azd-az0)*(x-1)/(step_count*(step_count-1))+2*abs(azd-az0)/step_count = 2*1000*abs(azd-az0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),透明度的同步变化步进值为:
step_opt =
ꢀ‑
2*abs(optdst-opt0)*(x-1)/(step_count*(step_count-1))+2*abs(optdst-opt0)/step_count = 2*1000*abs(optdst-opt0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),缩放大小两个方向的同步变化步进值为:step_sx =
ꢀ‑
2*abs(sxd-sx0)*(x-1)/(step_count*(step_count-1))+2*abs(sxd-sx0)/step_count = 2*1000*abs(sxd-sx0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_sy =
ꢀ‑
2*abs(syd-sy0)*(x-1)/(step_count*(step_count-1))+2*abs(syd-sy0)/step_count = 2*1000*abs(syd-sy0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000))。
[0010]
在一实施方式中,所述步骤一,获取动画对象的各个变量参数的初始值,是在系统启动生成动画对象时,或在界面切换或者用户操作时。
[0011]
在一实施方式中,所述步骤二,获取动画对象的各个变量参数的目标值,是在界面切换或者用户操作时。
[0012]
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并执行时执行上述动画对象的显示方法。
[0013]
本发明还提供一种电子设备,包括:处理器、存储器和通信总线,所述处理器通过所述通信总线与所述存储器连接进行通信,以执行上述动画对象的显示方法。
[0014]
本发明所述动画对象的显示方法、计算机可读存储介质及电子设备,实现了在工程机械的仪表系统里动画对象的变化完成,整个过程简单易行,对硬件系统的性能要求不高,成本较低,适于在嵌入式系统中运用,而且各动画对象的变量参数同步完成变化,对用户的使用感受非常好。而且,进一步还提出了实现阻尼变化的显示方法,使得动画对象的变化更自然流畅,进一步提升了用户使用感受。
附图说明
[0015]
在此描述的附图仅用于解释目的,而不意图以任何方式来限制本发明公开的范围。另外,图中的各部件的形状和比例尺寸等仅为示意性的,用于帮助对本发明的理解,并不是具体限定本发明各部件的形状和比例尺寸。本领域的技术人员在本发明的教导下,可以根据具体情况选择各种可能的形状和比例尺寸来实施本发明。在附图中:图1为本发明第一实施方式提供的一种动画对象的显示方法的流程示意图;图2为本发明第一实施方式提供的一种动画对象的显示方法中实现阻尼变化的原理示意图。
具体实施方式
[0016]
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0017]
请参阅图1所示,本发明第一实施方式提供一种动画对象的显示方法,适用于工程机械的仪表,包括:步骤一,获取动画对象的各个变量参数的初始值;步骤二,获取动画对象的各个变量参数的目标值;步骤三,根据所述各个变量参数的初始值和所述各个变量参数的目标值,判断是否进行动画对象渲染,如果进行则执行步骤四,如果不进行则结束;步骤四,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值;步骤五,按所述各个变量参数的同步变化步进值进行逐步渲染。
[0018]
申请人经过研究分析发现,动画对象在变化过程中主要包含四个变量参数的变化:位置、旋转角度、透明度、缩放大小,以实现各种淡入淡出、旋转、滑动等各种效果,通过这四个变量参数的不同组合变化,可以实现各种各样的复合动画对象效果。本发明也基于此进行动画对象变化,在一实施方式中,所述各个变量参数包括位置、旋转角度、透明度、缩放大小;位置三个方向的初始值为p0(x0,y0,z0),旋转角度三个轴向的初始值为a0(ax0,ay0,az0),透明度的初始值为opt0,缩放大小两个方向的初始值为s0(sx0,sy0);位置三个方向的目标值pdst(xd,yd,zd),旋转角度三个轴向的目标值adst(axd,ayd,azd),透明度的目标值为optdst,缩放大小两个方向的目标值为sdst(sxd,syd)。
[0019]
其中,所述动画对象的各个变量参数的初始值,可以在系统启动刚刚生成动画对象时而产生。而在生成动画对象时,可以根据实际界面需求,进行设置动画对象的各个变量参数的初始值。另外,所述动画对象的各个变量参数的初始值,也可以在后续在界面切换或者用户操作时而产生,界面切换前或用户操作前,动画对象的当时状态即包含着动画对象的各个变量参数的初始值,相应的,界面切换后或用户操作后,动画对象的当时状态即包含着动画对象的各个变量参数的目标值。当然,所述动画对象的各个变量参数的目标值,也可以根据实际界面需求进行设置。所以,在一实施方式中,所述步骤一,获取动画对象的各个变量参数的初始值,是在系统启动生成动画对象时,或在界面切换或者用户操作时。所述步骤二,获取动画对象的各个变量参数的目标值,是在界面切换或者用户操作时。
[0020]
一般情况下,判断是否进行动画对象渲染,只要任意一个变量参数的初始值与目标值的差值不等于0即可判断出需要进行动画对象渲染。但如果对于第一个变量参数判断出差值等于0,则需对第二个变量参数进行判断;如果对于第二个变量参数依然判断出差值等于0,则需对第三个变量参数进行判断,以此类推,直至所有变量参数全部判断完。此方法对于嵌入式系统并不友好,因为此逐个变量参数的比较判断的方式实质上属于多层递进判断,对于系统的性能要求较高,消耗的资源较多,并不适用于嵌入式系统。所以,本发明采用所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值进行判断。此方法虽然在前面需要计算多个数值,但只需要在最后判断一次,消耗的资源较少,对系统的性能要求不高。而且所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值在其他地方也需要使用到,此处一并先计算出来,减少了系统的多余重复工作,进一步降低了系统的负荷。所以,在一实施方式中,所述步骤三,根据所述各个变量参数的初始值和所述各个变量参数的目标值,判断是否进行动画对象渲染,如果进行则执行步骤四,如果不进行则结束,包括:判断所述各个变量参数的初始值与所述各个变量参数的目标值的
差值中的最大值是否等于0,如果等于0则不进行动画对象渲染,如果不等于0则进行动画对象渲染。其中,所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值的计算方法包括:(1)计算位置变化三个方向的差值并取绝对值分别为:d_px = abs(xd-x0),d_py = abs(yd-y0),d_pz = abs(zd-z0),取位置变化三个方向的差值中的最大值为:transmax = max(d_px,d_py,d_pz);(2)计算旋转角度变化三个轴向的差值并取绝对值分别为:d_ax = abs(axd-ax0),d_ay = abs(ayd-ay0),d_az = abs(azd-az0),取旋转角度变化三个轴向的差值中的最大值为:anglemax = max(d_ax,d_ay,d_az);(3)计算透明度变化的差值并取绝对值为:d_opt = abs(optdst-opt0);(4)计算缩放大小变化两个方向的差值并取绝对值分别为:d_sx = abs(sxd-sx0);d_sy = abs(syd-sy0);取缩放大小变化两个方向的差值中的最大值为:scalemax = max(d_sx,d_sy);(5)根据以上计算的各个变量参数变化的差值中的最大值,再取其中最大的值为所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值:valuemax = max(transmax,anglemax,d_opt,scalemax)。
[0021]
而且,如果判断出所述各个变量参数的初始值与所述各个变量参数的目标值的差值中的最大值等于0,则不进行动画对象渲染,则结束,可以减少系统资源的占用,提升系统的效率。
[0022]
由于各个变量参数的初始值与目标值的差值往往是不一样的,如果每个变量参数都采用相同的变化值(步进值)进行动画对象渲染,则会出现复合动画对象的过程中变化不同步的问题。例如某动画对象已经在x方向到达目标位置了,而y方向还没有到达,此时体现出来的效果就是该动画对象走的是一条折线,而不是期望中想要的直线运动;又例如某动画对象已经到达目标位置了,但是其旋转角度的目标值还没变化完成,此时体现出来的效果就是该动画对象到达指定位置了,但是还在目标位置进行旋转,而不是在从初始位置往目标位置移动的过程中同时完成旋转,这些现象都不是理想的动画对象变化所希望看到的。因此,本发明通过计算动画对象的各个变量参数的同步变化步进值,解决界面复合运动的同步问题,使动画对象所有的变化都同步完成。
[0023]
在一实施方式中,所述步骤四,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值,包括:average_ms = 1000/f,step_count = value_ms/average_ms,
step = abs(dst-init)/step_count = abs(dst-init)*(1000/f)/value_ms,其中,常数1000单位为ms,f为仪表系统的渲染刷新帧率,每秒钟刷新界面的次数,average_ms为仪表系统渲染刷新一次界面的时间长度;value_ms为预设的一个动画对象完成变化的时间长度,单位为ms,step_count为完成动画对象变化所需要的渲染次数;dst为各变量参数的目标值,init为各变量参数的初始值,step为各个变量参数的同步变化步进值;根据上述公式,计算出各个变量参数的同步变化步进值包括:位置三个方向的同步变化步进值为:step_px = abs(xd-x0)/step_count = abs(xd-x0)*(1000/f)/value_ms,step_py = abs(yd-y0)/step_count = abs(yd-y0)*(1000/f)/value_ms,step_pz = abs(zd-z0)/step_count = abs(zd-z0)*(1000/f)/value_ms,旋转角度三个轴向的同步变化步进值为:step_ax = abs(axd-ax0)/step_count = abs(axd-ax0)*(1000/f)/value_ms,step_ay = abs(ayd-ay0)/step_count = abs(ayd-ay0)*(1000/f)/value_ms,step_az = abs(azd-az0)/step_count = abs(azd-az0)*(1000/f)/value_ms,透明度的同步变化步进值为:step_opt = abs(optdst-opt0)/step_count = abs(optdst-opt0)*(1000/f)/value_ms,缩放大小两个方向的同步变化步进值为:step_sx = abs(sxd-sx0)/step_count = abs(sxd-sx0)*(1000/f)/value_ms,step_sy = abs(syd-sy0)/step_count = abs(syd-sy0)*(1000/f)/value_ms。
[0024]
计算出各个变量参数的同步变化步进值后,仪表系统在每次循环渲染界面时按照各个变量参数的同步变化步进值进行递增即可,即可实现动画对象的各个变量参数同步完成变化的复合效果。其中,所述value_ms为预设的一个动画对象完成变化的时间长度,是根据实际研究测试发现,一个动画对象在200ms内(不超过200ms)完成变化对一般人眼的操作感是最合适的,所以设置value_ms作为预设的一个动画对象完成变化的时间长度,在一具体实施例中value_ms = 200ms,当然这个数值可以根据具体情况修改,只要小于等于200ms即可。
[0025]
申请人进一步研究发现,按以上方法(此往后简称为第一种显示方法)得到的同步变化步进值进行渲染的动画效果是线性变化的,感官上就是一个动画对象生硬的从一个状态变化到另一个状态。为此,本发明提出第二种显示方法,实现动画对象阻尼变化的效果,即动画对象的变化过程是由快到慢,动画对象的变化效果更流畅自然,更贴切真实的感受。由于嵌入式硬件系统的性能限制,本发明第二种显示方法简单易行,其原理如下。
[0026]
首先,对于上述第一种显示方法的运动过程,其中每次变化的同步变化步进值是没有变化的。请参阅图2所示,以任一变量参数的同步变化步进值为例,在坐标系中可以用一条与横轴平行的直线a表示(横线),坐标系中横坐标表示为完成动画对象变化所需要的渲染次数减一step_count-1,纵坐标表示每次变化的同步变化步进值step。
[0027]
其次,为了使变化过程中有阻尼变化的效果,那么每次变化的同步变化步进值要比上一次小,这样才能体现出变化过程在减慢;而同时又需要保证一个动画对象完成变化的时间长度不变,即完成动画对象变化所需要的渲染次数step_count不变,因此设计一条
与横轴、纵轴相交的直线b(斜线),斜率为负数,代表每次变化的同步变化步进值step在减小。为保证一个动画对象完成变化的时间长度不变,即完成动画对象变化所需要的渲染次数step_count不变,那么只需要保证直线b和横轴的交点与直线a的结束点在横轴的投影点为同一个点,并且直线b和直线a分别与横轴、纵轴在第一象限围成的面积相等即可。因此,直线b与直线a的交点即为直线a在第一象限线段的中点,直线b与纵轴的交点是直线a与纵轴的交点的两倍,为step*2,直线b斜率为-step*2/(step_count-1)。由此,直线b的方程为:y_step =
ꢀ‑
step*2*(x-1)/(step_count-1)+step*2;x为动画对象逐步变化的次序,取值范围为[1,step_count],y_step为动画对象逐步变化每次的同步变化步进值。
[0028]
因此,在一实施方式中,所述步骤四,根据所述各个变量参数的初始值和所述各个变量参数的目标值,计算各个变量参数的同步变化步进值,包括:average_ms = 1000/f,step_count = value_ms/average_ms,step = abs(dst-init)/step_count,y_step =
ꢀ‑
step*2*(x-1)/(step_count-1)+step*2,其中,常数1000单位为ms,f为仪表系统的渲染刷新帧率,每秒钟刷新界面的次数,average_ms为仪表系统渲染刷新一次界面的时间长度;value_ms为预设的一个动画对象完成变化的时间长度,单位为ms,step_count为完成动画对象变化所需要的渲染次数;dst为各变量参数的目标值,init为各变量参数的初始值,step为各个变量参数的同步变化步进值;x为动画对象逐步变化的次序,取值范围为[1,step_count],y_step为动画对象逐步变化每次的同步变化步进值;根据上述公式,计算出各个变量参数的同步变化步进值包括:位置三个方向的同步变化步进值为:step_px =
ꢀ‑
2*abs(xd-x0)*(x-1)/(step_count*(step_count-1))+2*abs(xd-x0)/step_count = 2*1000*abs(xd-x0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_py =
ꢀ‑
2*abs(yd-y0)*(x-1)/(step_count*(step_count-1))+2*abs(yd-y0)/step_count = 2*1000*abs(yd-y0)(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_pz =
ꢀ‑
2*abs(zd-z0)*(x-1)/(step_count*(step_count-1))+2*abs(zd-z0)/step_count = 2*1000*abs(zd-z0)(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),旋转角度三个轴向的同步变化步进值为:step_ax =
ꢀ‑
2*abs(axd-ax0)*(x-1)/(step_count*(step_count-1))+2*abs(axd-ax0)/step_count = 2*1000*abs(axd-ax0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_ay =
ꢀ‑
2*abs(ayd-ay0)*(x-1)/(step_count*(step_count-1))+2*abs(ayd-ay0)/step_count = 2*1000*abs(ayd-ay0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_az =
ꢀ‑
2*abs(azd-az0)*(x-1)/(step_count*(step_count-1))+2*abs
(azd-az0)/step_count = 2*1000*abs(azd-az0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),透明度的同步变化步进值为:step_opt =
ꢀ‑
2*abs(optdst-opt0)*(x-1)/(step_count*(step_count-1))+2*abs(optdst-opt0)/step_count = 2*1000*abs(optdst-opt0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),缩放大小两个方向的同步变化步进值为:step_sx =
ꢀ‑
2*abs(sxd-sx0)*(x-1)/(step_count*(step_count-1))+2*abs(sxd-sx0)/step_count = 2*1000*abs(sxd-sx0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000)),step_sy =
ꢀ‑
2*abs(syd-sy0)*(x-1)/(step_count*(step_count-1))+2*abs(syd-sy0)/step_count = 2*1000*abs(syd-sy0)*(value_ms*f-1000*x)/(value_ms*f*(value_ms*f-1000))。
[0029]
据此,本发明所述动画对象的显示方法,实现了在工程机械的仪表系统里动画对象的变化完成,整个过程简单易行,对硬件系统的性能要求不高,成本较低,适于在嵌入式系统中运用,而且各动画对象的变量参数同步完成变化,对用户的使用感受非常好。而且,进一步还提出了实现阻尼变化的显示方法,使得动画对象的变化更自然流畅,进一步提升了用户使用感受。
[0030]
本发明第二实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并执行时执行上述动画对象的显示方法。
[0031]
本发明第三实施方式还提供一种电子设备,包括:处理器、存储器和通信总线,所述处理器通过所述通信总线与所述存储器连接进行通信,以执行上述动画对象的显示方法。
[0032]
本发明所述动画对象的显示方法、计算机可读存储介质及电子设备,实现了在工程机械的仪表系统里动画对象的变化完成,整个过程简单易行,对硬件系统的性能要求不高,成本较低,适于在嵌入式系统中运用,而且各动画对象的变量参数同步完成变化,对用户的使用感受非常好。而且,进一步还提出了实现阻尼变化的显示方法,使得动画对象的变化更自然流畅,进一步提升了用户使用感受。
[0033]
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述的描述,在所提供的示例之外的许多实施例和许多应用对本领域技术人员来说都将是显而易见的。因此,本教导的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。出于全面之目的,所有文章和参考包括专利申请和公告的公开都通过参考结合在本文中。在前述权利要求中省略这里公开的主题的任何方面并不是为了放弃该主体内容,也不应该认为申请人没有将该主题考虑为所公开的申请主题的一部分。