《第7章 元胞自动机PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第7章 元胞自动机PPT讲稿.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第7章 元胞自动机参考书:分形算法与程序设计1第1页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计2第2页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计3从逻辑运算谈起从逻辑运算谈起从逻辑运算谈起从逻辑运算谈起7.17.1逻辑异或逻辑异或 本本 行:行:0 0 0 1 1 0 1 1下一行:下一行:0 1 1 0 第3页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计47.27.2 一维元胞自动机一维元胞自动机一维元胞自动机一维元胞自动机元胞按等间隔方式分布在一条向两侧无限延伸的直线中,称为一维元胞元胞按等间隔方式分布在一条向两侧无限延伸的直线中,
2、称为一维元胞自动机。自动机。本本 行:行:001 100 其他其他下一行:下一行:1 1 0第4页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计57.27.2 一维元胞自动机一维元胞自动机一维元胞自动机一维元胞自动机算法:算法:cell_one标题:标题:一维元胞自动机一维元胞自动机一维元胞自动机一维元胞自动机参数:参数:参数:参数:n(水平方向最大值)m(垂直方向最大值)变量:变量:i,j(循环变量)y1(本行元胞数组)y2(下一行元胞数组)函数函数:SPost(x,y,color)(画点)BEGIN FOR i=1 TO m FOR j=1 TO n IF y1j-1=0
3、AND y1j=0 AND y1j+1=1 THEN y2j=1 ELSE IF y1j-1=1 AND y1j=0 AND y1j+1=0 THEN y2j=1 ELSE y2j=0 ENDIF IF y2j=1 THEN SPost(x,y,color)ENDIF ENDFOR ENDFOREND第5页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计67.37.3二维元胞自动机二维元胞自动机二维元胞自动机二维元胞自动机在一个二维网格中,如果抛下一粒在一个二维网格中,如果抛下一粒种子(元胞着色),然后考察一下种子(元胞着色),然后考察一下种子身边的格子中的元胞状态会发种子身边的
4、格子中的元胞状态会发生什么事情。给一个规则,即每一生什么事情。给一个规则,即每一个格子的状态,由其周围的八个格个格子的状态,由其周围的八个格子的状态(子的状态(0 0或或1 1)来决定,如果它)来决定,如果它周围八个格子中的状态值相加为周围八个格子中的状态值相加为奇奇数数时,则此格子下一个状态为时,则此格子下一个状态为1 1;如果;如果它周围八个格子中的状态值相加为它周围八个格子中的状态值相加为偶数偶数时,则此格子下一个状态为时,则此格子下一个状态为0 0。就。就这样一步一步演化下去,会看到这样一步一步演化下去,会看到图案。图案。第6页,共12页,编辑于2022年,星期一参考书:分形算法与程序
5、设计77.37.3二维元胞自动机二维元胞自动机二维元胞自动机二维元胞自动机算法:算法:cell_two标题:标题:二维元胞自动机二维元胞自动机二维元胞自动机二维元胞自动机参数:参数:参数:参数:n(元胞的范围)变量:变量:i,j(循环变量)a (本步元胞数组)b (下一步元胞数组)函数函数:SPost(x,y,color)(画点)BEGIN FOR i=1 TO n FOR j=1 TO n k=ai-1j-1+ai-1j+ai-1j+1 +aij-1+aij+1+ai+1j1 +ai+1j+ai+1j+1 IF k mod 2=1 THEN bij=1 ELSE bij=0 ENDIF EN
6、DFOR ENDFOREND第7页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计87.47.4分形演化的分形演化的分形演化的分形演化的DLADLADLADLA模型模型模型模型 自然界中有很多种这样的生长集团自然界中有很多种这样的生长集团第8页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计97.47.4分形演化的分形演化的分形演化的分形演化的DLADLADLADLA模型模型模型模型 算法:算法:DLA标题:标题:DLA模型模型参数:参数:参数:参数:BAX,BAY(基点坐标)m(垂直方向最大值)变量:变量:r0(凝聚半径)r(释放粒子的半径)rmax(粒子逃逸半径
7、)cyt,cyb,cyl,cyr (游走粒子周围4点)函数函数:SPost(x,y,color)(画点)getpixel(x,y)(获取点)read()(随机函数)sgn()(符号函数)BEGIN r0=5 WHILE(nr0 THEN r0=dist break ENDIF IF distrmax THEN SPost(x+BAX,y+BAY,white)break ENDIF第10页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计117.57.5用用用用DLADLADLADLA模型模模型模模型模模型模拟拟拟拟植物的生植物的生植物的生植物的生长长长长 如果初始不是一个原点,而是一条直线,且随机粒子从上面落到平面上,它将会产生一个什么样的图形呢?第11页,共12页,编辑于2022年,星期一参考书:分形算法与程序设计127.67.6不同初始条件的不同初始条件的不同初始条件的不同初始条件的DLADLA形态形态形态形态第12页,共12页,编辑于2022年,星期一