home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / theory / cellaut / 317 < prev    next >
Encoding:
Internet Message Format  |  1992-07-25  |  4.7 KB

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