APP下载

基于笔法模型的国画一笔多色模拟

2012-07-09邓学雄王脘卿

图学学报 2012年6期
关键词:笔迹中锋笔尖

邓学雄, 李 牧, 章 文, 王脘卿

(华南理工大学设计学院,广东 广州 510006)

在计算机艺术中引入国画的计算机仿真已有不少研究,如水墨画仿真,美国麻省理工学院媒体实验室的 S.Strassmann[1]基于平面笔刷的模拟方式,提出由笔划、笔刷、蘸墨和纸张4个基本部分组成的虚拟毛笔模型。Guo和Kuii[2]上尝试加上了墨扩散效果的模拟。J.Lee[3]认为水墨画模拟研究应既能看到生成的结果,又能感受到实际作画的过程中毛笔的运动和笔毛的形变。香港科技大学的Chu和Tai[4-5]提出的一种三维毛笔模型,使用者就像握着真实的毛笔进行书画创作。

张志尧等人在“一笔多色”仿真方面进行了研究[6-7],提出了CIE-Lhs混合算法等多种色彩混合算法的计算思路,可以较真实地模拟出现实颜料混合的结果。但该研究只局限于“中锋”笔法,还未建立较为完善的笔法模型。

在国画技法中,笔锋的运用可分为中、侧、逆、拖、散等数种,一般以中锋为主,辅以侧逆散拖。本研究是在“中锋”笔法仿真[7]的基础上,就“侧锋”、“智能笔法”方面作了进一步的探讨。

1 笔锋模型

当一根毛笔同时沾有不同的墨水和颜料,墨水和颜料将会在笔尖至笔腹形成一定的分布规律。当毛笔在纸上画过留下痕迹,该笔迹也会受颜料在毛笔中分布的影响,颜色有一定的分布规律。因而我们将毛笔的笔锋模型抽象成由若干特性组成的数据结构。

本研究的模拟输入设备是数位板 Intuos3 PTZ-431W,配有压感笔,如图 1所示。笔法模拟的基本思想是:从采集压感设备定时传输给电脑的离散信息开始,首先生成单个笔迹的特征点数组,并确定笔迹的各项参数;再通过MFC GDI(函数库)完成初始笔道的绘制;然后根据用户采用的笔法,在ShapeSwitch算法中计算子笔道的参数,叠加在初始笔道上。

图1 笔法的模拟

1)特征点:特征点的属性有坐标值、粗细值、压力值和角度值等参数。子笔道的生成是通过按照特征点集合中的特征点依次连接实现的,分别是特征点1、2、3 … n,如图2所示。

2)子笔道 若笔尖和笔腹的颜色不同,笔迹会出现一笔多色的效果。通过若干个子笔道按一定顺序叠加来实现笔迹色阶的变化。子笔道的属性有:特征点集合、序数、笔道样式和笔道颜色。

3)毛笔的规格 为了模拟笔毛的压力变化,本系统采用圆锥模拟笔毛在静止状态下的几何形状,同时用圆形来模拟笔尖与纸张接触时的笔毛剖面。毛笔规格的属性有:笔毛根部平面半径、笔毛长度。

4)笔迹的颜色 为了模拟笔迹中的色阶变化,设定一个笔迹的颜色的数据结构。笔迹颜色的属性有:笔腹颜色、笔尖颜色、笔腹颜色占笔迹的百分比、笔尖颜色占笔迹的百分比,这4个参数都是通过对话框进行设定的。

图2 特征点连线

2 一笔多色的算法思想

2.1 初始笔迹的生成

1)输入信息的读取和记录

通过Wintab1.1读取和记录压感笔在触到数位板时的信息Packet。Packet消息为一系列离散特征点,存放在笔锋模型数据结构的特征点集合中,除了记录坐标信息外,还包括压力参数和角度参数。

2)笔迹粗细的计算

为了保持系统运算的速度,采用基于中锋笔法的笔迹宽度计算公式来表达侧锋笔法的笔迹宽度,通过对话框直接设定数值。

3)笔迹的显示

笔迹的显示是根据特征点集合中,特征点的位置和力度值(压力)画出粗细渐变、位置连续的小线段。只要小线段的长度足够短,粗细变化足够缓慢,就可以根据用户压感板输入的位置和力度(压力)绘制出灵动而平滑的笔迹。

2.2 笔迹色阶变化的模拟

将多个粗细和颜色渐变的笔道按一定位置叠加,实现一笔多色效果。

2.2.1 叠加笔道数目的确定

笔迹颜色变量:笔腹所占的百分比midPercent,用来记录笔腹笔道(叠加的最上层笔道)的粗细占整个笔道(叠加最底层笔道)的百分比,该参数由用户选定。那么最上层笔道中每点的画笔大小即等于初始笔迹中每点的画笔大小乘以midPercent。

假设strokeFirst笔道中最粗的地方笔画大小为 maxWeight,则在该点 strokeLast的笔画大小为maxWeight* midPercent,两个笔画大小的差值为maxWeight*(1- midPercent),达到最大值。为了使一笔多色笔道的颜色过渡达到平滑效果且计算效率达到最优,在 strokeFirst与 strokeLast之间添加maxWeight*(1- midPercent)-1个笔道,这使得在多色笔道最粗的位置,顺序叠加的笔道之间差值接近1,达到最高的分辨率。

2.2.2 叠加子笔道的参数设定

在笔锋模型中,笔迹都是由形状颜色相似的若干个子笔道按照一定方式叠加。一个一笔多色笔道共由n个子笔道组成,则最上层笔道的index值为 n-1。最外层笔道的颜色为笔尖颜色,最内层笔道的颜色为笔腹颜色。基于色彩混合模型[6],假设每一个子笔道的颜色由笔腹颜色和笔尖颜色混合得到。子笔道中的特征点集合主要是用于表示子笔道的位置以及形状。

1)中锋运笔时笔尖始终保持在绘制线条的中间,笔尖和笔腹处在完全一致的运笔路径上,颜色是沿着运笔路径向笔触两边均匀扩散,所以不存在笔尖和笔腹所含色料浓度的不同而导致笔触的颜色色阶变化。因此,中锋笔法的一笔多色模拟,是按规律渐进地改变子笔道的粗细,然后依照父笔道的特征点位置依次叠加来实现色阶由中间向两边渐变,如图3所示。

图3 中锋笔法的子笔道叠加

2)侧锋运笔时笔尖和笔腹不在一个运行路径上,由于笔尖和笔腹所含色料浓度不同,所以侧锋画出的笔触就有色阶层次的区别。各个子笔道的叠加位置逐渐向笔尖部分偏移,以实现颜色由笔尖向笔腹的过渡。侧锋笔法所产生的一笔多色效果,色阶是由笔迹的一侧向另外一侧变化的。因此,我们要通过ShapeSwitch算法改变各个子笔道的特征点集合,将子笔道的特征点坐标沿着父笔道特征点的法向量方向偏移,使各个子笔道一侧的边缘重合在一起,实现色阶的渐变,如图4所示。

图4 侧锋笔法的子笔道叠加

子笔道的生成是通过特征点依次连接实现的,由于子笔道是按笔迹的边缘重合,则各个子笔道的都要向重合边缘的一侧偏移。但无论采用何种叠加方式,子笔道的起点、终点的坐标与父笔道是相同的。下面讨论第2点到第n-1点的情况,计算子笔道各个特征点的偏移方向。

(1)沿斜线方向行笔

沿斜线4个不同方向行笔时,会产生点、提、勾、撇、短撇、捺等笔划。最典型的特征就是相邻特征点之间会存在着位移变化,特征点之间的x坐标和y坐标不相同。

设映射 f :I→R2,t | → X ( t) = {x1( t),x2(t )}是由父笔道特征点连接而成的曲线参数。

angle - n ormalk是第k个特征点偏移方向的弧度值,但不反映过Line1所在的象限,如图5所示。所以还应该讨论Line1所在的象限,然后对算出的 a ngle - n ormalk值作出修正。修正后,可以算出第k个特征点的偏移向量Nk为Nk={cos(a ngle - normalk) ,sin(a ngle - normalk)}

图5 侧锋笔道叠加示意图

(2)沿水平或竖直方向行笔

沿水平或竖直方向行笔时,会产生横、竖两种笔划。最典型的特征就是相邻特征点之间会存在着位移变化,沿水平方向行笔时,特征点之间的x坐标不相同、y坐标相同;沿竖直方向运笔时,特征点之间的x坐标相同、y坐标不相同。

angle - n ormalk值经过修正后,我们可以算出第k个特征点的偏移向量Nk为

(3)无偏移

这是一种特殊情况,即压感笔没有移动,通常在顿笔时发生。这种情况下,相邻特征点之间没有位移。

3 一笔多色效果的实现

3.1 笔法模拟

本系统的模拟输入设备是数位板和压感笔,如图1所示。利用压感笔的压力参数(pressure)和角度参数(Angle_plane)来模拟毛笔笔迹粗细、颜色的渗透与扩散。通过感应压感笔与数位板之间倾斜角度的变化,实现“中锋”和“侧锋”的实时切换。从而真实自然地实现国画技法的模拟效果。

1)中锋:“笔”与“纸”垂直接触,如图1(a)所示。笔尖弯曲部分的长度与压力成正比,此时所产生的笔迹宽度为笔毛弯曲部分的宽度在纸面上的投影。而跟据投影原理可知,该时刻笔毛在纸平面的投影是没有失真的。所以,当中锋运笔时,采用的圆形的半径的变化范围应该在Rstroke之内。中锋运笔所产生的笔迹的粗细,可以通过压力参数控制笔毛与纸张接触面的圆形半径大小来实现。图6为中锋笔法的一笔多色的模拟效果图。

图6 中锋笔法的一笔多色效果

2)侧锋:“笔”与“纸”接触时保持一定的夹角,如图1(b)所示。笔毛弯曲部分的尺寸与压力成正比,该时刻笔毛弯曲形变部分的长度在起作用。而由于笔杆与纸平面存在一定夹角,弯曲形变了的笔毛也不会与纸平面完全接触,只存在部分接触。该时刻笔毛弯曲部分的长度在纸平面上的投影无法真实的反映笔迹的宽度,存在失真。所以,当侧锋运笔时,采用的圆形的半径的变化范围应该在笔毛长度Hstroke之内。侧锋运笔所产生的笔迹的粗细,可以通过特征点中的压力值、夹角值和笔毛弯曲长度在纸平面的投影值来改变。图 7为侧锋笔法的一笔多色效果图。

图7 侧锋笔法的一笔多色效果

3)智能笔法:运笔时既有“中锋”,又有“侧锋”,系统通过压感笔与数位板之间倾斜角度的变化,自动实现“中锋”和“侧锋”的实时切换。图8中部分笔法即为智能笔法的一笔多色效果。

图8 笔法效果图

3.2 一笔多色模拟效果

图9是应用本研究的笔法系统书写具有一笔多色效果的“秋实图”。从图 8的笔法效果分析图可以见,在“秋”字中的撇,执笔时采用的是中锋笔法;在“图”字的竖,执笔时笔杆与纸面之间存在一定的倾斜角,即侧锋笔法;在“秋”字右侧的撇、“图”字右侧的横折钩等笔划中采用了智能笔法(一笔中包含中锋和侧锋笔法)。图10中各个花瓣通过运用不同的笔法而显得姿态各异,再加上蘸色的浓度不同从而使颜色深浅渐变,自然地体现在花瓣上。图11通过采用不同的笔法,表达出叶片和琵琶的多种色彩状态。

图9 一笔多色效果图(1)

图10 一笔多色效果图(2)

图11 一笔多色效果图(3)

4 结 束 语

本课题主要研究侧锋笔法和智能笔法的一笔多色效果的计算机模拟,力求实现多色笔迹的颜色根据笔法的变化真实自然过渡。运用笔锋模型,将多个子笔道进行叠加,避免了逐点计算笔道中的颜色的复杂过程,提高了运算速度。针对国画笔法多变以至于色彩变化丰富的问题,提出了智能笔法的概念和实现方法。应用基于中锋笔法和侧锋笔法相组合的智能笔法模型,实现了中锋和侧锋笔法的实时“自动”切换,进一步丰富了中锋一笔多色的模拟研究[7]。然而国画绘画是一个复杂而主观的创作过程,以上关于国画技法的计算机模拟技术只是初步的探讨,还有不少方面需要进一步的研究和改进。

[1] Strassmann. Hairy brushes [C]//Proceedings of SIGGRAPH’86,1986: 225-232.

[2] Guo Qinglian,Tosiyasu L K. Modeling the diffuse painting of ‘sumie’ [C]//Proceedings of the IFIP WG5.10 Working Conference,Tokyo,1991: 329-338.

[3] Lee J. Simulating oriental black-ink painting [J]. IEEE Computer Graphics & Application,1999,19(3):74-81.

[4] Chu N S H,Tai C L. An efficient brush model for physical-based 3D painting [C]//Proceedings of the 10thPacific Conference on Computer Graphics and Applications (PG’02),2002: 413-421.

[5] Chu N S H,Tai C L. Real-time painting with an expressive virtual Chinese brush [J]. IEEE Computer Graphics and Applications,2004,24(5): 76-85 .

[6] Deng Xuexiong,Wen Zhang,Zhang Zhiyao.Computer simulation of CIE-Lhs color model in multi-color effect [C]//Proceedings 2009 IEEE International Conference on Computer-Aided Industrial Design & Conceptual Design,Wenzhou CHINA,2009:1321-1324.

[7] 邓学雄,章 文,张志尧,等. 国画一笔多色的计算机模拟[J]. 工程图学学报,2010,31(2): 134-138.

猜你喜欢

笔迹中锋笔尖
寻找笔尖上的少年
让真情在笔尖流露
巧克力能否去除桌上的油性笔笔迹
深情笔尖下的西部惊叹曲
笔迹线条主动触觉在笔迹鉴定中的运用
蔡中锋小小说三题
蔡中锋微小说二题
笔迹鉴定过程中的心理偏差及其控制
蔡中锋闪小说四题
蔡中锋闪小说两篇