采用粒子系统的纹织CAD泥地仿真
2015-03-10罗炳金
罗炳金,陈 敏
(浙江纺织服装职业技术学院,浙江 宁波 315211)
泥地是一种重要的纹织物花型图案元素,泥地典型特点是图案具有整体的规律性和局部的随机性,此类图案元素广泛应用于表现提花纹织物底纹的肌理效果和花型表现效果,使产品具有很强的装饰性和艺术性。
传统泥地效果的绘制,是由花型设计师在意匠纸上手工绘制的,文献[1-2]从织物组织变化归纳手工绘制泥地方法:错位排列法、填加法、组织结合法、平面组合方法、旋转法、重叠组合方法、影光泥地画法、丝路泥地画法等。还有文献将意匠与工艺结合解说泥地的制作方法,这种方法都是在传统的意匠纸上,以织物三原组织及其变化组织为基础,通过组织排列顺序变化、浮长线变化、组织组合而手工制作泥地[3-4]。手工制作泥地能结合工艺要求和织物来描绘泥地,泥地效果逼真,但手工制作泥地效率低下,制作强度比较大,一幅简单的泥地图案,通常花几个小时甚至几天才能绘制、设计完成。
黄翠蓉[5]探讨了织物泥地的计算机实现设想、数学模型、流程图和算法,给出了用VC编制的对应功能函数,能使纹织CAD系统实现一定泥地设计功能,但根据其试验效果,生成泥地颗粒的形态等微观特性和泥地的整体效果远没有达到适用的理想效果,在实际操作上也欠实用性。
现在国内的纹织CAD系统中,主要利用喷洒泥地点的工具随机喷洒颗粒点来实现,并需要手工连续多次喷洒,形成期望的整体效果。由于是手工喷洒,整体效果较难控制,颗粒点间相互作用的微观效果亦无法把握,只能实现如基本颗粒泥地简单的泥地效果。
粒子系统方法是用来仿真和渲染模糊现象的技术。使用粒子系统仿真和渲染的现象有火花、水流、云、雪、雾、尘埃、爆炸场景、流星尾迹等视觉效果,体现模糊对象的动态性和随机性[6]。文献[7]讨论了基于粒子系统特性控制泥地效果和进行泥地模拟的方案,认为用粒子系统模拟泥地有2个优点:粒子系统的离散性和随机性体现泥地的特性;由于粒子系统的定义是过程化的由随机数控制,因此不需要大量的人工计算和设计即可得到细致的图像,但是该文献没有研究根据不同泥地效果建立形态泥地粒子单元的问题,并没有为粒子单元确定相应的表现属性,如大小、位置、颜色、随机性等。
本文基于知识表达、粒子系统和计算机图形学,面向对象构建传统泥地模型,创建不同类型的泥地粒子发射器、粒子影响器和粒子渲染器,并根据泥地效果进行组合,使泥地特效算法有效地应用于纹织CAD系统中,创建出形态各异、效果多变的纹织泥地图案。
1 传统泥地绘制的专家模型构建
针对各种泥地特点和传统手绘的方法,建立基于知识表达和面向对象的专家泥地手绘模型,再结合粒子系统构建泥地特效算法,并应用Visual C++编程环境,对泥地算法进行实现,整个过程见图1。
图1 基于粒子系统的纹织CAD泥地仿真实现过程Fig.1 Implementation process of simulation for mud in fabric CAD based on particle system
知识表达是将一些过程、事实、关系等编码成为一种能被计算机所接受的数据结构,并以适当方式产生智能的行为。在进行知识表达时,面向对象模型进行数据库的设计最为关键。通过面向对象的模型构建把知识规范地表达出来,使面向对象模型的知识具有封装、继承的基本特征。
提花纹织物花纹图案的特点不同,所需要的泥地种类和风格也不一样,提花纹织物所采用的泥地种类有颗粒泥地、冰片泥地、燥笔泥地、渐变泥地、图案泥地等。传统设计师设计时会根据花型需要,确定整体的区域和效果,再据此分布泥地单元,在绘制每个泥地单元时,既要考虑适应整体效果,又要考虑每个泥地单元自身的随机变化,使其自然而不凌乱。
各种泥地效果的传统绘制方法是不同的。手工绘制冰片泥地重点在冰片单元间边界线位置的确定,通过边界线分割出一个个冰片单元,达到既要保证冰片的形态,又要有一定的随机性的要求;手工绘制颗粒泥地,重点在颗粒点的大小和形状,并尽量使颗粒点分布均匀,使整体效果均匀自然;手工绘制燥笔泥地,重点在泥地点随着笔势消逝的过程(整体上具有运笔从深到浅的过程),效果上具有燥笔特有的风格特点;手工绘制渐变泥地,重点在整体泥地效果的变化过程,如颗粒渐变泥地,颗粒点大小和间隙会按一定趋势逐渐变化,绘制变化的自然无痕,才能达到理想的渐变效果;手工绘制图案泥地,重点在图案位置的分布和图案大小的变化,以实现与颗粒泥地有一定相似性。
根据每种泥地效果的特点,对花型设计师手工绘制泥地方法的经验进行提炼总结,建立泥地特效模型,即将手工绘制泥地的特点归纳为对象属性(包括各种泥地与纹织花型的纹针数,经纬密,接回头的关系等);将手工绘制泥地的过程归纳为对象方法;将专家传统手工绘制泥地的经验,封装到一个个对象组件中。在纹织泥地粒子系统的构建时,根据要实现的纹织图案泥地效果的目标需求,通过合适的属性和组件,对专家经验的调用和继承,形成基于粒子系统纹织泥地特效算法的相关数据结构。
以冰片泥地为例,根据传统冰片泥地的结构特点和绘制方法,采用冰片种子膨胀模型,实现冰片泥地的数据结构,流程见图2。
图2 冰片泥地数据结构形成过程Fig.2 Formation process of data structure on ice mud
2 基于粒子系统的泥地效果仿真
粒子系统理论为用纹织CAD绘制各种泥地效果提供了可行的方法,但要得到逼真自然的泥地图案效果,关键在于设计与不同泥地效果相对应的合理完善的粒子发生器、粒子影响器和粒子渲染器。并根据不同的泥地效果,将相应的泥地粒子发射器、泥地粒子影响器、泥地粒子渲染器进行组合,创建出形态各异、效果多变的纹织泥地图案,使泥地的微观特性与宏观表象有机结合在一起,不仅有效表现泥地的宏观整体效果,还要准确表现泥地颗粒单元的形态与分布的效果。为此,根据手工绘制泥地方法提炼的模型和颗粒泥地、冰片泥地、燥笔泥地、渐变泥地、图案泥地等数据库,结合计算机图形学和物理动力学原理,建立粒子系统的粒子发射器、粒子影响器和粒子渲染器。
2.1 泥地粒子的起始位置和方向控制
在进行泥地效果仿真时,粒子发生器可以采用多种形状,例如点、直线、曲线、矩形、椭圆、圆形,并利用粒子发生器控制粒子的发射范围、发射强度、粒子尺寸、粒子形状等特性。根据各种泥地效果的特点,针对不同的泥地类型,采用合理的数据结构,建立随机过程函数控制泥地颗粒单元的形态与分布(利用随机函数对其进行初始值的分配,使各种泥地粒子各具特色),设计出高效的泥地粒子生成方法,从而创建不同类型的粒子发射器,形成不同形态的泥地粒子单元,并为泥地粒子单元确定相应的表现属性。例如对于燥笔泥地,将浓度值作用于随机函数,使这种泥地效果从密集到稀疏呈不规则排列;对于沿轮廓渐变的泥地,将粒子发生器按一定密度均匀分布在图案轮廓上,并按轮廓曲线的垂线方向进行发射;对于图案泥地,用指定的图案元素,作为粒子发生器发射的粒子,实现相应的图案泥地特效。
2.2 利用粒子影响器对粒子进行修正
根据物理动力学原理,结合风力和重力的专业计算数据,建立相应的逼近函数,模拟粒子单元受重力或风等外界因素的影响,改变粒子位置等属性,控制泥地的宏观整体效果,利用粒子影响器对粒子发射器发射出的粒子进行修正,以达到更逼真自然的泥地效果。如燥笔泥地效果,除了要考虑粒子发射器沿笔迹走向的分布外,还要考虑笔划轻重,墨迹扩散等对泥地效果的影响,这就要构建合理的粒子影响器,使粒子的形态和分布更逼真自然,符合燥笔泥地的风格。
2.3 泥地粒子的效果渲染
运用粒子渲染器,通过阴影、光照、浓度、消隐和几何变化等技术修饰泥地粒子的间距、粒子的形态、粒子消亡的变化趋势,进一步实现纹织泥地的典型特点:即图案具有整体的规律性和局部的随机性,使纹织泥地效果在技术上充分实现逼真和美感的要求。例如对燥笔泥地效果,通过构建理想的消隐处理技术,更逼真地模拟燥笔干墨的苍劲效果;对于渐变泥地,按照浓、渐浓、渐稀、稀4部分,进行组织点的长度渐变,使泥地形式变化多端,花纹生动活泼;对冰片泥地利用点、线、多边形等多种方式渲染粒子,使冰片泥地如“敲碎的冰块”的机制更加明显。
2.4 粒子系统的负反馈机制引入
为更好表现粒子系统所生成的纹织泥地效果,对粒子系统引入负反馈机制,构建纹织泥地效果评测机,将评测机测得的泥地效果评测值作为负反馈参数,据此对粒子系统进行动态调整,当泥地粒子系统动态生成新的粒子点,就对不良粒子点进行干涉,令其死亡;当泥地效果在粒子系统负反馈作用下达到动态平衡状态后,泥地生成过程自动结束。
3 泥地仿真效果实现
应用Visual C++是可视化C++语言编程环境,进行面向对象编程,实现泥地算法仿真。在算法实现过程中,除了要构造合理的泥地特效算法对象外,还要考虑算法的实时性。泥地效果越逼真,设计的泥地算法相应也越复杂,泥地效果生成的运算量也就越大,但纹织CAD系统在设计阶段,本身就要求有很高的实时性,才能具有实用性,如冰片泥地效果,操作是利用鼠标或数字化笔完成,因而要求冰片泥地特效的生成是根据鼠标或数字化笔的运动轨迹实时生成。这种实时性,需要对泥地算法进行优化处理。图3示出纵向间隔20,横向间隔20,种子点随机度70%冰片泥地分布及效果图。在自动处理花幅宽度40 cm,花幅高度40 cm范围的泥地时,意匠自动处理在1 min内,实验测试结果体现了该算法能有效快速地表现冰片泥地的形态和随机性。图4示出梵高《向日葵》的颗粒泥地效果。
图3 冰片泥地分布及效果图Fig.3 Demonstration for distribution of ice mud(a)and effectiveness of ice mud(b)
图4 梵高《向日葵》颗粒泥地效果Fig.4 Effect of particle mud for ″sunflower″of Van Gogh
4 结语
粒子系统理论为使用纹织CAD绘制各种泥地效果提供了可行的方法,但要得到逼真自然的泥地图案效果,首先要根据各类传统绘制的泥地特点,基于知识表达和面向对象,构建传统泥地的模型,再根据手工绘制泥地方法提炼的模型,设计相对应的合理完善的粒子发生器、粒子影响器和粒子渲染器。并根据不同的泥地效果,将相应的泥地粒子发射器、泥地粒子影响器、泥地粒子渲染器进行组合,创建出形态各异、效果多变的纹织泥地图案,使泥地的微观特性与宏观表象有机结合在一起,达到有效表现泥地宏观整体效果的目的,并准确表现泥地颗粒单元形态与分布效果。应用Visual C++编程环境,对泥地算法进行实现,结果表明该算法能很好且快速地表现冰片泥地的形态和随机性。
[1]杨顺宝.谈提花织物中泥地组织的简易绘制[J].纺织装饰科技,1996(1):14-15.YANG Shunbao.Simple drawing for mud in jacquard fabric[J].Textile Oranement Technology,1996(1):14-15.
[2]陈松竹.试谈泥地的画法[J].丝绸,1988(1):26-25.CHEN Songzhu.Discussing about drawing for mud pattern[J].Journal of Silk,1988(1):26 - 25.
[3]俞兴华.泥地花织物花本的简易制作[J].丝绸,1989(1):13-15.YU Xinghua.Simple fabrication in jacquard fabric [J].Journal of Silk,1989(1):13-15.
[4]陈亚卿.意匠图的泥地描绘方法[J].丝绸,2000(3):34-36.CHEN Yaqing.Drawing methods of patern mud[J].Journal of Silk,2000(3):34 -36.
[5]黄翠蓉.织物泥地组织的设计[J].现代纺织技术,2003,11(2):1 -3.HUANG Cuirong.The design of fabric mud organization[J].Advanced Textile Technology,2003,11(2):1-3.
[6]MORADE Amrani,BEHZAD Shariat.Deformable organs modeling with multiLayer particle systems[C]//Proceedings of IEEE International Conference on Information Visualization.London,UK:IEEE 2000:351-356.
[7]石美红.粒子系统模拟泥地的探讨[J].西北纺织工学院学报,1995(6):28-30.SHI Meihong.Discussing about particle system simulation of the mud[J].Journal of Northwest Textile Institute,1995(6):28-30.
[8]REVEES W T.Particle systems:a technique for modeling a class of fuzzy objects[J].ACM Computer Graphics,2009(3):359 -376.
[9]STOLK J J,WIJK Van.Surface particles for 3D f1ow visualization[J].Advances in Scientific Visulaization,1992(5):29-32.
[10]SIMA Karl.Particle animation and rendering using data parallel computation[J].Computer Graphics,1990(4):22-26.