[发明专利]结合笔压的毛笔字笔锋模拟方法有效
申请号: | 201310686612.6 | 申请日: | 2013-12-15 |
公开(公告)号: | CN103823628B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 林华;李蔚然;刘浩君 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F3/0488 | 分类号: | G06F3/0488;G06T11/80 |
代理公司: | 北京思海天达知识产权代理有限公司11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结合 毛笔字 笔锋 模拟 方法 | ||
1.结合笔压的毛笔字笔锋模拟方法,其特征在于,包括如下步骤:
步骤101:获取输入数据:通过获取笔压的设备,录入书写者的行笔轨迹;
每一次传入的数据包中应包括:(1)当前笔压Press,数值范围是1-100,笔压为0时表示没有接触到手写板;
对于笔压Press为0的数据时不进行任何处理,继续获取下一个手写板包数据;
同时所有笔压都需要进行重新计算,笔压对应函数
(2)当前鼠标坐标Position[i]=(x,y),i=0~4,保留最少5个最新数据;5个坐标数据产生4个向量,进而计算出3个向量夹角:
手写板实际还是操作鼠标的移动,所以实际传入的是当前鼠标在屏幕中的像素坐标,范围宽度应该是0-屏幕宽像素,高度为0-屏幕高像素;
当某些手写板像素坐标使用的是(0-1,0-1)相对范围,需要在数据处理模块中进行转换;
步骤102:处理输入数据:硬件设备只提供了两种数据:笔压Press和位置Position;其他衍生数据需要在处理模块中进行处理;
具体详细数据及计算方式如下:
帧间距离Dis:获取两个数据包中传入的坐标,按照两点距离公式:计算出距离,其中i=0~4,当Dis的累加数据小于100,从0开始保存之前的五组数据,Dis数据初始值为-1,笔压为0时清零Dis数据,全部赋初值-1;单位为:像素;x,y指的是像素坐标;
Dis的距离累加值DisCum小于100可能是设备不稳定造成的,数据不能用;
距离累加值DisCum:Dis数组5个值的累加,用于在落笔阶段判断移动距离是否超过了阈值;阈值为屏幕宽度的8%;
当前行笔方向夹角:记录行笔轨迹转过的角度,通过保留的5个坐标位置数据包,得出4个向量,进而计算出角度,根据平面向量夹角公式:设两向量分别为a=(a1,a2),b=(b1,b2),那么他们之间的夹角为之后利用arccosα即可得出夹角α;按照顺序依次存储4个角度在数组中,数组初值为-1,代表没有赋值;
行笔夹角累加值:数组中角度的累加,即五个数据包内笔画转过的角度;
记录笔压变化,两次数据包之间的变化值,为正值说明笔压在增大,为负值说明笔压在减小;
图像类型数组:为数组类型,每一个数组变量存储一个笔刷图像;
步骤103:分析输入数据:根据不同的落笔数据和抬笔数据做不同的算法处理;首先是笔的选择,不同的笔对应了不同的落笔墨点,在落笔的方式不同时要有不同的效果;落笔的效果通过显示实验获得;
根据笔压的变化量进行判断,首先判断笔压Press从0到有数值,笔压变化量PressDis为正值说明是落笔过程,故在笔压有数值的那个包的时间算起,1.5秒内都强制进入步骤103-1;笔压变化量为负,最终笔压为0则为提笔过程,进入步骤103-2,其他情况进入行笔步骤103-3;
步骤103-1:落笔过程判断:落笔在毛笔书法中分两大类,藏锋和露峰,藏锋中分为垂直落笔和笔尖环绕法藏锋;
处理上分两种情况,由帧间距离数组Dis来判断,当Dis五个数据累加值DisCum,超过阈值,阈值为屏幕像素宽度的8%;
当DisCum值超过阈值时,不需要更换笔刷,起笔阶段按照选择的笔型,随机使用Pen数组中一个笔刷图案作为笔刷,笔刷大小按照笔压函数对应的值变化即可;
当DisCum没有超过阈值时,判断为垂直落笔的藏锋,,那么每2个数据包就更换一次笔刷样式;
当前笔刷样式需要在笔刷Pen类型中按照笔的分类,在分类下进行随机选取,每经过两个数据包当前笔刷样式就需要更换一次,直到落笔阶段结束;转到步骤104;
步骤103-2:提笔部分:提笔同样分为露峰和藏锋,藏锋部分与行笔相同处理,提笔藏锋时笔刷大小按照笔压函数对应的值减小即可;
提笔露峰分为两种,第一种是正常的出峰,一种是折峰,具体算法为:判断PenRCum夹角累加值,小于90就是正常的出峰,笔刷按照笔压对应函数减少即可;
PenRCum值大于90就是折峰,对于折峰,从PenRCum超过90度的数据包开始计算,向前倒推,找到PenRCum值不足90度的点作为起始点,PenRCum超过90度后当前点为第5号点,向前倒推不足90度的点为第2点,故从第2点开始,与后续所有数据包每两个数据包皆与起始点即2号点形成连线三角形,后续数据包为3,4,5号点,那么形成的三星形为2,3,4和2,4,5两个三角形,同时填充.形成厚重的折峰;转到步骤104;
步骤103-3:,行笔期间按照笔压大小,调整笔刷大小进行排列即可;转到步骤104;
步骤104:输出:将整个图像存储成图像显示到屏幕上即可。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310686612.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种治疗白血病的新药及其制备方法
- 下一篇:一种混凝土输送管道减震支架