Friday, 27 April 2012

Mesh Strip

In an effort to bring some of the geometry I've been playing with into the realm of the constructable (or at least closer to it), I've been exploring the decomposition of freeform meshes into developable strips. In the example below, an initial isosurface is extracted from a reaction-diffusion simulation that used pheromone concentrations from previous posts as a starting condition. This mesh is then decomposed by marching across each of its faces based on a simple scoring system. At each step, the normal of the current face is compared to that of its neighbours. This deviation is combined with deviation from a guide vector to produce the overall score. The lowest score is followed until either the current strip exceeds a defined maximum length or the mesh simply runs out of faces. The process can also be short circuited if no neighbours fall within an acceptable deviation.

The decomposition was run twice on the above mesh. The two passes used perpendicular guide vectors producing a weft layer and a warp layer. Strips under a certain length were left out to produce openings in the skin.

Platforms: Processing, C#, Grasshopper, Rhino