基于IFS码分形图形生成算法研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于IFS码分形图形生成算法研究

基于IFS码分形图形生成算法研究   摘 要:迭代函数系统(Iritated Function System,IFS)是一种利用迭代或递归方式,将满足收敛性的数学对象进行反复计算并拼贴生成具有分形特征作品的方法。首先从二维IFS公式原理上研究了分形图形的拼贴公式以及推导;然后将分形作品按照自相似特征进行解析,形成多个仿射变换拼贴;再从整体到局部缩放、旋转、平移等变换的角度,分析仿射变换指数的变化规律,得出IFS码;最后对分形图形进行了仿真分析。   关键词:迭代函数系统;放射变换;分形图   DOIDOI:10.11907/rjdk.171460   中图分类号:TP312   文献标识码:A 文章编号文章编   号:1672-7800(2017)008-0053-03   0 引言   随着数学与计算机学科发展,依托公式递归与迭代方式生成数字分形作品的艺术形式发展很快,分形艺术作品也在平面、视频、影视、动画、压缩等领域得到了较好应用[1]。迭代函数系统(Ireration Function System,IFS)是基于函数迭代原理的仿射变换系统,是生成数字分形图形的重要方法之一,在分形图形数字生长中最具发展前景。IFS系统可以选取迭代函数,生成IFS吸引集,通过仿射变换(Affine Transformation)实现二维坐标之间的线性变换,保持二维图形的“平直性”[2]。   1 二维平面的仿射变换拼贴原理   任何分形图形都具有整体与局部相似的特性,每一组相似可视为从整体到局部的一个仿射变换,多个仿射变换集进行拼贴就能形成复杂的分形图像。二维平面的IFS公式[3]如下:   S=Un[]i=1Fi(S)Pi(1)   其中,S是二维平面的点集,仿射变换是一个二维点集到二维点集的映射,其中Fi即仿射变换的变换函数, N个仿射变换函数映射的并集拼贴形成一个具有自相似特性的分形图形,Pi是该变换函数在仿射拼贴中的权重值。   Fi是一个仿射变换的映射公式,Vj本身可以是任意的迭代算法,如线性(linear)、旋涡(swirl)、球形(spherical)等变换,可以写成如下形式:   Fi(x,y)=Vj(aix+biy+ei,cix+diy+fi)(2)   由式(2)可以看出,Fi输入了一个点(x,y),然后传入Vj进行线性变换,其简化形式可以用式(3)表达:x′=ax+by+ey′=cx+dy+f(3)   式(3)可转化为矩阵表达式:   x′y′=a cb dx[]y+ef=Txy+ef(4)   从式(3)和式(4)可以看出,Fi的仿射变换即是对(x,y)点进行缩放、旋转、拉伸、平移等线性操作,(x,y)是仿射变换前的点坐标,(x′,y′)是仿射变换后的点坐标,a、b、c、d、e、f是仿射变换系数,当把式(3)变成式(4)时,系数是矩阵的形式,便于在Matlab中计算和实现。在绘制某个分形图形时,应当先分析分形图形的自相似性,确定仿射变换系数。   当绘制的分形图形比较复杂时,需要多个仿射变换,即确定仿射变换集{ωn}。多个仿射变换的结果会拼贴在一起进行迭代,此即IFS的拼贴原理。每个仿射变换在拼贴时所占比重不一样,也即仿射变换集会对应一个比重集P=[p1,p2,p3]。   2 仿射变换生成IFS码   以经典的sierpinski三角为例,如图1所示。垫片由3个基本的仿射变换组成,完整的垫片由这3个三角形进行各自仿射变换形成。由于这3个部分的形状完全一样,所占的比重也一样,都是1/3,所以,P=[1/3,1/3,1/3]。   根??图1可以分析出3个三角形相对于原始三角形的线性变换关系:原始三角形迭代后的形状边长是原边长的一半,因此式(4)中的T可以确定为:   T=0.5 00 0.5(5)   3个三角形的起始坐标可以确定为(0,0),(1,0),(0.5,3/2),这3个坐标是迭代后3个三角形的坐标偏移量。很明显在第二次迭代时,大三角形中间挖空了一个倒立的正三角形,可以将其解读为3个同样大小的三角形拼贴到一起,也即三角形①由原三角形边长缩放到1/2且不平移,三角形②由原三角形缩放到1/2且平移坐标(1,0),三角形③由原三角形缩放到1/2且平移坐标(0.5,sin(pi/3))。缩放对应到式(4)中x和y的系数,即a与d,而平移对应到式(4)的e和f。迭代出来的3个三角形大小一样,意即3个仿射变换的比重一样为1/3,因此得出垫片的IFS码。3个三角形的权重相等,因此概率因子pi用1等分,即pi=1/3,得到3个线性变换的IFS码,见表1。   每一次迭代都采用相同的系数获取映射点集、迭代数次,得到分形图。执行上述程序输出的图形如图1所示。从Matlab

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档