041 Implementing Elementary Cellular Automata via. Spreadsheet CSV Link into CAD

Implementing Elementary Cellular Automata via. Spreadsheet CSV Link into CAD.

Purpose

Elementary Cellular Automata can produce results of Self Organization, Self Emergence, Optimal Design, Divergent Evolution, Convergent Evolution, Random Natural Selection and Selective Artificial Selection.

In relation to our current age of Energy, Resource and Environmental Depletion Elementary Cellular Automata algorithms provide a framework for the development of better design decision making and optimised; maximum variety; to ensure a sustainable use of the Earths potential.

Rules of Elementary Cellular Automata

“Elementary cellular automata have two possible values for each cell (0 or 1), and rules that depend only on nearest neighbour values. As a result, the evolution of an elementary cellular automaton can completely be described by a table specifying the state a given cell will have in the next generation based on the value of the cell to its left, the value the cell itself, and the value of the cell to its right. Since there are 2 x 2 x 2 = 23 = 8 possible binary states for the three cells neighbouring a given cell, there are a total of 28 = 256 elementary cellular automata, each of which can be indexed with an 8-bit binary number (Wolfram 1983, 2002).”

Source: http://mathworld.wolfram.com/ElementaryCellularAutomaton.html

Method

The following method is proposed to allow the output from a spreadsheet running an algorithm to produce Elementary Cellular Automata to be imported into a CAD system.

  1. Use a spreadsheet program to create a base grid.

See references below for the spreadsheet used and the methods, equations; with associated authors references; used to set it up.

  1. Set up a secondary, numerical grid reference for all the cells on the same base grid in the spreadsheet.

  1. Set up an ‘x,y,z’ set of columns within the same spreadsheet.

  1. Ignore the ‘x’ column cells.

  1. Link the ‘y’ column cells to each cell in the ‘y’ columns of the grid through formulas in the spreadsheet program.

  1. Link the ‘z’ column cells to each of the ‘y’ column cells.

  1. Set up a second ‘x,y,z’ set of columns within the same spreadsheet.

Make the ‘x and ‘y’ column cells equal to each grid references on the grid.

Make the ‘z’ column cells equal to the ‘z’ column cells from the first ‘x,y,z’ set of columns.

  1. Set up an output sheet in the spreadsheet.

This will be the sheet from which the CSV export files will be generated.

Paste Special and Link; without altering the formula; the second set of ‘x,y,z’ columns to this sheet.

The ‘x’ and ‘y’ columns in the sheets have been arranged to allow for the ‘x’ and ‘y’ columns to match the output axes of the CAD software.

  1. Set up the Elementary Cellular Automata formula as noted in the references below.

  1. Run the formula

  2. As each square in the grid is in-filled and the 'z' coordinate in all of the columns and in the copy of the columns in the output sheet change.

  1. For each Elementary Cellular Automata the resultant ‘x,y,z grid references and the modified 'z' references are displayed on the output sheet within the spreadsheet.

  1. The output sheet can then be outputted as CSV files to a CAD program.

  1. The CAD program needs to have plugins for importing and exporting CSV files as point clouds and attaching components to the point cloud nodes.

See references below for the CAD program and plugins used.

  1. The form created from the components attached to the point cloud can also be examined, varied and re-imported back into the spreadsheet as a CSV file.

  1. Any of the 256 Elementary Cellular Automata can be created in the spreadsheet referenced below and with the linking method described transferred to CAD software.

Results

The imported CSV form is indicated in the attached animations and images of the process.

The animation is formed by placing each CSV component output in a separate layer and linking that layer to an individual scene in the CAD program.

As each scene is played each layer is displayed.

The animation therefore represents the shared time frame for all of the output.

References

Google Sketchup 8 2010 Original Google Product Free version.

Plugins for Sketchup 8 2010 Original Google Product Free version.as listed with relevant authors from http://www.crai.archi.fr/rld/plugins_list_az.php

‘Microsoft Excel’ and / or ‘Gnumeric’ Spreadsheets.

Article and excel formula for the Elementary Cellular Automata from http://thefoggiestnotion.com/new_spreadsheet.htm

Ian K Whittaker

03/05/2016

Word Count 745 over 2 pages

Click on the image to enlarge

Click on the image to enlarge