fractal02二维空间上的分形图形生成法

fractal02二维空间上的分形图形生成法

ID:34490615

大小:970.99 KB

页数:40页

时间:2019-03-06

fractal02二维空间上的分形图形生成法_第1页
fractal02二维空间上的分形图形生成法_第2页
fractal02二维空间上的分形图形生成法_第3页
fractal02二维空间上的分形图形生成法_第4页
fractal02二维空间上的分形图形生成法_第5页
资源描述:

《fractal02二维空间上的分形图形生成法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第第22章章分形图的递归算法分形图的递归算法2.1Cantor三分集的递归算法2.4Hilbert-Peano曲线的算法2.2Koch曲线的递归算法2.5分支结构分形递归算法2.3Sierpinski垫片的递归算法2.6分形树递归算法Digitalstone参考书:《分形算法与程序设计》1递归算法©直接递归调用的例子如下:voidRecur(n){……Recur(m);……}Digitalstone过程Recur的内部又调用了自身——Recur过程。参考书:《分形算法与程序设计》2递归算法©间接递归调用的例子如下:voidRecur

2、_A(n){……Recur_B(m);……}voidRecur_B(n)Digitalstone{……Recur_A(m);……}参考书:《分形算法与程序设计》32.1Cantor三分集的递归算法BEGINIF((bx-ax)

3、次线之间的距离)Digitalstonedy=by+d变量:ax,ay(曲线端点坐标)ay=ay+dbx,by(曲线端点坐标)by=by+dcx,xy(曲线端点坐标)cantor(ax,ay,cx,cy)dx,dy(曲线端点坐标)cantor(dx,dy,bx,by)函数:plot(x1,y1)–(x2,y2)END参考书:《分形算法与程序设计》4(画直线函数)END2.2Koch曲线的递归算法算法:Koch(ax,ay,bx,by,c)标题:Koch曲线的递归算法参数:c(终止递归的小量)PI(π值)变量:ax,ay(线段端点坐标

4、)函数:plot(x1,y1)–(x2,y2)bx,by(线段端点坐标)(画直线函数)cx,xy(线段端点坐标)sin()(正弦函数)Digitalstonedx,dy(线段端点坐标)cos()(余弦函数)ex,ey(线段端点坐标)ArcTan()(反正切函数)L(线段长度)sqrt()(开平方函数)alpha(基线与水平线正方向夹角)参考书:《分形算法与程序设计》52.2Koch曲线的递归算法BEGINIF((bx-ax)*(bx-ax)+(by-ay)*(by-ay))

5、ENDELSEBEGINcx=ax+(bx-ax)/3cy=ay+(by-ay)/3Digitalstoneex=bx-(bx-ax)/3ey=by-(by-ay)/3L=sqrt((ex-cx)*(ex-cx)+(ey-cy)*(ey-cy))alpha=ArcTan((ey-cy)/(ex-cx))IF((ex-cx)<0)THEN参考书:《分形算法与程序设计》62.2Koch曲线的递归算法BEGINalpha=alpha+PIENDdy=cy+sin(alpha+PI/3)*Ldx=cx+cos(alpha+PI/3)*LKo

6、ch(ax,ay,cx,cy,c)Koch(ex,ey,bx,by,c)Koch(cx,cy,dx,dy,c)Koch(dx,dy,ex,ey,c)DigitalstoneENDEND参考书:《分形算法与程序设计》72.3Sierpinski垫片的递归算法算法:Sierpinski(x,y,L,n)标题:Sierpinski垫片递归算法参数:n(递归深度)变量:x,y(三角形中心点坐标)x1,y1(三角形顶点坐标)x2,y2(三角形顶点坐标)x3,y3(三角形顶点坐标)x01,y01(小三角形中心点坐标)x02,y02(小三角形中心

7、点坐标)Digitalstone函数:plot(x1,y1)–(x2,y2)x03,y03(小三角形中心点坐标)(画直线函数)L(三角形的边长)sin()(正弦函数)cos()(余弦函数)sqrt()(开平方函数)参考书:《分形算法与程序设计》82.3Sierpinski垫片的递归算法BEGINIF(n=1)THENBEGINx1=x-L/2y1=y+L*(sin(PI/6)/cos(PI/6))/2x01=x-L/4x2=x+L/2y01=y+L*(sin(PI/6)/cos(PI/6))/4y2=y+L*(sin(PI/6)/c

8、os(PI/6))/2x02=x-L/4x3=xy02=y+L*(sin(PI/6)/cos(PI/6))/4Digitalstoney3=y-L*(sin(PI/6)/cos(PI/6))x03=xplot(x1,y1)-(x1,y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。