有趣的迭代分形:一个点画出一个新的世界
迭代分形指的是通过电脑在其容器中的为随机数的获取,来取得有限空间如:简单的骰子:
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; }