Алгоритм треугольника me sh, который я строю при обработке, не работает по плану - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь построить случайно сгенерированный мной треугольник sh в обработке. Я еще не получил степень бакалавра или математика, поэтому, пожалуйста, будьте осторожны в своем родном языке или уточните, что вы имеете в виду. Предполагается, что треугольник me sh состоит из случайных точек PVector, которые ведут отрезки линии к двум ближайшим точкам, а также замыкают треугольник. Вместо этого я получаю нечто похожее на это: The Triangle Me sh.

Вот код:

Triangles.pde:

import java.util.*;

int popSize = 10;
ArrayList<Triangle> triangles = new ArrayList();
PVector points[] = new PVector[popSize];

void setup(){
  size(500, 500);
  background(255);
  try{
  for(int i = 0; i < popSize; i++){
    points[i] = new PVector(random(0, width), random(0, height));
  }
  for(int i = 0; i < popSize; i++){
    PVector p1 = points[0], p2 = points[1], p3 = points[2];
    for(int j = 0; j < popSize; j++){
      if(i != j){
          if(dist(points[i].x, points[i].y, points[j].x, points[j].y) < dist(points[i].x, points[i].y, p1.x, p1.y)){
            p3 = p2;
            p2 = p1;
            p1 = points[j];
          }
      }
    }
    triangles.add(new Triangle(p1, p2, p3));
  }
  for(int i = 0; i < triangles.size(); i++){

    triangles.get(i).drawTriangle();

  }
  }
  catch(Exception e){
    println(e);
  }
}

Triangle.pde:

public class Triangle{
  public PVector point[] = new PVector[3];
  public PVector center;
  public Triangle(PVector p1, PVector p2, PVector p3){
    point[0] = p1;
    point[1] = p2;
    point[2] = p3;
  }
  public void drawTriangle(){
    noFill();
    stroke(255, 0, 0);
    line(point[0].x, point[0].y, point[1].x, point[1].y);
    stroke(0);
    line(point[1].x, point[1].y, point[2].x, point[2].y);
    stroke(255, 0, 0);
    line(point[2].x, point[2].y, point[0].x, point[0].y);
  }
}

Как вы думаете, что я делаю не так? И есть ли у вас какие-либо предложения, которые могут привести меня в правильном направлении?

...