[help] - A New Kind of Science: The NKS Forum

A New Kind of Science: The NKS Forum

Pages:1



help

(Click here to view the original thread with full colors/images)



Posted by: Guy Birkin

Hullo,
Nice idea to set up this Artistic NKS bit. I'm doing a masters degree in Fine Art and my main theme is 'digitality'; NKS, Fredkin's Digital Philosophy, and the works of Teihard de Chardin and Jean Gebser are my main sources. I do intend to engage in some arty/NKS discussion here, but first I'm hoping someone can offer this struggling artist a bit of practical help:
At the moment, I'm working on paintings and tapestries based on block cellular automata, and have recently purchased Mathematica to save me the trouble of working out CAs with paper + pencil (as I have been doing for years).
I know from the NKS notes (p. 1023) that the basic mechanism is

BCAEvolveList[{n_Integer, rule_}, init_, t_] :=
FoldList[BCAStep[{n, rule}, #1, #2]&, init, Range[t]] /;
Mod[Length[init], n] == 0

BCAStep[{n_, rule_}, a_, d_] :=
RotateRight[Flatten[Partition[RotateLeft[a, d], n]/.rule], d]

but my attemps at writing this into a working program have yet to succeed. I'm aware that this is pretty basic stuff, but I'm new to Mathematica (and a bit lazy). Could someone please show me how it's done?
I've attached a rough image of the sort of thing I'm working on. It's part of a k2 block CA shown as a square tube, with only one cell state visible.

Thanks

guy



Posted by: Richard Phillips

The following produces a picture after having evaluated the two functions BCAEvolveList and BCAStep, although not the picture you want!


RasterGraphics[(state_)?MatrixQ, colors_Integer:2, opts___] := 
  Graphics[Raster[Reverse[1 - state/(colors - 1)]]
   AspectRatio -> (AspectRatio /. {opts} /. AspectRatio -> Automatic), opts]



Show[RasterGraphics[BCAEvolveList[{2, {{0, 0} -> {0, 0}, {0,1} -> {1, 1}, {1, 0} -> {1, 1}, {1, 1} -> {0, 0}}}, ReplacePart[Table[0, {40}], 1, 20], 40]]]


Do you then want to produce a picture like the GIF you attached?
I assume the non-white colors are added in after by hand. Is that true?
Also, do you know the description of the rule you want? In the above example it is given as a rule list.



Posted by: Guy Birkin

Thanks Richard,

That's just what I needed to get me going. Yes, that image was done by hand,as part of a rather lengthy process: Firstly working out the evolution of the CA on graph paper, next (if it's a complex one) making a small tracing-paper model, then drawing a 'black=visible, white=invisible' image on isometric paper (GIF!) which can then be transferred to a canvas before finally being rendered in paint. And yes, ultimately I do hope to create images like that using Mathematica, but for now I just need to play around with little programs like that: With it, I'll be able to do lots of experiments, save a lot of time, and hopefully learn a bit more about Mathematica in the process.

I'm concentrating on one simple rule that conserves the number of black cells (#39 in the Wolfram Atlas of Simple Programs: 11-->00, 10-->10, 01-->01, 00-->11) as well as the k>2 rules of which this is an element. I like it because of its 'visual grammar' - the combination of numerous simple shapes and the larger, more complex threads, together with its apparent lack of vertical/horizontal distinction. But for me, the specific rule and its visual representation is of lesser significance than its digital basis and its incorporation of time.
Hmm - I'm rambling towards territory that should probably be reserved for another thread.

Thanks again - it's a great help.

guy



Posted by: Richard Phillips

Pleased to be of help. Do say if you have any problems.

By the way, the results are very nice.

On a technical and aesthetic note, I haven't before seen the geometric representation of the block CAs using triangles that you used. I'm sure anyone interested in block CAs for any purpose could use this.





Forum Sponsored by Wolfram Research

© 2004-2008 Wolfram Research, Inc. | Powered by vBulletin 2.3.0 © 2000-2002 Jelsoft Enterprises, Ltd. | Disclaimer
vB Easy Archive Final - Created by Xenon and modified/released by SkuZZy from the Job Openings