2.Julia集
Julia集实际上是Mandelbort集的子集,它对应于Mandelbort集内、集外的每个点,所以Julia集是不计其数的。Julia集绘制方法和Mandelbort集完全一样,是用同样的迭代公式实现。不同的是,Mandelbort集固定为零,变化c,考察迭代计算结果,根据结果给c点位置着色,从而绘出图形。而Julia集则是固定c,变化,同样根据迭代结果给点位置着色而绘出图形。因此根据不同的c值,可以得到形态各异的图形。下图中c的值分别为:c = -1.0+0.05 i , c = -0.5+0.55 i , c = 0.25+0.52 i , c = 0.66 i 及 c = - i 。
3. L系统
L系统是美国生物学家Aristid Lindenmayer提出的研究植物形态与生长的描述方法,开始时只着重于植物的拓扑结构,即植物的主干与旁支之间的相邻关系,后来把几何解释加进描述过程,形成所谓的L系统。
L系统是一种形式语言,它的公理和产生式是由字符串描述的,若要将L系统与图形联系起来,就需要给L系统中每个字母赋予一个特定的含义。设想有一只乌龟在平面上爬行,其状态用三个值描述,记以(x , y ,∝),其中x , y 为乌龟所在位置的直角坐标,∝表示乌龟头的朝向,再给出爬行的步长d及扭转方向的角度增量§,下面是符号的含义解释:
F:向前移动一步,步长为d,乌龟的状态为(x` , y `,∝`),其中X`=X+dcos∝,Y`=Y+dcos∝
从(x, y)向(X`,Y`)画一直线段;
+:向左转§角,乌龟下一状态为(x, y,∝+§),规定正向角是逆时针方向,负向角是顺时针方向;
-:向右转角,乌龟下一状态为(x, y,∝-§)。
[ :将当前乌龟爬行的状态压入堆栈,信息包括乌龟所在的位置与方向等;
] :从堆栈中弹出一个状态作为乌龟的当前状态,但不画线。
按照以上的字符定义,就可以用简单的方式描述植物的分支结构。下图就是由字符串P:F F - [- F + F + F ] + [+ F - F - F ]生成的。不难看出,通过定义不同的字符串,可以控制植物的生长方向和生长类型;通过迭代次数的不同,可以控制植物生长的浓密程度。用这种方法绘制出来的植物往往可以达到比较逼真的效果。L系统的算法仅是对图形的简单实现。如果要使分形图在包装装潢设计中达到完美效果,还可以使用调色板及其动画技术形成景物色彩自然过度,实现春、夏、秋、冬四季景色的更替。下图中的两棵树就是使用调色板变化来表现夏秋两季时间上差异的。
与Mandelbrot 集和Julia集类似,L系统也可以更改参数来获到不同的植物形态。如:定义不同的字符串,控制植物生长类型;定义不同的迭代次数,控制植物生长的高度和浓密程度;定义不同的偏转角,控制植物的生长方向和倾斜度。如下图中不同形态的L系统分支结构图,其中,(a),(b)是由单个字符串生成的,(c)是由五个字符串生成的。
因此,在常用CAD软件以复制、剪切、删除、合成和艺术加工为主要手段的同时,利用分形理论来绘制图形,不仅为包装设计者提供了一种新的设计手段,而且使设计者有更大的想象和发挥空间,可以更直接的体现设计者的创作意图。除此之外,将绘制的各种变幻莫测、色彩斑斓的美丽分形图案应用到包装装潢设计中,不仅有很好的实用性,还具有很高的观赏价值,相信分形图在包装设计中会有很好的发展前景。