触控轨迹显示方法、装置、设备及存储介质与流程

    专利2022-07-08  80


    本申请属于电子设备技术领域,尤其涉及一种触控轨迹显示方法、装置、设备及存储介质。



    背景技术:

    随着触控技术的发展,通过触控技术来实现人机交互的应用越来越广泛。比如,用户可以在显示屏上进行触控操作,与此同时显示屏上显示用户的触控轨迹。例如,在触控显示屏上进行书写或者绘画。

    在实现触控显示的技术中,电子设备内部需要对触控进行响应,并基于该响应进行处理,得到显示信息,如此才能将触控对应的信息显示出来。而这段响应处理过程需要一定的时间,如此导致从触控到显示有一定的时延,导致用户最新的触控轨迹没有及时显示出来,尤其是用户书写速度较快的情况下,时延更严重。



    技术实现要素:

    本申请实施例提供一种触控轨迹显示方法、装置、设备及存储介质,能够解决由于从触控到显示有一定的时延,导致用户最新的触控轨迹没有及时显示出来的技术问题。

    一方面,本申请实施例提供一种触控轨迹显示方法,包括:

    在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹,预测位于第一触控轨迹之后的模拟触控点;

    根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹;

    显示第二触控轨迹。

    另一方面,本申请实施例提供了一种触控轨迹显示装置,包括:

    预测模块,用于在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹,预测位于第一触控轨迹之后的模拟触控点;

    生成模块,用于根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹;

    显示模块,用于显示第二触控轨迹。

    再一方面,本申请实施例提供了一种电子设备,电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述的触控轨迹显示方法。

    再一方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述的触控轨迹显示方法。

    本申请实施例的触控轨迹显示方法、装置、设备及存储介质,在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹预测位于第一触控轨迹之后的模拟触控点,并根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹。由于第二触控轨迹是根据第一触控轨迹之后的模拟触控点生成的,使得第二触控轨迹比第一触控轨迹更长些,缩短了从触控到显示的时延,从而及时显示用户最新的触控轨迹。

    附图说明

    为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是相关技术中的触控轨迹延时显示的示意图。

    图2示出了本申请提供的触控轨迹显示方法的一个实施例的流程示意图。

    图3示出了本申请提供的预测模拟触控点的一个实施例的原理示意图;

    图4示出了本申请提供的预测模拟触控点的另一个实施例的原理示意图;

    图5示出了本申请提供的预测模拟触控点的又一个实施例的原理示意图;

    图6示出了本申请提供的预测模拟触控点的再一个实施例的原理示意图;

    图7示出了本申请提供的触控轨迹显示装置的一个实施例的结构示意图。

    图8示出了本申请提供的电子设备的一个实施例的硬件结构示意图。

    具体实施方式

    下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

    需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

    在实现触控显示的技术中,电子设备内部需要对触控进行响应,并基于该响应进行处理,得到显示信息,如此才能将触控对应的信息显示出来。这段响应处理的延时包括以下几个部分:触控算法延时、软件延时和显示延时。其中,触控算法延时可以是通过算法计算触控位置坐标的延时,软件延时可以是书写软件或者绘画软件根据触控位置坐标生成触控轨迹的延时,显示延时可以是将触控轨迹进行显示的延时。

    而这段响应处理的延时会导致用户最新的触控轨迹没有及时显示出来,即触控轨迹的显示延时问题,尤其是用户书写速度较快的情况下,时延更严重。比如,如图1所示,用户在电子设备的显示屏上进行触控操作,电子设备显示用户的触控轨迹102,显示出的触控轨迹102的尾端与用户最近的触控位置还有一段距离。当用户书写速度较快的情况下,该距离就越大,即触控轨迹的显示延时问题就越严重。

    为了解决触控轨迹的显示延时问题,在相关技术中,可以通过更改软件(比如书写软件或者绘画软件)代码来降低软件延时,但是会牺牲一些其他效能。而显示延时可以通过硬体改变,比如将显示频率30hz更改为60hz或者更高的120hz,但是这样会带来高昂的成本问题。

    在避免牺牲其他效能以及避免成本过高的情况下,为了解决触控轨迹的显示延时问题,本申请实施例提供了一种触控轨迹显示方法、装置、设备及存储介质。下面首先对本申请实施例所提供的触控轨迹显示方法进行介绍。

    图2示出了本申请提供的触控轨迹显示方法的一个实施例的流程示意图。如图2所示,触控轨迹显示方法包括:

    s202,在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹,预测位于第一触控轨迹之后的模拟触控点。

    在s202中,第一触控轨迹上包括触控输入的实际触控点,基于此,可以根据第一触控轨迹上的实际触控点,预测第一触控轨迹的走向趋势,根据该走向趋势得到位于第一触控轨迹之后的模拟触控点。

    模拟触控点和实际触控点的区别是,模拟触控点是根据实际触控点预测得到,模拟触控点有可能不是用户在显示屏上实际触控的点;而实际触控点是检测到的用户在显示屏上实际触控的点。

    触控轨迹显示方法还包括:

    s204,根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹。

    在s204中,可以将第一触控轨迹上最近一次检测到的实际触控点(即第一触控轨迹的尾部端点)与模拟触控点连成线,得到目标线段;将第一触控轨迹和该目标线段形成的轨迹作为第二触控轨迹。因此,第二触控轨迹比第一触控轨迹更长。

    触控轨迹显示方法还包括:

    s206,显示第二触控轨迹。

    在s206中,由于第二触控轨迹比第一触控轨迹更长,因此,通过显示第二触控轨迹可以缩短触控轨迹的显示延时问题,从而及时显示用户最新触控的触控轨迹。另外,第二触控轨迹并不仅是由实际触控点生成,而是由实际触控点和模拟触控点生成,从而使得第二触控轨迹是由更多的触控点生成,由此,使得第二触控轨迹更加平滑,且第二触控轨迹也更加细腻。

    在本申请的一个或多个实施例中,s204可以包括:

    根据第一触控轨迹上的实际触控点的位置坐标,对第一触控轨迹的趋势方向进行估计,得到方向信息;

    根据方向信息和实际触控点的位置坐标,确定模拟触控点。

    在s204包括的步骤中,由于第一触控轨迹上的实际触控点的趋势方向可以反映出在第一触控轨迹之后的轨迹的方向,因此,可以根据第一触控轨迹上的实际触控点的位置坐标,对第一触控轨迹的趋势方向进行估计,得到方向信息。由此,预测出第一触控轨迹之后的轨迹的方向。然后,可以根据该方向信息,在预测出的方向上确定模拟触控点。比如,根据该方向信息,在预测出的方向上确定与最近一次检测到的实际触控点的距离为目标距离的点,将该点作为模拟触控点。

    在得到模拟触控点之后,可以根据模拟触控点生成比第一触控轨迹更长的第二触控轨迹,可以解决触控轨迹显示延时的问题。

    作为一个示例,模拟触控点与第一触控轨迹上最近一次检测到的实际触控点之间的距离小于最近一次检测到的两个实际触控点的距离。由此,可以避免模拟触控点与下一次检测到的实际触控点之间重叠。如果模拟触控点与下一个实际触控点之间不重叠,那么在检测到下一个实际触控点的情况下,可以根据下一个实际触控点和第二触控轨迹,生成新的触控轨迹,使得显示的触控轨迹在最近显示的触控轨迹的基础上不断延长。

    在本申请的一个或多个实施例中,根据第一触控轨迹上的实际触控点的位置坐标,对第一触控轨迹的趋势方向进行估计,得到方向信息,可以包括:

    在检测到第二个实际触控点的情况下,根据第二个实际触控点的位置坐标和第一个实际触控点的位置坐标,确定上述的方向信息;其中,上述的方向信息用于表征第一个实际触控点和第二个实际触控点的线段与水平方向的角度。

    下面通过一个例子说明本申请实施例中的如何得到方向信息。

    如图3所示,检测到两个实际触控点,分别是实际触控点a和实际触控点b,实际触控点a的位置坐标为(x1,y1),实际触控点b的位置坐标为(x2,y2)。用a表示实际触控点a与点p的距离,用b表示实际触控点b与点p的距离,因此,a=|x2–x1|,b=|y2–y1|。用s1表示实际触控点a和实际触控点b之间的距离,s1=(a2 b2)1/2

    用β1表示线段ab与水平方向的夹角,即β1是线段ap与线段ab之间的夹角,由于a、b和β1满足如下的公式tgβ1=b/a,因此,可以通过该公式求出β1。

    对于待确定的模拟触控点c,设定线段bc与水平方向的夹角β2等于线段ab与水平方向的夹角β1,由于上述已经得到β1,那么可以根据β1得到β2。

    另外,待确定的模拟触控点c与实际触控点b的距离s2是s1与预定数值相乘得到,预定数值可以为小于1的正数,比如预定数值为0.5。

    作为一个示例,预定数值可以根据每次需要确定的模拟触控点的数量而定。一次确定的模拟触控点指最近一次检测到的实际触控点与下一次待检测到的实际触控点之间的模拟触控点。

    根据每次需要确定的模拟触控点的数量确定预定数值的方式具体可以包括:计算每次需要确定的模拟触控点的数量加1得到的数值,并取该数值的倒数得到该预定数值。

    比如,如果每次需要确定的模拟触控点的数量为1个,那么预定数值为0.5。如果每次需要确定的模拟触控点的数量为2个,那么预定数值为1/3。

    在得到表征线段bc方向的β2以及表征线段bc长度的s2之后,可以求出bq的长度c’=s2×cosβ2,以及求出cq的长度d’=s2×sinβ1。而模拟触控点c的横坐标值x2’=x2 c’,纵坐标值y2’=y2 d’。由此,可以得到模拟触控点c的位置坐标(x2’,y2’)。

    在本申请的一个或多个实施例中,根据第一触控轨迹上的实际触控点的位置坐标,对第一触控轨迹的趋势方向进行估计,得到方向信息,可以包括:

    在检测到n 1个实际触控点的情况下,根据k个实际触控点的位置坐标,对第n 1个实际触控点与第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度;其中,k个实际触控点为n 1实际触控点中最近连续检测到的k个实际触控点,n和k为大于1的整数,k≤n;

    根据第二角度,以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第三角度,第三角度为第n 1个实际触控点与待确定的模拟触控点形成的线段与水平方向的夹角;

    将用于表征第三角度的信息确定为方向信息。

    在本实施例中,由于最近连续检测到的k个实际触控点可以反映出触控轨迹最近的趋势方向,因此,在未知下一次检测到的第n 2个实际触控点的情况下,可以根据该k个实际触控点,对第n 1实际触控点和第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度。为了更加准确地预测出第一触控轨迹的趋势方向,根据第二角度以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,得到第n 1个实际触控点与待确定的模拟触控点形成的线段与水平方向的第三角度。

    在本申请的一个或多个实施例中,在k大于或等于3的情况下,根据k个实际触控点的位置坐标,对最近一次检测到的实际触控点与下一个实际触控点的方向与水平方向的角度进行预测,得到第二角度,可以包括:

    确定k个触控点中每相邻两个触控点的线段与水平方向之间的夹角,得到k-1个角度,对于k-1个角度中任意相邻两个角度,其中的一个角度为三个触控点中前两个触控点形成的线段与水平方向之间的夹角,另一个角度为三个触控点中后两个触控点形成的线段与水平方向之间的夹角,三个触控点为k个触控点中连续的三个触控点;

    根据k-1个角度中每相邻两个角度的比值,计算k-1个角度中相邻两个角度的比值平均值;

    计算第一角度与比值平均值的乘积,得到第二角度。

    作为一个示例,k小于检测到的实际触控点的总数量,比如,k为3、4或5。可以避免k的值过大而占用较长的时间来进行计算。

    假设最近一次检测到的实际触控点为第n 1个实际触控点,n为大于1的整数。首先,从n 1个实际触控点中获取最近连续检测到的k个实际触控点,即分别是第n 1个实际触控点、第n个实际触控点、第n-1个实际触控点……以及第n-k 2个实际触控点。然后,计算第n 1个实际触控点与第n个实际触控点的线段与水平方向之间的夹角βn,第n个实际触控点与第n-1个实际触控点的线段与水平方向之间的夹角β(n-1),依次类推,得到k-1个角度。

    然后,通过如下公式计算k-1个角度中相邻两个角度的变化倍数平均值:

    计算变化倍数平均值之后,可以计算出第二角度

    其中,βn表示第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度。

    在本实施例中,通过确定k个触控点中每相邻两个触控点的线段与水平方向之间的夹角,得到k-1个角度,该k-1个角度可以反映出触控轨迹最近的趋势方向,且k-1个角度的变化可以反映出第k-1个角度到第k个角度的变化,其中,第k-1个角度为最近一次检测到的实际触控点与上一次检测到的实际触控点形成的线段与水平方向的角度,第k个角度为最近一次检测到的实际触控点与下一次检测到的实际触控点形成的线段与水平方向的角度。

    在本申请的一个或多个实施例中,根据第二角度,以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第三角度,可以包括:

    计算第一角度和第二角度之间的第一差值;

    计算第二角度与预定比例的第一差值之和,得到第三角度。

    其中,预定比例与每次需要确定的模拟触控点的数量相关。比如,如果每次需要确定一个模拟触控点,那么预定比例可以为1/2。如果每次需要确定两个模拟触控点,那么预定比例可以为1/3和2/3,由此,得到两个第三角度,从而得到两个模拟触控点。

    本申请实施例可以用于每次确定一个模拟触控点的方案。

    下面以图4为例,说明在检测到实际触控点a、实际触控点b和实际触控点d,未检测到实际触控点f的情况下,如何得到模拟触控点e进行说明。

    如图4所示,假设实际触控点a的位置坐标为(x1,y1),实际触控点b的位置坐标为(x2,y2),实际触控点d的位置坐标为(x3,y3),且设定s1/s2=s2/s3,β3/β2=β2/β1;即s3=s22/s1,β3=β22/β1=β2*(β2/β1)。

    其中,s1为实际触控点a和实际触控点b之间的距离,s2为实际触控点b和实际触控点d之间的距离,s3为实际触控点d和实际触控点f之间的距离。β1为线段ab与水平方向的夹角,β2为线段bd与水平方向的夹角,β3为线段df与水平方向的夹角。

    由于β2>β2’>β3,取β2和β3的中间值作为β2’,即β2’=β3 (β2–β3)/2=(β3 β2)/2。在计算β2’的公式中,通过(β2–β3)/2对β3进行校正,得到β2’。

    然后,把β3=β2×(β2/β1)代入β2’=(β3 β2)/2的公式中,可得β2’=[β2×(1 β2/β1)]/2。

    在得到β2’之后,可以得到模拟触控点e的横坐标x2’和纵坐标y2’。其中,x2’=x3 (cosβ2’×s2/2),y2’=y2 (sinβ2’×s2/2)。

    在本申请的一个或多个实施例中,根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹,可以包括:

    确定第一角度与第四角度之间的第二差值,第四角度为第n-1个实际触控点与第n个实际触控点形成的线段与水平方向的角度;

    在第二差值不大于第四角度的情况下,根据第一触控轨迹和模拟触控点,生成第二触控轨迹。

    在本实施例中,在第一角度与第四角度之间的第二差值大于第四角度的情况下,说明第一触控轨迹的趋势方向可能发生变化,而本申请实施例的方案是在第一触控轨迹的趋势方向未发生变化的前提下实现的,因此,此种情况不需要补充模拟触控点。另外,在第一角度与第四角度之间的第二差值不大于第四角度的情况下,说明第一触控轨迹的趋势方向未发生变化,可以根据第一触控轨迹和模拟触控点,生成第二触控轨迹。

    在本申请的一个或多个实施例中,根据方向信息和实际触控点的位置坐标,确定模拟触控点,可以包括:

    根据第一距离和预设数量m,确定目标距离,第一距离为最近一次检测到的实际触控点与上一次检测到的实际触控点之间的距离,m为正整数。

    根据方向信息,以最近一次检测到的实际触控点为起始点,每隔目标距离确定一个模拟触控点,直到确定m个模拟触控点为止。

    需要说明的是,预设数量m表示当检测到一个新的实际触控点的情况下,每次确定的模拟触控点的数量。

    在每次确定的模拟触控点的数量为一个的情况下,目标距离表示最近检测到的实际触控点(即上述的第n 1个实际触控点)与待确定的模拟触控点的距离。在每次确定的模拟触控点的数量为多个的情况下,目标距离不仅可以表示最近检测到的实际触控点与待确定的模拟触控点的距离,还可以表示相邻两个模拟触控点之间的距离。

    比如,如图5所示,每次确定的模拟触控点的数量为1个,即每当检测到一个新的实际触控点的情况下,确定在该实际触控点之后的一个模拟触控点。再比如,如图6所示,每次确定的模拟触控点的数量为两个,即每当检测到一个新的实际触控点的情况下,确定在该实际触控点之后的两个模拟触控点。

    根据最近一次检测到的实际触控点与上一个实际触控点之间的第一距离和预设数量m,确定目标距离,具体可以包括:将第一距离除以m 1,得到目标距离。

    在确定目标距离之后,根据方向信息和目标距离确定m个模拟触控点,使得每个模拟触控点与最近检测到的实际触控点之间的距离小于最近检测到的两个实际触控点之间的距离。由此,可以避免模拟触控点与下一个实际触控点之间重叠。

    比如,继续参考图5,在检测到实际触控点a和实际触控点b之后,根据实际触控点a和实际触控点b的距离,确定模拟触控点c,其中,实际触控点b和模拟触控点c之间的距离是实际触控点a和实际触控点b的距离的一半。

    再比如,继续参考图6,在检测到实际触控点d,并且还未检测到实际触控点f的情况下,根据实际触控点d和上一个实际触控点的距离,确定实际触控点d和实际触控点f之间的两个模拟触控点,其中,第一个模拟触控点与实际触控点d的距离是实际触控点d和上一个实际触控点的距离的三分之一,第二个模拟触控点与实际触控点d的距离是实际触控点d和上一个实际触控点的距离的三分之二。

    与本申请提供的触控轨迹显示方法对应地,本申请还提供一种触控轨迹显示装置。图7示出了本申请提供的触控轨迹显示装置的一个实施例的结构示意图。如图7所示,触控轨迹显示装置300包括:

    预测模块302,用于在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹,预测位于第一触控轨迹之后的模拟触控点;

    生成模块304,用于根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹;

    显示模块306,用于显示第二触控轨迹。

    在本申请实施例中,第二触控轨迹是根据第一触控轨迹和模拟触控点生成,使得第二触控轨迹比第一触控轨迹更长。因此,通过显示第二触控轨迹可以缩短触控轨迹的显示延时问题,从而及时显示用户最新触控的触控轨迹。另外,第二触控轨迹并不仅是由实际触控点生成,而是由实际触控点和模拟触控点生成,从而使得第二触控轨迹是由更多的触控点生成,由此,使得第二触控轨迹更加平滑,且第二触控轨迹也更加细腻。

    在本申请的一个或多个实施例中,预测模块302可以包括:

    估计单元,用于根据第一触控轨迹上的实际触控点的位置坐标,对第一触控轨迹的趋势方向进行估计,得到方向信息;

    确定单元,用于根据方向信息确定模拟触控点。

    在得到模拟触控点之后,可以根据模拟触控点生成比第一触控轨迹更长的第二触控轨迹,可以解决触控轨迹显示延时的问题。

    在本申请的一个或多个实施例中,估计单元可以包括:

    第一确定子单元,用于在检测到第二个实际触控点的情况下,根据第二个实际触控点的位置坐标和第一个实际触控点的位置坐标,确定方向信息;其中,方向信息用于表征第一个实际触控点和第二个实际触控点的线段与水平方向的角度。

    在本申请的一个或多个实施例中,估计单元可以包括:

    预测子单元,用于在检测到n 1个实际触控点的情况下,根据k个实际触控点的位置坐标,对第n 1个实际触控点与第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度;其中,k个实际触控点为n 1实际触控点中最近连续检测到的k个实际触控点,n和k为大于1的整数,k≤n;

    第一计算子单元,用于根据第二角度,以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第三角度,第三角度为第n 1个实际触控点与待确定的模拟触控点形成的线段与水平方向的夹角;

    第二确定子单元,用于将用于表征第三角度的信息确定为方向信息。

    在本实施例中,由于最近连续检测到的k个实际触控点可以反映出触控轨迹最近的趋势方向,因此,在未知第n 2个实际触控点的情况下,可以根据该k个实际触控点,对第n 1个实际触控点与第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度。为了更加准确地预测出第一触控轨迹的趋势方向,根据第二角度以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第n 1个实际触控点与待确定的模拟触控点形成的线段与水平方向的第三角度。

    在本申请的一个或多个实施例中,在k大于或等于3的情况下,预测子单元可以包括:

    夹角确定子单元,用于确定k个触控点中每相邻两个触控点的线段与水平方向之间的夹角,得到k-1个角度,对于k-1个角度中任意相邻两个角度,其中的一个角度为三个触控点中前两个触控点形成的线段与水平方向之间的夹角,另一个角度为三个触控点中后两个触控点形成的线段与水平方向之间的夹角,三个触控点为k个触控点中连续的三个触控点;

    均值计算子单元,用于根据k-1个角度中每相邻两个角度的比值,计算k-1个角度中相邻两个角度的比值平均值;

    第一角度计算子单元,用于计算第一角度与比值平均值的乘积,得到第二角度。

    在本实施例中,通过确定k个触控点中每相邻两个触控点的线段与水平方向之间的夹角,得到k-1个角度,该k-1个角度可以反映出触控轨迹最近的趋势方向,且k-1个角度的变化可以反映出第k-1个角度到第k个角度的变化,其中,第k-1个角度为第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的角度,第k个角度为第n 1个实际触控点与未检测到的第n 2个实际触控点形成的线段与水平方向的角度。

    在本申请的一个或多个实施例中,校正子单元可以包括:

    差值计算子单元,用于计算第一角度和第二角度之间的第一差值;

    第二角度计算子单元,用于计算第二角度与预定比例的第一差值之和,得到第三角度。

    在本申请的一个或多个实施例中,生成模块304可以包括:

    差值确定单元,用于确定第一角度与第四角度之间的第二差值,第四角度为第n-1个实际触控点与第n个实际触控点形成的线段与水平方向的角度;

    轨迹生成单元,用于在差值不大于第四角度的情况下,根据第一触控轨迹和模拟触控点,生成第二触控轨迹。

    在本实施例中,在第一角度与第四角度之间的第二差值大于第四角度的情况下,说明第一触控轨迹的趋势方向可能发生变化,而本申请实施例的方案是在第一触控轨迹的趋势方向未发生变化的前提下实现的,因此,此种情况不需要补充模拟触控点。另外,在第一角度与第四角度之间的第二差值不大于第四角度的情况下,说明第一触控轨迹的趋势方向未发生变化,可以根据第一触控轨迹和模拟触控点,生成第二触控轨迹。

    在本申请的一个或多个实施例中,触控轨迹显示装置300还可以包括:

    距离确定模块,用于根据第一距离和预设数量m,确定目标距离,第一距离为最近一次检测到的实际触控点与上一次检测到的实际触控点之间的距离,m为正整数;

    确定单元具体可以用于:根据方向信息,以最近一次检测到的实际触控点为起始点,每隔目标距离确定一个模拟触控点,直到确定m个模拟触控点为止。

    本申请还提供一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意一项的触控轨迹显示方法。

    图8示出了本申请提供的电子设备的一个实施例的硬件结构示意图。

    如图8所示,该电子设备400包括但不限于:射频单元401、网络模块402、音频输出单元403、输入单元404、传感器405、显示单元406、用户输入单元407、接口单元408、存储器409、以及处理器410等部件。处理器410可以执行上述任意一项的触控轨迹显示方法。

    其中,输入单元404可以包括图形处理器4041和麦克风4042。显示单元406包括可以显示面板4061。用户输入单元407可以包括触控面板4071和其他输入设备4072。存储器409可以包括应用程序和操作系统。

    本领域技术人员可以理解,电子设备400还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

    结合上述实施例中的触控轨迹显示方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种触控轨迹显示方法。

    需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

    以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

    还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

    上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

    以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。


    技术特征:

    1.一种触控轨迹显示方法,其特征在于,包括:

    在检测到触控输入的情况下,根据所述触控输入对应的第一触控轨迹,预测位于所述第一触控轨迹之后的模拟触控点;

    根据所述第一触控轨迹和所述模拟触控点,生成所述触控输入对应的第二触控轨迹;

    显示所述第二触控轨迹。

    2.根据权利要求1所述的方法,其特征在于,所述根据所述触控输入对应的第一触控轨迹,预测位于所述第一触控轨迹之后的模拟触控点,包括:

    根据所述第一触控轨迹上的实际触控点的位置坐标,对所述第一触控轨迹的趋势方向进行估计,得到方向信息;

    根据所述方向信息和所述实际触控点的位置坐标,确定所述模拟触控点。

    3.根据权利要求2所述的方法,其特征在于,所述根据所述第一触控轨迹上的实际触控点的位置坐标,对所述第一触控轨迹的趋势方向进行估计,得到方向信息,包括:

    在检测到第二个实际触控点的情况下,根据所述第二个实际触控点的位置坐标和第一个实际触控点的位置坐标,确定所述方向信息;

    其中,所述方向信息用于表征所述第一个实际触控点和所述第二个实际触控点的线段与水平方向的角度。

    4.根据权利要求2所述的方法,其特征在于,所述根据所述第一触控轨迹上的实际触控点的位置坐标,对所述第一触控轨迹的趋势方向进行估计,得到方向信息,包括:

    在检测到n 1个实际触控点的情况下,根据k个实际触控点的位置坐标,对第n 1个实际触控点与第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度;其中,所述k个实际触控点为所述n 1实际触控点中最近连续检测到的k个实际触控点,n和k为大于1的整数,k≤n;

    根据所述第二角度,以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第三角度,所述第三角度为第n 1个实际触控点与待确定的所述模拟触控点形成的线段与水平方向的夹角;

    将用于表征所述第三角度的信息确定为所述方向信息。

    5.根据权利要求4所述的方法,其特征在于,在k大于或等于3的情况下,

    所述根据k个实际触控点的位置坐标,对第n 1个实际触控点与第n 2个实际触控点形成的线段与水平方向的角度进行预测,得到第二角度,包括:

    确定所述k个触控点中每相邻两个所述触控点形成的线段与水平方向之间的夹角,得到k-1个角度,对于所述k-1个角度中任意相邻两个角度,其中的一个角度为三个触控点中前两个触控点形成的线段与水平方向之间的夹角,另一个角度为所述三个触控点中后两个触控点形成的线段与水平方向之间的夹角,所述三个触控点为所述k个触控点中连续的三个触控点;

    根据所述k-1个角度中每相邻两个角度的比值,计算所述k-1个角度中相邻两个角度的比值平均值;

    计算所述第一角度与所述比值平均值的乘积,得到所述第二角度。

    6.根据权利要求4所述的方法,其特征在于,所述根据所述第二角度,以及第n 1个实际触控点与第n个实际触控点形成的线段与水平方向的第一角度,计算第三角度,包括:

    计算所述第一角度和所述第二角度之间的第一差值;

    计算所述第二角度与预定比例的所述第一差值之和,得到所述第三角度。

    7.根据权利要求4所述的方法,其特征在于,所述根据所述第一触控轨迹和所述模拟触控点,生成所述触控输入对应的第二触控轨迹,包括:

    确定所述第一角度与第四角度之间的第二差值,所述第四角度为第n-1个实际触控点与第n个实际触控点形成的线段与水平方向的角度;

    在所述第二差值不大于所述第四角度的情况下,根据所述第一触控轨迹和所述模拟触控点,生成所述第二触控轨迹。

    8.根据权利要求2至7中任意一项所述的方法,其特征在于,所述根据所述方向信息和所述实际触控点的位置坐标,确定所述模拟触控点,包括:

    根据第一距离和预设数量m,确定目标距离,所述第一距离为最近一次检测到的实际触控点与上一次检测到的实际触控点之间的距离,m为正整数;

    根据所述方向信息,以最近一次检测到的实际触控点为起始点,每隔所述目标距离确定一个所述模拟触控点,直到确定m个所述模拟触控点为止。

    9.一种触控轨迹显示装置,其特征在于,包括:

    预测模块,用于在检测到触控输入的情况下,根据所述触控输入对应的第一触控轨迹,预测位于所述第一触控轨迹之后的模拟触控点;

    生成模块,用于根据所述第一触控轨迹和所述模拟触控点,生成所述触控输入对应的第二触控轨迹;

    显示模块,用于显示所述第二触控轨迹。

    10.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;

    所述处理器执行所述计算机程序指令时实现如权利要求1-8任意一项所述的触控轨迹显示方法。

    11.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8任意一项所述的触控轨迹显示方法。

    技术总结
    本申请公开了一种触控轨迹显示方法、装置、设备及存储介质,触控轨迹显示方法可以包括:在检测到触控输入的情况下,根据触控输入对应的第一触控轨迹,预测位于第一触控轨迹之后的模拟触控点;根据第一触控轨迹和模拟触控点,生成触控输入对应的第二触控轨迹;显示第二触控轨迹。本申请公开的触控轨迹显示方法,能够缩短了从触控到显示的时延,从而及时显示用户最新的触控轨迹。

    技术研发人员:于子鹏;戴俊德
    受保护的技术使用者:安徽鸿程光电有限公司
    技术研发日:2020.12.22
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23649.html

    最新回复(0)