CN113963361A - 一种笔迹显示方法及相关装置 - Google Patents
一种笔迹显示方法及相关装置 Download PDFInfo
- Publication number
- CN113963361A CN113963361A CN202111179590.5A CN202111179590A CN113963361A CN 113963361 A CN113963361 A CN 113963361A CN 202111179590 A CN202111179590 A CN 202111179590A CN 113963361 A CN113963361 A CN 113963361A
- Authority
- CN
- China
- Prior art keywords
- point
- coordinate
- target object
- coordinate point
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种笔迹显示方法及相关装置,可以获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹;由于本申请实施例能够通过目标对象在显示屏幕上的移动轨迹的坐标点,计算得到能够形成笔锋笔迹区域的起始点、控制点和第四坐标点,如此能够得到具有笔锋特征的笔迹。
Description
技术领域
本申请涉及屏幕书写技术领域,具体涉及一种笔迹显示方法及相关装置,该相关装置包括笔迹显示装置、计算机设备和计算机可读存储介质。
背景技术
随着科技的发展,电子会议设备被应用到了的工作中。电子会议设备提供了手写的电子白板,但这种电子白板不能够实现传统手写的效果,也即用户在电子白板上书写后,电子白板上面的笔迹缺少个人书法的特征,比如,缺乏笔锋。
发明内容
本申请实施例提供一种笔迹显示方法及相关装置,该相关装置包括笔迹显示装置、计算机设备和计算机可读存储介质,能够使得笔迹具有笔锋特征。
一种笔迹显示方法,包括:
获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;
根据多个坐标点,计算目标对象移动的起始点和控制点;
根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;
对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
相应地,本申请实施例提供一种笔迹显示装置,包括:
获取单元,可以用于获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;
第一计算单元,可以用于根据多个坐标点,计算目标对象移动的起始点和控制点;
确定单元,可以用于根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;
填充单元,可以用于对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
在一些实施例中,坐标点包括第一坐标点、第二坐标点、第三坐标点和第四坐标点;第一计算单元,具体可以用于根据第一坐标点和第二坐标点,计算得到目标对象移动的起始点;根据第一坐标点、第二坐标点和第三坐标点,计算得到目标对象移动的控制点;根据起始点、控制点以及第四坐标点,确定目标对象移动的笔迹区域。
在一些实施例中,第一计算单元,具体可以用于根据第一坐标点和第二坐标点,计算得到第一坐标点和第二坐标点之间的距离;根据第一坐标点和第二坐标点之间的距离,以及坐标点的坐标轴,计算得到第一坐标点和第二坐标点之间的线段在坐标轴上的第一目标弧度;根据第一目标弧度、目标对象在显示屏幕上的绘制宽度以及第一坐标点,计算得到目标对象移动的起始点。
在一些实施例中,第一计算单元,具体可以用于根据第一目标弧度和目标对象在显示屏幕上的绘制宽度,计算得到第一差值点;根据第一差值点和第一坐标点,计算得到目标对象移动的第一起始点;根据第一起始点和第一坐标点,计算得到目标对象移动的第二起始点;根据第一起始点和第二起始点生成目标对象移动的起始点。
在一些实施例中,第一计算单元,具体可以用于根据第一坐标点、第二坐标点和第三坐标点,计算得到第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离;根据第一坐标点、第二坐标点、第三坐标点、第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离,计算得到第二差值点;根据第二差值点和第二坐标点,计算得到目标对象移动的控制点。
在一些实施例中,第一计算单元,具体可以用于根据第二差值点和坐标点的坐标轴原点,计算得到第二差值点和坐标点的坐标轴原点之间的距离;根据第二差值点和坐标点的坐标轴原点之间的距离、以及目标对象施加于显示屏幕上的压力,计算得到第三差值点;根据第三差值点和第二坐标点,计算得到目标对象移动的控制点。
在一些实施例中,该笔迹显示装置还包括第二计算单元,第二计算单元可以用于根据第二坐标点和第三坐标点,计算得到目标对象移动的中心点;根据起始点、控制点以及中心点,形成笔迹区域,笔迹区域包括非笔锋笔迹区域;对非笔锋笔迹区域进行填充,得到非笔锋笔迹,并显示非笔锋笔迹。
在一些实施例中,第二计算单元具体可以用于根据第二坐标点和第三坐标点,计算得到目标对象移动的初始中心点;根据初始中心点、第二坐标点和第三坐标点,计算得到目标对象移动的候选中心点;根据初始中心点和候选中心点,计算得到目标对象移动的中心点。
在一些实施例中,第二计算单元具体可以用于根据第二坐标点和第三坐标点,计算得到第二坐标点和第三坐标点之间的距离;根据第二坐标点和第三坐标点之间的距离,以及坐标点的坐标轴,计算得到第二坐标点和第三坐标点之间线段在坐标轴上的第二目标弧度;根据第二目标弧度、目标对象在显示屏幕上的绘制宽度以及第二坐标点,计算得到目标对象移动的初始中心点。
此外,本申请实施例还提供一种计算机设备,包括存储器和处理器;存储器存储有计算机程序,处理器用于运行存储器内的计算机程序,以执行本申请实施例提供的任一种笔迹显示方法中的操作。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序适于处理器进行加载,以执行本申请实施例提供的任一种笔迹显示方法。
本申请实施例可以获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹;由于本申请实施例能够通过目标对象在显示屏幕上的移动轨迹的坐标点,计算得到能够形成笔锋笔迹区域的起始点、控制点和第四坐标点,如此能够得到具有笔锋特征的笔迹。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的笔迹显示方法的场景示意图;
图2是本申请实施例提供的笔迹显示方法的流程示意图;
图3是本申请实施例提供的得到目标对象移动的起始点的示意图;
图4是本申请实施例提供的得到目标对象移动的起始点的示意图;
图5是本申请实施例提供的形成笔锋笔迹的示意图;
图6为本申请实施例提供的得到中心点的示意图;
图7是本申请实施例提供的形成非笔锋笔迹的示意图;
图8是本申请实施例提供的笔迹显示装置的结构示意图;
图9是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种笔迹显示方法、装置、计算机设备和计算机可读存储介质。其中,该笔迹显示装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,参见图1,以笔迹显示装置集成在计算机设备,该计算机设备为智能电视机中为例,智能电视机获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
其中,目标对象是指用于在显示屏幕上移动以生成笔迹的对象,目标对象可以是手指、可以是画笔等。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从笔迹显示装置的角度进行描述,该笔迹显示装置具体可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备;其中,该终端可以包括智能电视机、平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以获取数据的智能设备等设备。
如图2所示,该笔迹显示方法的具体流程如下:
101、获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点。
其中,目标对象是指用于在显示屏幕上移动以生成笔迹的对象,目标对象可以是手指、可以是画笔等。
102、根据多个坐标点,计算目标对象移动的起始点和控制点。
103、根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域。
其中,笔迹区域包括目标对象移动形成的笔锋笔迹区域。
104、对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
本申请实施例可以获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹;由于本申请实施例能够通过目标对象在显示屏幕上的移动轨迹的坐标点,计算得到能够形成笔锋笔迹区域的起始点、控制点和第四坐标点,如此能够得到具有笔锋特征的笔迹。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该笔迹显示装置具体集成在计算机设备,计算机设备可以为服务器,也可以为终端。
如图2所示,一种笔迹显示方法,具体流程如下:
101、获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点。
其中,目标对象是指用于在显示屏幕上移动以生成笔迹的对象,目标对象可以是手指、可以是画笔等。
其中,若笔迹区域为笔锋笔迹区域,则坐标点可以包括第一坐标点、第二坐标点、第三坐标点和第四坐标点,第一坐标点、第二坐标点、第三坐标点和第四坐标点可以按照移动轨迹的移动方向依次排列。若笔迹区域为非笔锋笔迹区域,即笔迹区域为一般笔迹区域,则坐标点可以包括上述的第一坐标点、上述的第二坐标点、上述的第三坐标点。
第一坐标点、第二坐标点、第三坐标点和第四坐标点中,每相邻两个坐标点之间的距离可以是相同的,也可以是不同的。第一坐标点、第二坐标点、第三坐标点和第四坐标点可以是根据目标对象施加于显示屏幕上的压力值确定的,例如,当目标对象施加于显示屏幕上的压力值达到预设阈值时,可以确定出该压力值对应的坐标点。目标对象施加于显示屏幕上的压力值可以通过设置与显示屏幕上的压力传感器获得。
其中,第一坐标点可以为P1(x1,y1),第二坐标点可以是P2(x2,y2),第三坐标点可以是P3(x3,y3),第四坐标点可以是P(x,y)。
当然,本申请实施例不限于第一坐标点、第二坐标点、第三坐标点和第四坐标点,可以根据具体需要取坐标点。
102、根据多个坐标点,计算目标对象移动的起始点和控制点。
具体地,计算机设备根据多个坐标点,计算目标对象移动的起始点和控制点的过程可以如下:
计算机设备可以根据第一坐标点和第二坐标点,计算得到目标对象移动的起始点;根据第一坐标点、第二坐标点和第三坐标点,计算得到目标对象移动的控制点。
其中,计算机设备可以根据第一坐标点和第二坐标点,计算得到目标对象移动的起始点可以如下:
计算机设备根据第一坐标点和第二坐标点,计算得到第一坐标点和第二坐标点之间的距离;根据第一坐标点和第二坐标点之间的距离,以及坐标点的坐标轴,计算得到第一坐标点和第二坐标点之间的线段在坐标轴上的第一目标弧度;根据第一目标弧度、目标对象在显示屏幕上的绘制宽度以及第一坐标点,计算得到目标对象移动的起始点。
其中,如图3所示,第一坐标点和第二坐标点之间的距离dist0=|P1P2|。
其中,本申请实施例可以根据dist0和坐标轴的x轴,计算得到dist0和x轴之间的余弦值,然后,用反余弦对该余弦值处理,获取弧度α,接着对弧度α旋转90度,得到第一目标弧度β=α+π/2。
其中,本申请实施例根据第一目标弧度、目标对象在显示屏幕上的绘制宽度以及第一坐标点,计算得到目标对象移动的起始点的方式可以有多种。
例如,计算机设备根据第一目标弧度和目标对象在显示屏幕上的绘制宽度,计算得到第一差值点;根据第一差值点和第一坐标点,计算得到目标对象移动的第一起始点;根据第一起始点和第一坐标点,计算得到目标对象移动的第二起始点;根据第一起始点和第二起始点生成目标对象移动的起始点。
其中,目标对象在显示屏幕上的绘制宽度用stroke表示,第一差值点用DP(dx,dy)表示。第一差值点DP(dx,dy)通过第一目标弧度β和绘制宽度stroke计算得到,具体为:dx=cos(β)*stroke=-sin(α)*stroke,dy=sin(β)*stroke=-sin(α)*stroke。
其中,如图3所示,第一起始点用SP1(spx1,spy1)表示,其可以通过第一差值点DP(dx,dy)和第一坐标点P1(x1,y1)计算得到,具体为:spx1=x1+dx,spy1=y1+dy。
其中,如图3所示,第二起始点用SP2(spx2,spy2)表示,其可以通过第一差值点(dx,dy)和第一坐标点P1(x1,y1)计算得到,具体为:spx2=x1*2-spx1,spy2=y1*2-spy1。
例如,计算机设备根据第一目标弧度和目标对象在显示屏幕上的绘制宽度,计算得到第一差值点;根据第一差值点、第一坐标点和默认初始值,计算得到目标对象移动的第一起始点;根据第一起始点、第一坐标点和默认初始值,计算得到目标对象移动的第二起始点;根据第一起始点和第二起始点生成目标对象移动的起始点。
其中,目标对象在显示屏幕上的绘制宽度用stroke表示,第一差值点用DP(dx,dy)表示。第一差值点DP(dx,dy)通过第一目标弧度β和绘制宽度stroke计算得到,具体为:dx=cos(β)*stroke=-sin(α)*stroke,dy=sin(β)*stroke=-sin(α)*stroke。
其中,第一起始点用SP1(spx1,spy1)表示,其可以通过第一差值点DP(dx,dy)、第一坐标点P1(x1,y1)和默认初始值n计算得到,具体为:spx1=x1+dx+n,spy1=y1+dy+n。
其中,第二起始点用SP2(spx2,spy2)表示,其可以通过第一差值点(dx,dy)、第一坐标点P1(x1,y1)和默认初始值n计算得到,具体为:spx2=x1*2-spx1-n,spy2=y1*2-spy1-n。
其中,计算机设备根据第一坐标点、第二坐标点和第三坐标点,计算得到目标对象移动的控制点的过程可以如下:
计算机设备根据第一坐标点、第二坐标点和第三坐标点,计算得到第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离;根据第一坐标点、第二坐标点、第三坐标点、第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离,计算得到第二差值点;根据第二差值点和第二坐标点,计算得到目标对象移动的控制点。
其中,如图4所示,计算机设备通过第一坐标点P1(x1,y1)、第二坐标点P2(x2,y2)和第三坐标点P3(x3,y3)计算得到第一坐标点和第二坐标点之间的距离dist=|P1P2|,以及第二坐标点和第三坐标点之间的距离dist2=|P2P3|。
其中,计算机设备根据第一坐标点P1(x1,y1)、第二坐标点P2(x2,y2)、第三坐标点P3(x3,y3)、第一坐标点和第二坐标点之间的距离dist=|P1P2|,以及第二坐标点和第三坐标点之间的距离dist2=|P2P3|,计算得到第二差值点DP2(dx2,dy2),计算过程可以为:dx2=(x3–x2)/dist2+(x1–x2)/dist,dy2=(y3–y2)/dist2+(y1–y2)/dist。
其中,计算机设备根据第二差值点和第二坐标点,计算得到目标对象移动的控制点的过程可以有多种方法:
例如,计算机设备根据第二差值点和坐标点的坐标轴原点,计算得到第二差值点和坐标点的坐标轴原点之间的距离;根据第二差值点和坐标点的坐标轴原点之间的距离、以及目标对象施加于显示屏幕上的压力,计算得到第三差值点;根据第三差值点和第二坐标点,计算得到目标对象移动的控制点。
其中,如图4所示,计算机设备根据第二差值点DP2(dx2,dy2)和坐标轴原点O(0,0),得到第二差值点和坐标点的坐标轴原点之间的距离dist3。
其中,计算机设备根据第二差值点和坐标点的坐标轴原点之间的距离dist3、以及目标对象施加于显示屏幕上的压力press,计算得到第三差值点DP3(dx3,dy3),计算过程可以为:dx3=dx2*press/dist3,dy3=dy2*press/dist3。
其中,如图4所示,计算机设备根据第三差值点DP3(dx3,dy3)和第二坐标点P2(x2,y2),计算得到目标对象移动的控制点,控制点包括第一控制点C1(cx1,cy1)和第二控制点C2(cx2,cy2)。计算过程可以为:cx1=x2-dx3,cy1=y2-dy3,cx2=x2+dx3,cy2=y2+dy3。
具体地,计算机设备根据多个坐标点,计算目标对象移动的起始点和控制点的过程可以如下:
例如,计算机设备根据移动轨迹取坐标点,每相邻的坐标点之间的连线相等。根据初始值g和坐标点计算得到起始点和控制点。比如,移动轨迹上任一坐标点为(a,b),起始点可以包括多组,一组起始点包括两个起始点,分别为第一子起始点G1(g1,g2)和第二子起始点G2(g3,g4),第一子起始点G1(g1,g2)和第二子起始点G2(g3,g4)计算过程可以是g1=a+g,g2=b+g,g3=a-g,g4=b-g。控制点可以包括多组,一组控制点包括两个控制点,控制点的计算过程可以和起始点的计算相同,此处不再赘述。
103、根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域。
其中,笔迹区域包括目标对象移动形成的笔锋笔迹区域。
具体地,计算机设备可以根据起始点、控制点以及第四坐标点,确定目标对象移动的笔迹区域。
例如,计算机设备将起始点、控制点和坐标点进行连接,从而得到目标对象移动的笔迹区域。
其中,本申请实施例可以将第四坐标点P(x,y)设置为两个结束点,分别为第一结束点EP1(epx1,epy1)和第二结束点EP2(epx2,epy2),epx1=epx2=x,epy1=epy2=y。
其中,如图5所示,本申请实施例可以通过第一起始点SP1(spx1,spy1)、第一控制点C1(cx1,cy1)和第一结束点EP1(epx1,epy1)绘制贝塞尔曲线;连接第一结束点EP1(epx1,epy1)和第二结束点EP2(epx2,epy2);通过第二起始点SP2(spx2,spy2)、第二控制点C2(cx2,cy2)和第二结束点EP2(epx2,epy2)绘制贝塞尔曲线;将第一起始点SP1(spx1,spy1)和第二起始点SP2(spx2,spy2)连接,如此形成笔锋笔迹区域。此处绘制笔锋笔迹区域仅为示例,还可以通过其他顺序连接起始点、控制点以及结束点。
当然,本申请实施例也可以不需要将第四坐标点设置成第一结束点和第二结束点,可以直接通过第一起始点SP1(spx1,spy1)、第一控制点C1(cx1,cy1)和第四坐标点P(x,y)绘制贝塞尔曲线;通过第二起始点SP2(spx2,spy2)、第二控制点C2(cx2,cy2)和第四坐标点P(x,y)绘制贝塞尔曲线;将第一起始点SP1(spx1,spy1)和第二起始点SP2(spx2,spy2)连接,如此形成笔锋笔迹区域。
具体地,计算机设备可以根据起始点、控制点以及移动轨迹上的最后一个坐标点,确定目标对象移动的笔迹区域。
例如,计算机设备通过第一起始点SP1(spx1,spy1)、第一控制点C1(cx1,cy1)和最后一个坐标点绘制贝塞尔曲线;通过第二起始点SP2(spx2,spy2)、第二控制点C2(cx2,cy2)和最后一个坐标点绘制贝塞尔曲线;将第一起始点SP1(spx1,spy1)和第二起始点SP2(spx2,spy2)连接,如此形成笔锋笔迹区域。
104、对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
其中,该笔锋笔迹显示在计算机设备的显示屏幕上。
另外,本申请实施例在步骤102之后,还可以包括以下内容:
计算机设备根据第二坐标点和第三坐标点,计算得到目标对象移动的中心点;根据起始点、控制点以及中心点,形成笔迹区域,笔迹区域包括非笔锋笔迹区域;对非笔锋笔迹区域进行填充,得到非笔锋笔迹,并显示非笔锋笔迹。
如此,本申请实施例可以通过上述方法得到非笔锋笔迹。
其中,非笔锋笔迹区域是指一般笔迹区域,对应的,非笔锋笔迹是指一般笔迹。
具体地,计算机设备根据第二坐标点和第三坐标点,计算得到目标对象移动的中心点的过程可以如下:
计算机设备根据第二坐标点和第三坐标点,计算得到目标对象移动的初始中心点;根据初始中心点、第二坐标点和第三坐标点,计算得到目标对象移动的候选中心点;根据初始中心点和候选中心点,计算得到目标对象移动的中心点。
其中,如图6所示,本申请实施例可以根据第二坐标点P2(x2,y2)和第三坐标点P3(x3,y3)确定两个初始中心点,这两个初始中心点分别为第一初始中心点R1(rx1,ry1)、第二初始中心点R2(rx2,ry2)。
其中,本申请实施例通过初始中心点、第二坐标点和第三坐标点,计算得到目标对象移动的两个候选中心点,这两个候选中心点分别为第一候选中心点R3(rx3,ry3)、第二候选中心点R4(rx4,ry4),计算过程可以为:rx3=rx1-x2+x3,ry3=ry1-y2+y3,rx4=rx2-x2+x3,ry4=ry2-y2+y3。
其中,本申请根据初始中心点和候选中心点,计算得到目标对象移动的两个中心点,这两个中心点分别为第一中心点CT1(ctx1,cty1)、第二中心点CT2(ctx2,cty2),计算过程可以为:ctx1=(rx1+rx3)/2,cty1=(ry1+ry3)/2,ctx2=(rx2+rx4)/2,cty2=(ry2+ry4)/2。
另外,第一中心点CT1(ctx1,cty1)和第二中心点CT2(ctx2,cty2)可以分别作为绘制下一段曲线或是笔锋的第一起始点和第二起始点。
其中,如图7所示,本申请实施例通过第一起始点SP1、第一控制点C1、第一中心点CT1绘制贝塞尔曲线;连接第一中心点CT1和第二中心点CT2;通过第二控制点C2、第二中心点CT2、第二起始点SP2绘制贝塞尔曲线;连接第一起始点SP1和第二起始点SP2,如此形成非笔锋笔迹区域。
其中,计算机设备根据第二坐标点P2(x2,y2)和第三坐标点P3(x3,y3),计算得到目标对象移动的初始中心点的过程可以如下:
计算机设备根据第二坐标点和第三坐标点,计算得到第二坐标点和第三坐标点之间的距离;根据第二坐标点和第三坐标点之间的距离,以及坐标点的坐标轴,计算得到第二坐标点和第三坐标点之间线段在坐标轴上的第二目标弧度;根据第二目标弧度、目标对象在显示屏幕上的绘制宽度以及第二坐标点,计算得到目标对象移动的初始中心点。
其中,第二坐标点和第三坐标点之间的距离dist2=|P2P3|。
其中,本申请实施例通过第二坐标点P2(x2,y2)和第三坐标点P3(x3,y3)之间的距离dist2=|P2P3|,以及x轴,计算dist2和x轴之间的余弦值,再用反余弦获取弧度α1,旋转90度,得到第二目标弧度β1=α1+π/2。
其中,本申请实施例根据第二目标弧度β1、目标对象在显示屏幕上的绘制宽度stroke以及第二坐标点P2(x2,y2),计算得到目标对象移动的初始中心点R1(rx1,ry1),R2(rx2,ry2),具体过程可以是:
计算机设备根据第二目标弧度β1、目标对象在显示屏幕上的绘制宽度stroke计算得到初始差值点DN(nx1,ny2),nx1=cos(β1)*stroke=-sin(α1)*stroke,ny1=sin(β1)*stroke=-sin(α1)*stroke。然后,计算机设备通过将第二坐标点P2(x2,y2)和初始差值点DN(nx1,ny2)计算得到第一初始中心点R1(rx1,ry1),rx1=x2+nx1,ry1=y2+ny2。
计算机设备通过将第二坐标点P2(x2,y2)和初始差值点DN(nx1,ny2)计算得到第二初始中心点R2(rx2,ry2),rx2=x2*2-rx1,ry2=y2*2-ry1。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例可以获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹;由于本申请实施例能够通过目标对象在显示屏幕上的移动轨迹的坐标点,计算得到能够形成笔锋笔迹区域的起始点、控制点和第四坐标点,如此能够得到具有笔锋特征的笔迹。
为了更好地实施以上方法,本申请实施例还提供一种笔迹显示装置,该笔迹显示装置可以集成在计算机设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图8所示,该笔迹显示装置可以包括获取单元301、第一计算单元302、确定单元303、填充单元304和第二计算单元305,如下:
(1)获取单元301;
获取单元301,可以用于获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点。
(2)第一计算单元302;
第一计算单元302,可以用于根据多个坐标点,计算目标对象移动的起始点和控制点。
在一些实施例中,第一计算单元302具体可以用于根据第一坐标点和第二坐标点,计算得到目标对象移动的起始点;根据第一坐标点、第二坐标点和第三坐标点,计算得到目标对象移动的控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域包括:根据起始点、控制点以及第四坐标点,确定目标对象移动的笔迹区域。
在一些实施例中,第一计算单元302具体可以用于根据第一坐标点和第二坐标点,计算得到第一坐标点和第二坐标点之间的距离;根据第一坐标点和第二坐标点之间的距离,以及坐标点的坐标轴,计算得到第一坐标点和第二坐标点之间的线段在坐标轴上的第一目标弧度;根据第一目标弧度、目标对象在显示屏幕上的绘制宽度以及第一坐标点,计算得到目标对象移动的起始点。
在一些实施例中,第一计算单元302具体可以用于根据第一目标弧度和目标对象在显示屏幕上的绘制宽度,计算得到第一差值点;根据第一差值点和第一坐标点,计算得到目标对象移动的第一起始点;根据第一起始点和第一坐标点,计算得到目标对象移动的第二起始点;根据第一起始点和第二起始点生成目标对象移动的起始点。
在一些实施例中,第一计算单元302具体可以用于根据第一坐标点、第二坐标点和第三坐标点,计算得到第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离;根据第一坐标点、第二坐标点、第三坐标点、第一坐标点和第二坐标点之间的距离,以及第二坐标点和第三坐标点之间的距离,计算得到第二差值点;根据第二差值点和第二坐标点,计算得到目标对象移动的控制点。
在一些实施例中,第一计算单元302具体可以用于根据第二差值点和坐标点的坐标轴原点,计算得到第二差值点和坐标点的坐标轴原点之间的距离;根据第二差值点和坐标点的坐标轴原点之间的距离、以及目标对象施加于显示屏幕上的压力,计算得到第三差值点;根据第三差值点和第二坐标点,计算得到目标对象移动的控制点。
(3)确定单元303;
确定单元303,可以用于根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域。
(4)填充单元304;
填充单元304,可以用于对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
(5)第二计算单元305;
第二计算单元305,可以用于根据第二坐标点和第三坐标点,计算得到目标对象移动的中心点;根据起始点、控制点以及中心点,形成笔迹区域,笔迹区域包括非笔锋笔迹区域;对非笔锋笔迹区域进行填充,得到非笔锋笔迹,并显示非笔锋笔迹。
第二计算单元305,具体可以用于根据第二坐标点和第三坐标点,计算得到目标对象移动的初始中心点;根据初始中心点、第二坐标点和第三坐标点,计算得到目标对象移动的候选中心点;根据初始中心点和候选中心点,计算得到目标对象移动的中心点。
由上可知,本申请实施例的获取单元301可以获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;第一计算单元302可以根据多个坐标点,计算目标对象移动的起始点和控制点;确定单元303可以根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;填充单元304可以用于对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹;由于本申请实施例通过目标对象在显示屏幕上的移动轨迹的坐标点,计算得到能够形成笔锋笔迹区域的起始点、控制点和第四坐标点,如此能够得到具有笔锋特征的笔迹。
本申请实施例还提供一种计算机设备,如图9所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和计算机程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息通讯,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
获取目标对象在显示屏幕上的移动轨迹,并获取位于移动轨迹上的多个坐标点;根据多个坐标点,计算目标对象移动的起始点和控制点;根据起始点、控制点以及坐标点,确定目标对象移动的笔迹区域,笔迹区域包括目标对象移动形成的笔锋笔迹区域;对笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种笔迹显示方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种笔迹显示方法中的步骤,因此,可以实现本申请实施例所提供的任一种笔迹显示方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种笔迹显示方法及相关装置,该相关装置包括笔迹显示装置、计算机设备和计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种笔迹显示方法,其特征在于,包括:
获取目标对象在显示屏幕上的移动轨迹,并获取位于所述移动轨迹上的多个坐标点;
根据所述多个坐标点,计算所述目标对象移动的起始点和控制点;
根据所述起始点、所述控制点以及所述坐标点,确定所述目标对象移动的笔迹区域,所述笔迹区域包括所述目标对象移动形成的笔锋笔迹区域;
对所述笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
2.根据权利要求1所述的笔迹显示方法,其特征在于,所述坐标点包括第一坐标点、第二坐标点、第三坐标点和第四坐标点;所述根据所述多个坐标点,计算所述目标对象移动的起始点和控制点,包括:
根据所述第一坐标点和所述第二坐标点,计算得到所述目标对象移动的起始点;
根据所述第一坐标点、所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的控制点;
所述根据所述起始点、所述控制点以及所述坐标点,确定所述目标对象移动的笔迹区域包括:根据所述起始点、所述控制点以及所述第四坐标点,确定所述目标对象移动的笔迹区域。
3.根据权利要求2所述的笔迹显示方法,其特征在于,所述根据所述第一坐标点和所述第二坐标点,计算得到所述目标对象移动的起始点,包括:
根据所述第一坐标点和所述第二坐标点,计算得到所述第一坐标点和所述第二坐标点之间的距离;
根据所述第一坐标点和所述第二坐标点之间的距离,以及所述坐标点的坐标轴,计算得到所述第一坐标点和所述第二坐标点之间的线段在所述坐标轴上的第一目标弧度;
根据所述第一目标弧度、目标对象在显示屏幕上的绘制宽度以及所述第一坐标点,计算得到所述目标对象移动的所述起始点。
4.根据权利要求3所述的笔迹显示方法,其特征在于,所述根据所述第一目标弧度、目标对象在显示屏幕上的绘制宽度以及所述第一坐标点,计算得到所述目标对象移动的所述起始点,包括:
根据所述第一目标弧度和所述目标对象在显示屏幕上的所述绘制宽度,计算得到第一差值点;
根据所述第一差值点和所述第一坐标点,计算得到所述目标对象移动的第一起始点;
根据所述第一起始点和所述第一坐标点,计算得到所述目标对象移动的第二起始点;
根据所述第一起始点和所述第二起始点生成所述目标对象移动的所述起始点。
5.根据权利要求2所述的笔迹显示方法,其特征在于,所述根据所述第一坐标点、所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的控制点,包括:
根据所述第一坐标点、所述第二坐标点和所述第三坐标点,计算得到所述第一坐标点和所述第二坐标点之间的距离,以及所述第二坐标点和所述第三坐标点之间的距离;
根据所述第一坐标点、所述第二坐标点、所述第三坐标点、所述第一坐标点和所述第二坐标点之间的距离,以及所述第二坐标点和所述第三坐标点之间的距离,计算得到第二差值点;
根据所述第二差值点和所述第二坐标点,计算得到所述目标对象移动的控制点。
6.根据权利要求5所述的笔迹显示方法,其特征在于,所述根据所述第二差值点和所述第二坐标点,计算得到所述目标对象移动的控制点,包括:
根据所述第二差值点和所述坐标点的坐标轴原点,计算得到所述第二差值点和所述坐标点的坐标轴原点之间的距离;
根据所述第二差值点和所述坐标点的坐标轴原点之间的距离、以及目标对象施加于所述显示屏幕上的压力,计算得到第三差值点;
根据所述第三差值点和所述第二坐标点,计算得到所述目标对象移动的控制点。
7.根据权利要求2所述的笔迹显示方法,其特征在于,所述根据所述多个坐标点,计算所述目标对象移动的起始点和控制点之后,所述方法还包括:
根据所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的中心点;
根据所述起始点、所述控制点以及所述中心点,形成所述笔迹区域,所述笔迹区域包括非笔锋笔迹区域;
对所述非笔锋笔迹区域进行填充,得到所述非笔锋笔迹,并显示所述非笔锋笔迹。
8.根据权利要求7所述的笔迹显示方法,其特征在于,所述根据所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的中心点,包括:
根据所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的初始中心点;
根据所述初始中心点、所述第二坐标点和所述第三坐标点,计算得到所述目标对象移动的候选中心点;
根据所述初始中心点和所述候选中心点,计算得到所述目标对象移动的中心点。
9.一种笔迹显示装置,其特征在于,包括:
获取单元,用于获取目标对象在显示屏幕上的移动轨迹,并获取位于所述移动轨迹上的多个坐标点;
第一计算单元,用于根据所述多个坐标点,计算所述目标对象移动的起始点和控制点;
确定单元,用于根据所述起始点、所述控制点以及所述坐标点,确定所述目标对象移动的笔迹区域,所述笔迹区域包括所述目标对象移动形成的笔锋笔迹区域;
填充单元,用于对所述笔锋笔迹区域进行填充,得到笔锋笔迹,并显示笔锋笔迹。
10.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至8任一项所述的笔迹显示方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至8任一项所述的笔迹显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111179590.5A CN113963361A (zh) | 2021-10-09 | 2021-10-09 | 一种笔迹显示方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111179590.5A CN113963361A (zh) | 2021-10-09 | 2021-10-09 | 一种笔迹显示方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113963361A true CN113963361A (zh) | 2022-01-21 |
Family
ID=79463341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111179590.5A Pending CN113963361A (zh) | 2021-10-09 | 2021-10-09 | 一种笔迹显示方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113963361A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115291789A (zh) * | 2022-08-03 | 2022-11-04 | 青岛海信移动通信技术股份有限公司 | 一种笔迹拟合方法、装置、终端设备和介质 |
-
2021
- 2021-10-09 CN CN202111179590.5A patent/CN113963361A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115291789A (zh) * | 2022-08-03 | 2022-11-04 | 青岛海信移动通信技术股份有限公司 | 一种笔迹拟合方法、装置、终端设备和介质 |
CN115291789B (zh) * | 2022-08-03 | 2024-04-26 | 青岛海信移动通信技术有限公司 | 一种笔迹拟合方法、装置、终端设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074437B2 (en) | Method, apparatus, electronic device and storage medium for expression driving | |
US10325398B2 (en) | Absolute age for a digital ink stroke | |
KR102279097B1 (ko) | 폰패드 | |
CN115731294A (zh) | 通过面部表情操纵远程化身 | |
JP2021174530A (ja) | ビデオフレームの処理方法及び処理装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN112233211A (zh) | 动画制作的方法、装置、存储介质及计算机设备 | |
WO2023213037A1 (zh) | 毛发虚拟模型的渲染方法、装置、计算机设备及存储介质 | |
CN114565701A (zh) | 线段绘制方法、装置、电子设备及计算机可读存储介质 | |
CN113963361A (zh) | 一种笔迹显示方法及相关装置 | |
CN114494046A (zh) | 触摸轨迹处理方法、装置、终端、存储介质及程序产品 | |
CN114742926A (zh) | 一种动画重定向方法、装置、计算机设备及存储介质 | |
CN108290071B (zh) | 用于在预测游戏者的意图的情况下确定用于执行绘制的资源分配的介质、装置、系统和方法 | |
CN109718554A (zh) | 一种实时渲染方法、装置及终端 | |
CN113838134A (zh) | 图像关键点检测方法、装置、终端和存储介质 | |
CN112581589A (zh) | 一种视图列表布局方法、装置、设备及存储介质 | |
CN112053416A (zh) | 图像处理方法、装置、存储介质及计算机设备 | |
CN111367443A (zh) | 一种信息交互方法、装置、电子设备和介质 | |
CN114863008B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113487704B (zh) | 一种燕尾箭头标的绘制方法、装置、存储介质及终端设备 | |
CN112686990B (zh) | 一种三维模型显示方法、装置、存储介质和计算机设备 | |
CN111507944B (zh) | 皮肤光滑度的确定方法、装置和电子设备 | |
CN105278833B (zh) | 信息的处理方法及终端 | |
CN113345059A (zh) | 动画生成方法、装置、存储介质及电子设备 | |
CN112783860A (zh) | 构造镜像数据库的方法、装置、存储介质及计算机设备 | |
CN112419145B (zh) | 一种图像数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |