Skip to content

An investigation into strange attractors using Rust and Kiss3d

Notifications You must be signed in to change notification settings

hmcalister/Strange-Attractors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strange Attractors

Author: Hayden McAlister

An example of the project running, showing a strange attractor

This is a small project to explore some dynamic systems and visualize some strange attractors. The project uses Rust with kiss3d as a graphics backend. The actual simulations are very crude, we could pretend to be fancy and call this a Newton-Raphson implementation of solving a system of differential equations - but a fairer description is taking little steps in space according to the equation rules. With small enough steps, we get a decent simulation!

An example of the project running, showing a strange attractor

Running the project

Ensure you have compiled the project in release mode. Use cargo build -r to do this. Kiss3d does not handle large number of points well in debug mode, so cargo run is not a great experience.

Once you have compiled the project, run it using the binary target/release/strange_attractors. Use the --help flag for extended help on the command line arguments to the program, although a summary is left below:

Usage: strange_attractors [OPTIONS]

Options:
  -n, --num-points <NUM_POINTS>
          Number of spheres to add to the simulation
          
          [default: 5000]

  -i, --initial-position-scale <INITIAL_POSITION_SCALE>
          Starting random position scale for simulation points.
          
          A larger scale will result in more chaotic behavior sooner
          
          [default: 1]

  -s, --system <SYSTEM>
          The system of equations to simulate. Use  the --help flag to see options.
          
          Options include:
          
          * 0: Lorentz 
          * 1: Aizawa 
          * 2: Thomas Cyclical
          
          [default: 0]

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

About

An investigation into strange attractors using Rust and Kiss3d

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages