<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

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

被折叠的 条评论
为什么被折叠?



