Computational Weave Group A10 Brian Lee, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Our inspiration was derived from the Japanese Beyblade. We wanted to create a form of the lampshade that had simplified motifs of the Beyblade. Through the use of Grasshopper, we created a simple algorithm that produced a series of repeating shapes to create angular geometry resembling that of a beyblade.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Code Exploration
Experimenting with Mathematical Formulae
variables explored:
variables explored:
variables explored:
param = 3 //skipped holes
param = 7 //skipped holes
param = 14 //skipped holes
Analysis / Thoughts
Analysis / Thoughts
Analysis / Thoughts
The low parameter creates a more regular and smaller pattern which reduces the novelty and simplicity of the design. Hence, it can be increased slightly to bring out the essence of the design.
This parameter is the upper limit for the amount of loops per tooth in our design, allowing us to achieve a fine balance between intricacy and practicality of weaving given the large string radius.
While this pattern is larger and more intricate due to more intersecting polylines,it is still not feasible for us to loop through a tooth 14 times.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Design Exploration Varying Forms
variables explored:
variables explored:
variables explored:
variables explored:
param = 25 //skipped holes id2=1
param = 25 //skipped holes id2=1
param = 5 //skipped holes id2=50
param = 9 //skipped holes id2=34
int add1 = 1; int add2 = 0;
int add1 = 2; int add2 = 0;
int add1 = 1; int add2 = 0;
int add1 = 1; int add2 = 0;
Analysis / Thoughts
Analysis / Thoughts
Analysis / Thoughts
Analysis / Thoughts
A series of right-angled triangles are used to make this pattern. While the base is large due to the large parameter, the difference between id1 and id2 is too small and hence does not generate a dramatic pattern(a more twisted triangle), giving the shapes a more 2-dimensional effect. id2 can hence be increased to up the difference between id1 and id2 for a more twisted effect. The parameter, however, has limitations in practical usage as the thick string provided cannot be looped over a tooth too many times. This reduces the tautness of the loops as they have a high possibility of being dislodged from the tooth.
To make the triangle more distorted, we increased add1/add2 from 1/0 to 2/0. This has a drastic effect on the design as the top view can be seen to turn into a star shaped contour which sees more intersection of polylines. The more distorted triangles increases the dynamism and the perceived 3-dimensionality from the side.
To experiment with the effect of id2, we used a high id2 number and a lower and practical parameter. This created a largely hourglass figure which we were not as satisfied with as we wanted a design which would make more use of the existing space on the structure’s periphery compared to its center. This means that the increase in id2 cannot be too extreme compared to the numerical value of parameter.
First keeping add1/add2 as before, we mediated the difference between the parameter and id2’s numerical value. What was seen was a structure which made more use of the peripheral space and created an interesting flower-like pattern from the top view. However, the parameter is still too big for practical looping. To maintain the dynamism while increasing practicality, we could change the values of id1/id2 while reducing the parameter.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Design Development Creating the Beyblade
Shaded triangles flipped
Shaded triangles removed
Disrupting Symmetry
Repeating Patterns
A beyblade is usually asymetrical even though it We then flippled the upside-down triangles and has repeating patterns. The first step of creating joint all the triangles back into a form that has the beyblade involved disrupting the symmetry repeating patterns. that most lampshades have. We started with alternating flat-base triangles as a simple form but removed half of each triangle as shown above.
Twisting the Structure To create sharper angles, we skewed all the triangles in the same general direction as seen above. After that, we joint all the triangles in one loop to create the final form.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Code Development Creating the Beyblade
int id1 = 0; int id2 = 0;
int id1 = 0; int id2 = 0;
id1 = 0; id2 = 0;
id1 = 0; id2 = twist;
int add1 = 2; int add2 = 0; int allpt = np * 2; for (i = 0; i < allpt; i++) { if (i % param == 0) { if (add1 == 0) { add1 = 2;
add2 = 0;
}
} else { add1 = 0; add2 = 2; }
Analysis
Analysis
Analysis
A very simple change resulted in the change of geometrical shapes as explained in the previous page. The change was simply to start id1 and id2 at the same points. This way, vertical lines would always be the last line of the previous right-angled triangle and the starting line of the next triangle.
In order to twist the form by a desired amount, a variable parameter called â&#x20AC;&#x2DC;twistâ&#x20AC;&#x2122; was assigned to id2. This shifted the base by the integer assigned to twist. This had a greater effect when on creating angled sides when both param and twist was increased.
As each point could not handle that many loops of string, we increased the spacing between each subsequent polyline from the initial 1 point to 2 points. This way we could still retain the twisted form with less amount of string. Also, with a greater spacing, the angles of the triangles become sharper, thus making the lampshade look more pronounced.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Coded Form Blades of Light
The final coded form, as seen from the renders shows how light streams out of the Beyblade at different angles. This is due to the angular geometry formed by the string as well as the high density of strings concentrated at regular intervals. This cuts out the light at certain angles, hence resulting in â&#x20AC;&#x2DC;blades of lightâ&#x20AC;&#x2122;.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Code Documentation Function of Code
An arbituary state is assigned to both id1 and id2 to determined whether it is activated. This is done so by creating add1 and add2 which will be added to id1 and id2 respectively for every iteration. However the value of add1 and add2 switches between 2 and 0 everytime i reaches a multiple of the integer assigned to param. Hence, when either add1 or add2 is 0, it essentially means either the id1 or id2 respectively is deactivated while the other is activated and increases with an interval of 2 every iteration until the state switches again.
private void RunScript(Curve tc, Curve bc, int param, int twist, ref object index, ref object weave) { /* */
FileName: beyblade/ weaving Author: Group A10
int np = 126; int i = 0; Interval iv = new Interval(0.0, 1.0); tc.Domain = iv; bc.Domain = iv; //List<Line> lines = new List<Line>(); Polyline pl = new Polyline(); List<Point3d> p_top = new List<Point3d>(); List<Point3d> p_bot = new List<Point3d>(); List<string> id = new List<string>(); double dt = 1.0 / (np - 1.0);
Logic Sequence
for (i = 0; i < np; i++) { p_top.Add(tc.PointAt(i * dt)); p_bot.Add(bc.PointAt(i * dt)); } int id1 = 0; int id2 = 0; id1 = 0;//starting point on top curve is at point 0 id2 = twist;//starting point on bottom curve is set by the integer assigned to twist. The greater the number, the larger the ‘twist’ is on the weave int add1 = 2; int add2 = 0;//both acts as states that is either ‘switched on or off’ for the top curve or bottom curve when it fulfils the condition of i being divisible by the integer assigned to param int allpt = np * 2;
for (i = 0; i < allpt; i++) { if (i % param == 0) {//everytime i reaches a number that is a multiple of the integer assigned to param,the state of the top and bottom curve will be alternatively ‘switched on or off’(param is a number set that has to be a factor of 126 to complete a full round) if (add1 == 0) { add1 = 2; add2 = 0; } else { add1 = 0; add2 = 2; } } id1 += add1; id2 += add2; id1 %= np; id2 %= np;//this is to make sure id1 and id2 always remains within the integer 126 pl.Add(p_top[id1]); pl.Add(p_bot[id2]); id.Add(“top “ + id1.ToString()); id.Add(“bottom “ + id2.ToString()); } weave = pl; index = id;
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Output and Execution Documentation and Reflection of Process
(above) The thickness of the strings has a major impact on the aesthetics of the lampshade. Due to this, we switched to using thinner strings to achieve the look we we were aiming to create. (below) The twisted design resulted in the lamshade supports slanting in one direction due to the lateral force acting in opposite directions on each ring. Though this distortion did not severely affect the lampshade appearance, it was unexpected and undesirable.
(right) The data output indicates the sequence of points which the string should connect. It is to be read top-down, then left to right.
top 0
bot 33
top 21
bot 54
top 42
bot 75
top 64
bot 97
top 86
bot 119
top 108
bot 15
bot 22
top 11
bot 44
top 33
bot 66
top 54
bot 87
top 75
bot 108
top 96
bot 3
top 118
top 0
bot 33
top 21
bot 54
top 43
bot 76
top 65
bot 98
top 87
bot 120
top 108
bot 15
bot 23
top 12
bot 45
top 33
bot 66
top 54
bot 87
top 75
bot 108
top 97
bot 4
top 119
top 0
bot 33
top 22
bot 55
top 44
bot 77
top 66
bot 99
top 87
bot 120
top 108
bot 15
bot 24
top 12
bot 45
top 33
bot 66
top 54
bot 87
top 76
bot 109
top 98
bot 5
top 120
top 1
bot 34
top 23
bot 56
top 45
bot 78
top 66
bot 99
top 87
bot 120
top 108
bot 15
bot 24
top 12
bot 45
top 33
bot 66
top 55
bot 88
top 77
bot 110
top 99
bot 6
top 120
top 2
bot 35
top 24
bot 57
top 45
bot 78
top 66
bot 99
top 87
bot 120
top 109
bot 16
bot 24
top 12
bot 45
top 34
bot 67
top 56
bot 89
top 78
bot 111
top 99
bot 6
top 120
top 3
bot 36
top 24
bot 57
top 45
bot 78
top 66
bot 99
top 88
bot 121
top 110
bot 17
bot 24
top 13
bot 46
top 35
bot 68
top 57
bot 90
top 78
bot 111
top 99
bot 6
top 120
top 3
bot 36
top 24
bot 57
top 45
bot 78
top 67
bot 100
top 89
bot 122
top 111
bot 18
bot 25
top 14
bot 47
top 36
bot 69
top 57
bot 90
top 78
bot 111
top 99
bot 6
top 121
top 3
bot 36
top 24
bot 57
top 46
bot 79
top 68
bot 101
top 90
bot 123
top 111
bot 18
bot 26
top 15
bot 48
top 36
bot 69
top 57
bot 90
top 78
bot 111
top 100
bot 7
top 122
top 3
bot 36
top 25
bot 58
top 47
bot 80
top 69
bot 102
top 90
bot 123
top 111
bot 18
bot 27
top 15
bot 48
top 36
bot 69
top 57
bot 90
top 79
bot 112
top 101
bot 8
top 123
top 4
bot 37
top 26
bot 59
top 48
bot 81
top 69
bot 102
top 90
bot 123
top 111
bot 18
bot 27
top 15
bot 48
top 36
bot 69
top 58
bot 91
top 80
bot 113
top 102
bot 9
top 123
top 5
bot 38
top 27
bot 60
top 48
bot 81
top 69
bot 102
top 90
bot 123
top 112
bot 19
bot 27
top 15
bot 48
top 37
bot 70
top 59
bot 92
top 81
bot 114
top 102
bot 9
top 123
top 6
bot 39
top 27
bot 60
top 48
bot 81
top 69
bot 102
top 91
bot 124
top 113
bot 20
bot 27
top 16
bot 49
top 38
bot 71
top 60
bot 93
top 81
bot 114
top 102
bot 9
top 123
top 6
bot 39
top 27
bot 60
top 48
bot 81
top 70
bot 103
top 92
bot 125
top 114
bot 21
bot 28
top 17
bot 50
top 39
bot 72
top 60
bot 93
top 81
bot 114
top 102
bot 9
top 124
top 6
bot 39
top 27
bot 60
top 49
bot 82
top 71
bot 104
top 93
bot 0
top 114
bot 21
bot 29
top 18
bot 51
top 39
bot 72
top 60
bot 93
top 81
bot 114
top 103
bot 10
top 125
top 6
bot 39
top 28
bot 61
top 50
bot 83
top 72
bot 105
top 93
bot 0
top 114
bot 21
bot 30
top 18
bot 51
top 39
bot 72
top 60
bot 93
top 82
bot 115
top 104
bot 11
top 0
top 7
bot 40
top 29
bot 62
top 51
bot 84
top 72
bot 105
top 93
bot 0
top 114
bot 21
bot 30
top 18
bot 51
top 39
bot 72
top 61
bot 94
top 83
bot 116
top 105
bot 12
top 8
bot 41
top 30
bot 63
top 51
bot 84
top 72
bot 105
top 93
bot 0
top 115
bot 30
top 18
bot 51
top 40
bot 73
top 62
bot 95
top 84
bot 117
top 105
bot 12
top 9
bot 42
top 30
bot 63
top 51
bot 84
top 72
bot 105
top 94
bot 1
top 116
bot 30
top 19
bot 52
top 41
bot 74
top 63
bot 96
top 84
bot 117
top 105
bot 12
top 9
bot 42
top 30
bot 63
top 51
bot 84
top 73
bot 106
top 95
bot 2
top 117
bot 31
top 20
bot 53
top 42
bot 75
top 63
bot 96
top 84
bot 117
top 105
bot 12
top 9
bot 42
top 30
bot 63
top 52
bot 85
top 74
bot 107
top 96
bot 3
top 117
bot 32
top 21
bot 54
top 42
bot 75
top 63
bot 96
top 84
bot 117
top 106
bot 13
top 9
bot 42
top 31
bot 64
top 53
bot 86
top 75
bot 108
top 96
bot 3
top 117
bot 33
top 21
bot 54
top 42
bot 75
top 63
bot 96
top 85
bot 118
top 107
bot 14
top 10
bot 43
top 32
bot 65
top 54
bot 87
top 75
bot 108
top 96
bot 3
top 117
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Model Photography Final Form
Given the restriction of our weave, we were unable to use the thick strings provided, and hence had to use thinner strings instead. However, such thin strings creates less dramatic shadows cast on the surroundings when the lamp is lit up. Despite it not being able to achieve our original intent of a beybladelike shadow, it has however, created another interesting and unique effect.
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Model Photography Light Effects
20.003 Introduction to Computational Design Assignment 1 A10 Brian Lee Bo Ying, Ee Hui Jie, Rosanne Chong Si Qi, Chen Hanyao
Digital and Physical
Comparing the Coded with Physical Model
Considering both the digital and physical model, there are stark differences as to what a digital model is able to achieve versus what it would phyically look like in reality. Factors such as the number of times the string is able to loop around one groove, the
tauntness and tension of the string when executing the weaving, the counter twist the lamp structure would naturally produce due to the twisting nature of our weave to achieve equilibrium, are problems that would only apply to the physical model.
This shows the disparity between what is feasible theoretically and what is feasible in reality. They are in fact, quite large. Hence, more thought has to be given when translating a design from the digital world to the physical world to ensure feasibility.