Трехмерные хаотические аттракторы в C++

Аттрактор — это система, описываемая дифференциальными уравнениями для конкретных переменных, например, X, Y и Z в декартовой системе координат. Эти переменные изменяются со временем в соответствии с конкретным уравнением, определяемым спецификацией аттрактора.
Переменные X, Y и Z определяли состояние системы во времени, здесь положение частицы в декартовой системе. Прелесть каждого аттрактора заключается в том, что система является хаотической нелинейной системой, что означает, что решение для заданных входных данных является детерминированным, однако небольшие изменения одного и того же применяемого входного сигнала влияют на совершенно другое решение.

Я говорил о хаотических системах здесь и здесь. Эту статью можно рассматривать как продолжение описанного ранее исследования, в котором я решал дифференциальные уравнения на C++ для хаотических систем.

Для этой статьи я использовал уравнения с вдохновляющих сайтов: здесь и здесь.

Дифференциальные уравнения решались методом Рунге-Кутты, о котором я рассказывал в одной из своих предыдущих статей.

Исходный код на C++ вы найдете на моем Github.

Для построения графика требуется включить заголовочный файл, который должен находиться в той же папке, что и ваш cpp (файл, который вы можете клонировать из моего репозитория).
Ваша программа может быть скомпилирована следующим образом:

//compile
g++ my_prog.cpp -o my_prog -I/usr/include/python3.8 -lpython3.8//

 //run
./my_prog

//folder tree

├── my_prog
├── my_prog.cpp
├── matplotlibcpp.h

Аттрактор Айзавы

Аттрактор описывается следующими дифференциальными уравнениями:

a = 0. 95, b = 0.7, c = 0.6, d = 3.5, e = 0.25, f = 0.1

Аттрактор Ньютона-Лейпника

Аттрактор описывается следующими дифференциальными уравнениями:

a = 0. 4, b = 0.175.

Нос-Пылесос Аттрактор

Аттрактор описывается следующими дифференциальными уравнениями:

a = 1.5.

Атрактор Халворсена

Аттрактор описывается следующими дифференциальными уравнениями:

a = 1.4

Атрактор Чен-Ли

Аттрактор описывается следующими дифференциальными уравнениями:

a = 5, b = -10, c = -0.38.

Буали Аттрактор

Аттрактор описывается следующими дифференциальными уравнениями:

a = 0.3, s = 1.0.

Финансовый Аттрактор

Аттрактор описывается следующими дифференциальными уравнениями:

a = 0.001, b = 0.2, c = 1.1.

Томас Аттрактор

Аттрактор описывается следующими дифференциальными уравнениями:

b = 0.19.

Спасибо за чтение.