Java学习 之 画图板 分形

Java学习 之 画图板 分形

第一组公式

在这里插入图片描述

public void drawDream1(double a,double b,double c,double d){
//函数传入四个常量
  double x=0f;
  double y=0f;
  for(int i=0;i<25500;i++){
   //公式
   double temx=Math.sin(a*y)+c*Math.cos(a*x);
   double temy=Math.sin(b*x)+d*Math.cos(b*y);
   //对x1,y1转型,放大,移动到屏幕坐标系
   int x1=(int)(temx*130+400);//130是放大多少倍,400是起始坐标
   int y1=(int)(temy*130+400);
   System.out.println("x1: "+x1+" y1: "+y1);
   //颜色根据迭代次数加深
   g.setColor(new Color(0,0,i/100));
   g.drawLine(x1, y1, x1, y1);
   x=temx;//下一次迭代
   y=temy;
  }
 }

调用

drawDream1(-1.8,-2.0,-0.5,-0.9);

在这里插入图片描述
换组参数调用

drawDream1(-1.7,1.8,-1.9,-0.4);

长这样↓
在这里插入图片描述
反正都好丑

第二组公式

公式丢了找不到,反正画出来一棵树,参数一堆

//这是参数,七组,每次迭代随机取一组代入
double[][] cs={{0.0500,0.0000,0.0000,0.4000,-0.0600,-0.4700},
          {-0.0500,0.0000,0.0000,-0.4000,-0.0600,-0.4700},
          {0.0300,-0.1400,0.0000,0.2600,-0.1600,-0.0100},
          {-0.0300,0.1400,0.0000,-0.2600,-0.1600,-0.0100},
          {0.5600,0.4400,-0.3700,0.5100,0.3000,0.1500},
          {0.1900,0.0700,-0.1000,0.1500,-0.2000,0.2800},
          {-0.3300,-0.3400,-0.3300,0.3400,-0.5400,0.3900}};
public void drawTree(int rx,int ry){
  double x=0f;
  double y=0f;
  
  Random rand = new Random();
  for(int i=0;i<25500;i++){
   int k=rand.nextInt(7);
   System.out.println(k);
   //公式
   double temx=cs[k][0]*x+cs[k][1]*y+cs[k][4];
   double temy=cs[k][2]*x+cs[k][3]*y+cs[k][5];
   //对x1,y1转型,放大,移动到屏幕坐标系
   int x1=(int)(temx*130+rx);
   int y1=(int)(-temy*130+ry);//把图上下颠倒,树反了233
   System.out.println("x1: "+x1+" y1: "+y1);
   //颜色根据迭代次数加深
   g.setColor(new Color(0,0,i/100));
   g.drawLine(x1, y1, x1, y1);
   x=temx;
   y=temy;
  }
 }

画出来长这个亚子↓
在这里插入图片描述
好看所以画了一片森林
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值