//James Katungyi
//Section A 0900
//jkatungy@andrew.cmu.edu
//Assignment-Project-05
var x = 400;
var y = 400;
function setup(){
createCanvas(800,800);
background(227,218,186);
}
function draw(){
for(x=100;x<width;x+=200){//loop pattern along x axis
for(y=100;y<height;y+=200){//loop pattern along y axis
//stroke(208,169,97);
//strokeWeight(6);
//ellipse(x,y,76,76);
middleFlower(x,y);
angularScroll(x,y);
circularScroll(x,y);
}
}
noLoop();
}
function middleFlower(x,y){
stroke(208,169,97);
strokeWeight(1);
ellipseMode(CENTER);
noFill();
ellipse(x,y,8,8);
push();
translate(x,y);
for (i=0;i<360;i+=90){//rotate elements 4 times around x,y
rotate(radians(90));
ellipse(18,0,19,8);//side ellipse
arc(19,-19,24,24,radians(45),radians(215));//big arc
arc(36,-9,18,18,radians(90),radians(180));//small arc 1
arc(36,+9,18,18,radians(180),radians(270)); //small arc 2
}
pop();
push();
translate(x+100,y+100);
for (i=0;i<360;i+=90){//rotate elements 4 times around x,y
rotate(radians(90));
ellipse(18,0,19,8);//side ellipse
arc(19,-19,24,24,radians(45),radians(215));//big arc
arc(36,-9,18,18,radians(90),radians(180));//small arc 1
arc(36,+9,18,18,radians(180),radians(270)); //small arc 2
}
pop();
}
function angularScroll(x,y){
stroke(208,169,97);
strokeWeight(1);
ellipseMode(CENTER);
push();
translate(x,y);
for (i=0;i<360;i+=90){//rotate elements 4 times around x,y
rotate(radians(i));
arc(20,96,250,250,radians(273),radians(306));//innermost lower arc
arc(28,87,250,250,radians(273),radians(288));//next to innermost lower arc
arc(186,-72,250,250,radians(161),radians(176));//next to outermost lower arc
arc(194,-78,250,250,radians(144),radians(177));//outermost lower arc
arc(-97,-20,250,250,radians(333),radians(356));//innermost upper arc
arc(-90,-25,250,250,radians(343),radians(354));//next to innermost upper arc
arc(62,-181,250,250,radians(93),radians(105));//middle upper arc
arc(70,-188,250,250,radians(94),radians(116));//next to outermost upper arc
arc(77,-196,250,250,radians(94),radians(126));//outermost upper arc
println("angular scroll");
}
pop();
}
function circularScroll(x,y){
stroke(208,169,97);
strokeWeight(1);
noFill();
push();
translate(x,y);
for (i=0;i<360;i+=90){
rotate(radians(i));
ellipseMode(CENTER);
ellipse(100,0,6,6);//small end ellipse
arc(100,-3,12,12,HALF_PI,PI+HALF_PI);//small arc around ellipse
arc(100,0,18,18,PI+HALF_PI,HALF_PI);//big arc around ellipse
}
pop();
}
The inspiration was ‘Provincetown Geometric” pattern by Warner Company. My rendition of pattern grows around a unit made up of three fundamental components – the ‘middle flower’, the ‘4 angular scrolls’ and ‘4 circular scrolls’. Each component was built around a polar loop of arcs and ellipses.
To achieve the proportions, I drew it out using CAD software and measured off the parameters by arc and by ellipse (‘patterns’ below). The colors are true to the original. I would not make a shirt out of it, but as wall paper, it would be okay.