Skip to main content

Quick simulation of arbitrary rulesets for nearest-neighbour cellular automata. Uses scipy.ndimage.correlate, and can export videos via ffmpeg-python.

Project description

Cellular Automata Simulator

Uses numpy and scipy.ndimage to quickly simulate arbitrary rulesets for nearest-neighbours cellular automata. Can generate videos and images of the results via ffmpeg-python and pillow.

Usage example:

import gameoflife_ndimage.simulation as sim
from gameoflife_ndimage.video import Recorder

if __name__ == '__main__':
    rules = sim.Rules2D.classic()
    size = (256, 256)
    draw_params = sim.DrawParams(
        dead_color=[0, 0, 0], alive_color=[255, 255, 255],
        resize_factor=4)
    
    state = sim.State2D.random(rules, size)
    input_wh = tuple(a * draw_params.resize_factor for a in state.wh)
    recorder = Recorder(
        framerate=5, input_wh=input_wh,
        output_path="output/gol_classic_{}x{}_from_random.mp4".format(*size))
    state.run_and_record(100, draw_params, recorder)
    recorder.close()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gameoflife-ndimage-0.1.2.tar.gz (7.1 kB view hashes)

Uploaded Source

Built Distribution

gameoflife_ndimage-0.1.2-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page