Generator
Generator fertig. Es fehlen noch die Fehlerfkt.
This commit is contained in:
parent
e2a684a9ce
commit
88eb4f4e06
|
@ -1,4 +1,6 @@
|
|||
package Presenter;
|
||||
package Presenter.Algorithms;
|
||||
|
||||
import Presenter.Presenter;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
|
@ -1,4 +1,6 @@
|
|||
package Presenter;
|
||||
package Presenter.Algorithms;
|
||||
|
||||
import Presenter.Presenter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
|
@ -1,8 +1,10 @@
|
|||
package Presenter;
|
||||
package Presenter.Algorithms;
|
||||
|
||||
import Model.*;
|
||||
import Presenter.Comparators.YOrderLineComparatorBegin;
|
||||
import Presenter.Comparators.YOrderLineComparatorEnd;
|
||||
import Presenter.Presenter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
|
@ -1,6 +1,7 @@
|
|||
package Presenter;
|
||||
package Presenter.Algorithms;
|
||||
|
||||
import Model.Line;
|
||||
import Presenter.Presenter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
|
@ -3,8 +3,6 @@ package Presenter.Algorithms;
|
|||
import Model.Interval;
|
||||
import Model.Line;
|
||||
import Model.Point;
|
||||
import Presenter.BinomialCoeffizient;
|
||||
import Presenter.FastElementSelector;
|
||||
import Presenter.Presenter;
|
||||
|
||||
import java.util.*;
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package Presenter.Generator;
|
||||
|
||||
import Model.Line;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
|
||||
*
|
||||
* @Author: Armin Wolf
|
||||
* @Email: a_wolf28@uni-muenster.de
|
||||
* @Date: 01.08.2017.
|
||||
*/
|
||||
public class DatasetGenerator {
|
||||
|
||||
|
||||
public DatasetGenerator(){}
|
||||
|
||||
|
||||
public LinkedList<Line> generateDataset(){
|
||||
LinkedList<Line> lines = new LinkedList<>();
|
||||
Random random = new Random();
|
||||
random.setSeed(9999);
|
||||
|
||||
double m = 1 + random.nextDouble();
|
||||
double b = random.nextDouble();
|
||||
|
||||
for (int i=1;i<101;i++){
|
||||
double y = (random.nextGaussian() * 100) % 100;
|
||||
double signal = m * i + b;
|
||||
signal *= -1;
|
||||
|
||||
Line line = new Line(i, signal - y);
|
||||
line.setId(i-1+"");
|
||||
lines.add(line);
|
||||
}
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,17 +3,18 @@ package Presenter;
|
|||
import Model.Arrangement;
|
||||
import Model.Interval;
|
||||
import Model.Line;
|
||||
import Model.Point;
|
||||
import Presenter.Algorithms.IntersectionCounter;
|
||||
import Presenter.Algorithms.LeastMedianOfSquaresEstimator;
|
||||
import Presenter.Algorithms.RepeatedMedianEstimator;
|
||||
import Presenter.Algorithms.TheilSenEstimator;
|
||||
import Presenter.Generator.DatasetGenerator;
|
||||
import Presenter.Import.DataImporter;
|
||||
import View.MainFrame;
|
||||
|
||||
import java.util.List;
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
||||
|
@ -276,6 +277,14 @@ public class Presenter implements Observer {
|
|||
importer.run();
|
||||
}
|
||||
|
||||
public void generateDataset(){
|
||||
DatasetGenerator generator = new DatasetGenerator();
|
||||
getModel().setLines((LinkedList<Line>) generator.generateDataset());
|
||||
calcArrangementNodes();
|
||||
getView().enableFunctionality();
|
||||
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************
|
||||
* Getter und Setter Methoden
|
||||
***************************************************************************************************************************/
|
||||
|
|
|
@ -29,6 +29,7 @@ public class MainFrame extends JFrame {
|
|||
|
||||
private JButton arrangementButton;
|
||||
private JButton importButton;
|
||||
private JButton generateButton;
|
||||
|
||||
private OutputPanel output;
|
||||
private MenuPanel menupanel;
|
||||
|
@ -135,6 +136,7 @@ public class MainFrame extends JFrame {
|
|||
private void setTitles() {
|
||||
this.setTitle("Algorithmen zur Berechnung von Ausgleichgeraden");
|
||||
importButton.setText("Import");
|
||||
generateButton.setText("Generiere");
|
||||
arrangementButton.setText("Dualraum");
|
||||
}
|
||||
|
||||
|
@ -147,6 +149,7 @@ public class MainFrame extends JFrame {
|
|||
private void addComponents() {
|
||||
pane.add(arrangementButton);
|
||||
pane.add(importButton);
|
||||
pane.add(generateButton);
|
||||
northPanel.add(menupanel);
|
||||
northPanel.add(pane);
|
||||
|
||||
|
@ -214,6 +217,7 @@ public class MainFrame extends JFrame {
|
|||
//Buttons
|
||||
arrangementButton = new JButton();
|
||||
importButton = new JButton();
|
||||
generateButton = new JButton();
|
||||
}
|
||||
|
||||
private void setIcons(){
|
||||
|
@ -284,6 +288,12 @@ public class MainFrame extends JFrame {
|
|||
});
|
||||
});
|
||||
|
||||
generateButton.addActionListener((ActionEvent e) -> {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
getPresenter().generateDataset();
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void enableFunctionality(){
|
||||
|
|
|
@ -8,7 +8,7 @@ import static org.junit.Assert.assertTrue;
|
|||
import Model.Line;
|
||||
import Model.Point;
|
||||
import Model.Interval;
|
||||
import Presenter.IntersectionCounter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import org.junit.Before;
|
||||
|
|
Loading…
Reference in New Issue