RABBIT 0.2: New Cellular Automata features

We are posting a few experiments, created with the work-in-progress RABBIT 0.2. We plan to release it within a week or two… In the meantime, you could download RABBIT 0.1 here

RABBIT 0.2 has a lot of new features:

  • user defined initial configurations
  • automatic/manual control of the CA evolution
  • CA memory – stores all configurations/states of the CA calculated for different time steps(t=0,1,2,3…)

With RABBIT 0.2 you could visualize 2D Cellular automata in 3 dimensions – the third dimension is a function of time.

The geometry inherits the underlying topology of the cellular automata – the evolution ot the cells is encoded in the form

DieHard-LifeCA-3d

RABBIT 0.2: New LSystems features:

  • user defined LSystems
  • fractals: Koch curves, Space-filling curves, …
  • Branching LSystems
  • 2d/3d Turtle interpretation

Some experiments with LSystems:

“Air island” #1

L-system experiment

Axiom: F
Production rule: F=FF/F+F^
Number of generations: 8
Default step of the turtle: 6
Default angle increment of the turtle: 90

“Air island” #2

L-system experiment

Axiom: F
Production rule: F=F/F+F^F
Number of generations: 6
Default step of the turtle: 11
Default angle increment of the turtle: 90

“Air island” #3

L-system experiment

Axiom: F
Production rule: F=F^F-F/
Number of generations: 8
Default step of the turtle: 6
Default angle increment of the turtle:: 90

music: “Ratatat”

12 thoughts on “Rabbit + Grasshopper: 3D L-systems, 3D Cellular Automata

  1. Cameron says:

    Hey guys, great stuff! I’m a M.Arch student at Washington State University working on an Urban Design project for my studio course. I’m proposing that it will be based upon a modularized growth of pre-set units that can serve as dwellings, business, civic nodes, or whatever is required of them. Furthermore, the growth of this system over time will be dynamic, in that it will adapt to the needs of the inhabitants and be able to evolve with their requirements, changing spatial configuration as well as function.

    I have a mid-review coming up in a week, and I was wondering if there was any way I might be able to beta-test the 0.2 release of your Rabbit plugin for Rhino?

    I’ve been playing with the 0.1 release, and it’s great, but I can’t seem to get it to function in three dimensions, or to base it’s growth on my own initial seed and additional growth instructions.

    Please feel free to contact me via the provided email. I thank you for your work and the inspiration its provided me.

    Respectfully,

    Cameron

  2. morphocode says:

    Dear Cameron,

    thanks for your interest in Rabbit! We appreciate it.

    We’ll do our best to release Rabbit 0.2 in the beginning of the next week.

    Best,
    morphocode

  3. Matthias says:

    Hi, amazing stuff! I’m also a M.Arch student from Belgium currently researching Cellular Automata and it’s possibilities as a generative life form in architecture. The first release of rabbit is great and I’m also very eager to be able to experiment with the 3D growth. Congratulations and best regards,

    Matthias

  4. David says:

    I am trying to use Rabbit 0.2 and running into some difficulties interpreting the basic inputs and outputs of some of the components, specifically the LSystem and Turtle. I’m trying to figure out how to define a variable related to a string(seed) to include in my production rule (something as simple as A+1=A). Also, how the outputs are interpreted into specific geometries. Are there any basic tutorials or definitions available to share? Any help appreciated…

    PS The basic principles outlined in ‘The Algorithmic Beauty of Plants’ are pretty cool.

  5. morphocode says:

    Hi David,

    – “Are there any basic tutorials or definitions available to share? ”
    – You can have a look at the tutorials included in the distribution file – there are definitions for 2d & 3d branching structures, space-filling curves, etc..

    – “I’m trying to figure out how to define a variable related to a string(seed) to include in my production rule (something as simple as A+1=A)”
    – By definition the predecessor(the left side of the production rule) is a single symbol, so you’ll have to define the rule as: “A=A+1”.
    Note that you can use variables only with parametric L-system however Rabbit does not support parametric L-Systems at the moment. The good news are that we plan to support this class of L-Systems in the future.

    We hope this answers your questions

    Cheers

  6. Ali says:

    Dear Cameron
    I work on a residential complex designing on a sloped site for my studio course. Do you have any idea to use Rabbit to design access of the site or dividing the access on a modularized growth? I want to know whether this program could help me to zoning or give me a pattern or not ?
    Pleas help me on this topic.
    Best
    Ali

Leave a Reply

Your email address will not be published. Required fields are marked *