专利名称:一种基于力信息的毛笔书法表达方法
技术领域:
本发明涉及计算机信息领域和计算机艺术仿真技术领域,特别涉及一种基于力信息的毛笔书法表达方法。
背景技术:
中国毛笔书法艺术已有几千年的历史,古往今来的文人墨客无不喜欢“挥毫泼墨”,借助毛笔来传情达意,无数的书法家为我们留下了精美的艺术瑰宝。作为书法工具的毛笔,兼具操作简便和表现力丰富的特性。随着计算机技术飞速发展,越来越多的学者开始关注毛笔书法表达的研究。毛笔书法具有极强的表现力,能产生丰富的视觉效果,这主要依赖于毛笔笔毫形态的复杂多变,以及墨水在纸张上扩散的不确定性。所以,在仿真毛笔书法效果时,主要关注于毛笔的模型和墨水在纸张上扩散的模型。毛笔书法表达的实现,有助于在计算机中模拟毛笔练字系统,不仅完成了毛笔书法艺术的数字化,而且避免了现实中毛笔练字的笔纸墨的浪费。现有专利中,专利号为CN101373539B的“毛笔笔迹的书写方法及书写装置”提出一种毛笔雨点模型,通过应用雨点模型,并依据预设的毛笔模型的各初始参数值,所捕捉的采样点的位置坐标和压力值来确定采样点的雨点模型的各参数,来模拟各种毛笔特效。专利号为CN100338612C的“基于毛笔和宣纸的水墨传输模型与仿真算法”构造了毛笔模型和宣纸模型,实现墨水在毛笔和宣纸之间的交换及墨水在宣纸上传输,仿真中国水墨画效果。在对上述现有技术进行分析后,发明人发现现有技术中对毛笔书法效果的表达是通过计算机图形学或计算机特定算法来实现的,如利用毛笔和纸张图形学来模拟毛笔在纸张上书写产生的效果,或利用毛笔雨点模型来达到各种毛笔书法特效,但现有的技术多是通过设置复杂的参数,或利用复杂的特定设备,实现毛笔书法或水墨画渲染,对普通的用户不实用,而且其计算复杂度较高,对计算机性能的要求较高,特别是这些算法都不是实际反映毛笔书法的物理过程,实际上毛笔书法过程是一个力作用和反馈过程,即毛笔书写的形成是由人手的作用力带动毛笔笔毫相对纸张的接触运动而产生的,这一过程所形成的特殊毛笔书写风格,如形态、神情、风韵、意境和气势之美,是由于书写者书写力作用形成的,并且这一过程是自然形成的。
发明内容
本发明所要解决的技术问题即目的是避免上述现有技术中对毛笔书法表达的不足之处,提出一种基于力信息的毛笔书法表达方法,利用三维力传感器获取毛笔书写过程产生的三维书写力信息,并基于三维书写力的大小和方向,模拟毛笔书法的创作效果。本发明的技术方案是一种基于力信息的毛笔书法表达方法,特别是采用三维力传感器来获取毛笔笔毫与签字平面接触产生的三维手写力矢量信息,即当有毛笔手写过程发生时,三维力传感器可以实时的感知和输出作用在其上的三维手写动态力信息变化,通过采集和转换这些信息,计算毛笔笔毫与纸张平面接触产生的笔触区域,然后根据力信息实现对笔触区域的操作和处理以形成笔迹,并计算在笔迹边缘的墨水扩散方式,特别是采用了墨水十字扩散方法来完成对笔迹边缘墨水扩散的计算,最终实现在力信息下的毛笔书法表达效果,方法步骤包括初始化三维力传感器;获得三维手写力数据;获得三维手写力信息数值;预处理计算;计算笔触区域;墨水扩散计算。初始化三维力传感器,具体包括为三维力传感器正常工作提供符合要求的环境需求,如电源需求,内存需求以及接口驱动需求等,以保证三维力传感器能够正确而有效的输出数据。获得三维手写力数据,具体包括当书写者开始进行钢笔书法时,三维力传感器会实时感知并输出书写者在签字过程所产生的力信号,通过采集和转换这些力信号,可获得三维手写力数据,为t = iT时刻采集三维力传感器χ轴方向上的力数据,Ry (i)为t = iT时刻采集三维力传感器y 轴方向上的力数据,Rz(i)为t = iT时刻采集三维力传感器ζ轴方向上的力数据,T为系统采样周期;即采集t = iT时刻三维力传感器输出的力信号,获得t = iT时刻三维手写力数 ig Rx (i) > Ry (i)> Rz(i)o获得三维手写力信息数值,具体包括原始获得的三维手写力数据由于三维力传感器自身应变片蠕变现象,会在三维输出上存在相互耦合关系,这种耦合关系会影响数据的正确性,因此需要对于获得的三维手写力数据通过解耦矩阵进行解耦处理,使每一维的输出只反映一个变量的变化,以获得更加真实和准确的手写力信息数值,设Rx (i)为t = iT时刻采集三维力传感器χ轴方向上的力数据,Ry (i)为t = iT时刻采集三维力传感器y轴方向上的力数据,Rz(i)为t = iT时刻采集三维力传感器ζ轴方向上的力数据,Vx(i)为t = iT时刻χ轴方向上的手写力信息数值,Vy(i)为t = iT时刻y轴方向上的手写力信息数值,Vz(i)为t = iT时刻ζ轴方向上的手写力信息数值,T为系统采样周期;对三维手写力数据Rx(i)、Ry(i)、Rz(i)进行解耦运算得到t = iT时刻χ轴方向上的手写力信息数值Vx (i);对三维手写力数据Rx(i)、Ry(i)、Rz(i)进行解耦运算得到t = iT时刻y方向上的手写力信息数值Vy (i);对三维手写力数据Rx(i)、Ry(i)、Rz(i)进行解耦运算得到t = iT时刻ζ轴方向上的手写力信息数值Vz (i);即根据t = iT时刻三维手写力数据Rx (i)、Ry (i)、Rz (i),通过解耦运算得到t = iT时刻三维手写力信息数值Vx(i)、Vy(i)、Vz (i)。预处理计算,具体包括三维力传感器输出的数据在传输过程中会受到噪声的影响,特别是数据在采样和量化的时候会产生量化噪声,这些噪声反映在笔迹绘制上,会表现出笔画的不光滑,即产生毛刺现象,为了得到饱满的钢笔书写字迹,必须降低误差的影响, 这就需要对解耦后的数据进行预处理,具体通过滤波计算和平滑计算来实现预处理计算, mvx(i)为t = iT时刻χ轴方向上的手写力信息数值,V^i)为t = iT时刻y轴方向上的手写力信息数值,Vz(i)为t = iT时刻ζ轴方向上的手写力信息数值,Fx(i)为t = iT时刻χ轴方向上的预处理后手写力信息数值,Fy (i)为t = iT时刻y轴方向上的预处理后手写力信息数值,Fz(i)为t = iT时刻ζ轴方向上的预处理后手写力信息数值,T为系统采样周期;对t = iT时刻χ轴方向上的手写力信息数值VJi)进行预处理后得到t = iT时刻χ轴方向上的预处理后手写力信息数值&(土);对t = iT时刻y轴方向上的手写力信息数值VJi)进行预处理后得到t = iT时刻y轴方向上的预处理后手写力信息数值Fy (i);对t = iT时刻ζ轴方向上的手写力信息数值VJi)进行预处理后得到t = iT时刻ζ轴方向上的预处理后手写力信息数值&(土);即根据t = iT时刻三维手写力信息数值Vx⑴、Vy⑴、Vz⑴,通过滤波计算和平滑计算得到t = iT时刻预处理后手写力信息数值Fx (i)、Fy (i)、Fz (i)。计算笔触区域,具体包括在毛笔书法中,毛笔笔毫在三维手写力作用下与纸张接触运动形成的区域即笔触区域分为两种一种是湿笔情况,即毛笔笔毫上的墨水分配充足的情况,笔毫抱成一团,此时笔毫在三维手写力的作用下形成的笔触区域收缩在一起,形成“团”状;另一种是枯笔情况,即毛笔笔毫上的墨水分配不够的情况,笔毫较为松散,笔毫在三维手写力的作用下出现了分叉的现象,此时形成的笔触区域呈分散状。另外,不同的书写者由于自身的书法特点, 或者为了达到一个具有个性化的毛笔书法风格,会在运笔过程中,对毛笔笔毫进行旋转,例如在绘制“横”时,书写者会有意在起笔处进行旋转,以形成特有的笔风。当毛笔在书法过程中被旋转时,笔毫会带动笔触区域内的坐标发生变化,即产生旋转坐标,根据对人手握毛笔进行书法的过程进行分析,上述笔毫旋转过程,是在三维手写力控制下完成的,即笔毫旋转则是由于三维手写力的方向引起的,并且笔毫旋转的角度可通过三维手写力信息数值计算获得。设Ss⑴为t = iT时刻湿笔笔触区域的缩放系数,^⑴为t = iT时刻枯笔笔触区域的缩放系数,“⑴、ysCI(i)为t = iT时刻湿笔笔触区域中的点的原始坐标,xsl⑴、ysl(i) 为t = iT时刻湿笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标,xM(i)、yM(i)为 t = iT时刻枯笔笔触区域中的点的原始坐标,xkl (i)、ykl(i)为t = iT时刻枯笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标,θ (i)为t = iT时刻毛笔笔毫旋转的角度, Fx (i)为t = iT时刻χ轴方向上的预处理后手写力信息数值,Fy (i)为t = iT时刻y轴方向上的处理后手写力信息数值,Fz(i)为t = iT时刻ζ轴方向上的处理后手写力信息数值, T为系统采样周期;即根据t = iT时刻χ轴方向上的预处理后手写力信息数值&(1)和t = iT时刻 y轴方向上的处理后手写力信息数值Fy(i),通过运算得到t = iT时刻毛笔笔毫旋转的角度θ⑴。根据t = iT时刻湿笔笔触区域中的点的原始坐标^1G)、ys0(i),t = iT时刻湿
6笔笔触区域的缩放系数S (i)和t = iT时刻毛笔笔毫旋转的角度θ (i),通过运算得到t =iT时刻湿笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标xsl(i)、ysl(i);根据t = iT时刻枯笔笔触区域中的点的原始坐标Xktl (i)、yk0(i),t = iT时刻枯笔笔触区域的缩放系数%(1)和t = iT时刻毛笔笔毫旋转的角度θ (i),通过运算得到t =iT时刻枯笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标 (i)、ykl (i)。墨水扩散计算,具体包括在毛笔书法中,毛笔笔毫运动所留下的附在纸张上的墨水在手写力的作用下会发生扩散现象,且这种扩散现象是具有随机性的,正是这种随机的墨水扩散,使得毛笔书法艺术具有无穷的魅力和鉴赏力。为了实现对墨水扩散的模拟,采用墨水十字扩散方法,来实现对笔触区域形成的笔迹边缘进行墨水扩散计算,特别是能够实现一种毛笔书法的晕化效果,以形成具有个性化和美观的毛笔书法。作为对现有技术的进一步改进,本发明的有益效果是相对于现有技术,本发明的方法步骤为初始化三维力传感器、获得三维手写力数据、获得三维手写力信息数值、预处理计算、计算笔触区域、墨水扩散计算。毛笔书法过程是一个力作用和反馈过程,即毛笔书写的形成是由人手的作用力带动毛笔笔毫相对纸张的接触运动而产生的,这一过程所形成的特殊毛笔书写风格,如形态、神情、风韵、意境和气势之美,是由于书写者书写力作用形成的,并且这一过程是自然形成的。本发明提供的毛笔书法表达方法,有效的解决了现有毛笔书法表达中对无法真实体现手写力信息的作用过程,当有毛笔手写过程发生时,三维力传感器可以实时的感知和输出作用在其上的三维手写动态力信息变化,通过采集和转换这些信息,计算毛笔笔毫与纸张平面接触产生的笔触区域,然后根据力信息实现对笔触区域的操作和处理以形成笔迹,并计算在笔迹边缘的墨水扩散方式,特别是采用了墨水十字扩散方法来完成对笔迹边缘墨水扩散的计算,能够实现一种毛笔书法的晕化效果,以形成具有个性化和美观的毛笔书法,最终实现在力信息下的毛笔书法表达效果;本发明提供的毛笔书法表达方法为目前毛笔书法培训和毛笔书法训练提供了一种新的解决方案,特别是通过利用三维力传感器来实现对毛笔书法过程中产生的三维手写力信息进行获取,使得书写者能够真实体验由于手写力的不同而引起毛笔书法的表达差异,从而为解决目前毛笔书法培训和毛笔书法训练,特别是在毛笔书法矫正中,提供了一种新的技术手段。
图1为本发明毛笔书法表达方法流程图;图2为本发明解耦矩阵排列示意图;图3为本发明预处理计算流程图;图4为本发明计算笔触区域流程图;图5为本发明湿笔笔触区域示意图;图6为本发明枯笔笔触区域示意图;图7为本发明毛笔笔毫在手写力作用下的运动控制示意图;图8为本发明墨水扩散计算方法流程7
图9为本发明毛笔书法实施例表达示意图;其中图9中a为本发明实施例湿笔毛笔书法表达示意图;图9中b为本发明枯笔毛笔书法实施例表达示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的具体实施方式
作进一步的详细说明。图1为本发明毛笔书法表达方法流程图,图2为本发明解耦矩阵排列示意图;图1 的步骤具体包括步骤100 开始;具体的,表示开始执行毛笔书法表达操作流程。步骤200 初始化三维力传感器;具体的,当进行传感器数据采集和信息获取时, 需要相应的资源支持,如内存资源、能量资源、设备资源以及端口资源等,为了能使这些资源得到满足,以使传感器能够有效和实时的输出,需要对三维力传感器进行初始化操作,这些操作内容包括电源供应、零点修正,以及温度补偿等。步骤300 获得三维手写力数据;具体的,当书写者开始进行毛笔书法时,三维力传感器会实时感知并输出书写者在签字过程所产生的力信号,通过采集和转换这些力信号,可获得三维手写力数据。^Rx(I)为t = iT时刻采集三维力传感器χ轴方向上的力数据,Ry(i)为t = iT 时刻采集三维力传感器y轴方向上的力数据,Rz(i)为t = iT时刻采集三维力传感器ζ轴方向上的力数据,T为系统采样周期;即采集t = iT时刻三维力传感器输出的力信号,获得t = iT时刻三维手写力数 ig Rx (i) > Ry (i)> Rz(i)o步骤400 获得三维手写力信息数值;具体的,原始获得的三维手写力数据由于三维力传感器自身应变片蠕变现象,会在三维输出上存在相互耦合关系,这种耦合关系会影响数据的正确性,因此需要对于获得的三维手写力数据通过解耦矩阵进行解耦处理,使每一维的输出只反映一个变量的变化,以获得更加真实和准确的手写力信息数值。本步骤以ζ轴为例,介绍如何根据获得的三维手写力数据进行解耦运算得到手写力信息数值的方法,参见图2,图2为本发明解耦矩阵排列示意图;设Rx⑴为t = iT时刻采集三维力传感器χ轴方向上的力数据,Ry(i)为t = iT 时刻采集三维力传感器y轴方向上的力数据,Rz(i)为t = iT时刻采集三维力传感器ζ轴方向上的力数据,Vz WSt = iT时刻χ轴方向上的手写力信息数值,T为系统采样周期, C为解耦矩阵,其排列形式参见图2解耦矩阵排列示意图,通过解耦计算即可得到在t = iT 时刻χ轴方向上的手写力信息数值Vz (i),即
权利要求
1.一种基于力信息的毛笔书法表达方法,其特征在于通过采集和转换三维力传感器获取毛笔笔毫与签字平面接触产生的三维手写力矢量信息,计算毛笔笔毫与纸张平面接触产生的笔触区域,根据力信息对笔触区域操作和处理形成笔迹,用墨水十字扩散方法计算在笔迹边缘的墨水扩散方式,实现力信息下的毛笔书法表达,方法步骤是a、初始化三维力传感器包括提供电源需求、内存需求、零点修正,温度补偿以及接口驱动需求,以保证三维力传感器能够正确而有效的输出数据;b、获得三维手写力数据包括当书写者开始进行钢笔书法时,三维力传感器会实时感知并输出书写者在签字过程所产生的力信号,通过采集和转换这些力信号,获得三维手写力数据Rx(i)、Ry(i)、Rz(i),其中Rx(i)为t = iT时刻采集三维力传感器χ轴方向上的力数值,Ry (i)为t = iT时刻采集三维力传感器y轴方向上的力数值据,Rz (i)为t = iT时刻采集三维力传感器ζ轴方向上的力数值,T为系统采样周期;c、获得三维手写力信息数值包括对获得的三维手写力数据Rx⑴、Ry⑴、Rz⑴通过解耦矩阵进行解耦处理,使每一维的输出只反映一个变量的变化,以获得真实和准确的手写力信息数值Vx(i)、Vy(i)、Vz⑴,其中Vx(i)为t = iT时刻χ轴方向上的手写力信息数值,Vy(i)为t = iT时刻y轴方向上的手写力信息数值,Vz(i)为t = iT时刻ζ轴方向上的手写力信息数值,T为系统采样周期;d、预处理计算包括滤波计算和平滑计算,以降低噪声对数值的影响,根据c步骤经解耦运算得到的三维手写力信息数值Vx (i)、Vy(i)、Vz (i),分别经过滤波计算和平滑计算得到 Fx(i),Fy(i)、Fz(i)),其中Fx(i)为t = iT时刻χ轴方向上的预处理后手写力信息数值, Fy (i)为t = iT时刻y轴方向上的预处理后手写力信息数值,Fz (i)为t = iT时刻ζ轴方向上的预处理后手写力信息数值,T为系统采样周期;e、计算笔触区域包括填充和形成毛笔书法轨迹、计算笔触区域的缩放系数、计算笔触区域内的旋转坐标和前后笔触区域之间利用线性插值完成连线填充,其中采用步骤d预处理后的三维手写力信息数值&(1)、&(1)、&(1)计算笔触区域的缩放系数,并采用步骤d预处理后的三维手写力信息数值Fx (i)、Fy (i)、Fz (i)计算计算笔触区域内的旋转坐标;f、墨水扩散计算采用十字扩散法计算,包括以当前点为扩散中心,墨水在当前点处以 “十字”形式即向当前点的上下左右4个邻域点进行扩散并凝聚,同时将这4个点加入“扩散队列”,且每个点的墨水量为所在点的墨水量减去所在点的吸墨量;步骤将笔迹边缘上所有的点加入“扩散队列”中,并为每个点赋上墨水量的值;判断“扩散队列”是否为空,如果不为空,取出“扩散队列”第一个元素为当前点F,并为 F着色;F的墨水量大于F的吸墨量?如果是,墨水以F点为中心,进行“十字”扩散计算;如果否,则返回到判断“扩散队列”为空;如果“扩散队列”为空,结束完成墨水扩散计算。
2.根据权利要求1所述一种基于力信息的钢笔书法表达方法,其特征是所述d、预处理计算;包括卡尔曼滤波计算和高斯平滑滤波计算,其中卡尔曼滤波计算是实现滤波处理, 使期望的输出数据和实际输出数据的均方根误差小;高斯平滑滤波计算是为了得到饱满的钢毛笔书写字迹,采用对数字化后信号的平滑处理,降低误差的影响。
3.根据权利要求1所述一种基于力信息的毛笔书法表达方法,其特征是所述e、计算笔触区域包括填充和形成毛笔书法轨迹,是包括湿笔笔触区域和枯笔笔触区域,当毛笔笔毫中墨水的含量足够时,采用湿笔笔触区域来填充和形成毛笔书法轨迹,当毛笔笔毫中墨水的含量不足时,采用枯笔笔触区域来填充和形成毛笔书法轨迹。
4.根据权利要求1所述一种基于力信息的毛笔书法表达方法,其特征是所述e、计算笔触区域包括计算笔触区域的缩放系数,是指分别使用湿笔笔毫和枯笔笔毫进行书法时, 其在纸张表面形成的笔触区域具有不同的缩放程度,设Cs表示湿笔笔毫的弹性系数,Ck表示枯笔笔毫的弹性系数,ss (i)为t = iT时刻湿笔笔触区域的缩放系数,^⑴为t = iT时刻枯笔笔触区域的缩放系数,Fz(i)为t = iT时刻ζ轴方向上的处理后手写力信息数值,T 为系统采样周期,当采用湿笔笔毫进行书法时,其形成的t = Τ时刻湿笔笔触区域的缩放系数^⑴为參ψ当采用枯笔笔毫进行书法时,其形成的t = Τ时刻枯笔笔触区域的缩放系数为sk(0 = ψ即根据湿笔笔毫的弹性系数cs,枯笔笔毫的弹性系数Ck和t = iT时刻Z轴方向上的处理后手写力信息数值Fz⑴,通过运算得到t = iT时刻湿笔笔触区域的缩放系数Ss⑴和t =iT时刻枯笔笔触区域的缩放系数。
5.根据权利要求1所述一种基于力信息的毛笔书法表达方法,其特征是所述e、计算笔触区域包括计算笔触区域内的旋转坐标,是根据步骤d预处理后的三维手写力信息数值Fx(i)、Fy(i)、Fz(i)计算分别得到湿笔和枯笔笔触区域内的旋转坐标,即根据t = iT时刻χ轴方向上的预处理后手写力信息数值&(1)和t = iT时刻y轴方向上的处理后手写力信息数值Fy (i),通过运算得到笔毫旋转角度θ (i);根据t = iT时刻湿笔笔触区域中的点的原始坐标^1G)、ys0(i),t = iT时刻毛笔笔毫旋转的角度θ⑴和t = iT时刻湿笔笔触区域的缩放系数s (i),通过运算得到t = iT 时刻湿笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标xsl⑴、ysl⑴;根据t = iT时刻枯笔笔触区域中的点的原始坐标xM(i)、yk0(i),t = iT时刻毛笔笔毫旋转的角度θ⑴和t = iT时刻枯笔笔触区域的缩放系数,通过运算得到t = iT 时刻枯笔笔触区域中的点的原始坐标经过旋转并缩放后的坐标&⑴、ykl⑴。
6.根据权利要求1所述一种基于力信息的毛笔书法表达方法,其特征是所述e、计算笔触区域包括前后笔触区域之间利用线性插值完成连线填充,是毛笔书法过程是一个连续的过程,根据书写过程中所形成的笔触区域大小,因人而异的笔毫旋转角度,采用线性插值的方法来完成对前后笔触区域之间连线的绘制,即在前后形成的两个相邻笔触区域之间,利用线性插值完成连线填充操作,形成毛笔书法笔迹。
全文摘要
一种基于力信息的毛笔书法表达方法,采用三维力传感器来获取毛笔笔毫与纸张平面接触产生的三维手写力矢量信息,即当有毛笔手写过程发生时,三维力传感器可以实时的感知和输出作用在其上的三维手写动态力信息变化。通过采集和转换这些信息,计算毛笔笔毫与纸张平面接触产生的笔触区域,然后根据力信息实现对笔触区域的操作和处理以形成笔迹,并计算在笔迹边缘的墨水扩散方式。特别是采用了墨水十字扩散方法来完成对笔迹边缘墨水扩散的计算,最终实现在力信息下的毛笔书法表达效果。本发明使书写者真实体验由于手写力的不同而引起毛笔书法的表达差异,为在计算机上进行毛笔字的创作和书法训练,或在毛笔书法矫正中,提供了一种新的技术手段。
文档编号G06F3/048GK102436348SQ20111036009
公开日2012年5月2日 申请日期2011年11月14日 优先权日2011年11月14日
发明者吴仲城, 申飞, 罗健飞, 陈海强 申请人:中国科学院合肥物质科学研究院