# ass­i­g­n­m­e­n­t­1­_­x­c­h­e­8­9­0­8

Design Brief:In this assignment, I chose Balance and Harmony to be my theme. My first opinion is drawing something that Centro symmetry. When I did some research that can help me to create my own design, I looked at Marius Watzâ€™s blog which is (Reference: http://www.generatorx.no/category/computational-design/) and I saw the generative design for extension of Eiffel Tower. That is the pattern I want. However, I wanted to add something that is my style. Therefore, I combined it with Chinese Knotting. A Chinese knot is a knot that is tied and woven from a single length of cord to be a variety of shapes. Thus, I use line to create my pattern. I carefully consider the color, because Chinese traditional color is red and yellow as the luckiest color. Therefore, I decided to use these two to be my main color. Because this design would appear on T-shirt, shoes or postcard, I just wanted a big and clear pattern. This pattern is like Chinese knotting symbolizing good luck and a prosperous life. (Renference:http://www.tripchinaguide.com/article-p77-chinese-knotting.html) In the end,for the technical constraints, I used variables, randomness(control the color), conditional statements and drawing commands to create this pattern. Eventhough I found out that it's not easy to combine them together, I did my best to draw it. Above is my original idea of design.

• Show Code
``````/** @peep sketch */
size(400,300);
background(78,0)
noFill();
stroke(170,0);
//the rectangle in the middle
int x=50;
if(x>100){
ellipse(20,20,20,20);
}else{
line(66,66,68,68);
}
rect(186,130,30,30);
//bigest V shape of four sectors
stroke(246,255,198);
strokeWeight(2.0);
int topy=130
//yellow V shape(top)
line(150,47,201,topy);
line(252,49,201,topy);
//yellow V(bottom)
int bottomy=248;
line(151,bottomy,201,160);
line(252,bottomy,201,160);
//yellow V(left)
line(108,84,186,145);
line(112,219,186,145);
//yellow V(right)
line(290,85,216,145);
line(291,217,216,145);
//rectangle's 4 points
stroke(110,0,0);
strokeWeight(2.5);
point(201,130);
point(216,145);
point(201,160);
point(186,145);
//shortest lines
stroke(255,255,255);
strokeWeight(1.5);
line(201,100,201,130);
line(216,145,246,145);
line(201,190,201,160);
line(156,145,186,145);
stroke(251,235,242);
strokeWeight(2.0);
stroke(237,255,255);
//small V(top)xxxre
int midpointX1=201;
line(170,40,midpointX1,100);
line(234,41,midpointX1,100);
//small V(right)
line(305,110,246,145);
line(305,195,246,145);
//small V(bottom)
line(170,254,midpointX1,190);
line(232,254,midpointX1,190);
//small V(left)
line(92,110,156,145);
line(95,195,156,145);
stroke(189,246,241);
stroke(random(163,207),random(236,245),250);
//bright blue V(top left)
line(110,80,186,130);
line(145,48,186,130);
//bright blue V(top right)
line(257,50,216,130);
line(288,80,216,130);
//bright blue V(bottom right)
line(289,222,216,160);
line(258,245,216,160);
//bright blue V(bottom left)
line(115,225,186,160);
line(146,247,186,160);
line(121,66,185,130);
line(279,68,216,130);
line(280,232,216,160);
line(124,237,186,160);
stroke(0,50);
noFill();
strokeWeight(2.5);
stroke(random(194,227),random(194,201),232);
//top curve
bezier(121,66,140,40,232,14,279,68);
//right curve
bezier(288,80,323,113,322,192,289,222);
//bottom curve
bezier(124,237,175,262,220,273,280,232);
//left curve
bezier(110,80,60,142,90,200,115,225);
stroke(255,random(193,221),random(192,255));
//purple V(top)
strokeWeight(1.5);
line(180,38,201,100);
line(195,37,201,100);
line(210,37,201,100);
line(225,38,201,100);
//purple V(right)
strokeWeight(1.5);
line(310,125,246,145);
line(313,140,246,145);
line(313,154,246,145);
line(313,168,246,145);
line(310,180,246,145);
// purple V (bottom)
strokeWeight(1.5);
line(180,256,201,190);
line(194,259,201,190);
line(208,259,201,190);
line(222,257,201,190);
//purple V (left)
strokeWeight(1.5);
line(85,127,156,145);
line(83,140,156,145);
line(83,153,156,145);
line(85,168,156,145);
line(89,178,156,145);
stroke(255,random(223,253),random(68,125));
//thinner lines in the top purple V
strokeWeight(1.2);
line(187,38,201,100);
line(202,37,201,100);
line(219,38,201,100);
//thinner lines in the right purple V
strokeWeight(1.2)
line(312,132,246,145);
line(314,147,246,145);
line(314,160,246,145);
line(311,175,246,145);
//thinner lines in the bottom purple V
strokeWeight(1.2);
line(186,258,201,190);
line(200,260,201,190);
line(213,258,201,190);
//thinner lines in the left small V
strokeWeight(1.2)
line(83,133,156,145);
line(83,147,156,145);
line(83,160,156,145);
line(83,167,156,145);
//four lines between 2 V(top left)
strokeWeight(1.5);
stroke(255,random(116,176),random(105,163));
line(201,125,155,45);
line(201,120,158,45);
line(201,115,161,43);
line(201,110,165,41);
//four lines between 2 V(top right)
line(201,125,249,45);
line(201,120,245,45);
line(201,115,241,44);
line(201,110,238,43);
//five lines between 2 V(right)(upward)
line(223,145,295,86);
line(223,145,296,87)
line(230,145,297,90);
line(236,145,299,94);
line(242,145,302,98);
line(246,145,303,103);
//five lines between 2 V(right)(downward)
line(223,145,294,214);
line(230,145,297,211);
line(236,145,299,208);
line(242,145,302,206);
line(246,145,304,202);
//four lines between 2 V(bottom right)
line(201,166,247,250);
line(201,172,242,251);
line(201,178,239,254);
line(201,184,236,255);
//four lines between 2 V(bottom left)
line(201,166,155,250);
line(201,172,160,250);
line(201,178,163,252);
line(201,184,166,254);
//five lines between 2 V(left)(downward)
line(179,145,108,215);
line(171,145,104,213);
line(165,145,103,208);
line(160,145,99,205);
line(156,145,97,200);
//five lines between 2 V(left)(upward)
line(179,145,104,87);
line(171,145,102,91);
line(165,145,99,95);
line(160,145,96,99);
line(156,145,94,104);``````