Dodatek Attractor Builder został opracowany jako narzędzie umożliwiające numeryczną integrację układów równań różniczkowych i generowanie ich trajektorii bezpośrednio w środowisku Blender 4.5+. Pozwala wykonywać własne eksperymenty, wizualizować atraktory, eksportować dane, a także tworzyć animowane formy w pełnym 3D. Dodatek jest darmowy i przeznaczony zarówno dla osób badających układy dynamiczne, jak i twórców wykorzystujących atraktory w grafice, animacji lub sztuce generatywnej.

Attractor Builder — panel location


Instalacja
Zalecana (Blender Extensions)
1. Otwórz Blender i przejdź do: Edit → Preferences → Extensions.
2. Wyszukaj Attractor Builder i kliknij Install.
3. Po instalacji aktywuj rozszerzenie.

Instalacja ręczna (z GitHub)
1. Pobierz plik attractor_builder.zip z repozytorium GitHub.
2. W Blenderze otwórz: Edit → Preferences → Extensions.
3. Kliknij Install from Disk… i wybierz pobrany plik .zip.
4. Po instalacji aktywuj rozszerzenie.

Panel dodatku pojawi się w zakładce N-panel → Attractor.

N-panel with Attractor Builder


Interfejs
Zakładka Default korzysta z wbudowanej biblioteki układów (Lorenz, Chen, Lü itd.) wraz z gotowymi parametrami startowymi. Zakładka Custom jest przeznaczona do definiowania własnych równań i parametrów.

Attractor Builder – Default interface

Default Library. Lista rozwijana zawiera zestaw zdefiniowanych atraktorów. Po wybraniu systemu poniżej automatycznie pojawia się jego zapis w postaci równań oraz domyślny zestaw parametrów. Equations: równania różniczkowe wybranego układu, zapisane w postaci trzech wyrażeń określających pochodne , i ż. Dla zachowania bezpieczeństwa i spójności z modułem Custom można używać wyłącznie zmiennych x, y, z oraz funkcji matematycznych: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log, sqrt, pow, fabs. Dozwolone są standardowe operatory arytmetyczne i unarne (+, -, *, /, **, %, oraz unarne - i + przy liczbach). Parameters: lista parametrów (np. a, b, c dla Lorenza) wraz z ich wartościami, które można edytować, wpływając bezpośrednio na kształt generowanej trajektorii. Przycisk Tips odsyła do krótkich wskazówek, a Copy przenosi układ równań wraz z bieżącymi parametrami do modułu Custom, umożliwiając ich dalszą edycję i tworzenie własnych systemów.

Simulation Settings. Blok ustawień symulacji: stan początkowy, metoda integracji oraz odpowiadające jej parametry. Initial conditions: Współrzędne początkowe punktu: x₀, y₀, z₀. Od nich rozpoczyna się numeryczna integracja trajektorii. Integration Method. Lista rozwijana z wyborem metody numerycznej (Euler, Heun, RK4, RKF45, DP5):

Attractor Builder – Integration methods

Fixed dt. Dla metod o stałym kroku (Euler, Heun, RK4) dostępne są pola umożliwiające ustawienie: długości kroku czasowego Time Step (dt), liczby kroków integracji Steps, długości fazy rozgrzewki Burn-in oraz współczynnika skalowania Scale.

Attractor Builder – Fixed dt

Adaptive dt. Obejmuje dwie metody adaptacyjne (RKF45 oraz DP5), w których użytkownik nie określa stałego kroku czasowego. Zamiast tego algorytm dobiera dt automatycznie na podstawie tolerancji błędu Tolerance oraz podanego zakresu dopuszczalnych wartości Min Step i Max Step.

Attractor Builder – Adaptive dt

Output. Przycisk Build Attractor generuje trajektorię w postaci obiektu typu Curve (dokładnie: Poly Curve) o nazwie podanej w polu Output Name — domyślnie Attractor. Dopiero po wygenerowaniu atraktora dostępna staje się sekcja Raw data. Przycisk Points tworzy obiekt typu Mesh o nazwie RawPoints, umożliwiający podgląd wszystkich wygenerowanych punktów. Przycisk Export zapisuje te dane do pliku CSV, co pozwala na dalszą analizę wyników symulacji w Pythonie, MATLAB-ie lub Excelu. Plik CSV zawiera kolumny steps, dt, x, y, z. Pierwszy wiersz odpowiada warunkom początkowym wprowadzonym przez użytkownika w sekcji Initial conditions, a pozostałe wiersze zawierają współrzędne punktów trajektorii uzyskane w kolejnych krokach integracji. Informacja o dt ma szczególne znaczenie w metodach adaptacyjnych, w których krok czasowy jest wyznaczany przez algorytm.

Attractor Builder – Output section

Post-Processing Tools. Sekcja ta pojawia się dopiero po wygenerowaniu atraktora i umożliwia prostą obróbkę uzyskanej krzywej. Narzędzie Trim pozwala skrócić trajektorię, usuwając jej początkową lub końcową część poprzez ustawienie zakresu Start i End; po zatwierdzeniu przyciskiem Apply Trim obiekt zostaje trwale zaktualizowany. Funkcja Simplify umożliwia redukcję liczby punktów krzywej typu Poly Curve, co zmniejsza złożoność obiektu i ułatwia dalszą pracę; działa ona niezależnie od operacji przycinania. Z kolei narzędzie Smooth to Bezier konwertuje krzywą poli-liniową na krzywą Béziera, wykorzystując wbudowany algorytm wygładzający, a jego intensywność kontrolowana jest parametrem Fidelity. Wszystkie trzy operacje pozwalają szybko przygotować trajektorię do dalszej edycji, animacji lub renderingu.

Attractor Builder – Post processing tools

Custom. Ten tryb umożliwia definiowanie i zapisywanie własnych układów równań różniczkowych, które następnie można integrować i wizualizować tak samo jak systemy z biblioteki wbudowanej. Sekcja ta jest przeznaczona dla użytkowników chcących eksperymentować z własnymi modelami, modyfikować istniejące układy lub dokumentować różne warianty parametrów.

Attractor Builder – Custom mode

Custom Library. Lista rozwijana wyświetlająca zapisane wcześniej układy wraz z ich parametrami. Elementy pojawiają się w kolejności od najnowszych, dzięki czemu łatwo wrócić do ostatnio edytowanych modeli. Wprowadzając własne równania, należy pamiętać, że parser akceptuje wyłącznie bezpieczny podzbiór wyrażeń: zmienne x, y, z; funkcje matematyczne sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log, sqrt, pow, fabs; oraz standardowe operatory arytmetyczne: +, -, *, /, **, %, a także unarne + i -. Użycie innych struktur składni spowoduje odrzucenie równania.

Detect Parameters. Przycisk ten analizuje wprowadzone równania, wykrywa wszystkie występujące w nich symbole (z wyłączeniem x, y, z) i na ich podstawie tworzy listę parametrów. Jest to krok niezbędny — bez wykrycia parametrów i poprawnej struktury równań nie jest możliwe przeprowadzenie symulacji. Po pomyślnej detekcji parametry wyświetlane są w tabeli poniżej, gdzie można nadać im wartości początkowe, tak jak w trybie Default.

Save/Notes/Edit/Delete. Po wykryciu parametrów układ można zapisać pod dowolną nazwą, co dodaje go do listy Custom Library. Wszystkie zapisane systemy przechowywane są w jednym pliku .json wewnątrz dodatku, dzięki czemu pozostają dostępne między sesjami Blendera. Do każdego zapisanego układu można przypisać własne notatki, np. opis pochodzenia systemu, uwagi dotyczące stabilności, typowe wartości parametrów czy wyniki eksperymentów numerycznych. Przyciski Note oraz Edit umożliwiają odpowiednio przeglądanie i edytowanie notatek, natomiast Delete usuwa cały zapisany system wraz z odpowiadającym mu wpisem w pliku JSON.