Material-Based Design Computation Neri Oxman - Beast
BENVGACC: COMPUTATIONAL SYNTHESIS
Charles Fried (UCQBLCF)
MSc Adaptive Architecture & Computation The Bartlett School of Architecture April 2016
Abstract
T
he recent technological developments in rapid prototyping technologies enabled the production an object with a range of different materials simultaneously. This report investigates project Beast by Neri Oxman which explores a process whereby each area of the object responds to local requirements by varying its material property. A step by step reconstruction was made based on the details in her papers.
Keywords: Rapid Prototyping, Curvature, Tessellation, Voronoi, Algorithm, Mesh
Contents Introduction Poisson Distribution Tessellation Methodologies Voronoi Diagram Voronoi Tessellation Mesh Conversion Weighted Material Selection Discussion Conclusion References
6 7 8 9 10 12 13 16 17 19
Beast by Neri Oxman
Variable Property Rapid Prototyping: Beast | 6
Introduction The design of the chair is mostly driven by its environmental requirements
I
n the quest for optimality when designing products one might say that it should be free from any human input and driven purely by requirements. This concept is quickly growing in popularity under the name of Generative Design. A notable example is the Dream Catcher Project by Autodesk which allows the designer to set a series of rules (boundaries) from which the software generates a set of solutions. The designer is then free to pick the most aesthetically pleasing solution from the set of optimal outputs.
This project holds a similarity to Beast in the sense that the design of the chair is mostly driven by its environmental requirements, the human body, leaving little input to the designer. This is achieved by two main algorithms, firstly the rationalization of the overall shape by the mean of tessellation. Secondly, the material allocation of each cell which obeys a simple set of rules based on local requirements.
Figure 1: Autodesk Research Project Dream Catcher Chair Designs Solutions
Variable Property Rapid Prototyping: Beast | 7
Tessellation Methodologies
T
essellation is the act of rationalising a complex shape into smaller segments, doing so enables us to better understand and deal with them. Whilst there are countless ways to do so, Oxman suggests four methods which are most appropriate to this project (Neri, 2013). 1. Curvature Based Tessellation: This method is informed by the geometrical feature of the surface, increasing polygon size in areas of high curvature increases the resolution of our representation.
4. Material-Based Tessellation This method assigns physical features based material properties such as strain and stress. The final tessellation method used for Beast is a combination of these as we are trying to mediate structural and experiential performance however not all the final specifications are discussed in the documentation (Oxman and Mitchell, 2010). Therefore the following reconstruction is based on some assumptions from the author.
Beast is trying to mediate structural and experiential performance.
2. Performance-Based Tessellation: This method responds environmental properties where the size and density is a function of the local structural load. 3. Assembly-Based Tessellation This method simply favours ease of assembly.
Figure 3 Chaise design informed by material properties assigned to pressure map registration, body form, and body weight
Variable Property Rapid Prototyping: Beast | 8
Poisson Distribution
I This simple technique is used to create a uniform yet random distribution.
n order to start breaking down the surface we must first find a way to do so uniformly, for this reason we’ll use Poisson distribution. This simple technique is used to create a uniform yet random distribution. This is done by stating a minimum distance (minDist) between each point. Whilst there are many ways to achieve this, the method implemented below relies on iteratively sampling the screen until no more solutions are to be found. The implementation (Figure 2) was done in Processing with the following logic :
< minDist*2 from our original point. This area is illustrated below as the grey ring around each point.
1. An initial point is randomly generated within our screen and added to the list of final points (black and red).
To come to a solved state we must set a number of lives to each of our final points. Where if step 3 has failed to generate a successful candidate, we must subtract a life from it. Once it reaches zero we call the point dead and no longer considering it in step 4.
2. A second point (candidate) is generated at a distance > minDist
3. If our candidate is no closer than minDist to any of our final points it becomes then becomes one. Otherwise a new candidate is generated up to 40 times, if this fails we subtract a life from the active point. 4. Now the final list contains two points we select one (active point) at random and apply step two and three.
Figure 2: Poisson-Disc Sampling Implementation
Variable Property Rapid Prototyping: Beast | 9
Voronoi Diagram
H
aving discussed the tessellation logic and distribution, the following chapter will explore the Voronoi diagram which is later used to form the structure of Beast. For the purpose of demonstration, it was recreated in processing (figure 6) in two dimensions based on the following pseudo code (Tulleken, 2009).
2. We draw a line from each point to its closest neighbors using the L^2 norm (figure 4) without crossing the lines. This is also refereed to as Delaunay triangulation which seeks to minimise the angles of each triangle.
1. X number of points are created at random within our screen
4. From which draw the perpendicular bisector for each of them which gives us the voronoi vertices (figure 5, red dots) where only 3 lines converges.
Figure 4 Euclidean Distance Formula
Figure 5 Voronoi in three steps
3. We then find the center of of each Delaunay edge.
Unfortunately applying such pattern to a 3D surface is no easy task, this is primarily due to the L^2 function. Which measures the distance in one straight line as opposed to the shortest path on a surface which would be required.
Variable Property Rapid Prototyping: Beast | 10
Voronoi Tessellation
W
e must now find a strategy to transfer our diagram from two to three dimensions in a way which includes the tessellation logic. All future experiments were carried out in a parametric modelling environment (Grasshopper).
5. Generate a random float from 0.0 to 1.0.
To illustrate the problem a number of points are created on a plane from which we generate a Voronoi diagram (Figure 7). If we project this directly onto our surface then, as expected it takes no consideration of it. In areas of high curvature, the cells become stretched which reduces the resolution of our shape. Additionally, these edges play a large role in the structural integrity of our structure it is therefore in our interest increase the density in those areas. To encode the logic needed to solve the problem a script was written using the Python script editor in Grasshopper.
By doing so we manage to increase point density in areas of high curvature (Figure 10) which as illustrated on the next page (Figure 9) gives us an odd distribution when projected back onto the plane. Depending on the surface, we might also want to take the level of inclination into consideration when generating the points.
1. Generate a large number of points on our 2D plane
6. If the random float is larger and the curvature then set to false Else set to true 7. Keep all true, discard false points
Figure 7. Poisson Distributed Voronoi on 2D Plane
2. Project each point vertically to the 3D NURBS surface 3. Extract the u,v coordinates 4. Using the u,v compute the Mean Curvature and remap from 0.1 because we give each point a minimum of 10% chance to stay to 1.0 (100%).
Figure 8. Uninformed Projected Voronoi
Figure 9. Curvature Based 3D point distribution makes for a uneven 2D distribution.
Figure 10. Curvature Based 3D Voronoi
Variable Property Rapid Prototyping: Beast | 12
Mesh Conversion
T
his section of the report will briefly discuss an approach to create a mesh suitable for 3D printing from our tessellated surface. This process has been divided into two sections, the frame described here and the cells which are informed by multiple variables in the next chapter.
Up to this point we are dealing with NURBS however our output being an .stl file requires us to convert it to a quad mesh (Figure 10) using the Catmull-Clark Subdivision Algorithm included in the Weaverbird plug-in.
As a final note this interpretation is loosely based the description provided by Oxman, which relies on a vertical projection of the diagram. Due to this, the method will not work or yield undesirable results Firstly, we give the surface some on a surface with an inclination near zero at any thickness, to minimize computational UV coordinate. An alternative would be so solve power we first convert the 3D the intersection between the surface and a three NURBS curves obtained by the dimensional grid of tetrakaidecahedraâ&#x20AC;&#x2122;s, a similar projection to poly-lines with a length technique was used for the The National Aquatics dependent on curvature to keep as Center in Beijing (Schwartz, 2016). much resolution as possible. The poly-lines are then moved by the surface normal vector obtained from the center point of the cell. The vector is then normalised and scaled to the desired amplitude. This insures a constant thickness is kept throughout the surface. Unfortunately, the cells in areas of negative curvature collide with the neighbors. To correct this we scale each cell by its corresponding curvature value. These are remapped from -0.8 to 0.8 which gives us the scaling factor. They are then used to split a temporary surface which we obtain by creating an offset the original one of an equal amplitude. Figure 10. Cell frame converted to mesh
Variable Property Rapid Prototyping: Beast | 13
Weighed-Material Selection
T
his step of the process is arguably the most important, we dictate its behavior through material selection. This choice is based on both structural requirements and comfort.
Each edge is then extracted and converted to a spring using Hookeâ&#x20AC;&#x2122;s law.
Coincidentally, within the scope of Beast these requirements agree with one another. For structural integrity we need stiff vertical walls which caries the load down, whereas on the horizontal plane we assign softer material for increased comfort. This is demonstrated in the image below (Figure 11) where red is a rigid and white soft.
To further optimise the comfort of the chair the relative body pressure value (Figure 3) is used to define the height of the cell. There is no clear information regarding the execution of this, however for this demonstration mesh relaxation was used and proved to be effective. Each cell is converted from NURBS to a low resolution mesh. Each edge is then extracted and converted to a spring using Hookeâ&#x20AC;&#x2122;s law. After this we apply a force vector which is the normal direction of the surface taken at the center of the cell. The amplitude of this vector is taken from the relative body pressure, higher values means more padding bring created.
Figure 11. Surface Inclination Visualisation
Variable Property Rapid Prototyping: Beast | 14
Below is illustrated the result of the mesh relaxation on a single cell, because the face count is kept to a minimum we are able to compute in excess of 600 cells in real time*. The final mesh is obtained by smoothing it with WeaverBirdâ&#x20AC;&#x2122;s Catmull-Clark Subdivision Algorithm.
The final material allocation is a stochastic process similar to the one described in the 3D Voronoi chapter.
The final material allocation is a stochastic process similar to the one described in the 3D Voronoi chapter. Where the probability of a material being stiffer or softer depends on the level of horizontality, of the chair. Based on this probability the algorithm select one of 5 materials from the graph on the right. The white dots represent the soft materials and black the rigid plastic this tells the 3D printer (Stratasys Objet30) how much of each material is to be used for each area. * Intel Core i7-4770K CPU @ 3.50GHz / 16.0 Gb RAM / 64-bit Windows 7
Figure 12. Material Mixture
Figure 13. Raw relaxed mesh (left), Smoothed mesh (right)
NURBS
MESH
Figure 14. Final 3D Voronoi Tesselation
Variable Property Rapid Prototyping: Beast | 16
Discussion
A
s a trained industrial designer Iâ&#x20AC;&#x2122;ve always questioned the rationality behind the design process. If everyone thrives to create better design, could there be a smarter way to inform our creative decisions?
Another interesting aspect is the use of bioderived data to inform the process of biomimetics in design. Nature holds a wealth of information (Figure 15) which could help us devise new methodologies and algorithms to assist the design process.
A final critical point should also be made towards It seems that this project touches the viability of using of additive manufacturing for on that aspect, although one can end products. Neri Oxman points out that material say itâ&#x20AC;&#x2122;s on the extreme side of the fatigue may prohibit full-scale development as conceptual scale. The idea of a these technologies are developed for prototyping data driven process whether it be purposes. This is especially true and most Architectural, or Industrial can only certainly a major factor stopping 3D printing have beneficial consequences. entering the world of consumer products. To most designer I believe this approach sounds appealing. However, computer proficiency in designers remain in the realm of 3D modelling and perhaps also simulations, therefore the act of processing the data might just sound too daunting. A traditional approach to material selection in a data driven project would involve the designer sifting tediously through materials data sheets to find the optimal solutions. However with the increasing data availability it is now just the case of entering our requirements (http:// www.matweb.com/). Or in the case of Beast, letting the algorithm decide from one of five presets. Figure 15. Natural cellular materials including (from left to right, top to bottom): (a) cork; (b) balsa wood; (c) sponge; (d) trabecular bone; (e) coral; (f) cuttlefish bone; (g) iris leaf; and (h) stalk of a plant (Gibson and Ashby 1997).
Variable Property Rapid Prototyping: Beast | 17
Conclusion
N
eri Oxman demonstrated a detailed approach to materialbased design computation which implemented several algorithms to drive the design process. These provided the designer with a high level of control over each area of the model, carefully tailoring the object to fit the end purpose. The combination of Poisson distribution and the Voronoi diagram allowed to rationalise the complex surface, making material allocation a more manageable task. It also complements the aesthetics by creating an intricate and organic pattern.
The material allocation algorithm assigned a material to each cell by taking into consideration several weighted variables. However, the overall material distribution within our object is fairly segmented. A voxel based approach would achieve smooth material transition, allowing for a higher definition of local requirements.
â&#x20AC;&#x153; We have previously seen that Nature and the world of natural materials operate quite differently, as form is merely a byproduct of assigning material parameters to environmental processes. â&#x20AC;? (Oxman and Mitchell, 2010)
Lastly, these algorithms were used as a tool to assist human creativity, and so in a structured and mostly rational manner. In many ways framing creativity to allow the designer to grow structured complexity from simple rules.
Variable Property Rapid Prototyping: Beast | 18
Variable Property Rapid Prototyping: Beast | 19
References
Tulleken, H. (2009) Poisson disk sampling. Available at: http://devmag.org.za/2009/05/03/poisson-disk-sampling/ (Accessed: 23 April 2016). Oxman, N. and Mitchell, W.J. (2010) Material-based design computation. Available at: https:// dspace.mit.edu/handle/1721.1/59192#files-area (Accessed: 23 April 2016). Schwartz, S. (2016) A building of bubbles. Available at: https://www.sciencenews.org/article/building-bubbles (Accessed: 23 April 2016). Neri, O. (2013) Materialecology. Available at: http://www.materialecology.com/assets/pdf/Publications_TB.pdf (Accessed: 23 April 2016).