Rhinoscript


In the best known example of Cellular Automata – Conway’s Game of Life, each cell has a binary state – it is either On or Off.
However, it is possible to explore similar automata where the state of each cell can be any real number in a given range – Continuous Cellular Automata.

The video above shows such a CCA in grasshopper. Each cell has a height value, which interacts with the values of its neighbours according to a simple* equation. This is a way of generating 3-Dimensional forms even though the cells only use a 2-dimensional Moore neighbourhood.

You can download the grasshopper definition here:
CAheights2.ghx

I made this by taking a Game of Life definition which Baldino had already made and simply copy-pasting some code from one of my earlier processing sketches into the VB component (well, I had to change a couple of bits of syntax, but surprisingly little).

The processing sketch uses colours instead of heights to show the value of each cell, and is mouse reactive:

fizzy

Click image for Live Interactive version + sourcecode

Its strange the way it varies between periods of calm and chaos, without ever completely settling down or degenerating to noise.

* though it took me a fair bit of trial and error to come up with this particular equation. Just like the different rulesets explored by Wolfram, little changes can give quite different results, and I ran through all sorts of odd glitchiness before finding one I liked.

Here is a displacement by attractors definition for grasshopper based on some real physics:

It allows you to set multiple ‘attractors’ which interact realistically just like electric charges, magnets, heat flows or ideal fluids. Sliders control whether each point is a source, sink, vortex or a combination of these.

Get the ghx here

edit 26/10/09 : Check out the new and improved 3D version – JellyFish

I’ve long been fascinated by this area of math/physics. For more on this, take a look at rheotomic surfaces (its a bit of a long read, but skip down to see all the pictures and videos)

flowlines

Continuing the theme of my previous post, this shows how several of these linkages can be joined to form larger deployable structures.

It works by defining an octahedron, based on 4 user positioned points and certain geometric conditions, which allow it to join to copies of itself along 4 of its edges.
The slider then controls the single degree of freedom of the resulting over-constrained structural mechanism.

At the moment all units are identical and the structure deploys to a flat plane, but I’m looking at ways of letting it curve and take on more interesting shapes. This is fairly simple to do for curvature in a single direction, to form vaults etc. But finding the necessary geometric conditions for doubly curved structures (such as domes) from networks of Bennett linkages is currently an open problem.
GH feels like it might be the right tool to solve it though.

Again this is based on the work of Y.Chen and Z.You which I linked to earlier. There’s also a shorter paper here, and a nice overview of motion structures here.

Will post the ghx as soon as I’ve cleaned it up a little.

Last year I was designing some shelters based on this stuff. I was looking at ways of bracing it with tape springs or bi-stable struts (a fascinating subject in its own right, which deserves its own post). The joint still needs work – the version shown below adds unwanted degrees of freedom.

spaceframe-barrel1techjoint1

These are Rheotomic Surfaces – from the Greek

Rheo – flow

and

Tomos – cut or section (as in tomography)

The horizontal sections of these surfaces correspond to the moving equipotential lines of a 2D Laplacian flow, with height mapped to time. Such surfaces are complete, embedded and walkably connected.

Potential Flow

(more…)

Welcome to everyone who has come here from Rudy Rucker’s blog, from Vimeo, or from my LKL talk. I have attempted here to give a a bit more explanation of my recent 4D rotation animations, in as non-technical a way as possible.

(more…)

OK. here it is, The applet for inversion with respect to a sphere as a Rhino4 plugin available for free download from:

http://en.wiki.mcneel.com/content/upload/files/Inverter_applet.zip

Any questions or comments please let me know. I’d love to be able to post images or links to show any ways anybody finds of using it.

Well I’m now happy that this script is ready. In the morning I’m going to wrap it up in a plugin and post it on the Rhino developer site. Here are some demonstrations of what it does:

Inside the Outside of a horse

Inverted Stanford Bunny

Inverted Stanford BunnyInverted Stanford Bunny

Inverted Head
Inverted Head Inverted Head

and here are some videos, just to make clear that these are not just 2D transformations


Each one of the images and videos above is produced by a single application of my transformation script – the only variable being the position of the object relative to the inversion sphere.

There are so many incredibly serious and tasteful sites about Rhinoscripting, all about making gently undulating arrayed surfaces and stuff like that – Well now Im here to give you the really useful stuff you need- like tools for turning horses inside out!

Next Page »