atraktor


Kod projektu rysuje atraktory. Obiekty te są tworzone przez prosty algorytm:
1) weź dowolny punkt p0 = (x0, y0),
2) oblicz następny punkt pn+1 = ν(pn) = (xn+1, yn+1), zmień kolor w pn+1,
3) powtarzaj punkt 2 wiele razy...

Wzory potrzebne do obliczenia położeń kolejnych punktów są następujące:

xn+1 = f(xn, yn) = sin(t1 * yn) + t3 * cos(t1 * xn)
yn+1 = g(xn, yn) = sin(t2 * xn) + t4 * cos(t2 * yn)

Spójrz do pliku atraktor_podstawy.l, znajdziesz tam łatwo kod odpowiadający powyższym formułom. Są to wzory na początek, do dalszych eksperymentów. Różne kombinacje funkcji trygonometrycznych pozwalają osiągać ciekawe efekty, jednak trzeba nieco cierpliwości by dopasować wzór i wartości współczynników ti.

W pliku app.l znajdziesz pełną aplikację do rysowania atraktorów. Aplikacja używa klasy bazowej attractor, która zawiera wszystkie niezbędne funkcje. Dziedziczący z niej custom_attractor pozwala przedefiniować wzory funkcji f i g. Kod ilustruje także jak obliczać zmiany kolorów punktów. Innym ciekawym rozwinięciem projektu jest dodanie ciągłej, powolnej zmiany współczynników ti w kolejnych iteracjach, spróbuj...

Pomysł na projekt oraz zestawy współczynników zaczerpnięte z: Clifford Attractors.

pobierz projekt