home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.theory.cell-automata:317 comp.windows.news:431 comp.sys.sun.apps:1478
- Path: sparky!uunet!mcsun!uknet!warwick!str-ccsun!strath-cs!turing!coulin!hopkins
- From: hopkins@turing.ac.uk (Don Hopkins)
- Newsgroups: comp.theory.cell-automata,comp.windows.news,comp.sys.sun.apps
- Subject: HyperLook Cellular Automata Machine for OpenWindows V3 available for ftp
- Message-ID: <HOPKINS.92Jul26075612@delta9.turing.ac.uk>
- Date: 26 Jul 92 06:56:12 GMT
- Sender: usenet@turing.ac.uk (Usenet for nntp)
- Organization: The Turing Institute, Ltd.
- Lines: 70
-
- I've written a recreational CAM-6 simulator (Tofoli & Margolis's
- Cellular Automata Machine) and ported it to HyperLook (the user
- interface development system I'm working on at Turing). It displays
- animated cellular automata that you can edit in real time with the
- mouse! And it comes with a free Lava Lamp!
-
- The Cellular Automata Machine simulator (a SPARC binary with a bunch
- of PostScript and data files) and the HyperLook runtime system are now
- available for anonymous ftp! HyperLook and the CAM simulator run
- under OpenWindows Version 3 on color SPARC workstations. They're
- available for anonymous ftp from turing.com, in the file
- "pub/CAM.tar.Z", or ftp.uu.net, in the file "packages/NeWS/CAM.tar.Z".
- You will also need to retrieve the HyperLook runtime environment, from
- the same directory, with the name "HyperLook1.5-runtime.tar.Z". There
- are several text and PostScript files explaining HyperLook, and other
- HyperLook demos and applications (including SimCity, which I've also
- ported to HyperLook). Install and run HyperLook (set your $HLHOME
- enviornment variable), uncompress and un-tar CAM.tar.Z into a
- directory, go there, and type "cam". Press the "Help" key at the
- buttons and graphics to learn how to work the user interface.
-
- Here are some highlights of my Cellular Automata Machine simulator:
-
- The user interface is a HyperLook stack (kind of like PostScript
- HyperCard for Unix). The simulator is written in C, and uses a
- look-up table in the same format as the CAM-6. The simulator
- implements several different neighborhoods, and several favorite hard
- wired rules. The rules (that aren't hard wired in C) are specified in
- Forth (I use wmb's SPARC Forth, and have written some code that lets
- me define rules in the same language as used in T&M's "Cellular
- Automata Machines"). Forth compiles the rules and writes out lookup
- tables that are read by the simulator. The simulator animates on the
- screen very quickly by using shared memory. There's a button to tile
- the screen root background with the current pattern, which is worth
- its weight in LSD! You can draw on the cells with the mouse as they
- animate! It comes with a whole bunch of interesting rules. Each rule
- has a brief (if not cryptic) description, and a list of pre-defined
- initial configurations that work will with the rule. You can copy the
- cells onto the clipboard and paste them into the drawing editor
- (included with HyperLook) to edit or print them. You can also paste
- structured PostScript drawings from the drawing editor into the cells!
- (My favorite trick is pasting usenix facesaver images into hglass.)
-
- One of the neatest built-in rules is Rudy Rucker's "Eco" rule (maybe
- he called it something different, but I think he came up with the
- idea). It runs "Anneal" in one plane, and either "AntiLife" or
- "Brian's Brain" in the other, depending on the "Anneal" bit. It uses
- AntiLife (the bitwise complement of Life) instead of regular Life,
- because then the interaction with Brain's Brain along the annealing
- edges is, shall I understate, somewhat more intense! (not to mention
- the 5 bits of echo!) This rule looks really cool when started with a
- symetric configuration! Then you can switch back and forth between
- symetry-preserving rules, and generate all kinds of interesting screen
- backgrounds! Eco is a great rule to display in the Lava Lamp view! (A
- wee simulated lava lamp desk accessory that displayes the automata in
- an appropriately shaped window.) Another rule that looks good in the
- Lava Lamp is "Heat", which is eight neighbor heat diffusion: sum the
- eight neighbors (plus a global heat change constant) and divide by
- eight (by shifting). The global heat change constant causes the heat
- of the entire system to rise or fall, and when a cell goes below 0 or
- above 255, it wraps around to the opposite heat, causing chaotic
- psychodellic churning and boiling! A modification I made to this rule,
- "DHeat", takes the remainder after dividing by 8, and adds it into the
- next sum (i.e. just keeps the low 3 bits that would be thrown away
- around for the next sum), resulting in a *much* more accurate heat
- diffusion simulation, with a wonderful dithered appearance. The
- dithered heat diffusion (which doesn't preserve symetry) makes
- *really* keen screen backgrounds!
-
- -Don
-