有趣的迭代分形:一个点画出一个新的世界

迭代分形指的是通过电脑在其容器中的为随机数的获取,来取得有限空间如:简单的骰子:

1.平面上随机选A,B,C三个点。再随机选一个点,记为P。
2.有一个三面色子,每丢一次,则选中ABC三个中一点。
开始游戏:
1.重复丢色子,如果选中A,则取A和P的中点P1,画黑,
2.如果选中B,则取B和P1的中点P2,画黑
3.如果选中A,则取A和P2的中点P3,画黑
4….一直重复(如每点一下鼠标,丢10000次色子。

 

 在这里简单的实现代码如下:

if("分形".equals(str)&& i==1){
              int k,j;                                   
              int array[][] = new int[4][2];
              Random ran = new Random();
              for(k = 0;k<4;k++){
                  array[k][0] = ran.nextInt(850);
                  array[k][1] = ran.nextInt(700);
              }
              System.out.println("x0:"+array[0][0]+" y0:"+array[0][1]);
              for(j = 0;j<10000;j++){
                 int t = ran.nextInt(3)+1;
                 //System.out.println("t:"+t);
                 array[0][0] = (array[t][0]+array[0][0])/2;
                 array[0][1] = (array[t][1]+array[0][1])/2;
                 //System.out.println("x0:"+array[0][0]+" y0:"+array[0][1]);
                 //System.out.println("co:"+co);
                 gr.drawLine(array[0][0], array[0][1], array[0][0], array[0][1]);
                 //System.out.println("x0:"+array[0][0]+" y0:"+array[0][1]);
                 t = 0;
              }

 

转载于:https://www.cnblogs.com/chang1203/p/5665812.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值