does anything in this loop look stupid
for (int i = 0; i < N; i++) {
//sorts points by slope to each other point
Arrays.sort(points, points[i].BY_SLOPE_ORDER);
//array of numerical values of slopes
for (int j = 0; j < N; j++) {
slopes[j] = points[i].Slope(points[j]);
}
for (int j = 0; j < N; j++) {
//some boundary check shit
if (i < N) {
//potential solution line
ArrayList<Point> line = new ArrayList<Point>();
//adds original point
line.add(points[i]);
//loop through and check for equal contigious slopes
for (int k = 0; k < N; k++) {
if (slopes[j].equals(slopes[k]) && points[i].areCollinear(points[i], points[j], points[k])) {
line.add(points[k]);
}
}
//if enough points, add to set of solution lines
if (line.size() > 3) {
Collections.sort(line);
foundlines.add(line);
j = j + line.size();
i = i + line.size();
}
}
}
}