Page 1 of 1

Hi, I need some help with some code. As of right now the program below prints the sierpinski triangle from the top left.

Posted: Sat May 14, 2022 3:41 pm
by answerhappygod
Hi,
I need some help with some code. As of right now the program below
prints the sierpinski triangle from the top left. I need the top
point to be in the middle and the and the triangle to be centered
with the base at the bottom.
class Fractal1 {

public static void main(String[] args) {
int min = 9;


int max = 3;

int n = (int)Math.floor(Math.random()*(max-min+1)+min);

final int level = n;

JFrame frame = new
JFrame("Sierpinsky Triangle - Java");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel panel = new JPanel()
{

@Override
public
void paintComponent(Graphics g) {

g.setColor(Color.BLACK);

SierpinskyTriangle(level, 20, 20, 360,
(Graphics2D)g);
}
};

panel.setPreferredSize(new
Dimension(500, 500));

frame.add(panel);
frame.pack();

frame.setResizable(false);

frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

private static void SierpinskyTriangle(int
level, int x, int y, int size, Graphics2D g) {
if(level <= 0)
return;

g.drawLine(x, y, x+size,
y);
g.drawLine(x, y, x,
y+size);
g.drawLine(x+size, y, x,
y+size);

SierpinskyTriangle(level-1,
x, y, size/2, g);
SierpinskyTriangle(level-1,
x+size/2, y, size/2, g);
SierpinskyTriangle(level-1,
x, y+size/2, size/2, g);
}
}