Witam, poszukuję jakiegoś przykładu z fraktalem (zbiór Julii). Chodzi o to, żeby dało się przybliżać i "chodzić" po tym fraktalu. Przykład najlepiej w C może być i C++. Jeśli chodzi o bibliotekę, z którą będzie rysowane to najprawdopodobniej openGL. Chodzi mi generalnie o jakiś zbiór przykładów, bo szukałem, ale znajdywałem najczęściej jakieś dziwne testy bez rysowania.
W skrócie to wygląda tak:
C :: Complex # Stała zbioru Julii
N :: Int # Ilość iteracji zanim stwierdzimy, że zbiór dąży do nieskończoności
P :: Plane # przestrzeń, w której rysujesz
function f(p) → Color {
z = p
i = 0
for i in 0:N {
z = z^2 + c
if abs(z) >= 2
break
}
if i == N
return Color::Black # punkt należy do zbioru, więc dajemy go na czarno
return choose_color(i) # generujemy kolor dla danej wartości iteracji
}
P.each_point |p| { # dla każdego punktu w przestrzeni (z reguły używa się tu 2 pętli)
P.set_color(f(Complex(p.x, p.y))
}
Przybliżanie i oddalanie robisz odpowiednio ustalając wartości graniczne P
.
Witam, poszukuję jakiegoś przykładu z fraktalem (zbiór Julii). Chodzi o to, żeby dało się przybliżać i "chodzić" po tym fraktalu.
Chodzenie po fraktalu to po prostu rysowanie wybranego fragmentu w odpowiedniej skali.
Jeśli narysujesz wycinek płaszczyzny zespolonej w granicach kwadratu od współrzędnych powiedzmy [-2;-2] do [+2;+2] to dostaniesz całość fraktala (wartości zmyślam). Jeśli współrzędne będziesz zmieniać co 0,01 dla sąsiadujących pikseli, to dostaniesz obrazek 400x400.
A jeśli teraz za współrzędne graniczne przyjmiesz [-0,2;-0,2]..[+0,2;+0,2] i krok 0,001 to w tych samych rozmiarów obrazku zmieścisz znacznie mniejszy fragment fraktala, za to z większą szczegółowością (czyli większym „przybliżeniem”)