Monday, December 14, 2020

Visualizing chaotic attractors via 3D-printed models

 It has been 30 years since I first studied chaotic circuits and dynamical systems. At that time, we visualize the beautiful 3-D (and higher dimensional) chaotic attractors using a Silicon Graphics workstation. I was delighted to read in the December 2020 issue of the Notices of the AMS the article "Modeling Dynamical Systems for 3D Printing" by Stephen K. Lucas, Evelyn Sander and Laura Taalman. The ubiquity of inexpensive 3D printers makes it much easier to create 3D models of chaotic attractors. The authors provided excellent Mathematica and Matlab programs that make it easy to create STL files that can be sent to 3D printers to print these models. With python being able to be run on platforms ranging from PC to smartphones to Raspberry Pi's, I thought it would be nice to have a Python version of these programs. I ported the Matlab program to Python and utilized Python's object oriented features to make it easy to use them for other chaotic dynamical systems. 

The Python port is available here: https://github.com/postvakje/3d-printing-of-chaotic-attractor

The file dynamical_systems.py can be edited to add additional dynamical systems by providing the parameters, initial and ending simulation time, initial conditions and system equations. 

The data files that are output can be used with an script on OpenSCAD to create STL files.




No comments:

Post a Comment