Monday, December 1, 2014

Project 2 - Genetic Algorithm in College Station, Texas

Abstract:
The purpose of my project is to try to use the power of genetic algorithm in an everyday application. Transportation from place to place seems to be always measure on how far one place is to another. For my project, I wanted to pick something simple that a majority of college students like to take advantage of...coffee shops.

College Station, Texas has its share of Starbucks and coffee shops fueling the young minds of Texas A&M University and Blinn College. My experiment is to find out if I can connect all of these scattered coffee shops by an elevated (theoretical) transit rail that would have a freedom of direction through these coffee shop locations. By using Grasshopper 3d, Rhinoceros, and an assortment of plug-ins I will walk through the steps of my attempt of connection these energy producing hubs (coffee shops).


Theoretical Process:
Step 1: Site Location: College Station, Texas
Step 2: Coffee Shop Location

Step 3: Map Surrounding Residences

Step 4: Find Minimum Circle Area

Step 5-7 Calculate Easiest Path Through Coffee Shops


Modelling Process:

Step 1:
By using the Elk plug-in for Grasshopper I used satellite .osm data for the College Station area to generate a two-dimensional map out of curves. This plug-in can septette major road ways, minor roadways, highways, railroads, waterways and much more.

Elk Plug-in to Generate College Station Map Curves


Step 2:
Once the map was generated I could then document out the exact points of where the coffee shops are located around the city. Then, around each coffee shop I then roughly defined the residential areas and locations that may access the coffee shop in their proximity.

Six Coffee Shop Locations With Residential Points


Step 3:
These residential points will help give me input points to find minimum circle areas around each coffee shop. The minimum circle area can be generated by using the galapagos plug-in which goes through a series of programs and scripts to find the minimal or maximum options for your project. 

Minimum Circle Area (MCA) Using Galapagos


Galapagos In-Progress


Step 4:
After finding the MCA around each of the six coffee shops, I then extracted each centroid of the circles. These centroids will be added to an arbitrary point point that will make up part of the curve that will represent the transit rail. There will be six of the arbitrary points added to the centroids.

Addition of Arbitrary Points and Centroids of MCA

Step 5:
After each of the distances have been defined. Add all of the results into one single Mass Addition  that will need to run through a series of Python script generators to calculate the best fit points for the "transit curve." The smoothness of the curve can be defined by generating a NURBS curve in grasshopper. 

The more points used in the galapagos algorithm the smoother the path will generate. The use of genetic algorithm can be very powerful in city planning of new transportation routes or just simple pathways through campuses. 

Below is a step-by-step video of my Rhino Grasshopper model:






THANK YOU


***All diagram images were produced by Mitchell Dickinson
***Map references: Google Earth, Google Maps, Openstreetmap


Monday, November 3, 2014

PROJECT1



BEIJING NATIONAL AQUATICS CENTER (2008)
City: Beijing, China
Capacity: 17,000
$140 million
PTW Architects, CSCEC, CCDI, and ARUP

Cladded with ETFE pillows the Beijing National Aquatics Center, or  “The Water Cube,” is an innovative structure held up by a network of steel space frame and the bubble-like Weaire-Phelan structure systems. The exterior skin is composed of 4,000 ETFE bubbles that range in sizes (large as 30ft across). This structure was a part of the 2008 Summer Olympics. Portions of the still standing complex have been converted into a water park.








Purpose:

The reason why I chose this project was the complexity found in the clean geometry of the building's shape. I believe that no matter how simple something may seem, it can always harness complexity somewhere in its being. My original direction of Project 1 was to use the vornoroi mathematics to generate a solar shading device for a studio design project. As the project progressed, the more I enjoyed finding complex perspectives from simple shapes. I wanted to try and keep the idea of a simple cube with a vornoroi application that spoke more to the structure of the mass. I didn't want to hide the members that helped create these almost random shapes.


 Fig-1 (Rhino Sketch Render 1 - Dickinson)


Fig-2 (Rhino Sketch Render 2 - Dickinson)



Form Generation:


Fig-3 (Rhino model - Dickinson)


Step 1: Internal Voronoi Masses

This step will generate the internal "nugget-like" mass on the interior of my project located in the Fig-3. The first step is to generate a box geometry using Rhino3D and inputting it into a "box" param in Grasshopper3d. I chose this particular shape to mimic the proportions of the National Aquatics Center rather than defining it parametrically. Applying "populate 3d" and a "number slider" creates randomly places points within the defined box, starting the definition of the voronoi. The amount of points in this volume can parametrically defined with the "number slider."

To then generate the cell like voronoi I applied the "voronoi 3d". In addition to this battery I needed to adjust the shape sizes of the 3d cells by scaling them by applying "scale" and a "number slider".
Lastly, to break down the form into constituent parts I used "deconstruct brep" plugged into the product of the scaled geometry. Finalized by baking.


Fig-4 (Internal Masses)


Step 2: Voronoi Exoskeleton Shell

Very similar to the internal masses, the exoskeleton uses the same geometry input from Rhino3D. I made the geometry of the box a little larger than the geometry used for the interior spaces for differentiation. Again, I applied "populated 3d" to generate my skeleton points (random from the previous interior result). Then I applied "beep edges" to extract the interior edges of the geometry so that I could then apply an adjustable pipe geometry to the result. From this step I then could define both curves and polysurfaces form my exoskeleton. I finalized by baking both pipes and curves. The reason for baking the curves is to be used for the kangaroo physics portion of my project (Fig-6).

Fig-5 (External Pipe)


Fig-6 (External Curves: Used for Kangaroo)


Step 3: Final Form Combined

Fig-7 (Baked internal + External)


Step 4: Kangaroo Physics + Analysis

To see how the structure would react with applied downward force I did two experiments on the exoskeleton. The experiments were focusing on the different connection points anchoring the structure in place. The stiffness applied to the structure was amplified for dramatic results. To generate a physical reaction from the exoskeleton I had to use the kangaroo plugin for Grasshopper3D and the curves baked in the previous Step 2: Exoskeleton. From the curves I inputed them into grasshopper and plugged them into the "SpringsFromLine" battery. Doing this, you can apply parameters of stiffness, damping, rest lengths, etc. Then in order to select anchor points, you must apply the "kangarooPhysics" engine. Here you can adjust the force objects, timers, and anchor points associated with the action. Fig-8 represents the physics of only connecting the geometry cures to the corner points resulting in a catenary shape. Fig-( shoes a distribution of anchor points at the intersections of the voronoi on all revealed faces of the model. The result is somewhat stable. Lastly for the Kangaroo plug in I applied a gradient swatch to the the stiffness and length of the curve to analyze how much stress is acting on each member of the model represented by the colors on both Fig-8 and 9.


Fig-8 (connected corner points)


Fig-9 (distributed connection points)

That concludes my Project 1. Listed below is a video tutorial and a final rendered image of my project.

Thank you for reading!




Fig-10 (Final Render)