- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第4章
迭代函数系统算法
4.1混沌游戏
4.2迭代函数系统
4.3相同变换与仿射变换
4.4IFS码
4.5Sierpinski垫片IFS生成
4.6拼贴与IFS码确实定
4.7IFS植物形态实例
4.8复平面上IFS算法
1
参考书:《分形算法与程序设计》
第1页
混沌游戏
4.1
给定平面上三点A,B,C。再任意给定初始点Z0,做以下迭代。
当掷出硬币呈正面
当掷出硬币呈反面
当掷出硬币呈侧面
2
参考书:《分形算法与程序设计》
第2页
迭代函数系统
4.2
迭代函数系统(IteratedFunctionSystem,IFS)是分形理论主要分支。它将待生成图像看成是由许多与整体相同(自相同)或经过一定变换与整体相同(自仿射)小块拼贴而成。
3
参考书:《分形算法与程序设计》
第3页
相同变换与仿射变换
直观上看:相同变换是指在各个方向上变换比率必须相同一个百分比变换,仿射变换是指在不一样方向上改变比率能够不一样一个百分比变换。
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为仿射变换系数。
4
参考书:《分形算法与程序设计》
第4页
4.4
IFS码
用多个仿射变换式表示一个图象w1,w2,w3,……,使用每一个仿射变换式概率p能够不一样,普通面积越大,p值越大。于是,只要取得a,b,c,d,e,f,p(IFS码)值便能够得到要表示图形。
5
参考书:《分形算法与程序设计》
第5页
4.5
Sierpinski垫片IFS生成
因为生成三个小三角形面积相等,所以我们能够让w1、w2、w3出现概率相同或相近。
x’=0.5x
y’=0.5y
x’=0.5x+0.5
y’=0.5y
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
6
参考书:《分形算法与程序设计》
第6页
4.5
Sierpinski垫片IFS生成
算法:IFS
标题:IFS生成算法
参数:n(迭代次数)
m[](存放IFS码值)
变量:a,b,c,d,e,f,p(IFS码变量)
函数:Pset(x,y)(画点函数)
Rand(随机函数)
BEGIN
//IFS码赋值
m[0,0]=0.5;m[0,1]=0;m[0,2]=0
m[0,3]=0;m[0,4]=0;m[0,5]=0
m[0,6]=0.333
m[1,0]=0.5;m[1,1]=0;m[1,2]=0
m[1,3]=0.5;m[1,4]=0.5;m[1,5]=0
m[1,6]=0.333
m[2,0]=0.5;m[2,1]=0;m[2,2]=0
m[2,3]=0.5;m[2,4]=0.25;m[2,5]=0.5
m[2,6]=0.334
n=6000
WHILEn0
p=Rand
SWITCH(P)
CASEIS=m[0,6]
a=m[0,0];b=m[0,1];c=m[0,2]
d=m[0,3];e=m[0,4];f=m[0,5]
BREAK
CASEIS=(m[0,6]+m[1,6])
a=m[1,0];b=m[1,1];c=m[1,2]
d=m[1,3];e=m[1,4];f=m[1,5]
BREAK
7
参考书:《分形算法与程序设计》
第7页
4.5
Sierpinski垫片IFS生成
CASEIS=(m[0,6]+m[1,6]+m[2,6])
a=m[2,0];b=m[2,1];c=m[2,2]
d=m[2,3];e=m[2,4];f=m[2,
文档评论(0)