Cellular Automata Simulation

Motivation: This is a project that I implemented for the Advanced Programming Techniques (ComS229) course at Iowa State University. This project served as a practical application of C++ concepts taught in class and practice using Qt to design a User Interface.

Summary: This project was a cellular automata simulation that showed a graphical representation of the state of all the cells in a population at specific iterations and allowed for various rule sets. It can read in a single input file of a pre-defined format that specified the starting conditions of the simulation. The program simulated Conway’s Game of Life, WireWorld (which behaves similar to a electrical circuit), as well as a cellular automata based off of Rule 30 but extended to work with a 2D population. The GUI control allowed for the user to step or loop through generations as well as to manually create a starting generation.


Skills Aquired: Practical C++ programming experience, Qt 4.8 experience, VIM, compiling code through the command line

Resources Used: Course lecture slides, Iowa State University Linux Servers (for compiling code), Iowa State University Linux Computer Labs

Comments are closed.