小编use*_*122的帖子

用Java绘制Sierpinski的三角形

我的代码中有一些问题需要绘制一个Sierpinski的三角形(或者Sierpinski的垫片),但我不确定问题是什么.绘制三角形的线条,然后绘制所有分形线,然后消失.救命?

import javax.swing.*;
import java.awt.*;

public class SierpinskiGasket extends JFrame {

Point x=new Point(5,545),
      y=new Point(300,25),
      z=new Point(605,545),
      current=x, target;
private int count=0;

public SierpinskiGasket () {
    super("Sierpinski Gasket");
    setSize(610,550);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    getContentPane().setBackground(Color.WHITE);
    setLocationRelativeTo(null);
    setResizable(false);
    setVisible(true);
}

public void paint(Graphics g) {
    super.paint(g);
    if(count==0) {
    g.drawLine(x.x,x.y,y.x,y.y);
    g.drawLine(x.x,x.y,z.x,z.y);
    g.drawLine(z.x,z.y,y.x,y.y);
    } else {
        while(count<10000) {
            int choice=(int)(Math.random()*3);
            switch(choice) {
                case 0: target=x; break;
                case 1: target=y; break;
                case 2: target=z; break;
                default: System.exit(0);
            }
            current=midpoint(current,target);
            g.drawRect(current.x,current.y,5,5);
            repaint();
            count++;
        }
    }
    count++;
}

public …
Run Code Online (Sandbox Code Playgroud)

java graphics geometry swing awt

3
推荐指数
1
解决办法
5459
查看次数

标签 统计

awt ×1

geometry ×1

graphics ×1

java ×1

swing ×1