文章快速检索     高级检索
  浙江大学学报(工学版)  2017, Vol. 51 Issue (9): 1735-1744  DOI:10.3785/j.issn.1008-973X.2017.09.008
0

引用本文 [复制中英文]

郭超, 侯增选, 杨广卿, 郑栓柱. 采用力反馈技术的毛笔建模[J]. 浙江大学学报(工学版), 2017, 51(9): 1735-1744.
dx.doi.org/10.3785/j.issn.1008-973X.2017.09.008
[复制中文]
GUO Chao, HOU Zeng-xuan, YANG Guang-qing, ZHENG Shuan-zhu. Hairy brush modeling using force feedback technology[J]. Journal of Zhejiang University(Engineering Science), 2017, 51(9): 1735-1744.
dx.doi.org/10.3785/j.issn.1008-973X.2017.09.008
[复制英文]

基金项目

国家自然科学基金资助项目(51175058)

作者简介

作者简介:郭超(1987-), 男, 博士生, 从事人机交互、虚拟绘制技术研究.
orcid.org/0000-0003-2610-9613.
Email: 358826947@qq.com

通信联系人

侯增选, 男, 博导, 教授.
orcid.org/0000-0003-2972-9105.
Email: hou@dlut.edu.cn

文章历史

收稿日期:2016-05-22
采用力反馈技术的毛笔建模
郭超 , 侯增选 , 杨广卿 , 郑栓柱     
大连理工大学 机械工程学院, 辽宁 大连 116024
摘要: 将力反馈技术引入虚拟绘制过程,提出一种新的毛笔建模方法,实时仿真中国书画绘制过程中毛笔变形和笔纸之间的水墨传输过程.通过中心骨架和表面两层结构构建毛笔几何模型.采用弹簧振子模型仿真力作用下毛笔中心骨架弯曲变形和毛笔表面变形,实现力对毛笔变形的动态控制.通过毛笔水墨量实时计算方法仿真书画绘制过程中笔纸之间的水墨传输过程.基于硬件组件HPxw8600工作站和Phantom Desktop力反馈设备,构建带有力反馈技术的虚拟绘制系统.在该系统中,用户通过Phantom Desktop力反馈设备实现实时绘制,增强了虚拟绘制过程的真实感.
关键词: 力反馈技术    毛笔几何模型    弹簧振子模型    毛笔变形    虚拟绘制    
Hairy brush modeling using force feedback technology
GUO Chao , HOU Zeng-xuan , YANG Guang-qing , ZHENG Shuan-zhu     
School of Mechanical Engineering, Dalian University of Technology, Dalian 116024, China
Abstract: The force feedback technology was introduced in the virtual painting process; a novel hairy brush modeling method was proposed. During Chinese calligraphy and painting process, the brush deformation, ink transfer process between hairy brush and paper were simulated in real time. Firstly, the geometry model of the hairy brush was represented with the two-layer structure of skeleton and surface. Then, a spring-mass model was adopted to simulate hairy brush skeleton and surface deformation when force was exerted on hairy brush, and the dynamic control of force to hairy brush deformation was realized in real time. A real time algorithm of the ink quantity of hairy brush was put forward to simulate ink transfer process between hairy brush and paper. The virtual painting system with force feedback technology was established based on the hardware components HP xw 8600 workstation and PHANTOM Desktop haptic device. In this system, users realize real time painting with the Phantom Desktop haptic device, which can effectively enhance the reality of virtual painting process to users.
Key words: force feedback technology    hairy brush geometry model    spring-mass model    hairy brush deformation    virtual painting    

在书画绘制过程中, 力是艺术家控制书画艺术效果的关键因素.艺术家通过力控制毛笔变形, 控制水墨在笔纸之间传输, 以达到要求的书画艺术效果.因此, 在虚拟绘制过程中, 构建毛笔模型、实现力对毛笔变形和水墨传输的控制是书画仿真的关键.

很多研究者对西方画笔进行了仿真.Diverdi等[1]通过研究单根笔毛的行为构建了商用的画笔模型, Baxter等[2-3]先后构建了基于弹簧振子粒子系统的画笔模型和基于多个脊骨建模方法的画笔模型, Baxter等[4]提出了基于数据驱动的3D画笔模型, 这些方法达到了很好的效果.相比于西方画笔, 中国的毛笔笔毛由柔软的动物毛制成, 且从毛笔笔尖到笔根处, 毛笔弹性不同, 因此, 对中国毛笔的建模不同于西方画笔.目前, 已经有大量的研究者进行中国毛笔建模的研究.

Strassmann[5]提出了一种1D的毛笔模型, 将毛笔绘制过程当中涉及的对象归纳为毛笔、笔划、蘸墨和纸张4个要素, 成功模拟出日本的“烟灰墨画”.由于未对书画绘制过程中毛笔变扁平进行仿真, 使得仿真得到的笔道不真实.Lee等[6-7]构建了由一定数目的笔毛构成的倒圆锥状毛笔模型, 该方法将笔毛视为各项同性的弹性杆, 应用弹性力学理论模拟了单根笔毛的变形, 进而模拟了虚拟绘制过程中的毛笔变形, 但该方法将笔毛视为性质相同的弹性杆, 不能体现毛笔笔头的笔尖部分较笔根部分柔软、易变形的特点.Xu等[8-9]将一束笔毛定义为基元, 若干基元的集合形成毛笔模型, 在虚拟绘制过程中, 毛笔模型中的全部基元与纸张交互形成绘制效果.该方法较逼真地模拟了书画绘制效果, 但绘制过程中需要复杂的曲面表示和求交运算, 计算复杂, 实时性差.Chu等[10-11]构建的毛笔几何模型包括骨架和表面两部分, 在毛笔运动力学模型中, 采用约束的能量最优化方法模拟了力作用下的毛笔变形, 仿真了中国书画绘制过程.但是, 约束的能量最优化方法不适用受力大时毛笔变形的仿真.郭丽等[12]根据试验经验及实际书写经验提出毛笔压感模型, 在改进商业软件中普遍采用圆模型作为封闭图形来模拟笔划的基础上, 使用贝塞尔方法将控制点连接起来形成封闭曲线, 通过缩放、平移等操作使封闭曲线发生变化来实时模拟毛笔笔划.该方法中采用数位板作为输入设备, 缺乏力反馈环节, 降低了虚拟交互绘制的真实感.Yin等[13]提出基于压感模型的毛笔模型, 该模型包括压力感应模型和接触模型, 分别用于描述压感与笔划宽度的关系和笔尖与纸面间的相互作用, 该方法中采用数位板作为输入设备, 存在与郭丽等[12]的方法相同的问题.宓晓峰等[14-16]提出了一种基于经验的毛笔模型, 该方法中摒弃了毛笔的真实物理模型, 只考虑毛笔与纸面间接触区域的变化, 用参数化的“雨滴”模型来模拟纸面和毛笔之间的接触区域, 从而实现对书画绘制的仿真.该方法未构建毛笔的物理模型, 降低了虚拟交互绘制的真实感.Saito等[17]提出了一种基于毛笔旋转模型的毛笔仿真方法, 采用数位板仿真了手写体汉字中的笔道飞白效果.该方法中同样未构建毛笔的物理模型.Baxter等[4]提出了基于数据驱动的3D虚拟画笔模型, 将测量的实际画笔变形的数据存储在表格中, 通过表格中数据模拟了画笔的变形, 有效地模拟复杂的画笔行为.该方法需要测量特定画笔的变形数据进行画笔建模, 限制了其应用范围.其他的仿真方法包括毛笔笔毛模型[1]、基于物理的毛笔模型[18-20]、基于弹性锥的3D毛笔模型[21]、实用的3D毛笔模型[22]、基于骨架的笔刷模型和水粉笔刷模型[23-24]、参数化毛笔模型[25-28]、2D毛笔模型、毛笔的指数曲线模型[29-31]、简易毛笔模型[32-33]、基于统计分析的虚拟毛笔模型[34]、基于三角网格的虚拟毛笔模型[35-36]等, 上述毛笔建模方法均未能引入力反馈技术.

文献[2-3, 37]将力反馈技术引入虚拟绘制过程, 构建了各自的毛笔模型.其中Baxter等[2]构建了一种新颖的画笔模型, 包括弹簧振子粒子系统的画笔骨架和细分表面网格的画笔表面两部分, 在弹簧振子模型中, 采用伸缩的弹簧用以计算画笔细分表面的变形, 但反馈力的计算方法与画笔变形不相关, 因此该方法未能通过力反馈技术仿真画笔在一定变形时反馈给用户的力的大小, 限制了力反馈设备的应用范围.Baxter等[3]对原来的画笔模型进行了改进, 其研究重点在于通过多个脊骨的建模方法仿真西方绘画中的多种画笔.该方法使用弯曲的弹簧计算每个脊骨的受力, 使用这些脊骨受力的平均力作为传递给力反馈设备的反馈力.该方法采用类似于Chu等[10-11]的约束能量最优化方法模拟画笔受力时的运动, 但约束能量优化方法不适用于受力大时画笔变形的仿真, 限制了该方法的应用.另外在该仿真方法中需要解大量的微积分方程, 增加了计算量, 影响了虚拟交互绘制的实时性.类似于Baxter等[2]的画笔笔毛建模方法, Yeh等[37]构建了包含一定数目笔毛的毛笔模型, 该方法采用弯曲的弹簧替代伸缩弹簧作为毛笔骨架用以仿真毛笔的变形, 该方法改进了Baxter等[2]的触觉仿真方法, 但反馈力的计算方法依然和毛笔变形不相关, 存在着与Baxter等[2]类似的问题.中国的毛笔不同于西方的画笔, 使得应用上述方法较难模拟中国书画绘制过程中毛笔的笔毛散开、毛笔变扁平等特点.

本文将力反馈技术引入虚拟绘制过程, 结合实际毛笔的特点, 通过中心骨架和表面两层结构构建毛笔几何模型;提出一种弹簧振子模型模拟力作用下的毛笔变形, 仿真中国书画绘制过程中笔毛的散开和毛笔变扁平的过程;并通过毛笔水墨量实时计算方法仿真笔纸之间的水墨传输过程.结合笔道算法和干笔飞白算法, 以实现中国书画的实时仿真.

1 基于力反馈技术的毛笔建模

受力不同时的真实毛笔变形情况如图 1所示.在进行书画绘制时, 笔尖先接触纸面, 随着毛笔受力的增大, 靠近笔尖部分的笔毛变得扁平, 笔腹部分变形增大, 而在笔根处, 由于笔杆对笔毛的约束, 使得靠近笔根处的笔毛变形较小.因此, 存在弯曲变形最大的区域a, 从区域a到笔尖毛笔逐渐变得扁平;从区域a到笔根毛笔变形逐渐减小, 笔根处笔毛几乎不变形, 且随着受力的增加, 毛笔变得愈加扁平, 区域a逐渐靠近毛笔笔跟处.本文通过构建包含毛笔骨架和表面两层结构的几何模型, 采用弹簧振子模型计算得到毛笔受力, 通过毛笔受力实时计算得到区域a所处的位置, 分别模拟区域a到笔尖和区域a到笔根的毛笔变形, 最后模拟力作用下的笔纸之间水墨传输过程, 完成毛笔的建模.

图 1 受力不同时的真实毛笔变形 Fig. 1 Deformation of real hairy brush with differentstress
1.1 毛笔几何模型

本文构建的毛笔几何模型如图 2所示, 中心骨架由沿笔尖到笔根方向长度逐渐增大的脊骨段依次连接构成, 毛笔表面采用三角网格模型表示.

图 2 毛笔几何模型 Fig. 2 Gomertry of hairy brush
1.1.1 毛笔中心骨架

图 2所示, 2个相邻脊骨段之间的连接点记为中心骨架的控制节点, 从毛笔笔尖到笔头根部依次设立控制节点N0, N1, …, Nn, n为整数, 脊骨段Ni-1Ni的长度记为li, 其中i为正整数, 取值范围为[1, n].l1, l2, …, ln的总长度为L.由于越靠近笔根处, 笔毛的硬度越大, 弹性越小, 变形越难, 而且在实际绘制中笔尖和笔腹是使用最多的地方, 为体现毛笔的这种特性和提高建模效率, 设定沿笔尖到笔根方向脊骨段的长度逐渐增大, 即随着i的增大, li逐渐增大, 且呈等差数列增长, li的计算公式为

$ {l_i} = {l_1} + \left( {i - 1} \right)d. $ (1)

式中:i为正整数, l1和公差d与毛笔的软硬程度相关:当毛笔受力时, 毛笔越软, 靠近笔尖处越易产生变形, l1d值越小, 反之, l1d值越大.l1d的值根据实验给定.

当毛笔刚接触纸面且未变形时, 毛笔中心骨架初始为一条线段.当毛笔受力变形时, 中心骨架弯曲变形如图 3所示, 笔杆中心线与纸平面的夹角记为θ(θ∈(0, π)), 脊骨段Ni-1Ni与纸面的夹角记为αi, 初始时, αi=θ.

图 3 毛笔受力时中心骨架弯曲变形 Fig. 3 Skeleton bending deformation of hairy brushunder stress
1.1.2 毛笔表面

在毛笔受力发生弯曲变形但未发生扭曲变形时, 中心的骨架各脊骨段始终位于同一平面内, 为了约束毛笔的变形, 将以控制节点Ni(i∈[1, n-1])为中心的平面定义为毛笔轮廓控制面, 该平面垂直于毛笔中心骨架所在平面且平分两相邻脊骨段所形成夹角.当毛笔未受力时, 笔头通常呈倒圆锥状, 此时毛笔轮廓控制面初始为圆形, 我们根据不同类型的毛笔预设圆形面的大小.当毛笔受力变形时, 毛笔轮廓控制面由圆形变成椭圆形.而笔根控制节点Nn因为与笔杆相连, 因此笔根控制节点处的圆形半径保持不变;笔尖控制节点N0处的圆形半径为0.这种表示方法方便计算且能较好地模拟真实毛笔变形情况.

毛笔表面被表示为由骨架和各个控制节点处的轮廓控制面构成的三角网格面.在虚拟绘制过程中, 通过调整控制节点的位置来控制毛笔中心的骨架变形, 从而带动三角网格上的各节点在3D空间发生位移, 以此展现毛笔的各种变形.

1.2 毛笔动力学仿真

毛笔动力学仿真的目标是模拟绘制过程中毛笔受力时笔头产生弯曲变形并且变扁平的过程.

1.2.1 弹簧振子模型

为较好地展现力与毛笔变形之间的关系, 采用弹簧振子模型构建毛笔力学模型, 如图 4所示.在笔根控制节点Nn和其在纸面上的投影点Nn处设置一个垂直于纸面的虚拟弹簧, 弹簧始终沿纸面法向变形.当毛笔刚接触纸面且未变形时, 中心脊骨退化为一条直线, Nn与笔尖控制节点N0重合;当毛笔受力下压, 在与纸面的挤压下, 中心脊骨产生变形, 位于其上面的各控制节点的位置发生相应的变化, Nn不再与N0重合, 但相邻两控制节点之间的长度保持不变.在该过程中产生的压力反馈力与毛笔下压的位移有关, 通过获得绘制过程中某采样时刻的毛笔下压位移, 便可计算得到虚拟压力.压力反馈力与毛笔下压位移量的数学描述为

图 4 毛笔弹簧振子模型 Fig. 4 Spring-mass model of hairy brush
$ F = \lambda HX. $ (2)

式中:F为压力反馈力; 压力反馈因子λ用于控制压力反馈力的大小, 是一个和硬件相关的量, 其值通过实验给定;H为毛笔硬度系数, 用来表示毛笔的软硬程度, H∈(0, 1), 数值越大, 毛笔硬度越大, 下压相同位移时所需的压力越大;X为该采样时刻的毛笔下压位移, 同时也为弹簧变形量.

在虚拟绘制过程中, 考虑摩擦力对毛笔变形的影响.摩擦力的计算公式为

$ {F_f} = \mu F. $ (3)

式中:Ff为摩擦力;μ为笔纸间的摩擦系数;F为压力, 通过式(2) 求得.

1.2.2 毛笔中心骨架弯曲变形

图 5所示为某作用力下毛笔中心骨架弯曲变形.以笔根控制节点Nn在纸面的投影点Nn为原点, 构成的坐标系Nn-XYZ下, 脊骨段Ni-1Ni在纸面的投影Ni-1Ni′长度记为li′, 其计算公式为

图 5 毛笔中心骨架坐标计算 Fig. 5 Coordinates calculation of hairy brush skeleton
$ {{l'}_i} = {l_i}\cos {\alpha _i}. $ (4)

在实际绘制过程中, 随着毛笔所受压力的增加, 毛笔变得越扁平.因此, 在虚拟绘制过程中, 随着毛笔所受压力的增大, αi逐渐减小, α1计算公式为

$ {\alpha _1} = {\omega _0}\left( {1 - p} \right). $ (5)

式中:ω0为初始角度控制因子, 与毛笔软硬程度相关:毛笔越硬, 笔尖处笔毛越不易变形, ω0越大;反之, ω0越小.ω0的值根据实验给定.p为压力因子, 为毛笔所受压力F与力反馈设备最大输出力的比值, 本文中所用的力反馈设备能够提供的最大输出力为7.9 N, 因此p=F/7.9, 取值范围为(0, 1.0).

当毛笔受力变形时, 从笔尖到笔根处各个脊骨段与水平面之间的夹角逐渐增大, 如图 3所示.定义脊骨段Ni-1Ni与脊骨段NiNi+1之间所夹的锐角(Δαi)为节点Ni的角度增量, 则

$ {\alpha _{i + 1}} = \Delta {\alpha _i} + {\alpha _i}. $ (6)

式中:i的取值范围为[1, n], αn+1为笔杆中心线与纸平面的夹角.

定义某采样时间有最大角度增量的控制节点Nm为中心骨架拐点:笔尖节点到拐点角度增量逐渐增大, 拐点的角度增量达到最大, 拐点到笔根节点角度增量逐渐减小;且随着毛笔所受压力的增大,拐点逐渐移向笔根处, 则以拐点为中心的轮廓控制面可以仿真毛笔变形时的区域a.拐点Nm的计算方法如下:设压力因子p与毛笔中心骨架长度L乘积的取值范围为$\left( {\Sigma _{t = 0}^{k - 1}{l_t},\Sigma _{t = 0}^k{l_t}} \right]$, 其中l0=0, k的取值范围为[1, n], 则控制节点Nk即为拐点Nm.

拐点的角度增量Δαm计算公式如式(7) 所示:当毛笔受力小时, 拐点靠近笔尖, 毛笔笔尖处的弹性较好, Δαm较大;随着毛笔受力的增大, 拐点逐渐靠近笔根处, 笔根处的弹性差, 且由于与笔杆接触, 几乎不变形, Δαm较小:

$ \Delta {\alpha _m} = \left( {1 - p} \right){\omega _m}. $ (7)

式中:ωm为拐点角度变化因子, 用以调整不同绘制条件下(例如:使用不同软硬程度的毛笔进行绘制)拐点角度增量的大小, ωm值的大小根据实验给定, 用以描述最真实的毛笔变形情况.

以拐点为中心的轮廓控制面将毛笔笔头分为靠近笔尖的部分和靠近笔根部分:靠近笔尖的部分由于与纸面接触形成笔触, 从拐点到笔尖处, 笔毛逐渐贴近纸面, 相邻脊骨段之间的角度增量Δαi变小;相较于靠近笔尖部分, 由于笔根处与笔杆相连, 靠近笔根部分笔毛变形较小, 因此, 从拐点到笔根处, 相邻脊骨段之间的角度增量Δαi变小.

根据构造等差数列(式(8))来描述靠近笔尖部分相邻脊骨段之间的角度增量变化情况, 其中公差为(1-p)a1:该部分笔毛弹性好, 因此, 当毛笔所受压力较小时, 靠近笔尖部分角度增量变化快;随着毛笔受压力的增加, 靠近笔尖部分逐渐变得水平, 角度增量的变化变缓.

$ \Delta {\alpha _i} = \Delta {\alpha _1} + \left( {i - 1} \right)\left( {1 - p} \right){a_1}. $ (8)

式中:i的取值范围为[1, m-1], 且为正整数.

控制节点N1的角度增量Δα1计算公式如式(9) 所示.当毛笔所受压力小时, 因为控制节点N1靠近笔尖, 易产生变形, 角度增量大;随着毛笔受压力增加, 该节点处的脊骨段逐渐变得水平, 角度增量逐渐变小:

$ \Delta {\alpha _1} = \left( {1 - p} \right){\omega _1}. $ (9)

式中:ω1为节点N1角度变化因子, 用以调整不同绘制条件(例如:使用不同软硬程度的毛笔进行绘制)下节点N1角度增量的大小, ω1值的大小根据实验给定, 用以描述最真实的毛笔变形情况.

i的取值范围为[1, m]时, αi的计算公式为

$ {\alpha _i} = {\alpha _1} + \left( {i - 1} \right)\Delta {\alpha _1} + \frac{{\left( {i - 1} \right)\left( {i - 2} \right)}}{2}\left( {1 - p} \right){a_1}. $ (10)

i=m+1时, αm+1的计算公式为

$ \begin{array}{l} {\alpha _{m + 1}} = {\alpha _m} + \Delta {\alpha _m} = {\alpha _1} + \left( {m - 1} \right)\Delta {\alpha _1} + \\ \frac{1}{2}\left( {m - 1} \right)\left( {m - 2} \right)\left( {1 - p} \right){a_1} + \left( {1 - p} \right){\omega _m}. \end{array} $ (11)

根据构造等差数列(公式(12))来描述靠近笔根部分相邻脊骨段之间的角度增量变化情况, 其中公差为pa2:毛笔笔根处弹性小, 当毛笔受压力小时, 靠近笔跟部分几乎不变形, 角度增量变化很慢;随着毛笔受压力的增加, 拐点逐渐靠近笔根, 角度增量变化快.

$ \Delta {\alpha _i} = \Delta {\alpha _n} + \left( {n - i} \right)p{a_2}. $ (12)

式中:i的取值范围为[m+1, n], 且i为整数.

笔根处角度增量Δαn计算公式如式(13) 所示.由于笔根与笔杆相连, 且受到笔杆的约束, 当毛笔所受的压力小时, 角度增量小, 随着毛笔受力的增加, 拐点逐渐靠近笔根, 角度增量变大:

$ \Delta {\alpha _n} = p{\omega _n}. $ (13)

式中:ωn为笔根节点Nn的角度变化因子, 用以调整不同绘制条件(例如:使用不同软硬程度的毛笔进行绘制)下笔根节点的角度增量的大小, ωn值的大小根据实验给定, 用以描述最真实的毛笔变形情况.

i的取值范围为[m+2, n+1]时, αi的计算公式为

$ \begin{array}{l} {\alpha _i} = {\alpha _{m + 1}} + \left( {i - m - 1} \right)\Delta {\alpha _n} + \\ \;\;\;\;\;\;\frac{1}{2}\left( {2n - m - i} \right)\left( {i - m - 1} \right)p{a_2}. \end{array} $ (14)

i=n+1时, αn+1为毛笔笔杆中心线与纸平面的夹角θ, 则

$ {\alpha _{m + 1}} + \left( {n - m} \right)\Delta {\alpha _n} - \frac{1}{2}\left( {n - m} \right)\left( {n - m - 1} \right)p{a_2} = \theta . $ (15)

如图(5) 所示, 定义$\overrightarrow {N_n^\prime {N_0}}$为笔锋方向, 与Z轴的夹角为γ, 取值范围为[0, 2π).控制节点Ni的坐标值计算公式为

$ \begin{array}{*{20}{c}} {{z_i} = \cos \gamma \sum\limits_{t = i + 1}^n {{{l'}_t}} ,{x_i} = \sin \gamma \sum\limits_{t = i + 1}^n {{{l'}_t}} ,}\\ {{y_i} = \sum\limits_{t = 0}^i {\left( {{l_t}\sin {\alpha _t}} \right)} .} \end{array} $ (16)

式中:i为小于等于n的整数;l0=0;α0=0.

笔根节点NnZ坐标值和X坐标值均为0, Y坐标值为受力变形后笔根和纸面之间的距离, 则

$ \sum\limits_{t = 1}^n {\left( {{l_t}\sin {\alpha _t}} \right)} = L - X. $ (17)

联立式(15) 和(17) 可以求得a1a2的值, 代入式(10)~(11) 和(14) 可以求得每个αi的值, 将αi的值代入式(16) 便可实时计算得到力作用下毛笔中心骨架各个控制节点的坐标.

1.2.3 毛笔表面变形

靠近笔尖的部分由于与纸面接触形成笔触, 从拐点到笔尖处, 笔毛束逐渐变扁, 毛笔轮廓控制面在压力和摩擦力的作用下由圆形变为椭圆, 如图 6所示.

图 6 以控制节点Ni为中心的轮廓控制面变形 Fig. 6 Deformation of outline controlling plane with center node Ni

以控制节点Ni为中心的椭圆长轴长Dia的数学描述如下:

$ {D_{ia}} = {D_i} \times \left( {1 + bp + c{p_f}} \right). $ (18)

式中:Di为初始时以该控制节点为中心的圆形面直径;p为压力因子;pf为摩擦力影响因子, pf=μpbc为调整因子, 用以调整不同绘制条件(例如:使用不同软硬程度的毛笔进行绘制)下椭圆的大小, bc的值通过实验给定, 用以模拟最真实的毛笔变形情况.

根据变形前后面积守恒, 则变形后的椭圆短轴Dib的计算公式如下:

$ {D_{ib}} = D_i^2/{D_{ia}}. $ (19)

相较于靠近笔尖部分, 靠近笔根部分笔毛束不与纸面接触, 且由于笔杆的约束, 使得笔毛束变形越较小, 为了提高计算效率, 保证绘制的实时性, 设定靠近笔根部分的毛笔轮廓控制面保持圆形不变.

1.3 笔纸的水墨传输仿真

在绘制过程中, 毛笔与纸面接触形成笔触, 水墨由毛笔传输到纸面填充笔触形成书画绘制效果.类似于Baxter等[2]的方法, 本文取毛笔变形后与纸面相交形成的正投影区域为笔触区域.一般地, 某采样时间内笔触的水墨量和毛笔所受压力、毛笔当前水墨量等因素相关.设毛笔蘸墨后所含水墨量为Q, 第i个采样时间的压力因子为pi, 则第1个采样时间内毛笔出的水墨量M1的计算公式如下:

$ {M_1} = \eta \times {p_1} \times Q. $ (20)

式中:η为水墨量因子, 用于控制不同绘制条件(例如:使用不同的毛笔和纸张进行绘制)下笔触中的水墨量, η的值根据实验给定, 用以模拟最真实的笔纸之间水墨传输过程.

i个采样时间内毛笔出的水墨量Mi的计算公式如下:

$ {M_i} = \eta \times {p_i} \times \left( {Q - \sum\limits_{t = 1}^{i - 1} {{M_t}} } \right). $ (21)

式中:i为大于等于2的整数

在虚拟绘制过程中, 通过实时计算笔触的水墨量, 实现笔纸间的水墨传输的仿真.

2 仿真实验及分析

本文方法已成功应用于带有力反馈技术的虚拟绘制系统中, 系统开发语言为C++, 并使用Open Inventor完成图形绘制和显示功能, 图形用户界面由Qt生成.该系统安装于HP xw 8600工作站, 触觉力反馈交互设备是由美国公司STI公司开发的Phantom Desktop, 并调用OpenHaptics库进行反馈力计算.

为提高虚拟交互绘制的真实感, 在选择虚拟绘制系统的输入设备时应考虑2个主要因素:输入设备应尽可能和真实毛笔一样能够输入6个自由度;用户能够感知书画绘制过程中产生的力, 并通过力控制书画绘制过程, 以达到满足要求的书画绘制效果;因此输入设备应该能提供触觉感知以模拟真实的书画绘制过程.一些常用的输入设备及特点如表 1所示, 从表中可以看出, 相比于鼠标和Wacom Intuos数位板, Phantom Desktop力反馈设备能够输入6个自由度, 且能通过编程控制传递给用户的力, 更能满足虚拟交互绘制的要求.

表 1 虚拟绘制过程中常用的输入设备 Table 1 Common input devices in virtual painting process

本文系统同时支持鼠标键盘和Phantom Desktop力反馈设备作为系统的输入设备, 为了验证本文方法的有效性和实时性, 设计以下实验:6名用户(包括2名本校艺术生和4名普通学生)在相同的绘制条件下分别通过设备Ⅰ(鼠标、键盘)和设备Ⅱ(Phantom Desktop力反馈设备)绘制相同的楷体“且”字, 每名用户分别使用输入设备Ⅰ和Ⅱ绘制4次楷体“且”字, 统计各个用户分别使用设备Ⅰ和Ⅱ的平均绘制用时(t)如图 7所示, 从图中可以看出使用鼠标、键盘完成绘制的平均用时几乎是使用Phantom Desktop力反馈设备的2倍.实验结果表明, 力反馈技术的引入能有效地提高虚拟绘制的仿真效率.

图 7 各个用户分别使用设备Ⅰ和Ⅱ绘制相同楷体“且”字的平均绘制用时 Fig. 7 Average time of each user painting same Chinese character "qie" with device Ⅰ and device Ⅱ

带有力反馈技术的虚拟绘制系统原理如图 8所示.系统通过Phantom Desktop力反馈设备得到虚拟毛笔的位置、运动信息, 从而计算得到毛笔下压位移, 根据下压位移计算得到虚拟毛笔受力, 通过毛笔受力计算得到毛笔变形, 与纸面接触形成绘制笔道, 从而完成虚拟书画交互绘制过程.与此同时, 将虚拟毛笔受力作为虚拟反馈力传递给力反馈设备, 使用户能够感知绘制过程中产生的触觉反馈力.在虚拟绘制过程中, 如果用户感知到的触觉反馈力大, 说明毛笔下压位移大, 形成的笔道较宽, 可通过抬高虚拟毛笔, 使毛笔下压位移减小, 反馈力将减小, 形成较窄的笔道绘制效果;反之, 可通过下压虚拟毛笔, 使毛笔下压位移增大, 反馈力将增大, 形成较宽的笔道绘制效果.实时力反馈交互技术的引入使得本文方法能有效降低虚拟绘制控制难度, 增强绘制过程真实感.

图 8 带有力反馈技术的虚拟绘制系统原理图 Fig. 8 Schematic diagram of virtual painting system with force feedback technology

不同力作用下虚拟毛笔的变形和形成的笔道如图 9所示.图中A点为毛笔变形时中心骨架的拐点位置, 以拐点为中心的轮廓控制面将笔头分为两部分:靠近笔根部分变形较小;靠近笔尖部分变形较大, 且随着力的增加, 拐点位置逐渐移向笔根处, 笔头变得愈加扁平, 较好地模拟了笔尖处相较于笔根处更柔软、易变形的特点.

图 9 不同力作用下的虚拟毛笔变形及形成的笔道 Fig. 9 Deformations and strokes of hairy brush with different exterted force

在书画绘制过程中, 常用毛笔为羊毫笔、狼毫笔和兼毫笔.羊毫笔的硬度较小, 狼毫笔硬度较大, 兼毫笔硬度处于两者之间, 本文设置羊毫笔、兼毫笔和狼毫笔的硬度系数分别为0.3、0.5和0.7.图 10描述了这3种毛笔的受力与下压位移之间的关系.随着力的增大, 3种毛笔的下压位移均逐渐增大, 其中, 羊毫笔增加速度最快, 兼毫笔次之, 狼毫笔最慢;当对3种毛笔施加相同力时, 羊毫笔下压位移最大, 狼毫笔下压位移最小, 兼毫笔下压位移介于两者之间.从中可以看出, 本文方法能较好地模拟硬度不同的毛笔.

图 10 不同毛笔的受力与下压位移的关系 Fig. 10 Relationships between downward displacements and force exerted on different brushes

在保证其他参数不变的情况下, 毛笔中心骨架上控制节点数目越多, 毛笔变形越逼真, 但计算量越大;反之, 计算量越小.

图 11 受力相同时不同粗细的毛笔变形和形成的笔道 Fig. 11 Deformations and strokes of brushes with different sizes (painting is implemented with same force exerted on brushes)

图 11展示了相同力作用下不同粗细的毛笔变形及其绘制的笔道.从图中可以看出, 毛笔越粗, 形成的笔道越宽.应用本文系统绘制的常用楷书笔划和隶书笔划如图 12所示.

图 12 应用本文系统创作的常用楷书笔划和隶书笔划 Fig. 12 Common strokes painted in Chinese regular and official script created with our system

图 13 (a)14(a)分别为应用本文系统绘制的楷书和隶书风格汉字, 图 13(b)14(b)分别为相应字帖中的汉字, 对比图 13(a)(b)图 14(a)(b)可以得出, 应用本文系统可以较好地模拟真实的汉字特点.如图 15所示为应用本文系统绘制的样画.如图 16所示为应用本文系统绘制的有飞白效果的汉字.如图 17(a)(b)分别为应用本文系统和艺术家绘制的部分树枝.如图 18所示为在本文系统中绘制“墨竹”的过程.

图 13 应用本文系统绘制的楷体字和字帖中相应的楷体字 Fig. 13 Examples of Chinese calligraphic characters (in Chinese regular script) created with our system and that from Chinese copybook
图 14 应用本文系统绘制的隶书风格汉字和字帖中相应的隶书风格汉字 Fig. 14 Examples of Chinese calligraphic characters (in Chinese official script) created with our system and that from Chinese copybook
图 15 应用本文系统绘制的样画 Fig. 15 Sample paintings created with our system
图 16 应用本文系统绘制的有飞白效果的汉字 Fig. 16 Chinese characters with half-dry effect created with our system
图 17 应用本文系统和艺术家绘制的部分树枝 Fig. 17 Part of tree branches created with our system and that painted by artist
图 18 在本文系统中绘制“墨竹”的过程 Fig. 18 Painting process of ink painting of bamboo created with our system
3 结语

本文将力反馈技术引入虚拟绘制过程, 提出了一种新的毛笔建模方法.该方法已成功应用于以HP xw8600图形工作站和Phantom Desktop力反馈设备为硬件平台的带有力反馈技术的虚拟绘制系统.通过仿真实验得出, 本文方法能较好地模拟从笔尖到笔根处毛笔弹性不同的特点和羊毫笔、狼毫笔、兼毫笔等不同硬度的毛笔.本文方法中引入了力反馈技术, 使得用户应用本文系统能有效降低虚拟交互绘制过程的控制难度, 更加真实、自然地绘制有楷书、隶书等特点的汉字和具有“干笔飞白”等艺术效果的绘画作品.

本文方法的优势在于:

1) 相比于通过控制点仿真书画的方法(1D和2D毛笔建模方法), 运用3D毛笔进行绘制使得书画绘制过程更加自然、有效;

2) 相比于直接以单根笔毛作为最小模拟单位[6-7]和将毛笔视为基元的集合[8-9]的建模方法, 本文将毛笔作为整体进行建模, 侧重于模拟整个笔毛的宏观行为特性, 避免了大量冗余的计算, 从而大幅提高了系统的仿真效率及实时响应性;

3) 通过修改毛笔参数能够仿真不同毛笔形成的书画绘制效果;

4) 本文方法可以应用于虚拟3D物体表面绘制过程.

虚拟交互绘制过程中的毛笔建模是一个复杂的课题, 本研究还有很多不足之处, 例如:应用本文方法较难实时绘制具有草书特点的汉字, 这是由于草书的绘制过程需要体现艺术家下笔时轻重缓急的不同;在笔纸水墨传输的仿真中忽略了水分子的蒸发对形成笔道的影响.将在未来的工作中增加考虑毛笔速度、加速度、水分子蒸发率等参数, 以期更好地揭示中国书画绘制过程中毛笔变形和笔纸间水墨传输的机理.

参考文献
[1] DIVERDI S, KRISHNASWAMY A, HADAP S. Industrial-strength painting with a virtual bristle brush[C]//Proceedings of the ACM Symposium on Virtual Reality Software and Technology. New York:Association for Computing Machinery Press, 2010:119-126.
[2] BAXTER B, SCHEIB V, LIN M C, et al. DAB:Interactive haptic painting with 3D virtual brushes[C]//Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. New York:Association for Computing Machinery Press, 2001:461-468.
[3] BAXTER B, LIN M C. A versatile interactive 3D brush model[C]//Proceedings of the 12th Pacific Conference on Computer Graphics and Applications. New York:Institute of Electrical and Electronics Engineers Computer Society Press, 2004:319-328.
[4] BAXTER W, GOVINDARAJU N. Simple data-driven modeling of brushes[C]//Proceedings of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. New York:Association for Computing Machinery Press, 2010:135-142.
[5] STRASSMANN S. Hairy brushes[C]//Proceedings of the 13th annual conference on Computer graphics and interactive techniques. New York:Association for Computing Machinery Press, 1986:225-232.
[6] LEE J. Physically-based modeling of brush painting[J]. Computer Networks and ISDN Systems, 1997, 29(14): 1571–1576. DOI:10.1016/S0169-7552(97)00073-1
[7] LEE J. Simulation oriental black-ink painting[J]. IEEE Computer Graphics and Applications, 1999, 19(3): 74–81. DOI:10.1109/38.761553
[8] XU S H, TANG M, LAU FCM, et al. Virtual hairy brush for painterly rendering[J]. Graphical Models, 2004, 66(5): 263–302. DOI:10.1016/j.gmod.2004.05.006
[9] XU S H, FRANCIS C M L, XU C F, et al. Virtual hairy brush for digital painting and calligraphy[J]. Science in China series F-information sciences, 2005, 48(3): 285–303. DOI:10.1360/03yf0389
[10] CHU N S H, CHIEW L T. An efficient brush model for physically-based 3D painting[C]//Proceedings of the 10th Pacific Conference on Computer Graphics and Applications. New York:Association for Computing Machinery Press, 2002:413-421.
[11] CHU N S H, CHIEW L T. Real-time painting with an expressive virtual Chinese brush[J]. IEEE Computer Graphics and Applications, 2004, 24(5): 76–85. DOI:10.1109/MCG.2004.37
[12] 郭丽, 任向实, 丁怀东. 电子书画系统中毛笔笔型的模拟研究[J]. 昆明理工大学学报:理工版, 2002, 27(6): 83–87.
GUO Li, REN Xiang-shi, DING Huai-dong. Study brush pen model on digital pen simulated system of painting and calligraphy[J]. Journal of Kunming University of Science and Technology:Natural Science Edition, 2002, 27(6): 83–87.
[13] YIN J B, REN X S, DING H D. HUA:An interactive calligraphy and ink-wash painting system[C]//Proceedings of the 5th International Conference on Computer and Information Technology. Los Alamitos:IEEE Press, 2005:989-995.
[14] 宓晓峰, 唐敏, 林建贞, 等. 基于经验的虚拟毛笔模型[J]. 计算机研究与发展, 2003, 40(8): 1244–1251.
MI Xiao-feng, TANG Min, LIN Jian-zhen, et al. An experience based virtual brush model[J]. Journal of Computer Research and Development, 2003, 40(8): 1244–1251.
[15] MI X F, TANG M, DONG J X. Droplet:A virtual brush model to simulate Chinese calligraphy and painting[J]. Journal of Computer Science and Technology, 2004, 19(3): 393–404. DOI:10.1007/BF02944909
[16] MI X F, XU J, TANG M, et al. The droplet virtual brush for Chinese calligraphic character modeling[C]//Proceedings of 6th IEEE Workshop on Applications of Computer Vision. Los Alamitos:IEEE Press, 2002:330-334.
[17] SAITO R, SHIN J, OH K. Oriental brush simulation based on brush rotation model[J]. Journal of Convergence Information Technology, 2013, 8(15): 81–88.
[18] BAI B D, WONG K W, ZHANG Y N. An efficient physically-based model for Chinese brush[C]//Proceedings of 1st International Frontiers in Algorithmics Workshop. Berlin:Springer Press, 2007:261-270.
[19] BAI B D, ZHANG Y N, WONG K W, et al. Chinese hairy brush:a physically-based model for calligraphy[J]. Chinese Journal of Electronics, 2009, 18(2): 302–306.
[20] 白本督, 张艳宁, 李映. 基于中国书法的虚拟毛笔模型[J]. 西北工业大学学报, 2008, 26(3): 391–394.
BAI Ben-du, ZHANG Yan-ning, LI Ying. A Chinese brush model with calligraphy[J]. Journal of Northwestern Polytechnical University, 2008, 26(3): 391–394.
[21] CAI F L, LI H S. Elastic cone for Chinese calligraphy[C]//Proceedings of Fifth International Conference on Graphic and Image Processing. Bellingham:SPIE-INT Soc Optical Engineering Press, 2014:90691X.
[22] 孙美君, 孙济洲, 王征, 等. 3D实用毛笔模型的物理仿真[J]. 天津大学学报, 2008, 41(3): 293–299.
SUN Mei-jun, SUN Ji-zhou, WANG Zheng, et al. Physical simulation of practical 3D brush model[J]. Journal of Tianjin University, 2008, 41(3): 293–299.
[23] 于金辉, 张积东, 丛延奇. 一个基于骨架的笔刷模型[J]. 计算机辅助设计与图形学学报, 1996, 8(4): 241–245.
YU Jin-hui, ZHANG Ji-dong, CONG Yan-qi. A physically-based brush-pen model[J]. Journal of Computer-Aided Design and Computer Graphics, 1996, 8(4): 241–245.
[24] 于金辉, 徐晓刚, 彭群生. 一个3D计算机水粉笔刷模型[J]. 计算机辅助设计与图形学学报, 2000, 12(9): 664–667.
YU Jin-hui, XU Xiao-gang, PENG Qun-sheng. Computer-generated gouache rendering of 3D polygonal models[J]. Journal of Computer-Aided Design and Computer Graphics, 2000, 12(9): 664–667.
[25] IP H H S, WONG H T F. Calligraphic character synthesis using a brush model[C]//Proceedings of 15th Computer Graphics International Conference. Los Alamitos:IEEE, 1997:13-21.
[26] WONG H T F, IP H H S. Virtual brush:a model-based synthesis of Chinese calligraphy[J]. Computers and Graphics, 2000, 24(1): 99–113. DOI:10.1016/S0097-8493(99)00141-7
[27] WONG S T S, LEUNG H, IP H H S. Model-basedanalysis of Chinese calligraphy images[J]. Computer Vision and Image Understanding, 2008, 109(1): 69–85. DOI:10.1016/j.cviu.2007.03.001
[28] LEUNG H, WONG S T S, IP H H S. In the name of art:preserving archaic Chinese calligraphy and reproducing its dynamic brush writing[J]. IEEE Signal Processing Magazine, 2008, 25(4): 49–54. DOI:10.1109/MSP.2008.923087
[29] YU Y J, LEE Y B. A model based technique for realistic oriental painting[C]//Proceedings of the 10th Pacific Conference on Computer Graphics and Applications. Los Alamitos:IEEE, 2002:452-453.
[30] YU Y J, LEE D H. Interactive rendering technique for realistic oriental painting[J]. Journal of WSCG, 2003, 11(3): 538–545.
[31] 王秀锦. 中国水墨画的计算机仿真研究[D]. 天津: 天津大学, 2008.
WANG Xiu-jin.Research on the simulation of Chinese painting[D].Tianjin:Tianjin University, 2008. http://cdmd.cnki.com.cn/Article/CDMD-10056-2009070790.htm
[32] 顾爱军, 丁友东. 基于动力学模型的虚拟毛笔模拟系统[J]. 计算机工程与应用, 2007, 43(30): 224–227.
GU Ai-jun, DING You-dong. Dynamical based virtual brush and ink diffusion simulation system[J]. Computer Engineering and Applications, 2007, 43(30): 224–227. DOI:10.3321/j.issn:1002-8331.2007.30.068
[33] YAO T M, CHEN T D.Black-ink painting synthesis based on brush modeling and ink diffusion algorithm[C]//Proceedings of 3rd International Conference on Intelligent System and Knowledge Engineering, Los Alamitos:IEEE Press, 2008:1152-1155.
[34] 朱墨子, 申飞, 吴仲城, 等. 基于统计分析的虚拟毛笔模型及其应用[J]. 计算机工程, 2009, 35(16): 283–285.
ZHU Mo-zi, SHEN Fei, WU Zhong-cheng, et al. Virtual brush model based on statistical analysis and its application[J]. Computer Engineering, 2009, 35(16): 283–285. DOI:10.3969/j.issn.1000-3428.2009.16.102
[35] 张振庭, 吴江琴, 俞凯. 3D虚拟环境中的书法创作[J]. 计算机辅助设计与图形学学报, 2010, 22(6): 1010–1022.
ZHANG Zhen-ting, WU Jiang-qin, YU Kai. Chinese calligraphy creation in 3D virtual environment[J]. Journal of Computer-Aided Design and Computer Graphics, 2010, 22(6): 1010–1022.
[36] 张振庭. 计算机书法创作模拟与渲染研究[D]. 杭州: 浙江大学, 2011.
ZHANG Zhen-ting.Researches on computer calligraphy creation and rendering[D].Hangzhou:Zhejiang University, 2011. http://cdmd.cnki.com.cn/Article/CDMD-10335-1011057077.htm
[37] YEH J S, LIEN T Y, OUHYOUNG M.On the effects of haptic display in brush and ink simulation for Chinese painting and calligraphy[C]//Proceedings of the 10th Pacific Conference on Computer Graphics and Applications.New York:Institute of Electrical andElectronics Engineers Computer Society Press, 2002:439-441.