一种手写原笔迹曲线平滑的实现方法技术

技术编号:26169631 阅读:76 留言:0更新日期:2020-10-31 13:33
本发明专利技术公开了一种手写原笔迹曲线平滑的实现方法,获取手写笔的原始采样点坐标和压力值;通过平滑拟合算法对采样点进行拟合,获取笔划轨迹,得到平滑的坐标点;根据采样点压感计算笔宽,即经过采样点需要的笔宽;分别计算过两个采样点连线的垂线段,以采样点为中心,以笔宽为线段长;得到线段的四个关键点坐标;用贝塞尔曲线将四个关键点连接形成一个封闭图形,填充整个图形。本发明专利技术保证了每个点都是连接在一起的,宽度的改变是平滑的,放大也是平滑的,不会产生竹节结果。笔迹平滑圆润,笔锋变化均匀,笔锋平滑无竹节现象,书写手感丝滑、流畅、可控。

【技术实现步骤摘要】
一种手写原笔迹曲线平滑的实现方法
本专利技术涉及电子绘制
,具体涉及一种手写原笔迹绘制过程中曲线的平滑绘制及笔锋效果的实现方法。
技术介绍
现在支持手写笔的屏、平板、手机越来越多,手写输入技术也让原始的笔纸有了替代品,人们希望电子笔迹更符合实际纸上笔迹效果。但是,现有的相关技术还无法使得电子笔迹与实际纸上笔迹近似,还无法满足用户的书写需求。现有的手写笔迹算法使用的是曲线拟合算法,如贝塞尔,是先将采集到手写笔样点的坐标和压力值存储,然后拟合这些采样点。为了绘制出近似曲线,需要将曲线上的每一个点根据采样点坐标与压力值计算且绘制出来。但是,由于曲线上的点非常多,绘制效率慢,数据存储量大,将数据放大后会出现明显的笔划竹节效果(如图1所示)。
技术实现思路
本专利技术提供一种笔迹填充算法,解决笔迹的书写过程中由采样点压力的变化引起笔宽变化引起的不平滑过渡现象,以达到书写过程中更流畅真实的还原笔迹效果,提高用户书写体验。为实现上述目的,本专利技术采用以下技术方案。一种手写原笔迹曲线平滑的实现方法,其步骤如下:1)获取手写笔的原始采样点坐标和压力值;2)通过平滑拟合算法对采样点进行拟合,获取笔划轨迹,得到平滑的坐标点;3)根据采样点压感计算笔宽,即经过采样点需要的笔宽;4)分别计算过两个采样点连线的垂线段,以采样点为中心,以笔宽为线段长,得到线段的四个关键点坐标;5)用贝塞尔曲线将四个关键点连接形成一个封闭图形,填充整个图形。本专利技术保证了每个点都是连接在一起的,宽度的改变是平滑的,放大也是平滑的,不会产生竹节结果。笔迹平滑圆润,笔锋变化均匀,笔锋平滑无竹节现象,书写手感丝滑、流畅、可控。附图说明图1是本专利技术的方法流程图;图2为手写笔原始采样点示意图;图中:s1,s2,s3...sn为原始采样点。图3为原始采样点经过拟合后的平滑采样点示意图;图中:p1,p2,p3...pn为拟合后的平滑采样点。图4为本专利技术实施例中计算平滑采样点p2与p3的中间点p23坐标和压感的示意图;图5为本专利技术实施例中计算平滑采样点p1和中间点p23时笔宽w的示意图;图6为本专利技术实施例中分别以平滑采样点p1和中间点p23为中点,以笔宽w1和笔宽w23为长度,所作与平滑采样点p1和中间点p23两点间直线示意图;图中:A、B、C和D为垂直线段的端点。图7为本专利技术实施例中计算垂直线段的端点A-B、B-C、C-D和D-A四条边连续三次贝塞尔曲线所需控制点的示意图;图中:c1、c2、c3、c4、c5、c6、c7和c8为控制点。图8为本专利技术实施例中端点A-B、B-C、C-D和D-A四条边绘制塞尔曲线后的轮廓示意图;图9为本专利技术实施例中按照端点A-B、B-C、C-D和D-A四条边绘制塞尔曲线后的填充示意图;图10是曲线拟合算法笔迹压力变化绘制表现的竹节效果图;图11是本专利技术实施例中的笔迹压力变化表现的效果图。具体实施方式以下结合附图和实施例对本专利技术做进一步说明。参见图1至图11,一种手写原笔迹曲线平滑的实现方法,其步骤如下(如图1所示):1)获取手写笔的原始采样点坐标和压力值;2)通过平滑拟合算法对采样点进行拟合,获取笔划轨迹,得到平滑的坐标点;3)根据采样点压感计算笔宽,即经过采样点需要的笔宽;4)分别计算过两个采样点连线的垂线段,以采样点为中心,以笔宽为线段长,得到线段的四个关键点坐标;5)用贝塞尔曲线将四个关键点连接形成一个封闭图形,填充整个图形。实施例:获取手写笔的原始采样点记为s1,s2,s3...sn,采样点s1表示为s1(x1,y1,q1),x1为当前采样点横坐标,y1为当前采样点纵坐标,q1为当前采样点压力值,以此规律sn表示为sn(xn,yn,qn)(如图2所示)。1)将s1,s2,s3...sn进行平滑拟合后得到平滑后的拟合点p1,p2,p3...pn,pn表示为(xn,yn,qn)(如图3所示)。2)根据笔宽计算公式w=kq,w为笔宽,k为预设笔宽常数,q为压力值。通过计算可以得到p1,p2,p3...pn每个拟合点的笔宽w1,w2,w3...wn。3)计算p2,p3两拟合点的中点p23,x23=(x2+x3)/2,y23=(y2+y3)/2,q23=(q2+q3)/2,p23(x23,y23,q23)(如图4所示)。4)根据第3步的笔宽计算公式,计算出p1的笔宽为w1,p23的笔宽为w23(如图5所示)。5)根据p1,p23两点坐标确定一条直线,计算以p1,p23两点为中点,长度为w1,w23的关于这条直线的垂直线段,取两线段端点坐标表示为A,B,C,D(如图6所示)。6)在A到B,C到D画三次贝塞尔曲线,需要计算贝塞尔曲线控制点c1,c2,c5,c6,以p2为中点,长度为w1画关于p1,p23的垂直线段,取两端点坐标计为c1,c5,再以p2为中间,长度为w23画关于p1,p23的垂直线段,取两端点坐标计为c2,c6。A-B贝塞尔曲线关键点A,c1,c2,B,C-D贝塞尔曲线关键点C,c5,c6,D(如图7所示)。7)在B到C画三次贝塞尔曲线,需要计算贝塞尔曲线控制点c3,c4,沿p1,p23连接的直线将线段B-C平移w23/2个距离,得到控制点坐标c3,c4。B-C贝塞尔曲线的关键点B,c3,c4,C(如图7所示)。8)在D到A画三次贝塞尔曲线,需要计算贝塞尔曲线控制点c7,c8,沿p1,p23连接的直线将线段D-A平移w1/2个距离,得到控制点坐标c7,c8。D-A贝塞尔曲线的关键点D,c7,c8,A(如图7所示)。9)将A-B,B-C,C-D,D-A的贝塞尔曲线路径围成的区域填充,如图8展示区域轮廓,图9展示填充后的效果。本专利技术在绘制两点宽度渐变时,不需要通过画贝塞曲线上的所有点不停的改变点的直径,再将所有点连接成线;只需要确定几个点坐标,就能将中间的内容一次性填充,不停改变点的直径放大会出现竹节式的宽度变化结果。保证了每个点连接在一起,并且宽度的改变也是平滑的,放大效果也是平滑的,不会产生竹节结果(如图10所示)。笔迹压力变化平滑圆润,笔锋变化均匀(如图11所示),书写手感丝滑、流畅、可控。本文档来自技高网...

【技术保护点】
1.一种手写原笔迹曲线平滑的实现方法,其特征在于,其步骤如下:/n1)获取手写笔的原始采样点坐标和压力值;/n2)通过平滑拟合算法对采样点进行拟合,获取笔划轨迹,得到平滑的坐标点;/n3)根据采样点压感计算笔宽,即经过采样点需要的笔宽;/n4)分别计算过两个采样点连线的垂线段,以采样点为中心,以笔宽为线段长,得到线段的四个关键点坐标;/n5)用贝塞尔曲线将四个关键点连接形成一个封闭图形,填充整个图形。/n

【技术特征摘要】
1.一种手写原笔迹曲线平滑的实现方法,其特征在于,其步骤如下:
1)获取手写笔的原始采样点坐标和压力值;
2)通过平滑拟合算法对采样点进行拟合,获取笔划轨迹,得到平滑的坐标点;
3)根据采样点压...

【专利技术属性】
技术研发人员:刘鹏刘勇军徐根英
申请(专利权)人:江西金格科技股份有限公司
类型:发明
国别省市:江西;36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1