potrzebny mi algorytm rysujacy fraktal taki jak <url src="http://www.wojownicyniebios.boo.pl/aaa.GIF">tutaj</url>
siec przeszukalem
<url>www.wojownicyniebios.boo.pl/aaa.GIF</url>
potrzebny mi algorytm rysujacy fraktal taki jak <url src="http://www.wojownicyniebios.boo.pl/aaa.GIF">tutaj</url>
siec przeszukalem
<url>www.wojownicyniebios.boo.pl/aaa.GIF</url>
Nie podam Ci wprawdzie gotowego algorytmu ale moge powiedzieć jak ja bym to zrobił:
Przede wszystkim trzeba stwierdzić co w kolejnych krokach ma być wykonywane. Najpierw następuje narysowanie linii o pewnej dlugości x pod kątem 270 stopni (jeśli przybrać sobie, że rysując w paro to 0 stopni w dół 90 stopni w lewo 180 stopni itd.). Jeśli linia zostanie narysowana. Następuje stworzenie nowego pisaka, nadajmy im nazwy pisak1 i pisak2. Pisak jeden narysował linie o dlugosci x pod kątem 270 stopni. A wiec teraz przypisujemy te wartosci do pisak2. Teraz przed wykonaniem kolejnego kroku. Trzeba obrocic pisaki jeden o -45 stopni a drugi o +45 stopni, a dlugosc linii podzielic na 2. W ten sposob, linie beda coraz ktrotsze a kąt miedzy kolejnymi liniami zawsze będzie 90 stopni. Dodatkowo trzeba ustalić ilość etapów, bo mozna by tak rysowac w nieskonczonosc (teoretycznie).
Teraz od strony programistycznej.
class pisak
{
int x; //dlugosc rysowanej linii
double kat; //kat pod jakim bedzie rysowana linia
} ;
int dlugosc;
int kat;
int iloscetapow;
// te 3 zmienne sa inicjalizowane przez uzytkownika.
pisak mojepisaki = new pisak [iloscetapow] ; //lub przy uzyciu funkcji malloc()
mojepisaki[0].x = dlugosc;
mojepisaki[0].kat = kat;
for(int i = 0; i < iloscetapow; i++)
{
// tu odbywa sie rysowanie pisakami
/*następnie za kazdym przebiegiem petli nalezy utworzyc ("i" do kwadratu) nowych pisakow z ktorych kazdy bedzie mial odpowiednio zmienione dlugosci i katy.*/
}
Aha analizujac to co napisalem zapomnialem jeszcze ze w klasie "pisak" powinna być jeszcze przechowywana pozycja x i y pisaka, ktora tez uzytkownik powinien podac na wejsciu.
Zapewne to co napisalem troche wyjasnia wykonanie tego algorytmu, ale mimo wszystko moga pojawic sie jakies problemy. Polecam sprobowac wykonac to co rozumiesz, a jesli bedziesz mial jakies problemy to pisz wtedy postaram/y się pomoc je rozwiazac.
Pozdrawiam
mozna by probowac ale jest to srednio dobre rozwiazanie, bo dla stopnia zlozonosci fraktala>6 to juz sa setki struktur. gdzies slyszalem ze najlepiej to zrobic na rekurencji, ale nie wiem zupelnie jak sie za to zabrac
thx a lot