diff --git a/src/data/Branch.java b/src/data/Branch.java index b7bfd03..abcda63 100644 --- a/src/data/Branch.java +++ b/src/data/Branch.java @@ -36,7 +36,7 @@ public Branch(Branch parent, Vector2 end, float angle) { split(end, angle); } } - System.out.println(toString()); + //System.out.println(toString()); } @@ -65,7 +65,7 @@ public Branch(int height) { children = new Branch[randomRange(0)]; split(end, angle); } - System.out.println(toString()); + //System.out.println(toString()); } } @@ -79,7 +79,7 @@ private void split(Vector2 start, float phi) { if (ParamManager.lastActiveTabIndex == 0) { // start with most negatively angled branch and work clockwise through for calculations - phi = phi - (ParamManager.single[3] * ParamManager.single[0] * 0.5f) + (ParamManager.single[3] * 0.5f); + phi = phi + (ParamManager.single[2]*getGeneration()) - (ParamManager.single[3] * ParamManager.single[0] * 0.5f) + (ParamManager.single[3] * 0.5f); for (int i = 0; i < children.length; i++) { ref = new Vector2(start.x, start.y + calcLength(length)); @@ -89,7 +89,7 @@ private void split(Vector2 start, float phi) { } else { // start with most negatively angled branch and work clockwise through for calculations - phi = phi - (randomRange(3) * randomRange(0) * 0.5f) + (randomRange(3) * 0.5f); + phi = phi + (randomRange(2)*getGeneration()) - (randomRange(3) * randomRange(0) * 0.5f) + (randomRange(3) * 0.5f); for (int i = 0; i < children.length; i++) { ref = new Vector2(start.x, start.y + calcLength(length)); diff --git a/src/data/ParamManager.java b/src/data/ParamManager.java index 9c171cc..fea3098 100644 --- a/src/data/ParamManager.java +++ b/src/data/ParamManager.java @@ -49,23 +49,23 @@ public static void reset() { single[6] = 5; // stroke weight single[7] = 25; // stroke shrink rate - rangeMin[0] = 2; - rangeMin[1] = 3; - rangeMin[2] = -45; - rangeMin[3] = 45; - rangeMin[4] = 40; - rangeMin[5] = 25; - rangeMin[6] = 3; - rangeMin[7] = 30; + rangeMin[0] = 3; + rangeMin[1] = 4; + rangeMin[2] = -10; + rangeMin[3] = 20; + rangeMin[4] = 25; + rangeMin[5] = 40; + rangeMin[6] = 5; + rangeMin[7] = 20; - rangeMax[0] = 5; + rangeMax[0] = 6; rangeMax[1] = 7; - rangeMax[2] = 45; - rangeMax[3] = 135; - rangeMax[4] = 60; - rangeMax[5] = 75; - rangeMax[6] = 7; - rangeMax[7] = 60; + rangeMax[2] = 10; + rangeMax[3] = 70; + rangeMax[4] = 50; + rangeMax[5] = 60; + rangeMax[6] = 15; + rangeMax[7] = 40; } diff --git a/src/gui/TreeCanvas.java b/src/gui/TreeCanvas.java index d623198..94194ab 100644 --- a/src/gui/TreeCanvas.java +++ b/src/gui/TreeCanvas.java @@ -18,7 +18,6 @@ import data.Branch; import data.FractalTree; import data.ParamManager; -import utilities.Debug; public class TreeCanvas extends JPanel { public static BufferedImage img; @@ -98,8 +97,7 @@ protected void paintComponent(Graphics g) { // draw the next frame based on the current frame private void drawNextFrame(Graphics2D g2, Branch[] branches) { - Debug.log(String.valueOf(branches.length)); - // TODO: feed custom colors to this based on Parameters + //Debug.log(String.valueOf(branches.length)); int h = getHeight(); int w = ParamManager.xOffset; for (Branch b : branches) { diff --git a/src/gui/tabs/RangedValueTab.java b/src/gui/tabs/RangedValueTab.java index 626328c..3805f5d 100644 --- a/src/gui/tabs/RangedValueTab.java +++ b/src/gui/tabs/RangedValueTab.java @@ -26,12 +26,12 @@ public RangedValueTab() { int i = 0; addItem("Branching Factor", createSlider(0, 10, i++)); addItem("Generations", createSlider(1, 10, i++)); - addItem("Tilt", createSlider(-20, 20, i++)); - addItem("Branching Angle", createSlider(0, 180, i++)); - addItem("Branch Length", createSlider(0, 100, i++)); - addItem("Branch Shrink Rate", createSlider(0, 100, i++)); - addItem("Stroke Weight", createSlider(0, 20, i++)); - addItem("Stroke Shrink Rate", createSlider(0, 100, i++)); + addItem("Tilt", createSlider(-30, 30, i++)); + addItem("Branching Angle", createSlider(10, 135, i++)); + addItem("Branch Length", createSlider(10, 60, i++)); + addItem("Branch Shrink Rate", createSlider(25, 75, i++)); + addItem("Stroke Weight", createSlider(1, 30, i++)); + addItem("Stroke Shrink Rate", createSlider(0, 50, i++)); } diff --git a/src/gui/tabs/SingleValueTab.java b/src/gui/tabs/SingleValueTab.java index 1e9187b..cc862e5 100644 --- a/src/gui/tabs/SingleValueTab.java +++ b/src/gui/tabs/SingleValueTab.java @@ -26,12 +26,12 @@ public SingleValueTab() { int i = 0; addItem("Branching Factor", createSlider(0, 10, i++)); addItem("Generations", createSlider(1, 10, i++)); - addItem("Tilt", createSlider(-20, 20, i++)); - addItem("Branching Angle", createSlider(0, 180, i++)); - addItem("Branch Length", createSlider(0, 100, i++)); - addItem("Branch Shrink Rate", createSlider(0, 100, i++)); - addItem("Stroke Weight", createSlider(0, 20, i++)); - addItem("Stroke Shrink Rate", createSlider(0, 100, i++)); + addItem("Tilt", createSlider(-30, 30, i++)); + addItem("Branching Angle", createSlider(10, 135, i++)); + addItem("Branch Length", createSlider(10, 60, i++)); + addItem("Branch Shrink Rate", createSlider(25, 75, i++)); + addItem("Stroke Weight", createSlider(1, 30, i++)); + addItem("Stroke Shrink Rate", createSlider(0, 50, i++)); } @@ -56,7 +56,7 @@ private JPanel createSlider(int min, int max, int i) { public void stateChanged(ChangeEvent e) { JSlider s = (JSlider) e.getSource(); ParamManager.single[i] = s.getValue(); - System.out.println(ParamManager.single[i] + " " + i); + //System.out.println(ParamManager.single[i] + " " + i); sliderValue.setText(String.valueOf(s.getValue())); } }); diff --git a/src/gui/vendor/ernieyu/RangeSliderDemo.java b/src/gui/vendor/ernieyu/RangeSliderDemo.java deleted file mode 100644 index 9182f1d..0000000 --- a/src/gui/vendor/ernieyu/RangeSliderDemo.java +++ /dev/null @@ -1,107 +0,0 @@ -package gui.vendor.ernieyu; - -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; - -import javax.swing.BorderFactory; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -/** - * Demo application panel to display a range slider. - */ -public class RangeSliderDemo extends JPanel { - - private JLabel rangeSliderLabel1 = new JLabel(); - private JLabel rangeSliderValue1 = new JLabel(); - private JLabel rangeSliderLabel2 = new JLabel(); - private JLabel rangeSliderValue2 = new JLabel(); - private RangeSlider rangeSlider = new RangeSlider(); - - public RangeSliderDemo() { - setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6)); - setLayout(new GridBagLayout()); - - rangeSliderLabel1.setText("Lower value:"); - rangeSliderLabel2.setText("Upper value:"); - rangeSliderValue1.setHorizontalAlignment(JLabel.LEFT); - rangeSliderValue2.setHorizontalAlignment(JLabel.LEFT); - - rangeSlider.setPreferredSize(new Dimension(240, rangeSlider.getPreferredSize().height)); - rangeSlider.setMinimum(0); - rangeSlider.setMaximum(20); - - // Add listener to update display. - rangeSlider.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - RangeSlider slider = (RangeSlider) e.getSource(); - rangeSliderValue1.setText(String.valueOf(slider.getValue())); - rangeSliderValue2.setText(String.valueOf(slider.getUpperValue())); - } - }); - - add(rangeSliderLabel1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, - GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 3, 3), 0, 0)); - add(rangeSliderValue1, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, - GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 3, 0), 0, 0)); - add(rangeSliderLabel2, new GridBagConstraints(2, 0, 2, 1, 0.0, 0.0, - GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 3, 3), 5, 0)); - add(rangeSliderValue2, new GridBagConstraints(4, 0, 1, 1, 0.0, 0.0, - GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 6, 0), 0, 0)); - add(rangeSlider , new GridBagConstraints(0, 2, 2, 1, 0.0, 0.0, - GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); - } - - public void display() { - // Initialize values. - rangeSlider.setValue(3); - rangeSlider.setUpperValue(7); - - // Initialize value display. - rangeSliderValue1.setText(String.valueOf(rangeSlider.getValue())); - rangeSliderValue2.setText(String.valueOf(rangeSlider.getUpperValue())); - - // Create window frame. - JFrame frame = new JFrame(); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setResizable(false); - frame.setTitle("Range Slider Demo"); - - // Set window content and validate. - frame.getContentPane().setLayout(new BorderLayout()); - frame.getContentPane().add(this, BorderLayout.CENTER); - frame.pack(); - - // Set window location and display. - frame.setLocationRelativeTo(null); - frame.setVisible(true); - } - - /** - * Main application method. - * @param args String[] - */ - public static void main(String[] args) { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception ex) { - ex.printStackTrace(); - } - - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - new RangeSliderDemo().display(); - } - }); - } -}