Krzywe beziera czyszczenie panelu , poprawnosc krzywej

0

Robie aplikacje okienkowa ktora ma rysowac krzywe beziera na podstawie punktow wybranych przez uzytkownika. Tutaj wklejam dotychczasowy kod:
https://pastebin.com/0Hq4nz6A
Czy metoda dajKrzywa() dziala poprawnie i czy sa one poprawnie rysowane? Jak dodac opcje w menu czyszczaca dotychczasowa plansze i pozwalajaca na wstawiane punktow od nowa?

0

Będzie bump z mojej strony.

public ArrayList<Punkt> dajKrzywa(){
      
      ArrayList<Punkt>P=new ArrayList();
      ArrayList<Punkt> wynikowa =new ArrayList();
     if(lista.size()>2){
      ArrayList<Punkt> R=new ArrayList();
      for(int i=0;i<lista.size();i++){
          P.add(lista.get(i));
      }
      
      
      for(int t =0 ;t<100;t++){
          int n=lista.size()-1;
          for(int i=0;i<n;i++){
              R.add(P.get(i)); }
              int m=n;
              while(m>0){
                  Punkt Q= null;
                  for(int j=0;j<m-1;j++){
                       Q = new Punkt (R.get(j).x + t*(R.get(j+1).x-R.get(j).x),R.get(j).y + t*(R.get(j+1).y-R.get(j).y)); }
                      m=m-1;
                      for(int k=0;k<m;k++){
                         R.set(k, Q);
                      }
                  
              }
          
          wynikowa.add(R.get(m));
      }
     }
      return wynikowa;
  }

Formatowanie tragiczne, nazewnictwo tragiczne, czytelność tego zerowa. Plus nie wiem jak się wylicza krzywe, warto dorzucić tutaj troszeczkę teorii.

Czy metoda dajKrzywa() dziala poprawnie i czy sa one poprawnie rysowane?

I nie zapominaj, że pytasz o dwie kompletnie różne rzeczy. Obie można elegancko osobno przetestować (jak napiszesz dobrze kod)

1 użytkowników online, w tym zalogowanych: 0, gości: 1