//**************************************************************** // Quadtree Panel // Author: Zdravko Markov //**************************************************************** import javax.swing.*; import java.awt.*; public class QuadtreePanel extends JPanel { public QuadtreePanel() { setPreferredSize (new Dimension(500, 300)); } public void paintComponent (Graphics p) { super.paintComponent(p); triangle (20,20,200,p); a(250,20,200,p); } public void triangle (int x, int y, int d, Graphics p) { if (d==1) p.drawLine (x, y, x, y); else { // square(x, y, d/2, p); triangle(x+d/2, y, d/2, p); triangle(x, y+d/2, d/2, p); triangle(x+d/2, y+d/2, d/2, p); } } public void a (int x, int y, int d, Graphics p) { if (d==1) p.drawLine (x, y, x, y); else { // b(x, y, d/2, p); b(x+d/2, y, d/2, p); b(x, y+d/2, d/2, p); a(x+d/2, y+d/2, d/2, p); } } public void b (int x, int y, int d, Graphics p) { if (d==1) p.drawLine (x, y, x, y); else { a(x, y, d/2, p); // a(x+d/2, y, d/2, p); a(x, y+d/2, d/2, p); b(x+d/2, y+d/2, d/2, p); } } }