Sit & Make: Final Forms

The simpler the better, the age old adage goes, and so it proved with Sit & Make. During my experimentation, I created more and more complex systems for generating forms, but the more extravagant they became, the less coherent the result, both in terms of aesthetics as well as its relationship to the sitting posture. In the end, it was the simple technique of creating a Delauny Mesh that proved to be the perfect balance between beauty and emergence. Here is how the form generation happens.

 

Basis

A Delauny Mesh requires a set of points which define the overall structure of the form. It is important for me to make sure that the location of these points correlate with the sensor values from the chair. Another experiment, the Box Chair, came in handy for this. Each area of the box chair corresponds with sensors on the chair. For example, the length and height of the armrests correlate with how much you used the armrests. The seat’s width and depth are controlled by the flex sensors on the cushion. I then generate random points, using the areas to constrain where the points live. If the box chair is wide, the points will also be distributed widely, resulting in a wider chair.

Grasshopper sketch for creating the Box Chair. Click to enlarge

 

Form

Once I have the points, creating the surface of the chair is fairly straightforward. I use a Delauny mesh component to create a basic form and then smooth out the result via a Catmull-Clark subdivision. Despite the simplicity of this process, the forms produced are varied and elegant. While they don’t represent literal chairs, they suggest chair-like forms that designers can use to extrapolate from.

 

Texture

Texture lends character and just like the form, I wanted it to be generated parametrically. Weaverbird has a lot of components that can modify meshes by creating holes, expanding vertices, emphasizing mesh edges etc. I created a Boolean logic system that chose modification based on the relationship between various sensor values. The amount of modification was also linked to the sensors, meaning that each user would get a different surface treatment based on how they sit.

Creating the form and textures. Click to enlarge

 

Putting It All Together

The last piece of the puzzle was bringing in the sensor values and linking them to the form generation. I connected the Firefly components to a graph mapper that normalized the sensor values from 1 to 100. These values then create the box chair, which in turn is used to generate a random set of points that gets converted to a Delauny Mesh. The mesh is smoothed out and a texture is generated, again based on the sensor values, resulting in the final form.

In addition to the physical sensor values, I also created a group of components that simulated the sensor readings so I could test the program without having to connect to the chair every time. There is also another group with manual sliders, where I can control the values of each sensor explicitly.

Complete Grasshopper definition. Click to enlarge

 

I am happy with the outcome of these forms. I think there is still some tweaking to do, especially when it comes to defining the position of the points, but I would like to test Sit & Make first and look at the system as a whole before continuing to tweak its constituent parts.

Leave a Reply

Your email address will not be published.

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.