aboutsummaryrefslogtreecommitdiff
path: root/Week11 Mandelbrot/src/fractals
diff options
context:
space:
mode:
Diffstat (limited to 'Week11 Mandelbrot/src/fractals')
-rw-r--r--Week11 Mandelbrot/src/fractals/Grid.java1
-rw-r--r--Week11 Mandelbrot/src/fractals/MainWindow.java48
-rw-r--r--Week11 Mandelbrot/src/fractals/Mandelbrot.java32
3 files changed, 27 insertions, 54 deletions
diff --git a/Week11 Mandelbrot/src/fractals/Grid.java b/Week11 Mandelbrot/src/fractals/Grid.java
index be6048b..7daad63 100644
--- a/Week11 Mandelbrot/src/fractals/Grid.java
+++ b/Week11 Mandelbrot/src/fractals/Grid.java
@@ -1,7 +1,6 @@
package fractals;
/**
- *
* @author Sjaak Smetsers
* @version 1.0, 13-03-2013
*/
diff --git a/Week11 Mandelbrot/src/fractals/MainWindow.java b/Week11 Mandelbrot/src/fractals/MainWindow.java
index b6276af..8f89217 100644
--- a/Week11 Mandelbrot/src/fractals/MainWindow.java
+++ b/Week11 Mandelbrot/src/fractals/MainWindow.java
@@ -1,7 +1,5 @@
package fractals;
-
-
import com.camilstaps.mandelbrot.MandelbrotView;
import com.camilstaps.mandelbrot.ZoomFrame;
import java.awt.BorderLayout;
@@ -17,19 +15,17 @@ import javax.swing.JPanel;
import javax.swing.JTextField;
/**
- *
+ * The window for week 11: a gridview for the fractal, and controls
* @author Sjaak Smetsers
- * @version 1.0, 14-03-2013
- */
-
-/**
- * creates a window to which a GridView panel is added
- *
+ * @author Camil Staps
*/
public class MainWindow implements MandelbrotView.MandelbrotProvider, ZoomFrame.MandelbrotTextFields {
// the size of the window
public static final int WIDTH = 650, HEIGHT = 650;
+ /**
+ * Initial values
+ */
private final String INITIAL_CENTER_X = "0",
INITIAL_CENTER_Y = "0",
INITIAL_SCALE = "100",
@@ -38,13 +34,19 @@ public class MainWindow implements MandelbrotView.MandelbrotProvider, ZoomFrame.
// The grip panel
private final GridView grid;
+ /**
+ * Controls
+ */
private final JTextField field_centerX = new JTextField(INITIAL_CENTER_X, 6);
private final JTextField field_centerY = new JTextField(INITIAL_CENTER_Y, 6);
private final JTextField field_scale = new JTextField(INITIAL_SCALE, 6);
private final JTextField field_repetitions = new JTextField(INITIAL_REPETITIONS, 6);
private final JButton button_redraw = new JButton("Redraw");
- private final MandelbrotView mandelbrotController;
+ /**
+ * To allow redrawing
+ */
+ private final MandelbrotView mandelbrotView;
public MainWindow () {
ZoomFrame mainFrame = new ZoomFrame ("Mandelbrot");
@@ -60,20 +62,26 @@ public class MainWindow implements MandelbrotView.MandelbrotProvider, ZoomFrame.
grid = new GridView(WIDTH - insets.left - insets.right, HEIGHT - insets.top - insets.bottom);
mainFrame.add(grid, BorderLayout.CENTER);
- mandelbrotController = new MandelbrotView(this, grid);
- mandelbrotController.redraw();
+ mandelbrotView = new MandelbrotView(this, grid);
+ mandelbrotView.redraw();
- mainFrame.setMandelbrotView(mandelbrotController);
+ mainFrame.setMandelbrotView(mandelbrotView);
mainFrame.setMandelbrotTextFields(this);
- JPanel left = new JPanel(new BorderLayout());
+ mainFrame.add(getControlsPanel(), BorderLayout.EAST);
+
+ mainFrame.pack();
+ }
+
+ private JPanel getControlsPanel() {
+ JPanel right = new JPanel(new BorderLayout());
JPanel panel = new JPanel(new GridLayout(10,1));
button_redraw.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand().equals("Redraw")) {
- mandelbrotController.redraw();
+ mandelbrotView.redraw();
}
}
});
@@ -94,17 +102,15 @@ public class MainWindow implements MandelbrotView.MandelbrotProvider, ZoomFrame.
field_centerY.setText(INITIAL_CENTER_Y);
field_scale.setText(INITIAL_SCALE);
field_repetitions.setText(INITIAL_REPETITIONS);
- mandelbrotController.redraw();
+ mandelbrotView.redraw();
}
});
panel.add(button_reset);
- left.add(panel, BorderLayout.NORTH);
- left.add(new JPanel(), BorderLayout.CENTER);
+ right.add(panel, BorderLayout.NORTH);
+ right.add(new JPanel(), BorderLayout.CENTER);
- mainFrame.add(left, BorderLayout.EAST);
-
- mainFrame.pack();
+ return right;
}
/**
diff --git a/Week11 Mandelbrot/src/fractals/Mandelbrot.java b/Week11 Mandelbrot/src/fractals/Mandelbrot.java
deleted file mode 100644
index 3f2aaaa..0000000
--- a/Week11 Mandelbrot/src/fractals/Mandelbrot.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package fractals;
-
-/**
- * An example of the use of our pixel drawing framework
- * @author Sjaak Smetsers
- * @version 1.0, 14-03-2013
- */
-public class Mandelbrot {
-
- public Mandelbrot() {
- MainWindow fractal_win = new MainWindow ();
- }
-
- public static void main(String args[]) {
- Mandelbrot mandelbrot = new Mandelbrot();
- }
-
- public static int mandelNumber(double x, double y, int repetitions) {
- double x_n = x, y_n = y;
- int n = 0;
-
- while (x_n * x_n + y_n * y_n <= 4 && n <= repetitions) {
- double new_x_n = x_n * x_n - y_n * y_n + x;
- y_n = 2 * x_n * y_n + y;
- x_n = new_x_n;
- n++;
- }
-
- return n;
- }
-
-} \ No newline at end of file