专利名称:电子毛笔书写方法及系统的制作方法
技术领域:
本发明涉及计算机图形处理技术领域,特别涉及一种电子毛笔书写方法及系统。
技术背景
中国毛笔书法是一门古老而深邃的艺术,是中华民族艺术宝库中一颗璀灿夺目的明珠,它伴随着中华文明的发展而发展。在计算机高速发展的今天,人们希望能使书法与时俱进,与现代科技相融合,如何在计算机上逼真的模拟出毛笔的书写效果是很多专家学者研究的方向。在众多的相关研究工作中,模拟毛笔书写笔迹主要的方法是采用硬件来获取输入数据,通过软件算法来对这些数据进行修正处理,以实现毛笔书写的效果,达到模拟真实毛笔动作的目的,如采用光导纤维来模拟倒立的毛笔笔头,通过在毛笔上添加传感器来捕捉捕获位置、压力等数据,并将这些数据转换成毛笔的各个参数,然后通过一系列的软件修正算法,来修正笔迹形状,模拟笔迹的书写效果。这些实现方法中,需要专用于毛笔笔迹的书写的硬件设备,设备成本高,同时,运笔过程中的“提按使转”无法得以体现,毛笔书写运行过程中若没有提按的参与,书法线条将是直来直去,僵硬呆板,线条质量就很差,甚至达不到书法艺术最起码的要求。
现有技术中,运笔的轨迹是通过触摸笔在设备屏幕上划过而留下的轨迹,当触摸笔在设备屏幕上移动时,设备会以触摸事件的方式通知相应的处理软件当前触摸笔的位置、压力、时间、倾斜率等信息,由于设备的CPU处理能力和事件通知的机制,导致设备通知触摸事件的间隔并不均衡,当触摸笔的运行速度很慢时,触摸事件会很频繁,这样会导致笔迹在同一个区域重叠绘制,浪费CPU资源,而且,由于用户书写过程有抖动,如果每个像素的移动都进行绘制,则形成的笔迹有很多褶皱,不平滑;而当触摸笔运动很快时,触摸事件则会很少,这样会导致笔迹不连续。在笔画的转折或弯折处,若此时绘制笔形的角度没有变化,那么在笔画转折或弯折处的笔迹将会和真实的毛笔笔画相差甚远,使得电子毛笔书写的模拟程度不高,缺乏真实感。且在转弯处容易出现突起,因此,需要考虑增加基于物理力学模型,使笔形能够变化。根据对现有的毛笔模拟状态和成果的研究,一般对毛笔笔形变化的模拟均基于三维空间进行,有以圆锥笔形模拟笔头,有的研究每个笔毛的变形,有的将笔毛分成多簇,研究每一簇的中心骨架变形。在力学算法方面,有利用弹簧力量计算,也有通过能量最小化计算,都需要对受力进行细致的分析以及大量的积分运算。通过三维空间模拟笔头的变形,在模拟毛笔的真实感效果上比二维方式要好很多,但是三维模拟需要大量运算,对于常规的PC机来说都不能满足其流畅运行的需要,更不用说对于运算能力比较低的手持设备了,因此,虽然三维方式模拟更逼真,表现力更强,但对于手持设备来说可用性不高。
由以上可知,在运算能力较低的手持设备上进行电子毛笔书写时生成出模拟程度不高,真实感强的毛笔笔迹是亟待解决的问题。发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何在运算能力较低的手持设备上生成出模拟程度较高,真实感强的电子毛笔书写笔迹。
( 二 )技术方案
为解决上述技术问题,本发明提供了一种电子毛笔书写方法,包括以下步骤
Sl 根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两触摸点的距离;
S2 若所述距离小于预定阈值,则按所述预定阈值为间距获取触摸点;若所述距离大于所述预定阈值,则在相邻两个触摸点之间插入插值点;
S3:根据所述触摸轨迹上的点绘制预先设置的笔形以生成笔迹,在触摸轨迹的转弯处按触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度绘制当前笔形。
其中,所述步骤S2中插入插值点的过程如下
S2. 1 以触摸点为控制点计算贝塞尔曲线轨迹;
S2. 2 根据以下公式计算插值点Γ π . dis tan ce ,
insertLount =-χ number _ per _ shapewidth— —
其中,insertCount为两点间插值点个数,distance为沿贝塞尔曲线轨迹方向上距离已插值部分最近的一个触摸点到其前一点的距离,width为已插值部分绘制的最后一个笔形的宽度,number_per_shape为每个笔形需要绘制的点的个数;
S2. 3 判断insertCount是否小于1,若小于1,则增加已插值的贝塞尔曲线的长度,跳转到步骤S2. 2,否则执行步骤S2. 4 ;
S2. 4stepLength = distance/insertCount ;
S2. 5 按所述步长在所述贝塞尔曲线轨迹上长度为上述distance的部分上插入一个占.I /…
S2. 6 重复执行步骤S2. 2 S2. 5,直到最后一个触摸点。
其中,所述步骤S2. 1中计算贝塞尔曲线轨迹的方式为以当前点的前一点为控制点,从当前点的前二点向当前点与当前点的前一点的中点计算贝塞尔曲线轨迹。
其中,当已插值的贝塞尔曲线到达最后一个触摸点与其前一触摸点的中点时,在所述最后一个触摸点到其与其前一触摸点的中点的直线轨迹上按所述步骤S2. 2 步骤 S2. 6进行直线插值。
其中,所述步骤S3中,触摸设备获得当前笔形的笔形角度的方式为触摸设备的触摸屏检测触摸笔在屏幕平面上投影线与屏幕X轴的夹角,以所述夹角为当前笔形的笔形角度。
其中,所述步骤S3中,笔迹出现顿笔或回锋的情况时,笔形角度即为所述行进角度,否则按如下公式计算得到当前笔形的笔形角度Angle
Angle = Angl eprev+Angl ediff X TrunRat i οΓηη9 TrunRatio =---τL 」VEERxPprev2
其中,TrunRatio为角度调整的比例,VEER为预设转折或弯折处笔迹上的点数,Pprev为前一点的压力值,Anglepra为前一点处笔形角度,Angkdiff为当前点与前一点的笔迹的行进角度的角度差。
其中,步骤S3中在绘制所述笔形时,还包括对所述笔形的变形,具体为若达到预设的变形条件,则按如下步骤对所述笔形进行变形以所述笔形的对称轴线上的质点根据预先设计的弹簧质点模型对所述质点进行迭代积分,得到所述变形后质点的坐标;根据变形后质点的坐标计算笔形边缘的坐标;根据笔形边缘坐标绘制变形后的笔形,所述预设的变形条件为在除顿笔和回锋的转弯笔迹处,笔形宽度大于预设的最小笔形宽度值和最短的质点间距离的较大值,且笔形角度和行进角度相差在60° 90°。
其中,以变形前笔形的对称轴线为笔形骨架,笔形形状的计算方式如下
在对称轴线上靠近笔尖的一端,按以下公式计算笔形边缘的点
R = ^lxUrs-I2
其中,R为笔形边缘点到对称轴线的距离,1为沿对称轴线从笔尖到当前点的距离,rs为靠近笔尖的小圆的半径,所述小圆的圆心为对称轴线上靠近笔尖一端的点;
在对称轴线上靠近笔杆的一端,按以下公式计算笔形边缘的点
R = ^jrs2 -(I-h-rbf
其中,rb为靠近笔杆的大圆的半径,所述大圆的圆心为对称轴线上靠近笔杆一端的点,h为大圆圆心和小圆圆心之间的距离;
在对称轴线对应长度为h的一段上,按以下公式计算笔形边缘的点r π π (rb - rs) χ (I- rs)
R = --—-- + rs]h
以所述边缘点为控制点采用贝塞尔曲线连接所述边缘点,大圆半径
rb = WXpressure
根据如下公式确定笔尖方向的小圆半径和h
rs = rb XkX pressure
h = HXpressure
其中,H表示预设的最大笔行长度,k为形状比例参数,取值为0 1的浮点数, pressure为触摸屏感应的压力值,该值为量化到0 1浮点数。
本发明提供了一种电子毛笔书写系统,包括
触摸点计算模块,用于根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两坐标点的距离;
插值模块,用于若所述距离小于预定阈值,则按所述预定阈值为间距的获取触摸点;若所述距离大于所述预定阈值,则在相邻两个触摸点之间插入插值点;
笔迹生成模块,用于根据所述触摸轨迹上的点绘制预先设置的笔形以生成笔迹, 在触摸轨迹的转弯处按触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度绘制当前笔形。
其中,该系统还包括
笔形变形模块,若达到预设的变形条件,用于按如下步骤对所述笔形进行变形以所述笔形的对称轴线上的质点根据预先设计的弹簧质点模型对所述质点进行迭代积分,得到所述变形后质点的坐标;根据变形后质点的坐标计算笔形边缘的坐标;根据笔形边缘坐标绘制变形后的笔形,所述预设的变形条件为在除顿笔和回锋的转弯笔迹处,笔形宽度大于预设的最小笔形宽度值和最短的质点间距离的较大值。
(三)有益效果
通过本发明的方法当触摸笔的运行速度很慢时,减少触摸点的个数,避免了笔迹在同一个区域重叠绘制导致的褶皱,同时节省了 CPU资源;而当触摸笔运动很快时,采用插值法进行插值,使得手写输入的毛笔笔迹平滑、连续;在笔迹的转折或转折处时对笔形进行适当的角度控制,并基于弹簧质点模型的笔形变形方法,实现了对毛笔笔形流畅的变形,从而提高了电子毛笔书写的笔迹在笔画转折或弯折处的模拟程度和真实感。
图1是本发明实施例的一种电子毛笔书写方法流程图2是图1的方法中生成笔迹时采用直线插值方法的示意图3是图1的方法中生成笔迹时不需要笔形变形时的笔形示意图
图4是图1的方法中触摸屏设备获取笔形角度的示意图5是图1的方法中生成笔迹时需要笔形变形时所采用的笔形模型示意图(未变形时的形状);
图6是笔形变形时所采用的弹簧质点模型示意图7是笔形变形时的笔形变形示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
步骤S101,根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两坐标点的距离。触摸笔在触摸设备的触摸屏上书写时触摸设备会记录触摸笔的位置坐标、压力等信息。 由于触摸笔是运动的,触摸笔的位置坐标形成一个连续的运动轨迹,触摸设备会根据触摸笔的运动速度记录若干触摸点。得到这些触摸点后根据其坐标计算相邻触摸点之间的距1 O
步骤S102 判断上述距离是否小于预定阈值,若小于该阈值,则按该阈值为间距的获取触摸点。由于设备的CPU处理能力和事件通知的机制,导致设备通知触摸事件的间隔并不均衡,当触摸笔的运行速度很慢时,触摸事件会很频繁,导致上述距离会小于预定阈值,这样会导致笔迹在同一个区域重叠绘制。因此对于这种情况,直接以阈值为间距的获取触摸点避免了在同一个区域重叠绘制而且可以保证最终生成的笔迹连续、平滑,同时节省了 CPU资源。当触摸笔的运行速度很快时,触摸设备CPU捕捉到的触摸事件会很少,因此触摸点也很少,若按这些触摸点去绘制笔形,那么生成的笔迹将不连续,为了避免这种情况的发生,本发明在相邻两个触摸点之间插入若干插值点。插值的方法如下
采用贝塞尔曲线插值法,可以克服直线插值法中两条直线之间有一个明显的转折的问题,插值示意图如图2所示,插值步骤如下
步骤1,以触摸点为控制点计算贝塞尔曲线轨迹,本实施例中,计算贝塞尔曲线轨迹的方式为以当前点的前一点为控制点,从当前点的前二点向当前点与当前点的前一点的中点计算贝塞尔曲线轨迹。
步骤2,根据以下公式计算插值点Γ π . dis tan ce ,
insertLount =-χ number _ per _ shapewidth— —
其中,insertCount为两点间插值点个数,distance为沿贝塞尔曲线轨迹方向上距离已插值部分最近的一个触摸点到其前一点的距离,width为已插值部分绘制的最后一个笔形的宽度,number_per_shape为每个笔形需要绘制的点的个数。
如图2所示,P0、P1、P2、P3为连续的几个触摸点,P3为当前点,当P3触摸事件发生时,笔迹已经处理到IPLO位置(即已插值到IPLO点),此时,计算IPLO到P2间的插值点, 根据最后显示笔形宽度width和预设的每个笔形需要绘制的点的个数nUmber_per_Shape, 采用上述公式计算IPLO和P2两点间插值点个数,其中,distance为从IPLO到P2的曲线长度。
步骤3,判断insertCount是否小于1,若小于1,则增加已插值的贝塞尔曲线的长度,跳转到步骤2,否则执行步骤4。
步骤4,计算插值点的插值步长st印Length = distance/insertCount。
步骤5,按所述步长在所述贝塞尔曲线轨迹上长度为上述distance的部分上插入——个占I ;^ O
步骤6,重复执行步骤2 步骤5,直到最后一个触摸点。由于上述计算贝塞尔曲线轨迹的特殊性(贝塞尔曲线绘制总是从当前点的前二点绘制到当前的前一点与当前点的中点,因此,该中点与当前点之间总是不能被处理),在重复过程中,当已插值的贝塞尔曲线到达最后一个触摸点与其前一触摸点的中点时,在最后一个触摸点到其与其前一触摸点的中点的直线轨迹上按步骤2 步骤6进行。
上述两种插值方式中,width有下限20像素和上限预设值80像素,否则当width 太小时会导致插入点太多而影响性能,width太大则插入点过少,轨迹不平滑。改变参数 number_per_shape可以改变笔形的密度,此值设置大则密度大,显示笔迹平滑紧密,但会导致运行速度变慢,此值设置小,运行速度提高,但可能导致笔迹不平整,甚至不连续,根据实验,优选设置为5到10比较合适。
步骤S103,根据触摸轨迹上的点绘制预先设置的笔形以生成笔迹。笔形模型如图 3所示,具体绘制方式如下
根据预设的最大笔宽W(取值为10 100像素)和当前触摸设备感应的压力确定笔形沿笔杆方向的大圆半径
d2 = WXpressure
当在计算插值点时,若2Xd2在20 80像素的范围内,width的倌即为2Xd2, 2Xd2 小于 20 时,width 取 20,2Xd2 大于 80 时,width 取 80。
根据如下公式确定笔尖方向的小圆半径
dl = d2 XkX pressure
在两个圆的同一侧分别绘制一条与两圆都相切的直线,以形成封闭的形状,在两圆的直径和两切线形成梯形,梯形的高度为
h = HXpressure
其中,H(取值为10 100像素)表示预设的最大笔形长度,k为形状比例参数,取值为0 1的浮点数,pressure量化到0 1浮点数。
传统的书法技法要求笔杆的方向要朝向运笔的方向,也就是顺峰行笔,但实际情况很多时候并不是这种情况,或者说不太可能严格按照这种要求去做,比如在写横笔时,往往是先向下顿笔,然后向右侧峰行笔,在逐渐转向顺峰行笔,如果再顿笔后突然将笔杆变为横向,书写效果不好,而且也不易做到,因此,很多情况下毛笔的笔杆方向与运笔方向是不同的。为了使在生成笔迹的转折或弯折处有较高的模拟程度和真实感,在转折或弯折处需要对笔形进行角度控制,具体方式如下当绘制笔迹到笔画的转折或弯折处时,获取触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度。
如果触摸设备的触摸屏支持触摸笔的倾斜角度检测,则笔形角度的计算可以根据倾斜角计算,从毛笔的物理形状上可以看出,笔尖总是朝向笔杆的反方向的,因此,只要知道触摸笔在屏幕平面上投影就能计算出笔形角度,如图4所示,角R为设备提供的触摸笔在 XY平面上投影与X轴的夹角,也就是当前点处的笔形角度,即当前笔形角度。
通常情况下笔杆的倾斜率与笔形角度相等,但也不是绝对的,考虑以下情况,当毛笔进行调峰或者逆峰行笔时,则笔杆的倾斜率与笔形角度不同,甚至相反,因此,还要与行笔方向一起综合考虑来确定笔形方向。当行笔方向与笔杆倾斜角度差值小于等于90°时, 笔形角度等于笔杆在书写平面上的投影线与X轴的夹角,当行笔方向与倾斜角度差值大于 90°时,笔形角度与笔杆的倾斜角度相反。
对于不支持触摸笔倾斜率检测的设备来说,笔形角度的计算只能通过笔迹的行进角度来推算。笔迹的行进角度为笔迹上当前点与下一点的连线与X轴的夹角,该笔迹为直线笔迹或曲线笔迹。若为曲线笔迹时,优选地,行进角度为曲线笔迹上当前点的切线与X轴的夹角。下面简单介绍一下笔迹曲线的插值方法。
多数情况下,笔形角度与行进角度相等。因此以行进角度作为笔形角度。顺峰行笔是笔法的基本要求,因此顺锋时行进角度即为笔形角度。
在笔迹出现转折或弯折时,若是顿笔或回锋情况发生则笔形角度就为行进角度。
判断当前点是否为顿笔,若笔迹上前一点(本文中“前一点”或“当前点”之类的术语指的是生成笔迹时笔迹上的触摸点或插值点)与当前点的压力比值小于预设阈值,如 0. 7,并且当前点压力大于预设压力值,如0. 65,则认为发生顿笔,顿笔时笔形角度与笔迹的行进角度一致。
判断当前点是否为回峰,若笔迹上当前点和前一点的角度差大于预设角度阈值 (如170° ),则认为发生回锋,回锋时笔形角度与笔迹的行进角度一致。否则可以按如下过程计算笔形角度Angle:
Angle = Angl eprev+Angl ediff X TrunRat i ο
TrunRatio = 1 2VEERxPprev
其中,TrunRatio为角度调整的比例,VEER为预设转折或转折处笔迹上的点数, Pprev为前一点的压力值,Anglepra为前一点处笔形角度,Angkdiff为当前点与前一点的笔迹的行进角度的角度差。
在笔迹转折或弯折处,获取到笔形角度后根据该笔形角度绘制当前笔形。
通过对笔形进行角度控制后,在笔迹的转弯处有较高的真实感,但是由于笔形单一且没有变化,与毛笔柔软、灵活多变的特性不符,在转弯处容易出现突起,因此,需要考虑增加基于物理力学模型,使笔形能够变化,以使得生成的笔迹有更高的真实感。
只有符合条件的一些转弯才需要通过变形来完善书写效果,弥补图形模型的不足,因此设置了是否需要变形的标志,当进行一个触摸点的处理时,首先判断是否需要变形,判断的条件和过程如下
如果是顿笔则不需要变形,因为顿笔应该立刻转变方向,平面变形的效果不好;
如果是回峰则不需要变形,因为回峰是在垂直面进行变形,基于平面的变形技术很难模拟;
如果笔形宽度太小则不需要变形,因为宽度太小变形没有效果,浪费CPU资源,此处比较的宽度值,有两个参数控制,一个是预设的最小笔形宽度值,另外一个是最短的质点间距离,也就是最靠近笔尖的两个质点距离,小于这个距离则没有弹簧参与计算,不能计算出变形量,笔形宽度将与这两个参数中较大的做比较,且转弯处的笔形角度和行进角度相差在60° 90°。
如果当前点与前一点的偏转角度在预设的阀值内则需要变形,否则不需要,此处的角度阀值可以根据经验和实验结果确定。
若达到上述变形条件时按如下步骤对所述笔形进行变形
以笔形的对称轴线上的质点根据预先设计的弹簧质点模型对所述质点进行迭代积分,得到所述变形后质点的坐标。
本实施例中,质点在笔形对称轴线上的设计如图5所示,只要考虑笔形的对称轴线的变形就能够确定整个形状。在质点的确定上,选择一种不等距离的方式,这种方式能够更好的模拟笔尖更软而笔根部更硬的事实情况,即对称轴线上的质点在靠近笔尖处相对密集,在靠近笔杆处相对稀疏。每个质点的质量相同,质点间距离的选择按照如下公式确定
权利要求
1.一种电子毛笔书写方法,其特征在于,包括以下步骤51根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两触摸点的距离;52若所述距离小于预定阈值,则按所述预定阈值为间距获取触摸点;若所述距离大于所述预定阈值,则在相邻两个触摸点之间插入插值点;S3:根据所述触摸轨迹上的点绘制预先设置的笔形以生成笔迹,在触摸轨迹的转弯处按触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度绘制当前笔形。
2.如权利要求1所述的电子毛笔书写方法,其特征在于,所述步骤S2中插入插值点的过程如下S2. 1 以触摸点为控制点计算贝塞尔曲线轨迹;S2. 2 根据以下公式计算插值点
3.如权利要求2所述的电子毛笔书写方法,其特征在于,所述步骤S2.1中计算贝塞尔曲线轨迹的方式为以当前点的前一点为控制点,从当前点的前二点向当前点与当前点的前一点的中点计算贝塞尔曲线轨迹。
4.如权利要求3所述的电子毛笔书写方法,其特征在于,当已插值的贝塞尔曲线到达最后一个触摸点与其前一触摸点的中点时,在所述最后一个触摸点到其与其前一触摸点的中点的直线轨迹上按所述步骤S2. 2 步骤S2. 6进行直线插值。
5.如权利要求1所述的电子毛笔书写方法,其特征在于,所述步骤S3中,触摸设备获得当前笔形的笔形角度的方式为触摸设备的触摸屏检测触摸笔在屏幕平面上投影线与屏幕 X轴的夹角,以所述夹角为当前笔形的笔形角度。
6.如权利要求1所述的电子毛笔书写方法,其特征在于,所述步骤S3中,笔迹出现顿笔或回锋的情况时,笔形角度即为所述行进角度,否则按如下公式计算得到当前笔形的笔形角度Angle
7.如权利要求1 6中任一项所述的电子毛笔书写方法,其特征在于,步骤S3中在绘制所述笔形时,还包括对所述笔形的变形,具体为若达到预设的变形条件,则按如下步骤对所述笔形进行变形以所述笔形的对称轴线上的质点根据预先设计的弹簧质点模型对所述质点进行迭代积分,得到所述变形后质点的坐标;根据变形后质点的坐标计算笔形边缘的坐标;根据笔形边缘坐标绘制变形后的笔形,所述预设的变形条件为在除顿笔和回锋的转弯笔迹处,笔形宽度大于预设的最小笔形宽度值和最短的质点间距离的较大值,且笔形角度和行进角度相差在60° 90°。
8.如权利要求7所述的电子毛笔书写方法,其特征在于,以变形前笔形的对称轴线为笔形骨架,笔形形状的计算方式如下在对称轴线上靠近笔尖的一端,按以下公式计算笔形边缘的点 R = ^lxlxrs-I2其中,R为笔形边缘点到对称轴线的距离,1为沿对称轴线从笔尖到当前点的距离,rs 为靠近笔尖的小圆的半径,所述小圆的圆心为对称轴线上靠近笔尖一端的点; 在对称轴线上靠近笔杆的一端,按以下公式计算笔形边缘的点 R = ^rs2-(I-h-rbf其中,rb为靠近笔杆的大圆的半径,所述大圆的圆心为对称轴线上靠近笔杆一端的点, h为大圆圆心和小圆圆心之间的距离;在对称轴线对应长度为h的一段上,按以下公式计算笔形边缘的点 R={rb-rs)x{l-rs) | ,二.h ‘以所述边缘点为控制点采用贝塞尔曲线连接所述边缘点,大圆半径 rb = WXpressure根据如下公式确定笔尖方向的小圆半径和h rs = rb XkXpressure h = HXpressure其中,H表示预设的最大笔行长度,k为形状比例参数,取值为0 1的浮点数, pressure为触摸屏感应的压力值,该值为量化到0 1浮点数。
9.一种电子毛笔书写系统,其特征在于,包括触摸点计算模块,用于根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两坐标点的距离;插值模块,用于若所述距离小于预定阈值,则按所述预定阈值为间距的获取触摸点;若所述距离大于所述预定阈值,则在相邻两个触摸点之间插入插值点;笔迹生成模块,用于根据所述触摸轨迹上的点绘制预先设置的笔形以生成笔迹,在触摸轨迹的转弯处按触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度绘制当前笔形。
10.如权利要求9所述的电子毛笔书写系统,其特征在于,还包括笔形变形模块,若达到预设的变形条件,用于按如下步骤对所述笔形进行变形以所述笔形的对称轴线上的质点根据预先设计的弹簧质点模型对所述质点进行迭代积分,得到所述变形后质点的坐标;根据变形后质点的坐标计算笔形边缘的坐标;根据笔形边缘坐标绘制变形后的笔形,所述预设的变形条件为在除顿笔和回锋的转弯笔迹处,笔形宽度大于预设的最小笔形宽度值和最短的质点间距离的较大值。
全文摘要
本发明公开了一种电子毛笔书写方法,包括以下步骤S1根据触摸设备传递的触摸轨迹上触摸点坐标计算相邻两触摸点的距离;S2若所述距离小于预定阈值,则按所述预定阈值为间距获取触摸点;若所述距离大于所述预定阈值,则在相邻两个触摸点之间插入插值点;S3根据所述触摸轨迹上的点绘制预先设置的笔形以生成笔迹,在触摸轨迹的转弯处按触摸设备获得的或根据笔迹的行进角度计算得到的当前笔形的笔形角度绘制当前笔形。本发明实现了在运算能力较低的手持设备上生成出模拟程度较高,真实感强的电子毛笔书写笔迹。
文档编号G06F3/048GK102520849SQ20111038528
公开日2012年6月27日 申请日期2011年11月28日 优先权日2011年11月28日
发明者刘炎, 谭韩成, 赵志强 申请人:北京盛世宣合信息科技有限公司