HANGZHOU SPORTS PARK
NBBJ & CCDI
Hangzhou Sports Park, (Hangzhou, China), Image Courtesy of [NBBJ] |
Project Two is a continuation of Project One. It recreates the Ellipse-Array and scaling ratio definitions in Project One through one node by using Python scripting inside Grasshopper. Moreover, Project Two develops a Geometry-Array node ,based on the Python node Ellipse-Array, which can utilize any geometries including ellipses. Additionally, Project Two uses Ladybug tools to run solar radiation analysis to understand the effect of large petals on the stadium bowl at different orientations. Also, it utilizes GA to optimize petal coverage for shading the stadium bowl.
PART 1: Array Definition using Python Script:
A- Ellipse-Array
An ellipse-array node was created through Python script. It can array the petals and alternate between small and large petals. It has the capability to change and control:
- the size of the ellipse
- the number of petals
- the size of petals
- the spacing between petals
Ellipse-Array Node
- The Script:
- Inputs Section: inputs were defined to make the python script utilize them. Changing the values of these inputs could be used to change the outcome of this script.
- List Section: Different lists were defined to store objects, angles, points from the outcome of defined functions.
Python Script (Part-1)
- Functions:
- Ellipse Function: creates the ellipse geometry using the script inputs Plane, Radius-1 and Radius-2.
- Center: Creates a point at the center of the ellipse to be used in later functions.
- Divide Ellipse: divides the created ellipse according to the N value in the script input.
- Divide Ellipse (points list): divide the created ellipse according to the N value in the script input and store the generated points.
- Scale A: Scales Object-1 in the script input. The scale factor is done through a slider node in the script input. The scaled Object will be used in later functions.
- Scale B: Scales Object-2 in the script input. The scale factor is done through a slider node in the script input. The scaled Object will be used in later functions.
Python Script (Part-2)
- ArrayObjA: palaces Object-1 on the points (even number index) which were previously stored in the Divide Ellipse (points list) function.
- ArrayObjB: palaces Object-2 on the points (odd number index) which were previously stored in the Divide Ellipse (points list) function.
- AngleTangent: Finds the tangent lines at all the points created previously and then rotate them 90 degrees. This function will help the script to find the correct orientation angle of each petal.
- AngleVec: This function will find the angle of rotation of each petal by using the center coordinates and the coordinates of the tangent points which were found in the previous function.
Python Script (Part-3)
- rotobjA: Rotates all petals at their correct orientation using the angles which were stored in the previous step.
- Output Section: outputs were defined to display python script results. Each output is linked to its command or function.
- Developed Node Test: Testing the developed node through changing input parameters.
Test-1
B- Geometry-Array
Geometry-Array node can utilize any geometries including ellipses. It develops the Ellipse-Array node by making the used geometry for arraying objects as part of the inputs, instead of creating that geometry inside the script.
Python Script (Input Section)
Geometry-Array Node Connected to An Ellipse
Geometry-Array Node Connected to An Arc
Geometry-Array Node Connected to A Circle
Geometry-Array Node Connected to A Polygon (Triangle)
Geometry-Array Node Connected to A Line
A- Solar Analysis:
Ladybug tools were used to run solar radiation analysis. Only the large petals were tested at 8 different orientations to understand their effect on the stadium bowl.
Location and Weather Data + Solar Radiation Analysis Definitions (North)
A plane was created to represent the shaded areas in the stadium bowl. An Angle Slide Bar was created to change the orientation of the plane and the large petal.
Plane and Large Petal Rotation Definition
The radiation results of all squares in the analyzed grid (plane) was averaged. This average will be used as the main fitness input in the optimization process.
B- Model Optimization
Galapagos was used to optimize the parameters of the large petals at all eight orientations. The target was to reduce the average solar radiation on the plane and the genomes were connected to the parameters of the large petals.
Galapagos Node
- Results:
Comparison between the analysis of the original model and the optimized model and the changed parameters (North)
Comparison between the analysis of the original model and the optimized model and the changed parameters (North East)
Comparison between the analysis of the original model and the optimized model and the changed parameters (East)
Comparison between the analysis of the original model and the optimized model and the changed parameters (South East)
Comparison between the analysis of the original model and the optimized model and the changed parameters (South)
Comparison between the analysis of the original model and the optimized model and the changed parameters (South West)
Comparison between the analysis of the original model and the optimized model and the changed parameters (West)
Comparison between the analysis of the original model and the optimized model and the changed parameters (North West)
- Notes:
- The generated optimized shapes were not expected. The main parameters that would be changed, as a designer, were the spacing between the large double petals and the petal width. Instead, Galapagos provided better solutions by targeting other parameters which changed the profile of most petals to something totally new.
- The color range of the analysis of the optimized petals might be misleading in some instances. The reason behind this is that the (Kwh/m²) range has been reduced every time the model is optimized but the color range has not changed.
Comments
Post a Comment