Cool stuff guys Another option would be to use a 2D continuous cellular automata - so rather than just being on or off, each cell has a value between say, 1 and 100. Then at each iteration, each cell updates to some new value based on an equation of its previous value and those of its neighbours. I was playing around with this in Processing a while ago,
take a look at the videos here: http://vimeo.com/album/41270 there's links to source code there too I love how such simple code with just slight changes in the constants of the equations can give such radically varied results. In those animations the cell value is determining a colour, but what would be really interesting would be to make it control Z displacement. I didnt try this yet, because I havent learned any 3D stuff in processing, but it might be easier in Grasshopper. (I did try linking the cell value to a musical note - and it sounds awful ! : http://createdigitalmusic.com/2008/11/14/help-im-trapped-in-an-acid-colored-wash-of-a-thousand-general-midi-pianos/ ) On Feb 7, 12:21 pm, visose <[email protected]> wrote: > I problem i see with 3d cellular automata is how you visualize the > growth. A camera outside the 3d grid will have visibility quickly > blocked by the outer cubes. But you can also project a 2d grid in a 3d > surface and use 3d geometry for the cells like in the video i posted > above. For the initial generation i used two lists of numbers, one for > the x values and one with y values, but this is not very intuitive. > The method David suggests about placing points on the grid and then > finding out with cells correspond to the points would be the best > approach for ease of use, i think. > > On Feb 7, 12:31 pm, David Rutten <[email protected]> wrote: > > > Hi cg, > > > in theory it doesn't really matter how many dimensions you use for a > > cellular automata, but there are physical constraints that you should > > ponder. The amount of memory and processing time needed for an extra > > dimension is not insignificant and may well prove too much. Typically, > > algorithms that deal with CA store data in exceptionally efficient > > ways, but data in Grasshopper has a larger memory footprint than data > > inside pure DotNET or C++ environments and it also requires a lot of > > type-testing. There's no way for the user to optimise the memory usage > > of a Grasshopper network. > > > Initial conditions can be set up through a number of ways. You could > > create geometry in Rhino which set initial conditions (for example, > > put point objects inside each cell that you want to enable), or you > > generate a list of numbers that identify the 'on' and 'off' state of > > cells. You can then easily import this text using the 'Manage > > Collection' feature on the Integer parameter. > > > -- > > David Rutten > > [email protected] > > Robert McNeel & Associates > > > On Feb 6, 9:50 pm, cgkahler <[email protected]> wrote: > > > > hi, i am an architecture student and I am very interested in exploring > > > cellular automata with grasshopper. I had alot of luck with the > > > definition posted above but was wondering if it is possible to... > > > > (1) create a three dimensional cellular automata > > > > (2) specify the initial generation (which cells are on/off) > > > > unfortunately i am just beginning to become familiar with these topics > > > and any help would be greatly appreciated
