[发明专利]结合笔压的毛笔字笔锋模拟方法有效
申请号: | 201310686612.6 | 申请日: | 2013-12-15 |
公开(公告)号: | CN103823628B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 林华;李蔚然;刘浩君 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F3/0488 | 分类号: | G06F3/0488;G06T11/80 |
代理公司: | 北京思海天达知识产权代理有限公司11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 结合笔压的毛笔字笔锋模拟方法应用于手写系统。本算法发明的主要目的在于分析不同毛笔字技法结合手写板笔压写毛笔字时的笔锋变化,并做不同的算法处理,达到真正的融合艺术感的毛笔字字体效果,而不是简单的手写效果。本算法应着重保护对于不同毛笔字技法所对应的笔锋实时生成模拟算法进行保护。 | ||
搜索关键词: | 结合 毛笔字 笔锋 模拟 方法 | ||
【主权项】:
结合笔压的毛笔字笔锋模拟方法,其特征在于,包括如下步骤:步骤101:获取输入数据:通过获取笔压的设备,录入书写者的行笔轨迹;每一次传入的数据包中应包括:(1)当前笔压Press,数值范围是1‑100,笔压为0时表示没有接触到手写板;对于笔压Press为0的数据不进行任何处理,继续获取下一个手写板包数据;同时所有笔压都需要进行重新计算,笔压对应函数其中x为输入笔压,y为输出笔压,(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:输出:将整个图像存储成图像显示到屏幕上即可。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310686612.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种治疗白血病的新药及其制备方法
- 下一篇:一种混凝土输送管道减震支架