ARCH 655 Final Project - Algorithms and Scripting for Parametric Design
Taichung Metropolitan Opera House
Continuing with ARCH 655 Project 1, I decided to work on the model that I created and add the patterns that can be seen in the image below.
Image 1 |
The patterns are consist of several circles that attach to the building facade which can be realized by using Grasshopper or Python scripting.
Creating Pattern by Using Grasshopper
First, I baked the surfaces from project 1 grasshopper file and utilized as the base of the final project.
Image 2 - Baked Model in Rhino |
Then, I started by creating a rectangle grid in order to insert the circles for later use.
Image 3 - Creating Rectangle Grid |
For the patterns, I don't want them to be exactly the same. My goal is to generate circles with different sets of the radius. In order to accomplish this, "Random" node is used to set up a list of numerous values.
Image 4 - Generating Radiuses |
The circles were then created based on the grid. One thing to mention here is the use of "Jitter" node. It shuffles the list of the values which helped create more random sizes circle.
Image 5 - Circle Patterns |
Next, numbers of the circle pattern were reduced to build better artistic design.
Image 6 - Reducing the Circle Patterns |
Image 7 - Before and After Reducing the Circles |
The following step was to trim the pattern with the original surface and the result is as shown below.
Image 8 - Trimmed Pattern |
To make this model more parametric-defined, I changed the pattern from circle to polygon which can be adjusted by the slider node to decide the shape of it.
Image 9 - Change the Pattern |
Image 10 - Applying Pattern on Each Surface |
Last, the surfaces were created based on each polygon and extruded for better visual understanding.
Image 11 - Extruding the Pattern |
Modifying the Model with Python
With the help of Python script, the nodes that were used could be fewer and hence improved the performance of this model. For this project, the part of controlling the generation of random values was replaced by Python node in Grasshopper.
Image 12 - Python Node in Grasshopper |
The script that I used is listed below:
--------------------------------------------------------------------------------------------------------------------------
import randomvalue = []
for i in range (0, N):
value.append(random.uniform(start, end))
A = value
--------------------------------------------------------------------------------------------------------------------------
Here, "start" and "end" defined the range of the values that can be created. "N" determined how many different values we want to generate.
Project Movie
Reference
Image 1: http://www.npac-ntt.org/index
Comments
Post a Comment