Projekt 2 (Zbiory Julia)

Transkrypt

Projekt 2 (Zbiory Julia)
Dr Mirek Łątka
Programowanie w C
Wiosna 2011
Projekt 2 (Zbiory Julia)
14 października 2010 roku zmarł urodzony w Polsce francuski fizyk i matematyk Benoît Mandelbrot,
twórca geometrii fraktalnej. Przykładem geometrycznego fraktala są zbiory Julia. Rozważmy
następujące zespolone odwzorowanie na płaszczyźnie:
z n+1=z 2n+c ,
gdzie c jest stałą liczbą zespoloną. Przyjmijmy, że c=-0.123+0745i. Na przykład, jeżeli z0=0.5+0.5i to
z1= -0.123 + 1.245i. Zbiór Julia (filled Julia set) tworzą te punkty na zespolonej płaszczyźnie, których
kolejne iteracje nie „uciekają” do nieskończoności. To znaczy, odległość kolejnych iteracji od początku
układu współrzędnych jest skończona.
1) Korzystając z kodu na ostatniej stronie zapoznaj się z implementacją liczb zespolonych w C++.
2) Napisz program, który generuje nMax=30 iteracji powyższego odwzorowania i dla każdej z takich
iteracji oblicza odległość od początku układu współrzędnych. Punkt początkowy z0=x0+y0i wybierz
arbitralnie, ale tak aby -1.5≤x0≤1.5 i -1.5≤y0≤1.5. W ten sposób przetestujesz funkcje, których
argumentami są liczby zespolone.
3) Zaimplementuj algorytm generacji zbioru Julia:
• wybierz punkt z0=x0+y0i na płaszczyźnie zespolonej taki, że -1.5≤x0≤1.5 i -1.5≤y0≤1.5. A więc punkt
należy do kwadratu o boku 3 pokazanym na poniższym rysunku.
• Generuj kolejne iteracje tak długo jak ich odległość od początku układu współrzędnych jest mniejsza
od rMax=2. Jeżeli po nMax=30 iteracjach odległość jest wciąż mniejsza od rMax to na wykresie w
punkcie o współrzędnych x0 i y0 rysujemy piksel.
• Po przeprowadzeniu obliczeń dla dostatecznie dużej ilości punktów (wykorzystaj zagnieżdżone pętle
for) , oczom Twoim ukaże się intrygujący zbiór Julia.
• Obliczenia przeprowadź dla c= -0.75, c= -0.391-0.587i, c= -0.123,+0.745i.
Dla odważnych:
• W zaawansowanych implementacjach kolor piksela odzwierciedla szybkość ucieczki trajektorii
wychodzącej z danego punktu do nieskończoności. Dla autorów trzech najbardziej oryginalnych
algorytmów „kolorowania” pikseli czeka ocena bardzo dobra z wykładu.

Podobne dokumenty