Giter Site home page Giter Site logo

automata's Introduction

Automata README

A collection of my Automata / art coding hobbies. I have set it up such that relevant parameters are read from a parameters.py file.

I appreciate any constructive feedback or future ideas!

The Walker and Canvas classes

Uses the 'canvas' and 'walker' parameters to simulate restricted walkers on a canvas.

> python Automata walker

The Sierpinski class

Uses the 'sierpinski' parameters to simulate a Sierpinski triangle.

> python Automata sierpinski

The Sandpile class

Uses the 'sandpile' parameters to simulate an Abelian sandpile.

> python Automata sandpile

The AutoCell class

raise NotImplementedError("These docs are still to be fleshed out!")

Uses the 'autocell' parameters to simulate cell based automata. Implemented for:

  • 1D (x) evolution into 2nd (spatial) dimension (y), or
  • 2D (x-y) evolution into 3rd (temporal) dimension (t).
python Automata autocell

References

Markdown

Logging information:

Color maps:

Gaussian filtering:

Finding line segment intersection:

DEPRECATED from Canvas for folding from 3x3 to 1x1 canvas (Canvas.foldCanvas()), more efficient at cost of 9x larger canvas

Abelian sandpiles


TODO: Next Steps

  • Make TODO list
  • Automata
    • define python Automata help|-help|-h to return help docs in the command line
  • Canvas
    • Gaussian filtering for smoothing
    • multiprocessing should be possible as walkers independent of one another
      • I.E. N canvases parsing total_walkers / N walkers each
  • Walker
    • Find out if choice has more efficient function
    • Add Walker vision implementation to allow directional preference
      • I.E. Fix Walker.look() method, especially handling and 'type' of vis / self.vis
      • I.E. vision: [int, int] | np.array([int, int]).astype(int)
  • Sandpile
    • Find out how large history should be (t-axis)
      • I.E. dynamically calculate t if possible
    • Sandpile.animate() save with PIL for proper .gif format
    • Test Sandpile.show3D() for better plots
  • Bezier
    • Add Bezier.py to folder structure
    • Implement Bezier() in the __main__.py file
    • Add docs to README above
  • AutoCell
    • Add original Autocell.py to folder structure
    • Implement AutoCell() in the __main__.py file
    • Finish correcting typing in AutoCell.py
      • I.E. Includes parsing parameters from dictionary
    • Add docs to README above
    • Add AutoCell References
    • Cell1D show revamp
    • Checkbox for black/white in show 2D
    • Cell2D.animate() not called properly when run in Terminal
    • Cell2D resize not working
    • Have way to show age
      • I.E. Pixel gets darker the older it is

automata's People

Contributors

justinothergitter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.