APP下载

基于Petri网的水墨扩散算法设计与实现

2019-10-18谭腾腾杨长强

软件导刊 2019年9期

谭腾腾 杨长强

摘 要:Petri网是一种用来描述分布式系统的模型,不仅可描述系统结构,也能模拟系统运行。为提高计算机仿真水墨扩散真实性,提出基于Petri网的水墨扩散算法,建立水墨扩散仿真模型,并在宣纸模型上模拟水墨扩散动态效果。首先根据水墨粒子扩散条件等因素分析水墨扩散的不同情况;然后建立优先级函数,为每个托肯添加属性,根据托肯属性判断其优先级序列并映射到水墨扩散模型中,即为水墨粒子扩散优先级序列。实验结果表明,该算法可增强水墨扩散随机性,实现水墨在宣纸上真实的晕染效果,且通过模型模拟可提前设计水墨作品布局规划,预测作品最终实现效果,有效避免作品绘制过程中可能发生的问题。

关键词:水墨粒子;扩散算法;Petri网建模;优先级;扩散区域

DOI:10. 11907/rjdk. 191902 开放科学(资源服务)标识码(OSID):

中图分类号:TP312文献标识码:A 文章编号:1672-7800(2019)009-0088-05

Design and Implementation of Ink Diffusion Algorithm Based on Petri Nets

TAN Teng-teng,YANG Chang-qiang

(College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China)

Abstract:Petri net is a model used to describe distributed systems. It can not only describe the structure of the system, but also simulate the operation of the system. In order to improve the authenticity of computer simulation of ink diffusion, an algorithm of ink diffusion based on Petri net is proposed. The simulation model of ink diffusion is established and the dynamic effect of ink diffusion is simulated on Xuan Paper model. Firstly, the different results of ink diffusion are analyzed according to the diffusion conditions of water particles and ink particles. Then a priority function is established to add attributes to each token and determine its priority sequence according to its attributes. Then the sequence is mapped to the ink diffusion model and thus becomes the priority sequence of ink particle diffusion. The experimental results show that the proposed algorithm can enhance the randomness of ink diffusion and achieve the halo effect of real ink on rice paper. Moreover, through model simulation, the layout of ink and wash works can be planned and designed well in advance, the final effect of the works can be predicted, and the possible shortcomings in the actual drawing process can be effectively avoided.

Key Words:ink particles; diffusion algorithm; Petri net modeling;priority; diffusion area

0 引言

水墨画荟萃了中华民族文化精髓,是中国传统艺术的精华,属于中国画的一个重要分支,长期以来在中国绘画史上占据着非常重要的地位。

水墨画是一种极具中国特色的绘画艺术,从工具和材料上来看,绘画需使用毛笔、宣纸和墨,注重虚实结合,意境优美,能将水、墨和宣纸属性特征很好地体现出来,形成干湿浓淡各不相同的水墨调和情况与水墨在宣纸上扩散渗透的艺术效果。中国水墨画经过几千年历史长河的洗礼,形成了许多风格迥异的艺术派系,其技法各不相同,同时在绘制过程中又融合了画家大量情感因素,使作画风格变换多样的中国水墨画很难与严谨规范的计算机技术结合。因此需对水、墨、宣纸等绘画材料的特征进行分析,确定水墨扩散条件及其相互作用关系,以此加深水墨画与计算机技术之间的联系。

随着经济的飞速发展,公众对精神文化的需求越来越强烈,极具中国特色的水墨画和书法成为丰富公众精神生活不可或缺的重要内容。近年来计算机图形学技术飞速发展,水墨扩散仿真研究的内容也愈加广泛,如焦景山等[1]提出基于浅水流动模型的二维纸纤维结构流体仿真模型,该模型通过一个时间推进引擎,不断更新、查看纸细胞中水墨粒子是否能与相邻纸细胞中的水墨粒子发生流动或转移,将能转移的水墨粒子进行转移,直至纸细胞及其相邻纸细胞中所有水墨粒子均无法再转移流动。该模型虽能基本实现扩散效果,但由于其扩散效果规律性太强,无法实现水墨在宣纸上真实的晕染效果;石永鑫等[2]提出基于粒子系统的仿真算法,该方法需先提取邊界,对像素进行边缘检测,获得二值化图像后再进行边缘提取,完成粒子初始化后进行伪布朗运动,直至粒子运动全部停止。该方法可增强水墨扩散随机性,但由于在实际应用过程中会出现许多不同的随机效果,因此需要提前归纳出许多参数,计算量较大。

本文在实现计算机水墨扩散仿真的基础上,提出基于Petri网的水墨扩散模型,首先根据水墨粒子扩散条件等因素分析水墨扩散的不同情况。由于水墨粒子在位于扩散中心区域和扩散边缘区域时,扩散情况有所不同,所以建立Petri网系统描述细节,当水墨粒子超过当前纸细胞最大容量时,多余水墨粒子转移到相邻纸细胞中,若水墨粒子没有达到纸细胞最大容量,则水墨粒子不转移;然后再根据宣纸模型内分布的所有纸细胞情况建立系统的Petri网模型,模拟完整的水墨扩散情况。

本文构建的Petri网模型可大幅增强水墨扩散动态性和随机性,并正确模拟出水墨粒子动态扩散过程,使水墨动态扩散无论在形式上还是内容上均得到极大丰富。

1 Petri网概述

Petri网是一种用来描述分布式系统的模型,它不仅可描述系统结构,也能模拟系统运行[3]。

定义6优先级函数。由于每一个托肯均有属性,因此根据托肯属性判断其优先级,建立优先级序列,优先级越大,托肯越先执行。

2 水墨扩散条件分析

2.1 水粒子扩散条件

当纸细胞中含有水粒子,但纸细胞不饱和时,周围的水粒子会向该纸细胞中扩散;当纸细胞中含有水粒子,且纸细胞中水粒子饱和时,该纸细胞中的水粒子会向周围纸细胞扩散,周围纸细胞中的水粒子也会向该纸细胞中扩散;如此循环往复,直至水扩散完成后,形成最终的扩散效果[5]。

2.2 墨粒子扩散条件

墨粒子只有在水粒子的带动作用下才能进行扩散运动,否则在仅有墨粒子的情况下无法扩散,墨粒子扩散仅在纸细胞中有水粒子的情况下发生。

当纸细胞中含有墨粒子,但纸细胞不饱和时,周围的墨粒子会向该纸细胞中扩散;当纸细胞中含有墨粒子,且纸细胞中墨粒子饱和,但由于墨粒子的积墨作用,使纸细胞周围仍然粘附有多余的墨粒子时,该纸细胞粘附的墨粒子会向周围纸细胞中扩散;当纸细胞中含有墨粒子,且纸细胞中墨粒子正好饱和时,该纸细胞中的墨粒子会向周围纸细胞中扩散,周围纸细胞中的墨粒子也会向该纸细胞中扩散[6]。如此循环往复,直至水墨扩散完成后,形成最终的扩散效果。

2.3 扩散中心区域水墨粒子变化

假设纸细胞最大水墨粒子容量为n,此时库所p0内标识数为n+m,比纸细胞最大水墨粒子容量多,将权值设置为n+1,则表明当库所p0中标识数大于纸细胞中最大水墨粒子容量时,多余水墨粒子可被转移至其相邻纸细胞中,此时t0发生[7]。

t0发生使得:①p0中剩余标识m-1加上n-m+1成为n,为纸细胞可容纳的最大水墨粒子容量;②p1库所中的标识数变为m,此时,位于中心位置的水墨粒子全部转移完毕。

如图3、图4所示,假设纸细胞内最大水墨容量为7,此时库所p0的标识数为10,大于纸细胞的最大容量,权值为8,此时t0可发生,t0发生后,库所p0内标识数变为7,p1内标识数变为3。此时说明纸细胞正好达到饱和,多余水墨粒子转移到相邻纸细胞中[8]。

2.4 扩散边缘水墨粒子变化

(1)若m>0,则水墨粒子变化如2.3所述。

(2)若m≤0,则t不能发生,标识留在库所p0中,即水墨粒子仍留在原纸细胞中,不向外转移[9],如图5所示。

3 水墨扩散模型构建

3.1 系统流程

如图6所示,当纸细胞中含有水粒子时,首先判断纸细胞中的水粒子是否饱和,若饱和,则向周围纸细胞扩散,同时该纸细胞中的水粒子有可能不再饱和,此时周围纸细胞的水粒子会向当前纸细胞擴散,如此循环往复,直到所有纸细胞中水粒子均无流动可能;若纸细胞不饱和,则周围纸细胞中水粒子向当前纸细胞流动,直到纸细胞水粒子饱和,此时,该纸细胞中的水粒子也可能向周围纸细胞流动,直至所有纸细胞中水粒子都无法再流动,扩散活动结束。

如图7所示,当纸细胞中含有墨粒子时,首先判断纸细胞中的墨粒子是否饱和,若饱和,则向周围纸细胞扩散,同时该纸细胞中的墨粒子有可能不再饱和,此时周围纸细胞墨粒子会向当前纸细胞中扩散,如此循环往复,直到所有纸细胞墨粒子均无流动可能。若纸细胞不饱和,则周围纸细胞墨粒子向当前纸细胞中流动,直到纸细胞墨粒子饱和,此时,该纸细胞中的墨粒子也可能向周围纸细胞流动,直至所有纸细胞墨粒子都无法再流动,扩散活动结束。需注意墨粒子只有依附于水粒子才能进行流动,否则仅有墨粒子无法进行扩散运动。

3.2 Petri网模型

假设有A、B、C 3个纸细胞,p0、p1、p2分别代表这3个纸细胞的状态[10],t0、t1、t2表示判断当前纸细胞是否属于扩散中心区域纸细胞,p3、p4、p5表示这3个纸细胞所属区域,t3则代表这3个纸细胞中是否含有水墨粒子,p6表示纸细胞中不含有水墨粒子,p7表示纸细胞中含有水墨粒子,t4表示判断纸细胞中水墨粒子是否饱和,p8表示饱和,p9表示不饱和[11]。无论当前纸细胞水墨粒子是否饱和,均会向四周扩散,且四周的水墨粒子也会向当前纸细胞扩散。因此p10表示当前纸细胞水墨粒子向四周扩散,p11表示四周水墨粒子向当前纸细胞扩散,t6表示扩散,最终p12和p13代表扩散结果,即扩散完成后纸细胞是否饱和[12]。

3.3 系统可达图

初始标识M0下,t0、t1、t2发生得到M1、M2、M3;在标识M1下变迁t1、t2发生得到M4、M5;在标识M2下变迁t0、t2发生得到M4、M6 ;在标识M3下变迁t0、t1发生得到M5、M6;在标识M4、M5、M6下变迁t0、t1、t2发生得到M7,可判断当前纸细胞是否属于扩散中心区域纸细胞[13];在标识M7下变迁t3发生得到M8,可判断这3个纸细胞是否含有水墨粒子;在标识M8下变迁t4发生得到M9,可判断纸细胞中水墨粒子是否饱和[14];在标识M9下变迁t5发生得到M10,水墨粒子向四周扩散,四周的水墨粒子也向当前纸细胞中扩散;在标识M10下变迁t6发生得到M11,得到最终扩散结果[15]。

4 实验结果

本文方法的实验结果与真实水墨扩散对比如图10、图11所示,其中,图10为真实墨滴在宣纸上的扩散效果,图11为根据本文方法实现的计算机仿真墨滴扩散效果,对比可知,本文方法实现的水墨扩散效果较为真实。

本文在研究过程中首先根据水墨粒子扩散条件分析在相邻纸细胞中水墨粒子扩散情况,并构建Petri网模型,然后根据整个宣纸模型内分布的所有纸细胞情况建立系统的Petri网模型以模拟完整的水墨扩散情况。本文研究的水墨扩散方法操作简单,易于实现,能正确模拟出水墨粒子转移情况和边缘晕染现象,可为后续计算机模拟水墨作品工作提供有效支持。

5 结语

本文基于Petri网建立的水墨扩散模型,可正确模拟水墨粒子动态扩散效果。首先根据水墨粒子不同的扩散条件,制定系统流程图,具体分析水墨扩散情况;再根据墨滴不同的扩散区域,构建Petri网系统,描述水墨粒子转移情况;最后建立整体的Petri网模型,并设计系统可达图,对水墨扩散进行仿真实验。实验结果表明,本文建立的Petri网模型极大增强了水墨扩散动态性和随机性,可正确模拟出水墨粒子动态扩散过程,使水墨动态扩散无论在形式上还是内容上均得到极大的丰富。

在以后的研究工作中,可以建立宣纸模型,并在宣纸模型中增加纹理特征,更加真实地模拟出水墨在宣纸上的扩散效果。同时,在系统建模中添加水墨粒子扩散速度、积墨作用、宣纸晕染速度、墨滴数量等条件因素,并利用分层建模技术建立水墨扩散循环模型,使水墨扩散模型更加完善,操作更加方便。

参考文献:

[1] 焦景山,孙济洲. 中国水墨画效果的图形仿真[C]. 数字化艺术论坛,2002:190-204.

[2] 石永鑫,孙济州,张海江,等. 基于粒子系统的中国水墨画仿真算法[J]. 计算机辅助设计与图形学学报,2003,15(6):667-672.

[3] 吴哲辉. Petri网导论[M]. 北京:机械工业出版社,2006.

[4] 袁崇义. Petri网原理[M]. 北京:电子工业出版社,1998.

[5] 陈锋,张文俊,余颖. 仿真水墨扩散效果的元胞自动机改进模型[J]. 中国图象图形学报,2007,12(4):740-745.

[6] 李大锦,白成杰. 水墨画笔触的快速渲染算法及其应用[J]. 计算机辅助设计与图形学学报,2014,26(3):356-363.

[7] 石春玲,杜玉越. 基于邏辑Petri网的物流配送系统建模[J]. 系统仿真学报,2007,19(1):114-123.

[8] 代思婕. 基于Petri网的菜鸟驿站取件流程优化[J]. 物流与供应链,2018,17(6):163-164.

[9] 王列伟. 基于Petri网的道路交叉口建模方法及比较研究[J]. 计算机工程与应用,2018,54(14):211-216.

[10] 王聘,刘伟,杜玉越. 基于逻辑数据Petri网的业务过程建模与分析[J]. 计算机集成制造系统,2017,23(5):921-930.

[11] 许荣斌,石军,张鹏飞,等. Petri网的映射变迁关系相似性度量[J]. 浙江大学学报,2017,51(6):1205-1213.

[12] 曹斌,王佳星,范菁,等. 基于Petri网的流程间元素映射方法[J]. 软件学报,2015,26(3):474-490.

[13] 秦江涛. 基于Petri网的生产系统建模与分析研究[J]. 上海理工大学学报,2017,39(4):358-367.

[14] 齐亚峰,孙济州,商毅. 中国水墨画的基本艺术特征及其计算机仿真实现[J]. 中国图象图形学报,2003,8(5):562-566.

[15] 刘晓崇,赵凡,张文俊. 基于真实场景的水墨风格图像自动生成方法[J]. 电视技术,2014,38(15):249-252.

(责任编辑:江 艳)