130 likes | 376 Views
第 4 章. 迭代函数系统算法. 4.5 Sierpinski 垫片的 IFS 生成 4.6 拼贴与 IFS 码的确定 4.7 IFS 植物形态实例 4.8 复平面上的 IFS 算法. 4.1 混沌游戏 4.2 迭代函数系统 4.3 相似变换与仿射变换 4.4 IFS 码. 混沌游戏. +. ì. (. Z. A. ). /. 2. ,. n. ï. =. +. Z. (. Z. B. ). /. 2. ,. í. +. n. 1. n. ï. +. (. Z. C. ). /.
E N D
第 4章 迭代函数系统算法 4.5 Sierpinski垫片的IFS生成 4.6 拼贴与IFS码的确定 4.7 IFS植物形态实例 4.8 复平面上的IFS算法 4.1 混沌游戏 4.2 迭代函数系统 4.3 相似变换与仿射变换 4.4 IFS码 参考书:《分形算法与程序设计》
混沌游戏 + ì ( Z A ) / 2 , n ï = + Z ( Z B ) / 2 , í + n 1 n ï + ( Z C ) / 2 , î n 4.1 给定平面上三点A, B, C。再任意给定初始点Z0 , 做下列迭代。 当掷出的硬币呈正面 当掷出的硬币呈反面 当掷出的硬币呈侧面 参考书:《分形算法与程序设计》
迭代函数系统 4.2 迭代函数系统(Iterated Function System,IFS)是分形理论的重要分支 。它将待生成的图像看成是由许多与整体相似的(自相似)或经过一定变换与整体相似的(自仿射)小块拼贴而成。 参考书:《分形算法与程序设计》
相似变换与仿射变换 4.3 相似变换:如果对于任意两点A、B,以及对应点A’、B’,总有A’B’=k·AB(k为正实数),那么,这个变换叫做相似变换,实数k叫做相似比。 仿射变换:x’=ax+by+e y’=cx+dy+f 其中a,b,c,d,e,f为仿射变换系数。 直观上看:相似变换是指在各个方向上变换的比率必须相同的一种比例变换,仿射变换是指在不同的方向上变化的比率可以不同的一种比例变换。 参考书:《分形算法与程序设计》
IFS码 x’=a1·x+b1·y+e1 y’=c1·x+d1·y+f1 p1 w1 x’=a2·x+b2·y+e2 y’=c2·x+d2·y+f2 p2 w2 x’=a3·x+b3·y+e3 y’=c3·x+d3·y+f3 p3 w3 p1+p2+p3=1 4.4 用多个仿射变换式表达一个图象w1,w2,w3,……,使用每一个仿射变换式的概率p可以不同,一般面积越大,p值越大。于是,只要获得a,b,c, d,e,f,p( IFS码)的值便可以得到要表达的图形。 参考书:《分形算法与程序设计》
Sierpinski垫片的IFS生成 4.5 x’=0.5x+0.25 y’=0.5y-0.5 x’=0.5·x+0·y+0 y’=0·x+0.5·y+0 x’=0.5·x+0·y+0.5 y’=0·x+0.5·y+0 x’=0.5·x+0·y+0.25 y’=0·x+0.5·y-0.5 w1 w2 w3 x’=0.5x+0.5 y’=0.5y x’=0.5x y’=0.5y 由于生成的三个小三角形的面积相等,所以我们可以让w1、w2、w3出现的概率相同或相近。 参考书:《分形算法与程序设计》
Sierpinski垫片的IFS生成 4.5 参考书:《分形算法与程序设计》
Sierpinski垫片的IFS生成 4.5 参考书:《分形算法与程序设计》 (源代码:书中程序4.1)
拼贴与IFS码的确定 4.6 此时四个子图分别是目标图的1/4、1/5、1/4、1/2大小的复制品。然后按顺序交互式地在屏幕上调节每一个子图的仿射变换参数ai、bi、ci、di、ei,使得平移、旋转后基本覆盖住目标图。 参考书:《分形算法与程序设计》
IFS植物形态实例 4.7 IFS码在书中表4.18 IFS码在书中表4.20 参考书:《分形算法与程序设计》 IFS码在书中表4.19
复平面上的IFS算法 4.8 参考书:《分形算法与程序设计》
复平面上的IFS算法 4.8 参考书:《分形算法与程序设计》
复平面上的IFS算法 4.8 参考书:《分形算法与程序设计》