Java fraktal

0

Witam mam problem z fraktalem:
https://scr.hu/N6XN3A
Tylko że ja go robie do góry nogami,ale to chyba nie ma wiekszego znaczenia.
Wymyśliłem coś takiego: public void figura(int bok, int minBok ){
if (bok<minBok) {
return;

    }
     
      for(int i=0;i<3;i++){
          forward(bok);
          if(bok/3>minBok)
          {
              
              right(60);
              figura( bok/3, minBok );
          }
          left(120);
      
          
       
                  
         
         
      }
      right(60);
  }

Według mnie to powinno działać Rysuje kawałek sprawdzam czy jak podziele go na 3 to będzie większy od min,jak będzie to obracam się w prawo o 60 stopni czyli mam dobrą pozycje do robienia mniejszej figury i potem poza pętlą daje 60 stopni,żeby go dobrze ustawić,ale cos jest źle i nie wiem gdzie jest błąd.
0

Hmm teraz jak zrobiłem,że pętla sie wykonuje do i<4 to działa,postaram się sam dojść,ale jak ktoś widzi co jest nie tak to pomoc się może przydać.

0

Jednak nie wiem gdzie jest błąd,bo jakby to sie miało wykonać np 3 razy to już nie robi się wtedy ten fraktal.Działa jakby tylko raz miał się pomniejszyć

0

Przepraszam za spam.Zadanie rozwiązałem tak:

 public void figura(int bok, int minBok ){
         if (bok<minBok) {
            return;
 
 
        }
 
          for(int i=0;i<3;i++){
              forward(bok);
              right(60);
              if(bok/3>minBok)
              {
 
                
                  figura( bok/3, minBok );
              }
              right(180);
 
 
 
 
 
 
          }
         
      }

Temat można usunąć,lub te odpowiedzi bez konta

0

Nie wiem dlaczego działa dla 4 iteracji, ale wydaje mi się, że powinieneś usunąć obrót na końcu, a po wywołaniu rekurencyjnym w ifie dodaj left(60).

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