Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class UpdaterLoop {
- MainFrame frame;
- public UpdaterLoop(MainFrame frame){
- this.frame = frame;
- }
- public int square(Point a, Point b, Point c){
- return Math.abs(a.vectorProduct(b) + b.vectorProduct(c) + c.vectorProduct(a));
- }
- public int check(Point p, Point a, Point b, Point c){
- int spab = square(p, a, b);
- int spbc = square(p, b, c);
- int spac = square(p, a, c);
- int sabc = square(a, b, c);
- if (spab + spbc + spac == sabc && spab > 0 && spbc > 0 && spac > 0)
- return 1;
- else
- return 0;
- }
- public static ArrayList<Point> triangle = new ArrayList<>();
- public static int maxi = -1;
- public ArrayList<Point> update(){
- int sz = frame.allPoints.size();
- for (int i = 0; i < sz; i++){
- for (int j = 0; j < i; j++){
- for (int l = 0; l < j; l++) {
- int cnt = 0;
- for (int k = 0; k < frame.allPoints.size(); k++)
- cnt += check(frame.allPoints.get(k), frame.allPoints.get(i), frame.allPoints.get(j), frame.allPoints.get(l));
- if (cnt > maxi && square(frame.allPoints.get(i), frame.allPoints.get(j), frame.allPoints.get(l)) > 0) {
- maxi = cnt;
- triangle.clear();
- triangle.add(frame.allPoints.get(i));
- triangle.add(frame.allPoints.get(j));
- triangle.add(frame.allPoints.get(l));
- }
- }
- }
- }
- return triangle;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement