分形图片和代码展示

本文探讨了分形图像的美妙世界,并通过Java编程语言展示了如何创建和渲染分形图案。不仅深入浅出地解释了分形概念,还提供了实际的游戏应用示例,揭示了分形在游戏开发中的潜在用途。

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

 

package rzy0705a;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DrawListener implements ActionListener {
    //谢宾斯基三角形
	public void draw(double x11,double y11,double x22,double y22,double x33,double y33,int con) {
		 con--;
		 if(con<1){return;}
		 int x1,x2,x3,y1,y2,y3;
		 x1=(int)x11;
		 x2=(int)x22;
		 x3=(int)x33;
		 y1=(int)y11;
		 y2=(int)y22;
		 y3=(int)y33;
		 g.drawLine(x1,y1,x2,y2);
		 g.drawLine(x2,y2,x3,y3);
		 g.drawLine(x1, y1, x3, y3);
		 double x13=(x11+x33)/2;
		 double x23=(x22+x33)/2;
		 double x12=(x11+x22)/2;
		 double y13=(y11+y33)/2;
		 double y23=(y22+y33)/2;
		 double y12=(y11+y22)/2;
		 draw(x11,y11,x12,y12,x13,y13,con);
		 draw(x12,y12,x22,y22,x23,y23,con);
		 draw(x13,y13,x23,y23,x33,y33,con);
	  }
	
	//谢宾斯基地毯
	public void drawF(double a,double b,double w,double h,int con){
		con--;
		if(con<1){return;}
		g.setColor(Color.green);
		g.fillRect((int)(a+w/9),(int)(b+h/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w*4/9),(int)(b+h/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w*7/9),(int)(b+h/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w/9),(int)(b+h*4/9),(int)(w/9),(int)(h/9));
		
		g.fillRect((int)(a+w*7/9),(int)(b+h*4/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w/9),(int)(b+h*7/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w*4/9),(int)(b+h*7/9),(int)(w/9),(int)(h/9));
		g.fillRect((int)(a+w*7/9),(int)(b+h*7/9),(int)(w/9),(int)(h/9));
		drawF(a, b, w/3, h/

 

 3,con);
		drawF(a+w/3, b, w/3, h/3,con);
		drawF(a+2*w/3, b, w/3, h/3,con);
		drawF(a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值