递归与分形(二)--谢尔斯宾三角形,谢尔斯宾地毯,门格海绵

本文介绍了递归在创建分形图形如谢尔斯宾三角形、谢尔斯宾地毯和门格海绵中的应用。通过理解递归终止条件和递归形式,可以绘制出这些具有自我相似性的美丽图形。分形不仅帮助理解递归,也展示了递归在艺术中的魅力。在画立体分形时,需遵循由内而外、由上至下的原则,确保每个细节都能呈现出来。
摘要由CSDN通过智能技术生成

目录

一、核心点

二、实例

三、总结

 

 

一、核心点

1.把握递归终止条件

2.弄清递归形式。

 

二、实例

1.康托尔集

 1 int yoffset = 10;
 2 
 3 public void draw(Graphics g,int n,int x1,int y1,int x2,int y2) {
 4 if(n<1) {  //递归终止条件
 5 return;
 6 }
 7 n--;   
 8 //画线
 9 g.drawLine(x1, y1, x2, y2); 
10 
11 int tempx = (x2 - x1)/3;
12 int tempy = (y2 - y1)/3;
13 
14 draw(g,n,x1,y1+yoffset,x1+tempx,y1+yoffset+tempy);  //递归
15 draw(g,n,x2-tempx,y2+yoffset-tempy,x2,y2+yoffset);  //递归
16 }

 

2.谢尔斯宾三角形

    public void draw(Graphics g,int n,int x1,int y1,int x2,int y2,int x3,int y3) {
        int xn1 = (x2+x1)/2;    //画图形
        int yn1 = (y2+y1)/2;
        int xn2 = (x3+x2)/2;
        int yn2 = (y3+y2)/2;
        int xn3 = (x1+x3)/2;
        int yn3 = (y1+y3)/2;
        g.drawLine(xn1, yn1, xn2, yn2);
        g.drawLine(xn2, yn2, xn3, yn3);
        g.drawLine(xn3, yn3, xn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值