Home / Tags / algorithm
Album Published

Floraform system

Floraform is a computational simulation of differential growth on a thin surface. Our system includes a physics simulation of a thin shell or elastic surface with a curved rest configuration, and a model of growth. The surface is modelled as a triangle mesh represented as a half-edge mesh structure. It evolves through time and on each timestep, forces are computed on each vertex of the mesh, new positions are integrated for each vertex, and growth rates expand each edge of the mesh. Many of the techniques used are based on discrete differential geometry. The system can be broken down into several components.

Physics

The physics of the surface are based on “Discrete Shells” by Eitan Grinspun, et al. Each edge of the mesh is modelled as a spring which resists stretching of the surface. The edge between two faces also has a bend energy proportional to the angle between the faces that resists bending. These forces are then integrated using an overdamped implicit Euler solver.

Collision detection

In order to prevent our surface from intersecting itself, we need a way to detect collisions between parts of the surface as it grows and to introduce forces to prevent it from overlapping. We use a particle-based collision system. Each vertex of the mesh has an ellipsoid-shaped collision body around it, which has a radius equal to some collision distance normal to the surface and a radius proportional to the ring of vertices around it in the tangent plane. When two collision bodies intersect, we introduce a stiff spring-like force that pushes them away from each other. Detecting nearby collision bodies is accelerated with a simple spatial binning structure.

Geodesic distance

The growth rate of the surface is controlled by the distance along the surface from the edge or some other specified growing zone. We then expand the length of edges based on a function of this distance. The distance along a surface is known as the geodesic distance, and unlike distance through normal space, it can't be computed directly from the positions of the vertices. To compute this, we use a technique from a paper called "Geodesics in Heat" by Crane, et al. It employs a novel method to compute geodesics using heat flow to calculate the gradient of the distance, rather than directly computing it through a Dijkstra-like search.

Adaptive subdivision

As our surface grows, we need to maintain the level of detail of our mesh in order to have a smooth surface and a stable stimulation. Any edge that grows above a threshold length is subdivided such that each neighbouring triangle is split in two. To maintain good triangle shape, an edge is only split if it is the longest edge in a triangle. Additionally, we introduce edge flipping to balance the topology of the mesh as it subdivides.

Album Published

Generators for Motorola

In the summer of 2013 we worked for Google’s Advanced Technology and Projects group creating 3D printing generators for the Make with Moto tour. Motorola drove a van filled with digital fabrication tools across the country. They wanted to enable people to customize and hack their cell phones. We developed three apps for them that leveraged the tools in the van and let people design their own Moto X phone accessories that were then fabricated in under an hour. 1) Physigram - used live video and depth information from a Kinect and a set of 3D filters we created to generate full-color 3D-printed phone cases. 2) Tessellation - a flexible bracelet made of hinged triangles that users could sculpt and have fabricated in their exact size. These were 3D printed in place on inexpensive desktop 3D printers. These bracelets contained an NFC tag so they could interact with cell phones. 3) Radiolaria - a playful phone case generator that let users play with a particle system to sculpt a crystalline or cellular style case. These cases could be printed in clear resin or laser cut from a variety of woods or plastics.

Album Published

Reaction system + videos

We wrote a computer program to generate 3D forms using a mathematical simulation of Reaction-diffusion, and used this software to grow the designs of the reaction collection. Parameters of the simulation can be varied for differing effects, creating different types or directions of pattern. These parameters are controlled and change through space to express design intent. The process begins on an imported underlying surface, and a 3-dimensional object is formed by embossing or removing material from that surface based on the chemical concentration present at each point in space. Multiple scales of pattern and simulation are used to create more detailed forms.

Inspiration

Reaction-diffusion (RD) is a canonical example of complex behavior that emerges from a simple set of rules. RD models a set of substances that are diffusing, or spreading; these substances also react with one another to create new substances. This simple idea has been suggested as a model for a diverse set of biological phenomena. All kinds of animals from fish to zebras display interesting color patterns on their skin and shells which play important roles in their behavior. However, the underlying cause of these patterns is still not understood. In 1952, Alan Turing suggested the RD system as an answer to not only this question but also the more general one of why cells differentiate. How do individual cells locate themselves in the larger scale structure and pattern of an organism? The patterns seen on the animals occur over a scale much larger than a cell, yet they display remarkable self-similarity on every part of the animal’s body.

Turing studied the behavior of a complex system in which two substances interact with each other and diffuse at different rates. He proved mathematically that such a system can form stable periodic patterns even from uniform starting conditions. One of the most interesting things about RD is that you can have a homogeneous system where every cell is doing exactly the same action (for instance just producing a certain amount of some chemicals); but from this one process a large scale structure emerges.

SIMULATING REACTION-DIFFUSION

One of the intriguing aspects of reaction-diffusion is how a simple chemical system can produce a variety of patterns through small changes. Nervous System’s reaction diffusion experiments use the Gray-Scott model. This describes a system of two chemicals, often referred to as U and V, where U and V combine in a reaction to form more of V. Additionally, chemical U is produced at a certain rate, while chemical V naturally decays at a fixed rate. Changing just these rates of production and decay results in patterns of dots, lines, holes, or spirals. By working with multiple scales, varying parameters, and using anisotropic diffusion (in which chemicals flow more easily in one direction than another), it is possible to sculpt reaction-diffusion patterns.

Album Published

Kinematics concept

Nervous System’s “Kinematics” design system pairs a constructional logic of hinged panels with a simulation strategy of folding and compression to produce customized designs that can be fabricated efficiently by 3D-printing. The system is an example of the developing field of 4D-printing where 3D-printing is used to create objects that transform in shape. Several components work together to advance our core concept: 1) A hinge mechanism that allows a complex structure to be 3D-printed as one part, creating movable designs with hundreds (or thousands) of interconnected pieces, but which require no assembly 2) A folding simulation that can compress the structure into a smaller and more efficient configuration for fabrication by 3D printing 3) Web-based software that allows people to create their own designs online for wearables which can be inexpensively 3D-printed