Автор Jonny Hyman, 2020
Этот репозиторий является копией с целью перевода. В исходниках скриптов есть небольшие изменения.
- Оригинальный репозиторий
- Оригинальное readme
- Видео от Veritasium
- Видео в русской озвучке от Vert Dider
Это не библиотека, а набор независимых скриптов на Python! Таким образом, в скриптах есть небольшое повторение кода.
Инструкцию, предлагаемую автором проекта, можно прочитать в оригинальном readme. Я использовал немного другой способ.
- Тестирование проводилось на Python 3.7.9 под ОС Windows 10
- Для редактирования скриптов можно использовать Notepad++
Эти три модуля являются основными и используются во всех скриптах. Обратите внимание, что версии вообще всех модулей и Python ВАЖНЫ!
- Python 3.7.9 Windows
- Модуль математических вычислений Numpy :
pip install numpy==1.18.1
- Модуль ускорения вычислений Numba :
pip install numba==0.48.0
- Скачать репозиторий zip архивом и разархивировать
- Открыть разархивированную папку с файлами скриптов
- В строке адреса ввести "cmd" и нажать Enter
- Ввести команду запуска нужного скрипта, например
python logistic_interactive.py
, или только его названиеlogistic_interactive.py
- Если после установки Python выбрали галочку добавления пути в систему, то можно запускать скрипты двойным кликом ЛКМ
- Погуглить проблему
- Если вам кажется, что проблема в исходном коде, напишите сообщение в разделе Issues оригинального репозитория
Эта визуализация создает график попуяций, график функции и график бифуркаций для визуализации логистического отображения.
- Шрифт "Avenir Next" лицензирован для macOS. Другие ОС подтянут свой доступный шрифт.
python logistic_interactive.py
- Модуль графического фреймворка PyQt5 :
pip install pyqt5==5.14.1
- Модуль научно-исследовательских графиков PyQtGraph :
pip install pyqtgraph==0.10.0
- Пробел: проиграть/пауза
- Backspace: сбросить отображение и анимацию
Здесь мы видим набор Мандельброта на плоскости xy и итерации набора Мандельброта на оси z. Это создает график бифуркации под множеством Мандельброта!
- Окончательная визуализация достигается за счет рендеринга 1000x1000x1000 вокселей с передискретизацией в 16 раз.
- Настраиваемые параметры находятся после комметария # ---- PARAMETERS.
python logistic_mandelbrot.py
- Модуль визуализации 2D/3D на основе OpenGL Vispy :
pip install vispy==0.6.4
- Модуль для визуализаций Matplotlib :
pip install matplotlib==3.1.2
- Модуль доступа к фунциям OpenGL PyOpenGL :
pip install pyopengl==3.1.5
- ffmpeg если вы хотите соединять отрендеренные кадры в контейнер .movs (сделать видео файл😅)
- Windows: Установить chocolatey потом
choco install ffmpeg
python logistic_zoom.py
- Модуль для визуализаций 2D/3D на основе OpenGL Vispy :
pip install vispy==0.6.4
- Примечание: Для финальной версии визуализации использовалась пользовательская версия Vispy, модифицированная для улучшения внешнего вида осей. Эта версия Vispy опубликована автором здесь.
- Пробел: запуск/пауза симуляции
- Точка: симуляция следующей итерации (вперед)
- Запятая: симуляция предыдущей итерации (назад)
Будет работать только со скриптом "Логистическое отображение". Исполняемый файл для ОС Windows есть в релизах, работает без Python
- Модуль PyInstaller :
pip install PyInstaller==5.4.1
Ключ -F соберет все в один исполяемый файл и разместит его в папке dist рядом со скриптом
pyinstaller -F logistic_mandelbrot.py