Computational design weaving

Page 1

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 ‘twist’ 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 ‘blades of light’.


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.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.